/*
Theme Name: Wren & Ash
Theme URI: https://wrenandash.example/
Author: Wren & Ash Studio
Author URI: https://wrenandash.example/
Description: A considered block theme for collected living. Built for WordPress 6.6+, PHP 8.2+ and WooCommerce 9+.
Version: 1.1.3
Requires at least: 6.6
Tested up to: 6.7
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wren-ash
Tags: block-theme, e-commerce, full-site-editing, custom-colors, custom-menu, featured-images, translation-ready
WC requires at least: 9.0
WC tested up to: 9.9
*/

/* -------------------------------------------------------------------------
   1. Self-hosted fonts (OFL, latin subset — no external CDN)
   ------------------------------------------------------------------------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 500;font-display:swap;src:url(assets/fonts/cormorant-garamond-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 500;font-display:swap;src:url(assets/fonts/cormorant-garamond-italic.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 500;font-display:swap;src:url(assets/fonts/jost-normal.woff2) format('woff2')}

/* -------------------------------------------------------------------------
   2. Design tokens
   ------------------------------------------------------------------------- */
:root{
  --wa-paper:#FBF8F2;
  --wa-cream:#F7F3EA;
  --wa-sand:#EBE0CE;
  --wa-sand-2:#DFD0B8;
  --wa-ink:#2A2721;
  --wa-ink-soft:#5B564B;
  --wa-clay:#A9765A;
  --wa-sage:#8A9182;
  --wa-line:rgba(42,39,33,.14);
  --wa-line-soft:rgba(42,39,33,.08);
  --wa-serif:'Cormorant Garamond','Iowan Old Style',Georgia,'Times New Roman',serif;
  --wa-sans:'Jost','Helvetica Neue',Helvetica,Arial,sans-serif;
  --wa-pad:clamp(20px,5vw,72px);
  --wa-max:1520px;
  --wa-radius-sm:2px;
  --wa-radius-md:6px;
  --wa-radius-lg:14px;
  --wa-ease:cubic-bezier(.2,.7,.2,1);
  --wa-shadow-soft:0 18px 60px rgba(42,39,33,.10);
}

/* -------------------------------------------------------------------------
   3. Base / WordPress reset
   ------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--wa-paper);
  color:var(--wa-ink);
  font-family:var(--wa-sans);
  font-weight:300;
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.wa-cart-open{overflow:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
h1,h2,h3,h4,h5,h6{
  font-family:var(--wa-serif);
  font-weight:300;
  margin:0;
  letter-spacing:.01em;
  color:var(--wa-ink);
}
h1{font-size:clamp(38px,5.4vw,74px);line-height:1.04}
h2{font-size:clamp(28px,3.2vw,44px);line-height:1.14}
h3{font-size:20px;line-height:1.3}
h4{font-size:16px;line-height:1.35}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1em;padding-left:1.25em}
.wp-site-blocks{margin:0}
.wp-block-group{margin-block-start:0;margin-block-end:0}
.wp-block-image{margin:0}
.wp-block-image img{width:100%}
.wp-block-post-title{margin:0}
.wp-block-post-content>*:first-child{margin-top:0}

/* WordPress utility classes */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
  background-color:var(--wa-paper);border-radius:0;box-shadow:0 0 2px 2px rgba(0,0,0,.6);
  clip:auto!important;clip-path:none;color:var(--wa-ink);display:block;font-size:.875rem;font-weight:700;
  height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000;
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--wa-ink);color:var(--wa-paper);padding:12px 18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.skip-link:focus{left:12px;top:12px}

/* Focus */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--wa-clay);
  outline-offset:3px;
}

/* -------------------------------------------------------------------------
   4. Shared typography helpers
   ------------------------------------------------------------------------- */
.wa-eyebrow,.wp-block-group.wa-eyebrow p,.wa-eyebrow p{
  font-family:var(--wa-sans);
  font-size:10.5px;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-weight:400;
  color:var(--wa-ink-soft);
  margin:0 0 18px;
}
.wa-link-u,.wa-link-u a,.wp-block-group.wa-link-u a{
  display:inline-block;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  border-bottom:1px solid currentColor;
  padding-bottom:5px;
  transition:opacity .3s;
  color:inherit;
}
.wa-link-u:hover,.wa-link-u a:hover{opacity:.55}
.wa-btn,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .cart .button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--wa-ink);color:var(--wa-cream);border:1px solid var(--wa-ink);
  padding:15px 34px;font-family:var(--wa-sans);font-size:11px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;line-height:1.2;border-radius:0;cursor:pointer;
  transition:background .35s,color .35s,border-color .35s;text-decoration:none;
}
.wa-btn:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce .cart .button:hover{
  background:transparent;color:var(--wa-ink);border-color:var(--wa-ink);text-decoration:none;
}
.wa-btn--ghost{background:transparent;color:var(--wa-ink)}
.wa-btn--ghost:hover{background:var(--wa-ink);color:var(--wa-cream)}
.wa-btn--light{background:var(--wa-paper);border-color:var(--wa-paper);color:var(--wa-ink)}
.wa-btn--light:hover{background:transparent;color:var(--wa-paper);border-color:var(--wa-paper)}
.wa-btn[disabled],.woocommerce button.button:disabled{opacity:.45;cursor:not-allowed}

/* -------------------------------------------------------------------------
   5. Header
   ------------------------------------------------------------------------- */
.wa-header{position:relative;z-index:60}
.admin-bar .wa-header{top:0}
.wa-ann{background:var(--wa-ink);color:#EFE9DC;text-align:center;padding:9px 12px}
.wa-ann p{margin:0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:300;color:#EFE9DC}
.wa-hdr{
  position:sticky;top:0;z-index:60;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  padding:22px var(--wa-pad);
  background:rgba(251,248,242,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--wa-line-soft);
  transition:padding .4s var(--wa-ease);
}
.admin-bar .wa-hdr{top:32px}
.wa-hdr.is-small{padding-top:12px;padding-bottom:12px}
.wa-hdr__nav{min-width:0}
.wa-hdr__nav .wp-block-navigation{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.wa-hdr__nav .wp-block-navigation__container{gap:26px}
.wa-hdr__nav .wp-block-navigation-item__content{padding:4px 0;position:relative}
.wa-hdr__nav .wp-block-navigation-item__content::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--wa-ink);transition:width .35s;
}
.wa-hdr__nav .wp-block-navigation-item__content:hover::after{width:100%}
.wa-hdr__nav .wp-block-navigation__responsive-container-open,
.wa-hdr__nav .wp-block-navigation__responsive-container-close{color:var(--wa-ink);padding:4px}
.wa-hdr__nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--wa-paper);color:var(--wa-ink);padding:var(--wa-pad)}
.wa-hdr__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  font-family:var(--wa-serif);font-size:clamp(26px,6vw,38px);letter-spacing:.02em;text-transform:none;
  border-bottom:1px solid var(--wa-line-soft);padding:14px 0;display:block;
}
.wa-brand{text-align:center;justify-self:center;line-height:1}
.wa-logo,.wa-logo a,.wp-block-site-title.wa-logo{
  display:block;font-family:var(--wa-serif);font-size:26px;letter-spacing:.16em;text-transform:uppercase;
  text-align:center;line-height:1;color:var(--wa-ink);text-decoration:none;
}
.wa-logo em{font-style:italic;letter-spacing:0;padding:0 2px}
.wa-logo-sub,.wa-brand .wp-block-paragraph{margin:7px 0 0;font-family:var(--wa-sans);font-size:8.5px;letter-spacing:.42em;color:var(--wa-ink-soft);text-transform:uppercase;text-align:center}
.wa-tools{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;min-width:0}
.wa-tools p{margin:0}
.wa-tool-link a{position:relative;padding:4px 0}
.wa-tool-link a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--wa-ink);transition:width .35s}
.wa-tool-link a:hover::after{width:100%}
.wa-cart-btn{
  display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;cursor:pointer;
  font:inherit;color:inherit;letter-spacing:.12em;text-transform:uppercase;line-height:1;
}
.wa-cart-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.2}
.wa-cart-btn b{font-weight:400}
.wa-cart-btn:hover{opacity:.6}

