/*
Theme Name: Haneda Autos
Theme URI: https://hanedaautos.com
Description: Child theme for Haneda Autos. Realises the Haneda Freight Floor design direction: cool steel neutrals, signage-wide Archivo display type, a single signal red, and hairline-ruled catalogue tiles. No shadows, no rounded shapes beyond 2px on controls.
Author: Haneda Autos
Version: 1.0.0
Template: astra
Text Domain: haneda
*/

/* ============================================================ 1. tokens */
:root{
  --bg:#F3F4F2;
  --surface:#FFFFFF;
  --ink:#14181A;
  --accent:#C8102E;
  --accent-dark:#A50D26;
  --slate:#39444A;
  --hairline:#DADDD8;
  --ground:#0E1214;
  --ground-soft:#1A2124;

  --font-display:'Archivo','Archivo Expanded',system-ui,sans-serif;
  --font-body:'Archivo',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;

  --xs:6px; --sm:12px; --md:24px; --lg:48px; --xl:88px;
  --radius:0; --radius-control:2px;
  --wrap:1320px;
  --gutter:24px;
}

/* ====================================================== 2. reset / astra */
/* :where() keeps specificity at 0 so component rules always win. */
:where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote,dl,dd,table){margin:0;padding:0}
:where(ul,ol){list-style:none}
:where(blockquote,figure){border:0}
:where(img,svg,video){display:block;max-width:100%;height:auto}
:where(button,input,select,textarea){font:inherit;color:inherit}
*,*::before,*::after{box-sizing:border-box}

.ast-container,.ast-container-fluid,#content .ast-container{max-width:none;padding:0;margin:0}
#primary,#secondary,.site-content #primary{margin:0;padding:0;width:100%;float:none}
.site-content{background:var(--bg)}
.ast-separate-container #primary,.ast-separate-container .site-main{background:transparent;padding:0;margin:0}
.ast-separate-container .ast-article-single,.ast-article-single{padding:0;border:0;background:transparent}
.ast-no-sidebar .entry-content .alignwide{margin:0}
.entry-header,.ast-single-post-order,.ast-archive-description{display:none}

/* ======================================================== 3. foundations */
html{-webkit-text-size-adjust:100%}
body.haneda{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}
.haneda a{color:inherit;text-decoration:none}
.haneda a:focus-visible,.haneda button:focus-visible,.haneda input:focus-visible,.haneda select:focus-visible,.haneda textarea:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px
}

.h-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.h-rule{border:0;border-top:1px solid var(--hairline);margin:0}

.h-display,.haneda h1,.haneda h2,.haneda h3,.haneda h4{
  font-family:var(--font-display);
  font-stretch:125%;
  font-weight:700;
  line-height:1.05;
  letter-spacing:-0.015em;
  text-wrap:balance;
}
.haneda h1{font-size:clamp(2.1rem,4.4vw,3.9rem)}
.haneda h2{font-size:clamp(1.65rem,2.9vw,2.6rem)}
.haneda h3{font-size:clamp(1.15rem,1.6vw,1.45rem)}
.haneda h4{font-size:1.05rem}

.h-lede{font-size:1.08rem;line-height:1.65;color:var(--slate);max-width:62ch}
.h-body p{max-width:66ch;margin-bottom:1.05em}
.h-body p:last-child{margin-bottom:0}
.h-body h2{margin:var(--lg) 0 var(--sm)}
.h-body h3{margin:var(--md) 0 var(--xs)}
.h-body ul{margin:0 0 1.05em;padding:0}
.h-body ul li{position:relative;padding-left:18px;margin-bottom:7px;max-width:64ch}
.h-body ul li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:1px;background:var(--accent)}
.h-body a{border-bottom:1px solid var(--accent);padding-bottom:1px}
.h-body strong{font-weight:600}

.h-spec{
  font-family:var(--font-mono);
  font-weight:500;
  font-size:0.69rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--slate);
}
.h-label{font-family:var(--font-mono);font-weight:500;font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--slate)}

