:root{
  --ink:#1c1915; --ink-2:#2a251f; --cream:#f7f2ea; --paper:#fbf8f3; --gold:#b08d57; --gold-2:#c9a96e;
  --muted:#7a7066; --line:#e4dbcd; --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  --radius:4px; --header-h:76px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
svg{width:20px;height:20px;flex-shrink:0}
.container{width:min(1180px,100% - 40px);margin-inline:auto}
.narrow{max-width:760px}
.small{font-size:.85rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:.005em}
h2{font-size:clamp(2.2rem,4.5vw,3.4rem)}
.eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px}
.eyebrow-light{color:var(--gold-2)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font:500 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:.25s}
.btn svg{width:17px;height:17px}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#9a7a48}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-block{width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;border-bottom:1px solid transparent;padding-bottom:2px;transition:.2s}
.link-arrow:hover{border-color:var(--gold)}

/* Announcement */
.announcement{background:var(--gold);color:#fff;text-align:center;font-size:.85rem;padding:9px 20px;letter-spacing:.03em;position:relative;z-index:60}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);transition:background .35s,box-shadow .35s;color:#fff}
.announcement + .site-header{top:38px}
.site-header.scrolled{background:rgba(28,25,21,.96);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(255,255,255,.06);top:0}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;flex-direction:column;line-height:1}
.logo-name{font-family:var(--serif);font-size:1.9rem;font-weight:500;letter-spacing:.02em}
.logo-sub{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-2);margin-top:4px}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;opacity:.9;transition:.2s}
.main-nav a:not(.btn):hover{color:var(--gold-2)}
.nav-cta{padding:12px 20px}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:1.5px;background:#fff;transition:.3s}
.nav-toggle span:first-child{top:17px}.nav-toggle span:last-child{top:26px}
.nav-open .nav-toggle span:first-child{top:21px;transform:rotate(45deg)}
.nav-open .nav-toggle span:last-child{top:21px;transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.6s ease,transform 9s ease-out}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,calc(var(--ov,.45) + .1)) 0%,rgba(20,17,13,var(--ov,.45)) 45%,rgba(20,17,13,calc(var(--ov,.45) + .4)) 100%)}
.hero--large{min-height:78svh}
.hero--center .hero-content{text-align:center;margin-inline:auto}
.hero--center .hero-tagline{margin-inline:auto}
.hero--center .hero-ctas{justify-content:center}
.hero-dots{position:absolute;right:max(20px,calc((100% - 1180px)/2));bottom:40px;display:flex;gap:10px;z-index:2}
.hero-dots button{width:34px;height:3px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:.3s}
.hero-dots button.active{background:var(--gold-2);width:52px}
.hero-content{position:relative;padding-top:var(--header-h);max-width:860px;margin-left:max(20px,calc((100% - 1180px)/2))}
.hero h1{font-size:clamp(3.6rem,10vw,7.5rem);font-weight:400;line-height:.95;margin-bottom:22px}
.hero h1 em{display:block;font-style:italic;color:var(--gold-2);font-size:.42em;margin-top:14px;letter-spacing:.02em}
.hero-tagline{font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.6rem);font-style:italic;opacity:.92;max-width:560px;margin-bottom:36px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:26px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:14px}
.hero-scroll span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;background:#fff;border-radius:2px;animation:scrollDot 1.8s infinite}
@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* Info strip */
.info-strip{background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.06)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.info-item{display:flex;align-items:center;gap:16px;padding:26px 24px;border-right:1px solid rgba(255,255,255,.08);transition:.2s}
.info-item:last-child{border-right:0}
a.info-item:hover{background:var(--ink-2)}
.info-item svg{color:var(--gold-2);width:24px;height:24px}
.info-item b{display:block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);font-weight:500;margin-bottom:2px}
.info-item span{font-size:.95rem;opacity:.9}