/* -------------------------------------------------------------------------
   6. Hero + editorial sections
   ------------------------------------------------------------------------- */
.wa-hero{position:relative;overflow:hidden;background:var(--wa-sand)}
.wa-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(24,21,16,.72),rgba(24,21,16,.28) 42%,rgba(24,21,16,.04) 72%)!important;opacity:1!important}
.wa-hero .wp-block-cover__image-background{object-fit:cover;object-position:50% 44%}
.wa-hero .wp-block-cover__inner-container{
  max-width:var(--wa-max);margin:0 auto;width:100%;
  padding:0 var(--wa-pad) clamp(40px,8vh,96px);display:flex;align-items:flex-end;
}
.wa-hero__txt{max-width:660px;color:var(--wa-paper);text-shadow:0 1px 24px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.35)}
.wa-hero__txt .wa-eyebrow,.wa-hero__txt .wa-eyebrow p{color:rgba(251,248,242,.88);margin-bottom:18px}
.wa-hero__txt h1,.wa-hero__txt .wp-block-heading{color:var(--wa-paper);margin:0 0 22px}
.wa-hero__txt p{max-width:440px;color:rgba(255,255,255,.95);font-size:14.5px;margin:0 0 20px}
.wa-hero__txt .wa-link-u{color:#fff;border-color:rgba(255,255,255,.9);margin-top:4px}

.wa-intro{padding:clamp(64px,9vw,130px) var(--wa-pad);text-align:center}
.wa-intro .wa-eyebrow{margin-bottom:24px}
.wa-intro h2,.wa-intro .wp-block-heading{max-width:900px;margin:0 auto 22px}
.wa-intro p{max-width:560px;margin:0 auto;color:var(--wa-ink-soft)}

.wa-sec{padding:clamp(50px,7vw,96px) var(--wa-pad)}
.wa-sec--flush-top{padding-top:0}
.wa-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px}
.wa-sec-head h2,.wa-sec-head .wp-block-heading{font-size:clamp(26px,2.6vw,36px);margin:0}
.wa-sec-head .wa-link-u{margin-bottom:6px}

.wa-rooms{gap:14px}
.wa-room{overflow:hidden;background:var(--wa-sand);position:relative}
.wa-room .wp-block-cover__image-background{object-fit:cover;transition:transform 1.1s var(--wa-ease)}
.wa-room:hover .wp-block-cover__image-background{transform:scale(1.045)}
.wa-room .wp-block-cover__background{background:linear-gradient(180deg,transparent 42%,rgba(30,27,22,.55))!important;opacity:1!important}
.wa-room .wp-block-cover__inner-container{display:flex;align-items:flex-end;justify-content:center;padding-bottom:26px!important}
.wa-room__label,.wa-room__label a{color:var(--wa-paper);font-size:12px;letter-spacing:.22em;text-transform:uppercase;text-align:center;text-shadow:0 1px 14px rgba(0,0,0,.35);margin:0}
.wa-room__label a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .3s}
.wa-room__label a:hover{border-color:var(--wa-paper)}

.wa-look{display:grid!important;grid-template-columns:1.15fr .85fr;align-items:stretch;background:var(--wa-cream);padding:0;overflow:hidden}
.wa-look__img{min-height:min(72vh,680px);position:relative;overflow:hidden}
.wa-look__img img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.wa-look__card{padding:clamp(30px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.wa-look__card h2{font-size:clamp(24px,2.4vw,32px);margin:8px 0 22px}
.wa-look__list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.wa-look__item{display:flex;align-items:center;gap:12px;border-top:1px solid var(--wa-line-soft);padding-top:12px}
.wa-look__thumb{width:52px;height:64px;flex:none;background:var(--wa-sand);overflow:hidden}
.wa-look__thumb img{width:100%;height:100%;object-fit:cover}
.wa-look__item span{flex:1;font-family:var(--wa-serif);font-size:16px;line-height:1.25}
.wa-look__item b{font-weight:400;font-size:12px;color:var(--wa-ink-soft);white-space:nowrap}
.wa-look__item:hover span{color:var(--wa-clay)}

.wa-founder{display:grid!important;grid-template-columns:1.15fr .85fr;align-items:stretch;background:var(--wa-cream);padding:0;overflow:hidden}
.wa-founder__img{min-height:520px;overflow:hidden}
.wa-founder__img img{width:100%;height:100%;object-fit:cover}
.wa-founder__txt{padding:clamp(36px,5vw,84px);display:flex;flex-direction:column;justify-content:center}
.wa-founder__txt h2{max-width:420px;margin:0 0 18px}
.wa-founder__txt p{color:var(--wa-ink-soft);max-width:400px}
.wa-founder__quote{font-family:var(--wa-serif);font-style:italic;font-size:23px;line-height:1.5;color:var(--wa-ink);margin:10px 0}
.wa-founder__sig{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--wa-ink-soft);margin:0 0 18px}

.wa-news{background:var(--wa-sand);padding:clamp(56px,7vw,100px) var(--wa-pad);text-align:center}
.wa-news h2{margin-bottom:12px}
.wa-news p{color:var(--wa-ink-soft);max-width:460px;margin:0 auto 28px}
.wa-news .wa-eyebrow{margin-bottom:18px}
.wa-news__fine{font-size:10.5px;color:var(--wa-ink-soft);margin-top:16px;letter-spacing:.04em}
.wa-newsletter{display:flex;max-width:460px;margin:0 auto;border-bottom:1px solid var(--wa-ink);padding-bottom:10px;gap:12px}
.wa-newsletter input[type=email]{flex:1;border:0;background:none;font-family:var(--wa-sans);font-size:13px;letter-spacing:.06em;outline:none;color:var(--wa-ink);padding:4px 0;min-width:0}
.wa-newsletter input::placeholder{color:rgba(42,39,33,.45)}
.wa-newsletter button{background:none;border:0;font-family:var(--wa-sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:0;color:var(--wa-ink)}
.wa-newsletter button:hover{opacity:.55}

/* -------------------------------------------------------------------------
   7. Product cards + grids
   ------------------------------------------------------------------------- */
.wa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 16px;list-style:none;margin:0;padding:0}
.wa-card{position:relative;min-width:0}
.wa-card__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#F1ECE2}
.wa-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--wa-ease)}
.wa-card:hover .wa-card__media img{transform:scale(1.045)}
.wa-card__badge{position:absolute;top:14px;left:14px;z-index:3;background:rgba(251,248,242,.92);padding:5px 10px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--wa-ink)}
.wa-quick-add{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:3;
  background:rgba(251,248,242,.95);border:0;padding:12px;text-align:center;
  font-family:var(--wa-sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--wa-ink);cursor:pointer;opacity:0;transform:translateY(8px);transition:.35s;
}
.wa-card:hover .wa-quick-add,.wa-card:focus-within .wa-quick-add{opacity:1;transform:none}
.wa-quick-add:hover{background:var(--wa-ink);color:var(--wa-cream)}
.wa-card__meta{padding-top:14px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.wa-card__meta h3,.wa-card__meta .woocommerce-loop-product__title{font-family:var(--wa-serif);font-size:17px;font-weight:300;letter-spacing:.01em;margin:0;line-height:1.25}
.wa-card__meta h3 a{text-decoration:none}
.wa-card__price,.wa-card__meta .price{font-size:12.5px;color:var(--wa-ink-soft);letter-spacing:.04em;white-space:nowrap}
.wa-card__price del,.wa-card__meta .price del{opacity:.55;margin-right:4px}
.wa-card__price ins,.wa-card__meta .price ins{text-decoration:none}
.wa-card__sub{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--wa-ink-soft);margin-top:3px}
.wa-card__oos{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--wa-clay);margin-top:4px}