/* ============================================================= 4. buttons */
.h-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;
  background:var(--accent);color:#fff;
  font-family:var(--font-body);font-weight:600;font-size:0.95rem;
  border:1px solid var(--accent);border-radius:var(--radius-control);
  cursor:pointer;transition:background .15s linear,border-color .15s linear;
  text-align:center;
}
.h-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.h-btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.h-btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.h-btn--onDark{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.h-btn--onDark:hover{background:#fff;color:var(--ground);border-color:#fff}
.h-btn--sm{padding:10px 18px;font-size:0.85rem}
.h-btn--block{width:100%}

/* ============================================================== 5. header */
.h-head{background:var(--surface);border-bottom:1px solid var(--hairline);position:relative;z-index:40}
.h-head__strip{background:var(--ground);color:#C9CFD2}
.h-head__strip .h-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--md);min-height:38px}
.h-head__strip a{color:#fff}
.h-head__strip .h-spec{color:#9BA5AA}
.h-head__bar{display:flex;align-items:center;gap:var(--md);min-height:76px}
.h-logo{display:flex;flex-direction:column;line-height:1;flex:0 0 auto}
.h-logo__name{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:1.32rem;letter-spacing:-0.01em;text-transform:uppercase}
.h-logo__name em{font-style:normal;color:var(--accent)}
.h-logo__sub{font-family:var(--font-mono);font-weight:500;font-size:0.56rem;letter-spacing:0.17em;text-transform:uppercase;color:var(--slate);margin-top:5px}
.h-nav{margin-left:auto;display:flex;align-items:center;gap:var(--md)}
.h-nav__list{display:flex;align-items:center;gap:var(--md)}
.h-nav__list a{font-size:0.9rem;font-weight:500;padding:6px 0;border-bottom:1px solid transparent}
.h-nav__list a:hover{border-bottom-color:var(--ink)}
.h-nav__list .current-menu-item>a,.h-nav__list .current-cat>a{color:var(--accent);border-bottom-color:var(--accent)}
.h-head__tools{display:flex;align-items:center;gap:var(--sm)}
.h-burger{display:none;background:none;border:1px solid var(--hairline);padding:9px 12px;border-radius:var(--radius-control);cursor:pointer}
.h-burger span{display:block;width:17px;height:1.5px;background:var(--ink);margin:3.5px 0}

.h-search{display:flex;align-items:center;border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--surface)}
.h-search input[type=search]{border:0;background:none;padding:10px 12px;width:210px;font-size:0.88rem}
.h-search input[type=search]:focus{outline:none}
.h-search button{border:0;background:var(--ink);color:#fff;padding:10px 14px;cursor:pointer;font-family:var(--font-mono);font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase}
.h-search button:hover{background:var(--accent)}

/* ================================================================ 6. hero */
.h-hero{background:var(--surface);border-bottom:1px solid var(--hairline);overflow:hidden}
.h-hero__grid{display:grid;grid-template-columns:1.02fr 0.98fr;align-items:stretch;gap:0}
.h-hero__text{padding:var(--xl) var(--lg) var(--xl) 0;display:flex;flex-direction:column;justify-content:center;max-width:38rem}
.h-hero h1{margin-bottom:var(--md)}
.h-hero h1 .h-hero__accent{color:var(--accent)}
.h-hero__lede{font-size:1.1rem;line-height:1.6;color:var(--slate);max-width:46ch;margin-bottom:var(--md)}
.h-hero__cta{display:flex;flex-wrap:wrap;gap:var(--sm)}
.h-hero__media{position:relative;min-height:470px;background:var(--ground)}
/* signature move: the photograph breaks its column and bleeds to the viewport edge */
.h-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.h-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,18,20,.42) 0%,rgba(14,18,20,0) 42%)}
.h-hero__stamp{position:absolute;left:var(--md);bottom:var(--md);z-index:2;font-family:var(--font-mono);font-weight:500;font-size:0.63rem;letter-spacing:0.08em;text-transform:uppercase;color:#fff;background:var(--ground);padding:7px 11px}

/* ============================================== 7. facts band (deep floor) */
.h-facts{background:var(--ground);color:#E7EAEB}
.h-facts__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.h-facts__item{padding:var(--lg) var(--md);border-left:1px solid rgba(255,255,255,.12)}
.h-facts__item:first-child{border-left:0;padding-left:0}
.h-facts__k{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:2.15rem;line-height:1;display:block;margin-bottom:9px}
.h-facts__v{font-family:var(--font-mono);font-weight:500;font-size:0.67rem;letter-spacing:0.05em;text-transform:uppercase;color:#9BA5AA}

/* ============================================================ 8. sections */
.h-sect{padding:var(--xl) 0}
.h-sect--tight{padding:var(--lg) 0}
.h-sect--surface{background:var(--surface);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.h-sect__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--md);margin-bottom:var(--lg);padding-bottom:var(--sm);border-bottom:1px solid var(--hairline)}
.h-sect__head p{color:var(--slate);max-width:52ch;margin-top:10px}
.h-sect__more{font-family:var(--font-mono);font-weight:500;font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--accent);padding-bottom:2px}

/* ================================================= 9. ruled catalogue grid */
/* Tiles sit on white and are divided by hairlines. No cards, no shadows. */
.h-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--surface);
  border:1px solid var(--hairline);
  gap:1px;
}
.h-grid--3{grid-template-columns:repeat(3,1fr)}
.h-grid > *{background:var(--surface);outline:1px solid var(--hairline)}

