/*
Theme Name: Simcoe Office Supply
Theme URI: https://simcoeofficesupply.ca
Description: Navy/burgundy/gold heritage brand for Simcoe Office Supply & Workplace Solutions. Built on Storefront. Modern, borderless, soft-shadow system (MapleStack-style) on the locked brand palette + type.
Author: MapleStack
Template: storefront
Version: 0.4.0
*/

/* =====================================================================
   TOKENS
   ===================================================================== */
:root{
  --navy:#0F2C59; --navy-800:#0A1F40; --navy-700:#12315f;
  --burgundy:#8A1528; --burgundy-700:#6E1020;
  --gold:#C5A059; --gold-600:#A9863F;
  --slate:#4A5568; --ink:#1b2431; --muted:#5c6675;
  --cream:#F7F5F1; --surface:#ffffff; --tint:#f1ede6; --line:#ece7dd;
  --radius:16px; --radius-sm:10px; --radius-lg:22px; --pill:999px;
  --sh-xs:0 1px 2px rgba(15,44,89,.06);
  --sh-sm:0 1px 2px rgba(15,44,89,.04), 0 6px 16px rgba(15,44,89,.07);
  --sh-md:0 4px 10px rgba(15,44,89,.06), 0 20px 44px rgba(15,44,89,.13);
  --sh-lg:0 10px 24px rgba(15,44,89,.09), 0 38px 82px rgba(15,44,89,.20);
  --sh-gold:0 12px 30px rgba(197,160,89,.30);
  --ease:cubic-bezier(.22,1,.36,1);
  --maxw:1240px; --header-h:78px;
}

/* =====================================================================
   BASE + TYPE
   ===================================================================== */
body{ background:var(--cream); color:var(--ink); line-height:1.62;
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2,h3,h4,.page-title,.entry-title,.site-title{
  font-family:"Syne","Trebuchet MS",Arial,sans-serif !important;
  color:var(--navy); font-weight:700; letter-spacing:-.02em; line-height:1.1; }
a{ color:var(--navy); text-decoration:none; transition:color .15s var(--ease); }
a:hover{ color:var(--burgundy); }
img{ max-width:100%; height:auto; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 18px); }
::selection{ background:var(--gold); color:var(--navy); }

/* focus: kill the default (purple) outline, add a tasteful keyboard-only ring */
:focus{ outline:none; }
a:focus, button:focus, input:focus, select:focus, textarea:focus, .button:focus, .fp-btn:focus{ outline:none; box-shadow:none; }
a:focus-visible, button:focus-visible, .button:focus-visible, .fp-btn:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible,
.main-navigation a:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:8px; }

/* scroll-reveal (active only when JS is on; safety timer guarantees visibility) */
.js .fp-pill, .js .fp-cat, .js .fp-guar .g, .js .fp-vip .price,
.js .woocommerce ul.products li.product{ opacity:0; transform:translateY(22px);
  transition:opacity .6s var(--ease), transform .6s var(--ease); will-change:opacity,transform; }
