/* Könyv Világ — könyvesbolt webáruház | styles */
:root{
  --bg:#f6efe3;
  --ink:#2b211a;
  --ink-soft:#4f4236;
  --ink-mute:#6e5f50;
  --ink-mute2:#7a6a58;
  --brown:#6b4a2f;
  --brown-dark:#4a3322;
  --brown-darker:#3d2a1c;
  --accent:#9a5b34;
  --border:#dccbb0;
  --border2:#e0d2ba;
  --border3:#cdb894;
  --panel:#fbf7f0;
  --panel2:#ece1cd;
  --footer-bg:#2e2016;
  --footer-ink:#e6d8bf;
  --footer-ink2:#cdbb9c;
  --footer-ink3:#a8926f;
  --green:#5e7a3a;
  --font-serif:Georgia,'Iowan Old Style','Palatino Linotype',Palatino,serif;
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --max:1280px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--brown);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--brown-darker)}
input,textarea,select,button{font-family:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--font-serif)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Topbar */
.topbar{background:var(--brown-darker);color:#efe3cd;font-size:13px}
.topbar .wrap{padding:8px clamp(16px,3vw,32px);display:flex;flex-wrap:wrap;gap:6px 28px;justify-content:space-between}

/* Header */
.site-header{position:sticky;top:0;z-index:30;background:rgba(246,239,227,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}
.header-top{padding:16px clamp(16px,3vw,32px) 10px;display:flex;align-items:center;gap:20px 28px;flex-wrap:wrap;max-width:var(--max);margin:0 auto}
.logo{cursor:pointer;display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo-badge{width:42px;height:42px;border-radius:50%;background:var(--brown);color:var(--bg);display:flex;align-items:center;justify-content:center;font:italic 600 24px var(--font-serif);flex-shrink:0}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-title{font:600 30px var(--font-serif);color:var(--brown-darker);letter-spacing:.01em}
.logo-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute2);margin-top:4px;white-space:nowrap}
.search-box{flex:1 1 280px;display:flex;align-items:center;background:var(--panel);border:1px solid #d3c1a3;border-radius:40px;padding:4px 4px 4px 18px;max-width:520px}
.search-box input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:15px;color:var(--ink);padding:8px 0}
.search-box button{border:0;background:var(--brown);color:var(--bg);border-radius:40px;padding:9px 18px;font-weight:600;font-size:14px}
.search-box button:hover{background:var(--brown-dark)}
.header-actions{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:15px}
.header-actions a{color:var(--brown-dark);text-decoration:none;white-space:nowrap}
.header-actions a:hover{color:var(--accent)}
.cart-btn{display:flex;align-items:center;gap:10px;border:1px solid var(--brown);background:var(--panel);color:var(--brown-darker);border-radius:40px;padding:8px 16px;font-weight:600;font-size:14px;text-decoration:none}
.cart-btn:hover{background:#efe5d3}
.cart-count{min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0 6px}
.cart-total-mini{color:var(--ink-mute);font-weight:500}
.main-nav{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,3vw,32px);display:flex;flex-wrap:wrap;gap:0 22px;font-size:15px;font-weight:500;overflow-x:auto}
.main-nav a{white-space:nowrap;padding:10px 0 12px;color:var(--brown-dark);border-bottom:2px solid transparent;text-decoration:none}
.main-nav a:hover{color:var(--accent)}
.main-nav a.active{color:var(--accent);border-bottom-color:var(--accent)}
.nav-toggle{display:none;border:0;background:transparent;font-size:24px;padding:6px 10px;color:var(--brown-darker)}

/* Hero */
.hero{padding:clamp(32px,5vw,64px) 0 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.hero-eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600}
.hero h1{margin:0;font:500 clamp(46px,6vw,80px)/0.98 var(--font-serif);color:var(--ink);text-wrap:balance}
.hero h1 em{color:var(--brown);font-style:italic}
.hero p{margin:0;font-size:19px;line-height:1.6;color:var(--ink-soft);max-width:520px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--border);padding-top:22px;margin-top:8px}
.hero-stats b{display:block;font:600 26px var(--font-serif);color:var(--brown-darker)}
.hero-stats span{font-size:14px;color:var(--ink-mute)}
.hero-media{position:relative;min-height:520px}
.hero-media-img{position:absolute;inset:0 0 0 12%;border-radius:260px 260px 10px 10px;overflow:hidden;background:#d9c7a8}
.hero-media-img img{width:100%;height:100%;object-fit:cover}
.month-card{position:absolute;left:0;bottom:36px;width:230px;background:var(--panel);border:1px solid var(--border2);border-radius:8px;padding:18px 20px;box-shadow:0 20px 40px -20px rgba(60,40,20,.45)}
.month-card .label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
.month-card .title{font:600 22px/1.1 var(--font-serif);margin:6px 0 4px;text-decoration:none;color:inherit;display:block}
.month-card .author{font-size:14px;color:var(--ink-mute)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:40px;padding:15px 26px;font-weight:600;font-size:16px;cursor:pointer;text-decoration:none;border:0}
.btn-primary{background:var(--brown);color:var(--bg)}
.btn-primary:hover{background:var(--brown-dark);color:var(--bg)}
.btn-outline{border:1px solid var(--brown);background:transparent;color:var(--ink-soft)}
.btn-outline:hover{background:#efe5d3}
.btn-sm{padding:9px 16px;font-size:14px;border-radius:40px}
.btn-block{width:100%}

/* Sections */
.section{padding:40px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.section-head h2{margin:0;font:500 clamp(34px,4vw,48px)/1 var(--font-serif)}
.section-eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
.section-link{cursor:pointer;color:var(--brown);font-weight:600;border-bottom:1px solid var(--brown);text-decoration:none;white-space:nowrap}

/* Category tiles */
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.tile{cursor:pointer;position:relative;height:300px;border-radius:8px;overflow:hidden;background:#cdb894;display:block;text-decoration:none;color:inherit;transition:transform .2s}
.tile:hover{transform:translateY(-3px)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,26,15,0) 30%,rgba(40,26,15,.85) 100%)}
.tile-text{position:absolute;left:22px;right:22px;bottom:20px;color:#f8f0e2;z-index:2}
.tile-text .name{font:600 30px/1 var(--font-serif)}
.tile-text .short{font-size:15px;line-height:1.45;margin-top:8px;color:#f1e6d2}

/* Book grid / card */
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:28px 22px}
.book-card{display:flex;flex-direction:column;gap:14px;min-width:0;color:var(--ink)}
.book-cover-wrap{cursor:pointer;position:relative;background:var(--panel2);border-radius:6px;padding:26px 28px 22px;display:flex;justify-content:center;text-decoration:none;transition:background .2s}
.book-cover-wrap:hover{background:#e6d8bf}
.book-tag{position:absolute;top:10px;left:10px;z-index:2;background:var(--brown-darker);color:#f5ecdb;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:3px}
.book-cover{container-type:inline-size;width:100%;max-width:170px;aspect-ratio:2/3;border-radius:2px 5px 5px 2px;box-shadow:inset 7px 0 10px -5px rgba(0,0,0,.4),0 14px 24px -10px rgba(40,25,10,.55);position:relative;overflow:hidden;color:#f5ecdb}
.book-cover-inner{position:absolute;inset:7% 9%;border:1px solid rgba(245,236,219,.42);display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:14% 8%}
.book-cover-author{font-size:6.5cqw;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.book-cover-title{font-family:var(--font-serif);font-weight:600;font-size:13cqw;line-height:1.02;text-wrap:balance}
.book-cover-rule{width:22%;height:1px;background:rgba(245,236,219,.6)}
.book-cat{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute2)}
.book-title-link{cursor:pointer;font-family:var(--font-serif);font-size:21px;font-weight:600;line-height:1.15;text-decoration:none;color:inherit}
.book-author{font-size:14px;color:var(--ink-mute)}
.book-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.book-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.book-price{font-size:17px;font-weight:700;color:var(--brown-darker)}
.book-price-old{font-size:13px;color:#8a7a68;text-decoration:line-through}
.add-btn{border:1px solid var(--brown);background:transparent;color:var(--ink-soft);font:600 13px var(--font-sans);padding:8px 12px;border-radius:40px;white-space:nowrap}
.add-btn:hover{background:var(--brown);color:var(--bg)}

/* Month of the book section */
.month-section{background:var(--panel2);margin:40px 0}
.month-section .wrap{padding:clamp(40px,6vw,72px) clamp(16px,3vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:center}
.month-cover-wrap{display:flex;justify-content:center}
.month-cover{container-type:inline-size;width:min(300px,80%);aspect-ratio:2/3;border-radius:3px 8px 8px 3px;box-shadow:inset 10px 0 14px -6px rgba(0,0,0,.4),0 30px 50px -20px rgba(40,25,10,.6);position:relative;color:#f5ecdb;text-decoration:none;display:block}
.month-cover-inner{position:absolute;inset:7% 9%;border:1px solid rgba(245,236,219,.42);display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:14% 8%}
.month-cover-author{font-size:6cqw;letter-spacing:.14em;text-transform:uppercase}
.month-cover-title{font:600 13cqw/1.02 var(--font-serif)}
.month-quote{margin:0;font:italic 500 24px/1.4 var(--font-serif);color:var(--brown-darker)}
.month-attrib{font-size:15px;color:var(--ink-mute)}
.month-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:6px}
.month-price{font-size:24px;font-weight:700;color:var(--brown-darker)}

/* Quiz */
.quiz-box{background:var(--panel);border:1px solid var(--border2);border-radius:12px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px}
.quiz-left{display:flex;flex-direction:column;gap:22px}
.quiz-q{font-weight:600;margin-bottom:10px}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--border3);background:transparent;color:var(--ink);border-radius:40px;padding:9px 16px;font-size:15px}
.chip.active{background:var(--brown);color:var(--bg)}
.quiz-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:640px){.quiz-results{grid-template-columns:repeat(2,1fr)}}

/* Quote band */
.quote-band{background:var(--brown-darker);color:#f1e6d2;margin:40px 0}
.quote-band .wrap{max-width:980px;padding:clamp(48px,7vw,90px) clamp(16px,3vw,32px);text-align:center}
.quote-band blockquote{margin:0;font:italic 500 clamp(32px,4.4vw,54px)/1.15 var(--font-serif);text-wrap:balance}
.quote-band cite{display:block;margin-top:22px;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:#cdb894;font-style:normal}

/* Story / photo triptych */
.story-section{padding:48px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.story-photos{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;height:460px}
.story-photos .big{border-radius:8px;overflow:hidden;background:#cdb894}
.story-photos .stack{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.story-photos .small{border-radius:8px;overflow:hidden;background:#d9c7a8}
.story-photos img{width:100%;height:100%;object-fit:cover}
.story-text{display:flex;flex-direction:column;gap:18px}
.story-text p{margin:0;font-size:17px;line-height:1.65;color:var(--ink-soft)}

/* Articles */
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.article-card{cursor:pointer;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit}
.article-thumb{height:220px;border-radius:8px;overflow:hidden;background:#d9c7a8}
.article-thumb img{width:100%;height:100%;object-fit:cover}
.article-meta{font-size:13px;color:var(--accent);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.article-title{font:600 26px/1.1 var(--font-serif)}
.article-excerpt{color:var(--ink-mute);font-size:16px;line-height:1.55}
.article-more{color:var(--brown);font-weight:600}

/* Newsletter */
.newsletter{background:var(--panel2);margin-top:40px}
.newsletter .wrap{padding:48px clamp(16px,3vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:center}
.newsletter h2{margin:0 0 8px;font:500 clamp(30px,3.5vw,42px)/1.05 var(--font-serif)}
.newsletter p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.6}
.newsletter-form{display:flex;flex-direction:column;gap:10px}
.newsletter-row{display:flex;gap:10px;flex-wrap:wrap}
.newsletter-row input[type=email]{flex:1 1 220px;border:1px solid var(--border3);background:var(--panel);border-radius:40px;padding:14px 20px;font-size:16px}
.newsletter-row button{border:0;background:var(--brown-darker);color:var(--bg);border-radius:40px;padding:14px 26px;font-weight:600;font-size:15px}
.consent-row{display:flex;gap:8px;font-size:13px;color:var(--ink-soft);align-items:flex-start}
.consent-row input{margin-top:3px}
.form-success{font:600 24px var(--font-serif);color:var(--brown-darker)}

/* Breadcrumb */
.breadcrumb{font-size:14px;color:var(--ink-mute2);display:flex;gap:8px;flex-wrap:wrap;padding-top:28px}
.breadcrumb a{color:var(--ink-mute2);text-decoration:none}
.breadcrumb a:hover{color:var(--brown)}
.breadcrumb .current{color:var(--brown-darker)}

/* Category hero */
.cat-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;align-items:center;margin-top:22px}
.cat-hero h1{margin:0;font:500 clamp(46px,6vw,72px)/1 var(--font-serif)}
.cat-hero p{margin:0;font-size:18px;line-height:1.65;color:var(--ink-soft)}
.cat-hero-img{height:300px;border-radius:200px 8px 8px 8px;overflow:hidden;background:#cdb894}
.cat-hero-img img{width:100%;height:100%;object-fit:cover}
.gift-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:32px 0 0}
.gift-perk{background:var(--panel2);border-radius:8px;padding:22px}
.gift-perk .h{font:600 22px var(--font-serif)}
.gift-perk .d{color:var(--ink-soft);font-size:15px;line-height:1.55;margin-top:6px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;margin:30px 0}
.sort-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sort-label{font-size:14px;color:var(--ink-mute)}
.sort-btn{border:1px solid var(--border3);background:transparent;color:var(--ink);border-radius:40px;padding:7px 14px;font-size:14px}
.sort-btn.active{background:var(--brown);color:var(--bg)}
.seo-box{background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:clamp(24px,4vw,44px);margin:10px 0 40px}
.seo-box h2{margin:0 0 20px;font:500 34px/1.05 var(--font-serif)}
.seo-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px 40px}
.seo-cols p{margin:0;font-size:16px;line-height:1.7;color:var(--ink-soft)}

/* Book detail */
.book-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;margin-top:28px;align-items:start}
.book-detail-cover{background:var(--panel2);border-radius:10px;padding:clamp(32px,6vw,70px);display:flex;justify-content:center}
.book-detail-cover .book-cover{width:min(320px,100%)}
.book-detail-info{display:flex;flex-direction:column;gap:18px}
.book-detail-info h1{margin:0;font:500 clamp(40px,5vw,62px)/1 var(--font-serif)}
.stock-line{display:flex;align-items:center;gap:8px;color:var(--green);font-weight:600;font-size:15px}
.stock-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block}
.detail-price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.detail-price{font-size:32px;font-weight:700;color:var(--brown-darker)}
.detail-price-old{font-size:18px;color:#8a7a68;text-decoration:line-through}
.detail-vat{font-size:14px;color:var(--ink-mute)}
.detail-desc{margin:6px 0 0;font-size:17px;line-height:1.7;color:var(--ink-soft)}
.meta-grid{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;border-top:1px solid var(--border);padding-top:18px;font-size:15px}
.meta-grid span:nth-child(odd){color:var(--ink-mute2)}
.perk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
.perk-box{background:var(--panel);border:1px solid var(--border2);border-radius:8px;padding:12px;font-size:14px;line-height:1.4}
@media (max-width:640px){.perk-grid{grid-template-columns:1fr 1fr}}

/* Article page */
.article-page{max-width:820px;margin:0 auto;padding:36px clamp(16px,3vw,32px) 56px}
.article-tag{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-top:26px}
.article-page h1{margin:12px 0 18px;font:500 clamp(40px,5.5vw,64px)/1.02 var(--font-serif);text-wrap:balance}
.article-lede{margin:0 0 28px;font:italic 500 24px/1.45 var(--font-serif);color:var(--ink-soft)}
.article-hero{height:400px;border-radius:10px;overflow:hidden;background:#d9c7a8;margin-bottom:36px}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-body h2{margin:0 0 10px;font:600 30px/1.1 var(--font-serif)}
.article-body p{margin:0 0 26px;font-size:18px;line-height:1.75;color:#3a2f26}
.article-cta{margin-top:36px;background:var(--panel2);border-radius:10px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.article-cta .h{font:600 24px var(--font-serif)}
.article-cta-btns{display:flex;gap:10px;flex-wrap:wrap}

/* About */
.about-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.about-hero-img{height:480px;border-radius:260px 260px 10px 10px;overflow:hidden;background:#cdb894}
.about-hero-img img{width:100%;height:100%;object-fit:cover}
.about-values{background:var(--panel2)}
.about-values .wrap{padding:56px clamp(16px,3vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.about-values .h{font:600 28px var(--font-serif);margin-bottom:8px}
.about-values p{margin:0;color:var(--ink-soft);line-height:1.65;font-size:16px}
.events-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.event-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border)}
.event-date{font:600 26px/1 var(--font-serif);color:var(--accent)}
.event-title{font-weight:600;font-size:18px}
.event-desc{color:var(--ink-mute);font-size:15px;margin-top:3px}
.event-time{font-size:14px;color:var(--ink-mute);white-space:nowrap}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px}
.contact-info-box{background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:26px;display:grid;grid-template-columns:auto 1fr;gap:12px 22px;font-size:16px}
.contact-info-box span:nth-child(odd){color:var(--ink-mute2)}
.contact-map{height:280px;border-radius:10px;border:1px solid #d8c7aa;background:repeating-linear-gradient(135deg,var(--panel2) 0 12px,#e6d8bf 12px 24px);display:flex;align-items:center;justify-content:center;font-family:ui-monospace,monospace;font-size:13px;color:var(--ink-mute);text-align:center;padding:12px;margin-top:22px}
.form-panel{background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:clamp(22px,3vw,34px)}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input,.field textarea,.field select{border:1px solid #d3c1a3;background:#fff;border-radius:6px;padding:12px;font-size:16px}
.field textarea{resize:vertical}
.form-panel form{display:flex;flex-direction:column;gap:16px}

/* FAQ */
.faq-list{border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font:600 23px/1.2 var(--font-serif)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:var(--accent);font-family:var(--font-sans);font-size:22px}
.faq-item[open] summary::after{content:'\2212'}
.faq-item p{margin:0 0 22px;font-size:17px;line-height:1.7;color:var(--ink-soft)}

/* Legal */
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}
.legal-nav{position:sticky;top:150px;background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:4px}
.legal-nav-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute2);font-weight:600;margin-bottom:8px}
.legal-nav a{padding:8px 10px;border-radius:6px;color:var(--brown-darker);font-size:15px;text-decoration:none}
.legal-nav a:hover{background:var(--panel2)}
.legal-nav a.active{background:var(--panel2)}
.legal-content h1{margin:0 0 8px;font:500 clamp(40px,5vw,60px)/1.02 var(--font-serif)}
.legal-date{color:var(--ink-mute2);font-size:15px;margin-bottom:30px}
.legal-content h2{margin:0 0 10px;font:600 26px/1.15 var(--font-serif)}
.legal-content p{margin:0 0 10px;font-size:16px;line-height:1.7;color:#3a2f26}
.legal-section{margin-bottom:28px}
@media (max-width:760px){.legal-layout{grid-template-columns:1fr}.legal-nav{position:static}}

/* Cart */
.cart-empty{background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:48px;text-align:center}
.cart-empty .h{font:600 30px var(--font-serif);margin-bottom:10px}
.cart-empty p{color:var(--ink-mute);font-size:17px;margin:0 0 20px}
.cart-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:36px;align-items:start}
.cart-main{grid-column:span 2;min-width:0;display:flex;flex-direction:column;gap:20px}
@media (max-width:900px){.cart-main{grid-column:span 1}}
.free-ship-box{background:var(--panel2);border-radius:10px;padding:18px 20px}
.free-ship-msg{font-size:15px;color:var(--brown-darker);margin-bottom:10px}
.free-ship-track{height:6px;border-radius:3px;background:var(--border);overflow:hidden}
.free-ship-fill{height:100%;background:var(--brown)}
.cart-items{border-top:1px solid var(--border)}
.cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}
.cart-item-cover{width:64px;aspect-ratio:2/3;border-radius:2px 4px 4px 2px;box-shadow:inset 4px 0 6px -3px rgba(0,0,0,.4);text-decoration:none;display:block}
.cart-item-info .t{font:600 21px/1.15 var(--font-serif)}
.cart-item-info .a{font-size:14px;color:var(--ink-mute)}
.cart-item-info .remove{cursor:pointer;font-size:13px;color:var(--accent);text-decoration:underline;background:none;border:0;padding:0}
.qty-control{display:flex;align-items:center;border:1px solid var(--border3);border-radius:40px}
.qty-control button{border:0;background:transparent;width:36px;height:36px;font-size:18px;color:var(--brown-darker)}
.qty-control span{min-width:22px;text-align:center;font-weight:600}
.cart-line-price{font-weight:700;min-width:90px;text-align:right}
.gift-wrap-row{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:16px 18px;cursor:pointer}
.gift-wrap-row input{margin-top:4px}
.gift-wrap-row small{color:var(--ink-mute);font-size:14px}
.summary-box{background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:12px;position:sticky;top:150px}
.summary-box .h{font:600 26px var(--font-serif)}
.summary-row{display:flex;justify-content:space-between}
.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px;font-size:20px;font-weight:700}
.summary-note{font-size:13px;color:var(--ink-mute)}
.back-link{cursor:pointer;text-align:center;color:var(--brown);font-size:15px;text-decoration:none}

/* Checkout */
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:36px;align-items:start}
.checkout-main{grid-column:span 2;min-width:0;display:flex;flex-direction:column;gap:26px}
@media (max-width:900px){.checkout-main{grid-column:span 1}}
.checkout-panel{background:var(--panel);border:1px solid var(--border2);border-radius:10px;padding:24px}
.checkout-panel-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.checkout-panel .panel-title{grid-column:1/-1;font:600 24px var(--font-serif);margin-bottom:4px}
.radio-option{display:flex;gap:12px;align-items:center;border:1px solid var(--border2);border-radius:8px;padding:14px;cursor:pointer;background:#fff;margin-top:10px}
.radio-option span.lbl{flex:1}
.radio-option b{display:block}
.radio-option small{font-size:14px;color:var(--ink-mute)}
.radio-price{font-weight:600}
.order-line{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.consent-small{display:flex;gap:10px;font-size:14px;line-height:1.5;color:#3a2f26}
.consent-small input{margin-top:3px}

/* Success */
.success-page{max-width:760px;margin:0 auto;padding:72px clamp(16px,3vw,32px);text-align:center}
.success-check{width:72px;height:72px;border-radius:50%;background:var(--brown);color:var(--bg);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:32px}
.success-page h1{margin:0 0 14px;font:500 clamp(42px,5vw,60px)/1 var(--font-serif)}
.success-page p{font-size:18px;line-height:1.65;color:var(--ink-soft);margin:0 0 8px}

/* Footer */
.site-footer{background:var(--footer-bg);color:var(--footer-ink);margin-top:40px}
.footer-grid{padding:56px clamp(16px,3vw,32px) 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:36px;max-width:var(--max);margin:0 auto}
.footer-brand{display:flex;flex-direction:column;gap:12px}
.footer-brand .name{font:600 30px var(--font-serif);color:#f6efe3}
.footer-brand p{margin:0;font-size:15px;line-height:1.6;color:var(--footer-ink2)}
.footer-brand .contact{font-size:14px;line-height:1.7;color:var(--footer-ink2)}
.footer-col{display:flex;flex-direction:column;gap:9px;font-size:15px}
.footer-col-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--footer-ink3);font-weight:600;margin-bottom:4px}
.footer-col a,.footer-col button{color:var(--footer-ink);text-decoration:none;background:none;border:0;padding:0;text-align:left;font-size:15px;cursor:pointer}
.footer-col a:hover,.footer-col button:hover{color:#fff}
.footer-bottom{max-width:var(--max);margin:0 auto;padding:18px clamp(16px,3vw,32px) 28px;border-top:1px solid #4a3828;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;font-size:13px;color:var(--footer-ink3)}

/* Cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;background:var(--panel);border:1px solid #d3c1a3;border-radius:12px;box-shadow:0 20px 50px -20px rgba(40,25,10,.5);padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.cookie-banner.hidden{display:none}
.cookie-banner .h{font:600 22px var(--font-serif)}
.cookie-banner p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions .link-btn{border:0;background:transparent;color:var(--brown);padding:11px 8px;font-size:14px;text-decoration:underline}

/* Toast */
.toast{position:fixed;top:24px;right:24px;z-index:70;background:var(--brown-darker);color:var(--bg);padding:14px 20px;border-radius:8px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);font-size:15px;display:none;gap:14px;align-items:center}
.toast.show{display:flex}
.toast a{color:var(--bg);text-decoration:underline;font-weight:600}

/* Grid helpers */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}

@media (max-width:760px){
  .main-nav{display:none}
  .main-nav.open{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--border);padding:8px 16px 16px}
  .nav-toggle{display:inline-flex}
  .header-actions span.hide-mobile,.header-actions a.hide-mobile{display:none}
}
