@import url('fonts.css');

:root{
  --bg:#f5f1ea;
  --ink:#221c17;
  --ink-soft:#4a4138;
  --ink-mute:#6b6157;
  --line:#e2d9cc;
  --line-strong:#c9bdab;
  --panel:#fbf9f5;
  --dark:#2b221b;
  --dark-line:#4a3c30;
  --dark-ink:#f1ebe1;
  --dark-ink-soft:#d9cfc1;
  --gold:#8a6534;
  --gold-soft:#9a7440;
  --gold-light:#d4b07a;
  --ok:#4d6b3c;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Work Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--ink)}
input,select,textarea,button{font-family:inherit;font-size:15px}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
button{cursor:pointer}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.mono{font-family:'IBM Plex Mono',monospace}

/* ===== top promo bar ===== */
.promo{background:var(--dark);color:var(--dark-ink);font-size:13px;letter-spacing:.02em;padding:9px 24px;text-align:center}

/* ===== header ===== */
.site-header{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header-top{max-width:1240px;margin:0 auto;padding:16px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand-mark{width:34px;height:34px;border:5px solid var(--ink);padding:4px;background:var(--panel);flex:none}
.brand-mark span{display:block;width:100%;height:100%;background:var(--gold-soft)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:600;letter-spacing:.01em}
.brand-text small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px}
.header-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.header-actions a.tel{color:var(--ink);text-decoration:none;font-size:14px}
.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink);padding:10px 16px;cursor:pointer;font-size:14px}
.btn-cart{background:var(--ink);color:var(--bg);border:none;padding:11px 18px;cursor:pointer;font-size:14px;display:flex;gap:10px;align-items:center}
.btn-cart .count{background:var(--gold-soft);color:#fff;min-width:22px;height:22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 6px}

.site-nav{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;gap:26px;overflow-x:auto}
.site-nav a{padding:16px 0 14px;font-size:14px;cursor:pointer;white-space:nowrap;color:#5d544b;border-bottom:2px solid transparent;text-decoration:none}
.site-nav a:hover{color:var(--ink)}
.site-nav a.active{color:var(--ink);border-bottom-color:var(--gold-soft)}

/* ===== generic layout helpers ===== */
main{flex:1}
.section{max-width:1240px;margin:0 auto;padding:60px 24px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px}
.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.lead{font-size:18px;line-height:1.65;color:var(--ink-soft)}
.breadcrumb{font-size:13px;color:var(--ink-mute);margin-bottom:24px}
.breadcrumb a{color:var(--ink-mute);text-decoration:none}
.breadcrumb a:hover{color:var(--ink)}
.img-cover{width:100%;height:100%;object-fit:cover;display:block}
.frame-fig{aspect-ratio:4/3;overflow:hidden;background:#e3dacb}
.frame-fig.ar-16-9{aspect-ratio:16/9}
.frame-fig.ar-5-4{aspect-ratio:5/4}
.frame-fig.ar-4-5{aspect-ratio:4/5}
.frame-fig.ar-3-2{aspect-ratio:3/2}
.frame-fig.ar-1-1{aspect-ratio:1/1}

.btn{display:inline-block;background:var(--ink);color:var(--bg);border:none;padding:16px 26px;font-size:15px;cursor:pointer;text-decoration:none;text-align:center}
.btn:hover{background:#3a2f26}
.btn-ghost{display:inline-block;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:16px 26px;font-size:15px;cursor:pointer;text-decoration:none;text-align:center}
.btn-ghost:hover{background:#efe9dd}
.btn-gold{display:inline-block;background:var(--gold-light);color:var(--dark);border:none;padding:16px 26px;font-size:15px;cursor:pointer;font-weight:500;text-decoration:none}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}

/* ===== home hero ===== */
.hero{padding:72px 24px 64px}
.hero h1{font-weight:500;font-size:clamp(44px,6vw,76px);line-height:1.02;margin:0 0 24px}
.hero h1 em{color:var(--gold);font-style:italic}
.hero-stats{display:flex;gap:28px;margin-top:44px;flex-wrap:wrap;font-size:14px;color:var(--ink-soft)}
.hero-stats div{display:flex;flex-direction:column;gap:2px}
.hero-stats span{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;color:var(--ink)}
.hero-frame{border:26px solid #4a3324;box-shadow:inset 0 0 0 2px #6b4a33,0 30px 60px -20px rgba(43,34,27,.45),0 2px 0 var(--dark);background:#f7f3ea;padding:20px;max-width:440px;margin:0 auto}
.hero-frame .frame-fig{aspect-ratio:4/5}

/* ===== perks strip ===== */
.perks{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.perks .wrap{padding:26px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;font-size:14px;color:var(--ink-soft)}
.perks strong{color:var(--ink)}

/* ===== service cards ===== */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.section-head h2{font-weight:500;font-size:clamp(34px,4vw,50px);margin:0;max-width:640px;line-height:1.1}
.section-head p{color:var(--ink-soft);max-width:420px;line-height:1.6}
.service-card{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit}
.service-card h3{font-weight:600;font-size:30px}
.service-card p{line-height:1.6;color:var(--ink-soft)}
.service-card .more{font-size:14px;border-bottom:1px solid var(--ink);align-self:flex-start;padding-bottom:2px}

/* ===== steps ===== */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--ink)}
.step{padding:26px 24px 0 0;display:flex;flex-direction:column;gap:12px}
.step .n{font-family:'Cormorant Garamond',Georgia,serif;font-size:44px;color:var(--gold-soft);line-height:1}
.step h3{font-size:18px;font-weight:600}
.step p{line-height:1.6;color:var(--ink-soft);font-size:15px}

/* ===== dark cta (configurator promo) ===== */
.dark-cta{background:var(--dark);color:var(--dark-ink)}
.dark-cta .wrap{padding:80px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:56px;align-items:center}
.dark-cta h2{font-weight:500;font-size:clamp(36px,4.5vw,56px);margin:0 0 20px;line-height:1.05}
.dark-cta p{line-height:1.7;color:var(--dark-ink-soft);margin:0 0 30px;max-width:500px}
.dark-cta .kicker{color:var(--gold-light)}
.mini-frames{display:flex;gap:24px;justify-content:center;align-items:flex-end;flex-wrap:wrap}
.mini-frame{border:12px solid #1d1b19;background:var(--panel);padding:12px;width:140px}
.mini-frame.big{width:190px;border:18px solid #b8923f;box-shadow:inset 0 0 0 2px #8f6f2c;background:#f3ead9}
.mini-frame .frame-fig{aspect-ratio:4/5}

/* ===== product cards (shop/featured) ===== */
.prod-card{display:flex;flex-direction:column;gap:10px}
.prod-thumb{background:#ebe4d8;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:28px;position:relative}
.prod-frame{box-shadow:0 14px 30px -12px rgba(43,34,27,.4);display:flex;align-items:center;justify-content:center;overflow:hidden}
.prod-frame img{width:100%;height:100%;object-fit:cover}
.prod-canvas{width:100%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;color:var(--ink)}
.prod-badge{position:absolute;top:12px;left:12px;background:var(--ink);color:var(--bg);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px}
.prod-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.prod-row strong{font-weight:500}
.prod-size{font-size:13px;color:var(--ink-mute)}
.prod-desc{font-size:14px;line-height:1.55;color:var(--ink-soft)}
.prod-stock{font-size:12px;color:var(--ok)}
.btn-add{background:var(--ink);color:var(--bg);border:none;padding:12px;cursor:pointer;margin-top:4px;font-size:14px}
.btn-add-outline{background:transparent;border:1px solid var(--ink);padding:11px;cursor:pointer;color:var(--ink);font-size:14px}

/* ===== reviews ===== */
.review{margin:0;background:var(--panel);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:18px}
.review .stars{color:var(--gold-soft);letter-spacing:.2em}
.review blockquote{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;line-height:1.35;font-style:normal}
.review figcaption{font-size:14px;color:var(--ink-mute)}

/* ===== location ===== */
.location-grid{max-width:1240px;margin:0 auto;padding:60px 24px 96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:48px}
.hours{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;font-size:15px}
.map-embed{min-height:340px;border:0;width:100%}

/* ===== service page hero ===== */
.svc-hero{padding:64px 24px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center}
.svc-hero h1{font-weight:500;font-size:clamp(42px,5.5vw,68px);line-height:1.04;margin:0 0 22px}
.svc-body{padding:40px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:56px}
.svc-intro p{margin:0 0 18px;line-height:1.75;font-size:16px;color:#3a322b}
.price-box{background:var(--panel);border:1px solid var(--line);padding:32px}
.price-box h2{font-weight:600;font-size:28px;margin:0 0 20px}
.price-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.price-row strong{font-weight:500;white-space:nowrap}
.price-note{font-size:13px;color:var(--ink-mute);margin:16px 0 0;line-height:1.5}
.features{padding:40px 24px 96px}
.feature{border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.feature h3{margin:0;font-size:18px;font-weight:600}
.feature p{margin:0;line-height:1.6;color:var(--ink-soft);font-size:15px}

/* ===== configurator ===== */
.cfg-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px;align-items:start}
.cfg-preview{background:#ebe4d8;min-height:520px;display:flex;align-items:center;justify-content:center;padding:40px;position:sticky;top:140px}
.cfg-frame{box-shadow:0 24px 50px -18px rgba(43,34,27,.5),inset 0 0 0 1px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center}
.cfg-art{background:repeating-linear-gradient(135deg,#e6dccb 0 8px,#ded3c0 8px 16px);box-shadow:inset 0 1px 3px rgba(0,0,0,.2);display:flex;align-items:flex-end;padding:8px;background-size:cover}
.cfg-art span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-mute);background:rgba(251,249,245,.8);padding:2px 5px}
.cfg-step h3{margin:0 0 12px;font-size:15px;font-weight:600}
.cfg-dims{display:flex;gap:14px;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-mute);flex:1;min-width:120px}
.field input,.field select,.field textarea{padding:12px;border:1px solid var(--line-strong);background:var(--panel)}
.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.swatch{cursor:pointer;border:1px solid var(--line);background:var(--panel);padding:12px;display:flex;flex-direction:column;gap:8px}
.swatch.active{border-color:var(--ink)}
.swatch .bar{height:18px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.swatch span.name{font-size:13px;line-height:1.3}
.swatch span.price{font-size:12px;color:var(--ink-mute)}
.mat-row{display:flex;gap:10px;flex-wrap:wrap}
.mat-chip{cursor:pointer;border:1px solid var(--line);background:var(--panel);padding:10px 14px;display:flex;gap:10px;align-items:center;font-size:14px}
.mat-chip.active{border-color:var(--ink)}
.mat-chip .sw{width:18px;height:18px;border:1px solid var(--line-strong)}
.range-row{display:flex;align-items:center;gap:14px;font-size:14px;margin-top:14px}
.range-row input[type=range]{flex:1;accent-color:var(--gold-soft)}
.glass-list{display:flex;flex-direction:column;gap:8px}
.glass-opt{cursor:pointer;border:1px solid var(--line);background:var(--panel);padding:12px 16px;display:flex;justify-content:space-between;gap:12px;font-size:14px}
.glass-opt.active{border-color:var(--ink)}
.glass-opt .d{color:var(--ink-mute)}
.cfg-summary{background:var(--dark);color:var(--dark-ink);padding:26px;display:flex;flex-direction:column;gap:12px}
.cfg-summary .line{display:flex;justify-content:space-between;font-size:14px;color:var(--dark-ink-soft)}
.cfg-summary .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #5a4a3c;padding-top:14px}
.cfg-summary .total span:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;color:var(--dark-ink)}

/* ===== shop filters ===== */
.cat-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.cat-btn{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:9px 18px;cursor:pointer;font-size:14px}
.cat-btn.active{background:var(--ink);color:var(--bg)}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:36px 28px}

/* ===== gallery (masonry) ===== */
.masonry{columns:3 280px;column-gap:24px}
.masonry figure{margin:0 0 24px;break-inside:avoid}
.masonry figcaption{padding-top:10px;display:flex;flex-direction:column;gap:3px}
.masonry figcaption strong{font-weight:500}
.masonry figcaption span{font-size:13px;color:var(--ink-mute)}

/* ===== poradna / articles ===== */
.article-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.article-card .meta{font-size:13px;color:var(--ink-mute)}
.article-card h2{font-weight:600;font-size:28px;margin:0;line-height:1.15}
.article-card p{line-height:1.6;color:var(--ink-soft)}
.article-card .more{font-size:14px;border-bottom:1px solid var(--ink);align-self:flex-start}
.article-body{max-width:720px;margin:0 auto}
.article-body .back{cursor:pointer;font-size:14px;color:var(--ink-mute);text-decoration:none}
.article-body h1{font-weight:500;font-size:clamp(38px,5vw,56px);margin:24px 0 12px;line-height:1.08}
.article-body .meta{font-size:14px;color:var(--ink-mute);margin-bottom:32px}
.article-body h2{font-weight:600;font-size:28px;margin:32px 0 12px}
.article-body p{margin:0;line-height:1.8;font-size:17px;color:#3a322b}
.article-cta{margin-top:48px;background:var(--panel);border:1px solid var(--line);padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.article-cta span{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px}

/* ===== faq ===== */
.faq-list{border-top:1px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:18px;font-weight:500;background:none;border:none;width:100%;text-align:left;color:inherit}
.faq-q .sign{color:var(--gold-soft);font-size:22px;line-height:1}
.faq-a{margin:0 0 22px;line-height:1.7;color:var(--ink-soft);display:none}
.faq-item.open .faq-a{display:block}

/* ===== contact / forms ===== */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:56px}
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;font-size:15px;line-height:1.65}
.contact-info strong{display:block;margin-bottom:6px}
.form-panel{background:var(--panel);border:1px solid var(--line);padding:34px}
form{display:flex;flex-direction:column;gap:16px}
form .row{display:flex;gap:14px;flex-wrap:wrap}
form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-mute)}
form label.check{display:flex;flex-direction:row;gap:10px;font-size:13px;line-height:1.5;color:var(--ink-soft);align-items:flex-start}
form input[type=text],form input[type=email],form input[type=tel],form select,form textarea{padding:12px;border:1px solid var(--line-strong);background:#fff}
form input[type=checkbox]{margin-top:3px;accent-color:var(--gold-soft)}
.form-success{display:flex;flex-direction:column;gap:12px}
.form-success h2{font-weight:500;font-size:34px}

/* ===== checkout ===== */
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:start}
fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
legend{font-weight:600;margin-bottom:14px;padding:0}
.opt-row{cursor:pointer;border:1px solid var(--line);background:var(--panel);padding:14px 16px;display:flex;justify-content:space-between;gap:12px;font-size:14px}
.opt-row.active{border-color:var(--ink)}
.opt-row .d{color:var(--ink-mute)}
.order-summary{background:var(--panel);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:14px;position:sticky;top:140px}
.order-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.order-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:12px}
.order-total span:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px}
.vat-note{font-size:12px;color:var(--ink-mute)}
.order-done{max-width:640px;margin:40px auto;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}
.order-done .mark{width:64px;height:64px;border:8px solid var(--gold-soft);padding:6px}
.order-done .mark span{display:block;width:100%;height:100%;background:var(--dark)}
.order-done h1{font-weight:500;font-size:52px}

/* ===== legal pages ===== */
.legal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:56px}
.legal-nav{display:flex;flex-direction:column;gap:4px;align-self:start;position:sticky;top:140px}
.legal-nav a{padding:8px 0;font-size:15px;color:inherit;border-bottom:1px solid var(--line);text-decoration:none}
.legal-nav a.active{color:var(--gold)}
.legal-article{grid-column:span 3;max-width:780px;min-width:0}
.legal-article h1{font-weight:500;font-size:clamp(36px,4.5vw,54px);margin:0 0 10px;line-height:1.08}
.legal-meta{font-size:14px;color:var(--ink-mute);margin-bottom:32px}
.legal-article h2{font-size:19px;font-weight:600;margin:32px 0 12px}
.legal-article p{margin:0 0 12px;line-height:1.75;color:#3a322b;font-size:15.5px}

/* ===== team ===== */
.team-card{display:flex;flex-direction:column;gap:8px}
.team-card .frame-fig{aspect-ratio:4/5}
.team-card strong{font-weight:500;font-size:17px;margin-top:6px}
.team-card span{font-size:14px;color:var(--ink-mute)}

/* ===== footer ===== */
.site-footer{background:var(--dark);color:var(--dark-ink-soft);font-size:14px}
.footer-grid{max-width:1240px;margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:40px}
.footer-col{display:flex;flex-direction:column;gap:10px;line-height:1.6}
.footer-col strong{color:var(--dark-ink);font-weight:500;margin-bottom:4px;display:block}
.footer-col a{color:var(--dark-ink-soft);text-decoration:none}
.footer-col a:hover{color:#fff}
.footer-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;color:var(--dark-ink)}
.footer-fine{font-size:12px;color:#b3a795}
.footer-bottom{max-width:1240px;margin:0 auto;padding:22px 24px 34px;border-top:1px solid var(--dark-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#b3a795;line-height:1.6}
.footer-bottom a{color:var(--gold-light)}
button.link{background:none;border:none;padding:0;color:var(--dark-ink-soft);cursor:pointer;text-decoration:underline;font-size:14px}

/* ===== cart drawer ===== */
.cart-overlay{position:fixed;inset:0;background:rgba(34,28,23,.45);z-index:40;display:none}
.cart-overlay.open{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--panel);z-index:41;display:flex;flex-direction:column;box-shadow:-20px 0 40px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .25s ease}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid var(--line)}
.cart-head span{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px}
.cart-head button{background:none;border:none;font-size:15px;cursor:pointer;color:var(--ink)}
.cart-body{flex:1;overflow:auto;padding:10px 26px}
.cart-empty{color:var(--ink-mute);padding:30px 0}
.cart-line{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cart-line-top{display:flex;justify-content:space-between;gap:12px}
.cart-line-top strong{font-weight:500;font-size:15px;line-height:1.35}
.cart-line-bottom{display:flex;justify-content:space-between;align-items:center}
.qty-ctrl{display:flex;align-items:center;border:1px solid var(--line-strong)}
.qty-ctrl button{background:none;border:none;width:36px;height:36px;cursor:pointer}
.qty-ctrl span{min-width:28px;text-align:center}
.cart-remove{background:none;border:none;color:var(--ink-mute);cursor:pointer;text-decoration:underline;font-size:13px}
.cart-foot{padding:24px 26px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.cart-ship-msg{font-size:13px;color:var(--ink-mute)}
.cart-sub{display:flex;justify-content:space-between;align-items:baseline}
.cart-sub span:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px}

/* ===== cookie banner ===== */
.cookie-banner{position:fixed;left:20px;bottom:20px;right:20px;max-width:520px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 20px 50px rgba(43,34,27,.25);z-index:50;padding:26px;display:none;flex-direction:column;gap:14px}
.cookie-banner.show{display:flex}
.cookie-banner strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:600}
.cookie-banner p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.cookie-detail{display:none;flex-direction:column;gap:10px;font-size:14px;border-top:1px solid var(--line);padding-top:14px}
.cookie-detail.show{display:flex}
.cookie-detail label{display:flex;gap:10px;align-items:center}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions button{flex:1;min-width:130px;padding:12px;cursor:pointer;font-size:14px}
.cookie-accept{background:var(--ink);color:var(--bg);border:none}
.cookie-reject,.cookie-settings{background:none;border:1px solid var(--ink);color:var(--ink)}
.cookie-settings{border:none;text-decoration:underline}

@media (max-width:640px){
  .masonry{columns:1 100%}
  .legal-article{grid-column:auto}
  .legal-nav{position:static}
  .cfg-preview{position:static}
  .order-summary{position:static}
}