/* -------------------------------------------------------------------------
   8. Journal + post content
   ------------------------------------------------------------------------- */
.wa-journal .wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;margin:0;padding:0}
.wa-journal .wp-block-post-template>li{min-width:0}
.wa-post-media{overflow:hidden;margin-bottom:16px;background:var(--wa-sand)}
.wa-post-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.1s var(--wa-ease)}
.wa-journal .wp-block-post-template>li:hover .wa-post-media img{transform:scale(1.045)}
.wa-post-cat,.wa-journal .wp-block-post-terms{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--wa-ink-soft);display:block;margin:0 0 8px}
.wa-journal .wp-block-post-title{font-size:21px;line-height:1.3;margin:0 0 8px}
.wa-journal .wp-block-post-excerpt{margin:0}
.wa-journal .wp-block-post-excerpt p{font-size:13.5px;color:var(--wa-ink-soft);margin:0}
.wa-entry{max-width:820px;margin:0 auto;padding:clamp(40px,7vw,96px) var(--wa-pad)}
.wa-entry__head{text-align:center;margin-bottom:clamp(28px,5vw,56px)}
.wa-entry__meta{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--wa-ink-soft);margin-top:14px}
.wa-entry__media{margin:0 auto clamp(28px,5vw,56px);max-width:1200px}
.wa-entry__media img{width:100%}
.wa-entry .wp-block-post-content{font-size:16px;line-height:1.8}
.wa-entry .wp-block-post-content h2{margin:2em 0 .6em}
.wa-entry .wp-block-post-content img{margin:2em 0}
.wa-entry .wp-block-post-content blockquote{border-left:1px solid var(--wa-line);margin:2em 0;padding-left:1.4em;font-family:var(--wa-serif);font-size:24px;font-style:italic}

/* -------------------------------------------------------------------------
   9. Shop page
   ------------------------------------------------------------------------- */
.wa-page-hero{padding:clamp(48px,7vw,96px) var(--wa-pad) 34px;text-align:center;background:var(--wa-cream)}
.wa-page-hero h1{font-size:clamp(32px,3.6vw,52px);margin:0}
.wa-page-hero p{color:var(--wa-ink-soft);margin:14px auto 0;max-width:520px}
.wa-page-hero .wa-eyebrow{margin-bottom:14px}
.wa-shop{padding:0 var(--wa-pad) clamp(56px,7vw,96px)}
.wa-shop__note{font-size:12.5px;color:var(--wa-ink-soft);margin:26px 0 18px;max-width:560px}
.wa-filters{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--wa-line);margin-bottom:32px;flex-wrap:wrap}
.wa-filter-group{display:flex;gap:22px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;flex-wrap:wrap}
.wa-filter{background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;color:var(--wa-ink-soft);padding:6px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.wa-filter:hover{color:var(--wa-ink)}
.wa-filter.is-active{color:var(--wa-ink);border-color:var(--wa-ink)}
.wa-sortwrap{display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--wa-ink-soft)}
.wa-sortwrap select{border:0;background:transparent;font-family:var(--wa-sans);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--wa-ink);padding:6px 2px;cursor:pointer;max-width:190px}
.wa-sortwrap form.woocommerce-ordering{display:flex;align-items:center;gap:10px;margin:0;float:none;width:auto}
.wa-sortwrap form.woocommerce-ordering label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--wa-ink-soft);margin:0}
.wa-sortwrap form.woocommerce-ordering select{max-width:210px}
.wa-count{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--wa-ink-soft);white-space:nowrap}
.wa-shop__gridwrap{position:relative;min-height:240px;transition:opacity .25s}
.wa-shop__gridwrap.is-loading{opacity:.45;pointer-events:none}
.wa-shop__empty{padding:60px 0;text-align:center;color:var(--wa-ink-soft)}
.wa-pagination{display:flex;justify-content:center;margin-top:48px}
.wa-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 8px;font-size:11px;letter-spacing:.1em;color:var(--wa-ink-soft);border:1px solid transparent}
.wa-pagination .page-numbers.current{border-color:var(--wa-ink);color:var(--wa-ink)}
.wa-pagination .page-numbers:hover{color:var(--wa-ink)}

/* -------------------------------------------------------------------------
   10. Product detail
   ------------------------------------------------------------------------- */