.js .fp-pill.in, .js .fp-cat.in, .js .fp-guar .g.in, .js .fp-vip .price.in,
.js .woocommerce ul.products li.product.in{ opacity:1; transform:none; }
.js .fp-pill:nth-child(2){ transition-delay:.08s; } .js .fp-pill:nth-child(3){ transition-delay:.16s; } .js .fp-pill:nth-child(4){ transition-delay:.24s; }
.js .fp-cat:nth-child(2){ transition-delay:.05s; } .js .fp-cat:nth-child(3){ transition-delay:.1s; }
.js .fp-guar .g:nth-child(2){ transition-delay:.06s; } .js .fp-guar .g:nth-child(3){ transition-delay:.12s; } .js .fp-guar .g:nth-child(4){ transition-delay:.18s; } .js .fp-guar .g:nth-child(5){ transition-delay:.24s; }
@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .js .fp-pill, .js .fp-cat, .js .fp-guar .g, .js .fp-vip .price, .js .woocommerce ul.products li.product{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* container: even gutters, one width everywhere */
.col-full{ max-width:var(--maxw) !important; padding-left:clamp(18px,4vw,40px) !important; padding-right:clamp(18px,4vw,40px) !important; }
.site-content{ padding:22px 0 72px; }
.storefront-breadcrumb{ margin:0 !important; padding:0 !important; }
.storefront-breadcrumb .col-full{ padding:16px 0 0 !important; }

/* kill Storefront's borders/rules across the board */
hr{ border:0; height:1px; background:var(--line); }
.storefront-sorting, .woocommerce-result-count, .woocommerce-ordering,
.storefront-breadcrumb{ border:0 !important; }

/* helper: pill chip */
.chip{ display:inline-flex; align-items:center; gap:8px; padding:7px 15px; border-radius:var(--pill);
  background:var(--surface); box-shadow:var(--sh-sm); font-family:"Montserrat",sans-serif;
  font-size:12.5px; font-weight:600; color:var(--slate); }

/* =====================================================================
   TOP CREDENTIAL STRIP
   ===================================================================== */
.spg-canada-strip{ background:var(--navy); color:var(--gold); text-align:center; font-size:12px;
  font-weight:600; letter-spacing:.09em; text-transform:uppercase; padding:8px 12px; }
.spg-canada-strip b{ color:#fff; }
.spg-canada-strip::before,.spg-canada-strip::after{ content:""; display:inline-block; width:13px; height:13px;
  background:var(--leaf-white) center/contain no-repeat; vertical-align:-2px; }
.spg-canada-strip::before{ margin-right:8px; } .spg-canada-strip::after{ margin-left:8px; }

/* =====================================================================
   HEADER / NAV  — glassy, sticky, borderless (MapleStack-style)
   ===================================================================== */
.site-header{ position:sticky; top:0; z-index:200; background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px);
  box-shadow:var(--sh-sm); border:0 !important; padding:0 !important; margin:0 !important; }
/* ONE balanced row: logo left | nav centred | search + cart right */
.simcoe-topbar{ display:flex; align-items:center; gap:18px; min-height:var(--header-h); padding-top:9px !important; padding-bottom:9px !important; float:none !important; }
.simcoe-topbar .site-branding{ order:1; margin:0 !important; padding:0 !important; float:none !important; width:auto !important; display:flex; align-items:center; flex:0 0 auto; }
.simcoe-topbar .custom-logo-link{ margin:0 !important; display:inline-flex; }
.simcoe-topbar .custom-logo{ max-height:60px; width:auto; display:block; }
.site-branding .site-title, .site-branding .site-description{ display:none; }

.simcoe-topbar .main-navigation{ order:2; margin:0 auto 0 12px !important; width:auto !important; float:none !important; }
.simcoe-topbar .main-navigation ul{ display:flex; gap:1px; align-items:center; flex-wrap:nowrap; margin:0; padding:0; }
.main-navigation ul li{ margin:0 !important; }
.main-navigation ul li a{ color:var(--navy) !important; font-family:"Montserrat",sans-serif; font-weight:600;
  font-size:13.5px; text-transform:none; letter-spacing:0; padding:8px 12px !important; border-radius:var(--pill);
  white-space:nowrap; transition:background .18s var(--ease), color .18s; }
.main-navigation ul li a:hover{ color:var(--burgundy) !important; background:var(--tint); }
.main-navigation ul li.current-menu-item > a{ color:#fff !important; background:var(--navy); }
.main-navigation ul.menu ul.sub-menu{ background:#fff; box-shadow:var(--sh-md); border:0; border-radius:var(--radius-sm); padding:8px; }
.main-navigation ul.menu ul.sub-menu a{ color:var(--navy) !important; }

/* search pill: magnifier baked into the input's left (no overlap); submit hidden (Enter searches) */
.simcoe-topbar .site-search{ order:3; margin:0 !important; flex:0 0 auto; }
.site-search .woocommerce-product-search{ position:relative; display:block; margin:0; }
.site-search .search-field{
  border:0 !important; border-radius:var(--pill) !important; color:var(--ink);
  background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5568' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20.5 20.5l-4.2-4.2'/%3E%3C/svg%3E") 18px center/16px 16px no-repeat !important;
  padding:12px 20px 12px 46px !important; box-shadow:none !important; width:230px; max-width:42vw; font-size:14px; }
.site-search .search-field:focus{ background-color:#fff !important; box-shadow:inset 0 0 0 2px var(--gold) !important; outline:none; }
.site-search .woocommerce-product-search button[type=submit]{ display:none !important; }

/* header cart */
.simcoe-topbar .site-header-cart{ order:4; margin:0 !important; display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.site-header-cart .cart-contents{ color:var(--navy) !important; font-weight:600; font-family:"Montserrat",sans-serif; font-size:14px; }
.site-header-cart .count, .site-header .amount{ color:var(--slate) !important; }
.site-header-cart .widget_shopping_cart{ border:0; box-shadow:var(--sh-md); border-radius:var(--radius-sm); }

/* department bar (WB Mason-style category nav under the header, kept clean) */
.simcoe-deptbar{ background:var(--surface); box-shadow:var(--sh-sm); position:relative; z-index:150; border:0; }
.simcoe-deptbar-inner{ display:flex; align-items:center; gap:8px; min-height:50px; }
.deptbar-all{ display:inline-flex; align-items:center; gap:9px; flex:0 0 auto; background:var(--burgundy); color:#fff !important;
  font-family:"Montserrat",sans-serif; font-weight:700; font-size:13px; padding:10px 18px; border-radius:var(--pill); margin-right:6px; white-space:nowrap; transition:background .15s var(--ease); }
.deptbar-all:hover{ background:var(--burgundy-700); color:#fff !important; }
.deptbar-grid{ width:14px; height:14px; flex:none; display:inline-block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.6'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.6'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.6'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.6'/%3E%3C/svg%3E") center/contain no-repeat; }
.deptbar-links{ display:flex; align-items:center; gap:2px; flex:1 1 auto; min-width:0; overflow-x:auto; scrollbar-width:none; }
.deptbar-links::-webkit-scrollbar{ display:none; }
.deptbar-links a{ color:var(--navy) !important; font-family:"Montserrat",sans-serif; font-weight:600; font-size:13px; padding:9px 13px; border-radius:var(--pill); white-space:nowrap; transition:background .15s var(--ease), color .15s; }
.deptbar-links a:hover{ background:var(--tint); color:var(--burgundy) !important; }
.deptbar-phone{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; color:var(--navy) !important;
  font-family:"Montserrat",sans-serif; font-weight:700; font-size:13.5px; padding:9px 14px 9px 16px; white-space:nowrap; border-left:1px solid var(--line); }
.deptbar-phone:hover{ color:var(--burgundy) !important; }
.deptbar-tel{ width:15px; height:15px; flex:none; display:inline-block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A1528' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.6a2 2 0 0 1-.5 2.1L8 9.6a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.8.3 1.7.5 2.6.6a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* =====================================================================
   BUTTONS  — solid, rounded, hover-lift, sentence case
   ===================================================================== */
button, .button, input[type=submit], .added_to_cart,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button,
.woocommerce #respond input#submit, .fp-btn{
  background:linear-gradient(135deg,#97182d,var(--burgundy)) !important; color:#fff !important; border:0 !important;
  border-radius:var(--radius-sm) !important; padding:13px 26px !important;
  font-family:"Montserrat",sans-serif !important; font-weight:600 !important; font-size:14px !important;
  text-transform:none !important; letter-spacing:0 !important; line-height:1.2 !important;
  box-shadow:var(--sh-sm) !important; cursor:pointer;
  transition:transform .16s var(--ease), box-shadow .16s var(--ease), background .16s !important; }
button:hover, .button:hover, input[type=submit]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover,
.woocommerce #respond input#submit:hover, .fp-btn:hover{
  background:linear-gradient(135deg,var(--burgundy-700),#5f0e1b) !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:var(--sh-md) !important; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .fp-btn-primary{ background:linear-gradient(135deg,#97182d,var(--burgundy)) !important; }
.btn-gold, .fp-btn.btn-gold{ background:linear-gradient(135deg,#d6b26c,var(--gold)) !important; color:var(--navy) !important; box-shadow:var(--sh-gold) !important; }
.btn-gold:hover{ background:linear-gradient(135deg,var(--gold),var(--gold-600)) !important; color:var(--navy) !important; box-shadow:var(--sh-gold) !important; transform:translateY(-2px); }
/* ghost / outline */
.fp-btn-ghost{ background:transparent !important; color:#fff !important; box-shadow:none !important; border:1.5px solid rgba(255,255,255,.45) !important; }
.fp-btn-ghost:hover{ background:rgba(255,255,255,.12) !important; transform:translateY(-2px); }
.woocommerce a.button.wc-backward, .woocommerce .button.wc-backward{ background:var(--navy) !important; }

/* =====================================================================
   PRICES + PRICING GATE
   ===================================================================== */
.woocommerce ul.products li.product .price, .woocommerce div.product p.price{ color:var(--navy); font-weight:800; font-family:"Montserrat",sans-serif; }
.spg-locked a, .spg-cta a{ color:var(--burgundy); font-weight:700; }
.spg-cta .button{ background:var(--navy) !important; }

/* =====================================================================
   FOOTER  (custom footer from functions.php)
   ===================================================================== */
.site-footer{ background:var(--navy) !important; color:#c4cfe2 !important; border-top:0 !important; padding:0 !important; margin-top:0; }
.site-footer a{ color:#dbe3f0 !important; } .site-footer a:hover{ color:var(--gold) !important; }
.simcoe-footer{ position:relative; }
.simcoe-footer::before{ content:""; display:block; height:4px; background:linear-gradient(90deg,var(--gold),var(--burgundy)); }
.simcoe-footer-grid{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:36px; padding:56px 0 42px; }
.simcoe-footer .sf-col h4{ color:#fff !important; font-family:"Syne","Trebuchet MS",Arial,sans-serif !important; font-size:21px; margin:0 0 12px; }
.simcoe-footer .sf-col h5{ color:var(--gold) !important; font-family:"Montserrat",sans-serif !important; font-size:11.5px; letter-spacing:.15em; text-transform:uppercase; margin:0 0 15px; }
.simcoe-footer .sf-brand p{ color:#b9c4d6; font-size:14px; line-height:1.7; max-width:40ch; margin:0; }
.simcoe-footer .sf-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.simcoe-footer .sf-col ul a{ font-size:14px; }
.simcoe-footer .sf-contact li{ color:#b9c4d6; font-size:14px; }
.simcoe-footer-base{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:18px 0;
  border-top:1px solid rgba(255,255,255,.08); color:#8ea0be; font-size:13px; font-family:"Montserrat",sans-serif; }
.simcoe-footer-base span:last-child{ font-family:"Syne","Trebuchet MS",Arial,sans-serif; font-style:italic; color:var(--gold); }

/* =====================================================================
   FRONT PAGE
   ===================================================================== */
.fp-section{ padding:clamp(56px,7vw,98px) 0; }
.fp-wrap{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(18px,4vw,40px); }
.fp-kicker{ display:inline-flex; align-items:center; gap:9px; background:var(--surface); box-shadow:var(--sh-sm);
  padding:7px 16px; border-radius:var(--pill); font-family:"Montserrat",sans-serif; font-size:11.5px;
  font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--burgundy); margin-bottom:20px; }
.fp-h2{ font-size:clamp(25px,3.3vw,39px); margin:0 0 16px; }
.fp-lead{ color:var(--muted); font-size:clamp(15px,1.6vw,17.5px); max-width:62ch; }

/* hero — full-bleed navy, maple watermark */
.fp-hero{ position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(125deg,var(--navy) 0%,var(--navy-800) 58%,#0b1834 100%); }
.fp-hero .fp-wrap{ position:relative; z-index:2; padding:clamp(60px,8vw,104px) clamp(18px,4vw,40px); max-width:var(--maxw);
  display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:center; }
.fp-hero-copy{ min-width:0; }
.fp-hero-visual{ display:flex; justify-content:flex-end; min-width:0; }
.fp-hero-card{ position:relative; z-index:2; width:min(380px,100%);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-radius:var(--radius-lg); padding:12px 34px; box-shadow:var(--sh-lg); display:grid; }
.fp-hero-card .fp-stat{ display:grid; gap:5px; padding:20px 0; }
.fp-hero-card .fp-stat + .fp-stat{ border-top:1px solid rgba(255,255,255,.11); }
.fp-hero-card .fp-stat .n{ font-family:"Syne","Trebuchet MS",Arial,sans-serif; font-weight:800; font-size:31px; color:var(--gold); line-height:1; letter-spacing:-.02em; }
.fp-hero-card .fp-stat .l{ color:#cbd6ea; font-size:14px; line-height:1.45; }
.fp-hero .fp-kicker{ background:rgba(255,255,255,.10); box-shadow:none; color:var(--gold); backdrop-filter:blur(4px); }
.fp-hero .fp-kicker::before{ background:var(--leaf-gold) center/contain no-repeat; }
.fp-hero h1{ color:#fff !important; font-weight:800; font-size:clamp(34px,5.4vw,60px); line-height:1.04; margin:0 0 18px; max-width:18ch; }
.fp-hero h1 em{ color:var(--gold); font-style:normal; }
.fp-hero .fp-tag{ font-family:"Syne","Trebuchet MS",Arial,sans-serif; font-style:italic; font-size:clamp(18px,2.2vw,25px); color:var(--gold); margin:0 0 20px; }
.fp-hero p{ color:#cdd8ea; font-size:clamp(15.5px,1.8vw,19px); max-width:56ch; }
.fp-btns{ display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.fp-btn{ min-height:54px; display:inline-flex; align-items:center; }
.fp-hero::after{ content:""; position:absolute; right:-4%; top:-6%; width:480px; height:480px;
  background:var(--leaf-gold) center/contain no-repeat; opacity:.08; z-index:1; }

/* trust band — chips on burgundy */
.fp-trust{ background:var(--burgundy); }
.fp-trust-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding:20px 24px; }
.fp-trust-item{ display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,.12);
  padding:9px 18px; border-radius:var(--pill); color:#fff; font-family:"Montserrat",sans-serif;
  font-weight:600; font-size:12.5px; letter-spacing:.03em; }
.fp-trust-item .lf{ width:15px; height:15px; flex:none; background:var(--leaf-white) center/contain no-repeat; display:inline-block; }

/* pillars — floating cards, no borders */
.fp-pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:22px; }
.fp-pill{ background:var(--surface); border:0; border-radius:var(--radius); padding:34px 28px;
  box-shadow:var(--sh-sm); transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.fp-pill:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); }
.fp-pill .ic{ width:56px; height:56px; border-radius:16px; background:linear-gradient(135deg,var(--navy),var(--navy-700));
  color:var(--gold); display:grid; place-items:center; margin-bottom:18px; box-shadow:var(--sh-md); }
.fp-pill .ic svg{ width:27px; height:27px; }
.fp-pill:nth-child(2) .ic{ background:linear-gradient(135deg,#9a1a2f,var(--burgundy)); color:#fff; }
.fp-pill:nth-child(3) .ic{ background:linear-gradient(135deg,#16407a,var(--navy)); color:var(--gold); }
.fp-pill:nth-child(4) .ic{ background:linear-gradient(135deg,#d6b26c,var(--gold)); color:var(--navy); }
.fp-pill h3{ font-size:19px; margin:0 0 8px; }
.fp-pill p{ color:var(--muted); font-size:14px; margin:0; line-height:1.6; }

/* departments — floating cards */
.fp-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.fp-cat{ background:var(--surface); border:0; border-radius:var(--radius); padding:26px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:14px; box-shadow:var(--sh-sm);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease); }
.fp-cat:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); }
.fp-cat h3{ font-size:18px; margin:0; }
.fp-cat .cnt{ color:var(--muted); font-size:13px; font-family:"Montserrat",sans-serif; }
.fp-cat .arrow{ width:34px; height:34px; border-radius:50%; background:var(--tint); color:var(--burgundy);
  font-weight:800; display:grid; place-items:center; flex:none; transition:.2s var(--ease); }
.fp-cat:hover .arrow{ background:var(--burgundy); color:#fff; }

/* VIP band */
.fp-vip{ background:linear-gradient(125deg,#12213f,var(--navy)); color:#fff; }
.fp-vip h2{ color:#fff !important; } .fp-vip .fp-kicker{ background:rgba(255,255,255,.10); box-shadow:none; color:var(--gold); }
.fp-vip .grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:46px; align-items:center; }
.fp-vip ul{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:12px; }
.fp-vip li{ display:flex; gap:12px; color:#e7edf7; font-size:15.5px; } .fp-vip li::before{ content:"✦"; color:var(--gold); }
.fp-vip .price{ background:rgba(255,255,255,.06); border:0; border-radius:var(--radius-lg); padding:34px 28px; text-align:center; box-shadow:var(--sh-lg); }
.fp-vip .price .amt{ font-family:"Syne","Trebuchet MS",Arial,sans-serif; font-size:52px; color:var(--gold); line-height:1; }
.fp-vip .price .per{ color:#c4cfe2; font-size:14px; }
.fp-vip .price .stack{ color:#fff; margin:16px 0 20px; font-size:14px; }

/* guarantees */
.fp-guar{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; text-align:center; margin-top:38px; }
.fp-guar .g{ background:var(--surface); border-radius:var(--radius); padding:24px 16px; box-shadow:var(--sh-sm);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease); }
.fp-guar .g:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); }
.fp-guar .n{ font-family:"Syne","Trebuchet MS",Arial,sans-serif; font-size:32px; color:var(--gold); }
.fp-guar h4{ font-size:15px; margin:8px 0 5px; } .fp-guar p{ color:var(--muted); font-size:13px; margin:0; }

/* community */
.fp-comm{ background:var(--burgundy); color:#fff; text-align:center; position:relative; overflow:hidden; }
.fp-comm h2{ color:#fff !important; max-width:22ch; margin:0 auto 12px; }
.fp-comm p{ color:#f3d9dd; max-width:60ch; margin:0 auto; font-size:16px; }
.fp-comm::after{ content:""; position:absolute; right:-3%; bottom:-30%; width:340px; height:340px; background:var(--leaf-white) center/contain no-repeat; opacity:.08; }

/* section background helpers used inline in front-page.php still work (#fff, var(--cream)) */

/* =====================================================================
   MAPLE LEAF ACCENTS (Kim's request)
   ===================================================================== */
:root{
  --leaf-burgundy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2015 -2000 4030 4030'%3E%3Cpath fill='%238A1528' d='m-90 2030 45-863a95 95 0 0 0-111-98l-859 151 116-320a65 65 0 0 0-20-73l-941-762 212-99a65 65 0 0 0 34-79l-186-572 542 115a65 65 0 0 0 73-38l105-247 423 454a65 65 0 0 0 111-57l-204-1052 327 189a65 65 0 0 0 91-27l332-652 332 652a65 65 0 0 0 91 27l327-189-204 1052a65 65 0 0 0 111 57l423-454 105 247a65 65 0 0 0 73 38l542-115-186 572a65 65 0 0 0 34 79l212 99-941 762a65 65 0 0 0-20 73l116 320-859-151a95 95 0 0 0-111 98l45 863z'/%3E%3C/svg%3E");
  --leaf-gold:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2015 -2000 4030 4030'%3E%3Cpath fill='%23C5A059' d='m-90 2030 45-863a95 95 0 0 0-111-98l-859 151 116-320a65 65 0 0 0-20-73l-941-762 212-99a65 65 0 0 0 34-79l-186-572 542 115a65 65 0 0 0 73-38l105-247 423 454a65 65 0 0 0 111-57l-204-1052 327 189a65 65 0 0 0 91-27l332-652 332 652a65 65 0 0 0 91 27l327-189-204 1052a65 65 0 0 0 111 57l423-454 105 247a65 65 0 0 0 73 38l542-115-186 572a65 65 0 0 0 34 79l212 99-941 762a65 65 0 0 0-20 73l116 320-859-151a95 95 0 0 0-111 98l45 863z'/%3E%3C/svg%3E");
  --leaf-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2015 -2000 4030 4030'%3E%3Cpath fill='%23ffffff' d='m-90 2030 45-863a95 95 0 0 0-111-98l-859 151 116-320a65 65 0 0 0-20-73l-941-762 212-99a65 65 0 0 0 34-79l-186-572 542 115a65 65 0 0 0 73-38l105-247 423 454a65 65 0 0 0 111-57l-204-1052 327 189a65 65 0 0 0 91-27l332-652 332 652a65 65 0 0 0 91 27l327-189-204 1052a65 65 0 0 0 111 57l423-454 105 247a65 65 0 0 0 73 38l542-115-186 572a65 65 0 0 0 34 79l212 99-941 762a65 65 0 0 0-20 73l116 320-859-151a95 95 0 0 0-111 98l45 863z'/%3E%3C/svg%3E");
}
.fp-kicker::before{ content:""; width:15px; height:15px; background:var(--leaf-burgundy) center/contain no-repeat; display:inline-block; flex:none; }

/* =====================================================================
   WOOCOMMERCE — store, not blog (full width), modern cards, no borders
   ===================================================================== */
#primary.content-area, .site-content .content-area{ width:100% !important; float:none !important; margin:0 !important; }
#secondary.widget-area, .widget-area{ display:none !important; }
.woocommerce-breadcrumb{ font-family:"Montserrat",sans-serif; font-size:13px; color:var(--muted); margin-bottom:20px; }
.woocommerce-products-header{ margin:0 0 6px !important; padding:0 !important; }
.page-title, .entry-title, .woocommerce-products-header__title{ font-size:clamp(28px,4vw,44px) !important; margin:0 0 14px; }

/* forms */
select, input[type=text], input[type=email], input[type=tel], input[type=url],
input[type=password], input[type=number], input[type=search], textarea{
  border:0 !important; border-radius:var(--radius-sm) !important; background:var(--surface) !important;
  padding:12px 15px !important; box-shadow:inset 0 0 0 1px var(--line) !important; font-size:14px; }
input:focus, select:focus, textarea:focus{ box-shadow:inset 0 0 0 2px var(--gold) !important; outline:none !important; }

/* shop grid */
.woocommerce ul.products, .woocommerce-page ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:28px; margin:30px 0 56px !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; padding:16px !important; text-align:left;
  background:var(--surface); border:0; border-radius:var(--radius); box-shadow:var(--sh-sm);
  display:flex; flex-direction:column; transition:transform .22s var(--ease), box-shadow .22s var(--ease); }
.woocommerce ul.products li.product:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); }
.woocommerce ul.products li.product a img{ margin:0 0 14px !important; border-radius:12px; background:var(--tint);
  aspect-ratio:1/1; object-fit:contain; padding:9%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:"Montserrat",sans-serif !important; font-size:14.5px !important; font-weight:600 !important;
  color:var(--ink) !important; line-height:1.4; padding:0 !important; min-height:2.8em; }
.woocommerce ul.products li.product .price{ margin:8px 0 12px; font-size:16px !important; }
.woocommerce ul.products li.product .spg-locked{ margin:8px 0 12px; font-size:14px; color:var(--muted); }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{ margin-top:auto; width:100%; justify-content:center; text-align:center; }
.woocommerce ul.products li.product img.woocommerce-placeholder{ opacity:.4 !important; }
.woocommerce span.onsale{ background:var(--gold) !important; color:var(--navy) !important; border-radius:var(--pill);
  min-height:auto; min-width:auto; padding:6px 13px; line-height:1; top:14px; left:14px; margin:0;
  font-family:"Montserrat",sans-serif; font-weight:800; font-size:12px; }

/* pagination */
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li{ border:0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  border-radius:var(--radius-sm); padding:11px 16px; background:var(--surface); color:var(--navy);
  box-shadow:var(--sh-sm); font-family:"Montserrat",sans-serif; font-weight:700; transition:.15s var(--ease); }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--navy); color:#fff; }
.woocommerce nav.woocommerce-pagination ul li a:hover{ background:var(--burgundy); color:#fff; transform:translateY(-1px); }

/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border:0 !important; border-radius:var(--radius-sm); background:var(--surface); box-shadow:var(--sh-md);
  padding:16px 20px 16px 46px; }
.woocommerce-message{ box-shadow:var(--sh-md), inset 4px 0 0 var(--gold); }
.woocommerce-info{ box-shadow:var(--sh-md), inset 4px 0 0 var(--navy); }
.woocommerce-error{ box-shadow:var(--sh-md), inset 4px 0 0 var(--burgundy); }

/* single product — robust float layout (gallery left, summary right, tabs full width below) */
.single-product div.product{ display:block; overflow:hidden; } /* contain floats */
.single-product div.product .woocommerce-product-gallery{ float:left; width:46% !important; margin:0 !important; }
.single-product div.product .summary.entry-summary{ float:right; width:50% !important; margin:0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells{ clear:both; float:none; width:100%; }
.single-product div.product .woocommerce-tabs{ display:block !important; padding-top:44px; }
.single-product .woocommerce-tabs ul.tabs{ width:100% !important; float:none !important; }
.single-product .woocommerce-tabs .panel{ width:100% !important; float:none !important; clear:both; }
.single-product div.product .woocommerce-product-gallery img{ border-radius:var(--radius); background:var(--tint); }
.single-product .product_title{ font-size:clamp(26px,3.4vw,40px) !important; }
.single-product div.product p.price{ font-size:26px !important; color:var(--navy); }
.woocommerce-tabs ul.tabs{ border:0 !important; padding:0 !important; margin:0 !important; display:flex; gap:8px; }
.woocommerce-tabs ul.tabs::before{ border:0 !important; }
.woocommerce-tabs ul.tabs li{ border:0 !important; background:var(--tint) !important; border-radius:var(--radius-sm) var(--radius-sm) 0 0; margin:0 !important; }
.woocommerce-tabs ul.tabs li.active{ background:#fff !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.woocommerce-tabs .panel{ border:0 !important; background:#fff; border-radius:0 var(--radius) var(--radius) var(--radius); padding:28px !important; box-shadow:var(--sh-md); margin-top:0 !important; }
.related.products{ margin-top:52px; padding-top:40px; border-top:1px solid var(--line); }

/* cart / checkout / account */
.woocommerce table.shop_table{ border:0 !important; border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--sh-md); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td{ border-top:1px solid var(--tint) !important; }
.woocommerce table.shop_table thead th{ background:var(--navy); color:#fff; border:0 !important; font-family:"Montserrat",sans-serif; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation li{ border:0 !important; margin-bottom:6px; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:12px 16px; border-radius:var(--radius-sm); background:#fff; box-shadow:var(--sh-sm); }
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--navy); color:#fff; }

/* content pages */
.page:not(.page-template-front-page) .entry-content{ font-size:16.5px; }
.page .entry-content h2{ margin-top:1.4em; }
.page .entry-content ul li{ margin-bottom:.5em; }

/* =====================================================================
   HOMEPAGE full-bleed (escape Storefront .col-full + .woocommerce wrapper)
   ===================================================================== */
.home #content.site-content,
.home #content.site-content > .col-full,
.home #content.site-content > .col-full > .woocommerce{ max-width:none !important; padding:0 !important; margin:0 !important; }
.home .woocommerce-notices-wrapper{ display:none !important; }
.home .storefront-breadcrumb{ display:none !important; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:1080px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); } .fp-pillars{ grid-template-columns:repeat(2,1fr); } .fp-cats{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:980px){
  .fp-hero .fp-wrap{ grid-template-columns:1fr; gap:34px; }
  .fp-hero-visual{ display:none; }
}
@media(max-width:900px){
  .fp-vip .grid{ grid-template-columns:1fr; gap:30px; }
  .fp-guar{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .simcoe-footer-grid{ grid-template-columns:1fr 1fr; gap:28px; }
}
@media(max-width:820px){
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .single-product div.product{ grid-template-columns:1fr; gap:26px; }
  .site-header .col-full{ gap:12px; }
  .main-navigation ul{ flex-wrap:wrap; }
}
@media(max-width:560px){
  .fp-pillars, .fp-cats, .fp-guar{ grid-template-columns:1fr; }
  .simcoe-footer-grid{ grid-template-columns:1fr; }
  .fp-btns .fp-btn{ flex:1 1 100%; justify-content:center; }
}
