/*
Theme Name: Flower Department
Theme URI: https://flower-department.com
Description: Contemporary floristry studio theme for Flower Department Sofia. Compatible with Elementor and WooCommerce.
Version: 2.31
Author: Flower Department
Text Domain: flower-department
*/

/* Flower Department — swap these values for your own tokens */
:root{
/* colour */
--green:#0102D0;--sky:#0102D0;--moss:#0102D0;--tan:#0102D0;--crimson:#0102D0;
--bg:#FFFFFF;--surface:#F3F3FE;--surface-raised:#E8E8FC;
--ink:#0102D0;--ink-2:#0102D0;--ink-3:#6B6CE3;
--line:#D9D9F8;--line-2:#B3B4F0;--line-3:#6B6CE3;
--ok:#0102D0;--warn:#0102D0;--err:#0102D0;
--accent:var(--crimson);--on-crimson:#ffffff;--on-moss:#ffffff;--on-green:#0102D0;
/* type */
--font-display:"Seenonim",Georgia,"Times New Roman",serif;
--font-ui:"Inter",-apple-system,"Segoe UI",Helvetica,sans-serif;
--fs-hero:clamp(2.75rem,9vw,7rem);--fs-display:clamp(2rem,5vw,3.5rem);--fs-headline:clamp(1.5rem,3vw,2.125rem);
--fs-subhead:clamp(1.25rem,2vw,1.5rem);--fs-lead:clamp(1.0625rem,1.4vw,1.25rem);
--fs-body:1.0625rem;--fs-sm:0.9375rem;--fs-caption:0.8125rem;--fs-over:0.6875rem;
--lh-tight:1.05;--lh-head:1.2;--lh-body:1.8;--track-over:0.12em;--measure:42rem;
/* spacing */
--s1:0.75rem;--s2:1.5rem;--s3:2.25rem;--s4:3rem;--s5:3.75rem;--s6:4.5rem;--s7:6rem;--s8:7.5rem;
--gutter:1.25rem;--section:var(--s5);--maxw:96rem;
/* radius + motion */
--r-none:0;--r-full:9999px;
--ease:cubic-bezier(.2,0,0,1);--dur:180ms;
--focus:0 0 0 2px var(--bg),0 0 0 4px var(--ink-2);
}
@media(min-width:56rem){:root{--gutter:2.25rem;--section:var(--s7)}}
@media(min-width:80rem){:root{--gutter:3rem;--section:var(--s8)}}

@font-face{font-family:"Seenonim";src:url("fonts/seenonim-v1.ttf") format("truetype");font-weight:400 700;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
img,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;margin:0;line-height:var(--lh-head)}
p,ul,ol,figure,dl{margin:0}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--moss)}
:focus-visible{outline:none;box-shadow:var(--focus)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--gutter);top:-4rem;z-index:100;background:var(--crimson);color:#fff;padding:.75rem 1.25rem;font-size:var(--fs-sm);font-weight:600;transition:top var(--dur) var(--ease)}
.skip:focus{top:.75rem;color:#fff}

/* ---------- type utilities ---------- */
.hero-type{font-family:var(--font-display);font-size:var(--fs-hero);line-height:var(--lh-tight);letter-spacing:-.03em}
.display{font-family:var(--font-display);font-size:var(--fs-display);line-height:1.1;letter-spacing:-.02em}
.headline{font-family:var(--font-display);font-size:var(--fs-headline);letter-spacing:-.015em}
.subhead{font-family:var(--font-display);font-size:var(--fs-subhead);letter-spacing:-.01em}
.lead{font-size:var(--fs-lead);line-height:1.7}
.sm{font-size:var(--fs-sm)}
.caption{font-size:var(--fs-caption);line-height:1.5;color:var(--ink-2)}
.over{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);line-height:1.4;color:var(--ink-3)}
.measure{max-width:var(--measure)}
.crimson{color:var(--crimson)}.moss{color:var(--moss)}.muted{color:var(--ink-2)}