.wa-pdp{padding:clamp(24px,4vw,44px) var(--wa-pad) clamp(56px,7vw,96px)}
.wa-crumb{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--wa-ink-soft);padding:22px 0}
.wa-crumb a:hover{color:var(--wa-ink)}
.wa-crumb span{color:var(--wa-ink)}
.wa-pdp__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.wa-gal{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start;min-width:0}
.wa-gal__thumbs{display:flex;flex-direction:column;gap:10px}
.wa-thumb{background:none;border:0;padding:0;cursor:pointer;display:block}
.wa-thumb span{display:block;aspect-ratio:1;overflow:hidden;background:#F1ECE2;opacity:.6;border:1px solid transparent;transition:.3s}
.wa-thumb img{width:100%;height:100%;object-fit:cover}
.wa-thumb:hover span,.wa-thumb.is-active span{opacity:1;border-color:var(--wa-line)}
.wa-gal__main{position:relative;aspect-ratio:4/5;overflow:hidden;background:#F1ECE2}
.wa-gal__main img{width:100%;height:100%;object-fit:cover}
.wa-info{position:sticky;top:110px;align-self:start;min-width:0}
.admin-bar .wa-info{top:142px}
.wa-info .wa-eyebrow{display:block;margin-bottom:12px}
.wa-info h1{font-size:clamp(30px,3vw,42px);margin:0 0 10px}
.wa-info__price{font-size:16px;letter-spacing:.06em;color:var(--wa-ink-soft);margin:0 0 24px}
.wa-info__price del{opacity:.55;margin-right:6px}
.wa-info__price ins{text-decoration:none}
.wa-info__desc{color:var(--wa-ink-soft);font-size:14px;margin:0 0 20px;max-width:440px}
.wa-info__desc p:last-child{margin-bottom:0}
.wa-info .woocommerce-product-details__short-description{color:var(--wa-ink-soft);font-size:14px;margin:0 0 22px;max-width:440px}
.wa-info form.cart{margin:0 0 20px}
.wa-info .variations{margin:0 0 18px}
.wa-info .variations th,.wa-info .variations td{padding:0 0 12px;vertical-align:middle;text-align:left}
.wa-info .variations .label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--wa-ink);font-weight:400;padding-right:18px}
.wa-info .variations select{
  width:100%;max-width:280px;border:1px solid var(--wa-line);background:transparent;color:var(--wa-ink);
  font-family:var(--wa-sans);font-size:12px;letter-spacing:.08em;padding:11px 34px 11px 12px;border-radius:0;
  appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--wa-ink) 50%),linear-gradient(135deg,var(--wa-ink) 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.wa-info .woocommerce-variation-price{margin:0 0 16px;font-size:14px;color:var(--wa-ink-soft)}
.wa-info .woocommerce-variation-availability{font-size:12px;color:var(--wa-ink-soft)}
.wa-info .quantity{display:inline-flex;border:1px solid var(--wa-line);align-items:center;margin:0 12px 18px 0;vertical-align:middle;flex:0 0 auto}
.wa-info .quantity input.qty{width:38px;height:42px;text-align:center;border:0;background:none;font-family:var(--wa-sans);font-size:13px;color:var(--wa-ink);-moz-appearance:textfield;padding:0}
.wa-info .quantity input.qty::-webkit-outer-spin-button,.wa-info .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.wa-qty-btn{background:none;border:0;width:38px;height:42px;font-size:16px;line-height:1;cursor:pointer;color:var(--wa-ink);padding:0}
.wa-qty-btn:hover{background:var(--wa-line-soft)}
.wa-info .single_add_to_cart_button{flex:1;min-height:44px}
.wa-info .cart{display:flex;flex-wrap:wrap;align-items:center}
.wa-info .cart .quantity{margin-bottom:0}
.wa-info .cart .single_add_to_cart_button{margin-bottom:0}
.wa-info .stock.in-stock,.wa-info .stock.out-of-stock{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wa-ink-soft);margin:0 0 12px}
.wa-shipnote{font-size:12px;color:var(--wa-ink-soft);margin:0 0 4px}
.wa-acc{border-top:1px solid var(--wa-line);margin-top:26px}
.wa-acc details{border-bottom:1px solid var(--wa-line)}
.wa-acc summary{list-style:none;cursor:pointer;padding:17px 0;display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.wa-acc summary::-webkit-details-marker{display:none}
.wa-acc summary span:last-child{transition:transform .3s}
.wa-acc details[open] summary span:last-child{transform:rotate(45deg)}
.wa-acc .wa-acc__body{font-size:13px;color:var(--wa-ink-soft);padding:0 0 18px;max-width:460px}
.wa-acc .wa-acc__body p:last-child{margin-bottom:0}
.wa-trust{display:flex;gap:26px;margin-top:24px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--wa-ink-soft);flex-wrap:wrap}
.wa-related{padding-top:0}
.wa-related .wa-sec-head{margin-bottom:28px}

/* -------------------------------------------------------------------------
   11. Cart drawer + toast
   ------------------------------------------------------------------------- */
.wa-scrim{position:fixed;inset:0;background:rgba(30,27,22,.42);opacity:0;pointer-events:none;transition:opacity .4s;z-index:90}
.wa-scrim.is-open{opacity:1;pointer-events:auto}
.wa-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);background:var(--wa-paper);z-index:95;
  transform:translateX(102%);transition:transform .5s var(--wa-ease);display:flex;flex-direction:column;
  box-shadow:var(--wa-shadow-soft);
}
.wa-drawer.is-open{transform:none}
.wa-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--wa-line-soft)}
.wa-drawer__head h3{font-size:19px;margin:0}
.wa-drawer__close{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--wa-ink);padding:4px}
.wa-drawer__body{padding:24px;flex:1;overflow:auto;overscroll-behavior:contain}
.wa-drawer__foot{padding:24px;border-top:1px solid var(--wa-line-soft);background:var(--wa-paper)}
.wa-drawer__tot{display:flex;justify-content:space-between;margin-bottom:18px;font-size:13px;letter-spacing:.06em}
.wa-drawer__foot .wa-btn{width:100%}
.wa-drawer__note{font-size:11px;color:var(--wa-ink-soft);text-align:center;margin:12px 0 0}
.wa-ci{display:flex;gap:14px;margin-bottom:22px}
.wa-ci__media{width:78px;height:96px;flex:none;background:#F1ECE2;overflow:hidden}
.wa-ci__media img{width:100%;height:100%;object-fit:cover}
.wa-ci__txt{flex:1;min-width:0}
.wa-ci__name{font-family:var(--wa-serif);font-size:16px;font-weight:400;margin:0 0 3px;line-height:1.25;display:block}
.wa-ci__meta{font-size:12px;color:var(--wa-ink-soft);margin:0 0 8px}
.wa-ci__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 6px}
.wa-qty{display:inline-flex;align-items:center;border:1px solid var(--wa-line)}
.wa-qty button{background:none;border:0;width:26px;height:26px;cursor:pointer;font-size:13px;color:var(--wa-ink);padding:0}
.wa-qty button:hover{background:var(--wa-line-soft)}
.wa-qty span{width:24px;text-align:center;font-size:11px;color:var(--wa-ink)}
.wa-ci__price{font-size:12px;color:var(--wa-ink-soft);white-space:nowrap}
.wa-ci__remove{background:none;border:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--wa-ink-soft);padding:0;cursor:pointer;text-decoration:underline;font-family:var(--wa-sans)}
.wa-ci__remove:hover{color:var(--wa-ink)}
.wa-cart-empty{padding:36px 0;text-align:center;color:var(--wa-ink-soft)}
.wa-cart-empty p{margin-bottom:14px}
.wa-toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--wa-ink);color:var(--wa-cream);
  padding:13px 26px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:0;pointer-events:none;
  transition:.4s;z-index:120;max-width:calc(100vw - 40px);text-align:center;
}
.wa-toast.is-open{opacity:1;transform:translate(-50%,0)}

/* -------------------------------------------------------------------------
   12. Footer
   ------------------------------------------------------------------------- */