.h-tile{display:flex;flex-direction:column;padding:0;position:relative;transition:background .15s linear}
.h-tile:hover{background:#FAFBFA}
.h-tile__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--hairline)}
.h-tile__media img{width:100%;height:100%;object-fit:cover}
.h-tile__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E8EAE7 0%,#D5D9D4 100%)}
.h-tile__ph span{font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--slate)}
.h-tile__body{padding:var(--md);display:flex;flex-direction:column;gap:9px;flex:1}
.h-tile__sku{font-family:var(--font-mono);font-weight:500;font-size:0.63rem;letter-spacing:0.05em;color:var(--slate)}
.h-tile__name{font-family:var(--font-body);font-weight:600;font-size:0.95rem;line-height:1.32;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.h-tile__meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:auto}
.h-tile__price{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:1.22rem;line-height:1;margin-top:11px}
.h-tile__price del{font-family:var(--font-body);font-stretch:100%;font-weight:400;font-size:0.82rem;color:var(--slate);margin-right:7px}
.h-tile__price ins{text-decoration:none}
.h-tile__flag{position:absolute;top:0;left:0;z-index:2;background:var(--ground);color:#fff;font-family:var(--font-mono);font-weight:500;font-size:0.58rem;letter-spacing:0.07em;text-transform:uppercase;padding:6px 10px}
.h-tile__flag--sold{background:var(--slate)}
.h-tile__flag--sale{background:var(--accent)}
.h-tile__name a{color:inherit;display:block}
.h-tile__name a::after{content:"";position:absolute;inset:0;z-index:3}

/* ========================================================= 10. categories */
.h-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.h-cat{position:relative;background:var(--surface);min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--md);overflow:hidden}
.h-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,18,20,.86) 0%,rgba(14,18,20,.22) 58%,rgba(14,18,20,.05) 100%)}
.h-cat__inner{position:relative;z-index:2;color:#fff}
.h-cat__name{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:1.3rem;line-height:1.1}
.h-cat__count{font-family:var(--font-mono);font-weight:500;font-size:0.63rem;letter-spacing:0.06em;text-transform:uppercase;color:#C9CFD2;margin-top:7px}
.h-cat--empty{background:var(--ground-soft)}
.h-cat--empty .h-cat__inner{color:#fff}
.h-cat__link{position:absolute;inset:0;z-index:3}

/* ============================================== 11. editorial split band */
.h-split{display:grid;grid-template-columns:0.92fr 1.08fr;gap:0;align-items:stretch;background:var(--surface);border:1px solid var(--hairline)}
.h-split__media{position:relative;min-height:420px;background:var(--bg)}
.h-split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h-split__text{padding:var(--lg)}
.h-split__text h2{margin-bottom:var(--sm)}

/* =========================================== 12. single product (WooCommerce) */
.h-pdp{padding:var(--lg) 0 var(--xl)}
.h-crumb{font-family:var(--font-mono);font-weight:500;font-size:0.65rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--md)}
.h-crumb a:hover{color:var(--accent)}
.h-pdp__grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:var(--lg);align-items:start}
.h-pdp__gal{background:var(--surface);border:1px solid var(--hairline)}
.h-pdp__main{position:relative;aspect-ratio:4/3;background:var(--bg);overflow:hidden}
.h-pdp__main img{width:100%;height:100%;object-fit:cover}
.h-pdp__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hairline);border-top:1px solid var(--hairline)}
.h-pdp__thumb{position:relative;aspect-ratio:1;background:var(--surface);border:0;padding:0;cursor:pointer;overflow:hidden}
.h-pdp__thumb img{width:100%;height:100%;object-fit:cover}
.h-pdp__thumb[aria-current=true]::after{content:"";position:absolute;inset:0;border:2px solid var(--accent)}