/* ---------- nav (no bar) ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s1);padding:.5rem var(--gutter);pointer-events:none;background:var(--bg)}
body.home .nav{background:transparent}
.nav a,.nav button{pointer-events:auto}
.nav-group{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}
.nav-group.right{justify-content:flex-end;align-items:center}
.nav-link{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);color:var(--crimson);padding:.35rem 0;border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.nav-link:hover,.nav-link:focus-visible{border-color:currentColor;color:var(--crimson)}
.nav-link[aria-current="page"]{border-color:currentColor}
.nav-logo{width:3.5rem;opacity:1;transition:opacity 260ms var(--ease)}
.nav-logo img{width:100%;height:auto}
body.home .nav-logo{opacity:0}
.cart-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--crimson)}
.cart-count{font-size:var(--fs-caption);font-weight:600;font-variant-numeric:tabular-nums}
/* home: menu text stays hidden until the white bar appears behind it */
body.home .nav-group:not(.right),body.home .nav-links-right{opacity:0;visibility:hidden;transition:opacity 260ms var(--ease),visibility 260ms}
body.home.nav-solid .nav{background:#FFFFFF}
body.home.nav-solid .nav-logo{opacity:1}
body.home.nav-solid .nav-group:not(.right),body.home.nav-solid .nav-links-right{opacity:1;visibility:visible}
@supports (animation-timeline:scroll()){
  body.home .nav-logo{animation:logo-in linear both;animation-timeline:scroll();animation-range:12vh 40vh}
  body.home .nav{animation:nav-bg linear both;animation-timeline:scroll();animation-range:12vh 40vh}
  body.home .nav-group:not(.right),body.home .nav-links-right{animation:menu-in linear both;animation-timeline:scroll();animation-range:12vh 40vh;transition:none}
  @keyframes logo-in{from{opacity:0}to{opacity:1}}
  @keyframes nav-bg{from{background:transparent}to{background:#FFFFFF}}
  @keyframes menu-in{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}
}
@media(max-width:47.9375rem){
  /* one row: logo centred, cart + hamburger on the right (left menu is hidden here) */
  .nav{grid-template-columns:1fr auto 1fr}
  .nav-logo{grid-column:2;grid-row:1;justify-self:center}
  .nav-group.right{grid-column:3;grid-row:1}
  .nav-group{gap:.35rem var(--s1)}
}

/* WordPress nav menu resets */
.nav-group ul,.nav-group .menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}
.nav-group.right ul,.nav-group.right .menu{justify-content:flex-end;align-items:center}
.nav-group li{margin:0;padding:0}
.nav-group li a{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);color:var(--crimson);padding:.35rem 0;border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.nav-group li a:hover,.nav-group li.current-menu-item a{border-color:currentColor;color:var(--crimson)}
.nav-group li ul{display:none}

/* ---------- layout ---------- */
main{padding-top:6rem}
main.flush{padding-top:0}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.band{padding-block:var(--section);padding-inline:var(--gutter)}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.grid{display:grid;gap:var(--s2)}
.cols-2{display:grid;gap:var(--s2)}
.cols-3{display:grid;gap:var(--s2)}
.cols-4{display:grid;gap:var(--s2)}
@media(min-width:40rem){.cols-2{grid-template-columns:1fr 1fr}.cols-4{grid-template-columns:1fr 1fr}}
@media(min-width:56rem){.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;gap:var(--s3)}
@media(min-width:56rem){.split{grid-template-columns:1fr 1.2fr;gap:var(--s5)}.split.wide{grid-template-columns:1fr 2fr}}
.stack{display:grid;gap:var(--s2);align-content:start}
.stack-sm{display:grid;gap:var(--s1);align-content:start}
.flow{display:flex;flex-wrap:wrap;gap:var(--s1)}

/* ---------- hero (home) ---------- */
.hero{position:relative;display:grid;grid-template-columns:1fr;gap:0}
.hero-l,.hero-r{display:grid;gap:0}
.hero-shot{position:relative;overflow:hidden;background:var(--surface)}
.hero-shot img{width:100%;height:100%;object-fit:cover}
.hero-l .hero-shot{aspect-ratio:4/5}
.hero-r .hero-shot{aspect-ratio:16/11}
.hero-shot .hero-tile-logo{width:100%;height:auto;display:block;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.hero-tag{padding:var(--s2) var(--gutter) 0}
@media(min-width:56rem){
  .hero{grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:100svh;min-height:600px;overflow:hidden}
  .hero-l,.hero-r{min-height:0}
  .hero-l .hero-shot,.hero-r .hero-shot{aspect-ratio:auto;height:100%}
  .hero-r{grid-template-rows:1fr 1fr}
  .hero-shot .hero-tile-logo{width:85%}
}
/* mobile: flower photo first, then the blue tile with logo and links */
@media(max-width:55.9375rem){
  .hero{display:flex;flex-direction:column}
  .hero-l{order:1}
  .hero-l .hero-shot{aspect-ratio:1/1}
  .hero-l .hero-shot img{object-position:50% 45%}
  .hero-r{order:2}
  .hero-r>figure.hero-shot{display:none}
  .hero-r .hero-shot.tile{aspect-ratio:auto;padding:var(--s3) var(--s2)}
}

/* ---------- colour tiles ---------- */
.tile{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s3);padding:var(--s2);min-height:11rem;border-radius:var(--r-none)}
.tile.green{background:var(--green);color:#fff}
.tile.sky{background:var(--sky);color:#fff}
.tile.tan{background:var(--crimson);color:#fff}
.tile.moss{background:var(--moss);color:#fff}
.tile.crimson{background:var(--crimson);color:#fff}
.tile.surface{background:var(--surface);color:var(--ink)}
.tile a{color:inherit}
.tiles{display:grid;gap:0;grid-template-columns:1fr}
@media(min-width:40rem){.tiles{grid-template-columns:1fr 1fr}}
@media(min-width:64rem){.tiles.four{grid-template-columns:repeat(4,1fr)}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--r-none);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.btn-primary{background:var(--crimson);color:#fff;border-color:var(--crimson)}
.btn-primary:hover,.btn-primary:focus-visible{background:#fff;color:var(--crimson);border-color:var(--crimson)}
.btn-outline{background:transparent;color:var(--crimson);border-color:var(--crimson)}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--crimson);color:#fff}
.btn-ghost{background:transparent;color:var(--crimson);border-color:transparent;padding-inline:0}
.btn-ghost:hover,.btn-ghost:focus-visible{border-bottom-color:currentColor;color:var(--moss)}
.btn-lg{padding:1rem 2.25rem;font-size:var(--fs-body)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.on-dark .btn-primary{background:#fff;color:var(--crimson);border-color:#fff}
.on-dark .btn-primary:hover,.on-dark .btn-primary:focus-visible{background:var(--surface);color:var(--crimson);border-color:var(--surface)}
.on-dark .btn-outline{color:#fff;border-color:#fff}
.on-dark .btn-outline:hover{background:#fff;color:var(--crimson)}

/* ---------- product cards ---------- */
.shop{display:grid;gap:0;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media(min-width:40rem){.shop{grid-template-columns:1fr 1fr}}
@media(min-width:64rem){.shop{grid-template-columns:repeat(4,1fr)}}
.item{display:flex;flex-direction:column;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--bg);transition:background var(--dur) var(--ease)}
.item:hover{background:var(--surface)}
.item-shot{position:relative;overflow:hidden;background:var(--surface);padding-bottom:125%;height:0}
.item-shot a{position:absolute;inset:0;display:block}
.item-shot img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;display:block;transition:opacity var(--dur) var(--ease)}
.item:hover .item-shot img{opacity:.88}
.item-body{display:grid;gap:.5rem;padding:var(--s2);flex:1;align-content:start}
.item-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s1)}
.price{font-size:var(--fs-sm);font-weight:600;color:var(--crimson);font-variant-numeric:tabular-nums;white-space:nowrap}
.item-foot{margin-top:auto;padding:0 var(--s2) var(--s2)}
.item-body .caption{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.chip{display:inline-block;padding:.25rem .75rem;font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);border:1px solid var(--line-2);color:var(--ink-2)}
.chip.ok{color:var(--ok);border-color:#B3B4F0;background:#F3F3FE}
.chip.warn{color:var(--warn);border-color:#B3B4F0;background:#F3F3FE}
.chip.out{color:var(--err);border-color:#B3B4F0;background:#F3F3FE}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
th,td{text-align:left;padding:var(--s1) var(--s1);border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);color:var(--ink-3)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.table-wrap{overflow-x:auto}

/* ---------- forms ---------- */
.field{display:grid;gap:.5rem}
label{font-size:var(--fs-caption);font-weight:600;color:var(--ink-2)}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-none);padding:.75rem 1rem;min-height:3rem}
textarea{min-height:8rem;line-height:1.6;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--ink-2);box-shadow:var(--focus)}
input::placeholder,textarea::placeholder{color:var(--ink-3)}
input:invalid:not(:placeholder-shown){border-color:var(--err)}
.help{font-size:var(--fs-caption);color:var(--ink-2)}
fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--s1)}
legend{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);color:var(--ink-3);padding:0;margin-bottom:.5rem}
.choice{display:flex;gap:.75rem;align-items:flex-start;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;padding:.5rem 0}
.choice input{margin:.3rem 0 0;width:1.125rem;height:1.125rem;accent-color:var(--moss);flex:0 0 auto}
.req{color:var(--crimson)}

/* ---------- Contact Form 7 integration ---------- */
.wpcf7-form .wpcf7-form-control-wrap{display:block}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form input[type=date],.wpcf7-form input[type=number],.wpcf7-form select,.wpcf7-form textarea{width:100%;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:0;padding:.75rem 1rem;min-height:3rem}
.wpcf7-form textarea{min-height:8rem}
.wpcf7-submit{background:var(--crimson);color:#fff;border:1px solid var(--crimson);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:600;padding:1rem 2.25rem;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.wpcf7-submit:hover{background:#fff;color:var(--crimson);border-color:var(--crimson)}
.wpcf7-not-valid-tip{font-size:var(--fs-caption);color:var(--err);margin-top:.25rem}
.wpcf7-response-output{padding:var(--s2);font-size:var(--fs-sm);border:1px solid var(--line-2);margin-top:var(--s2)}
.wpcf7-mail-sent-ok{border-color:#B3B4F0;background:#F3F3FE;color:var(--ok)}
.wpcf7-validation-errors{border-color:#B3B4F0;background:#F3F3FE;color:var(--err)}

/* ---------- details / faq ---------- */
details{border-bottom:1px solid var(--line)}
summary{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);cursor:pointer;padding:var(--s2) 0;font-family:var(--font-display);font-size:var(--fs-subhead);color:var(--crimson);list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--font-ui);font-size:var(--fs-body);color:var(--ink-3)}
details[open] summary::after{content:"–"}
summary:hover{color:var(--moss)}
details > div{padding:0 0 var(--s2);max-width:var(--measure);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.7}

/* ---------- timeline ---------- */
.steps{display:grid;gap:0;border-top:1px solid var(--line)}
.step{display:grid;gap:.5rem var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line)}
@media(min-width:56rem){.step{grid-template-columns:5rem 16rem 1fr;align-items:baseline}}
.step-n{font-family:var(--font-display);font-size:var(--fs-headline);color:var(--green)}

/* ---------- stats ---------- */
.stat{display:grid;gap:.25rem}
.stat-n{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.25rem);line-height:1;letter-spacing:-.03em;color:var(--crimson)}

/* ---------- gallery ---------- */
.gal{display:grid;gap:0;grid-template-columns:repeat(2,1fr)}
@media(min-width:56rem){.gal{grid-template-columns:repeat(4,1fr)}}
.gal figure{position:relative;margin:0;overflow:hidden;background:var(--surface)}
.gal img{width:100%;height:100%;object-fit:cover}
.gal .t-1{aspect-ratio:3/4}.gal .t-2{aspect-ratio:1}.gal .t-3{aspect-ratio:4/5}
.gal .span-2{grid-column:span 2}

/* ---------- quotes ---------- */
.quotes{display:grid;gap:0;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media(min-width:56rem){.quotes{grid-template-columns:repeat(3,1fr)}}
blockquote{margin:0;padding:var(--s3) var(--s2);border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:grid;gap:var(--s2);align-content:space-between}
blockquote p{font-family:var(--font-display);font-size:var(--fs-subhead);line-height:1.35;color:var(--crimson)}
blockquote footer{font-size:var(--fs-caption);color:var(--ink-2)}

/* ---------- tiers ---------- */
.tiers{display:grid;gap:0;grid-template-columns:1fr;border:1px solid var(--line)}
@media(min-width:56rem){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{padding:var(--s3) var(--s2);display:grid;gap:var(--s2);align-content:start;border-bottom:1px solid var(--line)}
@media(min-width:56rem){.tier{border-bottom:0;border-right:1px solid var(--line)}.tier:last-child{border-right:0}}
.tier ul{list-style:none;padding:0;display:grid;gap:.5rem;font-size:var(--fs-sm);color:var(--ink-2)}
.tier li{padding-left:1rem;position:relative}
.tier li::before{content:"—";position:absolute;left:0;color:var(--crimson)}
.tier.feature li::before{color:#fff}
.tier.feature{background:var(--sky)}
.tier.feature .tier-price,.tier.feature h3{color:#fff}
.tier.feature ul{color:#fff}
.tier-price{font-family:var(--font-display);font-size:var(--fs-headline);color:var(--crimson)}

/* ---------- notice ---------- */
.notice{border:1px solid var(--line-2);background:var(--surface);padding:var(--s2);display:grid;gap:.5rem;font-size:var(--fs-sm)}
.notice strong{font-weight:600;color:var(--ink)}

/* ---------- footer wordmark ---------- */
.foot-big{max-width:var(--maxw);margin:var(--s2) auto 0;text-align:center}
.foot-big img{width:min(100%,7rem);height:auto;opacity:.5;filter:brightness(0) invert(1)}

/* ---------- footer ---------- */
.foot{background:var(--moss);color:#fff;padding:var(--s4) var(--gutter) var(--s2)}
.foot a{color:#fff;border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease)}
.foot a:hover{color:#fff;border-color:currentColor}
.foot-grid{max-width:var(--maxw);margin-inline:auto;display:grid;gap:var(--s4)}
@media(min-width:56rem){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
.foot h2,.foot .over{color:#fff;opacity:.65}
.foot ul{list-style:none;padding:0;display:grid;gap:.5rem;font-size:var(--fs-sm)}
.foot-mark{width:11rem}
.social{display:flex;gap:var(--s1)}
.social a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.3)}
.social a:hover{background:#fff;color:var(--crimson);border-color:#fff}
.social svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.5}
.foot-base{max-width:var(--maxw);margin-inline:auto;margin-top:var(--s5);padding-top:var(--s2);border-top:1px solid rgba(255,255,255,.2);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2);justify-content:space-between;font-size:var(--fs-caption);opacity:.8}
.legal-links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}

/* ---------- page head ---------- */
.phead{display:grid;gap:var(--s1);padding-block:var(--s2) var(--s3)}
.phead h1{font-family:var(--font-display);font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.02em;max-width:28ch}
.phead .lead{font-size:var(--fs-body)}
.legal-page{max-width:var(--measure);display:grid;gap:var(--s3)}
.legal-page h2{font-size:var(--fs-subhead)}
.legal-page p{font-size:var(--fs-sm);color:var(--ink-2)}

/* ---------- WooCommerce overrides ---------- */
.woocommerce ul.products{margin:0;padding:0;list-style:none;display:grid;gap:0;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media(min-width:40rem){.woocommerce ul.products{grid-template-columns:1fr 1fr}}
@media(min-width:64rem){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
.woocommerce ul.products li.product{display:flex;flex-direction:column;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--bg);margin:0;padding:0}
.woocommerce ul.products li.product:hover{background:var(--surface)}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:var(--fs-subhead);color:var(--crimson);padding:var(--s2) var(--s2) 0;margin:0}
.woocommerce ul.products li.product .price{font-size:var(--fs-sm);font-weight:600;color:var(--crimson);padding:0 var(--s2)}
.woocommerce ul.products li.product .button{display:inline-flex;margin:auto var(--s2) var(--s2);background:var(--crimson);color:#fff;border:1px solid var(--crimson);font-size:var(--fs-sm);font-weight:600;padding:.75rem 1.5rem;border-radius:0;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.woocommerce ul.products li.product .button:hover{background:#fff;color:var(--crimson);border-color:var(--crimson)}
.woocommerce .woocommerce-ordering select,.woocommerce .woocommerce-result-count{font-size:var(--fs-sm);color:var(--ink-2)}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line-2);padding:.5rem .75rem;border-radius:0;background:var(--bg)}
.woocommerce table.shop_table{border-collapse:collapse;font-size:var(--fs-sm)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-bottom:1px solid var(--line);padding:var(--s2) var(--s1);vertical-align:middle}
.woocommerce table.shop_table th{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);color:var(--ink-3)}
.woocommerce .button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--crimson);color:#fff;border:1px solid var(--crimson);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;padding:.75rem 1.5rem;border-radius:0;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.woocommerce .button:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:#fff;color:var(--crimson);border-color:var(--crimson)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{border:1px solid var(--line-2);border-radius:0;font-family:var(--font-ui);font-size:var(--fs-sm);padding:.75rem 1rem;color:var(--ink)}
.woocommerce form .form-row label{font-size:var(--fs-caption);font-weight:600;color:var(--ink-2)}
.woocommerce-checkout-payment{background:var(--surface);padding:var(--s2);border:1px solid var(--line)}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{padding:var(--s2);font-size:var(--fs-sm);border:0;border-radius:12px;background:var(--surface);margin-bottom:var(--s2)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-error::before{display:none}
.woocommerce .woocommerce-error{list-style:none}
.woocommerce .quantity input{border:1px solid var(--line-2);padding:.5rem;border-radius:0;width:4rem;text-align:center}
.woocommerce-cart-form,.woocommerce-checkout{padding-top:var(--s4)}

/* Pickup-only notice */
.axis-pickup-notice{border:1px solid var(--line-2);background:var(--surface);padding:var(--s2);font-size:var(--fs-sm);margin-bottom:var(--s3)}
.axis-pickup-notice strong{color:var(--crimson)}

/* ============================================================
   v1.1 — single product · empty cart · hamburger menu
   ============================================================ */

/* ---------- single product layout ---------- */
.single-pdp-layout{display:grid;gap:var(--s4) var(--s5);padding-block:var(--s5)}
@media(min-width:56rem){.single-pdp-layout{grid-template-columns:1fr 1fr;align-items:start}}

/* product gallery carousel */
.pdp-gallery{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--surface)}
.pdp-gallery__track{position:relative;width:100%;height:100%}
.pdp-gallery__slide{position:absolute;inset:0;opacity:0;transition:opacity .4s var(--ease);margin:0}
.pdp-gallery__slide.is-active{opacity:1}
.pdp-gallery__slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.pdp-gallery__slide.is-active:hover img{transform:scale(1.06)}
.pdp-gallery__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,.75);border:none;cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--crimson);backdrop-filter:blur(4px);transition:background var(--dur) var(--ease)}
.pdp-gallery__btn:hover{background:rgba(255,255,255,.95)}
.pdp-gallery__btn--prev{left:.75rem}
.pdp-gallery__btn--next{right:.75rem}
.pdp-gallery__dots{position:absolute;bottom:.875rem;left:0;right:0;display:flex;justify-content:center;gap:.4rem;z-index:2}
.pdp-gallery__dot{width:.5rem;height:.5rem;border-radius:50%;background:rgba(255,255,255,.55);border:none;cursor:pointer;padding:0;transition:background var(--dur) var(--ease)}
.pdp-gallery__dot.is-active{background:var(--crimson)}

/* summary column */
.single-pdp-summary{display:grid;gap:var(--s2);align-content:start}
.single-pdp-summary h1.product_title{font-family:var(--font-display);font-size:var(--fs-display);color:var(--crimson);line-height:1.1;letter-spacing:-.02em;font-weight:400;margin:0}
.single-pdp-summary .woocommerce-product-rating{display:none}
.single-pdp-summary p.price,.single-pdp-summary span.price{font-family:var(--font-display);font-size:var(--fs-subhead);color:var(--crimson);letter-spacing:-.01em}
.single-pdp-summary .woocommerce-product-details__short-description{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}
.single-pdp-summary .woocommerce-product-details__short-description p{margin:0}

/* variation selects */
.single-pdp-summary table.variations,.single-pdp-summary table.variations tbody{display:block;border:none;width:100%}
.single-pdp-summary table.variations tr{display:grid;grid-template-columns:5.5rem minmax(0,1fr);align-items:center;column-gap:var(--s1);margin:0 0 .5rem}
.single-pdp-summary table.variations td,.single-pdp-summary table.variations th{display:block;padding:0;border:none;vertical-align:middle;text-align:left}
.single-pdp-summary table.variations th.label,.single-pdp-summary table.variations th.label label{margin:0;line-height:1.2}
.single-pdp-summary table.variations label{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--ink-2);white-space:nowrap;margin:0}
.single-pdp-summary table.variations select{display:block;width:100%;height:2.75rem;margin:0;border:1px solid var(--line-2);border-radius:0;padding:0 1rem;font-family:var(--font-ui);font-size:var(--fs-sm);line-height:2.75rem;color:var(--ink);background-color:var(--bg);cursor:pointer}
.single-pdp-summary table.variations td.value .reset_variations{display:block;margin-top:.25rem}
.single-pdp-summary .reset_variations{font-size:var(--fs-caption);color:var(--ink-3);text-decoration:none;display:inline-block;margin-top:.25rem}

/* add-to-cart row */
.single-pdp-summary form.cart{display:flex;gap:var(--s1);align-items:stretch;flex-wrap:wrap;margin-top:var(--s1)}
.single-pdp-summary form.cart .quantity{width:5rem;flex-shrink:0}
.single-pdp-summary form.cart .qty{border:1px solid var(--line-2);border-radius:0;padding:.65rem;text-align:center;font-size:var(--fs-sm);width:100%;height:100%;background:var(--bg)}
.single-pdp-summary form.cart .single_add_to_cart_button,
.single-pdp-summary form.cart button.button{background:var(--crimson)!important;color:#fff!important;border:1px solid var(--crimson)!important;font-family:var(--font-ui)!important;font-size:var(--fs-sm)!important;font-weight:600!important;border-radius:0!important;padding:.65rem 1.75rem!important;cursor:pointer!important;flex:1;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)!important}
.single-pdp-summary form.cart .single_add_to_cart_button:hover,
.single-pdp-summary form.cart button.button:hover{background:#fff!important;color:var(--crimson)!important;border-color:var(--crimson)!important}

/* hide SKU / category meta */
.single-pdp-summary .product_meta{display:none}

/* tabs */
.single-pdp-tabs-wrap{padding-bottom:var(--s5)}
.woocommerce-tabs.wc-tabs-wrapper{border-top:1px solid var(--line);padding-top:0}
.woocommerce-tabs ul.tabs{list-style:none;padding:0;margin:0 0 var(--s3);display:flex;gap:var(--s2);border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{margin:0;padding:0}
.woocommerce-tabs ul.tabs li::before{display:none!important}
.woocommerce-tabs ul.tabs li a{font-size:var(--fs-over);font-weight:600;letter-spacing:var(--track-over);color:var(--ink-3);text-decoration:none;padding:var(--s1) 0;display:block;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--crimson);border-bottom-color:var(--crimson)}
.woocommerce-tabs .panel{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7;max-width:var(--measure);padding-bottom:var(--s3)}
.woocommerce-tabs .panel>h2{display:none}
.woocommerce-tabs .panel table{display:none}

/* ---------- empty cart ---------- */
.woocommerce .cart-empty::before,.woocommerce .cart-empty.woocommerce-info::before,.woocommerce-info::before{display:none!important;content:none!important}
.woocommerce .cart-empty{font-family:var(--font-display);font-size:var(--fs-subhead);color:var(--ink-2);text-align:center;padding:var(--s6) var(--gutter) var(--s3)!important;border:none!important;border-left:none!important;background:transparent!important}
.woocommerce .return-to-shop{text-align:center;padding-bottom:var(--s5)}

/* ---------- hamburger menu ---------- */
/* wrappers inside right group */
.nav-links-right{display:flex;align-items:center}
.nav-actions{display:flex;align-items:center;gap:var(--s1);margin-left:var(--s1)}

/* hamburger button (hidden on desktop) */
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;margin:-.4rem;color:var(--crimson);line-height:1}
.nav-hamburger svg{display:block}

/* fullscreen overlay */
.nav-overlay{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;padding:0 var(--gutter) var(--s4);pointer-events:none;opacity:0;transform:translateX(1.5rem);transition:opacity 260ms var(--ease),transform 260ms var(--ease);overflow-y:auto}
.nav-overlay.open{pointer-events:all;opacity:1;transform:translateX(0)}

/* overlay top bar */
.nav-overlay-top{display:flex;align-items:center;justify-content:space-between;padding-block:var(--s2);border-bottom:1px solid var(--line);margin-bottom:var(--s3);position:sticky;top:0;background:var(--bg);z-index:1}
.nav-overlay-top img{width:4.5rem;height:auto}

/* overlay close button */
.nav-overlay-close{background:none;border:none;cursor:pointer;padding:.4rem;margin:-.4rem;color:var(--crimson);line-height:1}
.nav-overlay-close svg{display:block}

/* overlay links */
.nav-overlay-nav ul{list-style:none;padding:0;margin:0}
.nav-overlay-nav li{margin:0;padding:0;border-bottom:1px solid var(--line)}
.nav-overlay-nav li a{font-family:var(--font-display);font-size:clamp(1.5rem,7vw,2.5rem);color:var(--crimson);text-decoration:none;line-height:1.1;letter-spacing:-.02em;padding:var(--s2) 0;display:block}
.nav-overlay-nav li a:hover,.nav-overlay-nav li a:active{color:var(--moss)}

/* show/hide rules */
@media(max-width:47.9375rem){
  .nav-group:first-child{display:none}
  .nav-links-right{display:none}
  .nav-hamburger{display:flex}
}
@media(min-width:48rem){
  .nav-hamburger{display:none!important}
  .nav-overlay{display:none!important}
}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}

/* ---------- cart two-column layout ---------- */
.cart-layout{display:grid;grid-template-columns:1fr;gap:var(--s4);align-items:start;margin-top:var(--s3)}
.cart-sidebar{width:100%}
@media(min-width:48rem){
  .cart-layout{grid-template-columns:1fr min(24rem,40%)}
  .cart-sidebar{position:sticky;top:5.5rem}
}
/* cart totals box */
.cart_totals h2{font-family:var(--font-display);font-size:var(--fs-subhead);color:var(--crimson);margin-bottom:var(--s2)}
.cart_totals table{width:100%;border-collapse:collapse;margin-bottom:var(--s2)}
.cart_totals th,.cart_totals td{padding:var(--s1) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.cart_totals th{font-size:var(--fs-over);text-transform:uppercase;letter-spacing:var(--track-over);color:var(--ink-3)}
.wc-proceed-to-checkout{margin-top:var(--s2)}
.wc-proceed-to-checkout a.checkout-button{display:block;text-align:center}

/* ---------- override Elementor kit (paints every <button> green) ---------- */
.nav button.nav-hamburger,.nav-overlay button.nav-overlay-close{color:var(--crimson)!important}
button.btn-primary{color:#fff!important}
button.btn-outline,button.btn-ghost{color:var(--crimson)!important}
button.btn-outline:hover,button.btn-outline:focus-visible{color:#fff!important}
.fd-order-note textarea{min-height:6rem;resize:vertical}

/* ---------- checkout payment options ---------- */
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method>label{font-size:1.125rem;font-weight:600;color:var(--crimson);cursor:pointer}
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method .payment_box,
.woocommerce-checkout-payment ul.payment_methods li.wc_payment_method .payment_box p{font-size:.8125rem;font-weight:400;line-height:1.5;color:var(--ink-2)}

/* ---------- workshop booking ---------- */
.ws{display:grid;gap:var(--s4);max-width:44rem;padding-bottom:var(--section)}
.ws-step{display:grid;gap:var(--s2);align-content:start}
.ws-step[hidden],.ws-done[hidden],.ws-msg[hidden]{display:none}
.ws-n{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--crimson);color:#fff;font-family:var(--font-ui);font-size:var(--fs-caption);font-weight:600;margin-right:.5rem;vertical-align:middle}
.ws-pick{display:grid;gap:var(--s4);align-items:start}
@media(min-width:48rem){
  .ws-pick{grid-template-columns:minmax(0,24rem) minmax(0,1fr)}
  .ws-pick #ws-form{grid-column:1/-1}
  .ws-slots{grid-template-columns:1fr}
}
/* wide screens: date | hour | details side by side, no scrolling */
@media(min-width:64rem){
  .ws{max-width:none}
  .ws-pick{grid-template-columns:minmax(0,22rem) minmax(0,12rem) minmax(0,22rem)}
  .ws-pick #ws-form{grid-column:auto}
}
.ws-cal{max-width:24rem}
.ws-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s1);color:var(--crimson)}
.ws-cal-head button{background:none;border:1px solid var(--line-2);color:var(--crimson);width:2.5rem;height:2.5rem;cursor:pointer;font-size:1rem}
.ws-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}
.ws-dow{font-size:var(--fs-over);font-weight:600;color:var(--ink-3);text-align:center;padding:.25rem 0}
.ws-day{aspect-ratio:1;border:1px solid transparent;background:transparent;color:#5a5a5a;font-family:var(--font-ui);font-size:var(--fs-sm);cursor:not-allowed}
.ws-day.is-open{border-color:var(--crimson);color:var(--crimson);font-weight:600;cursor:pointer}
.ws-day.is-open:hover,.ws-day.is-sel{background:var(--crimson);color:#fff}
.ws-slots{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}
.ws-slot{display:grid;gap:.15rem;text-align:left;padding:.75rem 1rem;border:1px solid var(--crimson);background:#fff;color:var(--crimson);font-family:var(--font-ui);cursor:pointer}
.ws-slot span,.ws-slot em{font-size:var(--fs-caption);font-style:normal}
.ws-slot span{font-weight:600}
.ws-slot em{font-weight:400}
.ws-slot:hover,.ws-slot.is-sel{background:var(--crimson);color:#fff}
.ws-slot:disabled{border-color:#c8c8c8;color:#5a5a5a;background:#fff;cursor:not-allowed}
/* override the Elementor kit, which paints every <button> green */
.ws button.ws-day{color:#5a5a5a!important}
.ws button.ws-day.is-open{color:var(--crimson)!important}
.ws button.ws-day.is-open:hover,.ws button.ws-day.is-sel{background:var(--crimson)!important;color:#fff!important}
.ws button.ws-slot{color:var(--crimson)!important;background:#fff!important}
.ws button.ws-slot:hover,.ws button.ws-slot.is-sel{background:var(--crimson)!important;color:#fff!important}
.ws button.ws-slot:disabled{color:#5a5a5a!important;background:#fff!important}
.ws button.ws-slot *{color:inherit!important}
.ws .ws-cal-head button{color:var(--crimson)!important}
.ws .field{display:grid;gap:.25rem}
.ws .field label{font-size:var(--fs-caption);font-weight:600;color:var(--ink-2)}
.ws-summary{font-weight:600;color:var(--crimson);margin:0}
.ws-msg{margin:0;padding:var(--s1) var(--s2);border-radius:12px;background:var(--surface);color:var(--crimson);font-size:var(--fs-sm)}
.ws-done{margin:0;padding:var(--s2);border-radius:12px;background:var(--crimson);color:#fff;font-size:var(--fs-lead)}

/* ---------- hero button ---------- */
.tile .hero-cta{display:inline-flex;align-items:center;align-self:flex-start;padding:.9rem 1.75rem;background:#fff;color:var(--crimson);border:1px solid #fff;font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.tile .hero-cta:hover,.tile .hero-cta:focus-visible{background:transparent;color:#fff}

/* ---------- front page studio video ---------- */
.studio-video{position:relative;width:100%;aspect-ratio:4/5;max-height:85vh;overflow:hidden;background:var(--surface);align-self:center}
.studio-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}

/* ---------- invoice option at checkout ---------- */
.fd-invoice label.checkbox{display:flex;align-items:baseline;gap:.5rem;cursor:pointer}
.fd-invoice-fields{display:none}
.fd-invoice:has(input[type=checkbox]:checked) .fd-invoice-fields{display:block}
@supports not selector(:has(a)){.fd-invoice-fields{display:block}}

/* ============================================================
   v2.21 — modern pass: rounded corners, consistent gutters, alignment
   ============================================================ */
:root{--r-sm:12px;--r-md:20px;--r-lg:28px;--gap:.75rem}

/* forms */
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea,
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form input[type=date],.wpcf7-form input[type=number],.wpcf7-form select,.wpcf7-form textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea,
.woocommerce .quantity input,.woocommerce .woocommerce-ordering select,
.single-pdp-summary table.variations select,.single-pdp-summary form.cart .qty{border-radius:var(--r-sm)}
.wpcf7-response-output,.notice,.axis-pickup-notice,.fd-pickup-notice{border-radius:var(--r-md)}
.woocommerce-checkout-payment{border-radius:var(--r-md);border:0}
.chip{border-radius:var(--r-full)}

/* buttons: pills */
.btn,.wpcf7-submit,.woocommerce .button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce ul.products li.product .button,.hero-cta,.tile .hero-cta,.fd-pill{border-radius:var(--r-sm)}
.single-pdp-summary form.cart .single_add_to_cart_button,.single-pdp-summary form.cart button.button{border-radius:var(--r-sm)!important}
.btn-ghost{border-radius:0}
.skip{border-radius:var(--r-sm)}

/* product page: aligned variation rows, quantity + button on one line */
.single-pdp-summary table.variations tr{align-items:start}
.single-pdp-summary table.variations th.label{display:flex;align-items:center;height:2.75rem}
.single-pdp-summary table.variations th.label label{display:block;line-height:1}
.single-pdp-summary .woocommerce-variation-add-to-cart,.single-pdp-summary form.cart:not(.variations_form){display:flex;flex-wrap:nowrap;gap:var(--s1);align-items:stretch}
.single-pdp-summary form.cart .quantity{width:5.5rem;flex:0 0 auto}
.single-pdp-summary form.cart .qty{min-height:3rem;width:100%}
.single-pdp-summary form.cart .single_add_to_cart_button,.single-pdp-summary form.cart button.button{min-height:3rem;flex:1 1 auto}
.single-pdp-layout{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.pdp-gallery{border-radius:var(--r-lg)}

/* cards: spaced, rounded, no hairline grid */
.shop,.woocommerce ul.products{gap:var(--s2);border-top:0}
.shop{max-width:var(--maxw);margin-inline:auto;padding-bottom:var(--section)}
.item,.woocommerce ul.products li.product{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--bg)}
.item:hover,.woocommerce ul.products li.product:hover{background:var(--bg);border-color:var(--line-3)}
.quotes,.tiers,.steps{border-radius:var(--r-md)}
.tiers{overflow:hidden}
blockquote{border:1px solid var(--line);border-radius:var(--r-md)}
.quotes{gap:var(--gap);border-top:0}

/* home: hero stays full-bleed and square; tiles + band are cards */
.tile.hero-shot{border-radius:0;padding:var(--s3)}
.hero-shot .hero-tile-logo{width:100%}
@media(min-width:56rem){.hero-shot .hero-tile-logo{width:62%}}
.tiles{gap:var(--gap);padding:var(--gap) var(--gap) 0}
.tile{border-radius:var(--r-lg);padding:var(--s3)}
.band{margin:0 var(--gap);border-radius:var(--r-lg)}
.studio-video{border-radius:var(--r-lg)}
.gal{gap:var(--gap);padding-inline:var(--gap)}
.gal figure{border-radius:var(--r-md)}

/* footer: floating rounded panel */
.foot{margin:var(--s4) var(--gap) var(--gap);border-radius:var(--r-lg);padding:var(--s5) var(--s4) var(--s2)}
.social a{border-radius:50%}
@media(max-width:47.9375rem){.foot{padding:var(--s4) var(--s2) var(--s2)}}

/* notices */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-radius:var(--r-md)}

/* workshop booking */
.ws-day,.ws-cal-head button{border-radius:var(--r-sm)}
.ws-slot{border-radius:var(--r-md)}
.ws-msg,.ws-done{border-radius:var(--r-md)}

/* cart / checkout alignment */
.cart-layout,.woocommerce-checkout .wrap{max-width:var(--maxw);margin-inline:auto}
.cart_totals{background:var(--surface);border-radius:var(--r-md);padding:var(--s2)}
.woocommerce table.shop_table{border-radius:var(--r-md)}
/* ---------- hero: text links under the logo ---------- */
.hero-links{display:flex;flex-wrap:wrap;gap:.5rem var(--s2)}
.tile .hero-link{font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.375rem);white-space:nowrap;letter-spacing:-.01em;color:#fff;background:none;border:0;padding:0;text-decoration:none;text-decoration-thickness:2px;text-underline-offset:.3em}
.tile .hero-link:hover,.tile .hero-link:focus-visible{color:#fff;text-decoration:underline}
@media(max-width:55.9375rem){.hero-l{order:-1}}
/* ---------- cart + checkout: less empty space above the content ---------- */
body.woocommerce-cart main,body.woocommerce-checkout main{padding-top:4.5rem}
.woocommerce-cart-form,.woocommerce-checkout{padding-top:0}
.woocommerce-cart .phead,.woocommerce-checkout .phead{padding-block:var(--s1) var(--s2)}
.woocommerce-checkout .headline{font-size:var(--fs-subhead)}
.woocommerce-checkout .stack{gap:var(--s1)}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .form-row{margin-top:0}
/* ---------- legal page ---------- */
.legal-nav{display:flex;flex-wrap:wrap;gap:.5rem var(--s2);font-size:var(--fs-sm);font-weight:600}
.legal-nav a{border-bottom:1px solid transparent}
.legal-nav a:hover{border-color:currentColor}
.legal-page{max-width:var(--measure);gap:var(--s5);padding-bottom:var(--section)}
.legal-doc{display:grid;gap:var(--s1);align-content:start;scroll-margin-top:6rem}
.legal-doc h2{font-family:var(--font-display);font-size:var(--fs-display);line-height:1.1;letter-spacing:-.02em;color:var(--crimson);margin-bottom:var(--s1)}
.legal-doc h3{font-size:var(--fs-subhead);color:var(--crimson);margin-top:var(--s2)}
.legal-doc p,.legal-doc li{font-size:var(--fs-sm);line-height:1.75;color:var(--ink-2)}
.legal-doc ul{padding-left:1.25rem;display:grid;gap:.35rem;margin:0}
.legal-doc a{text-decoration:underline;text-underline-offset:.2em}

/* ---------- button hover: white background needs blue text ---------- */
button.btn-primary:hover,button.btn-primary:focus-visible,
.btn-primary:hover,.btn-primary:focus-visible,
.woocommerce #place_order:hover,.woocommerce #place_order:focus-visible,
.woocommerce .button:hover,.woocommerce .button:focus-visible,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wpcf7-submit:hover,.wpcf7-submit:focus-visible{background:#fff!important;color:var(--crimson)!important;border-color:var(--crimson)!important}
.on-dark .btn-primary:hover,.on-dark .btn-primary:focus-visible{background:var(--surface)!important;border-color:var(--surface)!important}

/* ---------- footer social icons ---------- */
.social a[aria-label="TikTok"] svg,.social a[aria-label="Facebook"] svg{fill:currentColor;stroke:none}
.foot ul li{line-height:1.5}

/* ---------- hero: links sit right under the logo ---------- */
.hero-r .tile.hero-shot{justify-content:flex-start;gap:var(--s2)}