/parts` and * `replace_template_parts()` swaps this file into the `footer` template part at * runtime. Only a NATIVE-FSE child theme — Brandy Pure — walks that path; the * parent `brandy` theme renders its footer from `sample-data/sample-footer.json` * instead. On the parent theme this file is inert, so NOTHING HERE WAS VERIFIED * ON brandy.local. User customizations saved in the Site Editor take precedence. * * Two stacked strips, straight off `figma-refs/12-footer.png`: * 1. "Main", 418 tall, solid #FFFFFF — a deliberate break from the #F7F5F0 * page ground — with 80px of padding top and bottom. Its content sits on * the 50..1870 column as five tracks: a 682-wide brand block then four * 226-wide link columns on a 266 pitch. The uneven first gutter (164 vs 40) * is folded into the first track, so one 40px grid gap serves all four. * 2. "copyright text", 84 tall, solid #1D1D1D: the copyright line at the left * gutter, three legal links split by 1px x 12 hairlines at the right. * 30 + 24 + 30 = 84 exactly. * * NO TOP MARGIN, deliberately. The frame is continuous at this join: the trust * row ends at y 7994 and the footer's Main begins at y 7994. * * THE WORDMARK IS LIVE TEXT AND IS NOT A LIGHT-ON-DARK VARIANT. The two drawn * lockups are the same artwork in the same two colours — the footer ground is * white, so accent #D95F3B / ink #202020 is what the design draws in both * places. Both drawn lockups read "ROAM" while `copyDecisions` rules the brand * "Toolkit Travel", and both declare InstrumentSerif-Regular with every * character overridden to SpaceGrotesk-Bold, so the exports in * `asset-manifest.json` are flagged reference-only and are not shipped. * * `Return & Exchanges` is corrected to `Returns & Exchanges` per * `copyDecisions.tier1`. * * #1D1D1D has no palette slug in this niche (`brandy-secondary` is #181715, * `brandy-foreground` #202020), so the copyright strip ships the measured hex * literally, as a site file may. * * The copyright year is rendered from `wp_date()`, not typed; the builder JSON * reaches the same result through its `[current_year]` token, which template * parts do not resolve. * * @package BrandySites */ $brandy_ttv2_shop_url = function_exists( 'brandy_get_shop_page_url' ) ? brandy_get_shop_page_url() : home_url( '/' ); $brandy_ttv2_about_url = function_exists( 'brandy_get_about_us_page_url' ) ? brandy_get_about_us_page_url() : home_url( '/' ); $brandy_ttv2_contact_url = function_exists( 'brandy_get_contact_us_page_url' ) ? brandy_get_contact_us_page_url() : home_url( '/' ); $brandy_ttv2_privacy_url = function_exists( 'brandy_get_privacy_policy_page_url' ) ? brandy_get_privacy_policy_page_url() : home_url( '/' ); $brandy_ttv2_terms_url = function_exists( 'brandy_get_terms_and_conditions_page_url' ) ? brandy_get_terms_and_conditions_page_url() : home_url( '/' ); /** Column heading 18/700/24 over 14/400 links on a 35px pitch. */ $brandy_ttv2_columns = array( array( 'heading' => __( 'Shop', 'brandy-sites' ), 'links' => array( array( __( 'New Arrivals', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Travel Bags', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Packing', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Toiletry', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Travel Comfort', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Accessories', 'brandy-sites' ), $brandy_ttv2_shop_url ), ), ), array( 'heading' => __( 'About', 'brandy-sites' ), 'links' => array( array( __( 'Our story', 'brandy-sites' ), $brandy_ttv2_about_url ), array( __( 'Our Mission', 'brandy-sites' ), $brandy_ttv2_about_url ), array( __( 'Size Guide', 'brandy-sites' ), '#' ), array( __( 'FAQs', 'brandy-sites' ), '#' ), array( __( 'Contact Us', 'brandy-sites' ), $brandy_ttv2_contact_url ), ), ), array( 'heading' => __( 'Customer Care', 'brandy-sites' ), 'links' => array( array( __( 'Shipping & Delivery', 'brandy-sites' ), '#' ), array( __( 'Returns & Exchanges', 'brandy-sites' ), '#' ), array( __( 'Order Tracking', 'brandy-sites' ), '#' ), array( __( 'Payment Methods', 'brandy-sites' ), '#' ), array( __( 'Privacy Policy', 'brandy-sites' ), $brandy_ttv2_privacy_url ), array( __( 'Terms & Conditions', 'brandy-sites' ), $brandy_ttv2_terms_url ), ), ), array( 'heading' => __( 'Explore', 'brandy-sites' ), 'links' => array( array( __( 'New Arrivals', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Best Sellers', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Everyday Essentials', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Party Looks', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'School Styles', 'brandy-sites' ), $brandy_ttv2_shop_url ), array( __( 'Holiday Collection', 'brandy-sites' ), $brandy_ttv2_shop_url ), ), ), ); /** Footer socials, in the drawn order, 24px glyphs with their disc fills off. */ $brandy_ttv2_socials = array( array( __( 'Facebook', 'brandy-sites' ), 'https://www.facebook.com/', 'https://images.wpbrandy.com/uploads/toolkit-travel-v2-social-icon-facebook.webp' ), array( __( 'Twitter', 'brandy-sites' ), 'https://x.com/', 'https://images.wpbrandy.com/uploads/toolkit-travel-v2-social-icon-twitter.webp' ), array( __( 'Instagram', 'brandy-sites' ), 'https://www.instagram.com/', 'https://images.wpbrandy.com/uploads/toolkit-travel-v2-social-icon-instagram.webp' ), array( __( 'LinkedIn', 'brandy-sites' ), 'https://www.linkedin.com/', 'https://images.wpbrandy.com/uploads/toolkit-travel-v2-social-icon-linkedin.webp' ), ); $brandy_ttv2_link = 'font-size:14px;font-weight:400;line-height:35px;color:var(--wp--preset--color--brandy-muted-foreground);text-decoration:none'; $brandy_ttv2_legal = 'font-size:14px;font-weight:400;line-height:24px;color:#ffffff;text-decoration:none;white-space:nowrap'; ?>