.h-pdp__buy{background:var(--surface);border:1px solid var(--hairline);padding:var(--md)}
.h-pdp__buy h1{font-size:clamp(1.4rem,2.1vw,1.85rem);margin-bottom:var(--sm)}
.h-pdp__price{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:2.1rem;line-height:1;margin:var(--sm) 0}
.h-pdp__price del{font-family:var(--font-body);font-stretch:100%;font-weight:400;font-size:1rem;color:var(--slate);margin-right:10px}
.h-pdp__price ins{text-decoration:none}
.h-specs{width:100%;border-top:1px solid var(--hairline);margin:var(--md) 0}
.h-specs tr{border-bottom:1px solid var(--hairline)}
.h-specs th,.h-specs td{text-align:left;padding:11px 0;vertical-align:top}
.h-specs th{font-family:var(--font-mono);font-weight:500;font-size:0.65rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--slate);width:42%}
.h-specs td{font-size:0.92rem;font-weight:500}
.h-stock{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:500;font-size:0.66rem;letter-spacing:0.05em;text-transform:uppercase;border:1px solid var(--hairline);padding:7px 11px;border-radius:var(--radius-control)}
.h-stock--in{border-color:var(--ink)}
.h-stock--out{color:var(--slate)}
.h-pdp__actions{display:flex;flex-direction:column;gap:var(--sm);margin-top:var(--md)}
.h-pdp__note{font-size:0.86rem;color:var(--slate);border-top:1px solid var(--hairline);padding-top:var(--sm);margin-top:var(--sm)}
.h-pdp__note strong{color:var(--ink);font-weight:600}

.h-pdp__detail{margin-top:var(--xl);display:grid;grid-template-columns:1.3fr 0.7fr;gap:var(--lg);align-items:start}
.h-pdp__detail .h-body{background:var(--surface);border:1px solid var(--hairline);padding:var(--lg)}
.h-aside{background:var(--surface);border:1px solid var(--hairline);padding:var(--md)}
.h-aside h3{margin-bottom:var(--sm);font-size:1.05rem}
.h-aside ul li{padding:9px 0;border-bottom:1px solid var(--hairline);font-size:0.9rem}
.h-aside ul li:last-child{border-bottom:0}