.wa-footer{background:var(--wa-paper);border-top:1px solid var(--wa-line);padding:clamp(48px,6vw,80px) var(--wa-pad) 32px}
.wa-footer__cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding-bottom:52px}
.wa-footer h4,.wa-footer .wp-block-heading{font-family:var(--wa-sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;font-weight:400}
.wa-footer ul{list-style:none;margin:0;padding:0;font-size:13px;color:var(--wa-ink-soft)}
.wa-footer li{margin-bottom:10px}
.wa-footer a:hover{color:var(--wa-ink)}
.wa-footer__logo{font-family:var(--wa-serif);font-size:22px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;color:var(--wa-ink)}
.wa-footer__note{font-size:13px;color:var(--wa-ink-soft);max-width:280px;margin:0}
.wa-footer__bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--wa-line-soft);padding-top:24px;font-size:10.5px;letter-spacing:.1em;color:var(--wa-ink-soft);text-transform:uppercase;flex-wrap:wrap}
.wa-footer__bottom p{margin:0}

/* -------------------------------------------------------------------------
   13. WooCommerce: cart, checkout, account, notices
   ------------------------------------------------------------------------- */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{
  border-top:1px solid var(--wa-ink);background:var(--wa-cream);color:var(--wa-ink);
  padding:16px 20px;font-size:13px;margin:0 0 24px;list-style:none;
}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-error::before{color:var(--wa-ink)}
.woocommerce .woocommerce-error{border-top-color:var(--wa-clay)}
.woocommerce table.shop_table{border:1px solid var(--wa-line);border-radius:0;border-collapse:collapse;background:transparent}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--wa-line);padding:14px 12px;font-size:13px}
.woocommerce table.shop_table th{font-family:var(--wa-sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--wa-ink-soft)}
.woocommerce table.shop_table img{width:64px;height:auto}
.woocommerce a.remove{color:var(--wa-ink-soft)!important;font-size:18px;width:24px;height:24px;line-height:22px;border-radius:0}
.woocommerce a.remove:hover{background:var(--wa-ink);color:var(--wa-paper)!important}
.woocommerce .cart .quantity .qty,.woocommerce .quantity .qty{
  width:64px;height:42px;border:1px solid var(--wa-line);background:transparent;color:var(--wa-ink);
  font-family:var(--wa-sans);font-size:13px;text-align:center;border-radius:0;padding:0 6px;
}
.woocommerce .cart_totals h2,.woocommerce .cross-sells h2{font-size:24px;margin:0 0 18px}
.woocommerce .cart_totals table.shop_table{border:0}
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{border:0;padding:8px 0}
.woocommerce .wc-proceed-to-checkout{padding:16px 0 0}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;padding:16px 24px;font-size:11px;letter-spacing:.2em}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid var(--wa-line);border-radius:0;padding:22px}
.woocommerce form .form-row label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--wa-ink-soft);margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection--single{
  border:1px solid var(--wa-line);background:rgba(255,255,255,.35);color:var(--wa-ink);border-radius:0;
  font-family:var(--wa-sans);font-size:14px;padding:12px 14px;height:auto;line-height:1.5;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{
  border-color:var(--wa-ink);outline:none;box-shadow:none;
}
.woocommerce form .form-row-wide,.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
.woocommerce-checkout #customer_details{margin-bottom:32px}
.woocommerce-checkout h3{font-size:24px;margin:0 0 16px}
.woocommerce-checkout #order_review_heading{margin-top:24px}
.woocommerce-checkout #order_review{background:var(--wa-cream);padding:24px;border:1px solid var(--wa-line)}
.woocommerce-checkout #order_review table.shop_table{border:0;background:transparent}
.woocommerce-checkout #order_review table.shop_table th,.woocommerce-checkout #order_review table.shop_table td{border-color:var(--wa-line-soft)}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--wa-line);padding:0 0 16px}
.woocommerce-checkout #payment div.payment_box{background:var(--wa-sand);color:var(--wa-ink-soft);font-size:13px;border-radius:0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #place_order{width:100%;padding:16px;font-size:11px;letter-spacing:.2em}
.woocommerce .woocommerce-order{max-width:820px;margin:0 auto}
.woocommerce .woocommerce-order-overview{list-style:none;padding:0;display:flex;gap:20px;flex-wrap:wrap;margin:0 0 32px}
.woocommerce .woocommerce-order-overview li{border-top:1px solid var(--wa-line);padding:10px 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--wa-ink-soft);flex:1 1 140px}
.woocommerce .woocommerce-order-overview li strong{display:block;font-size:15px;letter-spacing:.04em;color:var(--wa-ink);text-transform:none;margin-top:4px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 24px}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--wa-line-soft)}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:10px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wa-ink-soft)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--wa-ink)}
.woocommerce .star-rating span::before{color:var(--wa-clay)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;margin:32px 0 0;padding:0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:38px;height:38px;line-height:38px;padding:0 8px;font-size:11px;color:var(--wa-ink-soft);border:1px solid transparent}
.woocommerce nav.woocommerce-pagination ul li span.current{border-color:var(--wa-ink);color:var(--wa-ink);background:transparent}
.woocommerce .woocommerce-breadcrumb{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--wa-ink-soft);margin:0 0 24px}
.woocommerce .woocommerce-breadcrumb a{color:inherit}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--wa-serif);font-size:17px;font-weight:300}
.woocommerce ul.products li.product .price{font-size:12.5px;color:var(--wa-ink-soft)}
.woocommerce span.onsale{background:var(--wa-paper);color:var(--wa-ink);border-radius:0;min-height:0;min-width:0;padding:5px 10px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;top:14px;left:14px}
.woocommerce .quantity .qty{max-width:100%}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--wa-ink);color:var(--wa-cream)}
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:transparent;color:var(--wa-ink)}

/* Checkout block */
.wc-block-checkout{font-family:var(--wa-sans);color:var(--wa-ink)}
.wc-block-checkout .wc-block-components-title{font-family:var(--wa-serif);font-weight:300}
.wc-block-checkout .wc-block-components-text-input input,.wc-block-checkout .wc-block-components-select__native{border:1px solid var(--wa-line);background:rgba(255,255,255,.35);border-radius:0;font-family:var(--wa-sans);font-size:14px;padding:12px 14px;height:auto}
.wc-block-checkout .wc-block-components-button{background:var(--wa-ink);color:var(--wa-cream);border-radius:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:16px 24px}
.wc-block-checkout .wc-block-components-button:hover{background:transparent;color:var(--wa-ink);border:1px solid var(--wa-ink)}
.wc-block-checkout .wc-block-components-order-summary,.wc-block-checkout .wc-block-components-sidebar-layout{background:var(--wa-cream)}

/* -------------------------------------------------------------------------
   13b. Layout helpers for templates and patterns
   ------------------------------------------------------------------------- */