/* Sections */
.section{padding:clamp(80px,11vw,140px) 0}
.section-head{text-align:center;max-width:680px;margin:0 auto clamp(40px,6vw,64px)}
.section-head h2{margin-bottom:16px}
.section-lead{color:var(--muted);font-size:1.05rem}

/* Lunch */
.lunch-section{background:var(--cream)}
.lunch-card{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(60,40,10,.35)}
.lunch-tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.lunch-tabs::-webkit-scrollbar{display:none}
.lunch-tab{flex:1;min-width:90px;padding:18px 10px 16px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--sans);color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;transition:.2s}
.lunch-tab:hover{color:var(--ink)}
.lunch-tab.active{color:var(--ink);border-bottom-color:var(--gold)}
.lt-wd{font-family:var(--serif);font-size:1.5rem;font-weight:500;line-height:1}
.lt-date{font-size:.75rem;letter-spacing:.08em}
.lt-today{position:absolute;top:6px;right:8px;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;background:var(--gold);color:#fff;padding:2px 6px;border-radius:2px}
.lunch-panel{display:none;padding:clamp(36px,6vw,60px) clamp(22px,6vw,70px);text-align:center;animation:fade .45s}
.lunch-panel.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.lp-date{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
.lp-starter{font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--ink-2)}
.lp-and{display:block;font-family:var(--serif);color:var(--gold);font-size:1.5rem;margin:8px 0}
.lp-main{font-size:clamp(1.8rem,3.6vw,2.5rem);margin-bottom:20px}
.lp-price{display:inline-block;font-family:var(--serif);font-size:1.6rem;border-top:1px solid var(--line);padding-top:14px;min-width:140px}
.lp-alt{margin-top:36px;padding-top:30px;border-top:1px dashed var(--line)}
.lp-alt-label{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.lp-alt p{font-family:var(--serif);font-size:1.35rem;margin:6px 0}
.lp-alt-price{font-family:var(--serif);font-size:1.2rem;color:var(--gold)}
.lp-note{margin-top:22px;font-size:.9rem;color:var(--muted);font-style:italic}
.lp-closed{font-family:var(--serif);font-size:1.6rem;font-style:italic;color:var(--muted)}
.lunch-empty{padding:60px 30px;text-align:center;font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--muted)}
.lunch-actions{text-align:center;margin-top:30px}

/* About */
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.about-img{position:relative}
.about-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about-img::after{content:'';position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);z-index:-1}
.about-text h2{margin-bottom:26px}
.about-text p{color:#4a433b;font-size:1.06rem;margin-bottom:18px}
.signature{font-family:var(--serif);font-size:2rem;font-style:italic;color:var(--ink)!important;margin-top:30px}
.signature span{display:block;font-family:var(--sans);font-style:normal;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:4px}

/* Menu */
.menu-section{background:var(--ink);color:#f1ebe1}
.menu-section .section-lead{color:#a59a8c}
.menu-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 28px;margin-bottom:46px;border-bottom:1px solid rgba(255,255,255,.1)}
.menu-tab{background:none;border:0;color:#a59a8c;font:500 .78rem var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 2px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.2s}
.menu-tab:hover{color:#fff}
.menu-tab.active{color:var(--gold-2);border-bottom-color:var(--gold-2)}
.menu-cat{display:none;max-width:860px;margin:0 auto;animation:fade .45s}
.menu-cat.active{display:block}
.menu-cat-desc{text-align:center;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold-2);margin-bottom:30px}
.dish-list{list-style:none}
.dish{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.dish-img{width:84px;height:84px;object-fit:cover;border-radius:50%;flex-shrink:0}
.dish-body{flex:1}
.dish-row{display:flex;align-items:baseline;gap:12px}
.dish-name{font-size:1.55rem;font-weight:500}
.dish-dots{flex:1;border-bottom:1px dotted rgba(255,255,255,.22);transform:translateY(-5px)}
.dish-price{font-family:var(--serif);font-size:1.35rem;color:var(--gold-2);white-space:nowrap}
.dish-desc{color:#b5aa9b;font-size:.95rem;margin-top:4px}
.dish-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.tag{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(201,169,110,.45);color:var(--gold-2);padding:3px 8px;border-radius:20px}
.allergens{font-size:.72rem;color:#7d7367;letter-spacing:.08em}
.allergen-info{max-width:860px;margin:36px auto 0;color:#a59a8c;font-size:.85rem}
.allergen-info summary{cursor:pointer;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--gold-2)}
.allergen-info p{margin-top:10px}
.menu-section .small{color:#7d7367}

/* Specials */
.specials-section{background:var(--paper)}
.specials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.special-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.35s}
.special-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(60,40,10,.35)}
.special-img{overflow:hidden;aspect-ratio:3/2}
.special-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.special-card:hover .special-img img{transform:scale(1.06)}
.special-body{padding:30px;display:flex;flex-direction:column;gap:10px;flex:1}
.special-period{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.special-body h3{font-size:2rem}
.special-body p{color:#5a5248;flex:1}

/* Gallery */
.gallery-section{overflow:hidden;background:var(--paper);padding-bottom:clamp(60px,8vw,100px)}
.gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-item{flex:0 0 clamp(260px,32vw,420px);scroll-snap-align:center;position:relative;overflow:hidden}
.gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;color:#fff;font-family:var(--serif);font-style:italic;font-size:1.25rem;background:linear-gradient(transparent,rgba(0,0,0,.6))}

/* Reserve */
.reserve-section{background:linear-gradient(rgba(28,25,21,.9),rgba(28,25,21,.94)),url('/static/img/table.jpg') center/cover fixed;color:#fff}
.reserve-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,7vw,90px);align-items:center}
.reserve-intro h2{margin-bottom:20px}
.reserve-intro p{color:#c9bfb2;margin-bottom:30px;font-size:1.05rem}
.reserve-direct{display:flex;gap:12px;flex-wrap:wrap}
.reserve-form{background:var(--paper);color:var(--ink);padding:clamp(26px,4vw,44px);display:grid;gap:16px;border-top:3px solid var(--gold)}
.reserve-form label{display:flex;flex-direction:column;gap:6px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500}
.reserve-form input,.reserve-form select,.reserve-form textarea{font:400 1rem var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);padding:13px 14px;border-radius:var(--radius);width:100%;text-transform:none;letter-spacing:0}
.reserve-form input:focus,.reserve-form select:focus,.reserve-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.15)}
.form-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}
.form-row-2{grid-template-columns:1fr 1fr}
.form-msg{font-size:.92rem;min-height:1.2em;text-align:center}
.form-msg.ok{color:#3d7a4a}.form-msg.err{color:#b23b2e}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,7vw,90px);align-items:stretch}
.contact-grid h2{margin-bottom:28px}
.hours-list div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.hours-list dt{font-weight:500}
.hours-list dd{color:var(--muted);text-align:right}
.contact-list{font-style:normal;margin-top:30px;display:grid;gap:14px}
.contact-list a{display:flex;align-items:center;gap:14px;transition:.2s}
.contact-list a:hover{color:var(--gold)}
.contact-list svg{color:var(--gold)}
.social{display:flex;gap:12px;margin-top:28px}
.social a{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.25s}
.social a:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.map-wrap{min-height:380px;border:1px solid var(--line);filter:grayscale(.6) sepia(.15)}
.map-wrap iframe{width:100%;height:100%;border:0;display:block;min-height:380px}

/* Newsletter */
.newsletter-section{background:var(--gold);color:#fff;padding:60px 0}
.newsletter-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.newsletter-inner h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:8px}
.newsletter-inner p{opacity:.9}
.newsletter-form{display:flex;flex-wrap:wrap;gap:10px}
.newsletter-form input[type=email]{flex:1;min-width:200px;padding:15px 16px;border:0;border-radius:var(--radius);font:400 1rem var(--sans)}
.newsletter-form .form-msg{flex-basis:100%;text-align:left;color:#fff}

/* Footer */
.site-footer{background:var(--ink);color:#a59a8c;padding:60px 0 110px;text-align:center;font-size:.9rem}
.footer-inner{display:grid;gap:14px;justify-items:center}
.logo-footer{color:#fff;align-items:center;margin-bottom:10px}
.footer-links{display:flex;gap:24px}
.footer-links a:hover{color:var(--gold-2)}

/* Mobile bottom bar */
.mobile-bar{display:none}

/* Legal pages */
.page-simple .site-header{position:sticky}
.legal h1{font-size:3rem;margin-bottom:30px}
.legal p{margin-bottom:20px;color:#4a433b}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}
.reveal.in{opacity:1;transform:none}

@media (max-width:980px){
  .main-nav{position:fixed;inset:0;background:var(--ink);flex-direction:column;justify-content:center;gap:26px;opacity:0;pointer-events:none;transition:.35s}
  .main-nav a{font-size:1rem}
  .nav-open .main-nav{opacity:1;pointer-events:auto}
  .nav-toggle{display:block;z-index:2}
  .about-grid,.reserve-grid,.contact-grid,.newsletter-inner{grid-template-columns:1fr}
  .about-img::after{inset:14px -14px -14px 14px}
  .reserve-section{background-attachment:scroll}
}
@media (max-width:680px){
  :root{--header-h:64px}
  .logo-name{font-size:1.55rem}
  .info-grid{grid-template-columns:1fr}
  .info-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:18px 4px}
  .form-row{grid-template-columns:1fr 1fr}
  .form-row label:first-child{grid-column:1/-1}
  .form-row-2 label:first-child{grid-column:auto}
  .dish-img{width:64px;height:64px}
  .dish-name{font-size:1.3rem}
  .hero-ctas .btn{flex:1}
  .mobile-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(28,25,21,.97);backdrop-filter:blur(8px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.08)}
  .mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#d8cfc2;font-size:.66rem;letter-spacing:.06em;padding:4px}
  .mobile-bar .mb-cta{background:var(--gold);color:#fff;border-radius:var(--radius);justify-content:center;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
  .hero-scroll{display:none}
}
@media (max-width:680px){.hero-dots{left:50%;right:auto;transform:translateX(-50%);bottom:24px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---------- Online-Reservierung ---------- */
.booking{min-height:420px;gap:0}
.booking h3,.booking-phone h3{font-size:1.8rem;margin-bottom:8px}
.booking-phone p{color:var(--muted);margin-bottom:18px}
.bk-loading{padding:60px 10px;text-align:center;color:var(--muted);font-family:var(--serif);font-style:italic;font-size:1.2rem}
.bk-steps{list-style:none;display:flex;gap:6px;margin-bottom:22px;counter-reset:s}
.bk-steps li{flex:1;display:flex;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#b3a898;padding-bottom:10px;border-bottom:2px solid var(--line);font-weight:500}
.bk-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:#fff;font-size:.7rem;flex-shrink:0}
.bk-steps li.on{color:var(--ink);border-color:var(--gold)}
.bk-steps li.on span{background:var(--gold)}
.bk-steps li.done{color:var(--gold);border-color:var(--gold)}
.bk-steps li.done span{background:var(--gold)}
.bk-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:6px 0 10px}
.bk-label span{text-transform:none;letter-spacing:0;font-weight:400}
.bk-label-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.bk-nav{display:flex;gap:6px}
.bk-nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--ink)}
.bk-nav button:disabled{opacity:.3;cursor:default}
.bk-persons{display:flex;flex-wrap:wrap;gap:8px}
.bk-persons button,.bk-more{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;font:500 1.15rem var(--serif);cursor:pointer;color:var(--ink);transition:.15s}
.bk-more{width:64px;border-radius:24px;padding:0 8px;font-size:1rem;font-family:var(--sans)}
.bk-persons button:hover{border-color:var(--gold)}
.bk-persons button.sel{background:var(--ink);border-color:var(--ink);color:#fff}
.bk-hint{font-size:.8rem;color:var(--muted);margin-top:10px}
.bk-hint a{color:var(--gold);text-decoration:underline}
.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:22px}
.bk-days button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:var(--ink);transition:.15s;font-family:var(--sans)}
.bk-days button .wd{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bk-days button b{font:500 1.35rem/1.1 var(--serif)}
.bk-days button .mo{font-size:.6rem;color:var(--muted)}
.bk-days button:hover:not(:disabled){border-color:var(--gold)}
.bk-days button.sel{background:var(--gold);border-color:var(--gold);color:#fff}
.bk-days button.sel span{color:#fff}
.bk-days button:disabled{opacity:.35;cursor:not-allowed;background:#f3eee6}
.bk-next:disabled{opacity:.5}
.bk-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:.92rem;margin-bottom:18px}
.bk-change{margin-left:auto;background:none;border:0;color:var(--gold);font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.bk-period{font-family:var(--serif);font-size:1.25rem;font-style:italic;margin:6px 0 8px}
.bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-bottom:14px}
.bk-times button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:12px 4px;font:500 .95rem var(--sans);cursor:pointer;color:var(--ink);transition:.15s}
.bk-times button:hover:not(:disabled){border-color:var(--gold);background:#fffaf1}
.bk-times button:disabled{text-decoration:line-through;opacity:.35;cursor:not-allowed;background:#f3eee6}
.bk-full{text-align:center;padding:24px 10px}
.bk-full b{font-family:var(--serif);font-size:1.7rem;font-weight:500;display:block;margin-bottom:8px}
.bk-full p{color:var(--muted);margin-bottom:18px}
.btn-ghost-dark{border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn-ghost-dark:hover{background:var(--gold);color:#fff}
.bk-back{background:none;border:0;color:var(--muted);font:500 .8rem var(--sans);cursor:pointer;margin-top:14px;padding:4px 0}
.bk-back:hover{color:var(--ink)}
.bk-form{display:grid;gap:14px}
.bk-form label{display:flex;flex-direction:column;gap:6px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500}
.bk-form input,.bk-form textarea{font:400 1rem var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);padding:13px 14px;border-radius:var(--radius);width:100%;text-transform:none;letter-spacing:0}
.bk-form input:focus,.bk-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.15)}
.bk-form label.bk-check{flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:400}
.bk-check input{width:18px;height:18px;accent-color:var(--gold)}
.bk-wishes{display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}
.bk-wishes button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 14px;font:400 .86rem var(--sans);cursor:pointer;color:var(--ink);transition:.15s}
.bk-wishes button.sel{background:rgba(176,141,87,.14);border-color:var(--gold);color:#7d6235}
.bk-wishes button.sel::before{content:'✓ '}
.bk-done{text-align:center;padding:10px 0}
.bk-check-icon{width:64px;height:64px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-size:1.8rem;margin:0 auto 16px}
.bk-done h3{font-size:2rem;margin-bottom:8px}
.bk-done p{color:var(--muted);margin-bottom:18px}
.bk-done dl{text-align:left;border-top:1px solid var(--line);margin-bottom:20px}
.bk-done dl div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.bk-done dt{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.bk-done dd{font-family:var(--serif);font-size:1.15rem;text-align:right}
.bk-done-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:480px){.bk-days{gap:4px}.bk-days button b{font-size:1.15rem}.bk-steps li{font-size:0;gap:0;justify-content:center}.bk-steps li span{font-size:.7rem}.bk-done-actions{grid-template-columns:1fr}}