/* ====================================================== 13. shop toolbar */
.h-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--md);padding:var(--sm) 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:var(--lg);flex-wrap:wrap}
.h-toolbar form{display:flex;align-items:center;gap:8px}
.h-toolbar select{border:1px solid var(--hairline);background:var(--surface);padding:8px 11px;border-radius:var(--radius-control);font-size:0.86rem}
.h-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:var(--md)}
.h-chip{border:1px solid var(--hairline);background:var(--surface);padding:7px 12px;border-radius:var(--radius-control);font-family:var(--font-mono);font-weight:500;font-size:0.64rem;letter-spacing:0.05em;text-transform:uppercase}
.h-chip:hover{border-color:var(--ink)}
.h-chip[aria-current=true]{background:var(--ink);color:#fff;border-color:var(--ink)}

.h-pager{display:flex;gap:7px;justify-content:center;margin-top:var(--lg)}
.h-pager a,.h-pager span{border:1px solid var(--hairline);background:var(--surface);padding:10px 15px;font-family:var(--font-mono);font-size:0.68rem;border-radius:var(--radius-control)}
.h-pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce-pagination ul{display:flex;gap:7px;justify-content:center;border:0;margin:var(--lg) 0 0}
.woocommerce-pagination li{border:0}
.woocommerce-pagination a,.woocommerce-pagination span{display:block;border:1px solid var(--hairline);background:var(--surface);padding:10px 15px;font-family:var(--font-mono);font-size:0.68rem;border-radius:var(--radius-control)}
.woocommerce-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ============================================================= 14. forms */
.h-form{display:grid;gap:var(--sm)}
.h-field label,.wpforms-field-label{display:block;font-family:var(--font-mono);font-weight:500;font-size:0.64rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.h-field input,.h-field select,.h-field textarea,
.wpforms-field input[type=text],.wpforms-field input[type=email],.wpforms-field input[type=tel],.wpforms-field textarea,.wpforms-field select{
  width:100%;border:1px solid var(--hairline);background:var(--surface);color:var(--ink);
  padding:12px 13px;border-radius:var(--radius-control);font-size:0.94rem;
}
.h-field input:focus,.h-field textarea:focus,.h-field select:focus{border-color:var(--ink);outline:2px solid var(--accent);outline-offset:0}
.wpforms-submit,.wp-block-button__link{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important;border-radius:var(--radius-control)!important;padding:14px 26px!important;font-family:var(--font-body)!important;font-weight:600!important;box-shadow:none!important}
.wpforms-submit:hover{background:var(--accent-dark)!important}

/* ========================================== 15. WooCommerce overrides */
.haneda .woocommerce-message,.haneda .woocommerce-info,.haneda .woocommerce-error{
  background:var(--surface);border:1px solid var(--hairline);border-left:3px solid var(--accent);
  padding:var(--sm) var(--md);margin:0 0 var(--md);border-radius:0;color:var(--ink);list-style:none
}
.haneda .woocommerce-message::before,.haneda .woocommerce-info::before,.haneda .woocommerce-error::before{display:none}
.haneda .woocommerce-message .button,.haneda .woocommerce-info .button{background:var(--ink);color:#fff;border-radius:var(--radius-control);box-shadow:none;float:right}
.haneda .woocommerce .button,.haneda .woocommerce button.button,.haneda .woocommerce input.button,.haneda .woocommerce a.button,
.haneda .woocommerce .button.alt,.haneda .woocommerce button.button.alt{
  background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius-control);
  padding:14px 26px;font-family:var(--font-body);font-weight:600;font-size:0.95rem;box-shadow:none;text-shadow:none;line-height:1.2
}
.haneda .woocommerce .button:hover,.haneda .woocommerce button.button:hover,.haneda .woocommerce a.button:hover,.haneda .woocommerce .button.alt:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.haneda .woocommerce table.shop_table{border:1px solid var(--hairline);border-radius:0;border-collapse:collapse;background:var(--surface)}
.haneda .woocommerce table.shop_table th,.haneda .woocommerce table.shop_table td{border-bottom:1px solid var(--hairline);padding:var(--sm)}
.haneda .woocommerce .quantity .qty{border:1px solid var(--hairline);border-radius:var(--radius-control);padding:11px 8px}
.haneda .woocommerce form .form-row input.input-text,.haneda .woocommerce form .form-row textarea,.haneda .woocommerce form .form-row select,.haneda .select2-container .select2-selection--single{
  border:1px solid var(--hairline);border-radius:var(--radius-control);padding:12px 13px;height:auto;background:var(--surface)
}
.haneda .woocommerce #respond input#submit,.haneda .woocommerce .cart .button,.haneda .woocommerce .cart input.button{box-shadow:none}
.haneda .woocommerce-cart .cart-collaterals,.haneda .woocommerce .cart_totals{background:var(--surface);border:1px solid var(--hairline);padding:var(--md)}
.haneda .woocommerce ul.order_details{background:var(--surface);border:1px solid var(--hairline);padding:var(--md);margin:0 0 var(--md)}
.haneda .woocommerce ul.order_details li{border:0;float:none;display:inline-block;margin-right:var(--md)}
.haneda .star-rating span::before,.haneda .star-rating::before{color:var(--accent)}
.haneda .woocommerce .product_meta{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--slate)}

/* ============================================================= 16. footer */
.h-foot{background:var(--ground);color:#B9C1C5;padding:var(--xl) 0 var(--lg);margin-top:0}
.h-foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:var(--lg)}
.h-foot h4{color:#fff;font-family:var(--font-mono);font-stretch:100%;font-weight:500;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--sm)}
.h-foot ul li{margin-bottom:9px;font-size:0.9rem}
.h-foot a:hover{color:#fff;border-bottom:1px solid var(--accent)}
.h-foot__name{font-family:var(--font-display);font-stretch:125%;font-weight:700;font-size:1.3rem;color:#fff;text-transform:uppercase;margin-bottom:var(--sm)}
.h-foot__addr{font-size:0.9rem;line-height:1.7}
.h-foot__bar{border-top:1px solid rgba(255,255,255,.14);margin-top:var(--lg);padding-top:var(--md);display:flex;justify-content:space-between;gap:var(--md);flex-wrap:wrap}
.h-foot__bar p{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.04em;text-transform:uppercase;color:#7E888D}

/* ========================================================= 17. responsive */
@media (max-width:1180px){
  .h-grid{grid-template-columns:repeat(3,1fr)}
  .h-foot__grid{grid-template-columns:1fr 1fr}
  .h-facts__grid{grid-template-columns:repeat(2,1fr)}
  .h-facts__item:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:880px){
  :root{--xl:56px;--lg:32px}
  .h-hero__grid,.h-pdp__grid,.h-pdp__detail,.h-split{grid-template-columns:1fr}
  .h-hero__text{padding:var(--lg) 0;max-width:none;order:2}
  .h-hero__media{order:1;min-height:300px;margin:0 calc(var(--gutter) * -1)}
  .h-split__media{min-height:260px}
  .h-grid,.h-cats{grid-template-columns:repeat(2,1fr)}
  .h-nav__list{display:none}
  .h-burger{display:block}
  .h-head__tools .h-search{display:none}
  .h-nav.is-open{position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--hairline);padding:var(--md) var(--gutter);display:block}
  .h-nav.is-open .h-nav__list{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%}
  .h-nav.is-open .h-nav__list li{width:100%;border-bottom:1px solid var(--hairline)}
  .h-nav.is-open .h-nav__list a{display:block;padding:13px 0;width:100%}
  .h-sect__head{flex-direction:column;align-items:flex-start}
  .h-pdp__detail .h-body{padding:var(--md)}
}
@media (max-width:560px){
  .h-grid,.h-cats{grid-template-columns:1fr}
  .h-facts__grid{grid-template-columns:1fr}
  .h-facts__item{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .h-facts__item:first-child{border-top:0}
  .h-foot__grid{grid-template-columns:1fr}
  .h-head__strip .h-wrap{min-height:0;padding-top:7px;padding-bottom:7px}
  .h-head__strip .h-spec:last-child{display:none}
}

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

@media print{
  .h-head,.h-foot,.h-pdp__actions{display:none}
}

/* ======================================= 18. inline grid collapses */
@media (max-width:880px){
  .h-cta-band{grid-template-columns:1fr!important;gap:24px!important}
  .h-page__grid{grid-template-columns:1fr!important;gap:32px!important}
  .h-pdp__thumbs{grid-template-columns:repeat(4,1fr)}
}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;clip:auto;padding:12px;background:#fff;color:var(--ink)}

/* ========================= 19. list-style hardening (beats Astra) */
.haneda .h-nav__list,.haneda .h-nav__list li,.haneda .h-foot ul,.haneda .h-foot ul li,.haneda .h-aside ul,.haneda .h-aside ul li,.haneda .h-filters,.haneda .h-pager,.haneda .woocommerce-message,.haneda .woocommerce-info,.haneda .woocommerce-error,.haneda .h-pdp__thumbs,.haneda .h-grid,.haneda .h-cats{list-style:none!important;margin-left:0;padding-left:0}
.haneda .h-nav__list li::before,.haneda .h-nav__list li::marker,.haneda .h-foot ul li::marker,.haneda .h-aside ul li::marker{content:none!important;display:none!important}
.haneda .main-navigation ul,.haneda nav ul{list-style:none!important}
.haneda .h-body ul{list-style:none!important;padding-left:0}
/* display face really is the expanded width axis */
.haneda h1,.haneda h2,.haneda h3,.haneda h4,.h-display,.h-logo__name,.h-facts__k,.h-tile__price,.h-pdp__price,.h-cat__name,.h-foot__name{font-variation-settings:'wdth' 118,'wght' 700}
.haneda .h-tile__name{font-variation-settings:'wdth' 100,'wght' 600}

/* ================================= 20. layout corrections */
.haneda .h-cat__name{display:block}
.haneda .h-cat__count{display:block}
.haneda .h-foot{border-top:1px solid rgba(255,255,255,.14)}
.haneda .h-sect__head{align-items:flex-end}
/* Astra's floating scroll-to-top is off-palette, and the design has no floating UI. */
.haneda #ast-scroll-top,.haneda .ast-scroll-to-top-right,.haneda #ast-scroll-top-wrapper{display:none!important}

/* ============================== 21. odd tile in the category grid */
.haneda .h-cats > :last-child:nth-child(3n+1){grid-column:span 3}
@media (max-width:880px){.haneda .h-cats > :last-child:nth-child(3n+1){grid-column:span 2}}
@media (max-width:560px){.haneda .h-cats > :last-child:nth-child(3n+1){grid-column:span 1}}

/* ==================================== 22. logo lockup */
.haneda .h-logo{flex-direction:row;align-items:center;gap:11px}
.haneda .h-logo__txt{display:flex;flex-direction:column;line-height:1}
.haneda .h-logo__mark{width:40px;height:40px;flex:0 0 auto;display:block}
@media (max-width:560px){.haneda .h-logo__mark{width:34px;height:34px}.haneda .h-logo__name{font-size:1.12rem}}

/* ============================= 23. nav one line */
.haneda .h-nav__list{gap:18px;flex-wrap:nowrap}
.haneda .h-nav__list li{white-space:nowrap}
.haneda .h-nav__list a{font-size:0.86rem;white-space:nowrap}
@media (max-width:1300px){.haneda .h-nav__list{gap:14px}.haneda .h-nav__list a{font-size:0.82rem}.haneda .h-search input[type=search]{width:150px}}
@media (max-width:1120px){.haneda .h-head__tools .h-search{display:none}}

/* ============================ 24. touch targets (WCAG 2.5.5 / 44px) */
.haneda .h-burger{min-width:46px;min-height:46px;display:none;align-items:center;justify-content:center;flex-direction:column;padding:0}
@media (max-width:880px){.haneda .h-burger{display:flex}}
.haneda .h-nav.is-open .h-nav__list a{min-height:46px;display:flex;align-items:center}
.haneda .h-faq__q{min-height:48px}
@media (max-width:880px){.haneda .h-tag{min-height:44px}.haneda .h-btn{min-height:46px}}

/* ============================================ 25. cart and checkout flow */
.h-flow{min-width:0}
.h-contactline{
  font-size:0.9rem;color:var(--slate);margin:0 0 var(--md);
  padding:14px 16px;border:1px solid var(--hairline);background:var(--surface);
}
.h-contactline a{border-bottom:1px solid var(--accent)}

/* ---- checkout: details left, order summary right ---- */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);
  column-gap:var(--lg);align-items:start;
}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1 / span 2;min-width:0}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 var(--sm);font-size:1.05rem}
.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:20px}
.woocommerce-checkout #customer_details .col2-set{display:block}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;float:none;max-width:none;padding:0}
.woocommerce-checkout #customer_details .col-2{margin-top:var(--md)}

