/*
Theme Name: FireHush
Theme URI: https://firehush.com
Description: Store theme for FireHush fire blankets, EV fire containment and fire resistant storage. WooCommerce ready. Pairs with the FireHush Engine plugin.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Author: FireHush
Text Domain: firehush
License: GPLv2 or later
*/

@font-face{font-family:"Archivo";src:url("assets/fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Public Sans";src:url("assets/fonts/publicsans-var.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --red:#D2231B; --red-dk:#9E1A13; --yellow:#FFC20E; --green:#00855D; --green-dk:#006B4A;
  --white:#FFFFFF; --wall:#EEEEEA; --grout:#E1E1DC; --steel:#9AA1A6; --line:#D3D3CE;
  --black:#000000; --text:#2B2B2B; --mute:#62676B;
  --sign:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px; --gut:clamp(1rem,4vw,2.5rem);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.6;color:var(--text);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--black);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--sign);color:var(--black);margin:0 0 .5em;line-height:1}
h1,h2{font-stretch:68%;font-weight:850;text-transform:uppercase;letter-spacing:-.005em}
h1{font-size:clamp(3.2rem,8.4vw,6.6rem);line-height:.9}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:.95}
h3{font-stretch:88%;font-weight:760;font-size:1.25rem;line-height:1.15}
p{margin:0 0 1em;max-width:66ch}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--black);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.intro{color:var(--mute);font-size:1.08rem;max-width:58ch}
.text-link{font-family:var(--sign);font-stretch:88%;font-weight:760;font-size:1.05rem;color:var(--red);text-decoration:underline;text-decoration-thickness:2px}

/* Buttons: flat, squared, sign-like */
.btn,.button,button.button,input[type=submit],.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sign);font-stretch:85%;font-weight:800;font-size:1.05rem;line-height:1;
  padding:1rem 1.4rem;border-radius:3px;border:2px solid var(--red);background:var(--red);color:#fff;text-decoration:none;cursor:pointer}
