/* Swati's Cakery — public website (v1.2) */
:root{--ink:#120D0B;--cocoa:#2A1A12;--muted:#6B5446;--cream:#FBF6EF;--gold:#E6BE5E;--gold2:#C08F32;--gold3:#CFA44A;--gold-d:#9A7026;--soft:#CDBBA4;--leaf:#8DBA5E;--leaf-d:#3E5B2A;--line:#E9DCCB}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--cocoa);font:16px/1.6 'Nunito Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--gold-d)}a:hover{color:#6E4F18}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;font-weight:600}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.script{font-family:'Playball',cursive;font-weight:400;color:var(--gold-d)}
.dark .script{color:var(--gold)}
.eyebrow{font-size:15px;font-weight:700;color:var(--gold-d)}
.dark .eyebrow{color:var(--gold3)}
.h2{font-family:'Playfair Display',serif;font-weight:600;font-size:32px;line-height:1.2}
.h2 .script{font-size:42px}
.lead{font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.dark .lead{color:var(--soft)}
.sec{padding-top:72px}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:24px}
.sec-head.center{flex-direction:column;align-items:center;text-align:center;justify-content:center}
.sec-head > div{display:flex;flex-direction:column;gap:6px}
.ph{background-color:#EFE4D3;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.45) 0 14px,rgba(255,255,255,0) 14px 28px)}
.ph.dk{background-color:#241A15;background-image:repeating-linear-gradient(135deg,rgba(207,164,74,.07) 0 14px,rgba(207,164,74,0) 14px 28px)}
.cover{width:100%;height:100%;object-fit:cover}
.ic{flex:0 0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border-radius:999px;border:none;font:inherit;font-size:15px;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn.gold{background:linear-gradient(180deg,var(--gold),var(--gold2));color:var(--ink)}
.btn.gold:hover{color:var(--ink);filter:brightness(1.05)}
.btn.ink{background:var(--ink);color:var(--gold)}
.btn.ink:hover{color:#F6DE94}
.btn.leaf{background:var(--leaf);color:var(--ink)}
.btn.line{border:1px solid var(--cocoa);color:var(--cocoa);background:transparent}
.btn.sm{min-height:40px;padding:0 18px;font-size:14px}
.btn[aria-disabled=true]{background:#E9DCCB;color:var(--muted);pointer-events:none}

/* ticker + header */
.ticker{background:var(--gold3);color:var(--ink);font-size:14px;font-weight:700;padding:8px 16px;display:flex;justify-content:center;align-items:center;gap:10px;white-space:nowrap}
.ticker .tk-items{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ticker .tk{animation:tkin .4s ease}
.ticker a{color:var(--ink);flex:0 0 auto}
@keyframes tkin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ticker .tk{animation:none}}
.holiday{background:#5B1F2E;color:#FFE9EE;font-weight:700;text-align:center;padding:10px 16px;font-size:15px}
.site-head{background:var(--ink);border-bottom:1px solid rgba(207,164,74,.35);position:relative;z-index:10}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.site-head .logo{display:flex}
.site-nav{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:15px;font-weight:600}
.site-nav a{color:#F3E6CF;text-decoration:none}
.site-nav a:hover{color:var(--gold)}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(207,164,74,.5);background:transparent;color:var(--gold);align-items:center;justify-content:center;cursor:pointer}
.navtoggle{position:absolute;opacity:0;pointer-events:none}
@media (max-width:900px){
  .site-head .wrap{padding-left:14px;padding-right:14px}
  .site-head .head-wa{display:none}
  .menu-btn{display:inline-flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);flex-direction:column;gap:0;padding:4px 16px 14px;border-bottom:1px solid rgba(207,164,74,.35)}
  .site-nav a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid rgba(207,164,74,.18);font-family:'Playfair Display',serif;font-size:17px}
  .navtoggle:checked ~ .site-head .site-nav{display:flex}
}

/* hero */
.hero{background:var(--ink);color:#F3E6CF;padding:44px 0 100px}
.hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:18px}
.hero h1{font-family:'Playfair Display',serif;font-weight:600;font-size:44px;line-height:1.18;color:var(--cream)}
.hero h1 .script{font-size:56px;color:var(--gold)}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.hero-chips span{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;border:1px solid rgba(207,164,74,.45);border-radius:999px;padding:7px 14px}
.hero-chips .ic{color:var(--gold3)}
.hero-photo{flex:1 1 460px;min-width:0;display:flex;justify-content:flex-end}
.hero-photo .frame{width:100%;max-width:520px;height:360px;border-radius:200px 200px 20px 20px;border:1px solid rgba(207,164,74,.45);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--gold3);font-size:14px;font-weight:600}
@media (max-width:700px){
  .hero{padding:20px 0 64px}
  .hero .wrap{gap:16px;padding:0 16px;flex-direction:column-reverse}
  .hero-text,.hero-photo{flex:0 0 auto;width:100%}
  .hero-photo{justify-content:center}
  .hero-photo .frame{height:200px;border-radius:120px 120px 16px 16px}
  .hero-text{align-items:center;text-align:center;gap:12px}
  .hero h1{font-size:27px}
  .hero h1 .script{font-size:36px}
  .hero .lead{display:none}
  .hero-chips{justify-content:center}
}

/* search panel */
.finder{max-width:1200px;margin:-64px auto 0;padding:0 24px;position:relative}
.finder form{background:#fff;border-radius:20px;box-shadow:0 20px 50px rgba(18,13,11,.16);padding:20px 24px;display:flex;flex-direction:column;gap:14px;border-top:3px solid var(--gold3)}
.finder .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.finder label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted);flex:1 1 160px;min-width:0}
.finder label.q{flex:2 1 280px}
.finder input,.finder select{font:inherit;font-size:15px;color:var(--cocoa);min-height:46px;padding:0 14px;border:1px solid #E0CFBB;border-radius:12px;background:var(--cream);width:100%}
.finder button{min-height:46px;padding:0 28px;border:none;border-radius:12px;background:var(--ink);color:var(--gold);font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.popular{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.popular b{font-size:13px;color:var(--muted)}
.popular a{font-size:13px;font-weight:600;color:var(--cocoa);text-decoration:none;background:#F4ECDF;padding:7px 14px;border-radius:999px}
@media (max-width:700px){
  .finder{margin-top:-40px;padding:0 14px}
  .finder form{padding:14px;gap:10px}
  .finder label.f{display:none}
  .finder .row{flex-wrap:nowrap}
  .finder label.q{flex:1}
  .finder label.q > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .finder button{padding:0 16px}
  .popular{flex-wrap:nowrap;overflow-x:auto}
  .popular a{flex:0 0 auto}
}

/* menu pillars */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.pillar{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;text-decoration:none;color:var(--cocoa)}
.pillar .circle{width:100%;max-width:200px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 6px var(--cream),0 0 0 1px var(--gold3)}
.pillar .circle img{border:6px solid var(--cream);border-radius:50%}
.pillar strong{font-family:'Playfair Display',serif;font-weight:600;font-size:19px}
.pillar span{font-size:14px;color:var(--muted);line-height:1.5;max-width:230px}
@media (max-width:900px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.pillar .circle{max-width:140px}.pillar span{display:none}.pillar strong{font-size:15px}}

/* offers */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.offer{background:var(--ink);color:#F3E6CF;border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;border:1px solid rgba(207,164,74,.5)}
.offer .k{font-size:13px;font-weight:700;color:var(--leaf)}
.offer .t{font-family:'Playfair Display',serif;font-weight:700;font-size:26px;line-height:1.2;color:var(--gold)}
.offer .d{font-size:14px;line-height:1.55;color:var(--soft)}
.code{margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px dashed var(--gold3);border-radius:12px;padding:6px 6px 6px 14px}
.code b{font-size:16px;letter-spacing:.1em;color:var(--cream)}
.code button{font:inherit;font-weight:800;font-size:13px;padding:0 14px;min-height:40px;border:none;border-radius:8px;background:var(--gold);color:var(--ink);cursor:pointer}
.code button.done{background:var(--leaf)}
.offer .terms{font-size:12px;color:#A8957F}
@media (max-width:700px){.offers{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.offer{flex:0 0 270px;scroll-snap-align:start;padding:18px}.offer .t{font-size:21px}}

/* products */
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{font:inherit;font-size:14px;font-weight:700;padding:0 18px;min-height:42px;border-radius:999px;cursor:pointer;border:1px solid #D9C7AE;background:transparent;color:var(--cocoa)}
.tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--gold)}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.product{display:flex;flex-direction:column;gap:10px}
.product .img{aspect-ratio:1/1;border-radius:16px;overflow:hidden;position:relative}
.product .badges{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
.badge{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--ink);color:var(--gold)}
.badge.w{background:var(--leaf-d);color:#fff}
.badge.so{background:#5B1F2E;color:#FFE9EE}
.product h3{font-family:'Playfair Display',serif;font-weight:600;font-size:18px}
.product .meta{font-size:13px;color:var(--muted);margin-top:-4px}
.product .desc{font-size:14px;color:var(--muted);line-height:1.5}
.product .inside{font-size:13px;color:var(--leaf-d);font-weight:700}
.product .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.product .price{font-size:16px;font-weight:800}
.product .price small{font-size:13px;font-weight:600;color:var(--muted)}
.product select{font:inherit;font-size:14px;min-height:40px;border:1px solid #E0CFBB;border-radius:10px;padding:0 8px;background:#fff;max-width:100%}
@media (max-width:700px){
  .products.swipe{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px}
  .products.swipe .product{flex:0 0 190px;scroll-snap-align:start}
  .products:not(.swipe){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .product h3{font-size:16px}
  .product .desc{display:none}
  .product .foot{flex-wrap:wrap}
  .product .foot .btn{width:100%}
}

/* dark bands */
.band{margin-top:80px;background:var(--ink);color:#F3E6CF}
.band .wrap{padding-top:56px;padding-bottom:56px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.band .photo{flex:1 1 420px;min-width:0;height:320px;border-radius:20px;overflow:hidden;border:1px solid rgba(141,186,94,.45);display:flex;align-items:center;justify-content:center;color:var(--leaf);font-size:14px;font-weight:600}
.band .text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px}
.band .h2{color:var(--cream)}
.band .h2 .script{color:var(--gold)}
.band .eyebrow{color:var(--leaf)}
.ingredients{display:flex;flex-wrap:wrap;gap:8px}
.ingredients span{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;border:1px solid var(--leaf);border-radius:999px;padding:7px 14px}
.ingredients .ic{color:var(--leaf)}
@media (max-width:700px){.band{margin-top:48px}.band .wrap{padding:28px 16px;gap:16px}.band .photo{flex-basis:auto;height:200px;width:100%}.band .h2{font-size:24px}.band .h2 .script{font-size:32px}}

/* custom cake steps */
.custom{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.custom .text{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:12px}
.steps{flex:1.4 1 520px;min-width:0;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px}
.steps b{font-family:'Playfair Display',serif;font-weight:700;font-size:28px;color:var(--gold3);line-height:1}
.steps strong{font-family:'Playfair Display',serif;font-weight:600;font-size:18px}
.steps span{font-size:14px;line-height:1.55;color:var(--muted)}
@media (max-width:700px){.steps{grid-template-columns:1fr;gap:10px}.steps li{flex-direction:row;align-items:center;padding:14px}.steps span{display:none}}

/* social wall */
.wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:170px;gap:14px}
.wall figure{margin:0;border-radius:16px;overflow:hidden;position:relative}
.wall figure.tall{grid-row:span 2}
.wall figcaption{position:absolute;left:0;right:0;bottom:0;padding:32px 14px 12px;background:linear-gradient(180deg,rgba(18,13,11,0),rgba(18,13,11,.85));color:var(--cream);font-size:13px;line-height:1.4}
@media (max-width:700px){.wall{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:120px;gap:10px}}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px}
.review blockquote{margin:0;font-size:15px;line-height:1.6;color:#5A4334}
.review figcaption{font-size:13px;color:var(--muted)}

/* seasonal */
.season{border-radius:24px;overflow:hidden;background:#F6E4E4;display:flex;flex-wrap:wrap}
.season .text{flex:1 1 420px;min-width:0;padding:40px;display:flex;flex-direction:column;gap:14px}
.season .photo{flex:1 1 360px;min-height:260px}
@media (max-width:700px){.season .text{padding:22px}.season .photo{min-height:180px}}

/* story */
.story{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.story .photo{flex:0 1 340px;min-width:0;height:400px;border-radius:170px 170px 20px 20px;box-shadow:0 0 0 8px var(--cream),0 0 0 9px var(--gold3);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--gold-d);font-size:13px;font-weight:600;margin:9px}
.story .text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:14px}
.story .text h2{font-family:'Playball',cursive;font-weight:400;font-size:52px;line-height:1}
.story .text p{white-space:pre-line}
.promises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}
.promises div{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.promises i{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--ink);color:var(--gold);display:flex;align-items:center;justify-content:center}
.promises span{display:flex;flex-direction:column;line-height:1.3}
.promises strong{font-size:15px}
.promises small{font-size:13px;color:var(--muted)}
@media (max-width:700px){.story{gap:20px}.story .photo{height:260px;flex-basis:100%;border-radius:130px 130px 16px 16px}.story .text h2{font-size:40px}.promises{grid-template-columns:1fr 1fr;gap:8px}.promises div{padding:10px}.promises small{display:none}}

/* footer */
.site-foot{margin-top:80px;background:var(--ink);color:var(--soft);border-top:3px solid var(--gold3)}
.site-foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:32px;padding-top:48px;padding-bottom:28px}
.site-foot .cols > div{display:flex;flex-direction:column;gap:8px;font-size:15px}
.site-foot .brand{font-family:'Playball',cursive;font-size:38px;color:var(--gold);line-height:1}
.site-foot b{color:var(--gold);font-weight:800}
.site-foot a{color:var(--soft);text-decoration:none}
.site-foot a:hover{color:var(--gold)}
.site-foot .copy{border-top:1px solid rgba(207,164,74,.25);padding-top:16px;padding-bottom:24px;font-size:13px;color:#A8957F}
.fab{position:fixed;right:20px;bottom:20px;z-index:20;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--gold),var(--gold2));color:var(--ink);text-decoration:none;font-weight:800;font-size:14px;padding:12px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(18,13,11,.35)}
.fab:hover{color:var(--ink)}
.tabbar{display:none}
@media (max-width:700px){
  .sec{padding-top:44px}
  .wrap{padding:0 16px}
  .h2{font-size:23px}
  .h2 .script{font-size:30px}
  .sec-head{margin-bottom:16px}
  .site-foot{margin-top:48px;padding-bottom:80px}
  .fab{display:none}
  .tabbar{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ink);border-top:1px solid rgba(207,164,74,.4);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px 8px calc(10px + env(safe-area-inset-bottom))}
  .tabbar a{display:flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;font-size:13px;font-weight:800;color:var(--soft);border-radius:12px}
  .tabbar a.wa{background:var(--gold);color:var(--ink)}
  body{padding-bottom:0}
}

/* menu page */
.menu-head{background:var(--ink);color:#F3E6CF;padding:36px 0 30px}
.menu-head h1{font-family:'Playfair Display',serif;font-size:36px;color:var(--cream)}
.menu-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.menu-filters input[type=search]{flex:1 1 260px;font:inherit;font-size:15px;min-height:46px;padding:0 14px;border-radius:12px;border:1px solid rgba(207,164,74,.5);background:#1E1512;color:var(--cream)}
.menu-filters a{font-size:14px;font-weight:700;padding:0 14px;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(207,164,74,.45);color:#F3E6CF;text-decoration:none}
.menu-filters a.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.menu-sec{padding-top:40px}
.menu-sec h2{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:16px}
@media (max-width:700px){.menu-head{padding:24px 0 20px}.menu-head h1{font-size:26px}.menu-filters{flex-wrap:nowrap;overflow-x:auto}.menu-filters a{flex:0 0 auto}.menu-filters input[type=search]{flex:1 0 100%}.menu-filters{flex-wrap:wrap}}
html,body{overflow-x:clip}
/* ---------- v1.1 ---------- */
/* Logo as text: crisp, never broken */
.site-head .logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.lg-icon{width:52px;height:52px;flex:0 0 52px;display:block}
.lg-icon svg{width:100%;height:100%;display:block}
.lg-words{display:flex;flex-direction:column;line-height:1}
.lg-1{font-family:'Playball',cursive;font-size:31px;line-height:1;background:linear-gradient(180deg,#FCEAB0,#E6BE5E 55%,#C08F32);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:4px}
.lg-2{font-family:'Cinzel',serif;font-weight:700;font-size:12.5px;letter-spacing:.42em;color:#E6BE5E;text-transform:uppercase;margin-top:2px;padding-left:2px}
.lg-3{font-family:'Montserrat',sans-serif;font-weight:600;font-size:7.6px;letter-spacing:.16em;color:#D9B25E;text-transform:uppercase;margin-top:5px;padding-left:2px;white-space:nowrap}
@media (max-width:900px){.lg-icon{width:44px;height:44px;flex-basis:44px}.lg-1{font-size:27px}.lg-2{font-size:11px}.lg-3{font-size:6.8px}}
/* Main nav with submenus */
.site-nav{align-items:center;gap:4px 22px;flex-wrap:nowrap}
.nav-item{position:relative;display:flex;align-items:center}
.nav-top,.nav-plain{white-space:nowrap;padding:10px 0}
.sub-tog{background:none;border:0;color:var(--gold3);display:inline-flex;align-items:center;padding:4px;margin-left:1px;cursor:pointer}
.mega{display:none;position:absolute;top:100%;left:-18px;min-width:230px;background:#1A1210;border:1px solid rgba(207,164,74,.35);border-radius:14px;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:30;grid-template-columns:1fr;gap:0}
.mega.cols2{min-width:440px;grid-template-columns:1fr 1fr}
.mega a{display:block;padding:8px 12px;border-radius:8px;font-size:14.5px;font-weight:600;color:#F3E6CF;white-space:nowrap}
.mega a:hover,.mega a:focus{background:rgba(207,164,74,.14);color:var(--gold)}
.mega .mega-all{grid-column:1/-1;color:var(--gold);font-weight:800;border-bottom:1px solid rgba(207,164,74,.2);border-radius:8px 8px 0 0;margin-bottom:4px}
@media (min-width:901px){
  .nav-item:hover .mega,.nav-item:focus-within .mega,.nav-item.open .mega{display:grid}
  .nav-plain{display:none}
}
@media (max-width:1180px) and (min-width:901px){.site-nav{gap:4px 14px;font-size:14px}.site-head .head-wa{padding:0 12px}.lg-3{display:none}}
@media (max-width:900px){
  .site-nav{max-height:calc(100vh - 120px);overflow-y:auto;flex-wrap:nowrap}
  .nav-item{flex-wrap:wrap;border-bottom:1px solid rgba(207,164,74,.18)}
  .site-nav .nav-item > a.nav-top{flex:1;border-bottom:0}
  .sub-tog{width:44px;height:44px;justify-content:center}
  .nav-item.open .sub-tog svg{transform:rotate(180deg)}
  .mega{position:static;flex:1 0 100%;min-width:0;border:0;box-shadow:none;background:transparent;padding:0 0 10px 12px;grid-template-columns:1fr 1fr}
  .mega.cols2{min-width:0}
  .nav-item.open .mega{display:grid}
  .site-nav .mega a{min-height:40px;border:0;font-family:'Nunito Sans',sans-serif;font-size:14.5px;white-space:normal;padding:8px 8px}
  .site-nav .nav-plain{display:flex}
}
/* Finder: "I want a cake for ___" */
.finder form.finder-form{border-radius:20px 20px 0 0;padding:22px 24px 18px;box-shadow:0 20px 50px rgba(18,13,11,.12)}
.finder form.finder-search{border-radius:0 0 20px 20px;border-top:1px solid var(--line);padding:14px 24px 16px;gap:10px;box-shadow:0 24px 40px rgba(18,13,11,.10)}
.sentence{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-family:'Playfair Display',serif;font-size:22px;color:var(--cocoa)}
.sentence select{width:auto;min-height:46px;font-family:'Nunito Sans',sans-serif;font-weight:800;font-size:16px;color:var(--gold-d);background:#FFF8EA;border:1.5px solid #E6CF9C;border-radius:12px;padding:0 34px 0 14px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A7026' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.sentence button{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
.finder-search input{background:var(--cream)}
@media (max-width:700px){
  .finder form.finder-form{padding:16px 14px 14px}
  .finder form.finder-search{padding:12px 14px 14px}
  .sentence{font-size:18px;gap:8px}
  .sentence select{min-height:42px;font-size:15px;flex:1 1 auto;max-width:100%}
  .sentence button{flex:1 0 100%;justify-content:center;margin-left:0}
  .finder-search .popular{flex-wrap:nowrap;overflow-x:auto}
  .finder-search .popular a{flex:0 0 auto}
}
/* Menu pages */
.crumbs{font-size:13px;font-weight:700;color:var(--soft);margin-bottom:8px}
.crumbs a{color:var(--gold3);text-decoration:none}
.menu-head h1 .script{font-size:1.15em;margin-left:4px}
.menu-head .menu-filters input[type=search]{flex:1 1 100%;max-width:560px}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chiprow a{font-size:14px;font-weight:700;padding:0 14px;min-height:38px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(207,164,74,.45);color:#F3E6CF;text-decoration:none;white-space:nowrap}
.chiprow a.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.chiprow.small-chips{margin-top:10px}
.chiprow.small-chips a{min-height:32px;font-size:13px;border-style:dashed}
.chiprow.light{margin:0 0 16px}
.chiprow.light a{color:var(--cocoa);border-color:var(--line);background:#fff}
.sec-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.sec-row h2{margin:0!important}
.sec-row a{font-weight:800;font-size:14px;white-space:nowrap}
.finder-result{margin-top:28px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold3);border-radius:14px;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:15px}
.finder-result .btn{margin-left:auto}
@media (max-width:700px){
  .chiprow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px}
  .chiprow::-webkit-scrollbar{display:none}
  .chiprow a{flex:0 0 auto}
  .finder-result .btn{margin-left:0;width:100%;justify-content:center}
}
/* Customer wall + reviews */
.social .sec-head.center > div{align-items:center}
.wall{margin-top:4px}
.reviews-band{padding-top:56px;overflow:hidden}
.center-h{text-align:center;margin-bottom:20px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee .track{display:flex;gap:16px;width:max-content;padding:4px 0 8px}
.marquee:not(.run) .track{margin:0 auto}
.marquee.run .track{animation:reviewscroll calc(var(--n) * 7s) linear infinite}
.marquee.run:hover .track,.marquee.run:focus-within .track{animation-play-state:paused}
.marquee .review{width:320px;flex:0 0 320px}
.review .stars{color:var(--gold3);letter-spacing:2px;font-size:14px}
@keyframes reviewscroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
@media (max-width:700px){.marquee .review{width:270px;flex-basis:270px}}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.marquee.run .track{animation:none}}
[hidden]{display:none!important}
@media (max-width:900px){.site-nav{align-items:stretch}.nav-item{width:100%}}
@media (min-width:901px){
  .site-nav{flex:1 1 auto;justify-content:center;min-width:0;gap:4px 18px;font-size:14.5px}
  .sub-tog{padding:2px}
}
@media (min-width:901px) and (max-width:1380px){
  .site-head .head-wa{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;font-size:0;gap:0;flex:0 0 44px}
  .site-head .head-wa .ic{margin:0}
}
@media (min-width:901px) and (max-width:1100px){.site-nav{gap:4px 12px;font-size:14px}.lg-3{display:none}}
.finder form,.chiprow,.menu-filters{position:relative}
.product,.review{position:relative}
@media (max-width:700px){
  .sentence{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:center}
  .sentence > span{font-size:17px;text-align:right;white-space:nowrap}
  .sentence select{width:100%}
  .sentence button{grid-column:1/-1}
}
/* ================= v1.2 ================= */
/* One-line header logo: Swati's CAKERY */
.lg-words.one{flex-direction:row;align-items:baseline;gap:9px}
.lg-words.one .lg-1{font-size:30px}
.lg-words.one .lg-2{font-size:15px;letter-spacing:.3em;margin:0;padding:0}
@media (max-width:900px){.lg-words.one .lg-1{font-size:26px}.lg-words.one .lg-2{font-size:13px;letter-spacing:.26em}}
@media (max-width:360px){.lg-icon{display:none}}
.site-head .head-wa span{white-space:nowrap}
@media (min-width:901px) and (max-width:1380px){.site-head .head-wa span{display:none}}

/* One frame for every photo: thin gold line, cream gap, rounded photo */
.frame{border:1px solid rgba(192,143,50,.55);padding:5px;background:var(--cream);box-shadow:0 6px 18px rgba(42,26,18,.06)}
.frame > img,.frame .cover,.frame .g-track,.frame iframe{border-radius:inherit}
.frame.dkf{background:var(--ink);border-color:rgba(207,164,74,.6)}
.product .img.frame{border-radius:18px;display:block;position:relative;overflow:hidden}
.product .img.frame img{border-radius:13px;width:100%;height:100%;object-fit:cover}
.product .img.frame .badges{top:13px;left:13px}
.pillar .circle.frame{padding:6px;box-shadow:0 6px 18px rgba(42,26,18,.08)}
.pillar .circle.frame img{border-radius:50%}
.hero-photo .frame{padding:6px}
.hero-photo .frame img{border-radius:194px 194px 14px 14px}
.band .photo.frame img{border-radius:15px}
.story .photo.frame{padding:7px}
.story .photo.frame img{border-radius:164px 164px 14px 14px}
.wall figure.frame{padding:4px;border-radius:16px;background:#fff;overflow:hidden}
.wall figure.frame img{border-radius:12px}
.season .photo.frame{padding:5px;border-radius:0 20px 20px 0}
@media (max-width:700px){.hero-photo .frame img{border-radius:114px 114px 12px 12px}.story .photo.frame img{border-radius:124px 124px 12px 12px}}
.product h3 a{color:inherit;text-decoration:none}
.product h3 a:hover{color:var(--gold-d)}

/* Top bar */
.ticker.t-dark{background:var(--ink);color:var(--gold);border-bottom:1px solid rgba(207,164,74,.3)}
.ticker.t-dark a{color:var(--gold)}
.ticker.t-maroon{background:#5B1F2E;color:#FFE9EE}
.ticker.t-maroon a{color:#FFE9EE}
.ticker.t-green{background:#3E5B2A;color:#F2F8EA}
.ticker.t-green a{color:#F2F8EA}
.ticker .tk a{text-decoration:underline;text-underline-offset:3px}
.ticker.m-scroll{justify-content:flex-start;overflow:hidden;padding-left:0;padding-right:0}
.ticker .tk-track{display:flex;align-items:center;gap:22px;width:max-content;animation:tkscroll calc(var(--tk-n) * 9s * var(--tk-speed)) linear infinite;padding-left:22px}
.ticker.m-scroll:hover .tk-track{animation-play-state:paused}
.ticker .tk-dot{opacity:.6;font-size:11px}
@keyframes tkscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .tk-track{animation:none}.ticker.m-scroll{overflow-x:auto}}

/* Compact menu page header */
.cat-head{background:var(--ink);color:#F3E6CF;padding:18px 0 14px}
.cat-head .crumbs{margin-bottom:4px}
.cat-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}
.cat-title h1{font-family:'Playfair Display',serif;font-size:32px;color:var(--cream);line-height:1.2}
.cat-title h1 .script{font-size:1.1em}
.cat-title p{margin:0;color:var(--soft);font-size:15px;flex:1 1 280px;min-width:0}
.cat-tools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:12px}
.cat-search{position:relative;flex:0 1 380px;min-width:220px;display:flex;align-items:center}
.cat-search .ic{position:absolute;left:13px;color:var(--gold3)}
.cat-search input{width:100%;font:inherit;font-size:15px;min-height:42px;padding:0 14px 0 38px;border-radius:12px;border:1px solid rgba(207,164,74,.45);background:#1E1512;color:var(--cream)}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters a{font-size:13px;font-weight:700;min-height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px dashed rgba(207,164,74,.5);color:#F3E6CF;text-decoration:none;white-space:nowrap}
.filters a.on{background:var(--gold);border-color:var(--gold);border-style:solid;color:var(--ink)}
.filters a.clear{border-style:solid;border-color:transparent;color:var(--gold3)}
.subnav{position:relative;margin-top:12px;display:flex;align-items:center}
.sn-track{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;flex:1;min-width:0;padding:2px 0}
.sn-track::-webkit-scrollbar{display:none}
.sn-track a{flex:0 0 auto;font-size:14px;font-weight:700;padding:0 14px;min-height:36px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(207,164,74,.45);color:#F3E6CF;text-decoration:none;white-space:nowrap}
.sn-track a.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.sn-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid rgba(207,164,74,.6);background:var(--ink);color:var(--gold);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 0 0 8px var(--ink)}
.sn-arrow.prev{left:0}.sn-arrow.next{right:0}
.menu-sec{padding-top:28px}
.sec-row h2 a{color:inherit;text-decoration:none}
@media (max-width:700px){
  .cat-head{padding:14px 0 12px}
  .cat-title h1{font-size:25px}
  .cat-title p{font-size:14px;flex-basis:100%}
  .cat-search{flex:1 1 100%}
  .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px;width:calc(100% + 32px)}
  .filters::-webkit-scrollbar{display:none}
  .sn-track{margin:0 -16px;padding:2px 16px}
  .sn-arrow{display:none}
  .menu-sec{padding-top:20px}
}

/* Cake page */
.crumbs.light{color:var(--muted);margin:18px 0 10px}
.crumbs.light a{color:var(--gold-d)}
.item-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:start}
.gallery{display:flex;flex-direction:column;gap:10px;position:sticky;top:12px}
.g-main{position:relative;border-radius:22px;aspect-ratio:1/1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.g-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:17px}
.g-track::-webkit-scrollbar{display:none}
.g-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.g-main .badges{position:absolute;top:16px;left:16px;display:flex;gap:6px}
.ph-text{color:var(--muted);font-weight:700}
.g-thumbs{display:flex;gap:8px;overflow-x:auto}
.g-thumbs button{flex:0 0 70px;height:70px;padding:3px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer}
.g-thumbs button.on{border-color:var(--gold2)}
.g-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.item-info{display:flex;flex-direction:column;gap:14px}
.item-info h1{font-family:'Playfair Display',serif;font-size:36px;line-height:1.15;font-weight:600}
.item-tags{display:flex;flex-wrap:wrap;gap:6px}
.item-tags span{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;padding:5px 11px;border-radius:999px;background:#F1EADF;color:var(--cocoa)}
.item-price .price-val{font-size:28px;font-weight:800;color:var(--cocoa)}
.item-price small{font-size:15px;font-weight:600;color:var(--muted)}
.item-label{font-size:13px;font-weight:800;color:var(--muted);margin-bottom:-8px}
.item-info select{font:inherit;font-size:16px;min-height:46px;padding:0 14px;border:1px solid #E0CFBB;border-radius:12px;background:#fff;color:var(--cocoa);max-width:360px}
.item-desc{margin:0;font-size:16px;line-height:1.7;color:#4A3A2F}
.item-inside b,.item-under b{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.item-inside div{display:flex;flex-wrap:wrap;gap:6px}
.item-inside span{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:#EEF4E6;color:var(--leaf-d)}
.item-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.item-facts li{display:flex;gap:8px;align-items:flex-start}
.item-facts .ic{color:var(--gold-d);margin-top:3px;flex:0 0 auto}
.item-cta{display:flex;flex-direction:column;gap:10px}
.btn.block{width:100%;justify-content:center}
.btn.lg{min-height:54px;font-size:17px}
.share{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--muted)}
.share a,.share button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--cocoa);font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none}
@media (max-width:860px){
  .item-grid{grid-template-columns:1fr;gap:18px}
  .gallery{position:static}
  .item-info h1{font-size:27px}
}

/* Contact page */
.menu-head.slim{padding:22px 0 18px}
.contact{padding-top:22px;display:flex;flex-direction:column;gap:22px}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ccard{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;color:var(--cocoa);text-decoration:none}
.ccard .ic{color:var(--gold-d);flex:0 0 auto}
.ccard span{display:flex;flex-direction:column;min-width:0}
.ccard small{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.ccard.wa{background:#EAF6E4;border-color:#CBE3BC}
.ccard.wa .ic{color:#2F7D32}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.contact-info h2{font-family:'Playfair Display',serif;font-size:22px}
.contact-info .note{margin:0;background:#FFF8E8;border:1px solid #F1DDAE;border-radius:12px;padding:10px 12px;font-size:14.5px}
.map{border-radius:20px;overflow:hidden;aspect-ratio:4/3;width:100%}
.map iframe{width:100%;height:100%;border:0;display:block;border-radius:15px}
.social-list{display:flex;flex-wrap:wrap;gap:8px}
.social-list a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--cocoa);font-weight:700;font-size:14px;text-decoration:none}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr}.map{aspect-ratio:1/1}}

/* Footer socials */
.site-foot .brand span{font-family:'Cinzel',serif;font-size:.5em;letter-spacing:.3em;margin-left:6px;vertical-align:middle}
.socials{display:flex;gap:8px;margin-top:8px}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(207,164,74,.5);display:inline-flex;align-items:center;justify-content:center;color:var(--gold)}
.socials a:hover{background:rgba(207,164,74,.15)}

/* Pop-up: centred card on computers, sheet from the bottom on phones */
.popup{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.popup-scrim{position:absolute;inset:0;background:rgba(18,13,11,.55)}
.popup-box{position:relative;z-index:1;width:100%;max-width:440px;background:var(--cream);border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35);animation:popin .25s ease;border:1px solid rgba(192,143,50,.55)}
.popup-img{width:100%;aspect-ratio:1/1;object-fit:cover;max-height:46vh}
.popup-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;text-align:center}
.popup-body h2{font-family:'Playfair Display',serif;font-size:24px}
.popup-body p{margin:0;color:var(--muted)}
.popup-body .btn{align-self:center}
.popup-x{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15)}
html.pop-open{overflow:hidden}
@keyframes popin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:600px){
  .popup{align-items:flex-end;padding:0}
  .popup-box{max-width:none;border-radius:22px 22px 0 0;animation:sheetin .3s ease}
  .popup-img{max-height:36vh}
  @keyframes sheetin{from{transform:translateY(100%)}to{transform:none}}
}
.ticker.m-scroll .tk{animation:none}
/* Product cards: size, price and Order button always line up at the bottom of each row */
.products > .product{height:100%}
.product > select[data-sizes]{margin-top:auto}
.product > .foot{margin-top:auto}
.product > select[data-sizes] + .foot{margin-top:0}