/* ---- fields, matching the rest of the site ---- */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;grid-template-columns:1fr 1fr;column-gap:18px;
}
.woocommerce-checkout .form-row{display:block;margin:0 0 16px;padding:0;float:none;width:auto}
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes{grid-column:1 / -1}
.woocommerce-checkout .form-row label,
.woocommerce-cart .form-row label{
  display:block;font-family:var(--font-mono);font-weight:500;font-size:0.64rem;
  letter-spacing:0.05em;text-transform:uppercase;color:var(--slate);margin-bottom:6px;
}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart .input-text,
.woocommerce-cart select{
  width:100%;border:1px solid var(--hairline);background:var(--surface);color:var(--ink);
  padding:12px 13px;border-radius:var(--radius-control);font-size:0.94rem;
}
.woocommerce-checkout textarea{min-height:110px}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{outline:2px solid var(--accent);outline-offset:-2px}
.woocommerce-checkout .required{color:var(--accent);border:0;text-decoration:none}
.woocommerce-checkout .select2-container .select2-selection--single{
  height:auto;border:1px solid var(--hairline);background:var(--surface);border-radius:var(--radius-control);padding:6px 4px;
}

/* ---- order summary panel ---- */
.woocommerce-checkout #order_review{background:var(--surface);border:1px solid var(--hairline);padding:var(--md)}
.woocommerce-checkout #order_review table.shop_table{width:100%;border:0;margin:0;border-collapse:collapse}
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td{
  padding:12px 0;border-bottom:1px solid var(--hairline);font-size:0.92rem;text-align:left;vertical-align:top;
}
.woocommerce-checkout #order_review td{text-align:right}
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td{border-bottom:0;font-size:1.05rem;padding-top:16px}
.woocommerce-checkout #order_review ul#shipping_method{margin:0;padding:0;list-style:none;text-align:right}
.woocommerce-checkout #order_review ul#shipping_method li{padding:4px 0;font-size:0.88rem}
.woocommerce-checkout #payment{background:transparent;border-radius:0;margin-top:var(--sm)}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 var(--sm);list-style:none}
.woocommerce-checkout #payment ul.payment_methods li{padding:0 0 8px}
.woocommerce-checkout #payment div.form-row{padding:0;margin:0}
.woocommerce-checkout #payment .payment_box{
  background:var(--bg);border:1px solid var(--hairline);font-size:0.88rem;color:var(--slate);margin:10px 0 0;
}
.woocommerce-checkout #payment .payment_box::before{display:none}
.woocommerce-checkout #place_order{width:100%;margin-top:var(--sm)}