.wa-footer__inner{max-width:var(--wa-max);margin:0 auto}
.wa-footer .wa-footer__cols{display:grid!important;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding-bottom:52px}
.wa-page{padding:clamp(40px,7vw,80px) var(--wa-pad)}
.wa-page-title{text-align:center;margin:0 0 28px}
.wa-page-media{margin:0 auto 32px;max-width:900px}
.wa-page .wp-block-post-content{font-size:16px;line-height:1.8}
.wa-page .wp-block-post-content h2{margin:1.8em 0 .5em}
.wa-page .wp-block-post-content img{margin:1.5em 0}
.wa-page .wp-block-search,.wa-404 .wp-block-search{max-width:460px;margin:0 auto 28px}
.wa-page .wp-block-search__inside-wrapper{border:1px solid var(--wa-line);padding:4px 6px}
.wa-page .wp-block-search__input{border:0;background:transparent;font-family:var(--wa-sans);font-size:14px;padding:10px 8px}
.wa-page .wp-block-search__button{margin:0;background:var(--wa-ink);border-color:var(--wa-ink);color:var(--wa-cream);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:11px 16px}
.woocommerce-cart .wa-page-title,.woocommerce-checkout .wa-page-title{display:none}
.woocommerce-cart .wa-page,.woocommerce-checkout .wa-page{padding-top:clamp(28px,4vw,48px)}
.wa-search-products{margin:36px 0 48px}
.wa-search-products h2{font-size:clamp(24px,2.4vw,32px);margin:0 0 22px}
.wa-search-results .wp-block-post-template{list-style:none;margin:0;padding:0}
.wa-search-results .wp-block-post-template>li{border-bottom:1px solid var(--wa-line-soft);padding:18px 0}
.wa-search-results .wp-block-post-title{font-size:24px;margin:0 0 6px}
.wa-search-results .wp-block-post-excerpt p{color:var(--wa-ink-soft);margin:0}
.wa-404{text-align:center;padding-top:clamp(60px,9vw,120px)}
.wa-404 .wp-block-buttons{justify-content:center;margin-top:24px}
.wa-entry__head{text-align:center;margin-bottom:clamp(28px,5vw,48px)}
.wa-entry__meta{display:flex;justify-content:center;gap:14px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--wa-ink-soft);margin-top:14px}
.wa-entry__meta p{margin:0}
.wa-entry__media{margin:0 auto clamp(28px,5vw,56px)}
.wa-entry__tags{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--wa-ink-soft);margin:36px 0 0}
.wa-entry .wp-block-post-comments-form{margin-top:56px;border-top:1px solid var(--wa-line);padding-top:36px}
.wa-entry .comment-form input,.wa-entry .comment-form textarea{border:1px solid var(--wa-line);background:rgba(255,255,255,.35);border-radius:0;font-family:var(--wa-sans);font-size:14px;padding:12px 14px}
.wa-entry .comment-form input[type=submit]{background:var(--wa-ink);color:var(--wa-cream);border-color:var(--wa-ink);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:14px 26px;cursor:pointer}
.wa-look__item{display:flex!important;align-items:center;gap:12px;border-top:1px solid var(--wa-line-soft);padding-top:12px}
.wa-look__item p{margin:0}
.wa-look__name{flex:1;font-family:var(--wa-serif);font-size:16px;line-height:1.25}
.wa-look__name a{text-decoration:none}
.wa-look__name a:hover{color:var(--wa-clay)}
.wa-look__price{font-size:12px;color:var(--wa-ink-soft);white-space:nowrap}
.wa-look__thumb{width:52px;height:64px;flex:none;background:#F1ECE2;overflow:hidden}
.wa-look__thumb img{width:100%;height:100%;object-fit:cover}
.wa-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.wa-newsletter--done{justify-content:center;border-bottom:0;padding:12px 0}
.wa-newsletter--done p{margin:0;font-size:13px;letter-spacing:.04em;color:var(--wa-ink-soft)}
.wa-cart-btn[aria-expanded=true]{opacity:.55}

/* -------------------------------------------------------------------------
   14. Responsive
   ------------------------------------------------------------------------- */
@media (max-width:1024px){
  .wa-grid{grid-template-columns:repeat(3,1fr)}
  .wa-look,.wa-founder{grid-template-columns:1fr}
  .wa-founder__img,.wa-look__img{min-height:420px}
  .wa-pdp__grid{grid-template-columns:1fr}
  .wa-info{position:static}
  .wa-journal .wp-block-post-template{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .wa-hdr{grid-template-columns:auto 1fr auto;gap:14px;padding-top:14px;padding-bottom:14px}
  .wa-hdr__nav .wp-block-navigation__container{gap:12px}
  .wa-brand{justify-self:center}
  .wa-logo,.wa-logo a{font-size:21px;letter-spacing:.12em}
  .wa-logo-sub{font-size:8px;letter-spacing:.3em}
  .wa-tools{gap:12px}
  .wa-tools .hide-m{display:none}
  .wa-rooms{gap:10px}
  .wa-rooms .wp-block-column{flex-basis:100%!important}
  .wa-room{aspect-ratio:4/5}
  .wa-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px}
  .wa-journal .wp-block-post-template{grid-template-columns:1fr;gap:28px}
  .wa-sec-head{flex-direction:column;align-items:flex-start;gap:10px}
  .wa-footer .wa-footer__cols{grid-template-columns:1fr 1fr!important;gap:28px}
  .wa-gal{grid-template-columns:1fr}
  .wa-gal__thumbs{flex-direction:row;order:2;overflow-x:auto;padding-bottom:4px}
  .wa-thumb{flex:0 0 72px}
  .wa-gal__main{order:1}
  .wa-info{position:static}
  .wa-crumb{font-size:9.5px}
  .wa-filters{gap:12px}
  .wa-sortwrap{margin-left:auto}
  .wa-shop__note{margin-top:20px}
  .wa-drawer{width:min(430px,92vw)}
  .wa-hero .wp-block-cover__inner-container{padding-bottom:48px}
}
@media (max-width:640px){
  .wa-sec,.wa-intro,.wa-shop,.wa-pdp{padding-left:var(--wa-pad);padding-right:var(--wa-pad)}
  .wa-page-hero{padding-left:var(--wa-pad);padding-right:var(--wa-pad)}
  .wa-filter-group{gap:14px;font-size:10px}
  .wa-filters{align-items:flex-start}
  .wa-sortwrap{width:100%;justify-content:space-between;border-top:1px solid var(--wa-line-soft);padding-top:10px}
  .wa-count{margin-left:auto}
  .wa-info h1{font-size:30px}
  .wa-info .cart{align-items:stretch}
  .wa-info .quantity{margin-right:10px}
  .wa-info .single_add_to_cart_button{flex:1 1 180px}
  .wa-footer .wa-footer__cols{grid-template-columns:1fr!important;gap:26px;padding-bottom:36px}
  .wa-footer__bottom{flex-direction:column;gap:8px}
  .wa-newsletter{max-width:100%}
  .wa-look__card,.wa-founder__txt{padding:24px var(--wa-pad)}
  .wa-drawer__head,.wa-drawer__body,.wa-drawer__foot{padding:20px}
  .wa-toast{font-size:9.5px;letter-spacing:.14em;padding:12px 18px}
}
@media (hover:none){
  .wa-quick-add{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* 14. Desktop navigation lock-in
   The core responsive container depends on viewport detection that headless
   rendering can mis-report; force the inline menu from 900px up. */
@media (min-width:900px){
  .wa-hdr__nav .wp-block-navigation__responsive-container-open{display:none!important}
  .wa-hdr__nav .wp-block-navigation__responsive-container{position:static!important;display:block!important;background:none!important;padding:0!important;width:100%!important;visibility:visible!important}
  .wa-hdr__nav .wp-block-navigation__responsive-container-content{display:flex!important;align-items:center;gap:26px;padding:0!important}
  .wa-hdr__nav .wp-block-navigation__container{display:flex!important;flex-wrap:wrap;gap:26px;margin:0;padding:0;list-style:none;visibility:visible!important}
  .wa-hdr__nav .wp-block-navigation-item{display:block!important}
}
@media (max-width:899px){
  .wa-hdr__nav .wp-block-navigation__responsive-container-open{display:flex!important}
}


/* 15. WooCommerce block chrome we replace with our own controls */
.wa-hdr .wp-block-woocommerce-customer-account,
.wa-hdr .wp-block-woocommerce-mini-cart,
.wa-hdr .wc-block-mini-cart,
.wa-hdr .wc-block-customer-account{display:none!important}


/* 16. Product detail spacing */
.wa-pdp__grid + .wa-related{margin-top:clamp(48px,6vw,96px)}
.wa-gal__main img{display:block;width:100%;height:auto}



/* =========================================================================
   17. Round 2 fixes (2026-11-04)
   - single-row header with one cart trigger on every viewport
   - hero type fluid and clipped-free from 360px up
   - filter row mirrors every top-level product category
   - checkout keeps WooCommerce's own (block) form
   ========================================================================= */

html,body{max-width:100%;overflow-x:clip}
img,video{max-width:100%}

/* --- 17.1 Header: left nav / centre logo / right icon row ------------- */
.wa-hdr{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.wa-hdr__nav{display:flex;align-items:center;min-width:0}
.wa-hdr__nav .wa-cart-btn{display:none!important}
.wa-brand{min-width:0}
.wa-tools{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.wa-tools>*{margin:0!important;flex:0 0 auto}
.wa-tools .wa-tool-link{display:inline-flex;align-items:center;gap:7px;line-height:1;color:inherit;text-decoration:none;white-space:nowrap;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.wa-tools .wa-tool-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.wa-tools .wa-tool-link:hover{opacity:.6}
.wa-tools .wa-tool-link::after{display:none}
.wa-cart-btn{white-space:nowrap}
.wa-hdr .wa-tools .wp-block-shortcode{display:contents}
.wa-hdr .wa-cart-btn~.wa-cart-btn{display:none!important}

@media (max-width:899px){
  .wa-hdr{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px;padding:12px var(--wa-pad)}
  .wa-hdr__nav{gap:0}
  .wa-hdr__nav .wp-block-navigation{margin:0}
  .wa-hdr__nav .wp-block-navigation__responsive-container-open{display:inline-flex!important;margin:0;padding:6px 8px 6px 0}
  .wa-hdr__nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .wa-brand{justify-self:center}
  .wa-logo,.wa-logo a,.wp-block-site-title.wa-logo{font-size:18px;letter-spacing:.1em}
  .wa-logo-sub{font-size:7.5px;letter-spacing:.26em;margin-top:5px}
  .wa-tools{gap:14px}
  .wa-tools .wa-tool-text,.wa-cart-label{display:none}
  .wa-tools .wa-tool-link svg{width:19px;height:19px}
}
@media (max-width:400px){
  .wa-logo,.wa-logo a,.wp-block-site-title.wa-logo{font-size:15.5px;letter-spacing:.07em}
  .wa-logo-sub{display:none}
  .wa-tools{gap:11px}
}

/* --- 17.2 Hero copy: fluid, never clipped ----------------------------- */
.wa-hero .wp-block-cover__inner-container{box-sizing:border-box;max-width:var(--wa-max);margin-inline:auto;padding-inline:var(--wa-pad)}
.wa-hero__txt{max-width:min(660px,100%);min-width:0}
.wa-hero__txt h1,.wa-hero__txt .wp-block-heading{max-width:100%;font-size:clamp(2rem,5.4vw,4.625rem);line-height:1.06;letter-spacing:0;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.wa-hero__txt p{max-width:min(440px,100%);overflow-wrap:break-word}
@media (max-width:640px){
  .wa-hero .wp-block-cover__inner-container{padding-left:20px;padding-right:20px;padding-bottom:44px}
  .wa-hero__txt{max-width:100%}
  .wa-hero__txt h1,.wa-hero__txt .wp-block-heading{font-size:clamp(1.65rem,7.3vw,2.4rem);line-height:1.1}
  .wa-hero__txt p{font-size:13.5px;max-width:100%}
  .wa-hero__txt .wa-eyebrow{font-size:9.5px;letter-spacing:.2em}
}

/* --- 17.3 Shop filters ------------------------------------------------ */
.wa-filters{gap:14px}
.wa-filter-group{flex-wrap:wrap;row-gap:8px}
.wa-filter{white-space:nowrap}
@media (max-width:640px){
  .wa-filter-group{gap:8px 14px}
  .wa-filter{font-size:10px;padding:4px 0}
}

/* --- 17.4 Product media ---------------------------------------------- */
.wa-card__media img,.wa-look__thumb img,.wa-gal__main img{display:block}
.wa-card__media{background:#F1ECE2}

/* --- 17.5 Checkout: keep WooCommerce Blocks untouched ---------------- */
.wa-checkout-page{max-width:1180px;margin:0 auto;padding:0 var(--wa-pad) clamp(48px,6vw,80px)}
.wa-checkout-page .wp-block-woocommerce-checkout{margin:0}
.wa-checkout-page .wc-block-components-sidebar{background:transparent}
.woocommerce-checkout #payment{background:transparent}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0}
.woocommerce-checkout #payment div.payment_box{background:rgba(235,224,206,.35)}

/* --- 17.6 Mid-range header guard (900–1140px) ------------------------ */
@media (min-width:900px) and (max-width:1140px){
  .wa-hdr{gap:14px}
  .wa-hdr__nav .wp-block-navigation__container{gap:16px!important}
  .wa-tools{gap:12px}
  .wa-tools .wa-tool-text{display:none}
  .wa-logo,.wa-logo a,.wp-block-site-title.wa-logo{font-size:21px;letter-spacing:.12em}
}

/* --- 17.7 Exactly one cart affordance on the storefront --------------- */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-block-woocommerce-mini-cart,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-customer-account,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-block-woocommerce-customer-account{display:none!important}

/* -------------------------------------------------------------------------
   99. Brand logo (site-logo) — v1.1.3
   The uploaded wordmark PNG is 1040x300 and already carries the
   "Collected Living" tagline plus a hairline rule. The block below is cropped
   to the wordmark band only, so the tagline stays real text (crisp at any
   size) and is never printed twice. Crop constants follow the current asset:
   ink box 99..909 x 84..144 of 1040x300. Re-derive them if the logo changes.
   ------------------------------------------------------------------------- */
.wp-block-site-logo.wa-logo-img{
  width:var(--wa-logo-w,168px);max-width:100%;
  height:calc(var(--wa-logo-w,168px)*.0741);
  overflow:hidden;position:relative;margin:0;line-height:0;
}
.wp-block-site-logo.wa-logo-img a{display:block;position:relative;height:100%;line-height:0}
.wp-block-site-logo.wa-logo-img img{
  position:absolute;height:auto;
  width:calc(var(--wa-logo-w)*1.284)!important;
  max-width:none!important;
  left:calc(var(--wa-logo-w)*-.1222)!important;
  top:calc(var(--wa-logo-w)*-.1037)!important;
}
.wa-brand{--wa-logo-w:168px}
.wa-brand .wp-block-site-logo.wa-logo-img{margin:0 auto}
.wa-footer-logo{--wa-logo-w:196px}
.wa-brand .wa-logo-fallback,
.wa-footer .wa-logo-fallback{display:none}
body:not(.wp-custom-logo) .wa-brand .wa-logo-fallback{display:block}
body:not(.wp-custom-logo) .wa-footer .wa-logo-fallback{display:block}
.wa-brand,.wa-logo-sub{white-space:nowrap}
@media(max-width:781px){
  .wa-brand{--wa-logo-w:150px}
  .wa-footer-logo{--wa-logo-w:168px}
}
@media(max-width:480px){
  .wa-brand{--wa-logo-w:132px}
  .wa-logo-sub{display:block;font-size:6.5px;letter-spacing:.24em;margin-top:4px}
}

/* Mobile drawer: the core container collapsed to the header height (only the
   first item visible). Pin it to the viewport so all links are reachable. */
@media(max-width:899px){
  .wa-hdr__nav .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
    max-height:100vh;overflow-y:auto;z-index:1000;
    padding:calc(var(--wa-pad) + 8px) var(--wa-pad) var(--wa-pad);
    display:flex;flex-direction:column;justify-content:flex-start;
  }
  .wa-hdr__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
    position:absolute;top:calc(var(--wa-pad) - 2px);right:var(--wa-pad);
  }
  .wa-hdr__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:flex;flex-direction:column;gap:0;margin:0;padding:0;width:100%;flex-wrap:nowrap;
  }
}

/* --- Category hero (v1.1.4) --- */
.wa-cathero{position:relative;overflow:hidden;margin:0 0 clamp(24px,4vw,48px)}
.wa-cathero__media{position:relative}
.wa-cathero__media img{display:block;width:100%;height:clamp(240px,38vh,460px);object-fit:cover;object-position:50% 45%}
.wa-cathero__txt{position:absolute;left:clamp(16px,3vw,48px);bottom:clamp(16px,3vw,40px);max-width:min(560px,86vw);background:rgba(251,248,242,.93);padding:clamp(16px,2vw,26px) clamp(18px,2.4vw,32px)}
.wa-cathero__title{font-family:var(--wa-serif,Georgia,serif);font-size:clamp(26px,3.4vw,44px);line-height:1.05;margin:2px 0 6px;letter-spacing:.01em}
.wa-cathero__desc{font-size:clamp(13px,1.2vw,15px);line-height:1.55;margin:0;color:var(--wa-ink-soft,#5a544c)}
.wa-cathero .wa-eyebrow{margin:0}
@media (max-width:640px){.wa-cathero__media img{height:260px}.wa-cathero__txt{left:12px;right:12px;bottom:12px;max-width:none}}

/* --- Uniform product media (v1.1.5) --- */
.wa-card__media{background:#F1ECE2}
.wa-card__media img{object-fit:contain;padding:7%;box-sizing:border-box}
@media (max-width:640px){.wa-card__media img{padding:6%}}

/* --- v1.1.6 white product tiles --- */
.wa-card__media{background:#FFFFFF}

/* --- Editorial strip (v1.1.7) --- */
.wa-edit__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px)}
.wa-edit__item{margin:0}
.wa-edit__img{margin:0 0 12px}
.wa-edit__img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 1s var(--wa-ease,ease)}
.wa-edit__item:hover .wa-edit__img img{transform:scale(1.03)}
.wa-edit__label{font-family:var(--wa-serif,Georgia,serif);font-size:20px;margin:0 0 4px}
.wa-edit__note{font-size:13.5px;line-height:1.55;color:var(--wa-ink-soft,#5a544c);margin:0}
@media (max-width:760px){.wa-edit__grid{grid-template-columns:1fr;gap:24px}}

/* --- v1.1.8 category hero: 完整画面，不裁切 --- */
.wa-cathero__media img{height:auto;width:100%;display:block;object-fit:cover}
@media (max-width:640px){.wa-cathero__media img{height:auto;min-height:190px}}

/* --- v1.1.9 category hero: 双栏画册式，图片完整显示不裁切 --- */
.wa-cathero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(16px,3vw,48px);background:#F1ECE2;margin:0 0 clamp(24px,4vw,48px);padding:clamp(12px,2vw,28px)}
.wa-cathero__media{position:static;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#FBF8F2;overflow:hidden}
.wa-cathero__media img{width:100%;height:100%;max-height:none;object-fit:contain;display:block}
.wa-cathero__txt{position:static;left:auto;right:auto;bottom:auto;max-width:none;background:transparent;padding:clamp(8px,2vw,24px)}
.wa-cathero__title{margin:6px 0 10px}
@media (max-width:760px){
  .wa-cathero{grid-template-columns:1fr;padding:0}
  .wa-cathero__media{aspect-ratio:4/3}
  .wa-cathero__txt{padding:20px 16px 26px}
}

/* --- v1.2.0 category hero: 图片按自身比例，不留上下白边 --- */
.wa-cathero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);background:transparent;padding:0}
.wa-cathero__media{aspect-ratio:auto;display:block;background:transparent;overflow:visible}
.wa-cathero__media img{width:100%;height:auto;object-fit:contain}
.wa-cathero__txt{display:flex;flex-direction:column;justify-content:center;min-height:260px}
@media (max-width:760px){.wa-cathero__media{aspect-ratio:4/3}.wa-cathero__media img{width:100%;height:100%;object-fit:cover}}

/* --- v1.2.1 category hero: 3:2 画册框，完整显示、不放大 --- */
.wa-cathero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.wa-cathero__media{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#F4EFE5;overflow:hidden}
.wa-cathero__media img{width:100%;height:100%;object-fit:contain;object-position:center}
@media (max-width:760px){.wa-cathero__media{aspect-ratio:3/2}.wa-cathero__media img{width:100%;height:100%;object-fit:contain}}

/* --- v1.2.2 category hero: 白底产品三联，框与图无缝 --- */
.wa-cathero__media{background:#FFFFFF;aspect-ratio:4/3}
@media (max-width:760px){.wa-cathero__media{aspect-ratio:4/3}}

/* --- v1.2.3 hero 白底整条，三品之间无缝 --- */
.wa-cathero{background:#FFFFFF;align-items:center}
.wa-cathero__txt{background:#FFFFFF}
@media (max-width:760px){.wa-cathero{background:#FFFFFF}}

/* --- v1.3.0 category hero: 单件主图 + 纸色底，全幅无缝 --- */
.wa-cathero{background:var(--wa-paper,#FBF8F2)}
.wa-cathero__txt{background:transparent}
.wa-cathero__media{background:var(--wa-paper,#FBF8F2);aspect-ratio:4/3}
.wa-cathero__media img{object-fit:contain}