.btn:hover,.button:hover,input[type=submit]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--red-dk);border-color:var(--red-dk);color:#fff}
.btn--line{background:transparent;color:var(--black);border-color:var(--black)}
.btn--line:hover{background:var(--black);color:#fff;border-color:var(--black)}
.btn svg{width:1.2em;height:1.2em;flex:none}

/* Top strip and header */
.strip{background:var(--black);color:#fff;font-size:.88rem;padding:.45rem 0;text-align:center}
.strip a{color:var(--yellow);font-weight:600;text-decoration:none}
.site-header{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:3px solid var(--red)}
.site-header__in{display:flex;align-items:center;gap:1.75rem;min-height:4.4rem}
.brand img{height:36px;width:auto}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.5rem;flex-wrap:wrap}
.nav a{font-family:var(--sign);font-stretch:88%;font-weight:700;font-size:1.02rem;text-decoration:none;color:var(--black)}
.nav a:hover,.nav .current-menu-item>a{color:var(--red)}
.head-tools{display:flex;align-items:center;gap:.75rem}
.cart-link{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none}
.cart-link svg{width:24px;height:24px}
.cart-count{font-family:var(--sign);font-weight:800;font-size:.78rem;background:var(--yellow);color:var(--black);border-radius:3px;min-width:1.4rem;height:1.4rem;display:inline-grid;place-items:center;padding:0 .3rem}
.call-sign{display:inline-flex;align-items:center;gap:.45rem;background:var(--red);color:#fff;text-decoration:none;font-family:var(--sign);font-stretch:85%;font-weight:800;padding:.6rem .85rem;border-radius:3px}
.call-sign:hover{background:var(--red-dk);color:#fff}
.call-sign svg{width:18px;height:18px}
.menu-toggle{display:none;background:none;border:2px solid var(--black);border-radius:3px;padding:.45rem .7rem;font:800 .95rem var(--sign);font-stretch:85%;color:var(--black)}
@media (max-width:980px){
  .menu-toggle{display:inline-flex;margin-left:auto}
  .nav{position:fixed;inset:calc(4.4rem + 2.2rem) 0 auto 0;background:var(--white);border-bottom:3px solid var(--red);padding:1rem var(--gut) 1.5rem;display:none}
  .nav.is-open{display:block}
  .nav ul{flex-direction:column;gap:.9rem}
  .nav a{font-size:1.3rem}
  .call-sign span{display:none}
  .site-header__in{gap:1rem}
}

/* Hero: a kitchen wall, subway tile, a pouch on the wall and a pan on fire */
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:min(88svh,780px);
  background-color:#F4F4F1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cg fill='none' stroke='%23E2E2DD' stroke-width='2'%3E%3Cpath d='M0 1h120M0 31h120M1 0v30M61 0v30M31 30v30M91 30v30'/%3E%3C/g%3E%3C/svg%3E")}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero__in{position:relative;display:grid;align-items:center;min-height:inherit;padding-block:3rem 4rem}
.hero__copy{max-width:34rem;background:rgba(244,244,241,.82);padding:.5rem 0}
.hero h1{margin-bottom:.35em}
.hero .lede{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.45;color:var(--text);max-width:30ch}
.hero .actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.pull-btn{position:absolute;z-index:3;font:800 1rem var(--sign);font-stretch:85%;background:var(--black);color:#fff;border:0;border-radius:3px;padding:.65rem .95rem;cursor:pointer;transform:translateX(-50%);white-space:nowrap}
.pull-btn::before{content:"";position:absolute;left:50%;top:-8px;margin-left:-8px;border:8px solid transparent;border-top:0;border-bottom-color:var(--black)}
.pull-btn:hover{background:var(--red)}
.pull-btn:hover::before{border-bottom-color:var(--red)}
.pull-btn.nudge{animation:nudge 1.4s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
.replay{position:absolute;right:var(--gut);bottom:1.1rem;z-index:3;background:var(--white);border:2px solid var(--black);color:var(--black);border-radius:3px;padding:.5rem .8rem;font:800 .9rem var(--sign);font-stretch:85%;cursor:pointer}
.replay:hover{background:var(--black);color:#fff}
@media (max-width:819px){
  .hero{min-height:0}
  .hero__in{align-items:start;padding-block:2rem 410px}
  .hero__copy{background:none}
}

/* Sign board */
.signs-band{padding-block:clamp(3rem,7vw,5.5rem);background:var(--white)}
.signs{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:1rem}
.sign{display:flex;flex-direction:column;text-decoration:none;height:100%}
.sign__face{display:grid;place-items:center;aspect-ratio:1;background:var(--red);color:#fff;border-radius:4px 4px 0 0}
.sign__face .picto{width:62%;height:62%}
.sign__plate{display:block;border:2px solid var(--black);border-top:0;border-radius:0 0 4px 4px;padding:.6rem .65rem .7rem;flex:1}
.sign__plate strong{display:block;font-family:var(--sign);font-stretch:80%;font-weight:850;font-size:1.12rem;line-height:1.05;color:var(--black)}
.sign__plate span{display:block;font-size:.85rem;color:var(--mute);margin-top:.2rem;line-height:1.3}
.sign:hover .sign__face{background:var(--red-dk)}
.sign:hover strong{text-decoration:underline}
@media (max-width:1100px){.signs{grid-template-columns:repeat(4,1fr)}}
@media (max-width:620px){.signs{grid-template-columns:repeat(2,1fr)}}

/* Product shelf */
.shelf{padding-block:clamp(3rem,7vw,5rem);background:var(--wall)}
.shelf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
.shelf__head h2{margin:0}

/* Instruction placard */
.placard{padding-block:clamp(3rem,7vw,5rem);background:var(--white)}
.placard__panel{background:var(--red);color:#fff;border-radius:6px;padding:clamp(1.5rem,4vw,3rem);border:6px solid var(--red);outline:3px solid #fff;outline-offset:-14px}
.placard h2{color:#fff;margin:0 0 1.5rem}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,2rem);counter-reset:s}
.steps li{counter-increment:s;position:relative}
.steps .picto{width:76px;height:76px;color:#fff;margin-bottom:.8rem}
.steps li::before{content:counter(s);position:absolute;left:62px;top:-6px;background:#fff;color:var(--red);font:850 1rem var(--sign);width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center}
.steps h3{color:#fff;font-size:1.3rem;margin-bottom:.35rem}
.steps p{color:#FFE3E0;font-size:1rem;margin:0}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Paperwork */
.paperwork{padding-block:clamp(3rem,7vw,5rem);background:var(--wall)}
.docs{display:grid;gap:1rem;margin:1.75rem 0}
.doc{position:relative;display:grid;grid-template-columns:minmax(10rem,15rem) 1fr;gap:1.5rem;background:var(--white);border:1px solid var(--line);padding:1.4rem 1.6rem;box-shadow:0 1px 0 var(--line),0 2px 0 var(--white),0 3px 0 var(--line)}
.doc__std{font-family:var(--sign);font-stretch:72%;font-weight:850;font-size:1.9rem;line-height:1;color:var(--black);margin:0}
.doc h3{font-size:1.15rem}
.doc p{margin:0 0 .5rem}
.doc__covers{font-size:.92rem;color:var(--mute)}
.stamp{position:absolute;right:1.4rem;top:1.1rem;transform:rotate(-8deg);border:3px solid var(--red);color:var(--red);font:850 .95rem var(--sign);font-stretch:80%;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .55rem;border-radius:4px;opacity:.85}
@media (max-width:700px){.doc{grid-template-columns:1fr;gap:.6rem}.stamp{top:.9rem}}

/* Ask: an exit-sign green panel and a plain form */
.ask-band{padding-block:clamp(3rem,7vw,5rem);background:var(--white)}
.ask{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.exit-sign{background:var(--green);color:#fff;border-radius:6px;padding:clamp(1.5rem,4vw,2.5rem);outline:3px solid #fff;outline-offset:-12px}
.exit-sign h2{color:#fff}
.exit-sign p{color:#DFF3EA;font-size:1.1rem}
.exit-sign__num{display:inline-flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font:850 clamp(1.6rem,3.4vw,2.3rem) var(--sign);font-stretch:75%;margin-top:.5rem}
.exit-sign__num svg{width:1em;height:1em}
.exit-sign__num:hover{color:#fff;text-decoration:underline}
.ask__form h3{font-size:1.4rem}
@media (max-width:860px){.ask{grid-template-columns:1fr}}
.fh-form label{display:block;font-weight:600;font-size:.95rem;margin:.9rem 0 .3rem;color:var(--black)}
.fh-form input[type=text],.fh-form input[type=email],.fh-form input[type=tel],.fh-form textarea,.fh-form select{width:100%;font:inherit;padding:.8rem .85rem;border:2px solid var(--black);border-radius:3px;background:#fff;color:var(--black)}
.fh-form textarea{min-height:8rem}
.fh-form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:560px){.fh-form .row{grid-template-columns:1fr}}
.fh-form .hp{position:absolute;left:-5000px}
.fh-form button{margin-top:1.1rem}
.notice{padding:.9rem 1rem;border-radius:3px;border-left:6px solid var(--green);background:#E3F3EC;margin:1rem 0}
.notice--err{border-color:var(--red);background:#FBE5E3}

/* Guides */
.guides{padding-block:clamp(3rem,7vw,5rem);background:var(--wall)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.25rem}
.card{background:var(--white);border-top:6px solid var(--red);display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card .in{padding:1rem 1.15rem 1.25rem}
.card h3{font-size:1.25rem}
.card h3 a{text-decoration:none}
.card h3 a:hover{color:var(--red)}
.card .meta{font-size:.85rem;color:var(--mute);margin-bottom:.35rem}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}

/* Inner pages */
.page-head{padding-block:2.5rem 1rem}
.entry{background:var(--white);max-width:820px;margin-inline:auto;padding:clamp(1rem,3vw,2rem) 0}
.entry h1{font-size:clamp(2.6rem,6vw,4.4rem)}
.entry h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:1.4em}
.entry img{border-radius:3px}
.entry table{border-collapse:collapse;width:100%;font-size:.97rem;margin:1rem 0;display:block;overflow-x:auto}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:.55rem .6rem;text-align:left;vertical-align:top}
.entry th{width:30%;font-weight:600;color:var(--black)}
.entry .meta{color:var(--mute);font-size:.9rem}

/* WooCommerce: shelf of products with inspection-tag prices */
.woocommerce .woocommerce-breadcrumb{font-size:.9rem;color:var(--mute)}
.woocommerce-products-header__title,.woocommerce .page-title{font-size:clamp(2.6rem,6vw,4.4rem)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:1.25rem 0!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{position:relative;width:auto!important;margin:0!important;float:none!important;background:var(--white);border:1px solid var(--line);border-bottom:4px solid var(--black);padding:0!important;display:flex;flex-direction:column}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none}
.woocommerce ul.products li.product a img{margin:0!important;aspect-ratio:1;object-fit:contain;background:#fff;padding:.75rem}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sign)!important;font-stretch:85%;font-weight:800;font-size:1.15rem!important;line-height:1.1;padding:.2rem 1rem .9rem!important;color:var(--black)}
.woocommerce ul.products li.product .price{position:absolute;top:.9rem;right:-.4rem;margin:0!important;transform:rotate(4deg);background:var(--yellow);color:var(--black)!important;font:850 1.05rem var(--sign)!important;font-stretch:85%!important;padding:.45rem .7rem .45rem 1.35rem!important;clip-path:polygon(.9rem 0,100% 0,100% 100%,.9rem 100%,0 50%);box-shadow:none}
.woocommerce ul.products li.product .price::before{content:"";position:absolute;left:.62rem;top:50%;width:.42rem;height:.42rem;margin-top:-.21rem;border-radius:50%;background:#fff}
.woocommerce ul.products li.product .price del{opacity:.6}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .price .fh-quote-price{font-size:.92rem}
.woocommerce ul.products li.product .button{margin:auto 0 0!important;border-radius:0;width:100%;font-size:1rem;padding:.9rem 1rem;background:var(--black);border-color:var(--black)}
.woocommerce ul.products li.product .button:hover{background:var(--red);border-color:var(--red)}
@media (max-width:1000px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:.75rem}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important}}

/* Single product */
.woocommerce div.product{padding-top:1rem}
.woocommerce div.product .product_title{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:.4rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{display:inline-block;color:var(--black)!important;background:var(--yellow);font:850 1.7rem var(--sign);font-stretch:80%;padding:.4rem .9rem .4rem 1.6rem;clip-path:polygon(1rem 0,100% 0,100% 100%,1rem 100%,0 50%)}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:1.1rem}
.woocommerce div.product form.cart{margin:1.25rem 0}
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce .single_add_to_cart_button{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;font-size:1.1rem!important;padding:1rem 1.6rem!important}
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--red-dk)!important;border-color:var(--red-dk)!important}
.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled{opacity:.45}
.woocommerce table.variations th{font-family:var(--sign);font-stretch:85%;font-weight:800;color:var(--black);padding-right:1rem}
.woocommerce table.variations select{padding:.75rem;border:2px solid var(--black);border-radius:3px;font:inherit;min-width:16rem;max-width:100%;background:#fff}
.woocommerce .quantity .qty{padding:.85rem .4rem;border:2px solid var(--black);border-radius:3px}
.woocommerce div.product div.images .flex-control-thumbs li img{aspect-ratio:1;object-fit:cover}
.woocommerce div.product div.images img{background:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1.5rem;border-bottom:3px solid var(--black)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:none!important;border-radius:0!important;margin:0 1.5rem 0 0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--sign);font-stretch:85%;font-weight:800;font-size:1.1rem;color:var(--mute)!important;padding:.6rem 0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--black)!important;box-shadow:inset 0 -5px 0 var(--red)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.7rem;margin-top:1.2em}
.woocommerce div.product .woocommerce-tabs .panel table{border-collapse:collapse;width:100%;max-width:780px;margin:0 0 1rem;font-size:.97rem}
.woocommerce div.product .woocommerce-tabs .panel th,.woocommerce div.product .woocommerce-tabs .panel td{text-align:left;vertical-align:top;padding:.55rem .6rem;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs .panel th{width:32%;font-weight:600;color:var(--black)}
.woocommerce div.product .woocommerce-tabs .panel{overflow-x:auto}
.woocommerce span.onsale{background:var(--red);border-radius:3px;min-height:0;line-height:1.6}
.woocommerce-message,.woocommerce-info{border-top-color:var(--red)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)!important}

/* Rating plate (specs on the product page) */
.fh-plate{position:relative;margin:1.25rem 0;padding:1rem 1.25rem 1.1rem;border-radius:6px;color:#1b1d1f;
  background:linear-gradient(180deg,#E9ECEE,#C9CED2);border:1px solid #9AA1A6;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #8E959A}
.fh-plate::before,.fh-plate::after{content:"";position:absolute;top:.55rem;width:.55rem;height:.55rem;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#8E959A 70%)}
.fh-plate::before{left:.55rem}.fh-plate::after{right:.55rem}
.fh-plate__title{font:850 .95rem var(--sign);font-stretch:80%;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;padding-left:1rem}
.fh-plate dl{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0;font-size:.93rem}
.fh-plate dt{font-weight:600}
.fh-plate dd{margin:0}
.fh-spec-cta{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.fh-spec-cta .btn{font-size:.98rem;padding:.8rem 1.05rem}
.fh-spec-cta .btn--ink{background:var(--black);border-color:var(--black)}
.fh-spec-cta .btn--ink:hover{background:var(--red);border-color:var(--red)}
.fh-spec-cta .btn--ghost{background:#fff;color:var(--green-dk);border-color:var(--green)}
.fh-spec-cta .btn--ghost:hover{background:var(--green);color:#fff}
.fh-reports-tab h3{font-size:1.25rem;margin-top:1rem}

/* Footer */
.site-footer{background:var(--white);color:var(--text);padding-block:0 2rem;margin-top:0}
.site-footer::before{content:"";display:block;height:14px;background:repeating-linear-gradient(-45deg,var(--red) 0 14px,#fff 14px 28px);margin-bottom:3rem}
.site-footer a{color:var(--black);text-decoration:none}
.site-footer a:hover{color:var(--red);text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.foot-brand p{margin-top:1rem;max-width:32ch;color:var(--mute)}
.foot-grid h4{font-stretch:85%;font-weight:850;font-size:1.15rem;margin-bottom:.8rem}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.97rem}
.small-print{border-top:2px solid var(--black);margin-top:2.5rem;padding-top:1.1rem;font-size:.82rem;color:var(--mute);max-width:none}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* WhatsApp float (plugin) */
.fh-wa{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:.5rem;background:var(--green);color:#fff;border-radius:3px;padding:.8rem 1.05rem;font:800 1rem var(--sign);font-stretch:85%;text-decoration:none;box-shadow:0 4px 0 var(--green-dk)}
.fh-wa:hover{color:#fff;background:var(--green-dk)}
.fh-wa svg{width:22px;height:22px}
@media (max-width:520px){.fh-wa .lbl{display:none}.fh-wa{padding:.8rem}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Shop dropdown in the header ---------- */
.nav{display:flex;align-items:center;gap:1.5rem}
.shop-menu{position:relative}
.shop-menu__btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--black);color:#fff;border:0;border-radius:3px;padding:.6rem .9rem;font:800 1.02rem var(--sign);font-stretch:85%;cursor:pointer}
.shop-menu__btn svg{width:12px;height:8px;transition:transform .15s}
.shop-menu__btn[aria-expanded=true] svg{transform:rotate(180deg)}
.shop-menu__btn:hover{background:var(--red)}
.shop-panel{display:none;position:absolute;left:0;top:calc(100% + 14px);width:min(640px,90vw);background:var(--white);border:2px solid var(--black);border-top:6px solid var(--red);padding:1rem;z-index:50;box-shadow:0 10px 0 rgba(0,0,0,.08)}
.shop-menu.is-open .shop-panel{display:block}
@media (hover:hover) and (min-width:981px){.shop-menu:hover .shop-panel,.shop-menu:focus-within .shop-panel{display:block}.shop-menu::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}}
.shop-panel__cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.shop-panel__cats a,.rail a{display:flex;align-items:center;gap:.7rem;text-decoration:none;padding:.45rem;border-radius:3px}
.shop-panel__cats a:hover{background:var(--wall)}
.mini-sign{flex:none;display:grid;place-items:center;width:44px;height:44px;background:var(--red);color:#fff;border-radius:3px}
.mini-sign .picto{width:30px;height:30px}
.shop-panel__cats strong{display:block;font:800 1.02rem var(--sign);font-stretch:85%;color:var(--black);line-height:1.1}
.shop-panel__cats em{display:block;font-style:normal;font-size:.82rem;color:var(--mute)}
.shop-panel__foot{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:.75rem;padding-top:.85rem}
.shop-panel__foot .btn{padding:.75rem 1rem;font-size:.98rem}
.shop-panel__foot form{flex:1;min-width:12rem}
@media (max-width:980px){
  .nav{display:none;position:absolute;inset:auto 0 auto 0;top:100%;flex-direction:column;align-items:stretch;gap:1rem;max-height:calc(100svh - 8rem);overflow:auto;box-shadow:0 12px 0 rgba(0,0,0,.06)}
  .nav.is-open{display:flex}
  .shop-menu__btn{display:none}
  .shop-panel{display:block;position:static;width:auto;border:0;padding:0;box-shadow:none}
  .shop-panel__cats{grid-template-columns:1fr}
}

/* Product search form */
.woocommerce-product-search{display:flex;gap:0}
.woocommerce-product-search label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.woocommerce-product-search .search-field{flex:1;min-width:0;font:inherit;padding:.75rem .85rem;border:2px solid var(--black);border-right:0;border-radius:3px 0 0 3px;background:#fff}
.woocommerce-product-search button{font:800 .98rem var(--sign);font-stretch:85%;background:var(--black);color:#fff;border:2px solid var(--black);border-radius:0 3px 3px 0;padding:0 1rem;cursor:pointer}
.woocommerce-product-search button:hover{background:var(--red);border-color:var(--red)}

/* ---------- Shop page ---------- */
.shop-head{background:var(--wall);padding-block:1.5rem 2rem;border-bottom:2px solid var(--black)}
.shop-head h1{font-size:clamp(2.8rem,6vw,4.8rem);margin:.4rem 0 .4rem}
.shop-head .intro{margin:0}
.shop-head__row{display:grid;grid-template-columns:1fr minmax(16rem,24rem);gap:1.5rem 3rem;align-items:end}
.shop-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem;padding-block:2rem 3rem}
.rail,.shop-main{min-width:0}
.rail{position:sticky;top:6.5rem;align-self:start}
.rail ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.rail a{padding:.4rem .5rem}
.rail a:hover{background:var(--wall)}
.rail a.is-on{background:var(--black)}
.rail a.is-on .rail__name,.rail a.is-on .rail__n{color:#fff}
.rail__name{flex:1;font:800 1rem var(--sign);font-stretch:85%;color:var(--black);line-height:1.1}
.rail__n{font:800 .9rem var(--sign);color:var(--mute)}
.rail__help{margin-top:1.25rem;padding:1rem;border:2px solid var(--black);border-radius:3px;font-size:.92rem}
.rail__help strong{display:block;font:850 1.1rem var(--sign);font-stretch:80%;color:var(--black)}
.rail__help a{color:var(--green-dk);font-weight:700}
.shop-main .woocommerce-result-count{margin:0 0 1rem;color:var(--mute);font-size:.92rem;float:left}
.shop-main .woocommerce-ordering{float:right;margin:0 0 1rem}
.shop-main .woocommerce-ordering select{font:inherit;padding:.55rem .7rem;border:2px solid var(--black);border-radius:3px;background:#fff}
.shop-main ul.products{clear:both;grid-template-columns:repeat(3,1fr)}
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{font:800 1rem var(--sign);padding:.6rem .85rem;border:2px solid var(--black);margin:0 .2rem;border-radius:3px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--black);color:#fff}
.custom-band{background:var(--black);color:#fff;padding-block:2.5rem}
.custom-band__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.custom-band h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:.3rem}
.custom-band p{color:#D8D8D8;margin:0}
.btn--line-white{background:transparent;border-color:#fff;color:#fff}
.btn--line-white:hover{background:#fff;color:var(--black);border-color:#fff}
@media (max-width:1000px){.shop-main ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .shop-head__row{grid-template-columns:1fr}
  .shop-body{grid-template-columns:minmax(0,1fr);gap:1rem;padding-top:1rem}
  .rail{position:static}
  .rail ul{display:flex;overflow-x:auto;gap:.5rem;padding-bottom:.4rem;scroll-snap-type:x mandatory}
  .rail li{flex:none;scroll-snap-align:start}
  .rail a{border:2px solid var(--black);padding:.35rem .6rem .35rem .35rem}
  .rail .mini-sign{width:34px;height:34px}.rail .mini-sign .picto{width:24px;height:24px}
  .rail__help{display:none}
}