/* ---- login and coupon panels ---- */
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .checkout_coupon{
  border:1px solid var(--hairline);background:var(--surface);padding:var(--md);border-radius:0;margin-bottom:var(--md);
}

/* ---- cart: table left, totals right ---- */
.woocommerce-cart .h-flow .woocommerce{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);
  column-gap:var(--lg);align-items:start;
}
.woocommerce-cart .h-flow .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce-cart .h-flow form.woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .h-flow .cart-collaterals{grid-column:2;width:100%;float:none;margin:0}
.woocommerce-cart .h-flow .cart-collaterals .cart_totals{
  width:100%;float:none;background:var(--surface);border:1px solid var(--hairline);padding:var(--md);
}
.woocommerce-cart .h-flow .cart_totals table{width:100%;border-collapse:collapse}
.woocommerce-cart .h-flow .cart_totals th,
.woocommerce-cart .h-flow .cart_totals td{padding:12px 0;border-bottom:1px solid var(--hairline);font-size:0.92rem;text-align:left}
.woocommerce-cart .h-flow .cart_totals td{text-align:right}
.woocommerce-cart .h-flow .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center}

@media (max-width:980px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce-checkout form.checkout #order_review{position:static;margin-top:var(--md)}
  .woocommerce-cart .h-flow .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .h-flow form.woocommerce-cart-form,
  .woocommerce-cart .h-flow .cart-collaterals{grid-column:1}
  .woocommerce-cart .h-flow .cart-collaterals{margin-top:var(--md)}
}
@media (max-width:620px){
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .h-strip__em{display:none}
}
/* ======================== 25b. beat WooCommerce's own percentage widths */
.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout #order_review{width:100%;float:none;max-width:none}
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2{width:100%;float:none;max-width:none}
.woocommerce-checkout form.checkout .form-row,
.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last,
.woocommerce-checkout form.checkout .form-row-wide{width:auto;float:none;max-width:none}
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-checkout form.checkout .woocommerce-additional-fields .form-row{grid-column:1 / -1}
.woocommerce-checkout form.checkout .woocommerce-additional-fields__field-wrapper{display:block}

/* order summary: let the product name breathe */
.woocommerce-checkout #order_review table.shop_table th:first-child,
.woocommerce-checkout #order_review table.shop_table td:first-child{width:62%}
.woocommerce-checkout #order_review .product-name{text-align:left;line-height:1.45}
.woocommerce-checkout #order_review .product-quantity{white-space:nowrap}

.woocommerce-cart .h-flow form.woocommerce-cart-form,
.woocommerce-cart .h-flow .cart-collaterals,
.woocommerce-cart .h-flow .cart-collaterals .cart_totals{width:100%;float:none;max-width:none}
.woocommerce-cart .h-flow table.shop_table{width:100%}
/* ====== 25c. parent theme WooCommerce CSS loads later, so force the layout */
.woocommerce-checkout form.checkout > #customer_details,
.woocommerce-checkout form.checkout > #order_review{float:none !important;width:100% !important;max-width:none !important}
.woocommerce-checkout form.checkout #customer_details > .col-1,
.woocommerce-checkout form.checkout #customer_details > .col-2{float:none !important;width:100% !important;max-width:none !important;padding:0 !important}
.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last,
.woocommerce-checkout form.checkout .form-row-wide{float:none !important;width:auto !important}
.woocommerce-cart .h-flow form.woocommerce-cart-form,
.woocommerce-cart .h-flow .cart-collaterals,
.woocommerce-cart .h-flow .cart-collaterals .cart_totals{float:none !important;width:100% !important;max-width:none !important}