@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=Libre+Baskerville:wght@700&family=Montserrat:wght@500;600;700&display=swap");

:root{
  --cream:#fff8ef;
  --ivory:#fffdf8;
  --champagne:#d3aa4a;
  --gold:#c89f3d;
  --gold-soft:#f4dfad;
  --blush:#ffe8e5;
  --blush-strong:#f7b8b0;
  --chocolate:#2b160f;
  --cocoa:#6b4334;
  --muted:#8b6d60;
  --line:rgba(200,159,61,.2);
  --shadow:0 18px 45px rgba(43,22,15,.10);
  --shadow-soft:0 10px 28px rgba(43,22,15,.08);
  --green:#25d366;
  --radius:22px;
  --header-height:72px;
  --mobile-header-height:64px;
  --text-strong:#29180f;
  --text-main:#3a2417;
  --text-body:#654a38;
  --text-muted:#765b49;
  --text-gold:#b86e0f;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at 12% 10%,rgba(247,184,176,.22),transparent 24%),
    radial-gradient(circle at 88% 5%,rgba(244,223,173,.28),transparent 26%),
    var(--cream);
  color:var(--cocoa);
  line-height:1.6;
  overflow-x:hidden;
}
body.loaded .reveal{animation:fadeUp .8s ease both}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.section{padding:92px 0}
.section.alt{background:var(--ivory)}
.section.blush{background:linear-gradient(135deg,var(--blush),var(--cream))}
.section.dark{background:var(--chocolate);color:#fff}
.center{text-align:center}
.kicker{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin:0 0 12px}
h1,h2,h3,.brand-name,.display{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--chocolate);
  line-height:1.05;
  letter-spacing:0;
}
h1{font-size:clamp(44px,6vw,78px);margin:0}
h2{font-size:clamp(34px,4vw,54px);margin:0}
h3{font-size:24px;margin:0}
p{margin:0;color:var(--cocoa)}
.lead{font-size:18px;color:var(--muted);max-width:720px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}
.section-head.center{display:block;text-align:center}
.section-head.center .lead{margin:12px auto 0}

.btn{
  border:0;
  min-height:48px;
  border-radius:999px;
  padding:14px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:900;
  color:var(--chocolate);
  background:#fff;
  box-shadow:var(--shadow-soft);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
}
.btn:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow)}
.btn.primary{background:linear-gradient(135deg,var(--champagne),var(--gold-soft));color:var(--chocolate)}
.btn.ghost{background:rgba(255,255,255,.55);border:1px solid var(--line);box-shadow:none}
.btn.whatsapp{background:var(--green);color:#fff}
.btn.full{width:100%}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(16px,4vw,56px);
  color:var(--chocolate);
  background:rgba(255,248,239,.58);
  border-bottom:1px solid rgba(255,255,255,.45);
  backdrop-filter:blur(18px);
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.site-header.scrolled{
  background:rgba(255,253,248,.88);
  border-color:var(--line);
  box-shadow:0 10px 30px rgba(43,22,15,.08);
}
.brand{display:flex;align-items:center;gap:12px;min-width:190px}
.brand-mark{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid rgba(200,159,61,.45)}
.brand-name{font-size:25px;font-style:italic;font-weight:700;color:var(--chocolate);white-space:nowrap}
.nav-links{display:flex;align-items:center;justify-content:center;gap:18px}
.nav-links a{font-size:13px;font-weight:800;color:var(--cocoa);transition:color .2s ease}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:9px}
.language-toggle{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,253,248,.78);
  color:var(--cocoa);
  box-shadow:var(--shadow-soft);
  white-space:nowrap;
}
.language-toggle button{
  min-width:26px;
  border:0;
  padding:4px 2px;
  background:transparent;
  color:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1;
}
.language-toggle button.active{
  color:var(--gold);
}
.language-toggle span{
  color:rgba(107,67,52,.45);
  font-size:11px;
  font-weight:900;
}
.language-toggle .lang-hi-short{display:none}
.lang-btn{
  border:1px solid var(--gold-soft);
  padding:4px 12px;
  border-radius:999px;
  background:transparent;
  color:var(--chocolate);
  font-size:13px;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:.2s ease;
}
.lang-btn:hover{
  background:var(--champagne);
}
.cart-nav-btn{
  position:relative;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,253,248,.82);
  color:var(--chocolate);
  box-shadow:var(--shadow-soft);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.cart-nav-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(200,159,61,.45);
  box-shadow:var(--shadow);
}
.cart-nav-btn svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cart-count{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--ivory);
  border-radius:999px;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  font-size:11px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(43,22,15,.16);
}
.cart-count[hidden]{display:none}
.cart-toast{
  position:fixed;
  right:24px;
  top:92px;
  z-index:1300;
  min-width:190px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border:1px solid rgba(200,159,61,.28);
  border-radius:18px;
  background:rgba(255,253,248,.96);
  color:var(--chocolate);
  box-shadow:0 18px 46px rgba(43,22,15,.16);
  opacity:0;
  pointer-events:none;
  transform:translateY(-12px);
  transition:opacity .28s ease,transform .28s ease;
}
.cart-toast.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.cart-toast strong{
  font-size:14px;
  color:var(--chocolate);
}
.cart-toast a{
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.icon-btn{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:rgba(255,255,255,.62);
  color:var(--chocolate);
  font-weight:900;
  font-size:12px;
}
.hamb{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-weight:900}

.hero{
  min-height:100vh;
  padding:120px 0 70px;
  display:grid;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero:before,.hero:after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}
.hero:before{width:560px;height:560px;right:-120px;top:80px;background:radial-gradient(circle,rgba(244,223,173,.75),transparent 66%)}
.hero:after{width:360px;height:360px;left:-120px;bottom:0;background:radial-gradient(circle,rgba(255,232,229,.95),transparent 68%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .92fr;gap:54px;align-items:center}
.hero-copy{max-width:650px}
.hero-copy .lead{margin:20px 0 28px}
.hero-actions,.action-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.trust-chip{background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:800;color:var(--chocolate);box-shadow:var(--shadow-soft)}
.hero-art{position:relative;min-height:560px;display:grid;place-items:center}
.cake-stage{
  position:relative;
  width:min(520px,100%);
  aspect-ratio:1/1;
  border-radius:42px;
  background:linear-gradient(145deg,#fff,var(--blush));
  box-shadow:0 30px 80px rgba(43,22,15,.16);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.cake-stage:before{content:"";position:absolute;inset:28px;border:1px solid rgba(200,159,61,.26);border-radius:34px}
.cake-stage:after{content:"";position:absolute;width:120%;height:120%;background:conic-gradient(from 20deg,transparent,rgba(211,170,74,.34),transparent,rgba(247,184,176,.35),transparent);animation:slowSpin 14s linear infinite}
.hero-cake{position:relative;z-index:2;width:82%;height:82%;object-fit:cover;border-radius:50%;box-shadow:0 24px 60px rgba(43,22,15,.25);animation:floatCake 5s ease-in-out infinite}
.swirl{position:absolute;z-index:3;inset:34px;border-radius:50%;border-top:2px solid rgba(211,170,74,.55);border-right:2px solid transparent;animation:slowSpin 8s linear infinite}
.float-piece{position:absolute;z-index:4;border-radius:999px;background:linear-gradient(135deg,#4c2417,#9a6047);box-shadow:0 14px 24px rgba(43,22,15,.18);animation:floatCake 4s ease-in-out infinite}
.float-piece.one{width:54px;height:34px;left:4%;top:20%;transform:rotate(-18deg)}
.float-piece.two{width:36px;height:36px;right:8%;top:17%;animation-delay:.4s}
.float-piece.three{width:44px;height:28px;right:6%;bottom:20%;transform:rotate(16deg);animation-delay:.8s}
.petal{position:absolute;z-index:4;width:26px;height:14px;border-radius:80% 20% 80% 20%;background:var(--blush-strong);opacity:.72;animation:petalDrift 6s ease-in-out infinite}
.petal.a{left:12%;bottom:18%}.petal.b{right:16%;bottom:12%;animation-delay:1s}.petal.c{left:28%;top:10%;animation-delay:1.8s}
@keyframes slowSpin{to{transform:rotate(360deg)}}
@keyframes floatCake{0%,100%{translate:0 -8px}50%{translate:0 8px}}
@keyframes petalDrift{0%,100%{translate:0 0;rotate:0deg}50%{translate:10px -18px;rotate:18deg}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

.card-grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
.grid-6{grid-template-columns:repeat(6,1fr)}
.lux-card,.product-card,.category-card,.info-card,.form-card,.menu-card,.suggestion-card{
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.lux-card:hover,.product-card:hover,.category-card:hover,.info-card:hover,.menu-card:hover,.suggestion-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow);
  border-color:rgba(200,159,61,.42);
}
.card-img{height:210px;width:100%;object-fit:cover;transition:transform .45s ease}
.assistant-suggestion-card{padding:16px}
.suggestion-card__image{
  width:100%;
  height:210px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  display:block;
  margin-bottom:18px;
  cursor:zoom-in;
}
.assistant-suggestion-card .card-body{padding:0}
.assistant-suggestion-card h3{margin-top:12px}
.assistant-suggestion-card p{margin-top:10px}
.suggestion-card__weight{
  color:var(--chocolate);
  font-size:14px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,248,239,.72);
}
.assistant-suggestion-card .btn{margin-top:14px}
.assistant-suggestion-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:auto;
}
.assistant-suggestion-actions .btn{
  width:100%;
  min-width:0;
  margin-top:0;
  padding-inline:16px;
  white-space:normal;
  text-align:center;
}
.product-card:hover .card-img,.category-card:hover .card-img,.gallery-item:hover img{transform:scale(1.06)}
.card-body{padding:20px}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  font-size:12px;
  font-weight:900;
}
.category-card .card-body{display:grid;gap:8px}
.arrow-link{color:var(--gold);font-weight:900}
.price{color:var(--gold);font-weight:900;font-size:18px}
.product-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.weights{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}
.weights span,.chip{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:7px 11px;
  color:var(--cocoa);
  font-size:12px;
  font-weight:800;
}
.chip.active,.chip:hover{background:linear-gradient(135deg,var(--champagne),var(--gold-soft));color:var(--chocolate)}

.banner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:34px;
  align-items:center;
  border-radius:34px;
  padding:42px;
  background:linear-gradient(135deg,#fff6f2,var(--blush),#fffaf0);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.banner img{height:390px;width:100%;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}

.gallery-strip{display:grid;grid-template-columns:1.25fr .8fr 1fr .8fr;gap:16px;align-items:stretch}
.gallery-item{position:relative;border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);min-height:260px}
.gallery-item.tall{min-height:420px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-item span{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:999px;padding:8px 12px;color:var(--chocolate);font-weight:900;font-size:12px}
.masonry{columns:3 260px;column-gap:18px}
.masonry .gallery-item{break-inside:avoid;margin:0 0 18px;min-height:auto}
.masonry img{height:auto}
.cake-gallery[data-gallery-dynamic]{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  columns:auto;
}
.cake-gallery[data-gallery-dynamic] .gallery-card{
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.cake-gallery[data-gallery-dynamic] .gallery-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .45s ease;
}
.cake-gallery[data-gallery-dynamic] .gallery-card:hover img{transform:scale(1.06)}
.gallery-load-more{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.gallery-load-more[hidden]{display:none}
.cakes-load-more{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.cakes-load-more[hidden]{display:none}
.cake-product-grid[data-cakes-dynamic]{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.cake-product-grid[data-cakes-dynamic] .product-card{
  min-height:580px;
  height:100%;
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
}
.cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
  padding:14px 14px 0;
}
.cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
  width:100%;
  height:230px;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:18px;
}
.cake-product-grid[data-cakes-dynamic] .card-body{
  flex:1;
  display:flex;
  flex-direction:column;
}
.cake-product-grid[data-cakes-dynamic] h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.1em;
}
.cake-product-grid[data-cakes-dynamic] .card-body p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:3.2em;
}
.cake-product-grid[data-cakes-dynamic] .weights{
  margin-top:auto;
}
.cake-product-grid[data-cakes-dynamic] .btn{
  margin-top:8px;
}
.cake-product-grid[data-cakes-dynamic] small{
  margin-top:10px;
}
@media (max-width:1024px){
  .cake-gallery[data-gallery-dynamic]{grid-template-columns:repeat(2,1fr)}
  .cake-gallery[data-gallery-dynamic] .gallery-card img{height:230px}
  .cake-product-grid[data-cakes-dynamic]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .cake-product-grid[data-cakes-dynamic] .product-card{min-height:550px}
  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{height:210px}
}
@media (max-width:640px){
  .cake-gallery[data-gallery-dynamic]{grid-template-columns:1fr}
  .cake-gallery[data-gallery-dynamic] .gallery-card img{height:210px}
  .cake-product-grid[data-cakes-dynamic]{grid-template-columns:1fr;gap:20px}
  .cake-product-grid[data-cakes-dynamic] .product-card{min-height:530px}
  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{height:200px}
}

.assistant-preview,.assistant-panel{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:28px;
  align-items:center;
  background:linear-gradient(135deg,#fff,var(--cream));
  border:1px solid var(--line);
  border-radius:32px;
  padding:34px;
  box-shadow:var(--shadow);
}
.assistant-card{background:var(--chocolate);color:#fff;border-radius:28px;padding:28px}
.assistant-card h3{color:#fff}
.assistant-card p{color:rgba(255,255,255,.72);margin:10px 0 18px}
.chip-row{display:flex;flex-wrap:wrap;gap:10px}

.page-hero{
  padding:140px 0 76px;
  background:
    linear-gradient(90deg,rgba(255,248,239,.92),rgba(255,248,239,.70)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center/cover no-repeat;
}
.page-hero .lead{margin-top:14px}
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 32px}
.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;color:var(--cocoa)}
.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,var(--champagne),var(--gold-soft));color:var(--chocolate)}

.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid .span-2{grid-column:1/-1}
[data-assistant-form] .field[name="occasion"]{grid-column:1/-1}
.field{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--chocolate);
  border-radius:16px;
  padding:14px 16px;
  outline:none;
}
textarea.field{min-height:118px;resize:vertical}
.form-card{padding:26px}
.guide-list{display:grid;gap:12px}
.guide-list div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:10px}

.menu-tools{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:26px}
.search-input{width:100%;border:1px solid var(--line);border-radius:999px;background:#fff;padding:14px 18px;color:var(--chocolate)}
.menu-tabs{display:flex;gap:10px;flex-wrap:wrap}
.menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.menu-card{padding:22px}
.menu-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.menu-item:last-child{border-bottom:0}
.menu-item small{display:block;color:var(--muted);margin-top:2px}
.premium-menu-tools{
  grid-template-columns:minmax(280px,1fr) auto;
  gap:18px;
  align-items:center;
  margin-bottom:30px;
}
.premium-menu-search{
  min-height:58px;
  padding:16px 22px;
  border-radius:999px;
  background:rgba(255,253,248,.92);
  box-shadow:var(--shadow-soft);
}
.premium-menu-tabs{
  justify-content:flex-end;
}
.premium-menu-tabs .filter-btn{
  min-height:46px;
  padding:11px 20px;
  letter-spacing:.04em;
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.premium-menu-tabs .filter-btn img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.menu-tab-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  border:1px solid rgba(200,159,61,.46);
  background:linear-gradient(145deg,#fffdf8,#fff3df);
  box-shadow:0 8px 18px rgba(43,22,15,.12),inset 0 1px 0 rgba(255,255,255,.9);
}
.menu-tab-icon--line{
  color:#8c6420;
}
.menu-tab-icon--line svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.premium-menu-tabs .filter-btn.active .menu-tab-icon,
.premium-menu-tabs .filter-btn:hover .menu-tab-icon{
  border-color:rgba(255,253,248,.8);
  background:linear-gradient(145deg,#fffdf8,#f8e3ad);
  box-shadow:0 9px 18px rgba(43,22,15,.16),inset 0 1px 0 rgba(255,255,255,.95);
}
.premium-menu-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.premium-menu-block{
  min-height:360px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border-radius:28px;
  background:rgba(255,253,248,.92);
  box-shadow:var(--shadow-soft);
}
.premium-menu-block h3{
  margin-bottom:18px;
  font-size:28px;
}
.premium-menu-rows{
  flex:1;
  display:grid;
  align-content:start;
}
.premium-menu-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  padding:16px 0;
  border-top:1px solid var(--line);
}
.premium-menu-row:last-child{
  border-bottom:1px solid var(--line);
}
.premium-menu-row span{
  min-width:0;
}
.premium-menu-row strong{
  display:block;
  color:var(--chocolate);
  font-size:16px;
  font-weight:900;
}
.premium-menu-row small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.premium-menu-row b{
  color:var(--gold);
  font-size:17px;
  font-weight:900;
  white-space:nowrap;
}
.premium-menu-action{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  white-space:nowrap;
}
.menu-plus-btn{
  width:34px;
  height:34px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(200,159,61,.34);
  border-radius:50%;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  font-size:20px;
  font-weight:900;
  line-height:1;
  box-shadow:0 10px 20px rgba(43,22,15,.1);
  transition:transform .22s ease,box-shadow .22s ease;
}
.menu-plus-btn:hover{
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 14px 28px rgba(43,22,15,.14);
}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}
.info-list{display:grid;gap:14px}
.info-card{padding:20px}
.map-box{min-height:360px;border-radius:28px;background:linear-gradient(135deg,var(--chocolate),#4a281d);color:#fff;display:grid;place-items:center;text-align:center;padding:30px;box-shadow:var(--shadow)}
.map-box h3{color:#fff}
.map-box p{color:rgba(255,255,255,.72)}

.contact-hero{padding-bottom:46px}
.contact-quick-section{padding:34px 0 28px}
.contact-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-quick-card{
  min-height:118px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,253,248,.9);
  box-shadow:var(--shadow-soft);
}
.contact-line-icon{
  width:60px;
  height:60px;
  flex:0 0 60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--gold);
  background:rgba(211,170,74,.1);
  border:1px solid rgba(211,170,74,.25);
  box-shadow:0 12px 28px rgba(43,22,15,.08);
}
.contact-line-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-quick-card h3{font-size:24px;margin:0 0 4px}
.contact-quick-card p{font-size:15px;line-height:1.5}
.contact-map-section{padding:54px 0}
.contact-store-grid{align-items:stretch}
.contact-store-grid .real-map{min-height:420px}
.contact-store-grid .real-map iframe{width:100%;height:100%;min-height:420px;border-radius:24px}
.contact-store-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  padding:32px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,253,248,.92);
  box-shadow:var(--shadow-soft);
}
.contact-store-panel .contact-detail-list{display:grid;gap:12px}
.contact-store-panel .contact-detail-list p{
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.contact-store-panel .contact-detail-list p:last-child{border-bottom:0;padding-bottom:0}
.contact-store-panel .hero-actions{margin-top:4px}
.contact-enquiry-section{padding:54px 0 64px}
.contact-enquiry-card{
  width:min(760px,100%);
  margin:auto;
  padding:30px;
}
.contact-enquiry-card .lead{margin:10px 0 22px}
.contact-enquiry-card textarea.field{min-height:96px}
.contact-trust-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--cocoa);
  font-size:14px;
  font-weight:800;
}
.contact-trust-line span{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(211,170,74,.16);
  color:var(--gold);
}

.cart-layout{display:grid;grid-template-columns:1fr .75fr;gap:26px;align-items:start}
.summary-line{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.summary-line.total{font-size:20px;font-weight:900;color:var(--chocolate);border-bottom:0}
.cart-final-amount{
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(200,159,61,.38);
  border-radius:18px;
  background:rgba(255,248,239,.78);
}
.cart-final-amount .summary-line{
  align-items:flex-start;
  flex-wrap:wrap;
  padding:0;
}
.cart-final-amount-value{
  min-width:0;
  margin-left:auto;
  text-align:right;
}
.cart-final-amount-note{
  margin-top:8px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.cake-cart-panel{display:flex;flex-direction:column;gap:18px}
.cake-cart-panel h2{margin-bottom:0}
.cart-items{display:grid;gap:14px}
.cart-item{
  display:grid;
  grid-template-columns:104px 1fr;
  gap:14px;
  align-items:start;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,253,248,.82);
  box-shadow:0 10px 26px rgba(43,22,15,.06);
}
.cart-item > img{
  width:104px;
  height:104px;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(200,159,61,.34);
  border-radius:16px;
  background:linear-gradient(145deg,#fffdf8,#fff3df);
  box-shadow:0 8px 18px rgba(43,22,15,.1),inset 0 1px 0 rgba(255,255,255,.88);
}
.cart-item-body{display:grid;gap:10px;min-width:0}
.cart-type-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:24px;
  padding:4px 9px;
  margin-bottom:6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(211,170,74,.12);
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cart-item-body h3{
  font-size:20px;
  line-height:1.12;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cart-item-body p{font-size:14px;color:var(--muted)}
.cart-item-body p span{color:var(--gold);font-weight:900;margin-left:8px}
.cart-note{
  min-height:42px;
  padding:10px 12px;
  border-radius:13px;
  font-size:13px;
}
.cart-item-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.cart-qty{
  display:inline-flex;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
}
.cart-qty button{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:var(--chocolate);
  font-weight:900;
}
.cart-qty span{
  min-width:30px;
  text-align:center;
  color:var(--chocolate);
  font-weight:900;
}
.cart-remove{
  border:0;
  background:transparent;
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cart-empty{
  display:grid;
  gap:12px;
  padding:22px;
  border:1px dashed rgba(200,159,61,.42);
  border-radius:20px;
  background:rgba(255,248,239,.72);
  text-align:center;
}
.cart-empty h3{font-size:24px}
.cart-empty p{font-size:15px}
.cart-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}
.cart-more-actions{display:grid;gap:10px}
@media (max-width:900px){
  .cart-layout{grid-template-columns:1fr}
  .premium-menu-tools{
    grid-template-columns:1fr;
  }
  .premium-menu-tabs{
    justify-content:flex-start;
  }
  .premium-menu-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}
@media (max-width:560px){
  .cart-final-amount .summary-line{
    display:grid;
    gap:6px;
  }
  .cart-final-amount-value{
    margin-left:0;
    text-align:left;
  }
}

@media (max-width:560px){
  .cart-nav-btn{width:40px;height:40px}
  .cart-toast{
    left:16px;
    right:16px;
    top:86px;
  }
  .premium-menu-tools{gap:14px;margin-bottom:24px}
  .premium-menu-tabs{gap:8px}
  .premium-menu-tabs .filter-btn{padding:10px 14px;font-size:12px}
  .premium-menu-block{padding:22px;border-radius:24px;min-height:0}
  .premium-menu-block h3{font-size:25px}
  .premium-menu-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0}
  .premium-menu-row b{font-size:16px}
  .menu-plus-btn{width:32px;height:32px;font-size:18px}
  .cart-item{grid-template-columns:92px 1fr;padding:12px;border-radius:18px}
  .cart-item > img{width:92px;height:92px;border-radius:14px}
  .cart-item-body h3{font-size:18px}
  .cart-item-actions{align-items:flex-start;flex-direction:column}
  .cart-empty-actions .btn{width:100%}
}

.site-footer{background:var(--chocolate);color:#fff;padding:60px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr;gap:28px}
.site-footer h3,.site-footer .brand-name{color:#fff}
.site-footer p,.site-footer a{display:block;color:rgba(255,255,255,.68);margin:8px 0}
.site-footer a:hover{color:var(--gold-soft)}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;text-align:center;color:rgba(255,255,255,.5)}
.sticky-wa{position:fixed;right:22px;bottom:22px;z-index:998}
.sticky-wa a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;border-radius:999px;padding:14px 20px;font-weight:900;box-shadow:0 14px 30px rgba(37,211,102,.28)}
.lightbox{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  z-index:1200;
  padding:24px;
  background:rgba(16,10,7,.82);
  backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,visibility .24s ease;
}
.lightbox.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
body.lightbox-open{
  overflow:hidden;
}
.search-requested-card,
.search-target-card{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.search-pinned-gallery-card{
  visibility:visible !important;
  opacity:1 !important;
}
.search-cake-highlight{
  position:relative;
  z-index:4;
  outline:3px solid #d6a032 !important;
  outline-offset:5px;
  box-shadow:
    0 0 0 6px rgba(214,160,50,.12),
    0 10px 26px rgba(111,70,12,.2) !important;
}
body.gallery-page .cake-gallery[data-gallery-dynamic] .gallery-card.gallery-card-selected{
  position:relative !important;
  z-index:5;
  outline:3px solid #d59b24 !important;
  outline-offset:5px !important;
  box-shadow:
    0 0 0 2px rgba(255,248,235,.95),
    0 10px 28px rgba(181,120,20,.18) !important;
  transition:
    outline-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}
.search-pinned-pastry-card{
  visibility:visible !important;
  opacity:1 !important;
}
.search-pastry-highlight{
  position:relative;
  z-index:3;
  outline:3px solid #d6a032 !important;
  outline-offset:5px;
  box-shadow:
    0 0 0 6px rgba(214,160,50,.12),
    0 10px 25px rgba(111,70,12,.18) !important;
}
.latest-menu-page .premium-menu-row.search-menu-highlight{
  position:relative;
  z-index:3;
  outline:3px solid #d6a032 !important;
  outline-offset:5px;
  border-radius:12px;
  background:linear-gradient(90deg,rgba(255,247,218,.94),rgba(255,253,244,.72)) !important;
  box-shadow:
    0 0 0 6px rgba(214,160,50,.12),
    0 10px 25px rgba(111,70,12,.18) !important;
}
@media (max-width:767px){
  .search-cake-highlight,
  .latest-menu-page .premium-menu-row.search-menu-highlight{
    outline-width:3px !important;
    outline-offset:3px;
    box-shadow:
      0 0 0 4px rgba(214,160,50,.12),
      0 8px 20px rgba(111,70,12,.18) !important;
  }
  body.gallery-page .cake-gallery[data-gallery-dynamic] .gallery-card.gallery-card-selected{
    outline-offset:3px !important;
    box-shadow:
      0 0 0 2px rgba(255,248,235,.92),
      0 8px 20px rgba(181,120,20,.17) !important;
  }
}
.returned-from-lightbox,
.returned-to-search-card,
.returned-from-search-lightbox,
.returned-to-searched-cake{
  outline:2px solid rgba(205,150,42,.55);
  outline-offset:5px;
  transition:outline-color .4s ease;
}
.lightbox img{
  max-width:92vw;
  max-height:85vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.lightbox-close{
  position:absolute;
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.36);
  border-radius:50%;
  background:rgba(255,253,248,.94);
  color:var(--chocolate);
  font-size:16px;
  font-weight:900;
  line-height:1;
  box-shadow:0 16px 42px rgba(0,0,0,.25);
}

.chat-fab{position:fixed;right:24px;bottom:88px;z-index:999;width:58px;height:58px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--champagne),var(--gold-soft));color:var(--chocolate);font-size:24px;box-shadow:var(--shadow)}
.chat-box{position:fixed;right:24px;bottom:158px;z-index:999;width:350px;height:500px;background:#fff;border-radius:24px;box-shadow:0 25px 70px rgba(43,22,15,.28);overflow:hidden;display:none;flex-direction:column}
.chat-box.open{display:flex}
.chat-head{background:var(--chocolate);color:#fff;padding:15px 16px;display:flex;gap:10px;align-items:center}
.chat-msgs{flex:1;overflow:auto;padding:14px;background:var(--cream)}
.cmsg{max-width:86%;padding:10px 12px;border-radius:16px;margin:8px 0;white-space:pre-wrap}
.cmsg.bot{background:#fff;border:1px solid var(--line);color:var(--cocoa)}
.cmsg.user{background:var(--chocolate);color:#fff;margin-left:auto}
.quick-btns{display:flex;gap:6px;flex-wrap:wrap;padding:10px;background:#fff;border-top:1px solid var(--line);max-height:110px;overflow:auto}
.quick-btns button{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--chocolate)}
.chat-inprow{display:flex;border-top:1px solid var(--line)}
.chat-inp{flex:1;border:0;padding:13px;min-width:0}
.chat-send{border:0;background:var(--gold);color:var(--chocolate);padding:0 15px;font-weight:900}

@media(max-width:1060px){
  .nav-links{display:none}
  .hamb{display:grid;place-items:center}
  .nav-links.open{display:flex;position:absolute;top:76px;left:14px;right:14px;background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:20px;flex-direction:column}
  .hero-grid,.banner,.assistant-preview,.assistant-panel,.contact-grid,.cart-layout{grid-template-columns:1fr}
  .grid-5,.grid-6{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .container{width:min(100% - 32px,1180px)}
  .section{padding:64px 0}
  .site-header{height:70px}
  .brand{min-width:auto}
  .brand-name{font-size:21px}
  .nav-actions .btn{display:none}
  .hero{padding:108px 0 56px}
  .hero-art{min-height:360px}
  .trust-row,.grid-3,.grid-4,.grid-5,.grid-6,.footer-grid,.menu-list,.form-grid,.gallery-strip{grid-template-columns:1fr}
  .gallery-strip{display:grid}
  .section-head{display:block;text-align:left}
  .banner,.assistant-preview,.assistant-panel{padding:24px;border-radius:24px}
  .banner img{height:280px}
  .menu-tools{grid-template-columns:1fr}
  .form-grid .span-2{grid-column:auto}
  .sticky-wa a{font-size:0;width:56px;height:56px;padding:0;justify-content:center}
  .sticky-wa a:before{content:"WA";font-size:13px}
  .chat-fab{right:18px;bottom:88px}
  .chat-box{left:12px;right:12px;width:auto;bottom:154px;height:460px}
  .lightbox{padding:16px}
  .lightbox img{max-width:92vw;max-height:82vh}
  .lightbox-close{top:14px;right:14px;width:40px;height:40px}
}

/* Premium cinematic refinement layer */
:root{
  --caramel:#b97343;
  --rose-dust:#f4c7c0;
  --pearl:rgba(255,255,255,.72);
  --glass:rgba(255,255,255,.66);
  --ornament:linear-gradient(90deg,transparent,var(--champagne),transparent);
  --lux-shadow:0 24px 70px rgba(43,22,15,.13);
  --gold-glow:0 18px 42px rgba(200,159,61,.22);
}

body{
  font-weight:400;
  background:
    radial-gradient(circle at 8% 8%,rgba(244,199,192,.25),transparent 22%),
    radial-gradient(circle at 92% 6%,rgba(244,223,173,.34),transparent 25%),
    radial-gradient(circle at 55% 42%,rgba(255,255,255,.45),transparent 34%),
    linear-gradient(135deg,#fff8ef 0%,#fffdf8 48%,#fff1eb 100%);
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.55;
  background-image:
    linear-gradient(rgba(43,22,15,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(43,22,15,.018) 1px,transparent 1px),
    radial-gradient(circle,rgba(200,159,61,.11) 1px,transparent 1.2px);
  background-size:46px 46px,46px 46px,18px 18px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.16));
}

h1,h2,h3,.brand-name,.display{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-weight:600;
}
h1{letter-spacing:0}
h2{font-weight:500;letter-spacing:0}
h3{font-weight:600}
.lead{line-height:1.75}
.kicker{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--gold);
  font-size:11px;
  letter-spacing:3.4px;
}
.kicker:before,.kicker:after{
  content:"";
  width:34px;
  height:1px;
  background:var(--ornament);
}
.center .kicker{justify-content:center}
.section-head{position:relative}
.section-head:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-18px;
  width:108px;
  height:1px;
  background:var(--ornament);
}
.section-head.center:after{left:50%;transform:translateX(-50%)}

.section{
  position:relative;
  overflow:hidden;
}
.section:before,.section:after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:999px;
  filter:blur(.2px);
}
.section:before{
  width:260px;
  height:260px;
  right:-120px;
  top:50px;
  background:radial-gradient(circle,rgba(244,223,173,.28),transparent 68%);
}
.section:after{
  width:180px;
  height:180px;
  left:-90px;
  bottom:20px;
  background:radial-gradient(circle,rgba(244,199,192,.25),transparent 70%);
}
.section > .container{position:relative;z-index:1}

.site-header{
  height:82px;
  background:rgba(255,253,248,.60);
  border-bottom:1px solid rgba(200,159,61,.16);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
}
.site-header.scrolled{
  background:rgba(255,253,248,.88);
  box-shadow:0 16px 44px rgba(43,22,15,.10);
}
.brand{gap:14px}
.brand-mark{
  width:48px;
  height:48px;
  border:2px solid rgba(211,170,74,.52);
  box-shadow:0 10px 24px rgba(43,22,15,.10),0 0 0 7px rgba(255,255,255,.52);
}
.brand-name{
  font-size:29px;
  color:var(--chocolate);
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.nav-links a{
  position:relative;
  padding:9px 0;
  font-size:12px;
  letter-spacing:.02em;
}
.nav-links a:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:1px;
  background:var(--champagne);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}
.icon-btn{
  width:auto;
  min-width:44px;
  height:44px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(43,22,15,.07);
  font-size:0;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.icon-btn:hover{transform:translateY(-2px);box-shadow:var(--gold-glow);border-color:rgba(200,159,61,.42)}
.nav-actions .icon-btn:nth-child(1):after,
.nav-actions .icon-btn:nth-child(2):after,
.nav-actions .icon-btn:nth-child(3):after{content:""}
.icon-btn:after{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--chocolate)}

.btn{
  position:relative;
  overflow:hidden;
  padding:13px 24px;
  min-height:46px;
  letter-spacing:.02em;
}
.btn:after{
  content:"";
  position:absolute;
  top:-60%;
  bottom:-60%;
  left:-70%;
  width:46%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transform:skewX(-22deg);
  transition:left .65s ease;
}
.btn:hover:after{left:130%}
.btn.primary{
  background:linear-gradient(135deg,#b98b2f 0%,#f3d889 48%,#d2a448 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 13px 32px rgba(200,159,61,.28),inset 0 1px 0 rgba(255,255,255,.55);
}
.btn.ghost{
  background:rgba(255,255,255,.55);
  border:1px solid rgba(200,159,61,.24);
  backdrop-filter:blur(12px);
}
.btn.whatsapp{box-shadow:0 16px 34px rgba(37,211,102,.24)}

.hero{
  background:
    radial-gradient(circle at 68% 45%,rgba(243,216,137,.54),transparent 26%),
    radial-gradient(circle at 82% 20%,rgba(244,199,192,.36),transparent 25%),
    radial-gradient(circle at 12% 88%,rgba(185,115,67,.11),transparent 30%),
    linear-gradient(135deg,#fffaf1 0%,#fffdf8 45%,#ffece8 100%);
}
.hero:before{
  width:720px;
  height:720px;
  right:-170px;
  top:40px;
  background:radial-gradient(circle,rgba(243,216,137,.58),rgba(244,199,192,.20) 45%,transparent 72%);
}
.hero:after{
  width:520px;
  height:520px;
  left:-220px;
  bottom:-120px;
  background:radial-gradient(circle,rgba(255,255,255,.75),rgba(244,199,192,.22),transparent 70%);
}
.hero-copy{
  padding:28px 0;
}
.hero-copy h1{
  max-width:760px;
  font-size:clamp(52px,7vw,92px);
  line-height:.95;
}
.hero-copy h1:first-letter{color:var(--gold)}
.trust-chip{
  position:relative;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,248,239,.64));
  backdrop-filter:blur(16px);
}
.trust-chip:before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:1px;
  background:var(--ornament);
}
.cake-stage{
  overflow:visible;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 52%,#fff 0 38%,rgba(255,232,229,.86) 39% 58%,rgba(255,248,239,.72) 59% 100%);
  box-shadow:0 34px 90px rgba(43,22,15,.16),0 0 90px rgba(211,170,74,.26);
}
.cake-stage:before{
  inset:24px;
  border-radius:50%;
  border:1px solid rgba(211,170,74,.32);
  box-shadow:inset 0 0 34px rgba(255,255,255,.75);
}
.cake-stage:after{
  border-radius:50%;
  opacity:.7;
  mix-blend-mode:multiply;
}
.hero-cake{
  border-radius:42% 58% 48% 52% / 48% 42% 58% 52%;
  box-shadow:0 30px 80px rgba(43,22,15,.30),0 0 0 12px rgba(255,255,255,.34);
}
.swirl{
  inset:4%;
  border-top:2px solid rgba(211,170,74,.72);
  border-left:1px solid rgba(244,223,173,.28);
}
.float-piece{box-shadow:0 16px 30px rgba(43,22,15,.20),inset 0 1px 0 rgba(255,255,255,.18)}
.petal{box-shadow:0 10px 18px rgba(244,199,192,.26)}

.lux-card,.product-card,.category-card,.info-card,.form-card,.menu-card,.suggestion-card{
  position:relative;
  border:1px solid rgba(200,159,61,.20);
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,248,239,.64));
  backdrop-filter:blur(10px);
  box-shadow:0 12px 34px rgba(43,22,15,.08),inset 0 1px 0 rgba(255,255,255,.72);
}
.lux-card:before,.product-card:before,.category-card:before,.info-card:before,.menu-card:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.65),transparent 32%,rgba(200,159,61,.08));
}
.category-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.category-card .card-img{
  height:185px;
  border-radius:20px 20px 0 0;
}
.category-card .badge{
  position:absolute;
  top:166px;
  left:20px;
  border-radius:14px;
  min-width:42px;
  box-shadow:var(--gold-glow);
}
.category-card .card-body{padding-top:30px}
.arrow-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:gap .25s ease,color .25s ease;
}
.arrow-link:after{content:"";width:18px;height:1px;background:currentColor;transition:width .25s ease}
.category-card:hover .arrow-link{gap:12px}
.category-card:hover .arrow-link:after{width:30px}

.product-card .card-img{
  height:230px;
  aspect-ratio:4/3;
  object-fit:cover;
}
.product-card .card-body{padding:18px}
.product-card h3{font-size:23px}
.product-card .card-body:before{
  content:"Fresh";
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  border-radius:999px;
  padding:7px 11px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--chocolate);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(200,159,61,.26);
  backdrop-filter:blur(12px);
}
.product-card:nth-child(1) .card-body:before,.product-card:nth-child(2) .card-body:before{content:"Bestseller"}
.product-card:nth-child(3) .card-body:before{content:"Eggless"}
.price{
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  letter-spacing:.01em;
}
.product-card .btn{min-height:40px;padding:11px 18px;font-size:13px}
.weights span{background:rgba(255,255,255,.58)}

.banner{
  position:relative;
  border:1px solid rgba(200,159,61,.22);
  background:
    radial-gradient(circle at 90% 12%,rgba(244,223,173,.52),transparent 24%),
    radial-gradient(circle at 12% 90%,rgba(244,199,192,.45),transparent 28%),
    linear-gradient(135deg,#fff7f3 0%,#fffdf8 46%,#ffe7e3 100%);
}
.banner:before{
  content:"";
  position:absolute;
  inset:24px;
  border:1px solid rgba(200,159,61,.16);
  border-radius:26px;
  pointer-events:none;
}
.banner:after{
  content:"Birthday  Wedding  Anniversary  Kids  Baby Shower";
  position:absolute;
  left:42px;
  bottom:24px;
  max-width:52%;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.banner img{
  position:relative;
  z-index:1;
  border:10px solid rgba(255,255,255,.52);
  box-shadow:0 26px 70px rgba(43,22,15,.18);
}

.section.alt .lux-card{
  min-height:310px;
  display:flex;
  align-items:end;
  overflow:hidden;
  color:#fff;
  background-size:cover;
  background-position:center;
}
.section.alt .lux-card:before{
  background:linear-gradient(to top,rgba(43,22,15,.78),rgba(43,22,15,.20) 62%,rgba(255,255,255,.10));
}
.section.alt .lux-card h3,.section.alt .lux-card p{position:relative;color:#fff}
.section.alt .lux-card .badge{position:relative;background:rgba(255,255,255,.76);backdrop-filter:blur(10px)}
.section.alt .lux-card:nth-child(1){background-image:url("images/chocolate_birthday_cake_with_gold_topper.webp")}
.section.alt .lux-card:nth-child(2){background-image:url("images/elegant_two_tier_cake_with_floral_accents.webp")}
.section.alt .lux-card:nth-child(3){background-image:url("images/elegant_lavender_cake_with_buttercream_rosettes.webp")}
.section.alt .lux-card:nth-child(4){background-image:url("images/playful_birthday_cake_with_toy_cars.webp")}
.section.alt .lux-card:nth-child(5){background-image:url("images/elegant_square_chocolate_vanilla_cake_centerpiece.webp")}
.section.alt .lux-card:nth-child(6){background-image:url("images/pastel_themed_decorative_cake_on_satin.webp")}

.info-card{
  text-align:left;
}
.info-card .badge{
  width:48px;
  height:48px;
  border-radius:50%;
  box-shadow:var(--gold-glow);
}
.info-card h3{font-size:22px}
.info-card p{color:var(--muted)}

.gallery-strip{
  grid-template-columns:1.25fr .72fr 1fr .82fr;
  align-items:stretch;
}
.gallery-item{
  border:1px solid rgba(200,159,61,.18);
  box-shadow:0 20px 54px rgba(43,22,15,.12);
}
.gallery-item span{
  border:1px solid rgba(200,159,61,.22);
  box-shadow:0 12px 28px rgba(43,22,15,.10);
}
.masonry .gallery-item{
  border:0;
  padding:0;
  cursor:pointer;
}

.assistant-preview,.assistant-panel{
  position:relative;
  background:
    radial-gradient(circle at 82% 25%,rgba(244,223,173,.44),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,248,239,.72));
  border:1px solid rgba(200,159,61,.22);
  box-shadow:var(--lux-shadow);
}
.assistant-preview:before,.assistant-panel:before{
  content:"";
  position:absolute;
  right:28px;
  top:28px;
  width:84px;
  height:84px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(211,170,74,.35),transparent 70%);
}
.assistant-card{
  position:relative;
  background:
    radial-gradient(circle at 80% 15%,rgba(211,170,74,.24),transparent 30%),
    linear-gradient(135deg,#2b160f,#4a281d);
  box-shadow:0 24px 64px rgba(43,22,15,.24);
}
.assistant-card:before{
  content:"Occasion  Cake Size  Flavour";
  display:block;
  color:var(--gold-soft);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:18px;
}


.map-box{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(43,22,15,.88),rgba(74,40,29,.92)),
    radial-gradient(circle at 30% 30%,rgba(211,170,74,.30),transparent 36%);
}
.map-box:before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(244,223,173,.22);
  border-radius:22px;
}

.site-footer{
  position:relative;
  background:
    radial-gradient(circle at 50% -20%,rgba(211,170,74,.22),transparent 34%),
    linear-gradient(135deg,#21100b,#351b12 58%,#24100b);
  padding-top:72px;
}
.site-footer:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:var(--ornament);
}
.site-footer h3{
  color:var(--gold-soft);
  font-size:22px;
}
.site-footer .brand-name{
  font-size:34px;
  color:var(--gold-soft);
}
.site-footer a{
  position:relative;
  width:max-content;
}
.site-footer a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:var(--gold-soft);
  transition:width .25s ease;
}
.site-footer a:hover:after{width:100%}

.sticky-wa a,.chat-fab{
  box-shadow:0 18px 42px rgba(43,22,15,.20),0 0 0 7px rgba(255,255,255,.28);
}

@media(max-width:1060px){
  .site-header{height:74px}
  .grid-6{grid-template-columns:repeat(2,1fr)}
  .section.alt .lux-card{min-height:270px}
}
@media(max-width:760px){
  .site-header{height:70px}
  .brand-mark{width:42px;height:42px}
  .brand-name{font-size:23px}
  .icon-btn{display:none}
  .hero-copy h1{font-size:clamp(43px,14vw,58px)}
  .cake-stage{width:min(330px,92vw)}
  .hero-art:after{right:50%;transform:translateX(50%);bottom:2%}
  .banner:after{position:relative;display:block;left:auto;bottom:auto;max-width:none;margin-top:18px}
  .section-head:after{bottom:-12px}
  .section.alt .lux-card{min-height:260px}
}

/* Homepage final polish */
.site-header{
  height:72px;
  padding-inline:clamp(16px,3.2vw,46px);
}
.site-header .btn.primary{
  min-height:42px;
  padding:11px 20px;
}
.nav-actions{gap:8px}
.icon-btn,
.nav-actions .icon-btn{
  width:40px;
  min-width:40px;
  height:40px;
  padding:0;
  font-size:0;
  position:relative;
}
.nav-actions .icon-btn:nth-child(1):after,
.nav-actions .icon-btn:nth-child(2):after,
.nav-actions .icon-btn:nth-child(3):after{content:""}
.nav-actions .search-icon:before{
  content:"";
  width:13px;
  height:13px;
  border:2px solid var(--chocolate);
  border-radius:50%;
  position:absolute;
  left:11px;
  top:10px;
}
.nav-actions .search-icon:after{
  content:"";
  width:8px;
  height:2px;
  background:var(--chocolate);
  border-radius:999px;
  position:absolute;
  right:10px;
  bottom:12px;
  transform:rotate(45deg);
}
.nav-actions .cart-icon:before{
  content:"";
  width:16px;
  height:13px;
  border:2px solid var(--chocolate);
  border-top:0;
  border-radius:0 0 5px 5px;
  position:absolute;
  left:11px;
  top:14px;
}
.nav-actions .cart-icon:after{
  content:"";
  width:10px;
  height:7px;
  border:2px solid var(--chocolate);
  border-bottom:0;
  border-radius:10px 10px 0 0;
  position:absolute;
  left:14px;
  top:8px;
}

.section{padding:82px 0}
.section-head .lead{margin-top:10px}
.section-head.center .lead{max-width:680px}

.hero{padding:112px 0 64px}
.hero-grid{gap:44px}
.hero-copy h1{
  max-width:690px;
  font-size:clamp(48px,6.2vw,82px);
}
.hero-copy h1:first-letter{color:var(--gold)}
.trust-row.slim{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  align-items:center;
  margin-top:26px;
  padding:13px 18px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(200,159,61,.22);
  border-radius:999px;
  background:rgba(255,255,255,.54);
  box-shadow:0 12px 30px rgba(43,22,15,.07);
  backdrop-filter:blur(12px);
}
.trust-row.slim span{
  color:var(--chocolate);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.cake-stage{
  border-radius:44% 56% 48% 52% / 52% 46% 54% 48%;
  background:
    radial-gradient(ellipse at 50% 64%,rgba(185,115,67,.18),transparent 18%),
    radial-gradient(circle at 50% 48%,#fff 0 33%,rgba(255,232,229,.82) 34% 56%,rgba(255,248,239,.48) 57% 100%);
  box-shadow:0 38px 90px rgba(43,22,15,.13),0 0 110px rgba(211,170,74,.22);
}
.cake-stage:before{
  inset:auto 12% 5%;
  height:19%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(43,22,15,.18),transparent 68%);
  border:0;
  box-shadow:none;
}
.cake-stage:after{opacity:.46}
.hero-cake{
  width:76%;
  height:76%;
  border-radius:34px;
  object-position:center 58%;
  box-shadow:0 28px 70px rgba(43,22,15,.24),0 0 0 9px rgba(255,255,255,.22);
}
.swirl{
  inset:7%;
  border-top:2px solid rgba(211,170,74,.58);
  border-right:1px solid rgba(244,223,173,.22);
  border-radius:46% 54% 50% 50%;
}

.category-card{
  min-height:100%;
  border-color:rgba(200,159,61,.24);
}
.category-card .card-img{height:172px}
.category-card .badge{
  top:151px;
  min-width:auto;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  font-size:10px;
}
.category-card .card-body{
  min-height:176px;
  display:flex;
  flex-direction:column;
}
.category-card .arrow-link{margin-top:auto}

.product-card .card-img{
  height:210px;
  aspect-ratio:4/3;
}
.product-card .card-body:before{content:none}
.product-card.is-bestseller .card-body:before{
  content:"Bestseller";
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  border-radius:999px;
  padding:7px 11px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--chocolate);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(200,159,61,.26);
  backdrop-filter:blur(12px);
}
.product-note{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  margin:8px 0 0;
}
.product-card .product-meta{margin:8px 0 12px}
.product-card .btn{width:auto;min-width:136px}

.microcopy{
  max-width:590px;
  margin:16px 0 0;
  color:var(--cocoa);
  font-size:17px;
}
.occasion-chips{margin:18px 0 2px}
.occasion-chips .chip{
  background:rgba(255,255,255,.62);
  border-color:rgba(200,159,61,.25);
}
.banner .hero-actions{margin-top:20px}

.section.alt .lux-card .arrow-link{
  position:relative;
  color:var(--gold-soft);
  margin-top:10px;
}
.section.alt .lux-card:hover{border-color:rgba(244,223,173,.72)}

.info-card .card-body{
  position:relative;
  z-index:1;
}
.grid-5 .info-card{
  text-align:center;
}
.grid-5 .info-card .badge{
  margin:0 auto 14px;
}
.grid-5 .info-card h3{
  font-size:21px;
  min-height:46px;
}
.grid-5 .info-card p{
  font-size:14px;
  line-height:1.55;
}

.gallery-item:after{
  content:"View";
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:2;
  opacity:0;
  transform:translateY(8px);
  transition:.25s ease;
  color:var(--chocolate);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(200,159,61,.22);
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gallery-item:hover:after{
  opacity:1;
  transform:translateY(0);
}

.mini-flow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.mini-flow span{
  position:relative;
  border:1px solid rgba(200,159,61,.25);
  background:rgba(255,255,255,.64);
  border-radius:999px;
  padding:9px 14px;
  color:var(--chocolate);
  font-weight:900;
  font-size:12px;
}
.mini-flow span + span:before{
  content:"";
  position:absolute;
  left:-10px;
  top:50%;
  width:10px;
  height:1px;
  background:var(--champagne);
}
.assistant-card{
  background:
    radial-gradient(circle at 84% 12%,rgba(211,170,74,.22),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,248,239,.76));
  color:var(--chocolate);
}
.assistant-card h3{color:var(--chocolate)}
.assistant-card p{color:var(--cocoa)}
.assistant-card:before{color:var(--gold)}


.visit-layout{
  grid-template-columns:1fr 1fr;
  align-items:center;
}
.store-card{
  min-height:420px;
  background:
    linear-gradient(135deg,rgba(43,22,15,.52),rgba(43,22,15,.72)),
    url("images/rituraj-bakers-logo.webp") center/cover no-repeat;
}
.compact-info{
  grid-template-columns:1fr 1fr;
  margin:22px 0;
}
.compact-info .info-card{padding:0}
.compact-info .badge{
  width:42px;
  height:42px;
  font-size:11px;
  margin-bottom:10px;
}

.site-footer .btn.whatsapp{
  min-height:38px;
  padding:10px 15px;
  font-size:12px;
}
.social-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:12px;
}
.social-row a{
  border:1px solid rgba(244,223,173,.22);
  border-radius:999px;
  padding:9px 13px;
  margin:0;
}

.chat-fab{
  width:50px;
  height:50px;
  bottom:96px;
}
.chat-fab:after{
  content:"AI Cake Helper";
  position:absolute;
  right:60px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  background:rgba(255,255,255,.86);
  color:var(--chocolate);
  border:1px solid rgba(200,159,61,.24);
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:var(--shadow-soft);
  transition:.22s ease;
}
.chat-fab:hover:after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.sticky-wa a{
  padding:13px 18px;
  font-size:13px;
}

@media(max-width:1060px){
  .trust-row.slim{width:auto}
  .compact-info{grid-template-columns:1fr}
}
@media(max-width:760px){
  .section{padding:68px 0}
  .trust-row.slim{border-radius:24px;align-items:flex-start}
  .trust-row.slim span{width:100%;white-space:normal}
  .product-card .btn{width:100%}
  .visit-layout{grid-template-columns:1fr}
  .store-card{min-height:300px}
}

/* Final homepage polish pass */
body:before{
  opacity:.22;
  background-image:
    linear-gradient(rgba(43,22,15,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(43,22,15,.012) 1px,transparent 1px);
  background-size:72px 72px,72px 72px;
}
.section{padding:76px 0}
.section.alt,.section.blush{padding:78px 0}
.section-head{margin-bottom:30px}
.section-head:after{bottom:-13px;width:92px}
.section-head.center .lead{margin-top:8px}
.lead{font-size:17px;line-height:1.7}

.hero{
  min-height:calc(100vh - 10px);
  padding:102px 0 58px;
}
.hero-grid{gap:34px}
.hero-art{min-height:500px}
.hero-copy{padding:18px 0}
.hero-copy h1{font-size:clamp(46px,5.8vw,76px)}
.hero-copy .lead{margin:18px 0 24px}
.cake-stage{
  width:min(560px,100%);
  background:
    radial-gradient(ellipse at 50% 76%,rgba(43,22,15,.13),transparent 16%),
    radial-gradient(circle at 52% 48%,rgba(255,255,255,.98) 0 26%,rgba(255,232,229,.58) 27% 48%,transparent 66%);
  box-shadow:0 34px 90px rgba(43,22,15,.10),0 0 95px rgba(211,170,74,.20);
}
.cake-stage:after{
  opacity:.24;
  background:conic-gradient(from 20deg,transparent 0 24%,rgba(211,170,74,.42) 32%,transparent 42% 70%,rgba(244,223,173,.32) 78%,transparent 88%);
}
.hero-cake{
  width:84%;
  height:84%;
  border-radius:30px;
  box-shadow:0 30px 76px rgba(43,22,15,.20);
}
.swirl{
  inset:8%;
  border-top-width:1px;
  border-right-width:1px;
  opacity:.72;
}
.float-piece.two,.petal.c{display:none}
.float-piece.one{left:2%;top:24%;transform:rotate(-14deg) scale(.78)}
.float-piece.three{right:7%;bottom:24%;transform:rotate(12deg) scale(.72)}
.petal.a{left:14%;bottom:20%;transform:scale(.85)}
.petal.b{right:18%;bottom:14%;transform:scale(.8)}
.hero-art:after{
  right:7%;
  bottom:14%;
  padding:9px 13px;
  font-size:10px;
  box-shadow:0 12px 28px rgba(200,159,61,.18);
}

.trust-row.slim{
  margin-top:22px;
  padding:10px 15px;
  box-shadow:0 9px 22px rgba(43,22,15,.055);
}
.trust-row.slim span{font-size:12px}

.category-card .card-img{height:154px}
.category-card .badge{
  top:136px;
  width:28px;
  min-width:28px;
  height:28px;
  padding:0;
  font-size:0;
}
.category-card .badge:before{
  content:"";
  width:11px;
  height:11px;
  border:1.5px solid var(--chocolate);
  border-radius:50%;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.45);
}
.category-card .card-body{
  min-height:150px;
  padding:24px 18px 18px;
}
.category-card h3{font-size:22px}
.category-card p{font-size:14px;line-height:1.45}

.product-card{
  display:flex;
  flex-direction:column;
}
.product-card .card-img{height:198px}
.product-card .card-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.product-card h3{font-size:22px}
.product-card .product-meta{margin-top:auto}
.product-card .btn{
  width:100%;
  min-height:38px;
}
.banner{
  align-items:center;
  padding:36px;
}
.banner:after{content:none}
.banner img{
  height:350px;
  border:7px solid rgba(255,255,255,.55);
  border-radius:26px;
}
.occasion-chips{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  max-width:560px;
}
.occasion-chips .chip{
  text-align:center;
  padding:8px 10px;
}

.section.alt .lux-card{
  min-height:286px;
  border-radius:22px;
}
.section.alt .lux-card:nth-child(4){background-image:url("images/playful_birthday_cake_with_toy_cars.webp")}
.section.alt .lux-card:nth-child(5){background-image:url("images/elegant_square_chocolate_vanilla_cake_centerpiece.webp")}
.section.alt .lux-card:nth-child(6){background-image:url("images/pastel_themed_decorative_cake_on_satin.webp")}
.section.alt .lux-card .card-body{padding:22px}
.section.alt .lux-card:hover{box-shadow:0 22px 58px rgba(43,22,15,.16),0 0 0 1px rgba(200,159,61,.34)}

.grid-5 .info-card{
  border-radius:20px;
  box-shadow:0 8px 24px rgba(43,22,15,.06);
}
.grid-5 .info-card .badge{
  position:relative;
  font-size:0;
}
.grid-5 .info-card .badge:before{
  content:"";
  width:17px;
  height:17px;
  border:1.5px solid var(--chocolate);
  border-radius:50%;
}
.grid-5 .info-card:nth-child(1) .badge:after,
.grid-5 .info-card:nth-child(2) .badge:after,
.grid-5 .info-card:nth-child(3) .badge:after,
.grid-5 .info-card:nth-child(4) .badge:after,
.grid-5 .info-card:nth-child(5) .badge:after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-right:1.5px solid var(--chocolate);
  border-bottom:1.5px solid var(--chocolate);
  transform:rotate(45deg);
}
.grid-5 .info-card:nth-child(2) .badge:after{transform:rotate(0deg);border:1.5px solid var(--chocolate);border-radius:2px;width:9px;height:9px}
.grid-5 .info-card:nth-child(3) .badge:after{transform:none;border:0;border-top:1.5px solid var(--chocolate);border-bottom:1.5px solid var(--chocolate);height:7px}
.grid-5 .info-card:nth-child(4) .badge:after{transform:rotate(-45deg);width:10px;height:5px}
.grid-5 .info-card:nth-child(5) .badge:after{border-radius:50%;transform:none}
.grid-5 .info-card h3{min-height:auto}

.gallery-strip{gap:14px}
.gallery-item{
  border-radius:22px;
  box-shadow:0 16px 42px rgba(43,22,15,.10);
}
.gallery-item span{
  left:14px;
  bottom:14px;
  padding:7px 11px;
}
.gallery-item:after{
  content:"View";
  right:14px;
  bottom:14px;
}

.assistant-preview{
  padding:28px;
  gap:22px;
}
.assistant-card{
  padding:24px;
  box-shadow:0 16px 42px rgba(43,22,15,.10);
}
.mini-flow{
  position:relative;
  gap:12px;
}
.mini-flow:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,159,61,.35),transparent);
}
.mini-flow span{
  z-index:1;
  background:rgba(255,253,248,.9);
}


.visit-layout{gap:34px}
.store-card{
  min-height:360px;
  background:
    linear-gradient(135deg,#fffaf1,#ffece8);
  border:1px solid rgba(200,159,61,.22);
}
.store-card:before{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:22px;
  background:
    linear-gradient(90deg,rgba(200,159,61,.16) 1px,transparent 1px),
    linear-gradient(rgba(200,159,61,.16) 1px,transparent 1px),
    radial-gradient(circle at 52% 48%,rgba(43,22,15,.18) 0 5px,transparent 6px),
    radial-gradient(circle at 52% 48%,rgba(200,159,61,.20),transparent 18%);
  background-size:42px 42px,42px 42px,auto,auto;
}
.store-card:after{
  content:"Brahmani Tola  Poster Choraha  Biswan";
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  width:max-content;
  max-width:80%;
  color:var(--chocolate);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(200,159,61,.22);
  border-radius:999px;
  padding:9px 14px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.compact-info{
  gap:12px;
}

.site-footer{
  padding:54px 0 22px;
}
.site-footer:before{
  box-shadow:0 0 24px rgba(211,170,74,.38);
}
.footer-grid{gap:34px}
.social-icon{
  width:38px!important;
  height:38px;
  display:grid!important;
  place-items:center;
  padding:0!important;
  font-size:11px;
  font-weight:900;
}
.social-icon.instagram-social{
  border-color:rgba(255,255,255,.18)!important;
  background:
    radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 6%,#fd5949 44%,#d6249f 62%,#285aeb 92%)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(214,36,159,.18);
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.social-icon.instagram-social:hover{
  color:#fff!important;
  opacity:.96;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(214,36,159,.24);
}
.social-icon .instagram-icon{
  width:19px;
  height:19px;
  display:block;
  fill:none;
  stroke:#fff;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-icon .instagram-icon circle:last-child{
  fill:#fff;
  stroke:none;
}
.site-footer .btn.whatsapp{
  min-height:36px;
  padding:9px 14px;
}

body.footer-visible .sticky-wa{
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
}
.sticky-wa{
  transition:opacity .25s ease,transform .25s ease;
}
.sticky-wa a{
  min-height:42px;
  padding:11px 16px;
  font-size:12px;
  box-shadow:0 12px 28px rgba(37,211,102,.24);
}
.chat-fab,.chat-box{display:none!important}

@media(max-width:1060px){
  .section{padding:70px 0}
  .hero-art{min-height:430px}
  .occasion-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .section,.section.alt,.section.blush{padding:58px 0}
  .hero{padding:96px 0 48px}
  .hero-art{min-height:340px}
  .cake-stage{width:min(350px,94vw)}
  .category-card .card-img,.product-card .card-img{height:190px}
  .occasion-chips{grid-template-columns:1fr}
  .assistant-preview{padding:22px}
  .mini-flow:before{display:none}
  .compact-info{grid-template-columns:1fr}
  .store-card{min-height:280px}
  .store-card:after{font-size:9px;white-space:normal;text-align:center}
}

/* Final micro-polish */
body:before{
  opacity:.16;
  background-image:
    linear-gradient(rgba(43,22,15,.014) 1px,transparent 1px),
    linear-gradient(90deg,rgba(43,22,15,.01) 1px,transparent 1px);
  background-size:96px 96px,96px 96px;
}
.hero:before{
  background:radial-gradient(circle,rgba(243,216,137,.42),rgba(244,199,192,.16) 42%,transparent 70%);
}
.hero:after{
  background:radial-gradient(circle,rgba(255,255,255,.62),rgba(244,199,192,.16),transparent 72%);
}
.hero .container:before,
.banner:before{
  box-shadow:none;
}
.hero-grid:before,
.banner > div:first-child:before{
  content:"";
  position:absolute;
  width:46px;
  height:46px;
  pointer-events:none;
  opacity:.5;
  background:
    radial-gradient(circle at 50% 50%,rgba(200,159,61,.8) 0 2px,transparent 3px),
    linear-gradient(45deg,transparent 47%,rgba(200,159,61,.34) 48% 52%,transparent 53%);
}
.hero-grid{position:relative}
.hero-grid:before{right:44%;top:18px}
.banner > div:first-child{position:relative}
.banner > div:first-child:before{left:-18px;top:-18px}

.cake-stage{
  width:min(585px,100%);
  border-radius:34px;
  background:
    radial-gradient(ellipse at 52% 77%,rgba(43,22,15,.11),transparent 15%),
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.98) 0 22%,rgba(255,239,232,.46) 23% 45%,transparent 63%);
  box-shadow:0 34px 86px rgba(43,22,15,.09),0 0 110px rgba(211,170,74,.18);
}
.cake-stage:before{
  inset:auto 14% 7%;
  height:16%;
  opacity:.55;
}
.cake-stage:after{
  width:108%;
  height:108%;
  opacity:.18;
  background:conic-gradient(from 32deg,transparent 0 30%,rgba(211,170,74,.36) 36%,transparent 44% 76%,rgba(244,223,173,.22) 82%,transparent 90%);
}
.hero-cake{
  width:88%;
  height:88%;
  border-radius:24px;
  box-shadow:0 28px 72px rgba(43,22,15,.18);
}
.swirl{
  inset:9%;
  border-top-color:rgba(211,170,74,.42);
  border-right-color:rgba(244,223,173,.16);
  opacity:.55;
}
.hero-art:after{
  padding:8px 12px;
  font-size:9px;
  letter-spacing:.14em;
  box-shadow:0 10px 24px rgba(200,159,61,.13);
}
.float-piece.one,.float-piece.three{opacity:.72}
.petal.a,.petal.b{opacity:.48}

.section{padding:72px 0}
.section.alt,.section.blush{padding:74px 0}
.assistant-preview{margin-block:-6px}

.category-card .card-img{
  height:148px;
  object-position:center 58%;
}
.category-card .card-body{
  min-height:142px;
}
.category-card .badge{
  top:130px;
  background:linear-gradient(135deg,rgba(211,170,74,.95),rgba(244,223,173,.95));
}

.product-card .card-img{
  height:196px;
  object-position:center 58%;
}
.product-card .card-body{
  min-height:216px;
}
.product-card.is-bestseller .card-body:before{
  content:"Bestseller";
}
.product-card:not(.is-bestseller) .card-body:before{
  content:none!important;
}
.product-card .price{
  line-height:1;
}

.banner{
  padding:34px;
}
.banner img{
  height:340px;
  border-color:rgba(255,255,255,.48);
  box-shadow:0 22px 60px rgba(43,22,15,.14);
}
.occasion-chips .chip{
  font-size:11px;
  padding:7px 9px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.section.blush:after{
  background:
    radial-gradient(circle,rgba(244,199,192,.26),transparent 70%);
}

.section.alt .lux-card{
  min-height:276px;
}
.section.alt .lux-card:before{
  background:linear-gradient(to top,rgba(43,22,15,.68),rgba(43,22,15,.16) 62%,rgba(255,255,255,.06));
}
.section.alt .lux-card:nth-child(1){background-image:url("images/chocolate_birthday_cake_with_gold_topper.webp")}
.section.alt .lux-card:nth-child(2){background-image:url("images/elegant_two_tier_cake_with_floral_accents.webp")}
.section.alt .lux-card:nth-child(3){background-image:url("images/elegant_lavender_cake_with_buttercream_rosettes.webp")}
.section.alt .lux-card:nth-child(4){background-image:url("images/playful_birthday_cake_with_toy_cars.webp")}
.section.alt .lux-card:nth-child(5){background-image:url("images/elegant_square_chocolate_vanilla_cake_centerpiece.webp")}
.section.alt .lux-card:nth-child(6){background-image:url("images/pastel_themed_decorative_cake_on_satin.webp")}
.section.alt .lux-card:hover{
  border-color:rgba(211,170,74,.62);
}

.grid-5 .info-card{
  min-height:190px;
}
.grid-5 .info-card .card-body{
  padding:18px 14px;
}
.grid-5 .info-card .badge{
  width:44px;
  height:44px;
}
.grid-5 .info-card:after{
  content:"";
  position:absolute;
  right:0;
  top:22px;
  bottom:22px;
  width:1px;
  background:linear-gradient(transparent,rgba(200,159,61,.22),transparent);
}
.grid-5 .info-card:last-child:after{display:none}

.gallery-strip{
  gap:13px;
}
.gallery-item{
  border-radius:20px;
}
.gallery-item span,
.gallery-item:after{
  font-size:10px;
  padding:6px 10px;
}

.assistant-preview{
  padding:26px;
  background:
    radial-gradient(circle at 85% 20%,rgba(244,223,173,.32),transparent 22%),
    linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,248,239,.78));
}
.assistant-card{
  background:
    radial-gradient(circle at 84% 10%,rgba(244,223,173,.24),transparent 30%),
    linear-gradient(135deg,#fffaf1,#fffdf8);
  border:1px solid rgba(200,159,61,.18);
}
.mini-flow{
  align-items:center;
}
.mini-flow span{
  min-width:92px;
  text-align:center;
}


.store-card{
  min-height:342px;
  border:1px solid rgba(200,159,61,.28);
  box-shadow:0 16px 42px rgba(43,22,15,.08),inset 0 1px 0 rgba(255,255,255,.72);
}
.store-card:before{
  inset:22px;
  background:
    linear-gradient(90deg,rgba(200,159,61,.14) 1px,transparent 1px),
    linear-gradient(rgba(200,159,61,.14) 1px,transparent 1px),
    radial-gradient(circle at 52% 48%,var(--gold) 0 5px,transparent 6px),
    radial-gradient(circle at 52% 48%,rgba(200,159,61,.18),transparent 20%);
  background-size:38px 38px,38px 38px,auto,auto;
}
.store-card:after{
  bottom:30px;
  padding:8px 12px;
}
.compact-info .info-card{
  min-height:140px;
}
.compact-info .info-card .card-body{
  height:100%;
}

.site-footer{
  border-top:1px solid rgba(211,170,74,.42);
  box-shadow:inset 0 1px 0 rgba(244,223,173,.12);
}
.site-footer:before{
  height:1px;
}
.social-row{
  gap:8px;
}
.social-icon,
.site-footer .btn.whatsapp{
  min-height:34px;
  height:34px;
}
.site-footer .btn.whatsapp{
  padding:8px 12px;
  font-size:11px;
}

.sticky-wa{
  right:18px;
  bottom:18px;
}
.sticky-wa a{
  min-height:38px;
  padding:9px 14px;
  font-size:11px;
  box-shadow:0 8px 20px rgba(37,211,102,.18);
}

@media(max-width:1060px){
  .grid-5 .info-card:after{display:none}
}
@media(max-width:760px){
  .section,.section.alt,.section.blush{padding:54px 0}
  .cake-stage{width:min(360px,94vw)}
  .category-card .card-img,.product-card .card-img{height:184px}
  .product-card .card-body{min-height:auto}
  .section.alt .lux-card{min-height:248px}
  .mini-flow span{min-width:auto}
  .store-card{min-height:260px}
}

/* Premium cakes ordering page */
.cakes-hero{
  position:relative;
  color:var(--chocolate);
  background:
    linear-gradient(90deg,rgba(255,248,239,.92),rgba(255,248,239,.74) 48%,rgba(255,236,232,.62)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center 58%/cover no-repeat;
}
.cakes-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 42%,rgba(211,170,74,.30),transparent 24%),
    linear-gradient(90deg,rgba(255,253,248,.78),rgba(255,253,248,.32));
  pointer-events:none;
}
.cakes-hero .container{
  position:relative;
  z-index:1;
}
.cakes-hero h1{
  max-width:760px;
}

.cake-trust-strip{
  position:relative;
  z-index:2;
  margin-top:-24px;
}
.trust-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  padding:14px;
  border:1px solid rgba(200,159,61,.22);
  border-radius:24px;
  background:rgba(255,255,255,.76);
  box-shadow:0 16px 40px rgba(43,22,15,.08);
  backdrop-filter:blur(14px);
}
.trust-strip-grid div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  color:var(--chocolate);
  font-size:13px;
}
.trust-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  box-shadow:0 8px 18px rgba(200,159,61,.18);
}
.trust-icon:before{
  content:"";
  width:9px;
  height:5px;
  border-left:2px solid var(--chocolate);
  border-bottom:2px solid var(--chocolate);
  transform:rotate(-45deg);
}

.cake-ordering-section{
  padding-top:70px;
}

.cake-hero-actions{
  margin-top:22px;
  gap:12px;
}

.cake-hero-suggestion-btn{
  min-height:50px;
  padding:14px 28px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  box-shadow:0 16px 34px rgba(190,139,45,.25),0 8px 18px rgba(43,22,15,.10);
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
}

.cake-hero-view-btn{
  min-height:50px;
  padding:14px 26px;
  border:1px solid rgba(190,139,45,.38);
  border-radius:999px;
  background:rgba(255,253,248,.74);
  color:var(--chocolate);
  box-shadow:0 10px 24px rgba(43,22,15,.08);
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
}

@media (hover:hover) and (pointer:fine){
  .cake-hero-suggestion-btn:hover,
  .cake-hero-view-btn:hover{
    transform:translateY(-2px) scale(1.01);
  }
}

.cake-suggestion-modal{
  position:fixed;
  inset:0;
  z-index:1500;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(43,22,15,.36);
  backdrop-filter:blur(10px);
  animation:cakeModalFade .18s ease both;
}

.cake-suggestion-modal[hidden]{
  display:none;
}

body.cake-suggestion-open{
  overflow:hidden;
}

.cake-suggestion-panel{
  position:relative;
  width:min(920px,100%);
  max-height:min(82vh,760px);
  overflow:auto;
  padding:24px;
  border:1px solid rgba(190,139,45,.28);
  border-radius:28px;
  background:
    radial-gradient(circle at 100% 0%,rgba(244,223,173,.28),transparent 34%),
    linear-gradient(145deg,rgba(255,253,248,.98),rgba(255,248,239,.94));
  box-shadow:0 24px 70px rgba(43,22,15,.22);
  text-align:center;
  animation:cakeModalRise .24s ease both;
}

@keyframes cakeModalFade{
  from{opacity:0}
  to{opacity:1}
}

@keyframes cakeModalRise{
  from{opacity:0;transform:translateY(14px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.cake-suggestion-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:1px solid rgba(190,139,45,.26);
  border-radius:50%;
  background:rgba(255,253,248,.88);
  color:var(--chocolate);
  font-size:22px;
  line-height:1;
  font-weight:800;
}

.cake-suggestion-intro{
  display:grid;
  justify-items:center;
  gap:8px;
  margin-bottom:18px;
  padding:0 34px;
}

.cake-suggestion-intro h2{
  font-size:clamp(28px,3vw,40px);
}

.cake-suggestion-intro p{
  max-width:560px;
  color:var(--muted);
  font-size:15px;
}

.cake-suggestion-picker{
  display:grid;
  gap:18px;
}

.cake-suggestion-options{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  text-align:left;
}

.cake-assistant-step{
  min-width:0;
  display:grid;
  gap:16px;
  padding:20px;
  border:1px solid rgba(190,139,45,.18);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,253,248,.88),rgba(255,248,239,.68));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.cake-assistant-step-head{
  display:flex;
  align-items:flex-start;
  gap:13px;
}

.cake-assistant-step-head > span{
  min-width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  font-size:13px;
  font-weight:950;
  box-shadow:0 10px 20px rgba(190,139,45,.18);
}

.cake-assistant-step-head h3{
  margin:0;
  color:var(--chocolate);
  font-size:24px;
}

.cake-assistant-step-head p{
  margin-top:5px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.cake-assistant-card-grid,
.cake-flavour-type-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.cake-assistant-choice,
.cake-flavour-type-card{
  min-width:0;
  min-height:78px;
  padding:14px;
  border:1px solid rgba(190,139,45,.24);
  border-radius:18px;
  background:rgba(255,253,248,.82);
  color:var(--chocolate);
  box-shadow:0 8px 18px rgba(43,22,15,.045);
  text-align:left;
  font-weight:900;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}

.cake-flavour-type-card{
  display:grid;
  gap:7px;
}

.cake-flavour-type-card strong{
  color:var(--chocolate);
  font-size:15px;
}

.cake-flavour-type-card span{
  color:#7b551b;
  font-size:15px;
  font-weight:950;
}

.cake-flavour-type-card small{
  color:var(--cocoa);
  font-size:12px;
  line-height:1.35;
}

.cake-assistant-choice.active,
.cake-flavour-type-card.active,
.cake-assistant-choice:hover,
.cake-flavour-type-card:hover{
  border-color:rgba(190,139,45,.48);
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  transform:translateY(-2px);
  box-shadow:0 13px 26px rgba(190,139,45,.16);
}

.cake-exact-flavour-field{
  display:grid;
  gap:8px;
  text-align:left;
}

.cake-exact-flavour-field span{
  color:#7b551b;
  font-size:13px;
  font-weight:950;
  letter-spacing:.04em;
}

.cake-exact-flavour-select{
  min-height:54px;
  border-radius:18px;
  border-color:rgba(190,139,45,.32);
  background:rgba(255,253,248,.96);
  color:var(--chocolate);
  font-weight:900;
}

.cake-flavour-note{
  padding:14px 16px;
  border:1px solid rgba(190,139,45,.22);
  border-radius:18px;
  background:rgba(255,248,239,.76);
  color:var(--chocolate);
  font-weight:900;
}

.cake-size-choice-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.cake-suggestion-option{
  min-height:40px;
  padding:9px 14px;
  border:1px solid rgba(190,139,45,.26);
  border-radius:999px;
  background:rgba(255,253,248,.9);
  color:var(--cocoa);
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}

.cake-suggestion-option.active,
.cake-suggestion-option:hover{
  border-color:rgba(190,139,45,.44);
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  transform:translateY(-1px);
}

.cake-suggestion-results{
  display:grid;
  gap:14px;
}

.cake-suggestion-results-title{
  color:var(--chocolate);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cake-suggestion-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.cake-suggestion-card{
  min-width:0;
  display:grid;
  gap:10px;
  align-content:start;
  padding:18px;
  border:1px solid rgba(190,139,45,.22);
  border-radius:20px;
  background:rgba(255,253,248,.9);
  box-shadow:0 10px 24px rgba(43,22,15,.055);
  text-align:left;
}

.cake-suggestion-card-img{
  width:100%;
  height:210px;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
  background:rgba(255,248,239,.92);
  box-shadow:0 10px 22px rgba(43,22,15,.08);
}

.cake-suggestion-card h3{
  font-size:23px;
}

.cake-suggestion-card p{
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.cake-suggestion-card .cake-ai-note{
  color:var(--chocolate);
  font-size:13px;
  font-weight:900;
}

.cake-suggestion-card small{
  min-height:42px;
  color:#7b551b;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
}

.cake-suggestion-card .btn{
  min-height:42px;
  padding:11px 16px;
  margin-top:2px;
  font-size:12px;
}

.cake-suggestion-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:2px;
}

.cake-suggestion-page-hero{
  background:
    linear-gradient(90deg,rgba(255,248,239,.94),rgba(255,248,239,.72)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center/cover no-repeat;
}

.cake-suggestion-page{
  padding-top:64px;
  background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(255,248,239,.82));
}

.cake-suggestion-page .cake-suggestion-panel{
  width:100%;
  max-height:none;
  overflow:visible;
  text-align:center;
  box-shadow:0 20px 54px rgba(43,22,15,.11);
  animation:none;
}

.cake-suggestion-submit-row{
  display:flex;
  justify-content:center;
}

.cake-suggestion-submit{
  min-width:280px;
  min-height:50px;
  padding:14px 26px;
  letter-spacing:.06em;
  box-shadow:0 16px 34px rgba(190,139,45,.22);
}

.cake-suggestion-results[hidden]{
  display:none;
}

.cake-suggestion-badges{
  display:grid;
  gap:8px;
}

.cake-suggestion-badges span{
  display:block;
  padding:9px 10px;
  border:1px solid rgba(190,139,45,.18);
  border-radius:13px;
  background:rgba(255,248,239,.72);
  color:var(--chocolate);
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.cake-suggestion-badges strong{
  color:#7b551b;
}

@media(max-width:980px) and (min-width:769px){
  .cake-suggestion-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.cake-filters{
  max-width:920px;
  margin:0 auto 32px;
}
.cake-filters .filter-btn{
  background:rgba(255,248,239,.86);
  border-color:rgba(200,159,61,.34);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.cake-filters .filter-btn.active,
.cake-filters .filter-btn:hover{
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  box-shadow:0 10px 22px rgba(200,159,61,.18);
  transform:translateY(-1px);
}
.cake-product-grid{
  grid-template-columns:repeat(4,1fr);
  align-items:stretch;
}
.cake-order-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.cake-image-wrap{
  height:220px;
  overflow:hidden;
  background:linear-gradient(135deg,#fffaf1,#ffece8);
}
.cake-image-wrap .card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
}
.cake-order-card .card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:9px;
  min-height:290px;
}
.cake-order-card h3{
  font-size:23px;
}
.cake-order-card p{
  font-size:14px;
  line-height:1.5;
}
.cake-order-card .weights{
  margin:2px 0;
}
.cake-order-card .product-meta{
  margin-top:auto;
  margin-bottom:0;
}
.cake-order-card .price{
  font-size:24px;
}
.cake-order-card .btn{
  width:100%;
  min-height:40px;
}
.cake-order-card small{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.cake-order-card.is-bestseller .card-body:before{
  content:"Bestseller";
}

.cake-size-grid{
  grid-template-columns:repeat(5,1fr);
}
.size-card{
  text-align:center;
}
.size-card .badge{
  margin:0 auto 12px;
  width:48px;
  height:48px;
  font-size:12px;
}
.size-card h3{
  font-size:24px;
}
.size-card p{
  color:var(--muted);
  font-weight:800;
}

.cake-step-grid{
  grid-template-columns:repeat(4,1fr);
}
.step-card{
  text-align:center;
}
.step-card .badge{
  margin:0 auto 14px;
  width:46px;
  height:46px;
  font-size:1rem;
  font-weight:800;
  line-height:1;
  border-radius:50%;
}
.step-card p{
  color:var(--muted);
  font-size:14px;
}

.cake-help-banner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:34px;
  border:1px solid rgba(200,159,61,.22);
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 20%,rgba(244,223,173,.34),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,232,229,.56));
  box-shadow:0 18px 46px rgba(43,22,15,.09);
}
.cake-help-banner h2{
  max-width:720px;
}
.cake-help-banner .hero-actions{
  justify-content:flex-end;
  margin:0;
}

.faq-list{
  max-width:880px;
  margin:0 auto;
  display:grid;
  gap:12px;
}
.faq-list details{
  border:1px solid rgba(200,159,61,.22);
  border-radius:18px;
  background:rgba(255,255,255,.74);
  box-shadow:0 8px 22px rgba(43,22,15,.055);
  overflow:hidden;
}
.faq-list summary{
  cursor:pointer;
  padding:17px 20px;
  color:var(--chocolate);
  font-weight:900;
}
.faq-list p{
  padding:0 20px 18px;
  color:var(--muted);
}

@media(max-width:1060px){
  .trust-strip-grid,
  .cake-product-grid,
  .cake-size-grid,
  .cake-step-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .step-card .badge{
    width:42px;
    height:42px;
    font-size:.95rem;
  }
  .step-card .badge:after{
    width:7px;
    height:7px;
    border-width:1.4px;
  }
  .cake-help-banner{
    grid-template-columns:1fr;
  }
  .cake-help-banner .hero-actions{
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .cakes-hero{
    padding-top:118px;
  }
  .trust-strip-grid,
  .cake-product-grid,
  .cake-size-grid,
  .cake-step-grid{
    grid-template-columns:1fr;
  }
  .cake-trust-strip{
    margin-top:0;
  }
  .trust-strip-grid{
    border-radius:20px;
  }
  .cake-filters{
    justify-content:flex-start;
  }
  .cake-image-wrap{
    height:230px;
  }
  .cake-order-card .card-body{
    min-height:auto;
  }
  .cake-help-banner{
    padding:24px;
  }
}

/* Cakes page final micro-polish */
.cakes-hero{
  background:
    linear-gradient(90deg,rgba(255,248,239,.86),rgba(255,248,239,.66) 48%,rgba(255,236,232,.42)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center 58%/cover no-repeat;
}
.cakes-hero:before{
  background:
    radial-gradient(circle at 78% 42%,rgba(211,170,74,.24),transparent 24%),
    linear-gradient(90deg,rgba(255,248,239,.58),rgba(255,248,239,.22));
}
.cake-ordering-section{padding-top:62px;padding-bottom:66px}
.cake-guide-section,.cake-steps-section,.cake-faq-section{padding-top:62px;padding-bottom:62px}
.cake-help-banner{margin-block:-4px}

.trust-strip-grid{
  padding:11px 14px;
  box-shadow:0 12px 30px rgba(43,22,15,.065);
}
.trust-strip-grid div{min-height:42px}
.trust-icon{
  width:22px;
  height:22px;
}
.trust-icon:before{
  width:8px;
  height:5px;
}

.cake-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.cake-filters .filter-btn{
  background:rgba(255,248,239,.92);
  border:1px solid rgba(200,159,61,.42);
}
.cake-filters .filter-btn.active{
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
}

.cake-image-wrap{
  height:238px;
}
.cake-image-wrap .card-img{
  object-position:center center;
}
.cake-order-card .card-body{
  min-height:268px;
  padding:18px;
}
.cake-order-card h3{
  min-height:54px;
  display:flex;
  align-items:flex-end;
}
.cake-order-card p{
  min-height:42px;
}
.cake-order-card .weights{
  min-height:34px;
}
.cake-order-card .product-meta{
  min-height:32px;
  display:flex;
  align-items:center;
}
.cake-order-card .price{
  font-weight:900;
  font-size:26px;
  color:var(--gold);
}
.cake-order-card .btn{
  min-height:38px;
}
.cake-order-card small{
  font-size:11px;
  opacity:.78;
}

.size-card{
  min-height:178px;
}
.size-card .card-body{
  padding:20px 14px;
}
.size-card small{
  display:block;
  margin-top:6px;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.size-card.most-ordered{
  border-color:rgba(200,159,61,.46);
  box-shadow:0 14px 34px rgba(200,159,61,.14);
}
.size-card.most-ordered:after{
  content:"Most Ordered";
  position:absolute;
  top:12px;
  right:12px;
  border-radius:999px;
  padding:5px 8px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(200,159,61,.25);
  color:var(--chocolate);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cake-step-grid{
  position:relative;
}
.cake-step-grid:before{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:48px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,159,61,.38),transparent);
}
.step-card{
  min-height:172px;
}
.step-card .card-body{
  padding:20px 14px;
}
.step-card .badge{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 18px rgba(158,99,21,.12);
}
.step-card .badge:after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-right:1.5px solid var(--chocolate);
  border-bottom:1.5px solid var(--chocolate);
  transform:translate(-50%, -40%) rotate(45deg);
  opacity:.48;
}

.cake-help-banner{
  padding:28px;
}
.cake-help-banner .hero-actions{
  align-items:center;
}

.faq-list details{
  position:relative;
}
.faq-list summary{
  list-style:none;
  padding-right:48px;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{
  content:"+";
  position:absolute;
  right:20px;
  top:14px;
  color:var(--gold);
  font-size:22px;
  line-height:1;
  font-weight:500;
}
.faq-list details[open] summary:after{
  content:"-";
}
.faq-list p{
  line-height:1.6;
}

@media(max-width:1060px){
  .cake-step-grid:before{display:none}
}
@media(max-width:760px){
  .cake-ordering-section,.cake-guide-section,.cake-steps-section,.cake-faq-section{padding-top:52px;padding-bottom:52px}
  .cake-image-wrap{height:236px}
  .cake-order-card h3,.cake-order-card p,.cake-order-card .weights,.cake-order-card .product-meta{min-height:auto}
  .size-card,.step-card{min-height:auto}
  .cake-help-banner .hero-actions .btn{width:100%}
}

/* Cakes page final compact polish */
.cakes-hero{
  background:
    linear-gradient(90deg,rgba(255,248,239,.78),rgba(255,248,239,.56) 48%,rgba(255,236,232,.32)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center 58%/cover no-repeat;
}
.cakes-hero:before{
  background:
    radial-gradient(circle at 78% 42%,rgba(211,170,74,.22),transparent 24%),
    linear-gradient(90deg,rgba(255,248,239,.46),rgba(255,248,239,.14));
}
.cake-ordering-section{
  padding-top:54px;
  padding-bottom:50px;
}
.cake-guide-section,
.cake-steps-section,
.cake-faq-section{
  padding-top:46px;
  padding-bottom:46px;
}
.section.blush:has(.cake-help-banner){
  padding-top:44px;
  padding-bottom:44px;
}
.cake-product-grid{
  gap:18px;
}
.cake-image-wrap{
  height:226px;
}
.cake-order-card .card-body{
  min-height:244px;
  padding:16px;
  gap:7px;
}
.cake-order-card h3{
  min-height:48px;
  font-size:22px;
}
.cake-order-card p{
  min-height:40px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cake-order-card .weights{
  min-height:30px;
}
.cake-order-card .weights span{
  padding:6px 9px;
}
.cake-order-card .product-meta{
  min-height:28px;
}
.cake-order-card .price{
  font-size:24px;
}
.cake-order-card .btn{
  min-height:36px;
  padding:10px 16px;
}
.cake-order-card small{
  font-size:10.5px;
}
.size-card{
  min-height:158px;
}
.size-card .card-body{
  padding:16px 12px;
}
.size-card .badge{
  width:42px;
  height:42px;
  margin-bottom:9px;
}
.size-card h3{
  font-size:22px;
}
.size-card p{
  margin-top:2px;
}
.size-card small{
  margin-top:4px;
}
.size-card.most-ordered:after{
  top:9px;
  right:9px;
  padding:4px 7px;
}
.step-card{
  min-height:152px;
}
.step-card .card-body{
  padding:16px 12px;
}
.step-card .badge{
  width:42px;
  height:42px;
  margin-bottom:10px;
}
.cake-step-grid:before{
  top:43px;
}
.step-card h3{
  font-size:22px;
}
.step-card p{
  line-height:1.45;
}
.cake-help-banner{
  padding:24px 28px;
}
.faq-list{
  gap:10px;
}
.faq-list summary{
  padding:14px 46px 14px 18px;
}
.faq-list summary:after{
  right:18px;
  top:12px;
  font-size:20px;
}
.faq-list p{
  padding:0 18px 14px;
}
.sticky-wa a{
  min-height:34px;
  padding:8px 12px;
  font-size:10px;
  box-shadow:0 6px 14px rgba(37,211,102,.13);
}

@media(max-width:760px){
  .cake-ordering-section,
  .cake-guide-section,
  .cake-steps-section,
  .cake-faq-section{
    padding-top:42px;
    padding-bottom:42px;
  }
  .section.blush:has(.cake-help-banner){
    padding-top:40px;
    padding-bottom:40px;
  }
  .cake-image-wrap{
    height:222px;
  }
  .cake-order-card .card-body,
  .size-card,
  .step-card{
    min-height:auto;
  }
}

/* Tiny final homepage fixes */
.sticky-wa{
  right:16px;
  bottom:16px;
}
.sticky-wa a{
  min-height:34px;
  padding:8px 12px;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 6px 16px rgba(37,211,102,.14);
}

.store-card{
  overflow:hidden;
  border-color:rgba(200,159,61,.32);
  background-image:
    radial-gradient(circle at 52% 40%,var(--gold) 0 5px,transparent 6px),
    radial-gradient(circle at 52% 40%,rgba(200,159,61,.25),transparent 24px),
    linear-gradient(115deg,transparent 0 34%,rgba(200,159,61,.34) 34.2% 34.8%,transparent 35% 58%,rgba(200,159,61,.22) 58.2% 58.8%,transparent 59%),
    linear-gradient(90deg,rgba(200,159,61,.12) 1px,transparent 1px),
    linear-gradient(rgba(200,159,61,.12) 1px,transparent 1px),
    linear-gradient(135deg,#fffaf1,#ffece8);
  background-size:auto,auto,auto,38px 38px,38px 38px,auto;
}
.store-card > div{display:none}
.store-card:before{
  content:"";
  position:absolute;
  left:calc(52% - 8px);
  top:calc(40% - 24px);
  width:16px;
  height:22px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  box-shadow:0 10px 20px rgba(200,159,61,.22);
}
.store-card:after{
  content:"Rituraj Bakers";
  top:45%;
  bottom:auto;
  left:52%;
  transform:translate(-50%,-50%);
  padding:8px 13px;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(43,22,15,.08);
}

.site-footer{
  border-top:1px solid rgba(211,170,74,.56);
  box-shadow:inset 0 1px 0 rgba(244,223,173,.18),0 -10px 28px rgba(211,170,74,.08);
}
.site-footer:before{
  background:linear-gradient(90deg,transparent,rgba(244,223,173,.78),transparent);
  box-shadow:0 0 18px rgba(211,170,74,.34);
}

/* Custom cakes studio page */
.custom-hero{min-height:560px;padding-top:104px;padding-bottom:56px;position:relative;color:var(--chocolate);background:linear-gradient(90deg,rgba(255,248,239,.88),rgba(255,248,239,.68) 52%,rgba(255,236,232,.52)),url("images/elegant_two_tier_cake_with_floral_accents.webp") center 40%/cover no-repeat;}
.custom-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 42%,rgba(211,170,74,.28),transparent 24%),linear-gradient(90deg,rgba(255,253,248,.72),rgba(255,253,248,.28));pointer-events:none;}
.custom-hero .hero-copy{position:relative;z-index:1;max-width:640px;}
.custom-hero .hero-art{display:none;}
.custom-trust-line{display:inline-flex;max-width:620px;margin:0 0 24px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.custom-occasion-section,.custom-gallery-section,.custom-steps-section,.custom-enquiry-section,.custom-help-section,.custom-faq-section{padding-top:64px;padding-bottom:64px}
.occasion-card-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.occasion-choice{min-height:150px;border:1px solid rgba(200,159,61,.24);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,248,239,.68));color:var(--chocolate);box-shadow:0 10px 26px rgba(43,22,15,.065);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;padding:18px;text-align:left;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.occasion-choice span{color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.12em}
.occasion-choice strong{font-family:"Cormorant Garamond","Playfair Display",serif;font-size:24px;line-height:1}
.occasion-choice small{color:var(--muted);font-size:12px;line-height:1.35}
.occasion-card:hover,.occasion-card.is-selected{transform:translateY(-4px);border-color:rgba(200,159,61,.48);background:linear-gradient(135deg,var(--champagne),var(--gold-soft));box-shadow:0 16px 36px rgba(200,159,61,.18)}
.occasion-card:hover span,.occasion-card:hover small,.occasion-card.is-selected span,.occasion-card.is-selected small{color:var(--chocolate)}
.custom-inspiration-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:16px}
.custom-inspiration-grid .gallery-item{min-height:250px}
.custom-inspiration-grid .gallery-item.tall{min-height:380px;grid-row:span 2}
.custom-inspiration-grid img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.custom-inspiration-grid .gallery-item span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.custom-step-grid{position:relative;grid-template-columns:repeat(4,1fr)}
.custom-step-grid:before{content:"";position:absolute;left:12%;right:12%;top:43px;height:1px;background:linear-gradient(90deg,transparent,rgba(200,159,61,.38),transparent)}
.custom-enquiry-grid{align-items:start;grid-template-columns:1.1fr .9fr}
.form-helper{margin:8px 0 20px;color:var(--muted);font-size:15px}
.custom-enquiry-section .form-card{padding:26px}
.custom-enquiry-section .field{min-height:48px;border-radius:15px;background:rgba(255,255,255,.82)}
.upload-field{min-height:78px;border:1px dashed rgba(200,159,61,.45);border-radius:16px;background:rgba(255,255,255,.72);padding:16px;display:flex;flex-direction:column;justify-content:center;gap:4px;color:var(--chocolate);cursor:pointer}
.upload-field input{position:absolute;opacity:0;pointer-events:none}
.upload-field span{font-weight:900}
.upload-field small{color:var(--muted);font-size:12px}
.custom-enquiry-section .btn.full{width:100%}
.custom-guide-card{position:sticky;top:94px}
.premium-guide-list{gap:10px}
.premium-guide-list div{align-items:center;padding:13px 0}
.premium-guide-list strong{color:var(--chocolate);font-family:"Cormorant Garamond","Playfair Display",serif;font-size:24px}
.premium-guide-list span{color:var(--muted);font-weight:800}
.guide-note{margin-top:16px;padding:14px;border-radius:16px;background:rgba(255,248,239,.76);border:1px solid rgba(200,159,61,.18);color:var(--muted);font-size:13px}
.custom-cake-enquiry-form{
  gap:16px;
}
.custom-cake-enquiry-form .form-field{
  display:grid;
  gap:7px;
  min-width:0;
}
.custom-cake-enquiry-form .form-field > span{
  color:var(--chocolate);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.custom-cake-enquiry-form .field{
  border-color:rgba(200,159,61,.22);
  background:rgba(255,253,248,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.custom-cake-enquiry-form textarea.field{
  min-height:116px;
}
.custom-cake-enquiry-form .upload-field{
  position:relative;
  min-height:116px;
  padding:20px 22px 20px 82px;
  border:1.5px dotted rgba(200,159,61,.72);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,253,248,.96),rgba(255,248,239,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76);
}
.custom-cake-enquiry-form .reference-photo-card{
  position:relative;
  min-height:152px;
  padding:22px 24px 22px 86px;
  border:1.5px solid rgba(190,139,45,.42);
  border-radius:22px;
  background:
    radial-gradient(circle at 96% 0%,rgba(244,223,173,.32),transparent 34%),
    linear-gradient(145deg,rgba(255,253,248,.98),rgba(255,244,225,.9));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 12px 28px rgba(43,22,15,.07);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  color:var(--chocolate);
}
.custom-cake-enquiry-form .upload-field:before,
.custom-cake-enquiry-form .upload-field:after{
  content:none;
  display:none;
}
.upload-icon{
  position:absolute;
  left:22px;
  top:50%;
  width:42px;
  height:42px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  box-shadow:0 10px 24px rgba(200,159,61,.22);
}
.upload-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:var(--chocolate);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.custom-cake-enquiry-form .upload-field > span:not(.upload-icon){
  color:var(--chocolate);
  font-weight:900;
}
.custom-cake-enquiry-form .reference-photo-card > span:not(.upload-icon){
  color:var(--chocolate);
  font-weight:900;
  font-size:16px;
}
.custom-cake-enquiry-form .upload-field em{
  color:var(--cocoa);
  font-size:13px;
  font-style:normal;
}
.custom-cake-enquiry-form .reference-photo-card em{
  color:var(--cocoa);
  font-size:14px;
  font-style:normal;
  line-height:1.45;
}
.custom-cake-enquiry-form .reference-photo-note{
  display:block;
  padding:11px 13px;
  border:1px solid rgba(190,139,45,.28);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(211,170,74,.2),rgba(244,223,173,.46));
  color:var(--chocolate);
  font-size:13px;
  font-weight:900;
  line-height:1.45;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.custom-cake-enquiry-form .upload-field small{
  color:var(--muted);
  font-size:12px;
}
.custom-cake-enquiry-form .reference-photo-card small{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.whatsapp-reply-note{
  display:flex;
  align-items:center;
  gap:8px;
  margin:2px 0 -2px;
  color:var(--cocoa);
  font-size:13px;
  font-weight:800;
}
.whatsapp-reply-note span{
  width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  background:rgba(200,159,61,.14);
  color:var(--gold);
  font-size:12px;
}
.custom-enquiry-submit{
  min-height:50px;
  border-radius:999px;
  letter-spacing:.13em;
  text-transform:uppercase;
  box-shadow:0 16px 34px rgba(200,159,61,.24);
}
.custom-guide-card{
  display:grid;
  gap:18px;
}
.custom-guide-image{
  width:100%;
  height:200px;
  object-fit:cover;
  object-position:center 58%;
  border-radius:18px;
  box-shadow:0 18px 42px rgba(43,22,15,.12);
}
.custom-guide-card h2{
  font-size:clamp(30px,3vw,42px);
}
.premium-guide-list{
  display:grid;
  gap:10px;
}
.custom-guide-card .premium-guide-list div{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid rgba(200,159,61,.18);
  border-radius:15px;
  background:rgba(255,253,248,.78);
}
.custom-guide-card .premium-guide-list .guide-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  box-shadow:0 0 0 5px rgba(200,159,61,.10);
}
.custom-guide-card .premium-guide-list strong{
  color:var(--chocolate);
  font-family:var(--font-sans);
  font-size:23px;
  line-height:1;
}
.custom-guide-card .premium-guide-list span:last-child{
  color:var(--cocoa);
  font-size:13px;
  font-weight:900;
  text-align:right;
}
.custom-help-section{padding-top:52px;padding-bottom:52px}
.custom-faq-section{padding-top:56px;padding-bottom:56px}

@media(max-width:1180px){.occasion-card-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1060px){
  .custom-inspiration-grid,.custom-enquiry-grid,.custom-step-grid{grid-template-columns:1fr 1fr}
  .custom-step-grid:before{display:none}
  .custom-guide-card{position:static}
}
@media(max-width:760px){
  .custom-hero{padding-top:96px;padding-bottom:46px}
  .custom-occasion-section,.custom-gallery-section,.custom-steps-section,.custom-enquiry-section,.custom-help-section,.custom-faq-section{padding-top:50px;padding-bottom:50px}
  .occasion-card-grid,.custom-inspiration-grid,.custom-enquiry-grid,.custom-step-grid{grid-template-columns:1fr}
  .occasion-choice{min-height:126px}
  .custom-inspiration-grid .gallery-item,.custom-inspiration-grid .gallery-item.tall{min-height:260px;grid-row:auto}
  .custom-enquiry-section .form-card{padding:22px}
  .custom-cake-enquiry-form .upload-field{
    padding:82px 18px 18px;
    text-align:center;
  }
  .custom-cake-enquiry-form .reference-photo-card{
    padding:82px 18px 18px;
    text-align:center;
  }
  .upload-icon{
    left:50%;
    top:22px;
    transform:translateX(-50%);
  }
  .whatsapp-reply-note{
    justify-content:center;
    text-align:center;
  }
  .custom-guide-image{
    height:180px;
  }
  .custom-guide-card .premium-guide-list div{
    grid-template-columns:auto 1fr;
  }
  .custom-guide-card .premium-guide-list span:last-child{
    grid-column:2;
    text-align:left;
  }
}

/* Custom Cakes final polish */
.nav-actions .search-icon,
.nav-actions .cart-icon{
  background:rgba(255,255,255,.78);
  border-color:rgba(200,159,61,.28);
}
.nav-actions .search-icon:before,
.nav-actions .search-icon:after,
.nav-actions .cart-icon:before,
.nav-actions .cart-icon:after{
  border-color:var(--chocolate);
}
.nav-actions .search-icon:after{
  background:var(--chocolate);
  border:0;
}

.custom-occasion-section,
.custom-gallery-section,
.custom-steps-section,
.custom-enquiry-section,
.custom-help-section,
.custom-faq-section{
  padding-top:50px;
  padding-bottom:50px;
}
.custom-occasion-section .section-head,
.custom-gallery-section .section-head,
.custom-steps-section .section-head,
.custom-faq-section .section-head{
  margin-bottom:24px;
}
.custom-occasion-section h2,
.custom-gallery-section h2,
.custom-steps-section h2,
.custom-enquiry-section h2,
.custom-help-section h2,
.custom-faq-section h2{
  font-size:clamp(32px,3.7vw,50px);
}

.custom-inspiration-grid{
  gap:14px;
}
.custom-inspiration-grid .gallery-item{
  min-height:220px;
}
.custom-inspiration-grid .gallery-item.tall{
  min-height:330px;
}
.custom-inspiration-grid img{
  object-fit:cover;
  object-position:center 54%;
}
.custom-inspiration-grid .gallery-item:nth-child(1) img{
  object-position:center 48%;
}
.custom-inspiration-grid .gallery-item:nth-child(3) img{
  object-position:center 60%;
}
.custom-inspiration-grid .gallery-item span{
  padding:6px 10px;
  font-size:9px;
}

.occasion-choice{
  min-height:136px;
  padding:16px;
}
.custom-step-grid .step-card{
  min-height:146px;
}
.custom-step-grid .step-card .card-body{
  padding:16px 12px;
}
.custom-enquiry-section .form-card{
  padding:24px;
}
.custom-enquiry-section .field{
  min-height:46px;
}
.upload-field{
  position:relative;
  min-height:72px;
  padding:15px 16px 15px 58px;
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.upload-field:before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:24px;
  height:24px;
  transform:translateY(-50%);
  border-radius:50%;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  box-shadow:0 8px 18px rgba(200,159,61,.18);
}
.upload-field:after{
  content:"";
  position:absolute;
  left:27px;
  top:50%;
  width:7px;
  height:7px;
  border-left:2px solid var(--chocolate);
  border-top:2px solid var(--chocolate);
  transform:translateY(-35%) rotate(45deg);
}
.upload-field:hover{
  border-color:rgba(200,159,61,.72);
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 24px rgba(200,159,61,.10);
}
.premium-guide-list div{
  padding:11px 0;
}
.custom-help-section{
  padding-top:42px;
  padding-bottom:42px;
}
.custom-faq-section{
  padding-top:46px;
  padding-bottom:42px;
}
.custom-faq-section .faq-list{
  gap:9px;
}
.custom-faq-section .faq-list summary{
  padding:13px 46px 13px 18px;
}
.custom-faq-section .faq-list summary:after{
  top:11px;
  right:18px;
}
.custom-faq-section .faq-list p{
  padding:0 18px 13px;
}

.sticky-wa{
  right:15px;
  bottom:15px;
}
.sticky-wa a{
  min-height:34px;
  padding:8px 12px;
  font-size:11px;
  letter-spacing:0;
  text-transform:none;
  box-shadow:0 6px 14px rgba(37,211,102,.12);
}

@media(max-width:760px){
  .custom-hero{
    padding-top:88px;
    padding-bottom:38px;
  }
  .custom-occasion-section,
  .custom-gallery-section,
  .custom-steps-section,
  .custom-enquiry-section,
  .custom-help-section,
  .custom-faq-section{
    padding-top:42px;
    padding-bottom:42px;
  }
  .custom-inspiration-grid .gallery-item,
  .custom-inspiration-grid .gallery-item.tall{
    min-height:230px;
  }
  .occasion-choice{
    min-height:112px;
  }
  .custom-help-section .hero-actions .btn{
    width:100%;
  }
  .sticky-wa a{
    width:48px;
    height:48px;
    min-height:48px;
    padding:0;
    font-size:0;
  }
  .sticky-wa a:before{
    content:"WA";
    font-size:11px;
  }
}

/* Homepage typography and premium polish pass */
:root{
  --font-display:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --font-body:"Montserrat","Poppins",Arial,sans-serif;
  --gold:#C9963F;
  --gold-light:#E8C06A;
  --gold-pale:#F5E4BA;
  --cream:#FAF6F0;
  --cream-dark:#F0E8DC;
  --brown-deep:#1A1208;
  --brown:#3D2B1A;
  --brown-mid:#5C4A32;
  --brown-light:#9C7A5C;
  --white:#FFFFFF;
  --forest:#1C2B1E;
  --wa-green:#25D366;
  --ivory:var(--white);
  --champagne:var(--gold);
  --gold-soft:var(--gold-light);
  --chocolate:var(--brown-deep);
  --cocoa:var(--brown-mid);
  --muted:var(--brown-light);
  --green:var(--wa-green);
  --line:rgba(201,150,63,.18);
}

body{
  font-family:var(--font-body);
  background:
    radial-gradient(circle at 12% 8%,rgba(201,150,63,.08),transparent 25%),
    radial-gradient(circle at 86% 18%,rgba(245,228,186,.34),transparent 24%),
    var(--cream);
  color:var(--brown-mid);
}

.container{
  width:min(1240px,calc(100% - 40px));
}
.section{
  padding:96px 0;
}
main > .section:nth-of-type(odd){
  background:var(--cream);
}
main > .section:nth-of-type(even){
  background:var(--white);
}
.section.dark{
  background:var(--forest);
}
.section.blush{
  background:var(--cream-dark);
}
.card-grid{
  gap:20px;
}
.section-head{
  margin-bottom:48px;
}
.kicker{
  margin-bottom:12px;
  font-family:var(--font-body);
  font-size:11px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
}
h1,h2,h3,.brand-name,.display{
  font-family:var(--font-display);
  color:var(--brown-deep);
}
h1{
  font-size:clamp(52px,6vw,88px);
  font-weight:300;
  line-height:1.08;
  letter-spacing:0;
}
h2{
  font-size:clamp(36px,4vw,60px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:0;
}
h3{
  font-size:22px;
  font-weight:500;
  line-height:1.3;
}
p,.lead,.product-note,.microcopy{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:300;
  line-height:1.75;
  color:var(--brown-mid);
  letter-spacing:.01em;
}
.btn,
button,
.filter-btn{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.price{
  font-family:var(--font-display);
  font-size:26px;
  font-weight:600;
  color:var(--gold);
  letter-spacing:0;
}
.nav-links a{
  font-family:var(--font-body);
  font-size:13px;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--brown);
}
.nav-actions{
  gap:12px;
}

.hero h1{
  font-size:clamp(52px,6vw,80px);
}
.hero h1 em{
  font-style:italic;
  font-weight:300;
}
.hero h1:first-letter{
  color:inherit;
}
.hero-copy .lead{
  margin:40px 0 48px;
}
.hero-actions{
  gap:14px;
}
.trust-row.slim{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.trust-row.slim span{
  font-size:12px;
  font-weight:400;
  letter-spacing:.05em;
  color:var(--brown-mid);
  background:rgba(201,150,63,.08);
  padding:10px 20px;
  border-radius:999px;
  border:1px solid rgba(201,150,63,.2);
}
.cake-stage{
  position:relative;
}
.cake-stage:before{
  inset:26px;
  border-color:rgba(201,150,63,.16);
}
.cake-stage:after{
  background:
    linear-gradient(to bottom,transparent 50%,rgba(26,18,8,.4) 100%),
    conic-gradient(from 20deg,transparent,rgba(232,192,106,.22),transparent,rgba(245,228,186,.24),transparent);
}
.hero-cake{
  filter:contrast(1.06) saturate(1.04);
}
.hero-fresh-badge{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.92);
  color:var(--brown-deep);
  font-family:var(--font-body);
  font-size:10px;
  font-weight:600;
  letter-spacing:3px;
  padding:8px 16px;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(26,18,8,.12);
}

.category-card{
  border-radius:12px;
  background:var(--white);
  border:1px solid rgba(201,150,63,.12);
  box-shadow:0 12px 30px rgba(26,18,8,.06);
  transition:all .35s cubic-bezier(.16,1,.3,1);
}
.category-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 60px rgba(26,18,8,.1);
  border-bottom:2px solid var(--gold);
}
.category-card .card-img{
  height:200px;
  object-fit:cover;
  border-radius:8px 8px 0 0;
  transition:transform .5s ease;
}
.category-card:hover .card-img{
  transform:scale(1.04);
}
.category-card .badge{
  display:none;
}
.arrow-link{
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:8px;
}
.arrow-link:after{
  content:"-";
}

.product-card{
  position:relative;
  padding:24px;
  border:1px solid rgba(201,150,63,.12);
  border-radius:12px;
  background:var(--white);
}
.product-card .card-img{
  height:220px;
  overflow:hidden;
  border-radius:8px;
  margin-bottom:16px;
  object-fit:cover;
  transition:transform .4s ease;
}
.product-card:hover .card-img{
  transform:scale(1.03);
}
.product-card .card-body{
  padding:0;
}
.product-card.is-bestseller:before{
  content:"Bestseller";
  position:absolute;
  top:38px;
  left:38px;
  z-index:2;
  background:var(--gold);
  color:var(--brown-deep);
  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:999px;
}
.product-card .card-body:before{
  content:none!important;
  display:none!important;
}
.product-card .product-note{
  font-size:11px;
  color:var(--brown-light);
  letter-spacing:.05em;
  margin-bottom:12px;
}
.product-card .btn.primary{
  width:100%;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--brown-deep);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:12px 20px;
  border-radius:999px;
  transition:all .25s ease;
}
.product-card .btn.primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(201,150,63,.35);
}

.section.alt .lux-card{
  min-height:300px;
  border-radius:12px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
}
.section.alt .lux-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(26,18,8,.75) 0%,transparent 55%);
}
.section.alt .lux-card .card-body{
  position:relative;
  z-index:1;
  padding:24px;
}
.section.alt .lux-card .badge{
  display:none;
}
.section.alt .lux-card h3{
  font-family:var(--font-display);
  font-size:24px;
  font-weight:500;
  color:white;
  font-style:italic;
}
.section.alt .lux-card p{
  font-size:13px;
  font-weight:300;
  color:rgba(255,255,255,.75);
  line-height:1.5;
}
.section.alt .lux-card .arrow-link{
  color:var(--gold-light);
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
}

.info-card{
  padding:32px 24px;
  border:1px solid rgba(201,150,63,.1);
  border-radius:8px;
  background:var(--white);
}
.info-card:hover{
  border-color:rgba(201,150,63,.35);
}
.info-card .card-body{
  padding:0;
}
.info-card .badge{
  background:var(--gold-pale);
  width:52px;
  height:52px;
  border-radius:50%;
  margin-bottom:20px;
}
.info-card h3{
  font-size:18px;
  font-weight:600;
  color:var(--brown-deep);
  margin-bottom:8px;
}
.info-card p{
  font-size:13px;
  font-weight:300;
  color:var(--brown-mid);
  line-height:1.7;
}

.gallery-item span{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:rgba(255,255,255,.92);
  color:var(--brown-deep);
  padding:6px 14px;
  border-radius:999px;
}
.section-head .btn.ghost{
  border:1px solid rgba(201,150,63,.4);
  color:var(--gold);
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  padding:12px 28px;
  border-radius:999px;
}
.section-head .btn.ghost:hover{
  background:var(--gold);
  color:var(--brown-deep);
}

.assistant-preview{
  background:var(--cream-dark);
}
.assistant-preview h2{
  font-size:40px;
}
.mini-flow span{
  border:1.5px solid rgba(201,150,63,.3);
  color:var(--brown-mid);
  font-size:12px;
  font-weight:500;
  padding:8px 20px;
  border-radius:999px;
}
.mini-flow span:first-child{
  background:var(--gold);
  color:var(--brown-deep);
}
.assistant-preview .btn.primary{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  padding:18px 32px;
  border-radius:12px;
}


.visit-layout{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.visit-store-content{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}
.compact-info .info-card{
  background:var(--white);
  border:1px solid rgba(201,150,63,.15);
  border-radius:12px;
  padding:28px 24px;
}
.compact-info .badge{
  width:44px;
  height:44px;
  background:var(--gold-pale);
  color:var(--brown-deep);
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
}
.compact-info h3{
  font-size:20px;
  font-weight:500;
}
.compact-info p{
  font-size:14px;
  font-weight:300;
  color:var(--brown-mid);
  line-height:1.6;
}
.visit-layout .btn.primary{
  background:var(--gold);
  color:var(--brown-deep);
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
}
.visit-layout .btn.whatsapp{
  background:var(--wa-green);
  color:white;
}

.site-footer{
  background:var(--brown-deep);
}
.site-footer .brand-name{
  font-family:var(--font-display);
  font-size:28px;
  font-weight:600;
  font-style:italic;
  color:var(--gold);
  letter-spacing:.02em;
}
.site-footer h3{
  font-family:var(--font-body);
  font-size:10px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
  margin-bottom:20px;
}
.site-footer p,
.site-footer a{
  font-family:var(--font-body);
  font-size:14px;
  font-weight:300;
  color:rgba(255,255,255,.6);
  line-height:2.2;
}
.site-footer a:hover{
  color:white;
}
.copyright{
  border-top:1px solid rgba(201,150,63,.12);
  margin-top:40px;
  padding-top:20px;
  font-size:12px;
  color:rgba(255,255,255,.25);
  letter-spacing:.05em;
}

.sticky-wa{
  right:24px;
  bottom:24px;
}
.sticky-wa a{
  background:var(--wa-green);
  color:white;
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  padding:14px 24px;
  border-radius:999px;
  box-shadow:0 8px 32px rgba(37,211,102,.35);
  text-transform:none;
}
.sticky-wa a:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(37,211,102,.45);
}

@media(max-width:760px){
  .section{
    padding:68px 0;
  }
  .hero h1{
    font-size:clamp(48px,14vw,62px);
  }
  .hero-copy .lead{
    margin:28px 0 32px;
  }
  .hero-fresh-badge{
    bottom:20px;
    font-size:9px;
    letter-spacing:2px;
  }
  .sticky-wa a{
    width:auto;
    height:auto;
    min-height:42px;
    padding:10px 14px;
    font-size:11px;
  }
  .sticky-wa a:before{
    content:none;
  }
}

/* Homepage requested bug fixes */
.hero-art:after{
  content:none!important;
  display:none!important;
}

.product-card{
  display:flex;
  flex-direction:column;
}
.product-card .card-img{
  border-radius:8px!important;
  overflow:hidden;
  background:none!important;
}
.product-card .card-body{
  display:flex;
  flex:1;
  flex-direction:column;
}
.product-card .btn{
  margin-top:auto;
}
.product-card.is-bestseller:before,
.product-card.is-bestseller:after,
.product-card.is-bestseller .card-body:before,
.product-card.is-bestseller .card-body:after{
  content:none!important;
  display:none!important;
  background:none!important;
}

.section.alt .lux-card .badge{
  display:none!important;
}

.info-card{
  padding:28px 24px!important;
}
.info-card .badge{
  margin-bottom:12px!important;
}

.mini-flow span{
  background:white!important;
  color:#5C4A32!important;
  border:1.5px solid rgba(201,150,63,.3)!important;
}
.mini-flow span:first-child{
  background:#C9963F!important;
  color:#1A1208!important;
  border:none!important;
}


/* Homepage final spacing and cleanup fixes */
.hero:after,
.cake-stage:before,
.float-piece.one{
  content:none!important;
  display:none!important;
}

main > .section.alt:first-of-type{
  padding-bottom:0!important;
}
main > .section.alt:first-of-type + .section{
  padding-top:0!important;
}
.assistant-preview{
  margin-top:0!important;
}
main > section:has(.assistant-preview){
  padding-top:64px!important;
}
main > section:has(.visit-layout){
  padding-bottom:64px!important;
}

.info-card{
  padding:28px 20px!important;
  border-top:1px solid rgba(201,150,63,.1);
  transition:border-color .3s ease,border-top-color .3s ease,transform .25s ease,box-shadow .25s ease;
}
.info-card:hover{
  border-top:2px solid #C9963F!important;
  border-color:rgba(201,150,63,.35);
}

/* Index mobile responsive rules */
@media (max-width:1024px){
  .container{
    width:min(100% - 36px,1024px);
  }
  .hero-grid,
  .banner,
  .assistant-preview,
  .contact-grid{
    grid-template-columns:1fr;
  }
  .grid-5,
  .grid-6{
    grid-template-columns:repeat(3,1fr);
  }
  .grid-4{
    grid-template-columns:repeat(2,1fr);
  }
  .footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:768px){
  .section{
    padding:64px 5%!important;
  }
  .container{
    width:100%;
  }
  h2,
  .section-head h2{
    font-size:clamp(28px,6vw,40px);
  }
  .kicker{
    font-size:10px;
  }

  .nav-links{
    display:none;
  }
  .nav-hamb,
  .hamb{
    display:block;
  }
  .nav-links.open{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:72px;
    left:0;
    right:0;
    background:#1A1208;
    padding:24px;
    gap:24px;
    z-index:999;
    border-top:1px solid rgba(201,150,63,.2);
    border-radius:0;
  }
  .nav-links.open a{
    color:white;
    font-size:16px;
    padding:8px 0;
  }

  .hero{
    min-height:auto;
    padding:0;
  }
  .hero-grid{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .hero-copy{
    padding:100px 6% 48px;
    text-align:center;
    max-width:none;
  }
  .hero h1{
    font-size:40px;
    line-height:1.15;
  }
  .hero-copy .lead{
    font-size:14px;
    margin:16px auto 32px;
    max-width:340px;
  }
  .hero-actions{
    flex-direction:column;
    width:100%;
    max-width:320px;
    margin:0 auto;
  }
  .hero-actions .btn{
    width:100%;
  }
  .trust-row.slim{
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
  }
  .hero-art{
    display:block;
    height:320px;
    min-height:320px;
    width:100%;
  }
  .cake-stage{
    width:100%;
    height:320px;
    aspect-ratio:auto;
    border-radius:0;
  }
  .hero-cake{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:0;
  }
  .scroll-indicator{
    display:none;
  }

  .marquee{
    font-size:10px;
    padding:12px 0;
  }

  main > .section:has(.category-card) .card-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  main > .section:has(.category-card) .category-card:last-child:nth-child(odd){
    grid-column:span 2;
    max-width:50%;
    margin:0 auto;
  }
  .category-card .card-img{
    height:160px;
  }
  .category-card .card-body{
    padding:16px;
  }

  main > .section:has(.product-card) .card-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    padding-bottom:16px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  main > .section:has(.product-card) .card-grid::-webkit-scrollbar{
    display:none;
  }
  main > .section:has(.product-card) .product-card{
    min-width:240px;
    scroll-snap-align:start;
    flex-shrink:0;
  }
  main > .section:has(.product-card) .product-card .card-img{
    height:180px;
  }

  .banner{
    grid-template-columns:1fr;
    padding:24px;
  }
  .banner img{
    width:100%;
    height:260px;
    border-radius:12px;
    margin-top:24px;
  }
  .banner h2{
    font-size:32px;
  }
  .occasion-chips{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .banner .btn{
    width:100%;
  }

  main > .section:has(.lux-card) .card-grid{
    grid-template-columns:1fr;
  }
  main > .section:has(.lux-card) .lux-card{
    width:100%;
    min-height:260px;
  }
  main > .section:has(.lux-card) .lux-card h3{
    font-size:36px;
  }

  main > .section:has(.grid-5 .info-card) .grid-5{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  main > .section:has(.grid-5 .info-card) .info-card{
    padding:20px 16px!important;
  }
  main > .section:has(.grid-5 .info-card) .info-card .badge{
    width:40px;
    height:40px;
  }
  main > .section:has(.grid-5 .info-card) .info-card h3{
    font-size:15px;
  }
  main > .section:has(.grid-5 .info-card) .info-card p{
    font-size:12px;
  }

  .section-head:has(+ .gallery-strip){
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:16px;
  }
  .gallery-strip{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    padding-bottom:16px;
    scrollbar-width:none;
  }
  .gallery-strip::-webkit-scrollbar{
    display:none;
  }
  .gallery-item,
  .gallery-item.tall{
    min-width:280px;
    height:340px;
    min-height:340px;
    scroll-snap-align:start;
    flex-shrink:0;
    border-radius:12px;
  }
  .section-head:has(+ .gallery-strip) .btn{
    width:100%;
    margin-top:24px;
  }

  .assistant-preview{
    display:flex;
    flex-direction:column;
  }
  .assistant-card{
    margin-top:24px;
    width:100%;
  }
  .assistant-preview h2{
    font-size:28px;
  }
  .mini-flow{
    flex-wrap:wrap;
    gap:8px;
  }
  .assistant-preview .btn.primary{
    width:100%;
    padding:16px;
  }


  .visit-layout{
    display:flex;
    flex-direction:column;
  }
  .store-card{
    width:100%;
    height:240px;
    min-height:240px;
    border-radius:12px;
    margin-bottom:24px;
  }
  .compact-info{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .visit-layout .hero-actions{
    flex-direction:column;
    width:100%;
  }
  .visit-layout h2{
    font-size:36px;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:32px;
  }
  .footer-grid > div:first-child{
    grid-column:span 2;
  }
  .site-footer{
    padding:48px 5% 28px;
  }
  .site-footer .brand-name{
    font-size:24px;
  }

  .sticky-wa{
    bottom:20px;
    right:16px;
  }
  .sticky-wa a{
    padding:16px 28px;
    font-size:14px;
    box-shadow:0 8px 32px rgba(37,211,102,.4);
  }
}

@media (max-width:767px){
  .section{
    padding:48px 4%!important;
  }
  h2,
  .section-head h2{
    font-size:28px;
  }
  main > .section:has(.lux-card) .lux-card{
    min-height:220px;
  }
  main > .section:has(.grid-5 .info-card) .grid-5{
    grid-template-columns:1fr;
    gap:10px;
  }
  .footer-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .footer-grid > div:first-child{
    grid-column:span 1;
  }
  .compact-info{
    grid-template-columns:1fr;
  }
  main > .section:has(.category-card) .category-card:last-child:nth-child(odd){
    max-width:100%;
  }
}

/* Real Google map for location section */
.real-map,
.location-map-frame{
  width:100%;
  height:420px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(201,150,63,.22);
  box-shadow:0 30px 80px rgba(26,18,8,.12);
  background:var(--cream,#FAF6F0);
}
.real-map iframe,
.location-map-frame iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
  filter:sepia(8%) saturate(90%) brightness(103%);
}

@media (max-width:768px){
  .real-map,
  .location-map-frame{
    height:320px;
    min-height:320px;
    border-radius:22px;
    margin-bottom:24px;
  }
}

/* Global header icon consistency */
.nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.nav-icon-btn{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(201,150,63,.2);
  background:rgba(255,255,255,.85);
  color:var(--brown-deep,#1A1208);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(26,18,8,.08);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.nav-icon-btn:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:rgba(201,150,63,.36);
  box-shadow:0 18px 40px rgba(26,18,8,.12);
}
.nav-icon-btn svg{
  display:block;
}
.nav-icon-btn:before,
.nav-icon-btn:after{
  content:none!important;
  display:none!important;
}
.nav-order-btn{
  padding:16px 30px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold,#C9963F),#F2CD6B);
  color:var(--brown-deep,#1A1208);
  font-family:var(--font-body,"DM Sans",sans-serif);
  font-size:13px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 14px 32px rgba(201,150,63,.28);
}

@media (max-width:768px){
  .nav-actions .nav-order-btn{
    display:inline-flex;
  }
  .nav-icon-btn{
    width:42px;
    height:42px;
    flex:0 0 42px;
  }
  .nav-icon-btn svg{
    width:20px;
    height:20px;
  }
  .nav-order-btn{
    min-height:42px;
    padding:12px 18px;
    font-size:11px;
    letter-spacing:1.2px;
  }
}

@media (max-width:480px){
  .nav-actions{
    gap:8px;
  }
  .nav-icon-btn{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .nav-order-btn{
    padding:10px 13px;
    font-size:10px;
  }
}

/* Hero cake slideshow */
.hero-slideshow {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 500px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(26,18,8,0.14);
}

.slideshow-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.9s ease;
}

.slide.active {
  opacity: 1;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 4s ease;
}

.slide.active img {
  transform: scale(1.04);
}

.slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(26,18,8,0.55) 0%,
    transparent 55%
  );
}

.slide-label {
  position: absolute;
  bottom: 56px;
  left: 20px;
  right: 20px;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-style: italic;
  color: rgba(255,255,255,0.9);
  z-index: 2;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.6s 0.4s ease,
    transform 0.6s 0.4s ease;
}

.slide.active .slide-label {
  opacity: 1;
  transform: translateY(0);
}

.slideshow-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 7px;
  z-index: 3;
}

.dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.4);
  transition: all 0.4s ease;
  cursor: pointer;
}

.dot.active {
  width: 22px;
  background: #C9963F;
}

@media (max-width: 768px) {
  .hero-slideshow {
    min-height: 320px;
    height: 320px;
    border-radius: 0;
  }
}

/* Hero slideshow premium frame upgrade */
.hero-art,
.hero-right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 32px;
  background: transparent;
}

.hero-slideshow {
  position: relative;
  width: 100%;
  max-width: 520px;
  min-height: 480px;
  height: auto;
  border-radius: 24px;
  overflow: visible !important;
  box-shadow: none;
}

.hero-slideshow::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  border: 1px solid rgba(201,150,63,0.25);
  border-radius: 32px;
  pointer-events: none;
  z-index: 0;
}

.hero-slideshow::after {
  content: "";
  position: absolute;
  top: -24px;
  left: -24px;
  right: -24px;
  bottom: -24px;
  border: 1px solid rgba(201,150,63,0.1);
  border-radius: 40px;
  pointer-events: none;
  z-index: 0;
}

.hero-slideshow .slideshow-track {
  position: relative;
  width: 100%;
  height: 480px;
  border-radius: 20px;
  overflow: hidden;
  z-index: 1;
  box-shadow:
    0 40px 80px rgba(58,39,20,0.2),
    0 12px 32px rgba(201,150,63,0.15),
    inset 0 1px 0 rgba(255,255,255,0.1);
}

.hero-float-card2 {
  position: absolute;
  top: 20px;
  left: -20px;
  background: #C9963F;
  border-radius: 12px;
  padding: 12px 16px;
  z-index: 10;
  box-shadow: 0 12px 32px rgba(201,150,63,0.35);
  display: flex;
  align-items: center;
  gap: 8px;
  animation: floatDown 4s ease-in-out infinite;
}

.hero-float-icon {
  font-size: 14px;
  color: rgba(255,255,255,0.9);
}

.hero-float-text {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.95);
}

.hero-slideshow .slideshow-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 7px;
  z-index: 5;
}

.hero-slideshow .dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.4);
  transition: all 0.4s ease;
  cursor: pointer;
}

.hero-slideshow .dot.active {
  width: 22px;
  background: #C9963F;
}

.hero-slideshow .slide-label {
  position: absolute;
  bottom: 56px;
  left: 20px;
  right: 20px;
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-style: italic;
  color: rgba(255,255,255,0.92);
  z-index: 2;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.6s 0.4s ease,
    transform 0.6s 0.4s ease;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.hero-slideshow .slide.active .slide-label {
  opacity: 1;
  transform: translateY(0);
}

.hero:after,
.cake-stage:before,
.float-piece,
.swirl,
.petal {
  content: none !important;
  display: none !important;
}

@keyframes floatDown {
  0%, 100% { transform: translateY(0px) }
  50% { transform: translateY(6px) }
}

@media (max-width: 768px) {
  .hero-art,
  .hero-right {
    padding: 28px 18px 36px;
  }
  .hero-slideshow {
    min-height: 340px;
    max-width: 100%;
  }
  .hero-slideshow .slideshow-track {
    height: 340px;
  }
  .hero-float-card2 {
    left: 12px;
    top: 14px;
  }
}

/* Final hero frame fixes */
.hero:before,
.hero:after {
  content: none !important;
  display: none !important;
}

.hero-right,
.hero-art {
  overflow: visible;
  position: relative;
}

.hero-slideshow::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  border: 1px solid rgba(201,150,63,0.3);
  border-radius: 28px;
  pointer-events: none;
  z-index: 0;
}

.hero-float-card2 {
  top: 20px;
  right: -16px;
  left: auto;
}

@media (max-width: 768px) {
  .hero-float-card2 {
    right: 12px;
    left: auto;
  }
}

/* Final hero artifact removal */
.hero-grid:before,
.hero-grid:after,
.hero .container:before,
.hero .container:after,
.hero-art:before,
.hero-art:after,
.hero-slideshow > :empty,
.cake-stage,
.cake-stage:before,
.cake-stage:after,
.swirl,
.float-piece,
.petal {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Cakes page requested fixes */
.cakes-hero h1 {
  color: #FFFFFF;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

.cakes-hero .lead {
  color: rgba(255,255,255,0.85);
}

.cakes-hero::before,
.custom-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(10,8,5,0.72) 0%,
    rgba(10,8,5,0.55) 50%,
    rgba(10,8,5,0.25) 100%
  );
  z-index: 1;
}

.cakes-hero .container,
.custom-hero .hero-copy {
  position: relative;
  z-index: 2;
}

.menu-hero,
.gallery-hero,
.contact-hero.cakes-hero{
  background:
    linear-gradient(90deg,rgba(18,11,7,.34),rgba(18,11,7,.18)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center 58%/cover no-repeat;
}

.menu-hero:before,
.gallery-hero:before,
.contact-hero.cakes-hero:before{
  background:
    radial-gradient(circle at 78% 42%,rgba(211,170,74,.18),transparent 24%),
    linear-gradient(90deg,rgba(10,8,5,.70),rgba(10,8,5,.52) 48%,rgba(10,8,5,.24));
}

.menu-hero .kicker,
.gallery-hero .kicker,
.contact-hero.cakes-hero .kicker{
  color:var(--gold);
}

.menu-hero h1,
.gallery-hero h1,
.contact-hero.cakes-hero h1{
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.34);
}

.menu-hero .lead,
.gallery-hero .lead,
.contact-hero.cakes-hero .lead{
  color:rgba(255,255,255,.86);
}

.custom-cakes-hero-actions {
  margin-top: 28px;
}

.custom-inspiration-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}

.custom-inspiration-grid .gallery-item {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.custom-inspiration-grid .gallery-item img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.5s ease;
}

.custom-inspiration-grid .gallery-item:hover img {
  transform: scale(1.04);
}

.custom-guide-card img,
.custom-enquiry-grid img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center center;
  border-radius: 12px;
  display: block;
  margin-bottom: 24px;
}

.custom-inspiration-grid .gallery-item.tall img {
  height: 500px;
}

.custom-guide-media {
  width: 100%;
  height: 350px;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(43,22,15,.12);
  margin-bottom: 18px;
}

.custom-guide-media .custom-guide-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  margin-bottom: 0;
  box-shadow: none;
}

@media (max-width: 1060px) {
  .custom-guide-media {
    height: 280px;
  }
}

@media (max-width: 760px) {
  .custom-guide-media {
    height: 220px;
    border-radius: 16px;
    margin-bottom: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .custom-cakes-trust-strip .trust-strip-grid {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

.cake-step-grid .step-card .card-body {
  padding: 28px 20px;
}

.cake-step-grid .step-card .badge {
  margin-top: 0;
  margin-bottom: 12px;
}

/* Real store photo sections */
.store-experience-section,
.store-gallery-section{
  background:
    radial-gradient(circle at 12% 18%,rgba(201,150,63,.09),transparent 28%),
    var(--cream,#FAF6F0);
}

.store-experience-grid,
.store-proof-grid{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:42px;
  align-items:center;
}

.store-experience-copy h3{
  margin:12px 0 14px;
  font-family:var(--font-display,"Cormorant Garamond",serif);
  font-size:clamp(28px,3vw,42px);
  font-weight:500;
  color:var(--brown-deep,#1A1208);
}

.store-trust-list{
  display:grid;
  gap:10px;
  margin:24px 0;
}

.store-trust-list span{
  position:relative;
  padding:12px 14px 12px 42px;
  border:1px solid rgba(218,177,86,.26);
  border-radius:14px;
  background:#fffdf8;
  color:#5b3b22;
  font-family:"Montserrat","Poppins",Arial,sans-serif;
  font-size:1.04rem;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(26,18,8,.045);
}

.store-trust-list span:before{
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:14px;
  height:14px;
  transform:translateY(-50%);
  border-radius:50%;
  background:linear-gradient(180deg,#d9ab4d,#b97a1c);
  box-shadow:0 0 0 5px rgba(217,171,77,.16);
}

.store-photo-card,
.store-proof-photo,
.contact-store-photo,
.store-gallery-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(201,150,63,.24);
  border-radius:22px;
  background:var(--cream,#FAF6F0);
  box-shadow:0 26px 70px rgba(26,18,8,.12);
}

.store-photo-card img,
.store-proof-photo img,
.contact-store-photo img,
.store-gallery-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s ease;
}

/* Homepage store experience: fixed frame makes the counter-focused crop explicit. */
.store-experience-section .inside-store-crop{
  height:560px;
  max-height:560px;
  overflow:hidden;
  border-radius:28px;
}

.store-experience-section .inside-store-crop img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 78%;
}

.store-photo-card{
  min-height:430px;
}

.store-photo-card:hover img,
.store-proof-photo:hover img,
.contact-store-photo:hover img,
.store-gallery-card:hover img{
  transform:scale(1.035);
}

.store-proof-photo{
  min-height:390px;
}

.store-proof-copy{
  max-width:620px;
}

.contact-store-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:22px;
  align-items:stretch;
}

.contact-store-photo{
  min-height:420px;
}

.contact-store-photo span,
.store-gallery-card figcaption{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  border-radius:999px;
  padding:7px 14px;
  background:rgba(255,250,242,.92);
  border:1px solid rgba(201,150,63,.28);
  color:var(--brown-deep,#1A1208);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}

.contact-store-grid .assistant-card{
  grid-column:1 / -1;
}

.store-gallery-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  gap:18px;
}

.store-gallery-card{
  min-height:270px;
  margin:0;
}

.store-gallery-card.tall{
  grid-row:span 2;
  min-height:560px;
}

.store-gallery-card.wide{
  grid-column:span 2;
}

@media(max-width:1024px){
  .store-experience-grid,
  .store-proof-grid,
  .contact-store-grid{
    grid-template-columns:1fr;
  }
  .store-gallery-grid{
    grid-template-columns:1fr 1fr;
  }
  .store-gallery-card.tall,
  .store-gallery-card.wide{
    grid-column:auto;
    grid-row:auto;
    min-height:320px;
  }
}

@media(max-width:768px){
  .store-experience-grid,
  .store-proof-grid{
    gap:26px;
  }
  .store-photo-card,
  .store-proof-photo,
  .contact-store-photo{
    min-height:300px;
    width:100%;
  }
  .store-experience-section .inside-store-crop{
    height:360px;
    max-height:360px;
  }
  .store-experience-section .inside-store-crop img{
    object-position:center 74%;
  }
  .store-gallery-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .store-gallery-card,
  .store-gallery-card.tall,
  .store-gallery-card.wide{
    min-height:280px;
  }
  .store-trust-list span{
    font-size:.98rem;
    font-weight:600;
  }
  .store-trust-list span::before{
    width:12px;
    height:12px;
  }
}

.store-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 40px;
}

.store-gallery-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin: 0;
}

.store-gallery-card img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

.store-gallery-card.tall {
  grid-row: span 2;
}

.store-gallery-card.tall img {
  height: 100%;
  min-height: 400px;
}

.store-gallery-card.wide {
  grid-column: span 2;
}

.store-gallery-card.wide img {
  height: 240px;
}

.store-gallery-card figcaption {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(255,250,242,0.92);
  border: 1px solid rgba(201,150,63,0.3);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #1A1208;
}

@media (max-width: 768px) {
  .store-gallery-grid {
    grid-template-columns: 1fr;
  }
  .store-gallery-card.tall {
    grid-row: span 1;
  }
  .store-gallery-card.wide {
    grid-column: span 1;
  }
  .store-gallery-card img {
    height: 220px;
  }
}

/* Store photo final polish */
.store-photo-card span{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  border-radius:999px;
  padding:7px 14px;
  background:rgba(255,250,242,.94);
  border:1px solid rgba(201,150,63,.3);
  color:var(--brown-deep,#1A1208);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}

.contact-store-panel{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:24px;
  border:1px solid rgba(201,150,63,.18);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 22px 58px rgba(26,18,8,.09);
}

.contact-store-panel .contact-store-photo{
  min-height:250px;
}

.contact-store-panel h2{
  font-size:clamp(30px,3.4vw,44px);
}

.contact-store-panel p{
  color:var(--brown-mid,#5C4A32);
}

.real-map iframe,
.location-map-frame iframe{
  width:100%;
  height:100%;
  min-height:420px;
  border-radius:24px;
  overflow:hidden;
}

.site-header .nav-actions .nav-icon-btn:empty{
  display:none!important;
}

@media(max-width:768px){
  .contact-store-panel{
    padding:20px;
  }
  .contact-store-panel .hero-actions{
    flex-direction:column;
    width:100%;
  }
  .contact-store-panel .hero-actions .btn{
    width:100%;
  }
  .real-map iframe,
  .location-map-frame iframe{
    min-height:320px;
  }
}

/* About page premium redesign */
.about-hero:not(.cakes-hero){
  background:
    linear-gradient(90deg,rgba(250,246,240,.94),rgba(250,246,240,.78)),
    radial-gradient(circle at 80% 20%,rgba(201,150,63,.18),transparent 30%);
}

.about-hero h1{
  max-width:860px;
}

.about-story-section,
.about-visit-section,
.about-cta-section{
  background:var(--cream,#FAF6F0);
}

.about-split,
.about-visit-grid{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:48px;
  align-items:center;
}

.about-visit-grid{
  grid-template-columns:.95fr 1fr;
}

.about-copy{
  max-width:680px;
}

.about-copy h2,
.about-cta h2{
  font-family:var(--font-display,"Cormorant Garamond",serif);
  color:var(--brown-deep,#1A1208);
}

.about-copy .lead{
  margin-top:16px;
}

.about-image-card{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(201,150,63,.24);
  background:
    linear-gradient(135deg,rgba(255,255,255,.68),rgba(250,246,240,.76));
  box-shadow:0 28px 76px rgba(26,18,8,.13);
}

.about-image-card:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(201,150,63,.18);
  border-radius:22px;
  pointer-events:none;
  z-index:1;
}

.about-image-card img{
  width:100%;
  height:100%;
  min-height:430px;
  display:block;
  object-fit:cover;
}

.about-values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.about-value-card{
  min-height:220px;
  padding:30px 24px;
  border:1px solid rgba(201,150,63,.16);
  border-radius:16px;
  background:rgba(255,255,255,.74);
  box-shadow:0 16px 40px rgba(26,18,8,.07);
}

.about-value-card span{
  display:inline-flex;
  margin-bottom:18px;
  color:var(--gold,#C9963F);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}

.about-value-card h3{
  margin-bottom:10px;
}

.about-value-card p,
.about-contact-lines p,
.about-cta p{
  color:var(--brown-mid,#5C4A32);
}

.about-contact-lines{
  display:grid;
  gap:10px;
  margin:22px 0;
}

.about-contact-lines p{
  padding:14px 16px;
  border:1px solid rgba(201,150,63,.17);
  border-radius:14px;
  background:rgba(255,255,255,.68);
}

.about-map-card{
  height:420px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(201,150,63,.22);
  box-shadow:0 26px 70px rgba(26,18,8,.11);
}

.about-map-card iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
}

.about-cta{
  max-width:900px;
  margin:auto;
  text-align:center;
  padding:44px;
  border:1px solid rgba(201,150,63,.2);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 20%,rgba(201,150,63,.13),transparent 30%),
    rgba(255,255,255,.74);
  box-shadow:0 24px 70px rgba(26,18,8,.1);
}

.about-cta p{
  max-width:660px;
  margin:12px auto 24px;
}

.about-cta .hero-actions{
  justify-content:center;
}

@media(max-width:1024px){
  .about-split,
  .about-visit-grid{
    grid-template-columns:1fr;
  }
  .about-values-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:768px){
  .about-split,
  .about-visit-grid{
    gap:26px;
  }
  .about-image-card,
  .about-image-card img{
    min-height:300px;
  }
  .about-values-grid{
    grid-template-columns:1fr;
  }
  .about-map-card{
    height:320px;
    border-radius:22px;
  }
  .about-cta{
    padding:28px 20px;
  }
  .about-cta .hero-actions,
  .about-visit-section .hero-actions{
    flex-direction:column;
    width:100%;
  }
  .about-cta .btn,
  .about-visit-section .btn{
    width:100%;
  }
}

/* Final image size control */
.gallery-grid,
.cake-gallery,
.visit-gallery,
.store-gallery{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

.gallery-grid img,
.cake-gallery img,
.masonry .gallery-item img{
  width:100%;
  height:clamp(260px,30vw,430px);
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  display:block;
}

.gallery-card{
  position:relative;
}

.gallery-add-btn{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(200,159,61,.42);
  border-radius:50%;
  appearance:none;
  background:rgba(255,248,230,.94);
  color:var(--chocolate);
  box-shadow:0 10px 24px rgba(43,22,15,.18);
  display:grid;
  place-items:center;
  font-size:24px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  z-index:3;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.gallery-add-btn:hover{
  transform:translateY(-2px);
  background:var(--gold-soft);
  box-shadow:0 14px 30px rgba(43,22,15,.22);
}

.store-gallery img,
.visit-gallery img,
.about-store-image img,
.about-story-image img{
  width:100%;
  height:clamp(300px,34vw,480px);
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  display:block;
}

.gallery-card,
.store-card,
.visit-card,
.about-image-card{
  overflow:hidden;
  border-radius:22px;
}

.gallery-cta img,
.custom-cta img{
  width:100%;
  height:clamp(260px,30vw,380px);
  object-fit:cover;
  object-position:center;
  border-radius:18px;
}

.masonry.gallery-grid{
  column-gap:18px;
}

.masonry .gallery-card{
  margin-bottom:18px;
  box-shadow:0 18px 46px rgba(26,18,8,.1);
}

.contact-store-grid{
  align-items:stretch;
  grid-template-columns:1.08fr .92fr;
}

.contact-store-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.contact-detail-list{
  display:grid;
  gap:12px;
  margin:18px 0 22px;
}

.contact-detail-list p{
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(201,150,63,.18);
  border-radius:16px;
  background:rgba(255,250,242,.7);
  color:#5C4A32;
}

.contact-detail-list strong{
  color:#1A1208;
}

@media(max-width:768px){
  .gallery-grid img,
  .cake-gallery img,
  .masonry .gallery-item img{
    height:260px;
  }

  .store-gallery img,
  .visit-gallery img,
  .about-store-image img,
  .about-story-image img{
    height:280px;
  }

  .gallery-cta img,
  .custom-cta img{
    height:240px;
  }

  .masonry.gallery-grid{
    columns:1;
  }

  .contact-store-grid{
    grid-template-columns:1fr;
  }
}

.custom-cake-hero,
.custom-hero {
  padding: 72px 0 64px;
  min-height: auto !important;
}

.custom-cake-hero .container,
.custom-hero .container {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 56px;
  align-items: center;
}

.custom-cake-hero img,
.custom-hero img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  display: block;
  box-shadow: 0 24px 70px rgba(26, 18, 8, 0.14);
}

.custom-inspiration-grid,
.custom-gallery-preview,
.custom-cake-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.custom-inspiration-grid img,
.custom-gallery-preview img,
.custom-cake-gallery img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
  display: block;
}

.custom-cakes-section,
.custom-section,
.occasion-section,
.custom-form-section,
.how-it-works,
.design-help,
.custom-faq,
.custom-occasion-section,
.custom-gallery-section,
.custom-steps-section,
.custom-enquiry-section,
.custom-help-section,
.custom-faq-section {
  padding-top: 64px;
  padding-bottom: 64px;
  min-height: auto !important;
}

.design-help,
.custom-help-section {
  padding-top: 48px;
  padding-bottom: 48px;
}

.custom-gallery-section .gallery-item {
  min-height: auto;
}

@media (max-width: 900px) {
  .custom-cake-hero .container,
  .custom-hero .container {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .custom-cake-hero img,
  .custom-hero img {
    height: 320px;
  }

  .custom-inspiration-grid,
  .custom-gallery-preview,
  .custom-cake-gallery {
    grid-template-columns: 1fr;
  }

  .custom-inspiration-grid img,
  .custom-gallery-preview img,
  .custom-cake-gallery img {
    height: 220px;
  }
}

@media (max-width: 560px) {
  .custom-cake-hero,
  .custom-hero {
    padding: 48px 0 44px;
  }

  .custom-cake-hero img,
  .custom-hero img {
    height: 280px;
    border-radius: 18px;
  }

  .custom-inspiration-grid img,
  .custom-gallery-preview img,
  .custom-cake-gallery img {
    height: 200px;
  }

  .custom-cakes-section,
  .custom-section,
  .occasion-section,
  .custom-form-section,
  .how-it-works,
  .design-help,
  .custom-faq,
  .custom-occasion-section,
  .custom-gallery-section,
  .custom-steps-section,
  .custom-enquiry-section,
  .custom-help-section,
  .custom-faq-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }
}

@keyframes rbFadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rbFadeRight {
  from {
    opacity: 0;
    transform: translateX(34px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes rbFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes rbSoftPulse {
  0%, 100% {
    box-shadow: 0 14px 34px rgba(201, 150, 63, 0.18);
  }
  50% {
    box-shadow: 0 18px 46px rgba(201, 150, 63, 0.28);
  }
}

.custom-cake-hero .eyebrow,
.custom-hero .eyebrow,
.custom-cake-hero .kicker,
.custom-hero .kicker {
  animation: rbFadeUp 0.8s ease both;
}

.custom-cake-hero h1,
.custom-hero h1 {
  animation: rbFadeUp 0.9s ease 0.12s both;
}

.custom-cake-hero p,
.custom-hero p {
  animation: rbFadeUp 0.9s ease 0.22s both;
}

.custom-cake-hero .btn,
.custom-hero .btn,
.custom-cake-hero button,
.custom-hero button {
  animation: rbFadeUp 0.9s ease 0.32s both;
}

.custom-cake-hero img,
.custom-hero img {
  animation:
    rbFadeRight 1s ease 0.18s both,
    rbFloat 6s ease-in-out 1.2s infinite;
  will-change: transform;
}

.custom-cake-hero .badge,
.custom-hero .badge,
.fresh-badge {
  animation: rbSoftPulse 3s ease-in-out infinite;
}

.btn,
button,
.order-btn,
.primary-btn {
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.btn:hover,
button:hover,
.order-btn:hover,
.primary-btn:hover {
  transform: translateY(-3px);
}

.btn::after,
.order-btn::after,
.primary-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.35),
    transparent
  );
  transform: skewX(-20deg);
  transition: left 0.7s ease;
  pointer-events: none;
}

.btn:hover::after,
.order-btn:hover::after,
.primary-btn:hover::after {
  left: 130%;
}

.custom-inspiration-grid .gallery-item {
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.custom-inspiration-grid img,
.custom-gallery-preview img,
.custom-cake-gallery img {
  transition: transform 0.45s ease, box-shadow 0.45s ease, filter 0.45s ease;
}

.custom-inspiration-grid .gallery-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(26, 18, 8, 0.13);
}

.custom-inspiration-grid .gallery-item:hover img,
.custom-gallery-preview img:hover,
.custom-cake-gallery img:hover {
  transform: scale(1.025);
  filter: saturate(1.04) contrast(1.03);
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Final homepage category chooser cascade */
.premium-category-section {
  padding: 82px 0 78px;
  background:
    radial-gradient(circle at 12% 10%, rgba(244, 223, 173, 0.28), transparent 24%),
    linear-gradient(180deg, #fffdf8 0%, #fff8ef 100%);
}

.premium-category-head {
  max-width: 780px;
  margin: 0 auto 38px;
}

.premium-category-head h2 {
  font-size: clamp(38px, 4vw, 56px);
}

.premium-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.premium-category-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.94);
  box-shadow: 0 18px 48px rgba(26, 18, 8, 0.09);
  text-align: center;
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.premium-category-card:hover {
  transform: translateY(-8px);
  border-color: rgba(201, 150, 63, 0.62);
  box-shadow: 0 28px 78px rgba(201, 150, 63, 0.18);
}

.premium-category-card img {
  width: 100%;
  height: 315px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 22px 22px 0 0;
  transition: transform 0.55s ease, filter 0.55s ease;
}

.premium-category-card:hover img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.02);
}

.premium-category-badge {
  width: 74px;
  height: 74px;
  margin: -38px auto 0;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 50%;
  background: #fffaf2;
  color: #C9963F;
  box-shadow: 0 14px 34px rgba(26, 18, 8, 0.12);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.premium-category-card:hover .premium-category-badge {
  transform: translateY(-4px);
  border-color: rgba(201, 150, 63, 0.38);
  box-shadow: 0 18px 42px rgba(201, 150, 63, 0.2);
}

.premium-category-badge svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.premium-category-body {
  flex: 1;
  min-height: 198px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 20px 26px;
}

.premium-category-body h3 {
  margin: 8px 0 10px;
  color: #1A1208;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.05;
}

.premium-category-body p {
  max-width: 190px;
  margin: 0 auto;
  color: #5C4A32;
  font-size: 16px;
  line-height: 1.55;
}

.premium-category-body span {
  margin-top: auto;
  padding-top: 18px;
  color: #C9963F;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  transition: transform 0.25s ease, color 0.25s ease;
}

.premium-category-card:hover .premium-category-body span {
  color: #a97824;
  transform: translateX(5px);
}

.premium-trust-bar {
  width: min(80%, 980px);
  margin: 48px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.2);
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.92);
  box-shadow: 0 18px 48px rgba(26, 18, 8, 0.09);
}

.premium-trust-bar span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  padding: 17px 18px;
  color: #1A1208;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.premium-trust-bar span:after {
  content: "✓";
  width: 18px;
  height: 18px;
  order: -1;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(201, 150, 63, 0.95), rgba(244, 223, 173, 0.95));
  color: #fff;
  font-size: 11px;
  line-height: 1;
  box-shadow: 0 7px 16px rgba(201, 150, 63, 0.2);
}

.premium-trust-bar span:before {
  display: none;
}

.premium-trust-bar span + span {
  border-left: 1px solid rgba(201, 150, 63, 0.22);
}

@media (max-width: 1180px) {
  .premium-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .premium-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-trust-bar {
    width: min(100%, 720px);
    grid-template-columns: repeat(2, 1fr);
    border-radius: 28px;
  }

  .premium-trust-bar span:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }

  .premium-trust-bar span:nth-child(4) {
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }
}

@media (max-width: 620px) {
  .premium-category-section {
    padding: 64px 0;
  }

  .premium-category-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .premium-category-card img {
    height: 240px;
  }

  .premium-category-badge {
    width: 60px;
    height: 60px;
    margin-top: -30px;
  }

  .premium-category-badge svg {
    width: 31px;
    height: 31px;
  }

  .premium-category-body {
    min-height: 170px;
    padding: 16px 20px 24px;
  }

  .premium-category-body h3 {
    font-size: 28px;
  }

  .premium-trust-bar {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .premium-trust-bar span {
    white-space: normal;
    border-left: 0 !important;
  }

  .premium-trust-bar span + span {
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }
}

/* Final homepage category chooser overrides */
.premium-category-section {
  padding: 82px 0 78px;
  background:
    radial-gradient(circle at 12% 10%, rgba(244, 223, 173, 0.28), transparent 24%),
    linear-gradient(180deg, #fffdf8 0%, #fff8ef 100%);
}

.premium-category-head {
  max-width: 780px;
  margin: 0 auto 38px;
}

.premium-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.premium-category-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.94);
  box-shadow: 0 18px 48px rgba(26, 18, 8, 0.09);
  text-align: center;
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.premium-category-card:hover {
  transform: translateY(-8px);
  border-color: rgba(201, 150, 63, 0.62);
  box-shadow: 0 28px 78px rgba(201, 150, 63, 0.18);
}

.premium-category-card img {
  width: 100%;
  height: 315px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 22px 22px 0 0;
  transition: transform 0.55s ease, filter 0.55s ease;
}

.premium-category-card:hover img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.02);
}

.premium-category-badge {
  width: 74px;
  height: 74px;
  margin: -38px auto 0;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 50%;
  background: #fffaf2;
  color: #C9963F;
  box-shadow: 0 14px 34px rgba(26, 18, 8, 0.12);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.premium-category-card:hover .premium-category-badge {
  transform: translateY(-4px);
  border-color: rgba(201, 150, 63, 0.38);
  box-shadow: 0 18px 42px rgba(201, 150, 63, 0.2);
}

.premium-category-badge svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.premium-category-body {
  flex: 1;
  min-height: 198px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 20px 26px;
}

.premium-category-body h3 {
  margin: 8px 0 10px;
  color: #1A1208;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.05;
}

.premium-category-body p {
  max-width: 190px;
  margin: 0 auto;
  color: #5C4A32;
  font-size: 16px;
  line-height: 1.55;
}

.premium-category-body span {
  margin-top: auto;
  padding-top: 18px;
  color: #C9963F;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  transition: transform 0.25s ease, color 0.25s ease;
}

.premium-category-card:hover .premium-category-body span {
  color: #a97824;
  transform: translateX(5px);
}

.premium-trust-bar {
  width: min(80%, 980px);
  margin: 48px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.2);
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.92);
  box-shadow: 0 18px 48px rgba(26, 18, 8, 0.09);
}

.premium-trust-bar span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  padding: 17px 18px;
  color: #1A1208;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.premium-trust-bar span:after {
  content: "✓";
  width: 18px;
  height: 18px;
  order: -1;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(201, 150, 63, 0.95), rgba(244, 223, 173, 0.95));
  color: #fff;
  font-size: 11px;
  line-height: 1;
  box-shadow: 0 7px 16px rgba(201, 150, 63, 0.2);
}

.premium-trust-bar span:before {
  display: none;
}

.premium-trust-bar span + span {
  border-left: 1px solid rgba(201, 150, 63, 0.22);
}

@media (max-width: 1180px) {
  .premium-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .premium-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-trust-bar {
    width: min(100%, 720px);
    grid-template-columns: repeat(2, 1fr);
    border-radius: 28px;
  }

  .premium-trust-bar span:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }

  .premium-trust-bar span:nth-child(4) {
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }
}

@media (max-width: 620px) {
  .premium-category-section {
    padding: 64px 0;
  }

  .premium-category-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .premium-category-card img {
    height: 240px;
  }

  .premium-category-badge {
    width: 60px;
    height: 60px;
    margin-top: -30px;
  }

  .premium-category-badge svg {
    width: 31px;
    height: 31px;
  }

  .premium-category-body {
    min-height: 170px;
    padding: 16px 20px 24px;
  }

  .premium-category-body h3 {
    font-size: 28px;
  }

  .premium-trust-bar {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .premium-trust-bar span {
    white-space: normal;
    border-left: 0 !important;
  }

  .premium-trust-bar span + span {
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }
}

/* Homepage premium category chooser refinement */
.premium-category-section {
  padding: 82px 0 78px;
  background:
    radial-gradient(circle at 12% 10%, rgba(244, 223, 173, 0.28), transparent 24%),
    linear-gradient(180deg, #fffdf8 0%, #fff8ef 100%);
}

.premium-category-head {
  max-width: 780px;
  margin: 0 auto 38px;
}

.premium-category-head h2 {
  font-size: clamp(38px, 4vw, 56px);
}

.premium-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.premium-category-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.94);
  box-shadow: 0 18px 48px rgba(26, 18, 8, 0.09);
  text-align: center;
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.premium-category-card:hover {
  transform: translateY(-8px);
  border-color: rgba(201, 150, 63, 0.62);
  box-shadow: 0 28px 78px rgba(201, 150, 63, 0.18);
}

.premium-category-card img {
  width: 100%;
  height: 315px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 22px 22px 0 0;
  transition: transform 0.55s ease, filter 0.55s ease;
}

.premium-category-card:hover img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.02);
}

.premium-category-badge {
  width: 74px;
  height: 74px;
  margin: -38px auto 0;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 50%;
  background: #fffaf2;
  color: #C9963F;
  box-shadow: 0 14px 34px rgba(26, 18, 8, 0.12);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.premium-category-card:hover .premium-category-badge {
  transform: translateY(-4px);
  border-color: rgba(201, 150, 63, 0.38);
  box-shadow: 0 18px 42px rgba(201, 150, 63, 0.2);
}

.premium-category-badge svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.premium-category-body {
  flex: 1;
  min-height: 198px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 20px 26px;
}

.premium-category-body h3 {
  margin: 8px 0 10px;
  color: #1A1208;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.05;
}

.premium-category-body p {
  max-width: 190px;
  margin: 0 auto;
  color: #5C4A32;
  font-size: 16px;
  line-height: 1.55;
}

.premium-category-body span {
  margin-top: auto;
  padding-top: 18px;
  color: #C9963F;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  transition: transform 0.25s ease, color 0.25s ease;
}

.premium-category-card:hover .premium-category-body span {
  color: #a97824;
  transform: translateX(5px);
}

.premium-trust-bar {
  width: min(80%, 980px);
  margin: 48px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.2);
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.92);
  box-shadow: 0 18px 48px rgba(26, 18, 8, 0.09);
}

.premium-trust-bar span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  padding: 17px 18px;
  color: #1A1208;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.premium-trust-bar span:after {
  content: "✓";
  width: 18px;
  height: 18px;
  order: -1;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    linear-gradient(135deg, rgba(201, 150, 63, 0.95), rgba(244, 223, 173, 0.95));
  color: #fff;
  font-size: 11px;
  line-height: 1;
  box-shadow: 0 7px 16px rgba(201, 150, 63, 0.2);
}

.premium-trust-bar span:before {
  display: none;
}

.premium-trust-bar span + span {
  border-left: 1px solid rgba(201, 150, 63, 0.22);
}

@media (max-width: 1180px) {
  .premium-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .premium-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-trust-bar {
    width: min(100%, 720px);
    grid-template-columns: repeat(2, 1fr);
    border-radius: 28px;
  }

  .premium-trust-bar span:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }

  .premium-trust-bar span:nth-child(4) {
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }
}

@media (max-width: 620px) {
  .premium-category-section {
    padding: 64px 0;
  }

  .premium-category-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .premium-category-card img {
    height: 240px;
  }

  .premium-category-badge {
    width: 60px;
    height: 60px;
    margin-top: -30px;
  }

  .premium-category-badge svg {
    width: 31px;
    height: 31px;
  }

  .premium-category-body {
    min-height: 170px;
    padding: 16px 20px 24px;
  }

  .premium-category-body h3 {
    font-size: 28px;
  }

  .premium-trust-bar {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .premium-trust-bar span {
    white-space: normal;
    border-left: 0 !important;
  }

  .premium-trust-bar span + span {
    border-top: 1px solid rgba(201, 150, 63, 0.22);
  }
}

.occasion-selector {
  margin-top: 48px;
  padding: 48px 0;
  border-top: 1px solid rgba(201,150,63,0.2);
  animation: fadeUp 0.5s ease forwards;
}

.occasion-selector-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
}

.occasion-selector-head h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  font-weight: 400;
  color: #1A1208;
}

.selector-close {
  background: none;
  border: 1px solid rgba(201,150,63,0.4);
  color: #C9963F;
  padding: 8px 20px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.2s;
}

.selector-close:hover {
  background: #C9963F;
  color: #fff;
}

.occasion-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr));
  gap: 20px;
  margin-bottom: 32px;
}

.occasion-item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(201,150,63,0.12);
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}

.occasion-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(201,150,63,0.12);
  border-color: #C9963F;
}

.occasion-img-wrap {
  height: 200px;
  overflow: hidden;
}

.occasion-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.occasion-item:hover .occasion-img-wrap img {
  transform: scale(1.04);
}

.occasion-item-body {
  padding: 16px;
}

.occasion-item-body h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 500;
  color: #1A1208;
  margin-bottom: 4px;
}

.occasion-item-body p {
  font-size: 12px;
  color: #5C4A32;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 8px;
}

.occasion-price {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #C9963F;
  margin-bottom: 12px;
  font-family: 'Cormorant Garamond', serif;
}

.selector-cta {
  text-align: center;
  padding: 24px;
  background: rgba(201,150,63,0.05);
  border-radius: 12px;
  border: 1px solid rgba(201,150,63,0.15);
}

.selector-cta p {
  font-size: 14px;
  color: #5C4A32;
  margin-bottom: 16px;
  font-weight: 300;
}

@media (max-width: 768px) {
  .occasion-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .occasion-img-wrap {
    height: 150px;
  }

  .occasion-selector-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .occasion-grid {
    grid-template-columns: 1fr;
  }
}

.premium-category-section {
  background:
    linear-gradient(180deg, #fffdf8 0%, #fff8ef 100%);
}

.premium-category-head {
  max-width: 780px;
  margin: 0 auto 36px;
}

.premium-category-head .lead {
  margin: 12px auto 0;
}

.premium-category-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  align-items: stretch;
}

.premium-category-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 46px rgba(26, 18, 8, 0.08);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.premium-category-card:hover {
  transform: translateY(-6px);
  border-color: rgba(201, 150, 63, 0.5);
  box-shadow: 0 26px 70px rgba(26, 18, 8, 0.13);
}

.premium-category-card img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.45s ease;
}

.premium-category-card:hover img {
  transform: scale(1.04);
}

.premium-category-body {
  flex: 1;
  min-height: 164px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 20px 18px 22px;
}

.premium-category-body h3 {
  font-size: 25px;
  color: #1A1208;
}

.premium-category-body p {
  color: #5C4A32;
  font-size: 14px;
  line-height: 1.55;
}

.premium-category-body span {
  margin-top: 8px;
  color: #C9963F;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.premium-trust-bar {
  width: min(960px, 100%);
  margin: 32px auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(201, 150, 63, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 16px 42px rgba(26, 18, 8, 0.07);
}

.premium-trust-bar span {
  position: relative;
  padding: 15px 22px;
  color: #1A1208;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.premium-trust-bar span + span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  background: rgba(201, 150, 63, 0.3);
  transform: translateY(-50%);
}

@media (max-width: 1120px) {
  .premium-category-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 760px) {
  .premium-category-grid {
    grid-template-columns: 1fr;
  }

  .premium-category-card img {
    height: 245px;
  }

  .premium-category-body {
    min-height: auto;
  }

  .premium-trust-bar {
    border-radius: 24px;
  }

  .premium-trust-bar span {
    width: 100%;
    text-align: center;
  }

  .premium-trust-bar span + span:before {
    top: 0;
    left: 18px;
    right: 18px;
    width: auto;
    height: 1px;
    transform: none;
  }
}

/* Custom Cakes premium banner hero */
@keyframes rbHeroZoom {
  0% {
    transform: translate3d(-1%, -0.5%, 0) scale(1);
  }
  50% {
    transform: translate3d(0.5%, 0.4%, 0) scale(1.03);
  }
  100% {
    transform: translate3d(1%, 0.6%, 0) scale(1.06);
  }
}

.custom-page-hero {
  position: relative;
  min-height: 520px;
  margin-bottom: 72px;
  overflow: visible;
  isolation: isolate;
  background: var(--cream, #FAF6F0);
}

.custom-page-hero::before {
  content: "";
  position: absolute;
  inset: -3%;
  z-index: -2;
  background-image: url("images/elegant_red_mirror_glaze_cake_creation.webp");
  background-size: cover;
  background-position: center 48%;
  animation: rbHeroZoom 24s ease-in-out infinite alternate;
  transform-origin: center;
  will-change: transform;
  backface-visibility: hidden;
}

.custom-page-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(250, 246, 240, 0.88) 0%, rgba(250, 246, 240, 0.62) 42%, rgba(26, 18, 8, 0.18) 100%),
    rgba(250, 246, 240, 0.55);
}

.custom-page-hero__content {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 1180px;
  position: relative;
  z-index: 1;
}

.custom-page-hero__eyebrow {
  margin: 0 0 14px;
  color: var(--gold, #C9963F);
  font-family: var(--font-body, "DM Sans", sans-serif);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 3px;
  text-transform: uppercase;
  opacity: 0;
  animation: rbFadeUp 0.8s cubic-bezier(.22,.68,.22,1) 0.08s forwards;
}

.custom-page-hero__title {
  max-width: 650px;
  margin: 0;
  color: var(--brown-deep, #1A1208);
  font-family: var(--font-display, "Cormorant Garamond", serif);
  font-size: clamp(54px, 6vw, 82px);
  line-height: 0.95;
  letter-spacing: 0;
  opacity: 0;
  animation: rbFadeUp 0.9s cubic-bezier(.22,.68,.22,1) 0.18s forwards;
}

.custom-page-hero__text {
  max-width: 560px;
  margin: 22px 0 0;
  color: #5C4A32;
  font-size: 18px;
  line-height: 1.7;
  opacity: 0;
  animation: rbFadeUp 0.9s cubic-bezier(.22,.68,.22,1) 0.3s forwards;
}

.custom-page-hero__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 30px;
  opacity: 0;
  animation: rbFadeUp 0.9s cubic-bezier(.22,.68,.22,1) 0.42s forwards;
}

.custom-hero-trust {
  position: absolute;
  left: 50%;
  bottom: -34px;
  z-index: 3;
  width: min(1120px, calc(100% - 48px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(201, 150, 63, 0.24);
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.94);
  box-shadow: 0 24px 70px rgba(26, 18, 8, 0.13);
  backdrop-filter: blur(16px);
  transform: translateX(-50%) translateY(20px);
  opacity: 0;
  animation: rbTrustRise 0.9s cubic-bezier(.22,.68,.22,1) 0.62s forwards;
  will-change: opacity, transform;
}

@keyframes rbTrustRise {
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.custom-hero-trust__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  color: var(--brown-deep, #1A1208);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.custom-hero-trust__icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 24px;
  border-radius: 50%;
  background: rgba(201, 150, 63, 0.16);
  color: var(--gold, #C9963F);
  border: 1px solid rgba(201, 150, 63, 0.28);
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 900px) {
  .custom-page-hero {
    min-height: 520px;
    margin-bottom: 118px;
  }

  .custom-page-hero__content {
    min-height: 520px;
    align-items: center;
    text-align: center;
    padding-top: 54px;
    padding-bottom: 92px;
  }

  .custom-page-hero__overlay {
    background:
      linear-gradient(180deg, rgba(250, 246, 240, 0.9) 0%, rgba(250, 246, 240, 0.68) 64%, rgba(26, 18, 8, 0.16) 100%),
      rgba(250, 246, 240, 0.55);
  }

  .custom-page-hero__title {
    font-size: 52px;
  }

  .custom-page-hero__actions {
    justify-content: center;
  }

  .custom-hero-trust {
    bottom: -82px;
    grid-template-columns: repeat(2, 1fr);
    border-radius: 28px;
    padding: 16px;
  }
}

@media (max-width: 560px) {
  .custom-page-hero {
    min-height: 520px;
    margin-bottom: 168px;
  }

  .custom-page-hero__content {
    min-height: 520px;
    padding-top: 44px;
    padding-bottom: 118px;
  }

  .custom-page-hero__title {
    font-size: 44px;
  }

  .custom-page-hero__text {
    font-size: 16px;
  }

  .custom-page-hero__actions {
    width: 100%;
    flex-direction: column;
  }

  .custom-page-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .custom-hero-trust {
    bottom: -132px;
    grid-template-columns: 1fr;
    width: min(420px, calc(100% - 32px));
    gap: 8px;
    border-radius: 24px;
  }

  .custom-hero-trust__item {
    justify-content: flex-start;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .custom-page-hero::before,
  .custom-page-hero__eyebrow,
  .custom-page-hero__title,
  .custom-page-hero__text,
  .custom-page-hero__actions,
  .custom-hero-trust {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .custom-hero-trust {
    transform: translateX(-50%) !important;
  }
}

/* Custom Cakes animation fix: real page selectors */
@keyframes rbFadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rbFadeRight {
  from {
    opacity: 0;
    transform: translateX(45px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes rbFloatSoft {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

@keyframes rbShine {
  from {
    left: -130%;
  }
  to {
    left: 130%;
  }
}

.custom-cake-hero,
.custom-hero {
  overflow: hidden;
}

.custom-cake-hero .hero-copy .kicker,
.custom-hero .hero-copy .kicker {
  opacity: 0;
  animation: rbFadeUp 0.8s ease forwards;
}

.custom-cake-hero .hero-copy h1,
.custom-hero .hero-copy h1 {
  opacity: 0;
  animation: rbFadeUp 0.9s ease 0.12s forwards;
}

.custom-cake-hero .hero-copy .lead,
.custom-hero .hero-copy .lead {
  opacity: 0;
  animation: rbFadeUp 0.9s ease 0.24s forwards;
}

.custom-cake-hero .hero-copy .custom-trust-line,
.custom-hero .hero-copy .custom-trust-line {
  opacity: 0;
  animation: rbFadeUp 0.9s ease 0.32s forwards;
}

.custom-cake-hero .hero-copy .btn,
.custom-cake-hero .hero-copy button,
.custom-hero .hero-copy .btn,
.custom-hero .hero-copy button {
  opacity: 0;
  animation: rbFadeUp 0.9s ease 0.42s forwards;
}

.custom-cake-hero .custom-hero-image,
.custom-hero .custom-hero-image {
  opacity: 0;
  animation: rbFadeRight 1s ease 0.2s forwards;
  will-change: opacity, transform;
}

.custom-cake-hero .custom-hero-image img,
.custom-hero .custom-hero-image img {
  opacity: 1;
  animation: rbFloatSoft 6s ease-in-out 1.35s infinite !important;
  will-change: transform;
}

.custom-occasion-section .occasion-choice {
  opacity: 0;
  animation: rbFadeUp 0.8s ease forwards;
}

.custom-occasion-section .occasion-choice:nth-child(1) {
  animation-delay: 0.08s;
}

.custom-occasion-section .occasion-choice:nth-child(2) {
  animation-delay: 0.16s;
}

.custom-occasion-section .occasion-choice:nth-child(3) {
  animation-delay: 0.24s;
}

.custom-occasion-section .occasion-choice:nth-child(4) {
  animation-delay: 0.32s;
}

.custom-occasion-section .occasion-choice:nth-child(5) {
  animation-delay: 0.4s;
}

.custom-occasion-section .occasion-choice:nth-child(6) {
  animation-delay: 0.48s;
}

.custom-gallery-section .custom-inspiration-grid .gallery-item {
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.custom-gallery-section .custom-inspiration-grid img {
  transition: transform 0.45s ease, filter 0.45s ease, box-shadow 0.45s ease;
}

.custom-gallery-section .custom-inspiration-grid .gallery-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(26, 18, 8, 0.14);
}

.custom-gallery-section .custom-inspiration-grid .gallery-item:hover img {
  transform: scale(1.025);
  filter: saturate(1.05) contrast(1.03);
}

.btn,
button,
.order-btn,
.primary-btn,
.whatsapp-btn {
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.btn:hover,
button:hover,
.order-btn:hover,
.primary-btn:hover,
.whatsapp-btn:hover {
  transform: translateY(-3px);
}

.btn::after,
.order-btn::after,
.primary-btn::after,
.whatsapp-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.42),
    transparent
  );
  transform: skewX(-22deg);
  pointer-events: none;
}

.btn:hover::after,
.order-btn:hover::after,
.primary-btn:hover::after,
.whatsapp-btn:hover::after {
  animation: rbShine 0.75s ease;
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 0.85s ease, transform 0.85s ease;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rb-animation-test {
  animation: rbFadeUp 1s ease forwards;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* True final homepage category chooser cascade */
.premium-category-section{padding:82px 0 78px;background:radial-gradient(circle at 12% 10%,rgba(244,223,173,.28),transparent 24%),linear-gradient(180deg,#fffdf8 0%,#fff8ef 100%)}
.premium-category-head{max-width:780px;margin:0 auto 38px}
.premium-category-head h2{font-size:clamp(38px,4vw,56px)}
.premium-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;align-items:stretch}
.premium-category-card{min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(201,150,63,.18);border-radius:22px;background:rgba(255,253,248,.94);box-shadow:0 18px 48px rgba(26,18,8,.09);text-align:center;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.premium-category-card:hover{transform:translateY(-8px);border-color:rgba(201,150,63,.62);box-shadow:0 28px 78px rgba(201,150,63,.18)}
.premium-category-card img{width:100%;height:315px;object-fit:cover;object-position:center;display:block;border-radius:22px 22px 0 0;transition:transform .55s ease,filter .55s ease}
.premium-category-card:hover img{transform:scale(1.045);filter:saturate(1.04) contrast(1.02)}
.premium-category-badge{width:74px;height:74px;margin:-38px auto 0;display:grid;place-items:center;position:relative;z-index:2;border:1px solid rgba(201,150,63,.18);border-radius:50%;background:#fffaf2;color:#C9963F;box-shadow:0 14px 34px rgba(26,18,8,.12);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.premium-category-card:hover .premium-category-badge{transform:translateY(-4px);border-color:rgba(201,150,63,.38);box-shadow:0 18px 42px rgba(201,150,63,.2)}
.premium-category-badge svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.premium-category-body{flex:1;min-height:198px;display:flex;flex-direction:column;align-items:center;padding:20px 20px 26px}
.premium-category-body h3{margin:8px 0 10px;color:#1A1208;font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:30px;font-weight:600;line-height:1.05}
.premium-category-body p{max-width:190px;margin:0 auto;color:#5C4A32;font-size:16px;line-height:1.55}
.premium-category-body span{margin-top:auto;padding-top:18px;color:#C9963F;font-size:12px;font-weight:900;letter-spacing:.14em;transition:transform .25s ease,color .25s ease}
.premium-category-card:hover .premium-category-body span{color:#a97824;transform:translateX(5px)}
.premium-trust-bar{width:min(80%,980px);margin:48px auto 0;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid rgba(201,150,63,.2);border-radius:999px;background:rgba(255,250,242,.92);box-shadow:0 18px 48px rgba(26,18,8,.09)}
.premium-trust-bar span{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:17px 18px;color:#1A1208;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.premium-trust-bar span:after{content:"✓";width:18px;height:18px;order:-1;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,rgba(201,150,63,.95),rgba(244,223,173,.95));color:#fff;font-size:11px;line-height:1;box-shadow:0 7px 16px rgba(201,150,63,.2)}
.premium-trust-bar span:before{display:none}
.premium-trust-bar span + span{border-left:1px solid rgba(201,150,63,.22)}
@media (max-width:1180px){.premium-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.premium-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-trust-bar{width:min(100%,720px);grid-template-columns:repeat(2,1fr);border-radius:28px}.premium-trust-bar span:nth-child(3){border-left:0;border-top:1px solid rgba(201,150,63,.22)}.premium-trust-bar span:nth-child(4){border-top:1px solid rgba(201,150,63,.22)}}
@media (max-width:620px){.premium-category-section{padding:64px 0}.premium-category-grid{grid-template-columns:1fr;gap:22px}.premium-category-card img{height:240px}.premium-category-badge{width:60px;height:60px;margin-top:-30px}.premium-category-badge svg{width:31px;height:31px}.premium-category-body{min-height:170px;padding:16px 20px 24px}.premium-category-body h3{font-size:28px}.premium-trust-bar{grid-template-columns:1fr;margin-top:34px}.premium-trust-bar span{white-space:normal;border-left:0!important}.premium-trust-bar span + span{border-top:1px solid rgba(201,150,63,.22)}}
.premium-trust-bar span:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.2 7.6 12 13 6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(201,150,63,.95),rgba(244,223,173,.95));background-repeat:no-repeat;background-position:center;background-size:12px 12px,100% 100%}

/* Keep floating WhatsApp clear of product-card action buttons */
.sticky-wa{
  right:18px;
  bottom:88px;
  z-index:120;
}
@media (max-width:640px){
  .sticky-wa{
    right:14px;
    bottom:86px;
  }
}

/* About page map removed: keep values-to-CTA flow compact */
.about-story-section .about-copy p:not(.kicker):not(.lead){
  margin-top:18px;
  color:var(--cocoa);
  font-size:17px;
  line-height:1.75;
}
.about-store-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.about-story-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.about-story-badges span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:10px 16px;
  border:1px solid rgba(201,150,63,.42);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,254,250,.98),rgba(250,242,225,.9));
  color:var(--chocolate,#2b160f);
  font-size:11px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(58,35,18,.1),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
}
.about-story-badges span::before{
  content:"";
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:var(--gold,#C9963F);
  box-shadow:0 0 0 3px rgba(201,150,63,.1);
}
@media (hover:hover) and (pointer:fine){
  .about-story-badges span:hover{
    transform:translateY(-2px);
    border-color:rgba(201,150,63,.62);
    background:linear-gradient(145deg,#fffef9,#f8ebd0);
    box-shadow:0 12px 26px rgba(58,35,18,.14),0 0 16px rgba(201,150,63,.12),inset 0 1px 0 #fff;
  }
}
.about-values-section{padding-bottom:72px}
.about-cta-section{padding-top:72px}
@media (max-width:760px){
  .about-values-section{padding-bottom:54px}
  .about-cta-section{padding-top:54px}
}

/* Contact page compact premium layout */
.contact-hero{padding-bottom:46px}
.contact-quick-section{padding:34px 0 28px}
.contact-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-quick-card{min-height:118px;display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(255,253,248,.92);box-shadow:var(--shadow-soft)}
.contact-line-icon{width:60px;height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--gold);background:rgba(211,170,74,.1);border:1px solid rgba(211,170,74,.25);box-shadow:0 12px 28px rgba(43,22,15,.08)}
.contact-line-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-quick-card h3{font-size:24px;margin:0 0 4px}
.contact-quick-card p{font-size:15px;line-height:1.5}
.contact-map-section{padding:54px 0}
.contact-store-grid{align-items:stretch}
.contact-store-grid .real-map{min-height:420px}
.contact-store-grid .real-map iframe{width:100%;height:100%;min-height:420px;border-radius:24px}
.contact-store-panel{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:32px;border:1px solid var(--line);border-radius:28px;background:rgba(255,253,248,.92);box-shadow:var(--shadow-soft)}
.contact-store-panel .contact-detail-list{display:grid;gap:12px}
.contact-store-panel .contact-detail-list p{padding-bottom:12px;border-bottom:1px solid var(--line)}
.contact-store-panel .contact-detail-list p:last-child{border-bottom:0;padding-bottom:0}
.contact-store-panel .hero-actions{margin-top:4px}
.contact-enquiry-section{padding:54px 0 64px}
.contact-enquiry-grid{display:grid;grid-template-columns:.92fr 1fr;gap:24px;align-items:stretch}
.contact-enquiry-image{
  min-height:430px;
  max-height:520px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fffaf2;
  box-shadow:var(--shadow-soft);
}
.contact-enquiry-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.contact-enquiry-card{width:min(760px,100%);margin:auto;padding:30px}
.contact-enquiry-card .lead{margin:10px 0 22px}
.contact-enquiry-card textarea.field{min-height:96px}
.contact-trust-line{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--cocoa);font-size:14px;font-weight:800}
.contact-trust-line span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(211,170,74,.16);color:var(--gold)}
.quick-enquiry-error{
  display:none;
  grid-column:1 / -1;
  margin:0;
  padding:11px 14px;
  border:1px solid rgba(220,80,65,.34);
  border-radius:14px;
  background:rgba(255,235,232,.92);
  color:#9b2c22;
  font-size:.88rem;
  font-weight:700;
}
.quick-enquiry-error.is-visible{display:block}
[data-quick-enquiry-form] .field.is-invalid{
  border-color:rgba(220,80,65,.7)!important;
  box-shadow:0 0 0 3px rgba(220,80,65,.1)!important;
}
@media (max-width:900px){
  .contact-quick-grid,.contact-store-grid{grid-template-columns:1fr}
  .contact-enquiry-grid{grid-template-columns:1fr}
  .contact-map-section,.contact-enquiry-section{padding:44px 0}
  .contact-enquiry-image{min-height:320px;max-height:none}
  .contact-store-panel .hero-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .contact-store-panel .hero-actions .btn,.contact-enquiry-card .btn{width:100%}
}
@media (max-width:640px){
  body:has(.contact-quick-section){padding-bottom:78px}
  .contact-hero{padding-bottom:36px}
  .contact-quick-section{padding:26px 0 20px}
  .contact-quick-card{align-items:flex-start;padding:18px;border-radius:20px}
  .contact-line-icon{width:52px;height:52px;flex-basis:52px}
  .contact-map-section{padding:36px 0}
  .contact-store-grid .real-map,.contact-store-grid .real-map iframe{min-height:320px}
  .contact-enquiry-image{min-height:260px;border-radius:24px}
  .contact-store-panel,.contact-enquiry-card{padding:24px;border-radius:24px}
  .contact-enquiry-section{padding:36px 0 50px}
}

/* About hero premium entrance */
@keyframes aboutHeroFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes aboutHeroGlow{
  from{transform:translate3d(-1.5%,0,0) scale(1);opacity:.52}
  to{transform:translate3d(1.5%,.8%,0) scale(1.04);opacity:.72}
}
.about-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.about-hero:not(.cakes-hero):after{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 40%,rgba(244,223,173,.34),transparent 28%),
    radial-gradient(circle at 86% 34%,rgba(247,184,176,.2),transparent 30%);
  animation:aboutHeroGlow 18s ease-in-out infinite alternate;
}
.about-hero .container{
  position:relative;
  z-index:1;
}
.about-hero.cakes-hero .container{
  z-index:2;
}
body.loaded .about-hero .kicker,
body.loaded .about-hero h1,
body.loaded .about-hero .lead{
  opacity:0;
  animation:aboutHeroFadeUp .9s ease-out forwards;
}
body.loaded .about-hero .kicker{animation-delay:.08s}
body.loaded .about-hero h1{animation-delay:.18s}
body.loaded .about-hero .lead{animation-delay:.3s}
@media (prefers-reduced-motion: reduce){
  .about-hero:after,
  body.loaded .about-hero .kicker,
  body.loaded .about-hero h1,
  body.loaded .about-hero .lead{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Final About hero animation */
@keyframes aboutHeroFadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes aboutSoftGlow {
  from {
    transform: translate3d(-20px, -10px, 0) scale(1);
    opacity: 0.45;
  }
  to {
    transform: translate3d(20px, 12px, 0) scale(1.08);
    opacity: 0.75;
  }
}

.animated-about-hero {
  position: relative;
  overflow: hidden;
}

.animated-about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(201,150,63,0.10), transparent 38%);
  animation: aboutSoftGlow 8s ease-in-out infinite alternate;
  pointer-events: none;
}

.about-hero > * {
  position: relative;
  z-index: 1;
}

.animate-about-item {
  opacity: 0;
  animation: aboutHeroFadeUp 1s ease-out forwards;
}

.animate-about-item.delay-1 {
  animation-delay: 0.15s;
}

.animate-about-item.delay-2 {
  animation-delay: 0.35s;
}

.animate-about-item.delay-3 {
  animation-delay: 0.55s;
}

@media (prefers-reduced-motion: reduce) {
  .animate-about-item,
  .animated-about-hero::before {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Final shared premium page hero system */
.page-hero.cakes-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(18,11,7,.26),rgba(18,11,7,.14)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp") center 58%/cover no-repeat;
}

.page-hero.cakes-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 42%,rgba(211,170,74,.18),transparent 24%),
    linear-gradient(90deg,rgba(10,8,5,.64),rgba(10,8,5,.48) 48%,rgba(10,8,5,.22));
}

.page-hero.cakes-hero::after{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 42%,rgba(244,223,173,.16),transparent 28%),
    radial-gradient(circle at 86% 32%,rgba(247,184,176,.12),transparent 30%);
  animation:aboutHeroGlow 18s ease-in-out infinite alternate;
}

.page-hero.cakes-hero .container{
  position:relative;
  z-index:2;
}

.page-hero.cakes-hero .kicker{
  color:var(--gold);
}

.page-hero.cakes-hero h1{
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.34);
}

.page-hero.cakes-hero .lead{
  color:rgba(255,255,255,.88);
}

@media (prefers-reduced-motion: reduce){
  .page-hero.cakes-hero::after{
    animation:none!important;
  }
}

/* Final navbar visibility fix */
.site-header{
  z-index:2000;
  background:rgba(250,246,240,.96);
  border-bottom:1px solid rgba(201,150,63,.18);
  box-shadow:0 8px 28px rgba(26,18,8,.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:var(--brown-deep,#1A1208);
}

.site-header.scrolled{
  background:rgba(250,246,240,.98);
  border-bottom-color:rgba(201,150,63,.22);
  box-shadow:0 10px 32px rgba(26,18,8,.08);
}

.site-header .brand,
.site-header .brand-name,
.site-header .nav-links a{
  color:var(--brown-deep,#1A1208);
  opacity:1;
}

.site-header .brand-mark{
  opacity:1;
  filter:none;
}

.site-header .nav-links a:hover,
.site-header .nav-links a.active{
  color:var(--gold,#C9963F);
}

.site-header .nav-links a:after{
  background:var(--gold,#C9963F);
}

.site-header .cart-nav-btn{
  background:rgba(255,253,248,.96);
  color:var(--brown-deep,#1A1208);
  border-color:rgba(201,150,63,.22);
  box-shadow:0 8px 24px rgba(26,18,8,.08);
}

.site-header .nav-order-btn{
  color:var(--brown-deep,#1A1208);
}

@media(max-width:1060px){
  .site-header .nav-links.open{
    background:rgba(250,246,240,.98);
    border:1px solid rgba(201,150,63,.2);
    box-shadow:0 18px 42px rgba(26,18,8,.14);
  }

  .site-header .nav-links.open a{
    color:var(--brown-deep,#1A1208);
  }

  .site-header .nav-links.open a:hover,
  .site-header .nav-links.open a.active{
    color:var(--gold,#C9963F);
  }
}

/* Contact map and store panel equal height */
.contact-map-section .contact-store-grid{
  display:flex;
  align-items:stretch;
  gap:24px;
}

.contact-map-section .real-map,
.contact-map-section .location-map-frame,
.contact-map-section .contact-store-panel{
  height:auto;
  min-height:420px;
  flex:1 1 0;
}

.contact-map-section .contact-store-panel{
  padding:2rem;
}

.contact-map-section .real-map iframe,
.contact-map-section .location-map-frame iframe{
  width:100%;
  height:100%;
  min-height:0;
}

.contact-map-section .contact-store-panel .hero-actions .btn{
  flex:1;
  min-width:200px;
}

.about-cta-section{
  padding-bottom:3rem;
}

.about-stats-strip{
  padding:2rem 0;
  background:var(--cream,#FAF6F0);
}

.about-stats-row{
  display:flex;
  justify-content:center;
  gap:clamp(2rem,6vw,5rem);
  text-align:center;
}

.about-stats-row div{
  display:grid;
  gap:.35rem;
}

.about-stats-row strong{
  color:var(--gold,#C9963F);
  font-family:var(--font-display,"Cormorant Garamond",serif);
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:700;
  line-height:1;
}

.about-stats-row span{
  color:var(--muted,#7f6f64);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .contact-map-section .contact-store-grid{
    flex-direction:column;
  }

  .contact-map-section .real-map,
  .contact-map-section .location-map-frame,
  .contact-map-section .contact-store-panel{
    min-height:320px;
  }
}

@media(max-width:640px){
  .about-stats-row{
    flex-direction:column;
    gap:1.4rem;
  }
}

/* Deployment mobile responsive polish */
@media (max-width:1060px){
  .site-header{
    height:68px;
    padding:0 16px;
    gap:12px;
  }

  .site-header .brand{
    min-width:0;
    flex:1 1 auto;
    gap:10px;
  }

  .site-header .brand-mark{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }

  .site-header .brand-name{
    max-width:calc(100vw - 190px);
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:22px;
  }

  .site-header .nav-actions{
    flex:0 0 auto;
    gap:8px;
  }

  .site-header .nav-order-btn{
    min-height:42px;
    padding:11px 16px;
    font-size:12px;
  }

  .site-header .language-toggle{
    min-height:36px;
    padding:4px 8px;
    gap:4px;
    box-shadow:none;
  }

  .site-header .language-toggle button{
    min-width:24px;
    font-size:10px;
  }

  .site-header .cart-nav-btn,
  .site-header .hamb{
    width:42px;
    height:42px;
    flex:0 0 42px;
  }

  .site-header .hamb{
    display:grid;
    place-items:center;
    padding:0;
    color:transparent;
    font-size:0;
    position:relative;
  }

  .site-header .hamb::before,
  .site-header .hamb::after{
    content:"";
    width:18px;
    height:2px;
    position:absolute;
    left:50%;
    border-radius:999px;
    background:var(--chocolate);
    transform:translateX(-50%);
    transition:transform .24s ease,top .24s ease,box-shadow .24s ease;
  }

  .site-header .hamb::before{
    top:15px;
    box-shadow:0 6px 0 var(--chocolate);
  }

  .site-header .hamb::after{
    top:27px;
  }

  .site-header .hamb[aria-expanded="true"]::before{
    top:20px;
    box-shadow:0 0 0 transparent;
    transform:translateX(-50%) rotate(45deg);
  }

  .site-header .hamb[aria-expanded="true"]::after{
    top:20px;
    transform:translateX(-50%) rotate(-45deg);
  }

  .site-header .nav-links{
    display:flex;
    position:absolute;
    top:calc(100% + 10px);
    left:16px;
    right:16px;
    max-height:calc(100vh - 90px);
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:12px;
    border-radius:20px;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .24s ease,transform .24s ease;
  }

  .site-header .nav-links.open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  .site-header .nav-links a{
    min-height:44px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:11px 14px;
    border-radius:14px;
    font-size:13px;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .hero-grid,
  .banner,
  .assistant-preview,
  .assistant-panel,
  .contact-grid,
  .cart-layout,
  .contact-enquiry-grid{
    grid-template-columns:1fr;
  }

  .grid-5,
  .grid-6{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .grid-4,
  .grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .premium-menu-tools{
    grid-template-columns:1fr;
  }

  .premium-menu-tabs{
    justify-content:flex-start;
  }

  .premium-menu-grid,
  .menu-list{
    grid-template-columns:1fr;
  }

  .custom-enquiry-grid > .info-card,
  .custom-enquiry-grid > .form-card{
    width:100%;
  }
}

@media (max-width:520px){
  .site-header .brand-name{
    max-width:calc(100vw - 270px);
    font-size:19px;
  }

  .site-header .language-toggle{
    padding:4px 6px;
  }

  .site-header .language-toggle .lang-hi-full{
    display:none;
  }

  .site-header .language-toggle .lang-hi-short{
    display:inline;
  }
}

@media (max-width:420px){
  .site-header{
    padding:0 12px;
    gap:8px;
  }

  .site-header .brand-mark{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .site-header .brand-name{
    max-width:calc(100vw - 226px);
    font-size:18px;
  }

  .site-header .cart-nav-btn,
  .site-header .hamb{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .site-header .language-toggle button{
    min-width:21px;
  }
}

@media (max-width:900px){
  .section{
    padding:66px 0;
  }

  .page-hero,
  .page-hero.cakes-hero{
    min-height:0;
    padding:118px 0 58px;
    background-position:center;
  }

  .page-hero.cakes-hero::before{
    background:linear-gradient(90deg,rgba(10,8,5,.72),rgba(10,8,5,.46));
  }

  .page-hero .container,
  .page-hero.cakes-hero .container{
    max-width:760px;
  }

  .page-hero h1,
  .page-hero.cakes-hero h1{
    max-width:100%;
    font-size:clamp(38px,8vw,58px);
    overflow-wrap:break-word;
  }

  .page-hero .lead,
  .page-hero.cakes-hero .lead{
    max-width:620px;
    font-size:17px;
  }

  .hero{
    min-height:auto;
    padding:108px 0 60px;
  }

  .hero-copy h1{
    font-size:clamp(42px,8vw,62px);
    overflow-wrap:break-word;
  }

  .hero-copy .lead{
    font-size:17px;
  }

  .hero-art{
    min-height:380px;
  }

  .hero-slideshow,
  .cake-stage{
    width:min(430px,100%);
    margin-inline:auto;
  }

  .trust-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .premium-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cake-product-grid[data-cakes-dynamic]{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cake-product-grid[data-cakes-dynamic] .product-card{
    min-height:0;
  }

  .cake-gallery[data-gallery-dynamic]{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .contact-quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .contact-map-section .contact-store-grid{
    display:grid;
    grid-template-columns:1fr;
  }

  .contact-map-section .real-map,
  .contact-map-section .location-map-frame,
  .contact-map-section .contact-store-panel{
    min-height:320px;
  }
}

@media (max-width:640px){
  html,
  body{
    width:100%;
    overflow-x:hidden;
  }

  .container{
    width:min(100% - 28px,1180px);
  }

  .site-header{
    height:64px;
    padding:0 12px;
  }

  .site-header .brand-name{
    max-width:calc(100vw - 168px);
    font-size:19px;
  }

  .site-header .brand-mark{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .site-header .nav-order-btn{
    display:none;
  }

  .site-header .cart-nav-btn,
  .site-header .hamb{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .site-header .nav-links{
    left:12px;
    right:12px;
    top:calc(100% + 8px);
    padding:10px;
    border-radius:18px;
  }

  .section{
    padding:52px 0;
  }

  .section-head{
    display:grid;
    gap:16px;
    margin-bottom:24px;
  }

  h2{
    font-size:clamp(30px,10vw,42px);
  }

  h3{
    font-size:22px;
  }

  .lead{
    font-size:16px;
  }

  .btn,
  .filter-btn,
  .menu-plus-btn,
  .cart-qty button,
  .cart-remove,
  .field,
  .search-input{
    min-height:44px;
  }

  .hero{
    padding:96px 0 46px;
  }

  .hero-grid{
    gap:30px;
  }

  .hero-copy h1{
    font-size:clamp(38px,12vw,52px);
  }

  .hero-copy .lead{
    margin:16px 0 22px;
  }

  .hero-actions,
  .action-row{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    width:100%;
  }

  .hero-actions .btn,
  .action-row .btn{
    width:100%;
  }

  .trust-row,
  .grid-3,
  .grid-4,
  .grid-5,
  .grid-6,
  .footer-grid,
  .form-grid,
  .menu-list{
    grid-template-columns:1fr;
  }

  .hero-art{
    min-height:300px;
  }

  .hero-slideshow,
  .cake-stage{
    max-width:320px;
  }

  .hero-float-card,
  .hero-float-card2{
    max-width:150px;
  }

  .page-hero,
  .page-hero.cakes-hero{
    padding:104px 0 44px;
  }

  .page-hero h1,
  .page-hero.cakes-hero h1{
    font-size:clamp(34px,11vw,46px);
  }

  .page-hero .lead,
  .page-hero.cakes-hero .lead{
    font-size:16px;
  }

  .custom-cakes-hero .hero-actions,
  .custom-page-hero__actions{
    grid-template-columns:1fr;
  }

  .banner,
  .assistant-preview,
  .assistant-panel,
  .form-card,
  .contact-store-panel,
  .contact-enquiry-card{
    padding:22px;
    border-radius:22px;
  }

  .banner img{
    height:240px;
    border-radius:18px;
  }

  .premium-category-section{
    padding:54px 0;
  }

  .premium-category-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .premium-category-card img{
    height:220px;
  }

  .premium-category-body{
    min-height:0;
  }

  .card-img,
  .suggestion-card__image{
    height:205px;
  }

  .product-card .card-body,
  .category-card .card-body,
  .card-body{
    padding:18px;
  }

  .cake-product-grid[data-cakes-dynamic]{
    grid-template-columns:1fr;
    gap:18px;
  }

  .cake-product-grid[data-cakes-dynamic] .product-card{
    min-height:0;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    height:210px;
  }

  .cake-product-grid[data-cakes-dynamic] .btn{
    min-height:48px;
  }

  .filters{
    justify-content:flex-start;
    gap:8px;
    margin-bottom:22px;
  }

  .filters .filter-btn{
    flex:1 1 calc(50% - 8px);
    padding:10px 12px;
    font-size:12px;
  }

  .premium-menu-tabs{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:6px;
    scroll-snap-type:x proximity;
  }

  .premium-menu-tabs .filter-btn{
    flex:0 0 auto;
    min-height:46px;
    scroll-snap-align:start;
  }

  .premium-menu-block{
    min-height:0;
    padding:20px;
    border-radius:22px;
  }

  .premium-menu-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:14px 0;
  }

  .premium-menu-row strong,
  .premium-menu-row small{
    overflow-wrap:anywhere;
  }

  .premium-menu-action{
    min-width:72px;
    align-items:flex-end;
  }

  .menu-plus-btn{
    width:44px;
    height:44px;
    font-size:22px;
  }

  .occasion-card-grid,
  .occasion-grid{
    grid-template-columns:1fr;
  }

  .occasion-choice,
  .occasion-card{
    min-width:0;
  }

  .guide-list div{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }

  .custom-enquiry-submit,
  .custom-enquiry-grid .btn,
  .custom-cta .btn{
    width:100%;
  }

  .gallery-strip{
    grid-template-columns:1fr;
  }

  .gallery-item,
  .gallery-item.tall{
    min-height:240px;
  }

  .cake-gallery[data-gallery-dynamic]{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card{
    border-radius:18px;
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card img{
    height:180px;
  }

  .gallery-card [data-gallery-add],
  .gallery-card button{
    min-width:42px;
    min-height:42px;
  }

  .cart-layout{
    gap:20px;
  }

  .cart-item{
    grid-template-columns:82px minmax(0,1fr);
    gap:12px;
    padding:12px;
  }

  .cart-item > img{
    width:82px;
    height:82px;
  }

  .cart-item-body h3{
    font-size:18px;
  }

  .cart-item-body p span{
    display:block;
    margin-left:0;
    margin-top:2px;
  }

  .cart-item-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .cart-qty{
    width:max-content;
  }

  .cart-remove{
    width:100%;
    text-align:center;
  }

  .cart-empty{
    padding:24px 18px;
  }

  .cart-empty-actions,
  .cart-more-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .cart-empty-actions .btn,
  .cart-more-actions .btn,
  [data-order-form] .btn{
    width:100%;
  }

  .contact-quick-grid,
  .contact-store-grid,
  .contact-enquiry-grid{
    grid-template-columns:1fr;
  }

  .contact-quick-card{
    min-height:0;
    padding:16px;
  }

  .contact-map-section .real-map,
  .contact-map-section .location-map-frame,
  .contact-map-section .real-map iframe,
  .contact-map-section .location-map-frame iframe{
    min-height:300px;
    border-radius:22px;
  }

  .contact-enquiry-image{
    min-height:240px;
  }

  .about-store-image,
  .contact-enquiry-image{
    border-radius:22px;
    overflow:hidden;
  }

  .about-cta .hero-actions{
    grid-template-columns:1fr;
  }

.sticky-wa{
  right:14px;
  bottom:78px;
}

  .sticky-wa a{
    width:50px;
    height:50px;
    min-height:50px;
    padding:0;
    justify-content:center;
    font-size:0;
  }

  .sticky-wa a::before{
    content:"WA";
    font-size:12px;
  }

  .chat-fab{
    right:14px;
    bottom:138px;
    width:50px;
    height:50px;
  }

  .chat-box{
    right:12px;
    bottom:196px;
    width:calc(100vw - 24px);
    max-width:350px;
    height:min(500px,calc(100vh - 220px));
  }
}

@media (max-width:380px){
  .container{
    width:min(100% - 24px,1180px);
  }

  .site-header .brand-name{
    max-width:calc(100vw - 158px);
    font-size:18px;
  }

  .page-hero h1,
  .page-hero.cakes-hero h1,
  .hero-copy h1{
    font-size:34px;
  }

  .cake-gallery[data-gallery-dynamic]{
    grid-template-columns:1fr;
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card img{
    height:220px;
  }

  .filters .filter-btn{
    flex-basis:100%;
  }

  .cart-item{
    grid-template-columns:82px minmax(0,1fr);
  }

  .cart-item > img{
    width:82px;
    height:82px;
    border-radius:14px;
  }
}

/* Cake filter states must override every responsive card display rule. */
body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card.is-filtered-out,
body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card.is-unloaded,
body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card[hidden],
#cake-collection .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card.is-filtered-out,
#cake-collection .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card.is-unloaded,
#cake-collection .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card[hidden]{
  display:none!important;
}

/* Desktop and tablet merged Order Now and cart control. */
@media (min-width:768px){
  .site-header .nav-order-btn.desktop-order-button{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    min-width:0!important;
    padding:0 3px 0 17px!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:9px!important;
    border-radius:19px!important;
    line-height:1!important;
    white-space:nowrap;
    text-decoration:none;
    overflow:visible!important;
  }

  .site-header .desktop-order-text{
    font-size:13px!important;
    font-weight:700;
    letter-spacing:1.5px!important;
    line-height:1!important;
    white-space:nowrap;
  }

  .site-header .desktop-order-cart-circle{
    position:relative;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    flex:0 0 30px!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fffdf8!important;
    border:1px solid rgba(173,113,20,.45)!important;
    color:#1c150e;
    box-shadow:0 2px 7px rgba(76,47,10,.16),inset 0 1px 0 rgba(255,255,255,.9);
    overflow:visible!important;
  }

  .site-header .desktop-order-cart-circle svg{
    width:17px!important;
    height:17px!important;
    fill:none;
    color:#17110b!important;
    stroke:#17110b!important;
    stroke-width:2!important;
    opacity:1!important;
    filter:none!important;
  }

  .site-header .desktop-order-cart-circle .cart-count{
    position:absolute!important;
    top:-7px!important;
    right:-6px!important;
    z-index:10;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fffaf2!important;
    border-radius:999px;
    background:#d69a25!important;
    color:#17110b!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap;
    box-shadow:0 2px 6px rgba(61,38,8,.22);
  }

  .site-header .desktop-order-cart-circle .cart-count[hidden],
  .site-header .desktop-order-cart-circle .cart-count:empty,
  .site-header .desktop-order-cart-circle .cart-count[data-count="0"]{
    display:none!important;
  }

  .site-header,
  .site-header .nav-actions{
    overflow:visible!important;
  }
}

@media (min-width:768px) and (max-width:1180px){
  .site-header .nav-actions{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    gap:7px!important;
    overflow:visible!important;
  }

  .site-header .nav-order-btn.desktop-order-button{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:0 3px 0 14px!important;
    gap:7px!important;
    border-radius:18px!important;
  }

  .site-header .desktop-order-text{
    font-size:11px!important;
    letter-spacing:1px!important;
  }

  .site-header .desktop-order-cart-circle{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    flex-basis:28px!important;
  }

  .site-header .desktop-order-cart-circle svg{
    width:14px!important;
    height:14px!important;
  }
}


/* ===== MOBILE FIXES PATCH ===== */

/* Hide hero decorative border rings on small screens (causes horizontal scroll) */
@media (max-width: 640px) {
  .hero-slideshow::before,
  .hero-slideshow::after {
    display: none;
  }
  .hero-float-card,
  .hero-float-card2 {
    display: none;
  }
}

/* About story image height on small screens */
@media (max-width: 640px) {
  .about-story-image img {
    height: 240px;
    object-fit: cover;
    object-position: center top;
  }
  .about-value-card {
    min-height: 0;
    padding: 20px 18px;
  }
}

/* About story: show the complete prepared collage without cropping. */
.about-story-single-image{
  width:100%;
  max-width:700px;
  justify-self:end;
  align-self:center;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 28px 80px rgba(91,53,23,.12);
}

.about-story-single-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:28px;
}

@media (min-width:1025px){
  .about-story-section .about-split{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    align-items:center;
  }
}

@media (max-width:1024px){
  .about-story-single-image{
    justify-self:center;
  }
}

@media (max-width:768px){
  .about-story-single-image,
  .about-story-single-image img{
    min-height:0;
  }
}

/* About uses the shared hero structure, without the old cake-photo layer. */
.page-hero.cakes-hero.page-hero--about{
  background:linear-gradient(120deg,#2b160e 0%,#5a3020 38%,#8a5a31 68%,#3b2016 100%);
  background-size:220% 220%;
  animation:rbAboutSoftGlow 14s ease-in-out infinite;
}

@keyframes rbAboutFadeUp{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes rbAboutSoftGlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

.page-hero--about .animate-about-item{
  opacity:0;
  animation:rbAboutFadeUp .9s ease both;
}
.page-hero--about .animate-about-item.delay-1{animation-delay:.05s}
.page-hero--about .animate-about-item.delay-2{animation-duration:1s;animation-delay:.15s}
.page-hero--about .animate-about-item.delay-3{animation-delay:.35s}

.about-story-copy-animated,
.about-story-visual-animated{
  opacity:0;
  transition:opacity .9s ease,transform .9s cubic-bezier(.22,.7,.25,1);
  will-change:opacity,transform;
}
.about-story-copy-animated{transform:translateX(-28px)}
.about-story-visual-animated{transform:translateX(28px)}
.about-story-animate.is-visible .about-story-copy-animated,
.about-story-animate.is-visible .about-story-visual-animated{
  opacity:1;
  transform:translateX(0);
}

.about-story-animate .about-story-badges span{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s ease,transform .6s ease;
}
.about-story-animate.is-visible .about-story-badges span{opacity:1;transform:translateY(0)}
.about-story-animate.is-visible .about-story-badges span:nth-child(1){transition-delay:.35s}
.about-story-animate.is-visible .about-story-badges span:nth-child(2){transition-delay:.44s}
.about-story-animate.is-visible .about-story-badges span:nth-child(3){transition-delay:.53s}
.about-story-animate.is-visible .about-story-badges span:nth-child(4){transition-delay:.62s}

.about-story-animate.is-visible .about-story-visual-animated:hover{
  transform:translateY(-5px);
  box-shadow:0 34px 90px rgba(91,53,23,.16);
}

@media (max-width:768px){
  .about-story-copy-animated{transform:translateX(-14px)}
  .about-story-visual-animated{transform:translateX(14px)}
  .about-story-copy-animated,
  .about-story-visual-animated{transition-duration:.7s}
}

@media (prefers-reduced-motion:reduce){
  .page-hero.cakes-hero.page-hero--about,
  .page-hero--about .animate-about-item{
    animation:none!important;
  }
  .page-hero--about .animate-about-item,
  .about-story-copy-animated,
  .about-story-visual-animated,
  .about-story-animate .about-story-badges span{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* About page animations: classes are attached directly to live page elements. */
@keyframes aboutHeroGlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes aboutFadeUp{
  from{opacity:0;transform:translateY(34px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes aboutFadeLeft{
  from{opacity:0;transform:translateX(-42px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes aboutFadeRight{
  from{opacity:0;transform:translateX(42px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes aboutFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

.page-hero.cakes-hero.page-hero--about.about-animate-hero{
  background-size:220% 220%;
  animation:aboutHeroGlow 8s ease-in-out infinite;
}
.about-animate-label{
  opacity:0;
  animation:aboutFadeUp .75s ease forwards;
}
.about-animate-title{
  opacity:0;
  animation:aboutFadeUp 1s ease .15s forwards;
}
.about-animate-subtitle{
  opacity:0;
  animation:aboutFadeUp .9s ease .38s forwards;
}

.about-story-section .reveal-left,
.about-story-section .reveal-right,
.about-story-section .reveal-up{
  opacity:0;
  will-change:opacity,transform;
}
.about-story-section .reveal-left{transform:translateX(-42px)}
.about-story-section .reveal-right{transform:translateX(42px)}
.about-story-section .reveal-up{transform:translateY(34px)}
.about-story-section .reveal-left.is-visible{animation:aboutFadeLeft .9s ease forwards}
.about-story-section .reveal-right.is-visible{animation:aboutFadeRight .9s ease forwards}
.about-story-section .reveal-up.is-visible{animation:aboutFadeUp .75s ease forwards}
.about-story-badges .reveal-up:nth-child(1).is-visible{animation-delay:.05s}
.about-story-badges .reveal-up:nth-child(2).is-visible{animation-delay:.16s}
.about-story-badges .reveal-up:nth-child(3).is-visible{animation-delay:.27s}
.about-story-badges .reveal-up:nth-child(4).is-visible{animation-delay:.38s}

.about-story-single-image .about-float-image{
  animation:aboutFloat 5s ease-in-out infinite;
}
.about-story-single-image:hover{
  transform:translateY(-4px);
  box-shadow:0 34px 90px rgba(91,53,23,.16);
}

@media (max-width:768px){
  .about-story-section .reveal-left{transform:translateX(-18px)}
  .about-story-section .reveal-right{transform:translateX(18px)}
  .about-story-single-image .about-float-image{animation-duration:6s}
}

@media (prefers-reduced-motion:reduce){
  .page-hero.cakes-hero.page-hero--about.about-animate-hero,
  .about-animate-label,
  .about-animate-title,
  .about-animate-subtitle,
  .about-story-section .reveal-left,
  .about-story-section .reveal-right,
  .about-story-section .reveal-up,
  .about-story-single-image .about-float-image{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* Contact quick cards - center on mobile */
@media (max-width: 640px) {
  .contact-quick-card {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/* Menu tabs scroll fade hint */
@media (max-width: 640px) {
  .premium-menu-tools {
    position: relative;
  }
  .premium-menu-tools::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 36px;
    background: linear-gradient(to left, var(--cream, #FAF6F0), transparent);
    pointer-events: none;
  }
}

/* About CTA section - reduce whitespace gap on mobile */
@media (max-width: 768px) {
  .about-cta-section {
    padding-bottom: 48px !important;
  }
  .about-cta {
    padding: 28px 20px;
  }
}

/* Map and store panel equal height fix */
@media (max-width: 900px) {
  .contact-map-section .contact-store-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .contact-map-section .real-map,
  .contact-map-section .location-map-frame {
    height: 280px;
    min-height: 280px;
  }
}

/* GET DIRECTIONS and ORDER ON WHATSAPP equal width */
.contact-store-panel .hero-actions .btn {
  flex: 1;
  text-align: center;
  justify-content: center;
}

/* Reduce contact store panel padding on mobile */
@media (max-width: 640px) {
  .contact-store-panel {
    padding: 20px !important;
  }
}

/* Cart toast better mobile positioning */
@media (max-width: 640px) {
  .cart-toast {
    bottom: 90px;
    left: 16px;
    right: 16px;
    text-align: center;
  }
}

/* ===== END MOBILE FIXES PATCH ===== */


/* Gallery dynamic grid fix - prevent masonry columns conflicting with JS grid */
.masonry.cake-gallery[data-gallery-dynamic] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  columns: unset !important;
  column-gap: unset !important;
}

.cake-gallery[data-gallery-dynamic] .gallery-card {
  break-inside: unset;
  margin-bottom: 0;
  display: block;
  width: 100%;
}

.cake-gallery[data-gallery-dynamic] .gallery-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0;
}

@media (max-width: 768px) {
  .masonry.cake-gallery[data-gallery-dynamic] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .cake-gallery[data-gallery-dynamic] .gallery-card img {
    height: 180px;
  }
}

@media (max-width: 420px) {
  .masonry.cake-gallery[data-gallery-dynamic] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .cake-gallery[data-gallery-dynamic] .gallery-card img {
    height: 150px;
  }
}


/* Gallery card position fix for add button */
.cake-gallery[data-gallery-dynamic] .gallery-card {
  position: relative;
  overflow: hidden;
}

/* Remove any min-height that creates blank gaps */
.cake-gallery[data-gallery-dynamic] .gallery-card,
.gallery-grid .gallery-card {
  min-height: 0 !important;
  height: auto;
}

/* Gallery image fill card completely - no gaps */
.cake-gallery[data-gallery-dynamic] .gallery-card img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.cake-gallery[data-gallery-dynamic] .gallery-card:hover img {
  transform: scale(1.06);
}

/* Final mobile visibility pass: keep cakes contained and uncropped on phones. */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

img{
  max-width:100%;
}

@media (max-width:768px){
  body{
    padding-bottom:86px;
  }

  .site-header{
    max-width:100vw;
    overflow:visible;
  }

  .site-header .brand,
  .site-header .nav-actions{
    min-width:0;
  }

  .site-header .brand-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .site-header .nav-links{
    max-width:calc(100vw - 24px);
  }

  .cake-ordering-section .container,
  .gallery-grid.cake-gallery{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .cake-product-grid[data-cakes-dynamic]{
    grid-template-columns:1fr !important;
    width:100%;
    max-width:100%;
    min-width:0;
    gap:24px !important;
    overflow:visible;
  }

  .cake-product-grid[data-cakes-dynamic] .product-card,
  .cake-order-card{
    width:100%;
    max-width:calc(100vw - 32px);
    min-width:0 !important;
    height:auto;
    min-height:0 !important;
    margin-left:auto;
    margin-right:auto;
    padding:18px;
    overflow:hidden;
    transform:none;
  }

  .cake-product-grid[data-cakes-dynamic] .product-card:hover,
  .cake-order-card:hover{
    transform:none;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
    width:100%;
    aspect-ratio:1 / .78;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:0;
    background:#f8f1ea;
    border-radius:16px;
    overflow:hidden;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    width:100%;
    height:100%;
    object-fit:contain !important;
    object-position:center;
    display:block;
    border-radius:0;
    transform:none !important;
    background:#f8f1ea;
  }

  .cake-product-grid[data-cakes-dynamic] .card-body,
  .cake-product-grid[data-cakes-dynamic] h3,
  .cake-product-grid[data-cakes-dynamic] .card-body p,
  .cake-product-grid[data-cakes-dynamic] .weights,
  .cake-product-grid[data-cakes-dynamic] .product-meta,
  .cake-product-grid[data-cakes-dynamic] small{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-wrap:break-word;
  }

  .cake-product-grid[data-cakes-dynamic] h3,
  .cake-product-grid[data-cakes-dynamic] .card-body p{
    display:block;
    min-height:0;
    overflow:visible;
    -webkit-line-clamp:unset;
  }

  .cake-product-grid[data-cakes-dynamic] .card-body{
    padding:18px 0 0;
  }

  .cake-product-grid[data-cakes-dynamic] .weights{
    margin-top:12px;
  }

  .cake-product-grid[data-cakes-dynamic] .btn,
  .cake-product-grid[data-cakes-dynamic] .btn.primary,
  .cake-order-card .btn{
    width:100%;
    max-width:100%;
    min-height:52px;
    height:52px;
    margin:8px 0 0;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:none;
  }

  .filters,
  .cake-filters{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
    overflow:visible;
  }

  .filters .filter-btn,
  .cake-filters .filter-btn{
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
    white-space:normal;
  }

  .cakes-load-more,
  .gallery-load-more{
    justify-content:center;
    margin-top:34px;
    margin-bottom:88px;
    padding-inline:16px;
  }

  .cakes-load-more .btn,
  .gallery-load-more .btn{
    width:min(100%,260px);
  }

  .sticky-wa{
    position:fixed;
    right:18px !important;
    bottom:18px !important;
    z-index:999;
  }

  .sticky-wa a{
    width:56px !important;
    height:56px !important;
    min-height:56px;
    padding:0 !important;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0 !important;
    line-height:1;
  }

.sticky-wa a::before{
    content:"WA";
    font-size:13px;
    font-weight:900;
  }
}

/* Cake flavour rate menu */
.cake-rate-menu{
  scroll-margin-top:96px;
  margin:8px 0 36px;
  padding:30px;
  border:1px solid rgba(200,159,61,.28);
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(255,253,248,.96),rgba(255,248,239,.9)),
    radial-gradient(circle at 88% 8%,rgba(244,223,173,.42),transparent 30%);
  box-shadow:0 22px 58px rgba(43,22,15,.10);
}

.cake-rate-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:start;
  margin-bottom:24px;
}

.cake-rate-head h2{
  font-size:clamp(32px,4vw,50px);
}

.cake-rate-head .lead{
  margin-top:12px;
  max-width:790px;
}

.cake-rate-date{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 14px;
  border:1px solid rgba(200,159,61,.3);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--chocolate);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.cake-rate-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.cake-rate-card{
  min-width:0;
  padding:20px;
  border:1px solid rgba(200,159,61,.24);
  border-radius:22px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 28px rgba(43,22,15,.07);
}

.cake-rate-card.featured{
  background:linear-gradient(145deg,rgba(255,250,238,.98),rgba(244,223,173,.38));
  border-color:rgba(200,159,61,.42);
}

.cake-rate-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(200,159,61,.2);
}

.cake-rate-card h3{
  font-size:28px;
}

.cake-rate-card strong{
  color:var(--gold);
  font-size:20px;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
}

.cake-rate-card ul{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  margin:16px 0 0;
  padding:0;
}

.cake-rate-card li{
  min-width:0;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,248,239,.78);
  color:var(--cocoa);
  font-size:14px;
  font-weight:800;
  overflow-wrap:break-word;
}

.cake-rate-action{
  display:flex;
  justify-content:center;
  margin-top:24px;
}

.custom-rate-note{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid rgba(200,159,61,.24);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,253,248,.94),rgba(255,248,239,.82));
}

.custom-rate-note p{
  color:var(--chocolate);
  font-weight:900;
}

.custom-rate-note small{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.custom-rate-note .btn{
  width:max-content;
  min-height:42px;
  padding:11px 16px;
}

.cake-rate-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 12px;
  max-width:940px;
  margin:0 auto 28px;
  padding:12px 16px;
  border:1px solid rgba(200,159,61,.28);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,253,248,.94),rgba(255,248,239,.84));
  box-shadow:0 10px 28px rgba(43,22,15,.07);
  color:var(--chocolate);
}

.cake-rate-summary strong{
  font-weight:900;
}

.cake-rate-summary span{
  color:var(--cocoa);
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}

.cake-rate-summary a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(200,159,61,.16);
}

.cake-ordering-section .cakes-load-more{
  margin-bottom:26px;
}

.cake-rate-menu{
  margin:26px 0 94px;
  padding:24px;
}

.cake-rate-head{
  margin-bottom:18px;
}

.cake-rate-head h2{
  font-size:clamp(30px,3.2vw,42px);
}

.cake-rate-head .lead{
  max-width:720px;
  font-size:16px;
}

.cake-rate-grid{
  align-items:stretch;
  gap:14px;
}

.cake-rate-card{
  height:100%;
  display:flex;
  flex-direction:column;
  padding:16px;
  border-radius:18px;
}

.cake-rate-card-head{
  gap:10px;
  padding-bottom:10px;
}

.cake-rate-card h3{
  font-size:24px;
}

.cake-rate-card strong{
  font-size:18px;
}

.cake-rate-card ul{
  flex:1;
  gap:7px;
  margin-top:12px;
}

.cake-rate-card li{
  padding:7px 9px;
  border-radius:10px;
  font-size:13px;
}

.special-rate-card ul{
  flex:0;
  grid-template-columns:1fr;
}

.special-rate-card li{
  padding:10px 12px;
}

.cake-rate-card-note{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(200,159,61,.18);
  border-radius:14px;
  background:rgba(255,248,239,.72);
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}

.cake-rate-action{
  margin-top:18px;
  padding-bottom:2px;
}

@media (max-width:980px){
  .cake-rate-head{
    grid-template-columns:1fr;
  }

  .cake-rate-date{
    width:max-content;
  }

  .cake-rate-grid{
    grid-template-columns:1fr;
  }

  .cake-rate-card ul{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:768px){
  .cake-rate-summary{
    display:grid;
    grid-template-columns:1fr;
    justify-items:stretch;
    max-width:calc(100vw - 28px);
    margin-bottom:24px;
    padding:14px;
    border-radius:20px;
    text-align:center;
  }

  .cake-rate-summary span,
  .cake-rate-summary a{
    width:100%;
    white-space:normal;
  }

  .cake-ordering-section .cakes-load-more{
    margin-bottom:22px;
  }

  .cake-rate-menu{
    width:100%;
    max-width:calc(100vw - 28px);
    margin:22px auto 104px;
    padding:18px;
    border-radius:22px;
    scroll-margin-top:78px;
  }

  .cake-rate-head{
    gap:16px;
    margin-bottom:18px;
  }

  .cake-rate-date{
    width:100%;
    white-space:normal;
    text-align:center;
  }

  .cake-rate-card{
    padding:15px;
    border-radius:18px;
  }

  .cake-rate-card-head{
    display:grid;
    gap:8px;
  }

  .cake-rate-card strong{
    font-size:19px;
  }

  .cake-rate-card ul{
    grid-template-columns:1fr;
    gap:8px;
  }

  .cake-rate-card-note{
    text-align:left;
  }

  .cake-rate-action .btn{
    width:100%;
  }

  .custom-rate-note .btn{
    width:100%;
  }
}

/* Final cake rate menu aesthetic polish */
.cake-rate-menu{
  position:relative;
  isolation:isolate;
  max-width:1120px;
  margin:28px auto 112px;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(190,139,45,.32);
  border-radius:30px;
  background:
    linear-gradient(145deg,rgba(255,253,247,.97),rgba(255,246,232,.94) 58%,rgba(250,236,205,.9)),
    radial-gradient(circle at 82% 0%,rgba(218,174,80,.16),transparent 34%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 0 0 1px rgba(255,255,255,.34),
    0 18px 48px rgba(43,22,15,.105);
}

.cake-rate-menu::before{
  content:"";
  position:absolute;
  inset:10px;
  z-index:-1;
  border:1px solid rgba(200,159,61,.16);
  border-radius:24px;
  pointer-events:none;
}

.cake-rate-menu::after{
  content:"";
  position:absolute;
  right:-90px;
  top:-120px;
  z-index:-2;
  width:310px;
  height:310px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(211,170,74,.22),transparent 68%);
  pointer-events:none;
}

.cake-rate-head{
  grid-template-columns:minmax(0,1fr) max-content;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
  padding:2px 4px 0;
}

.cake-rate-head .kicker{
  margin-bottom:8px;
  color:#b98a2f;
  letter-spacing:2.6px;
}

.cake-rate-head h2{
  font-size:clamp(31px,3vw,44px);
  font-weight:700;
  letter-spacing:0;
}

.cake-rate-head .lead{
  margin-top:8px;
  max-width:760px;
  color:#7d5d4e;
  font-size:15px;
  line-height:1.55;
}

.cake-rate-date{
  min-height:34px;
  padding:8px 13px;
  border:1px solid rgba(190,139,45,.42);
  background:rgba(255,253,248,.72);
  color:#8c6420;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.cake-rate-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:13px;
}

.cake-rate-card{
  min-height:100%;
  padding:15px;
  border:1px solid rgba(190,139,45,.28);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(255,251,243,.92),rgba(255,253,248,.84));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 10px 24px rgba(43,22,15,.06);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.cake-rate-card.featured{
  background:
    linear-gradient(160deg,rgba(255,251,239,.98),rgba(252,238,205,.68)),
    linear-gradient(180deg,rgba(255,255,255,.4),transparent);
  border-color:rgba(190,139,45,.42);
}

@media (hover:hover) and (pointer:fine){
  .cake-rate-card:hover{
    transform:translateY(-3px);
    border-color:rgba(190,139,45,.46);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 15px 34px rgba(43,22,15,.09);
  }
}

.cake-rate-card-head{
  position:relative;
  align-items:center;
  gap:12px;
  padding-bottom:13px;
  border-bottom:0;
}

.cake-rate-card-head::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:58px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(190,139,45,.9),rgba(244,223,173,.18));
}

.cake-rate-card h3{
  font-size:24px;
  font-weight:700;
}

.cake-rate-card strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(190,139,45,.34);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(211,170,74,.96),rgba(247,226,174,.96));
  color:#2b160f;
  font-size:15px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(190,139,45,.15);
}

.cake-rate-card ul{
  gap:8px;
  margin-top:13px;
}

.cake-rate-card li{
  display:flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(200,159,61,.18);
  border-radius:999px;
  background:rgba(255,248,239,.76);
  color:#5f3e31;
  font-size:13px;
  font-weight:900;
  line-height:1.25;
}

.special-rate-card ul{
  gap:9px;
}

.special-rate-card li{
  justify-content:center;
  min-height:40px;
}

.cake-rate-card-note{
  margin-top:13px;
  padding:11px 12px;
  border-color:rgba(190,139,45,.2);
  border-radius:16px;
  background:rgba(255,253,248,.62);
  color:#7d5d4e;
  font-size:13px;
  line-height:1.45;
}

.cake-rate-action{
  margin-top:18px;
}

.cake-rate-action .btn{
  min-height:42px;
  padding:12px 20px;
  border:1px solid rgba(190,139,45,.24);
  border-radius:999px;
  background:linear-gradient(135deg,#d6ad52,#f4dfad);
  color:#2b160f;
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  box-shadow:0 12px 24px rgba(190,139,45,.18);
}

@media (max-width:980px){
  .cake-rate-head{
    grid-template-columns:1fr;
    justify-items:start;
  }

  .cake-rate-date{
    width:max-content;
  }

  .cake-rate-card ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:768px){
  .cake-hero-actions{
    margin-top:18px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .cake-hero-suggestion-btn,
  .cake-hero-view-btn{
    width:100%;
    min-height:46px;
    padding:12px 18px;
  }

  .cake-suggestion-modal{
    padding:14px;
    align-items:start;
    padding-top:84px;
  }

  .cake-suggestion-panel{
    width:100%;
    max-height:calc(100vh - 108px);
    padding:18px;
    border-radius:22px;
  }

  .cake-suggestion-page{
    padding-top:44px;
  }

  .cake-suggestion-page .cake-suggestion-panel{
    max-height:none;
    overflow:visible;
  }

  .cake-suggestion-submit{
    width:100%;
    min-width:0;
  }

  .cake-suggestion-intro{
    padding:0 32px 0 0;
    text-align:left;
    justify-items:start;
  }

  .cake-suggestion-options{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .cake-assistant-step{
    padding:14px;
    border-radius:18px;
  }

  .cake-assistant-step-head{
    gap:10px;
  }

  .cake-assistant-step-head h3{
    font-size:21px;
  }

  .cake-assistant-card-grid,
  .cake-flavour-type-grid{
    grid-template-columns:1fr;
    gap:9px;
  }

  .cake-assistant-choice,
  .cake-flavour-type-card{
    min-height:0;
    padding:13px;
  }

  .cake-suggestion-option{
    min-width:0;
    padding:9px 10px;
    white-space:normal;
  }

  .cake-suggestion-card-grid{
    grid-template-columns:1fr;
  }

  .cake-suggestion-card{
    text-align:left;
  }

  .cake-suggestion-card-img{
    height:220px;
    object-fit:contain;
  }

  .cake-size-choice-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .cake-size-choice-row .cake-suggestion-option{
    width:100%;
  }

  .cake-rate-menu{
    max-width:calc(100vw - 28px);
    margin:22px auto 116px;
    padding:16px;
    border-radius:24px;
  }

  .cake-rate-menu::before{
    inset:7px;
    border-radius:20px;
  }

  .cake-rate-head{
    justify-items:stretch;
    gap:12px;
    margin-bottom:16px;
    padding:0;
    text-align:left;
  }

  .cake-rate-date{
    width:100%;
    justify-self:stretch;
    white-space:normal;
    text-align:center;
  }

  .cake-rate-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .cake-rate-card{
    padding:14px;
    border-radius:18px;
  }

  .cake-rate-card-head{
    display:flex;
    align-items:center;
  }

  .cake-rate-card h3{
    font-size:22px;
  }

  .cake-rate-card strong{
    font-size:14px;
    white-space:nowrap;
  }

  .cake-rate-card ul,
  .special-rate-card ul{
    grid-template-columns:1fr;
  }

  .cake-rate-card li{
    width:100%;
    min-height:36px;
    justify-content:flex-start;
    border-radius:14px;
  }

  .special-rate-card li{
    justify-content:flex-start;
  }

  .cake-rate-action .btn{
    width:100%;
    max-width:340px;
    margin-inline:auto;
  }
}

/* Final flavour chip polish inside the cake rate menu */
.cake-rate-card ul{
  align-items:stretch;
}

.cake-rate-card li{
  position:relative;
  min-height:40px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 12px 9px 28px;
  border:1px solid rgba(190,139,45,.24);
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,255,255,0) 42%),
    linear-gradient(145deg,rgba(255,250,241,.94),rgba(255,244,225,.78));
  color:#4f3025;
  font-family:"DM Sans",Inter,Arial,sans-serif;
  font-size:13px;
  font-weight:950;
  letter-spacing:.015em;
  line-height:1.22;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 5px 14px rgba(43,22,15,.045);
  overflow-wrap:anywhere;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}

.cake-rate-card li::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(135deg,#bd8b2d,#f4dfad);
  box-shadow:0 0 0 4px rgba(200,159,61,.10);
  transform:translateY(-50%);
}

@media (hover:hover) and (pointer:fine){
  .cake-rate-card li:hover{
    transform:translateY(-2px);
    border-color:rgba(190,139,45,.38);
    background:
      linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,0) 44%),
      linear-gradient(145deg,rgba(255,253,247,.98),rgba(255,240,209,.86));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.94),
      0 9px 20px rgba(190,139,45,.12);
  }
}

.special-rate-card li{
  justify-content:flex-start;
}

.cake-rate-card-note{
  border-color:rgba(190,139,45,.16);
  background:
    linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0)),
    rgba(255,250,241,.66);
  color:#806252;
  font-weight:850;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
}

@media (max-width:768px){
  .cake-rate-card li{
    min-height:42px;
    padding:10px 12px 10px 30px;
    font-size:13px;
    letter-spacing:.01em;
  }

  .cake-rate-card li::before{
    left:13px;
  }
}

.cake-rate-menu .cake-rate-grid{
  margin-bottom:2px;
}

/* Custom cake flavour selector */
.custom-flavour-field{
  padding:16px;
  border:1px solid rgba(190,139,45,.24);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,0)),
    rgba(255,250,241,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 8px 18px rgba(43,22,15,.04);
}

.custom-cake-enquiry-form .custom-flavour-field > span{
  color:#8c6420;
}

.custom-flavour-select{
  min-height:52px;
  border-color:rgba(190,139,45,.34);
  background:
    linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,255,255,0) 46%),
    rgba(255,253,248,.96);
  color:var(--chocolate);
  font-weight:850;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.custom-flavour-select optgroup{
  color:#8c6420;
  font-weight:900;
}

.custom-flavour-select option{
  color:var(--chocolate);
  font-weight:700;
}

.custom-flavour-field small{
  display:block;
  margin-top:3px;
  color:#806252;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}

@media (max-width:760px){
  .custom-flavour-field{
    padding:14px;
    border-radius:16px;
  }

  .custom-flavour-select{
    width:100%;
    min-width:0;
  }
}

/* Premium details for the cake rate menu */
.cake-rate-menu{
  background:
    radial-gradient(circle at 0% 0%,rgba(211,170,74,.18),transparent 28%),
    radial-gradient(circle at 96% 8%,rgba(244,223,173,.24),transparent 30%),
    linear-gradient(145deg,rgba(255,253,247,.98),rgba(255,246,232,.94) 58%,rgba(250,236,205,.88));
}

.cake-rate-menu::before{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.54);
}

.cake-rate-title-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
}

.cake-rate-title-row h2{
  min-width:0;
}

.cake-rate-starting{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border:1px solid rgba(190,139,45,.34);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,253,248,.86),rgba(247,226,174,.52));
  color:#7b551b;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 8px 16px rgba(190,139,45,.08);
}

.cake-rate-info-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.cake-rate-info-strip span{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px 7px 27px;
  border:1px solid rgba(190,139,45,.22);
  border-radius:999px;
  background:rgba(255,250,241,.72);
  color:#6b4b3b;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76);
}

.cake-rate-card{
  position:relative;
  overflow:hidden;
}

.cake-rate-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:48px;
  background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,0));
  pointer-events:none;
}

.cake-rate-card::after{
  content:"";
  position:absolute;
  left:15px;
  right:15px;
  top:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(190,139,45,.42),transparent);
  pointer-events:none;
}

.cake-rate-popular{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
  margin-left:7px;
  padding:5px 8px;
  border:1px solid rgba(190,139,45,.3);
  border-radius:999px;
  background:rgba(255,250,241,.74);
  color:#8c6420;
  font-family:"DM Sans",Inter,Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}

.special-rate-card .cake-rate-card-note{
  position:relative;
  padding-left:30px;
  border-left:3px solid rgba(190,139,45,.54);
}

.special-rate-card .cake-rate-card-note::before{
  content:"";
  position:absolute;
  left:13px;
  top:16px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(135deg,#bd8b2d,#f4dfad);
  box-shadow:0 0 0 4px rgba(200,159,61,.10);
}

@media (max-width:768px){
  .cake-rate-title-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .cake-rate-starting{
    width:max-content;
    max-width:100%;
    white-space:normal;
  }

  .cake-rate-info-strip{
    display:grid;
    grid-template-columns:1fr;
  }

  .cake-rate-info-strip span{
    width:100%;
    min-width:0;
    white-space:normal;
  }

  .cake-rate-popular{
    margin-left:0;
    margin-top:7px;
  }
}

@media (max-width:480px){
  .gallery-grid.cake-gallery,
  .cake-gallery[data-gallery-dynamic],
  .masonry.cake-gallery[data-gallery-dynamic]{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100%;
    max-width:100%;
    min-width:0;
    gap:12px !important;
    padding-left:16px;
    padding-right:16px;
    columns:unset !important;
    overflow:visible;
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card,
  .gallery-grid .gallery-card{
    position:relative;
    width:100%;
    min-width:0;
    min-height:0 !important;
    margin:0;
    background:#f8f1ea;
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card::before,
  .cake-gallery[data-gallery-dynamic] .gallery-card::after,
  .gallery-grid .gallery-card::before,
  .gallery-grid .gallery-card::after{
    display:none;
    content:none;
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card img,
  .gallery-grid.cake-gallery img{
    width:100%;
    height:auto !important;
    aspect-ratio:1 / 1;
    object-fit:contain !important;
    object-position:center;
    display:block;
    background:#f8f1ea;
    border-radius:0;
    opacity:1;
    filter:none;
    transform:none !important;
  }

  .cake-gallery[data-gallery-dynamic] .gallery-card:hover img{
    transform:none !important;
  }

  .gallery-card .gallery-add-btn,
  .gallery-card [data-gallery-add]{
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    top:10px;
    right:10px;
    z-index:2;
  }
}

.sticky-wa,
body.hide-sticky-wa .sticky-wa{
  display:none !important;
}

/* Final Cake Assistant page layout */
.assistant-page-panel{
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:34px;
  max-width:1120px;
}

.assistant-page-panel > *{
  position:relative;
  z-index:1;
}

.assistant-page-panel .form-card{
  width:min(100%,820px);
  margin:0 auto;
}

.assistant-page-panel .form-card h2,
.assistant-page-panel .form-card .kicker{
  text-align:center;
}

.assistant-page-panel .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.assistant-page-panel [data-assistant-form] .field[name="occasion"],
.assistant-page-panel [data-assistant-form] .field[name="cakeWeight"]{
  grid-column:1/-1;
}

.assistant-results-section{
  width:100%;
  text-align:center;
}

.assistant-results-section h2{
  margin-bottom:22px;
}

.assistant-results-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  text-align:left;
}

.assistant-results-grid .assistant-empty-state{
  grid-column:1/-1;
  max-width:560px;
  width:100%;
  margin:0 auto;
  text-align:center;
}

.assistant-results-grid .assistant-suggestion-card{
  height:100%;
  display:flex;
  flex-direction:column;
}

.assistant-results-grid .assistant-suggestion-card .card-body{
  flex:1;
  display:flex;
  flex-direction:column;
}

.assistant-results-grid .suggestion-card__image{
  height:235px;
  object-fit:contain;
  background:rgba(255,248,239,.74);
}

.suggestion-card__flavour{
  color:var(--chocolate);
  font-size:14px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,248,239,.72);
}

.suggestion-flavour-modal{
  position:fixed;inset:0;z-index:10020;display:grid;place-items:center;
  padding:20px;background:rgba(25,14,9,.68);backdrop-filter:blur(5px);
}
.suggestion-flavour-modal[hidden]{display:none}
body.suggestion-flavour-open{overflow:hidden}
.suggestion-flavour-dialog{
  position:relative;width:min(440px,100%);max-height:calc(100vh - 40px);overflow:auto;
  padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--cream);box-shadow:0 24px 70px rgba(25,14,9,.3);
}
.suggestion-flavour-dialog h2{text-align:center;margin:0 32px 18px}
.suggestion-flavour-close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:30px;line-height:1;color:var(--chocolate);cursor:pointer}
.suggestion-flavour-cake{text-align:center}
.suggestion-flavour-cake img{width:100%;height:170px;object-fit:contain;border-radius:16px;background:rgba(255,248,239,.8)}
.suggestion-flavour-cake h3{margin:12px 0 16px}
.suggestion-flavour-select{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--chocolate);font:inherit}
.suggestion-flavour-confirm{width:100%;margin-top:18px}

.assistant-results-grid .assistant-suggestion-card > .btn{
  margin-top:auto;
}

@media (max-width:980px){
  .assistant-results-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .assistant-page-panel{
    gap:28px;
    padding:22px;
  }

  .assistant-page-panel .form-grid,
  .assistant-results-grid{
    grid-template-columns:1fr;
  }

  .assistant-page-panel .form-grid .span-2{
    grid-column:1/-1;
  }

  .assistant-results-grid .suggestion-card__image{
    height:230px;
  }

  .assistant-suggestion-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width:480px){
  .assistant-page-panel{
    max-width:calc(100vw - 28px);
    padding:18px;
    border-radius:22px;
  }

  .assistant-results-grid .suggestion-card__image{
    height:215px;
  }
}

/* Final Order and Assistant hero brightness alignment */
.page-hero--order,
.page-hero--assistant{
  min-height:390px;
  display:grid;
  align-items:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 56%;
}

.page-hero--order{
  background-image:
    linear-gradient(90deg,rgba(18,11,7,.28),rgba(18,11,7,.14)),
    url("images/elegant_chocolate_and_cherry_cake.webp");
}

.page-hero--assistant{
  background-image:
    linear-gradient(90deg,rgba(18,11,7,.26),rgba(18,11,7,.12)),
    url("images/decadent_chocolate_drip_cake_masterpiece.webp");
}

.page-hero.cakes-hero.page-hero--order::before,
.page-hero.cakes-hero.page-hero--assistant::before{
  background:
    radial-gradient(circle at 78% 42%,rgba(211,170,74,.2),transparent 24%),
    linear-gradient(90deg,rgba(10,8,5,.66),rgba(10,8,5,.46) 48%,rgba(10,8,5,.2));
}

.page-hero.cakes-hero.page-hero--order::after,
.page-hero.cakes-hero.page-hero--assistant::after{
  background:
    radial-gradient(circle at 18% 42%,rgba(244,223,173,.18),transparent 28%),
    radial-gradient(circle at 86% 32%,rgba(247,184,176,.14),transparent 30%);
  animation:aboutHeroGlow 18s ease-in-out infinite alternate;
}

.page-hero--order .container,
.page-hero--assistant .container{
  max-width:1180px;
}

.page-hero--order h1,
.page-hero--assistant h1{
  max-width:820px;
}

.page-hero--order .lead,
.page-hero--assistant .lead{
  max-width:720px;
}

@media (max-width:900px){
  .page-hero--order,
  .page-hero--assistant{
    min-height:0;
    background-position:center;
  }

  .page-hero.cakes-hero.page-hero--order::before,
  .page-hero.cakes-hero.page-hero--assistant::before{
    background:linear-gradient(90deg,rgba(10,8,5,.74),rgba(10,8,5,.46));
  }
}

/* Mobile premium accordion for cake rate menu */
.cake-rate-arrow{
  display:none;
}
.rate-accordion-header{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
}

.rate-accordion-content{
  max-height:0;
  overflow:hidden;
  transition:max-height .32s ease;
}

.rate-accordion.is-open .rate-accordion-content{
  max-height:420px;
}

@media (max-width:768px){
  .cake-rate-menu{
    width:100%;
    max-width:calc(100vw - 28px);
    margin:18px auto 86px;
    padding:16px;
    border-radius:24px;
  }

  .cake-rate-menu::before{
    inset:7px;
    border-radius:19px;
  }

  .cake-rate-head{
    display:block;
    margin-bottom:14px;
    padding:0;
    text-align:center;
  }

  .cake-rate-head .kicker,
  .cake-rate-head .lead,
  .cake-rate-date{
    display:none;
  }

  .cake-rate-title-row{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    gap:9px;
  }

  .cake-rate-title-row h2{
    font-size:clamp(27px,8vw,36px);
    line-height:1.05;
  }

  .cake-rate-starting{
    width:max-content;
    max-width:100%;
    min-height:32px;
    padding:8px 13px;
    font-size:12px;
    white-space:normal;
  }

  .cake-rate-info-strip{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:4px 0;
    margin-top:11px;
  }

  .cake-rate-info-strip span{
    width:auto;
    min-height:0;
    padding:0 7px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#765544;
    font-size:12px;
    line-height:1.35;
    box-shadow:none;
  }

  .cake-rate-info-strip span + span::after{
    content:none;
  }

  .cake-rate-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .cake-rate-card,
  .cake-rate-card.featured{
    padding:0;
    border-radius:18px;
    overflow:hidden;
    background:linear-gradient(160deg,rgba(255,251,243,.96),rgba(255,253,248,.9));
  }

  .cake-rate-card::before,
  .cake-rate-card::after{
    display:none;
  }

  .cake-rate-card-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 28px;
    align-items:center;
    gap:10px;
    min-height:58px;
    padding:12px 13px;
    border:0;
    cursor:pointer;
  }

  .cake-rate-card-head::after{
    display:none;
  }

  .cake-rate-card h3{
    min-width:0;
    font-size:20px;
    line-height:1.1;
  }

  .cake-rate-popular{
    display:none;
  }

  .cake-rate-card strong{
    min-height:30px;
    padding:7px 10px;
    font-size:13px;
    white-space:nowrap;
  }

  .cake-rate-arrow{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid rgba(190,139,45,.24);
    border-radius:50%;
    background:rgba(255,250,241,.86);
    transition:transform .24s ease,background .24s ease;
  }

  .cake-rate-arrow::before{
    content:"";
    width:8px;
    height:8px;
    border-right:2px solid #8c6420;
    border-bottom:2px solid #8c6420;
    transform:translateY(-2px) rotate(45deg);
  }

  .cake-rate-card.is-open .cake-rate-arrow{
    background:linear-gradient(135deg,rgba(211,170,74,.96),rgba(247,226,174,.96));
    transform:rotate(180deg);
  }

  .rate-accordion-content{
    max-height:0;
    overflow:hidden;
    transition:max-height .32s ease;
  }

  .rate-accordion.is-open .rate-accordion-content{
    max-height:420px;
  }

  .cake-rate-card ul,
  .special-rate-card ul{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:0;
    padding:0 13px 13px;
  }

  .cake-rate-card li{
    min-height:34px;
    padding:8px 8px 8px 22px;
    border:0;
    border-bottom:1px solid rgba(190,139,45,.16);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#4f3025;
    font-size:13px;
    font-weight:850;
    letter-spacing:0;
  }

  .cake-rate-card li:last-child{
    border-bottom:0;
  }

  .cake-rate-card li::before{
    left:6px;
    width:5px;
    height:5px;
    box-shadow:none;
  }

  .special-rate-card li{
    justify-content:flex-start;
  }

  .cake-rate-card-note{
    margin:0 13px 13px;
    padding:10px 11px;
    border-radius:13px;
    font-size:12px;
    line-height:1.4;
  }

  .special-rate-card .cake-rate-card-note::before{
    top:15px;
  }
}

/* Final order page sequence: cart first, details second */
.cart-layout{
  grid-template-columns:1fr;
  gap:28px;
  max-width:980px;
}

.cart-layout .cake-cart-panel,
.cart-layout .order-details-card{
  width:100%;
}

.cart-layout .order-details-card{
  max-width:860px;
  margin-inline:auto;
}

.order-details-card[hidden],
.cart-more-actions[hidden]{
  display:none !important;
}

.cart-layout .cart-more-actions{
  max-width:420px;
  width:100%;
  margin:2px auto 0;
}

.cart-layout .cart-more-actions .btn.primary{
  min-height:52px;
  letter-spacing:.04em;
  box-shadow:0 14px 30px rgba(200,159,61,.2);
}

.cart-layout .cart-more-actions .btn.ghost{
  background:rgba(255,253,248,.72);
}

.order-details-card:not([hidden]){
  animation:fadeUp .45s ease both;
  scroll-margin-top:96px;
}

.order-form .order-field{
  display:grid;
  align-content:start;
  gap:7px;
  min-width:0;
}

.order-form .order-field[hidden]{
  display:none!important;
}

.order-form .order-field > label{
  color:var(--chocolate);
  font-size:12px;
  font-weight:850;
  letter-spacing:.04em;
}

.order-action-grid {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 18px;
  pointer-events: auto;
}

.order-action-grid::before,
.order-action-grid::after {
  pointer-events: none;
}

.delivery-note{
  margin:14px 0 0;
  padding:12px 16px;
  border:1px solid rgba(214,164,72,.28);
  border-radius:999px;
  background:linear-gradient(180deg,#fffdf8,#fff7ea);
  color:#6f4a20;
  font-size:.92rem;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  box-shadow:0 10px 24px rgba(190,137,34,.1);
}

.fulfilment-option {
  position: relative;
  z-index: 11;
  height: 56px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  opacity: .82;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, filter 160ms ease;
}

[data-order-type="pickup"] {
  border: 1px solid rgba(184, 125, 28, 0.22);
  background: linear-gradient(135deg, #d6a33c 0%, #f0cf6b 100%);
  color: #20140d;
  box-shadow: 0 14px 28px rgba(181, 132, 33, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

[data-order-type="delivery"] {
  border: 1px solid rgba(20, 111, 72, 0.28);
  background: linear-gradient(135deg, #0f6b4d 0%, #179765 100%);
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(15, 107, 77, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.fulfilment-option:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
}

[data-order-type="pickup"]:hover:not(:disabled) {
  box-shadow: 0 16px 32px rgba(181, 132, 33, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

[data-order-type="delivery"]:hover:not(:disabled) {
  background: linear-gradient(135deg, #0e7653 0%, #1ba76f 100%);
  box-shadow: 0 16px 32px rgba(15, 107, 77, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.fulfilment-option:active:not(:disabled) {
  transform: translateY(0);
}

.fulfilment-option:disabled {
  cursor: not-allowed;
  opacity: 0.68;
  pointer-events: none !important;
  transform: none;
}

.order-form-error {
  display: none;
  margin: 12px 0 0;
  padding: 11px 14px;
  border-radius: 14px;
  background: rgba(255, 235, 232, 0.92);
  border: 1px solid rgba(220, 80, 65, 0.28);
  color: #9b2c22;
  font-size: 0.88rem;
  font-weight: 700;
}

.order-form-error.is-visible {
  display: block;
}

.order-form input.is-invalid,
.order-form textarea.is-invalid,
.order-form .is-invalid {
  border-color: rgba(220, 80, 65, 0.70) !important;
  box-shadow: 0 0 0 3px rgba(220, 80, 65, 0.10) !important;
}

@media (max-width: 560px) {
  .delivery-note{
    border-radius:16px;
    font-size:.86rem;
    line-height:1.45;
  }

  .order-action-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .fulfilment-option {
    height: 54px;
  }
}

@media (max-width:767px){
  .order-form{
    grid-template-columns:1fr;
  }

  .order-form .span-2{
    grid-column:auto;
  }

}

@media (max-width:760px){
  .cart-layout{
    gap:20px;
  }

  .cart-layout .cart-more-actions{
    max-width:none;
  }
}

/* Final add-to-cart toast: small, non-blocking, no page overlay */
.cart-toast{
  position:fixed !important;
  top:auto !important;
  left:auto !important;
  right:20px !important;
  bottom:20px !important;
  z-index:2300 !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:calc(100vw - 32px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:13px 15px !important;
  border:1px solid rgba(190,139,45,.34) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(255,246,232,.96)) !important;
  color:var(--chocolate) !important;
  box-shadow:0 16px 36px rgba(43,22,15,.16) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(14px) !important;
  transition:opacity .24s ease,visibility .24s ease,transform .24s ease !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.cart-toast::before,
.cart-toast::after{
  content:none !important;
  display:none !important;
}

.cart-toast.show{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

.cart-toast strong{
  color:var(--chocolate) !important;
  font-size:14px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.cart-toast a{
  color:#8c6420 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

@media (max-width:640px){
  .cart-toast{
    right:16px !important;
    bottom:20px !important;
    left:auto !important;
    max-width:calc(100vw - 32px) !important;
  }
}

/* Shared cake size chooser for Home, Cakes, Gallery and Assistant */
.cake-size-modal{
  position:fixed;
  inset:0;
  z-index:2450;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}

.cake-size-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.cake-size-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(35,18,12,.46);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.cake-size-modal__panel{
  position:relative;
  z-index:1;
  width:min(460px,calc(100vw - 28px));
  max-height:calc(100dvh - 36px);
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  border:1px solid rgba(222,192,138,.55);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,252,246,.98) 0%,rgba(255,248,239,.98) 100%);
  color:var(--chocolate);
  box-shadow:
    0 28px 70px rgba(46,28,10,.18),
    0 8px 24px rgba(141,103,46,.08),
    inset 0 1px 0 rgba(255,255,255,.72);
  transform:translateY(12px) scale(.98);
  transition:transform .22s ease;
  overflow:hidden;
}

.cake-modal{
  width:min(460px,calc(100vw - 28px));
  max-height:calc(100vh - 44px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.cake-size-modal.is-open .cake-size-modal__panel{
  transform:translateY(0) scale(1);
}

.cake-size-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:42px;
  height:42px;
  border:1px solid rgba(220,191,138,.55);
  border-radius:999px;
  background:rgba(255,250,242,.95);
  color:#2b1d13;
  box-shadow:0 6px 16px rgba(80,48,18,.06);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  pointer-events:auto;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}

.cake-size-modal__close:hover{
  transform:rotate(90deg);
  border-color:rgba(190,136,50,.48);
  background:#fff7ea;
}

.cake-size-modal__panel .kicker,
.cake-size-modal__panel h2,
.cake-size-modal__panel h3{
  margin:0;
}

.cake-size-modal__body{
  min-height:0;
  display:grid;
  gap:0;
  overflow-y:auto;
  padding:22px 22px 18px;
  scrollbar-width:thin;
}

.cake-modal-body{
  overflow-y:auto;
  padding:22px 22px 18px;
  scrollbar-width:thin;
}

.cake-size-modal__panel .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#b88732;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}

.cake-size-modal__panel h2{
  margin-top:10px;
  color:#2a1b12;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.25;
}

.cake-size-preview{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  margin:16px 0 18px;
}

.cake-size-preview img{
  width:78px;
  height:78px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(220,191,138,.48);
  background:#fffaf2;
  box-shadow:0 8px 20px rgba(89,56,19,.08);
}

.cake-size-preview h3{
  color:#56351d;
  font-size:1.02rem;
  font-weight:600;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.cake-select-field{
  margin-top:14px;
}

.cake-select-field label,
.cake-flavour-field label,
.cake-weight-field label{
  display:block;
  margin-bottom:8px;
  color:#3b2617;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.01em;
}

.cake-weight-select,
.cake-flavour-select{
  width:100%;
  height:50px;
  border:1px solid rgba(214,173,110,.42);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,248,236,.96));
  padding:0 16px;
  color:#2c1d13;
  font-size:.96rem;
  font-weight:600;
  outline:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 8px 18px rgba(80,48,18,.045);
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.cake-weight-select:hover,
.cake-flavour-select:hover{
  border-color:rgba(190,136,50,.5);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 10px 20px rgba(80,48,18,.055);
}

.cake-weight-select:focus,
.cake-flavour-select:focus{
  border-color:rgba(184,125,28,.62);
  box-shadow:
    0 0 0 4px rgba(214,164,72,.14),
    0 12px 24px rgba(80,48,18,.06);
}

.cake-weight-select option,
.cake-weight-select optgroup,
.cake-flavour-select option,
.cake-flavour-select optgroup{
  color:#24170f;
  font-size:.95rem;
}

.cake-locked-weight,
.cake-fixed-flavour,
.cake-modal-price{
  margin-top:12px;
  padding:13px 15px;
  border-radius:14px;
  border:1px solid rgba(214,164,72,.28);
  background:rgba(255,252,246,.95);
  color:#3b2617;
  font-size:.92rem;
  font-weight:700;
}

.cake-flavour-select{
  width:100%;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(214,164,72,.34);
  background:linear-gradient(180deg,rgba(255,252,246,.98),rgba(255,248,237,.96));
  padding:0 14px;
  font-size:.94rem;
  font-weight:650;
  color:#24170f;
}

.cake-size-price{
  margin:14px 0 0;
  padding:13px 15px;
  border:1px solid rgba(222,196,147,.42);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,248,233,.92),rgba(251,239,214,.9));
  color:#7a5a2c;
  font-size:.9rem;
  font-weight:600;
}

.price-confirm-note{
  margin-top:14px;
  padding:13px 15px;
}

.cake-size-actions{
  flex-shrink:0;
  display:flex;
  gap:12px;
  margin-top:0;
  padding:0 22px 22px;
  border-top:0;
}

.cake-modal-actions{
  flex-shrink:0;
  padding-top:0;
}

.cake-size-actions .btn{
  flex:1;
  width:100%;
  min-height:50px;
  padding:12px 16px;
  border-radius:999px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.cake-modal-actions .btn.primary{
  border:0;
  background:linear-gradient(90deg,#d5a63d 0%,#e4bf61 100%);
  color:#23160f;
  font-size:.95rem;
  font-weight:800;
  box-shadow:
    0 12px 24px rgba(181,132,33,.2),
    inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.cake-modal-actions .btn.primary:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 28px rgba(181,132,33,.24),
    inset 0 1px 0 rgba(255,255,255,.38);
  filter:brightness(1.02);
}

.cake-modal-actions .btn.ghost{
  border:1px solid rgba(220,191,138,.55);
  background:rgba(255,252,247,.92);
  color:#4a311d;
  font-size:.94rem;
  font-weight:700;
  box-shadow:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.cake-modal-actions .btn.ghost:hover{
  transform:translateY(-1px);
  border-color:rgba(190,136,50,.48);
  background:rgba(255,249,240,.96);
}

@media (max-width:640px){
  .cake-size-modal{
    place-items:center;
    padding:12px;
  }

  .cake-size-modal__panel{
    width:calc(100vw - 18px);
    max-width:none;
    max-height:calc(100dvh - 24px);
    border-radius:24px;
  }

  .cake-size-modal__body,
  .cake-modal-body{
    padding:18px 16px 16px;
  }

  .cake-size-modal__panel h2{
    font-size:1rem;
  }

  .cake-size-preview img{
    width:68px;
    height:68px;
    border-radius:16px;
  }

  .cake-size-actions{
    gap:10px;
    padding:0 16px calc(16px + env(safe-area-inset-bottom));
  }

  .cake-size-actions .btn{
    min-height:48px;
    font-size:.9rem;
  }
}

/* Gallery Confirm Cake purchase actions */
.cake-size-actions.gallery-confirm-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
}

.cake-size-actions [data-gallery-buy-now][hidden],
.gallery-confirm-actions [hidden]{
  display:none!important;
}

.gallery-confirm-actions .gallery-buy-now-btn,
.gallery-confirm-actions .gallery-add-cart-btn{
  width:100%;
  min-width:0;
  min-height:52px;
  padding:12px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:13px;
  font-weight:750;
  letter-spacing:.8px;
  line-height:1.15;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease,filter .18s ease;
}

.gallery-confirm-actions .gallery-buy-now-btn{
  background:linear-gradient(135deg,#d9a333,#efc65b);
  color:#25170a;
  border:1px solid rgba(168,106,13,.28);
  box-shadow:0 8px 20px rgba(143,88,10,.16);
}

.gallery-confirm-actions .gallery-buy-now-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
}

.gallery-confirm-actions .gallery-add-cart-btn{
  background:#fffaf1;
  color:#4c3017;
  border:1px solid rgba(191,137,42,.5);
  box-shadow:0 5px 14px rgba(111,70,13,.07);
}

.gallery-confirm-actions .gallery-add-cart-btn:hover{
  transform:translateY(-1px);
  background:#fff4dc;
}

.gallery-confirm-actions .gallery-buy-now-btn:focus-visible,
.gallery-confirm-actions .gallery-add-cart-btn:focus-visible{
  outline:3px solid rgba(191,137,42,.3);
  outline-offset:3px;
}

@media (max-width:767px){
  .cake-size-actions.gallery-confirm-actions{
    gap:8px;
  }

  .gallery-confirm-actions .gallery-buy-now-btn,
  .gallery-confirm-actions .gallery-add-cart-btn{
    min-height:46px;
    padding:9px 7px;
    font-size:10px;
    letter-spacing:.5px;
  }
}

/* Latest printed shop menu */
.latest-menu-page{
  overflow:hidden;
}

.latest-menu-page .premium-menu-tools{
  grid-template-columns:1fr;
  align-items:stretch;
}

.latest-menu-page .premium-menu-tabs{
  justify-content:flex-start;
  gap:10px;
}

.latest-menu-page .premium-menu-tabs .filter-btn{
  min-width:max-content;
}

.latest-menu-page .premium-menu-grid{
  grid-template-columns:1fr;
}

.latest-menu-card{
  min-height:0;
}

.latest-menu-card .premium-menu-rows{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 28px;
}

.latest-menu-card .premium-menu-row{
  min-width:0;
}

.latest-menu-card .premium-menu-row span{
  padding-right:8px;
}

.latest-menu-card .premium-menu-action{
  min-width:104px;
}

.latest-menu-card .premium-menu-row small:empty{
  display:none;
}

.latest-menu-card .menu-plus-btn{
  width:40px;
  height:40px;
  flex:0 0 40px;
}

.cart-item-description{
  display:block;
  margin:3px 0 5px;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

@media (max-width:760px){
  .latest-menu-page .premium-menu-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    max-width:100%;
  }

  .latest-menu-page .premium-menu-tabs::-webkit-scrollbar{
    display:none;
  }

  .latest-menu-card{
    padding:20px;
  }

  .latest-menu-card .premium-menu-rows{
    grid-template-columns:1fr;
  }

  .latest-menu-card .premium-menu-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }

  .latest-menu-card .premium-menu-action{
    min-width:92px;
    gap:10px;
  }
}

@media (max-width:420px){
  .latest-menu-card{
    padding:16px;
  }

  .latest-menu-card .premium-menu-row{
    align-items:center;
  }

  .latest-menu-card .premium-menu-row strong{
    font-size:15px;
    line-height:1.25;
  }

  .latest-menu-card .premium-menu-row b{
    font-size:15px;
  }

  .latest-menu-card .premium-menu-action{
    min-width:84px;
    gap:8px;
  }
}

/* Final menu category tab polish */
.menu-hero + .section{
  padding-top:56px;
}

.gallery-hero + .section{
  padding-top:2rem;
}

.gallery-hero + .section .design-filters{
  max-width:100%;
  flex-wrap:wrap;
  justify-content:center;
}

.latest-menu-page{
  overflow:visible;
}

.latest-menu-page .premium-menu-tools{
  gap:14px;
  margin-bottom:16px;
}

.latest-menu-page .premium-menu-search{
  min-height:54px;
}

.latest-menu-page .premium-menu-tabs{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0;
}

.latest-menu-page .premium-menu-tabs .filter-btn{
  flex:0 1 auto;
  min-width:0;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:7px 15px 7px 8px;
  border:1px solid rgba(200,159,61,.22);
  border-radius:999px;
  background:rgba(255,253,248,.92);
  color:var(--cocoa);
  box-shadow:0 10px 24px rgba(43,22,15,.06);
  line-height:1;
  letter-spacing:.01em;
  text-align:center;
  white-space:nowrap;
}

.latest-menu-page .premium-menu-tabs .filter-btn.active,
.latest-menu-page .premium-menu-tabs .filter-btn:hover{
  border-color:rgba(190,139,45,.54);
  background:linear-gradient(135deg,var(--champagne),var(--gold-soft));
  color:var(--chocolate);
  box-shadow:0 14px 30px rgba(190,139,45,.18);
}

.latest-menu-page .premium-menu-tabs .filter-btn > span:not(.menu-tab-icon){
  display:inline-flex;
  align-items:center;
  min-height:42px;
}

.latest-menu-page .menu-tab-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:linear-gradient(145deg,#fffdf8,#fff3df);
  border:1px solid rgba(200,159,61,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 7px 16px rgba(43,22,15,.08);
}

.latest-menu-page .premium-menu-tabs .filter-btn.active .menu-tab-icon,
.latest-menu-page .premium-menu-tabs .filter-btn:hover .menu-tab-icon{
  border-color:rgba(255,253,248,.82);
  background:rgba(255,253,248,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 18px rgba(43,22,15,.12);
}

.latest-menu-page .premium-menu-tabs .filter-btn img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
}

.latest-menu-panels{
  margin-top:0;
}

.latest-menu-card{
  padding-top:24px;
}

@media (max-width:900px){
  .menu-hero + .section{
    padding-top:42px;
  }

  .latest-menu-page .premium-menu-tools{
    gap:12px;
  }
}

@media (max-width:760px){
  .menu-hero + .section{
    padding-top:30px;
  }

  .latest-menu-page .premium-menu-tools{
    position:relative;
    gap:11px;
    margin-bottom:12px;
  }

  .latest-menu-page .premium-menu-tools::after{
    top:auto;
    bottom:0;
    height:64px;
  }

  .latest-menu-page .premium-menu-tabs{
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:8px;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 1px 8px;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .latest-menu-page .premium-menu-tabs::-webkit-scrollbar{
    display:none;
  }

  .latest-menu-page .premium-menu-tabs .filter-btn{
    flex:0 0 auto;
    min-height:56px;
    padding:7px 13px 7px 7px;
    scroll-snap-align:start;
  }

  .latest-menu-page .menu-tab-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .latest-menu-page .premium-menu-tabs .filter-btn > span:not(.menu-tab-icon){
    min-height:40px;
  }
}

@media (max-width:420px){
  .latest-menu-page .premium-menu-search{
    min-height:50px;
  }

  .latest-menu-page .premium-menu-tabs .filter-btn{
    font-size:12px;
    gap:8px;
  }
}

.cake-filter-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin:0 auto 32px;
}

.cake-filter-row{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.cake-filter-label{
  color:var(--cocoa);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.cake-filter-row .filters,
.cake-filter-row .cake-filters{
  max-width:1040px;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

.cake-filter-row .filter-btn{
  flex:0 1 auto;
  white-space:normal;
}

.cake-gallery[data-gallery-dynamic] .gallery-card span,
.cake-gallery[data-gallery-dynamic] .gallery-card::before,
.cake-gallery[data-gallery-dynamic] .gallery-card::after{
  display:none;
  content:none;
}

.catalog-empty-state{
  grid-column:1/-1;
  width:min(560px,100%);
  margin:0 auto;
  padding:24px;
  border:1px solid rgba(200,159,61,.28);
  border-radius:8px;
  background:rgba(255,248,239,.76);
  text-align:center;
}

.catalog-empty-state p{
  margin:0;
  color:var(--cocoa);
  font-weight:800;
  line-height:1.5;
}

@media (max-width:640px){
  .cake-filter-stack{
    gap:14px;
    margin-bottom:26px;
  }

  .cake-filter-row .filters,
  .cake-filter-row .cake-filters{
    justify-content:center;
    gap:8px;
  }

  .cake-filter-row .filter-btn{
    flex:0 1 auto;
    width:auto;
    min-width:0;
    max-width:100%;
  }
}

/* Final menu typography polish */
.latest-menu-page .latest-menu-card{
  padding:26px 26px 24px;
  border-color:rgba(190,139,45,.18);
  background:linear-gradient(145deg,rgba(255,253,248,.96),rgba(255,248,239,.78));
}

.latest-menu-page .latest-menu-card h3{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding-bottom:11px;
  color:#1A1208;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-size:clamp(34px,3.5vw,42px);
  font-style:italic;
  font-weight:500;
  line-height:1;
  letter-spacing:0;
}

.latest-menu-page .latest-menu-card h3::after{
  content:"";
  position:absolute;
  left:2px;
  bottom:0;
  width:min(74px,70%);
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#C9963F,rgba(201,150,63,.12));
}

.latest-menu-page .latest-menu-card .premium-menu-rows{
  gap:0 24px;
}

.latest-menu-page .latest-menu-card .premium-menu-row{
  align-items:center;
  gap:16px;
  padding:14px 10px;
  border-top-color:rgba(190,139,45,.14);
  border-radius:14px;
  transition:background .22s ease,box-shadow .22s ease,transform .22s ease,border-color .22s ease;
}

.latest-menu-page .latest-menu-card .premium-menu-row:last-child{
  border-bottom-color:rgba(190,139,45,.14);
}

.latest-menu-page .latest-menu-card .premium-menu-row span{
  min-width:0;
  padding-right:10px;
}

.latest-menu-page .latest-menu-card .premium-menu-row strong{
  color:#2C241A;
  font-family:"Playfair Display","Cormorant Garamond","Lora",Georgia,serif;
  font-size:21px;
  font-weight:600;
  line-height:1.15;
  letter-spacing:.1px;
  text-transform:none;
  overflow-wrap:anywhere;
}

.latest-menu-page .latest-menu-card .premium-menu-row small{
  max-width:54ch;
  margin-top:5px;
  color:#8B6F55;
  font-family:"DM Sans",Inter,Arial,sans-serif;
  font-size:14.5px;
  font-weight:400;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.latest-menu-page .latest-menu-card .premium-menu-row b{
  color:#B98224;
  font-family:"DM Sans",Inter,Arial,sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1px;
}

.latest-menu-page .latest-menu-card .premium-menu-action{
  min-width:102px;
  align-items:center;
  justify-content:flex-end;
  gap:11px;
}

@media (hover:hover) and (pointer:fine){
  .latest-menu-page .latest-menu-card .premium-menu-row:hover{
    background:rgba(255,248,239,.72);
    box-shadow:0 8px 20px rgba(43,22,15,.05);
    transform:translateY(-1px);
  }
}

@media (max-width:760px){
  .latest-menu-page .latest-menu-card{
    padding:22px 18px;
  }

  .latest-menu-page .latest-menu-card h3{
    margin-bottom:14px;
    font-size:clamp(28px,8vw,32px);
  }

  .latest-menu-page .latest-menu-card .premium-menu-rows{
    gap:0;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row{
    gap:12px;
    padding:13px 0;
    border-radius:0;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row span{
    padding-right:6px;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row strong{
    font-size:18px;
    line-height:1.16;
    letter-spacing:.1px;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row small{
    font-size:13.5px;
    line-height:1.45;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row b{
    font-size:17px;
  }

  .latest-menu-page .latest-menu-card .premium-menu-action{
    min-width:86px;
    gap:9px;
  }
}

@media (max-width:420px){
  .latest-menu-page .latest-menu-card{
    padding:20px 16px;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row strong{
    font-size:17px;
  }

  .latest-menu-page .latest-menu-card .premium-menu-row small{
    font-size:13px;
  }

  .latest-menu-page .latest-menu-card .premium-menu-action{
    min-width:82px;
    gap:8px;
  }
}

/* Cake catalog filter polish */
.cake-filter-stack{
  padding-top:0;
  padding-bottom:0;
  gap:14px;
  margin:0 auto 28px;
}

.cake-filter-label{
  display:none;
}

.cake-filter-row{
  width:100%;
  margin:0;
  text-align:center;
}

.cake-filter-row + .cake-filter-row{
  margin-top:0;
}

.cake-filter-row .filter-buttons{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
  max-width:1120px;
  margin:0 auto;
}

.design-filters .filter-btn{
  padding:13px 22px;
  font-size:13px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.07em;
}

.cake-filter-row .weight-filters{
  gap:9px;
}

.weight-filters .filter-btn{
  padding:8px 15px;
  font-size:12px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.05em;
  opacity:.92;
}

.cake-filter-row .filter-btn{
  border:1px solid rgba(214,164,74,.45);
  background:#fffaf2;
  color:#5d4225;
  transition:all .2s ease;
}

.cake-filter-row .filter-btn:hover{
  transform:translateY(-2px);
  background:#fff4df;
  box-shadow:0 10px 22px rgba(133,88,24,.12);
}

.cake-filter-row .filter-btn.active{
  border-color:transparent;
  background:linear-gradient(135deg,#f6d87c,#d39a34);
  color:#241609;
  box-shadow:0 12px 26px rgba(196,139,42,.22);
}

.weight-filters .filter-btn.active{
  box-shadow:0 8px 18px rgba(196,139,42,.18);
}

.gallery-hero + .section .weight-filters .filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(200,159,61,0.3);
  border-bottom:2px solid var(--gold-soft);
}

.gallery-hero + .section .weight-filters .filter-btn::before{
  content:"\2726";
  color:var(--gold-soft);
  font-size:8px;
  line-height:1;
}

.gallery-hero + .section .weight-filters .filter-btn:hover{
  background:linear-gradient(135deg,#fdf6e3,#f5e6c8);
}

.gallery-hero + .section .weight-filters .filter-btn.active{
  border:none;
  background:linear-gradient(135deg,var(--gold-soft),#c8962a);
  color:white;
  box-shadow:0 4px 12px rgba(200,159,61,0.35);
  font-weight:600;
}

.gallery-hero + .section .cake-filter-row + .cake-filter-row{
  margin-top:1rem;
}

.gallery-hero + .section .cake-filter-row + .cake-filter-row::before{
  content:"Filter by Weight";
  width:min(320px,100%);
  padding-top:12px;
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
}

.gallery-hero + .section .cake-filter-stack{
  gap:12px;
  margin-bottom:28px;
  padding-top:2px;
  padding-bottom:0;
}

.gallery-hero + .section .cake-filter-row{
  gap:7px;
}

.gallery-hero + .section .cake-filter-row .filter-buttons{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  margin:0;
}

.gallery-hero + .section .design-filters .filter-btn{
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(210,157,65,.38);
  border-radius:999px;
  background:rgba(255,251,244,.9);
  color:#5d4225;
  box-shadow:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1;
}

.gallery-hero + .section .weight-filters{
  gap:8px;
  margin-top:2px;
}

.gallery-hero + .section .weight-filters .filter-btn{
  min-height:34px;
  padding:7px 13px;
  border:1px solid rgba(210,157,65,.34);
  border-radius:999px;
  background:rgba(255,251,244,.88);
  color:#6a4a28;
  box-shadow:none;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1;
}

.gallery-hero + .section .weight-filters .filter-btn::before{
  display:none;
  content:none;
}

.gallery-hero + .section .cake-filter-row .filter-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(210,157,65,.55);
  background:#fff6e6;
  box-shadow:0 8px 18px rgba(120,78,24,.08);
}

.gallery-hero + .section .cake-filter-row .filter-btn.active,
.gallery-hero + .section .weight-filters .filter-btn.active{
  border-color:transparent;
  background:linear-gradient(135deg,#efc45d,#d69a35);
  color:#241609;
  box-shadow:0 8px 20px rgba(196,139,42,.18);
}

.gallery-hero + .section .weight-filters .filter-btn.active{
  box-shadow:0 6px 14px rgba(196,139,42,.14);
}

.gallery-hero + .section .cake-filter-row + .cake-filter-row{
  margin-top:6px;
}

.gallery-hero + .section .cake-filter-row + .cake-filter-row::before{
  width:min(320px,100%);
  padding-top:10px;
  color:#c08a34;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  opacity:.86;
}

.cake-ordering-section .cake-collection-filter-stack{
  margin-top:24px;
  margin-bottom:28px;
}

.cake-ordering-section .collection-filters{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  margin:0 auto;
}

.cake-ordering-section .collection-filters .filter-btn{
  min-height:38px;
  padding:8px 15px;
  border:1px solid rgba(210,157,65,.38);
  border-radius:999px;
  background:rgba(255,251,244,.92);
  color:#5d4225;
  box-shadow:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1;
  transition:all .2s ease;
}

.cake-ordering-section .collection-filters .filter-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(210,157,65,.55);
  background:#fff6e6;
  box-shadow:0 8px 18px rgba(120,78,24,.08);
}

.cake-ordering-section .collection-filters .filter-btn.active{
  border-color:transparent;
  background:linear-gradient(135deg,#efc45d,#d69a35);
  color:#241609;
  box-shadow:0 8px 20px rgba(196,139,42,.18);
}

@media (max-width:768px){
  .cake-filter-row .filter-buttons{
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    padding:0 10px 8px;
    scrollbar-width:none;
  }

  .cake-filter-row .filter-buttons::-webkit-scrollbar{
    display:none;
  }

  .design-filters .filter-btn,
  .weight-filters .filter-btn{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .gallery-hero + .section .cake-filter-row .filter-buttons{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    padding:0 12px 8px;
    scrollbar-width:none;
  }

  .gallery-hero + .section .cake-filter-row .filter-buttons::-webkit-scrollbar{
    display:none;
  }

  .gallery-hero + .section .design-filters .filter-btn{
    min-height:36px;
    padding:8px 13px;
    font-size:11px;
    white-space:nowrap;
  }

  .gallery-hero + .section .weight-filters .filter-btn{
    min-height:32px;
    padding:7px 11px;
    font-size:10px;
    white-space:nowrap;
  }

  .cake-ordering-section .collection-filters{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    padding:0 12px 8px;
    scrollbar-width:none;
  }

  .cake-ordering-section .collection-filters::-webkit-scrollbar{
    display:none;
  }

  .cake-ordering-section .collection-filters .filter-btn{
    min-height:36px;
    padding:8px 13px;
    font-size:11px;
    white-space:nowrap;
  }
}

/* Final Cakes page product card content */
.cake-ordering-section#cake-collection{
  scroll-margin-top:112px;
}

.cake-product-grid[data-cakes-dynamic] .cake-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  padding:0;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,253,248,.96),rgba(255,248,239,.82));
  border:1px solid rgba(200,159,61,.18);
}

.cake-product-grid[data-cakes-dynamic] .cake-card:before,
.cake-product-grid[data-cakes-dynamic] .cake-card:after,
.cake-product-grid[data-cakes-dynamic] .cake-card .cake-card-body:before,
.cake-product-grid[data-cakes-dynamic] .cake-card .cake-card-body:after{
  content:none!important;
  display:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-media{
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  padding:0;
  overflow:hidden;
  border-radius:22px 22px 0 0;
  background:linear-gradient(135deg,#fffaf1,#ffece8);
}

.cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  border-radius:0;
  margin:0;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  padding:18px 20px 20px;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-title{
  min-height:0;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#24170d;
  font-size:19px;
  font-weight:600;
  line-height:1.3;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-weight{
  width:fit-content;
  min-height:0;
  margin:0;
  padding:6px 11px;
  border:1px solid rgba(200,159,61,.18);
  border-radius:999px;
  background:#fff4dc;
  color:#8a6029;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.2;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-description{
  min-height:0;
  margin:0 0 16px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#786858;
  font-size:14px;
  line-height:1.55;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-flavour{
  min-height:0;
  margin:14px 0 0;
  color:#7a5632;
  font-size:.92rem;
  font-weight:700;
  line-height:1.35;
}

.cake-card-price,
.product-card-price{
  margin-top:auto;
  margin-bottom:22px;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-size:2rem;
  line-height:1;
  font-weight:500;
  color:#c68a22;
  letter-spacing:0;
  white-space:nowrap;
}

.cake-card-price .currency,
.product-card-price .currency{
  font-size:1.35rem;
  vertical-align:.18em;
}

.cake-card-price .unit,
.product-card-price .unit{
  font-size:1.45rem;
  font-weight:500;
}

.cake-product-grid[data-cakes-dynamic] .cake-card .btn{
  width:100%;
  margin-top:18px;
}

.cake-card .add-to-cart-btn,
.product-card .add-to-cart-btn{
  margin-top:18px;
}

@media (min-width:1024px){
  .cake-product-grid[data-cakes-dynamic]{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card{
    border-radius:22px;
    overflow:hidden;
    background:#fffaf4;
    border:1px solid rgba(223,188,125,.18);
    box-shadow:0 8px 20px rgba(90,59,20,.05);
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-media{
    height:235px;
    aspect-ratio:auto;
    padding:10px;
    border-radius:20px 20px 0 0;
    background:#fff8ee;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img{
    width:100%;
    height:100%;
    display:block;
    margin:0 auto;
    border-radius:16px;
    background:#fff8ee;
    object-fit:contain;
    object-position:center center;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-body{
    padding:14px 16px 16px;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-title{
    margin-bottom:8px;
    font-size:17px;
    line-height:1.3;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-weight{
    margin-bottom:10px;
    padding:6px 10px;
    font-size:11px;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-description{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    color:#766554;
    font-size:13px;
    line-height:1.45;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card .btn{
    min-height:40px;
    border-radius:999px;
    font-size:11px;
    letter-spacing:.07em;
  }
}

@media (min-width:768px) and (max-width:1023px){
  .cake-product-grid[data-cakes-dynamic]{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-media{
    height:200px;
    aspect-ratio:auto;
    padding:14px;
    background:#fff8ee;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img{
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
}

@media (max-width:640px){
  .cake-product-grid[data-cakes-dynamic] .cake-card{
    width:100%;
    max-width:calc(100vw - 32px);
    padding:0;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-body{
    padding:17px 18px 18px;
  }
}

/* Homepage hero trust badges */
.hero-trust-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.hero-trust-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  border:1px solid rgba(210,157,65,.32);
  border-radius:999px;
  background:rgba(255,248,232,.88);
  color:#7a5424;
  box-shadow:0 8px 22px rgba(116,73,18,.08);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1;
  white-space:nowrap;
}

.hero-trust-chip::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:999px;
  background:linear-gradient(135deg,#e7bf5b,#c98a25);
  box-shadow:0 0 0 4px rgba(214,164,74,.12);
}

.hero-veg-badge{
  color:#157a39;
  border-color:rgba(21,122,57,.28);
}

.hero-veg-badge::before{
  display:none;
}

.hero-veg-badge .veg-symbol{
  width:15px;
  height:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 15px;
  border:1.6px solid #16883d;
  border-radius:2px;
}

.hero-veg-badge .veg-symbol span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#16883d;
}

@media (max-width:768px){
  .hero-trust-row{
    gap:8px;
    margin-bottom:14px;
  }

  .hero-trust-chip{
    padding:7px 11px;
    font-size:11px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic],
  .gallery-hero + .section .card-grid.gallery-grid {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    columns: auto;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card img,
  .gallery-hero + .section .gallery-grid.cake-gallery img,
  .gallery-hero + .section .gallery-item img {
    height: 245px;
    object-fit: cover;
    object-position: center center;
  }
}

@media (min-width: 1024px) {
  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic],
  .gallery-hero + .section .card-grid.gallery-grid {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    columns: auto;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card,
  .gallery-hero + .section .gallery-grid .gallery-card,
  .gallery-hero + .section .gallery-item {
    position: relative;
    min-height: 0;
    height: auto;
    border-radius: 24px;
    overflow: visible;
    background: #fffaf4;
    border: 1px solid rgba(223, 188, 125, 0.18);
    box-shadow: 0 10px 24px rgba(90, 59, 20, 0.05);
    padding: 18px;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card img,
  .gallery-hero + .section .gallery-grid.cake-gallery img,
  .gallery-hero + .section .gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: contain;
    object-position: center center;
    background: #fff8ee;
    padding: 8px;
    margin: 0 auto;
    border-radius: 18px;
    display: block;
  }

  .gallery-hero + .section .gallery-card .add-btn,
  .gallery-hero + .section .cake-order-card .add-btn,
  .gallery-hero + .section .gallery-add-btn,
  .gallery-hero + .section .card-add-btn {
    position: absolute;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    font-size: 20px;
    top: 14px;
    right: 14px;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(90, 59, 20, 0.10);
  }
}

/* Mobile homepage and footer polish */
@media (max-width:768px){
  body:has(.hero-slideshow) .hero{
    min-height:auto;
    padding-top:0;
    padding-bottom:0;
  }

  body:has(.hero-slideshow) .hero-copy{
    padding:72px 6% 34px;
    text-align:center;
  }

  body:has(.hero-slideshow) .hero-content,
  body:has(.hero-slideshow) .hero-copy{
    text-align:center;
  }

  body:has(.hero-slideshow) .hero-trust-row{
    justify-content:center;
    gap:8px;
    margin-bottom:14px;
  }

  body:has(.hero-slideshow) .hero-trust-chip{
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,248,232,.94);
    border-color:rgba(210,157,65,.34);
    box-shadow:0 8px 18px rgba(116,73,18,.07);
    font-size:10.5px;
  }

  body:has(.hero-slideshow) .hero-copy .kicker,
  body:has(.hero-slideshow) .hero-eyebrow,
  body:has(.hero-slideshow) .eyebrow{
    margin-bottom:14px;
    font-size:10px;
    letter-spacing:.18em;
  }

  body:has(.hero-slideshow) .hero h1{
    margin-bottom:20px;
    font-size:clamp(42px,12vw,58px);
    line-height:1.05;
    text-align:center;
  }

  body:has(.hero-slideshow) .hero p,
  body:has(.hero-slideshow) .hero-copy .lead{
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
    font-size:15px;
    line-height:1.7;
  }

  body:has(.hero-slideshow) .hero-copy .lead{
    margin-top:0;
    margin-bottom:24px;
  }

  body:has(.hero-slideshow) .hero-actions{
    display:grid;
    width:100%;
    max-width:320px;
    gap:12px;
    margin:24px auto 0;
  }

  body:has(.hero-slideshow) .hero-actions .btn{
    width:100%;
    min-height:48px;
  }

  body:has(.hero-slideshow) .trust-row.slim,
  body:has(.hero-slideshow) .hero-features,
  body:has(.hero-slideshow) .hero-feature-strip{
    margin-top:18px;
    padding:10px;
    gap:8px;
  }

  body:has(.hero-slideshow) .trust-row.slim span,
  body:has(.hero-slideshow) .hero-features span,
  body:has(.hero-slideshow) .hero-feature-strip span{
    min-height:38px;
    padding:9px 12px;
    border-radius:999px;
    font-size:12px;
    line-height:1.25;
  }

  .site-footer{
    padding:34px 28px 28px;
  }

  .footer-grid{
    gap:26px;
  }

  .footer-grid > div:first-child{
    grid-column:1 / -1;
  }

  .site-footer .brand-name,
  .footer-brand h2,
  .footer-logo-text{
    margin-bottom:10px;
    font-size:22px;
  }

  .site-footer p,
  .footer-brand p{
    max-width:280px;
    font-size:13px;
    line-height:1.7;
  }

  .site-footer h3,
  .footer-col h4{
    margin-bottom:14px;
    font-size:10px;
    letter-spacing:.16em;
  }

  .site-footer a,
  .footer-col a,
  .footer-col p{
    font-size:13px;
    line-height:1.8;
  }

  .social-row,
  .footer-socials{
    gap:10px;
    margin-top:14px;
  }

  .site-footer .btn.whatsapp{
    min-height:36px;
    height:auto;
    padding:9px 14px;
    border-radius:999px;
    font-size:11px;
  }

  .copyright,
  .footer-bottom{
    margin-top:28px;
    padding-top:20px;
    font-size:11px;
    text-align:center;
  }
}

/* Remove mobile blank space after footer */
@media (max-width:768px){
  html,
  body{
    margin-bottom:0;
    padding-bottom:0!important;
  }

  main{
    margin-bottom:0;
    padding-bottom:0;
  }

  .page-wrapper,
  .site-wrapper,
  .app,
  .content{
    margin-bottom:0;
    padding-bottom:0;
  }

  .site-footer,
  footer{
    margin-bottom:0;
  }
}

/* Mobile Cakes page compact polish */
@media (max-width:768px){
  body:has(.cake-ordering-section) .page-hero.cakes-hero{
    padding-bottom:26px;
  }

  body:has(.cake-ordering-section) .cake-hero-actions{
    gap:9px;
    margin-top:18px;
  }

  body:has(.cake-ordering-section) .cake-hero-actions .btn,
  body:has(.cake-ordering-section) .cakes-hero .btn{
    min-height:44px;
    padding:12px 18px;
  }

  body:has(.cake-ordering-section) .cake-trust-strip{
    margin-top:0;
  }

  body:has(.cake-ordering-section) .trust-strip-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    width:calc(100% - 28px);
    max-width:360px;
    gap:10px;
    margin:16px auto 0;
    padding:14px;
    border-radius:22px;
    box-sizing:border-box;
  }

  body:has(.cake-ordering-section) .trust-strip-grid div{
    width:100%;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    gap:7px;
    padding:9px 8px;
    border-radius:16px;
    box-sizing:border-box;
    text-align:left;
  }

  body:has(.cake-ordering-section) .trust-strip-grid strong{
    min-width:0;
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    font-size:11.5px;
    font-weight:700;
    line-height:1.2;
    white-space:normal;
  }

  body:has(.cake-ordering-section) .trust-icon{
    width:22px;
    height:22px;
    min-width:22px;
    flex:0 0 22px;
  }

  body:has(.cake-ordering-section) .cake-ordering-section{
    padding-top:34px;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .section-head{
    margin-bottom:20px;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .kicker{
    margin-bottom:10px;
  }

  body:has(.cake-ordering-section) .cake-ordering-section h2{
    font-size:28px;
    line-height:1.2;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .lead{
    max-width:310px;
    margin-left:auto;
    margin-right:auto;
    font-size:14px;
    line-height:1.6;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic]{
    gap:18px;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .product-card{
    width:100%;
    max-width:calc(100vw - 24px);
    padding:0;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
    width:100%;
    height:285px;
    aspect-ratio:auto;
    padding:6px;
    border-radius:22px 22px 0 0;
    background:#fff8ee;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    width:100%;
    height:100%;
    display:block;
    margin:0 auto;
    border-radius:18px;
    object-fit:contain!important;
    object-position:center center;
    background:#fff8ee;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-body,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .card-body{
    padding:14px 16px 16px;
  }
}

/* Desktop Cakes page feature strip restore */
@media (min-width:769px){
  body:has(.cake-ordering-section) .cake-trust-strip{
    margin-top:-34px;
    margin-bottom:70px;
  }

  body:has(.cake-ordering-section) .trust-strip-grid{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:calc(100% - 120px);
    max-width:1180px;
    gap:22px;
    margin:0 auto;
    padding:18px 34px;
    border:1px solid rgba(221,177,96,.28);
    border-radius:999px;
    background:rgba(255,252,246,.94);
    box-shadow:0 18px 44px rgba(72,47,14,.10);
    box-sizing:border-box;
  }

  body:has(.cake-ordering-section) .trust-strip-grid div{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:auto;
    gap:10px;
    padding:0;
    border-radius:0;
    background:transparent;
    color:#2f2418;
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
  }

  body:has(.cake-ordering-section) .trust-strip-grid strong{
    min-width:0;
    color:#2f2418;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
  }

  body:has(.cake-ordering-section) .trust-icon{
    width:26px;
    height:26px;
    min-width:26px;
    flex:0 0 26px;
    border-radius:999px;
  }
}

/* Cakes collection product image fitting */
.cake-product-grid[data-cakes-dynamic] .cake-card-media,
.cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff8ee;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img,
.cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
  width:100%;
  height:100%;
  display:block;
  margin:0;
  border-radius:18px;
  object-fit:contain!important;
  object-position:center center;
  background:#fff8ee;
}

@media (min-width:1024px){
  .cake-product-grid[data-cakes-dynamic] .cake-card-media,
  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
    aspect-ratio:1 / 1;
    height:auto;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img,
  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    object-fit:contain!important;
    object-position:center center;
  }
}

@media (max-width:768px){
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
    aspect-ratio:1 / 1;
    height:auto;
    padding:0;
    border-radius:16px;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    border-radius:16px;
    object-fit:contain!important;
    object-position:center center;
  }
}

/* Pastries page */
.pastry-hero{
  padding:112px 0 76px;
  background:
    radial-gradient(circle at 12% 18%,rgba(238,199,122,.26),transparent 28%),
    linear-gradient(135deg,#fffdf8 0%,#fff6e8 52%,#f7ead4 100%);
  overflow:hidden;
}

.pastry-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  align-items:center;
  gap:54px;
}

.pastry-hero-copy h1{
  margin:0 0 16px;
  color:#1A1208;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-size:clamp(58px,8vw,106px);
  font-weight:600;
  line-height:.92;
}

.pastry-hero-copy .lead{
  max-width:620px;
}

.pastry-hero-visual{
  position:relative;
  min-height:430px;
  display:grid;
  place-items:center;
}

.pastry-hero-visual:before{
  content:"";
  position:absolute;
  inset:42px 0 0 36px;
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(238,199,122,.2));
  box-shadow:0 26px 80px rgba(72,47,14,.14);
  transform:rotate(-3deg);
}

.pastry-hero-visual img{
  position:relative;
  z-index:1;
  width:min(100%,460px);
  max-height:430px;
  object-fit:contain;
  filter:drop-shadow(0 30px 48px rgba(72,47,14,.18));
}

.pastry-menu-section{
  background:#fffdf8;
  padding-top:64px;
}

.pastry-filter-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.pastry-grid{
  display:grid;
  grid-template-columns:repeat(3,280px);
  justify-content:center;
  column-gap:84px;
  row-gap:88px;
  max-width:1240px;
  margin:0 auto;
  padding:0 40px 40px;
  box-sizing:border-box;
}

.pastry-card{
  width:280px;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:18px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0;
}

.pastry-card-media{
  width:280px;
  aspect-ratio:1 / 1;
  height:auto;
  min-height:0;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(212,163,74,.25);
  border-radius:18px;
  margin-bottom:4px;
  box-sizing:border-box;
  background:linear-gradient(135deg,#fff8e8,#f4d27a);
  display:flex;
  align-items:center;
  justify-content:center;
}

.pastry-card-image,
.pastry-placeholder{
  width:280px;
  height:100%;
  min-height:0;
  aspect-ratio:1 / 1;
  border-radius:18px;
}

.pastry-card-image{
  display:block;
  object-fit:cover;
  object-position:center;
}

.pastry-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.12)),
    linear-gradient(135deg,#fff8e8 0%,#f4d27a 100%);
  color:#7b5520;
  text-align:center;
}

.pastry-placeholder span{
  display:none;
}

.pastry-placeholder small{
  color:rgba(86,58,24,.7);
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:none;
}

.pastry-card-body{
  display:block;
  padding:0 2px;
}

.pastry-chip{
  display:none!important;
}

.pastry-card h3{
  margin:0 0 8px;
  color:#2a1c13;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-size:1.05rem;
  line-height:1.35;
}

.pastry-card p{
  display:none!important;
}

.pastry-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
}

.pastry-card .pastry-price{
  display:block!important;
  margin:0;
  color:#b77a13;
  font-size:.98rem;
  font-weight:800;
}

.pastry-description,
.pastry-badge,
.pastry-card .badge,
.pastry-card .btn,
.pastry-card button:not(.pastry-add-btn){
  display:none!important;
}

.pastry-card .pastry-add-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  padding:9px 15px;
  background:linear-gradient(135deg,#d7a33a,#f0c85f);
  color:#1f140b;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(190,137,34,.2);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  white-space:nowrap;
}

.pastry-add-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(190,137,34,.26);filter:brightness(1.03)}
.pastry-add-btn:active{transform:translateY(0);box-shadow:0 6px 14px rgba(190,137,34,.18)}
.pastry-add-btn:focus-visible{outline:2px solid #7b5520;outline-offset:3px}

@media (max-width:1100px){
  .pastry-grid{
    grid-template-columns:repeat(2,280px);
    column-gap:52px;
    row-gap:64px;
    max-width:1240px;
  }
}

@media (max-width:900px){
  .pastry-hero-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .pastry-hero-visual{
    min-height:300px;
  }

  .pastry-hero-visual img{
    max-height:300px;
  }

  .pastry-filter-row{
    justify-content:flex-start;
  }
}

@media (max-width:700px){
  .pastry-hero{
    padding:86px 0 54px;
  }

  .pastry-hero-visual{
    min-height:230px;
  }

  .pastry-hero-visual:before{
    inset:28px 10px 0;
  }

  .pastry-hero-visual img{
    max-height:235px;
  }

  .pastry-grid{
    grid-template-columns:1fr;
    justify-items:center;
    column-gap:0;
    row-gap:42px;
    max-width:none;
    padding:0 20px 30px;
  }

  .pastry-card{
    width:min(100%,320px);
  }

  .pastry-card-media,
  .pastry-placeholder{
    width:100%;
  }

  .pastry-card-body{
    padding:0 2px;
  }

  .pastry-card h3{
    font-size:.9rem;
  }

  .pastry-card .pastry-price{
    font-size:.88rem;
  }
}

@media (max-width:560px){
  .pastry-meta-row{align-items:flex-start;flex-direction:column;gap:10px}
  .pastry-card .pastry-add-btn{padding:9px 18px}
}

/* Expandable cake flavour rate menu */
.cake-rate-menu .cake-rate-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:start;
}

.cake-rate-menu .cake-rate-card,
.cake-rate-menu .cake-rate-card.featured{
  position:relative;
  min-height:0;
  height:auto;
  padding:0;
  border:1px solid rgba(214,164,72,.3);
  border-radius:24px;
  background:
    radial-gradient(circle at top right,rgba(226,183,87,.24),transparent 38%),
    linear-gradient(145deg,#fffaf1 0%,#fff7e8 48%,#fffdf8 100%);
  box-shadow:0 18px 42px rgba(76,45,18,.08);
  outline:0;
  overflow:hidden;
  transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease;
}

.cake-rate-menu .cake-rate-card::after,
.cake-rate-menu .cake-rate-card-head::after{
  display:none;
}

.cake-rate-menu .cake-rate-card::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.75);
  border-radius:inherit;
  pointer-events:none;
}

.cake-rate-menu .cake-rate-card-head,
.cake-rate-menu .cake-rate-toggle{
  display:flex;
  position:relative;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  margin:0;
  padding:18px 16px;
  border:0;
  background:transparent;
  box-shadow:none;
  outline:0;
  cursor:pointer;
  text-align:left;
}

.cake-rate-menu .cake-rate-card-head:focus,
.cake-rate-menu .cake-rate-card-head:focus-visible{
  outline:0;
  box-shadow:none;
}

.cake-rate-menu .cake-rate-tier{
  display:inline-flex;
  width:fit-content;
  color:#b47a1a;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}

.cake-rate-menu .cake-rate-title{
  display:block;
  color:#24170f;
  font-size:1.16rem;
  line-height:1.18;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

.cake-rate-menu .cake-rate-subtitle{
  display:block;
  min-height:0;
  color:#7d6252;
  font-size:.78rem;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
}

.cake-rate-menu .cake-rate-footer{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  margin-top:4px;
}

.cake-rate-menu .cake-rate-price-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(168,111,22,.24);
  border-radius:999px;
  background:linear-gradient(135deg,#d7a43d,#f1d373);
  box-shadow:0 8px 18px rgba(177,123,25,.18);
  color:#1f160e;
  white-space:nowrap;
  font-size:.84rem;
  line-height:1;
  font-weight:800;
}

.cake-rate-menu .cake-rate-view{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9a6819;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}

.cake-rate-menu .cake-rate-arrow,
.cake-rate-menu .rate-arrow{
  display:inline-grid;
  place-items:center;
  flex-shrink:0;
  width:16px;
  height:16px;
  border-radius:999px;
  transition:transform .22s ease;
}

.cake-rate-menu .cake-rate-arrow::before,
.cake-rate-menu .rate-arrow::before{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid #8b6420;
  border-bottom:2px solid #8b6420;
  transform:rotate(45deg) translate(-1px,-1px);
}

.cake-rate-menu .cake-rate-card.is-open .cake-rate-arrow,
.cake-rate-menu .cake-rate-card.is-open .rate-arrow{
  transform:rotate(180deg);
}

.cake-rate-menu .rate-accordion-content,
.cake-rate-menu .cake-rate-flavours{
  display:none;
  max-height:none;
  overflow:visible;
  padding:10px 18px 18px;
  transition:none;
}

.cake-rate-menu .rate-accordion.is-open .rate-accordion-content,
.cake-rate-menu .cake-rate-card.is-open .cake-rate-flavours{
  display:flex;
  flex-wrap:wrap;
}

.cake-rate-menu .cake-rate-card.is-open{
  box-shadow:0 14px 32px rgba(99,70,33,.06);
}

.cake-rate-menu .cake-rate-card.is-open .cake-rate-toggle{
  margin-bottom:6px;
}

.cake-rate-menu .cake-rate-card ul,
.cake-rate-menu .special-rate-card ul{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.cake-rate-menu .cake-rate-flavour{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:30px;
  width:auto;
  padding:7px 13px;
  border:1px solid rgba(214,170,87,.22);
  border-radius:999px;
  background:rgba(255,251,244,.96);
  box-shadow:0 4px 10px rgba(88,57,24,.04);
  color:#4a2e1c;
  font-family:"Montserrat","Poppins",Arial,sans-serif;
  font-size:.76rem;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.01em;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  transform:none;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.cake-rate-menu .cake-rate-flavour::before{
  display:none!important;
  content:none!important;
}

.cake-rate-menu .flavour-option-dot{
  all:unset;
  display:inline-block;
  box-sizing:border-box;
  width:5px;
  height:5px;
  min-width:5px;
  min-height:5px;
  max-width:5px;
  max-height:5px;
  flex:0 0 5px;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:#d2a03c;
  box-shadow:0 0 0 2px rgba(210,160,60,.13);
  font-size:0;
  line-height:0;
}

.cake-rate-menu .flavour-option-label{
  font:inherit;
  color:inherit;
  letter-spacing:inherit;
}

.cake-rate-menu .cake-rate-toggle[aria-expanded="true"] .cake-rate-arrow,
.cake-rate-menu .cake-rate-toggle[aria-expanded="true"] .rate-arrow{
  transform:rotate(180deg);
}

.cake-rate-menu .cake-rate-flavour:hover{
  border-color:rgba(196,145,49,.34);
  background:#fff7ea;
  box-shadow:0 8px 18px rgba(88,57,24,.07);
  transform:translateY(-1px);
}

.cake-rate-menu .rate-card--stacked.is-open .cake-rate-flavours{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}

.cake-rate-menu .rate-card--stacked .cake-rate-flavours ul{
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}

.cake-rate-menu .rate-card--stacked .cake-rate-flavour{
  width:auto;
  min-width:120px;
  align-self:flex-start;
}

@media (hover:hover) and (pointer:fine){
  .cake-rate-menu .cake-rate-card:hover{
    transform:translateY(-1px);
    border-color:rgba(214,164,72,.38);
    box-shadow:0 22px 48px rgba(76,45,18,.11);
  }

  .cake-rate-menu .cake-rate-card li:hover{
  transform:none;
}

}

@media (max-width:1100px){
  .cake-rate-menu .cake-rate-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:620px){
  .cake-rate-menu .cake-rate-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:520px){
  .cake-rate-menu .cake-rate-card-head,
  .cake-rate-menu .cake-rate-toggle{
    padding:20px 18px;
  }

  .cake-rate-menu .cake-rate-title{
    font-size:1.22rem;
  }

  .cake-rate-menu .cake-rate-subtitle{
    min-height:0;
  }

  .cake-rate-menu .rate-accordion-content,
  .cake-rate-menu .cake-rate-flavours{
    padding:0 18px 18px;
  }

  .cake-rate-menu .cake-rate-card ul,
  .cake-rate-menu .special-rate-card ul{
    gap:8px;
  }

  .cake-rate-menu .cake-rate-card li{
    min-width:0;
    min-height:34px;
    padding:7px 10px;
    font-size:.84rem;
  }
}

@media (max-width:768px){
  .cake-rate-menu .cake-rate-flavour{
    font-size:.72rem!important;
    font-weight:600!important;
  }
}

/* Gallery page layout order and spacing fix */
.gallery-hero + .section{
  padding-top:48px;
}

.gallery-hero + .section > .container{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.gallery-hero + .section .cake-filter-stack{
  order:1;
  margin:0 auto 26px;
  padding:0;
  min-height:0;
  transform:none;
}

.gallery-hero + .section .cake-filter-row,
.gallery-hero + .section .cake-filter-row .filter-buttons,
.gallery-hero + .section .cake-filter-row .filters,
.gallery-hero + .section .cake-filter-row .cake-filters{
  position:relative;
  min-height:0;
  margin-bottom:0;
  padding-bottom:0;
  transform:none;
}

.gallery-hero + .section .gallery-grid.cake-gallery,
.gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
  order:2;
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  width:100%;
  max-width:1180px;
  min-height:0;
  margin:28px auto 0;
  padding:0;
  columns:auto;
  transform:none;
}

.gallery-hero + .section .gallery-load-more{
  order:3;
  position:relative;
  display:flex;
  justify-content:center;
  min-height:0;
  margin:36px 0 0;
  padding:0;
  transform:none;
}

.gallery-hero + .section .gallery-load-more[hidden]{
  display:none;
}

@media (max-width:1023px){
  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
}

@media (max-width:640px){
  .gallery-hero + .section{
    padding-top:36px;
  }

  .gallery-hero + .section .cake-filter-stack{
    margin-bottom:22px;
  }

  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
    gap:12px;
    margin-top:24px;
    padding:0 16px;
  }

  .gallery-hero + .section .gallery-load-more{
    margin-top:30px;
    margin-bottom:0;
    padding:0 16px;
  }
}

/* Final Cakes page price override */
.cake-product-grid[data-cakes-dynamic] .cake-card,
.cake-product-grid[data-cakes-dynamic] .product-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-body,
.cake-product-grid[data-cakes-dynamic] .card-body,
.cake-product-grid[data-cakes-dynamic] .product-card-body{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:20px 20px 22px!important;
  gap:0!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-title,
.cake-product-grid[data-cakes-dynamic] .product-card-title{
  margin:0 0 14px!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-weight,
.cake-product-grid[data-cakes-dynamic] .product-card-weight,
.cake-product-grid[data-cakes-dynamic] .weight-badge{
  margin:0 0 18px!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-flavour,
.cake-product-grid[data-cakes-dynamic] .product-card-flavour{
  margin:0 0 18px!important;
  font-size:.92rem!important;
  font-weight:700!important;
  color:#7a5632!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-description,
.cake-product-grid[data-cakes-dynamic] .product-card-description,
.cake-product-grid[data-cakes-dynamic] .card-description{
  display:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-price-line,
.cake-product-grid[data-cakes-dynamic] .cake-card-price,
.cake-product-grid[data-cakes-dynamic] .product-card-price,
.cake-product-grid[data-cakes-dynamic] .priced-cake-price{
  display:block!important;
  width:100%;
  margin-top:0!important;
  margin-bottom:22px!important;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:2.15rem!important;
  line-height:1!important;
  font-weight:500!important;
  color:#c68a22!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card .add-to-cart-btn,
.cake-product-grid[data-cakes-dynamic] .product-card .add-to-cart-btn{
  margin-top:0!important;
  width:100%!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-body > *:last-child,
.cake-product-grid[data-cakes-dynamic] .product-card-body > *:last-child,
.cake-product-grid[data-cakes-dynamic] .card-body > *:last-child{
  margin-bottom:0!important;
}

/* Final cake modal locked selection polish */
.cake-size-modal .cake-locked-weight,
.cake-size-modal .cake-fixed-flavour,
.cake-size-modal .cake-modal-price{
  margin-top:12px!important;
  padding:13px 15px!important;
  border-radius:14px!important;
  border:1px solid rgba(214,164,72,.28)!important;
  background:rgba(255,252,246,.95)!important;
  color:#3b2617!important;
  font-size:.92rem!important;
  font-weight:700!important;
}

.cake-size-modal .cake-flavour-select{
  width:100%!important;
  height:46px!important;
  border-radius:14px!important;
  border:1px solid rgba(214,164,72,.34)!important;
  background:linear-gradient(180deg,rgba(255,252,246,.98),rgba(255,248,237,.96))!important;
  padding:0 14px!important;
  font-size:.94rem!important;
  font-weight:650!important;
  color:#24170f!important;
}

.gallery-flavour-field{
  position:relative;
}

.gallery-flavour-select{
  width:100%;
  height:52px;
  border:1px solid rgba(214,164,72,.34);
  border-radius:14px;
  background:#fffaf0;
  color:#24170f;
  padding:0 16px;
  font-size:.96rem;
  font-weight:650;
  outline:none;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.gallery-flavour-select:focus{
  border-color:rgba(198,138,34,.72);
  box-shadow:0 0 0 3px rgba(198,138,34,.12);
}

.gallery-custom-weight-input{
  width:100%;
  height:48px;
  margin-top:10px;
  border:1px solid rgba(214,164,72,.34);
  border-radius:14px;
  background:#fffaf0;
  color:#24170f;
  padding:0 14px;
  font-size:.95rem;
  font-weight:650;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.gallery-custom-weight-input:focus{
  border-color:rgba(198,138,34,.72);
  box-shadow:0 0 0 3px rgba(198,138,34,.12);
}

.modal-field-error{
  margin:8px 0 0;
  color:#b42318;
  font-size:.85rem;
  font-weight:700;
  line-height:1.35;
}

.gallery-flavour-select optgroup,
.gallery-flavour-select option{
  background:#fff;
  color:#24170f;
  font-size:.95rem;
}

@media (max-width:560px){
  .gallery-flavour-select{
    height:48px;
    font-size:.94rem;
  }
}

/* Final minimal Cakes page layout */
.cake-product-grid[data-cakes-dynamic]{
  display:grid!important;
  justify-content:center!important;
  column-gap:64px!important;
  row-gap:64px!important;
  align-items:start!important;
  width:min(1088px,100%)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.cake-product-grid[data-cakes-dynamic].has-one,
.cake-product-grid[data-cakes-dynamic].cakes-count-1{
  width:min(320px,100%)!important;
  max-width:320px!important;
  grid-template-columns:320px!important;
  justify-content:center!important;
}

.cake-product-grid[data-cakes-dynamic].has-two,
.cake-product-grid[data-cakes-dynamic].cakes-count-2{
  width:min(704px,100%)!important;
  max-width:704px!important;
  grid-template-columns:repeat(2,minmax(0,320px))!important;
  column-gap:clamp(20px,5vw,64px)!important;
  justify-content:center!important;
}

.cake-product-grid[data-cakes-dynamic].has-three-plus,
.cake-product-grid[data-cakes-dynamic].cakes-count-3{
  width:min(1088px,100%)!important;
  max-width:1088px!important;
  grid-template-columns:repeat(3,minmax(0,320px))!important;
  column-gap:clamp(20px,5vw,64px)!important;
  justify-content:center!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-item,
.cake-product-grid[data-cakes-dynamic] .cake-card,
.cake-product-grid[data-cakes-dynamic] .product-card,
.cake-product-grid[data-cakes-dynamic] .cake-order-card{
  display:flex!important;
  flex-direction:column!important;
  width:min(320px,100%)!important;
  max-width:320px!important;
  margin:0 auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-item:before,
.cake-product-grid[data-cakes-dynamic] .cake-item:after,
.cake-product-grid[data-cakes-dynamic] .cake-card:before,
.cake-product-grid[data-cakes-dynamic] .cake-card:after,
.cake-product-grid[data-cakes-dynamic] .product-card:before,
.cake-product-grid[data-cakes-dynamic] .product-card:after,
.cake-product-grid[data-cakes-dynamic] .cake-item-info:before,
.cake-product-grid[data-cakes-dynamic] .cake-item-info:after,
.cake-product-grid[data-cakes-dynamic] .card-body:before,
.cake-product-grid[data-cakes-dynamic] .card-body:after{
  content:none!important;
  display:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-image-wrap,
.cake-product-grid[data-cakes-dynamic] .cake-card-media{
  width:min(320px,100%)!important;
  max-width:320px!important;
  height:320px!important;
  aspect-ratio:1 / 1!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:22px!important;
  background:#fff8ef!important;
  box-shadow:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img,
.cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:22px!important;
  margin:0!important;
  transform:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-item-info,
.cake-product-grid[data-cakes-dynamic] .cake-card-body,
.cake-product-grid[data-cakes-dynamic] .card-body{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:20px 2px 0!important;
  gap:0!important;
  background:transparent!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-title,
.cake-product-grid[data-cakes-dynamic] .cake-card-title{
  display:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-meta,
.cake-product-grid[data-cakes-dynamic] .cake-card-weight,
.cake-product-grid[data-cakes-dynamic] .cake-card-flavour{
  width:auto!important;
  margin:0 0 7px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#24170d!important;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:1.12rem!important;
  font-weight:650!important;
  line-height:1.28!important;
  letter-spacing:0!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-card-description,
.cake-product-grid[data-cakes-dynamic] .product-card-description,
.cake-product-grid[data-cakes-dynamic] .card-description{
  display:none!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-price,
.cake-product-grid[data-cakes-dynamic] .cake-price-line,
.cake-product-grid[data-cakes-dynamic] .cake-card-price,
.cake-product-grid[data-cakes-dynamic] .product-card-price,
.cake-product-grid[data-cakes-dynamic] .priced-cake-price{
  display:block!important;
  width:100%!important;
  margin:12px 0 16px!important;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:1.95rem!important;
  line-height:1!important;
  font-weight:500!important;
  color:#c68a22!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

.cake-product-grid[data-cakes-dynamic] .cake-cart-btn,
.cake-product-grid[data-cakes-dynamic] .add-to-cart-btn,
.cake-product-grid[data-cakes-dynamic] .btn.primary{
  width:82%!important;
  max-width:260px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0 auto!important;
  padding:0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:.78rem!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
  line-height:1!important;
}

@media (max-width:1150px){
  .cake-product-grid[data-cakes-dynamic]{
    width:min(704px,100%)!important;
    max-width:704px!important;
    column-gap:clamp(20px,5vw,64px)!important;
    row-gap:56px!important;
  }

  .cake-product-grid[data-cakes-dynamic].has-three-plus,
  .cake-product-grid[data-cakes-dynamic].has-two,
  .cake-product-grid[data-cakes-dynamic].cakes-count-3,
  .cake-product-grid[data-cakes-dynamic].cakes-count-2{
    width:min(704px,100%)!important;
    max-width:704px!important;
    grid-template-columns:repeat(2,minmax(0,320px))!important;
  }

  .cake-product-grid[data-cakes-dynamic].has-one,
  .cake-product-grid[data-cakes-dynamic].cakes-count-1{
    width:320px!important;
    max-width:320px!important;
    grid-template-columns:320px!important;
  }
}

@media (max-width:720px){
  .cake-product-grid[data-cakes-dynamic],
  .cake-product-grid[data-cakes-dynamic].has-one,
  .cake-product-grid[data-cakes-dynamic].has-two,
  .cake-product-grid[data-cakes-dynamic].has-three-plus,
  .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    width:320px!important;
    max-width:320px!important;
    grid-template-columns:320px!important;
    row-gap:50px!important;
    column-gap:0!important;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-item,
  .cake-product-grid[data-cakes-dynamic] .cake-card,
  .cake-product-grid[data-cakes-dynamic] .product-card,
  .cake-product-grid[data-cakes-dynamic] .cake-order-card{
    width:100%!important;
    max-width:320px!important;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-image-wrap,
  .cake-product-grid[data-cakes-dynamic] .cake-card-media{
    width:100%!important;
    max-width:320px!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-title,
  .cake-product-grid[data-cakes-dynamic] .cake-card-title{
    display:none!important;
  }
}

/* Homepage featured cake card spacing */
.home-featured-cakes .product-card{
  display:flex;
  flex-direction:column;
}

.home-featured-cakes .product-card .card-body{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:0!important;
}

.home-featured-cakes .featured-card-description,
.home-featured-cakes .home-cake-description,
.home-featured-cakes .product-card-description{
  display:none!important;
  margin:0!important;
  padding:0!important;
}

.home-featured-cakes .product-note,
.home-featured-cakes .home-cake-weight,
.home-featured-cakes .featured-cake-weight,
.home-featured-cakes .product-card-weight{
  margin-top:10px!important;
  margin-bottom:18px!important;
  color:#8a6240!important;
  font-size:.92rem!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:.01em!important;
}

.home-featured-cakes .product-meta,
.home-featured-cakes .product-card-price,
.home-featured-cakes .cake-price-line{
  margin-top:14px!important;
  margin-bottom:18px!important;
}

.home-featured-cakes .product-card .btn,
.home-featured-cakes .product-card .add-to-cart-btn{
  margin-top:0!important;
}
/* Cakes collection: minimal pastry-inspired product presentation */
.cake-ordering-section .cake-product-grid[data-cakes-dynamic],
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(3,280px)!important;
  justify-content:center!important;
  column-gap:78px!important;
  row-gap:88px!important;
  align-items:start!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1{
  grid-template-columns:280px!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2{
  grid-template-columns:repeat(2,280px)!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item{
  width:280px!important;
  max-width:280px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media{
  width:280px!important;
  max-width:280px!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  margin:0 0 18px!important;
  overflow:hidden!important;
  border:1px solid rgba(212,163,74,.25)!important;
  border-radius:18px!important;
  background:#fff8ef!important;
  box-shadow:none!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:18px!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-body{
  min-height:0!important;
  margin:0!important;
  padding:0 2px!important;
  background:transparent!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-title,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-title{
  display:none!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-meta{
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#5f3f25!important;
  font-family:inherit!important;
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1.55!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:16px!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-price{
  width:auto!important;
  flex:0 1 auto!important;
  margin:0!important;
  color:#b77a13!important;
  font-family:inherit!important;
  font-size:1.08rem!important;
  font-weight:800!important;
  line-height:1.2!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-add-btn,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-cart-btn{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 15px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#d7a33a,#f0c85f)!important;
  color:#1f140b!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 8px 18px rgba(190,137,34,.2)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-cart-btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(190,137,34,.26)!important;
  filter:brightness(1.03)!important;
}

@media (max-width:1050px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    max-width:760px!important;
    grid-template-columns:repeat(2,280px)!important;
    column-gap:54px!important;
    row-gap:72px!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1{
    grid-template-columns:280px!important;
  }
}

@media (max-width:640px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    max-width:380px!important;
    grid-template-columns:280px!important;
    column-gap:0!important;
    row-gap:52px!important;
    padding:0 18px!important;
  }
}

/* Gallery collection: balanced three-column spacing */
.gallery-hero + .section > .container{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding-left:32px;
  padding-right:32px;
  box-sizing:border-box;
}

.gallery-hero + .section .cake-filter-stack{
  margin-bottom:64px;
}

.gallery-hero + .section .gallery-grid.cake-gallery,
.gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
  width:100%;
  max-width:1040px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
  display:grid!important;
  grid-template-columns:repeat(3,240px)!important;
  justify-content:center!important;
  column-gap:120px!important;
  row-gap:120px!important;
  align-items:start;
}

.gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card,
.gallery-hero + .section .gallery-grid.cake-gallery .gallery-card{
  position:relative;
  width:240px!important;
  max-width:240px;
  height:auto;
  min-height:0;
  margin:0;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}

.gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card img,
.gallery-hero + .section .gallery-grid.cake-gallery .gallery-card img{
  width:240px!important;
  max-width:240px;
  height:240px!important;
  aspect-ratio:1 / 1;
  margin:0;
  padding:0!important;
  display:block;
  object-fit:cover!important;
  object-position:center;
  overflow:hidden;
  border:1px solid rgba(212,163,74,.25);
  border-radius:18px!important;
  background:#fff8ef;
  box-sizing:border-box;
}

.gallery-hero + .section .gallery-card .gallery-add-btn{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
}

@media (max-width:1050px){
  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
    max-width:720px;
    grid-template-columns:repeat(2,240px)!important;
    column-gap:72px!important;
    row-gap:86px!important;
  }
}

@media (max-width:640px){
  .gallery-hero + .section > .container{
    padding-left:18px;
    padding-right:18px;
  }

  .gallery-hero + .section .cake-filter-stack{
    margin-bottom:42px;
  }

  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
    max-width:340px;
    grid-template-columns:240px!important;
    column-gap:0!important;
    row-gap:56px!important;
    padding:0 18px!important;
  }
}

/* Gallery mobile: two equal image cards per row */
@media (max-width:640px){
  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important;
    row-gap:28px!important;
    margin-left:auto;
    margin-right:auto;
    padding:0 18px!important;
    justify-content:center!important;
    box-sizing:border-box;
    columns:auto!important;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card,
  .gallery-hero + .section .gallery-grid.cake-gallery .gallery-card{
    width:100%!important;
    max-width:100%;
    min-width:0;
    margin:0;
    position:relative;
    box-sizing:border-box;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card img,
  .gallery-hero + .section .gallery-grid.cake-gallery .gallery-card img{
    width:100%!important;
    max-width:100%;
    height:auto!important;
    aspect-ratio:1 / 1;
    object-fit:cover!important;
    object-position:center;
    display:block;
    border-radius:16px!important;
    box-sizing:border-box;
  }

  .gallery-hero + .section .gallery-card .gallery-add-btn,
  .gallery-hero + .section .gallery-card .gallery-plus-btn{
    top:8px!important;
    right:8px!important;
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;
    font-size:18px;
  }

  .gallery-hero + .section .gallery-filters,
  .gallery-hero + .section .gallery-weight-filters,
  .gallery-hero + .section .design-filters,
  .gallery-hero + .section .weight-filters{
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    flex-wrap:nowrap;
    justify-content:flex-start;
    padding-inline:18px;
    box-sizing:border-box;
    scrollbar-width:none;
  }

  .gallery-hero + .section .gallery-filters::-webkit-scrollbar,
  .gallery-hero + .section .gallery-weight-filters::-webkit-scrollbar,
  .gallery-hero + .section .design-filters::-webkit-scrollbar,
  .gallery-hero + .section .weight-filters::-webkit-scrollbar{
    display:none;
  }
}

@media (max-width:360px){
  .gallery-hero + .section .gallery-grid.cake-gallery,
  .gallery-hero + .section .cake-gallery[data-gallery-dynamic]{
    column-gap:12px!important;
    row-gap:24px!important;
    padding:0 14px!important;
  }

  .gallery-hero + .section .gallery-card .gallery-add-btn,
  .gallery-hero + .section .gallery-card .gallery-plus-btn{
    width:30px;
    height:30px;
    min-width:30px;
    min-height:30px;
    font-size:16px;
  }
}

/* Gallery mobile filters: keep every option reachable by touch scrolling */
@media (max-width:640px){
  body.gallery-page{
    overflow-x:hidden;
  }

  .gallery-page .gallery-hero + .section,
  .gallery-page .gallery-hero + .section > .container,
  .gallery-page .gallery-hero + .section .cake-filter-stack,
  .gallery-page .gallery-hero + .section .cake-filter-row{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:visible;
    box-sizing:border-box;
  }

  .gallery-page .gallery-hero + .section .cake-filter-stack{
    margin-left:0;
    margin-right:0;
  }

  .gallery-page .gallery-hero + .section .design-filters,
  .gallery-page .gallery-hero + .section .weight-filters{
    width:100%;
    max-width:100%;
    min-width:0;
    display:flex;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:10px;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 18px 8px!important;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  .gallery-page .gallery-hero + .section .design-filters::-webkit-scrollbar,
  .gallery-page .gallery-hero + .section .weight-filters::-webkit-scrollbar{
    display:none;
  }

  .gallery-page .gallery-hero + .section .design-filters .filter-btn,
  .gallery-page .gallery-hero + .section .weight-filters .filter-btn{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

/* Mobile-only affordance for horizontally scrollable gallery filters */
@media (max-width:640px){
  .gallery-page .gallery-hero + .section .cake-filter-row{
    position:relative;
    padding-top:24px;
  }

  .gallery-page .gallery-hero + .section .cake-filter-row::after{
    content:"Swipe \2192";
    position:absolute;
    top:5px;
    right:18px;
    z-index:1;
    color:#b77a13;
    font-size:.72rem;
    font-weight:800;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
    opacity:.78;
    pointer-events:none;
  }
}

/* Cakes collection mobile: compact two-column product layout */
@media (max-width:640px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important;
    row-gap:34px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0 16px!important;
    justify-content:center!important;
    align-items:start!important;
    box-sizing:border-box!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .product-card,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-order-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    margin:0 0 12px!important;
    overflow:hidden!important;
    border-radius:16px!important;
    background:#fff8ef!important;
    box-sizing:border-box!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:1 / 1!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
    border-radius:16px!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-body,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item-info,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .card-body{
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-meta{
    margin:0 0 5px!important;
    font-size:.78rem!important;
    line-height:1.45!important;
    font-weight:700!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    margin-top:10px!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-price{
    width:100%!important;
    margin:0!important;
    font-size:1rem!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-add-btn,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-cart-btn{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    padding:8px 12px!important;
    border-radius:999px!important;
    font-size:.6rem!important;
    letter-spacing:.08em!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

@media (max-width:360px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    column-gap:12px!important;
    row-gap:28px!important;
    padding:0 12px!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-meta{
    font-size:.72rem!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-price{
    font-size:.92rem!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-add-btn,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-cart-btn{
    padding:7px 10px!important;
    font-size:.56rem!important;
  }
}

/* BACKUP: old mobile homepage layout before desktop-style test */
/*
To restore old mobile layout:
- remove/comment the TEST mobile CSS
- restore/uncomment the BACKUP mobile CSS

The BACKUP rules remain active underneath the TEST override, so removing the
TEST block restores this three-card layout immediately.
*/
@media (max-width:640px){
  .premium-category-section .premium-category-grid{
    width:100%;
    max-width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-left:auto;
    margin-right:auto;
    padding:0 14px;
    align-items:stretch;
    box-sizing:border-box;
  }

  .premium-category-section .premium-category-card{
    width:100%;
    min-width:0;
    height:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    border-radius:16px;
    box-sizing:border-box;
  }

  .premium-category-section .premium-category-card img{
    width:100%;
    max-width:100%;
    height:auto!important;
    aspect-ratio:1 / 1;
    object-fit:cover;
    object-position:center;
    display:block;
    border-radius:16px 16px 0 0;
  }

  .premium-category-section .premium-category-badge{
    width:30px;
    height:30px;
    margin:-15px auto 0;
    flex:0 0 30px;
    border-radius:50%;
  }

  .premium-category-section .premium-category-badge svg{
    width:16px;
    height:16px;
  }

  .premium-category-section .premium-category-body{
    min-width:0;
    min-height:0;
    padding:8px 4px 11px;
    text-align:center;
  }

  .premium-category-section .premium-category-body h3{
    margin:2px 0 0;
    font-size:.78rem;
    line-height:1.2;
    overflow-wrap:anywhere;
  }

  .premium-category-section .premium-category-body p,
  .premium-category-section .premium-category-body span{
    display:none;
  }
}

@media (max-width:360px){
  .premium-category-section .premium-category-grid{
    gap:9px;
    padding:0 10px;
  }

  .premium-category-section .premium-category-body h3{
    font-size:.7rem;
  }
}

/* Pastries mobile: compact two-column product grid */
@media (max-width:640px){
  .pastry-menu-section .pastry-grid{
    width:100%;
    max-width:100%;
    min-width:0;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important;
    row-gap:34px!important;
    margin:0 auto;
    padding:0 16px 30px;
    justify-content:center;
    justify-items:stretch;
    align-items:start;
    box-sizing:border-box;
  }

  .pastry-menu-section .pastry-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0;
    gap:9px;
    margin:0!important;
    padding:0!important;
    overflow:visible;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    box-sizing:border-box;
  }

  .pastry-menu-section .pastry-card-media,
  .pastry-menu-section .pastry-placeholder{
    width:100%!important;
    max-width:100%;
    height:auto!important;
    min-height:0;
    aspect-ratio:1 / 1;
    margin:0;
    overflow:hidden;
    border-radius:15px;
    background:#fff8ef;
    box-sizing:border-box;
  }

  .pastry-menu-section .pastry-card-image,
  .pastry-menu-section .pastry-card-media img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:1 / 1;
    object-fit:cover;
    object-position:center;
    display:block;
    border-radius:15px;
  }

  .pastry-menu-section .pastry-card-body{
    min-width:0;
    margin-top:0;
    padding:0!important;
  }

  .pastry-menu-section .pastry-card h3{
    margin:0 0 6px;
    color:#24170f;
    font-size:.78rem;
    line-height:1.25;
    overflow-wrap:anywhere;
  }

  .pastry-menu-section .pastry-meta-row{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:7px;
    margin-top:6px;
  }

  .pastry-menu-section .pastry-card .pastry-price{
    margin:0;
    color:#b77a13;
    font-size:.82rem;
    line-height:1.25;
    font-weight:800;
    white-space:nowrap;
  }

  .pastry-menu-section .pastry-card .pastry-add-btn{
    width:auto;
    max-width:100%;
    min-width:0;
    min-height:0;
    padding:7px 13px;
    border-radius:999px;
    font-size:.58rem;
    letter-spacing:.08em;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
  }
}

@media (max-width:360px){
  .pastry-menu-section .pastry-grid{
    column-gap:12px!important;
    row-gap:30px!important;
    padding:0 12px 30px;
  }

  .pastry-menu-section .pastry-card h3{
    font-size:.72rem;
  }

  .pastry-menu-section .pastry-card .pastry-price{
    font-size:.76rem;
  }

  .pastry-menu-section .pastry-card .pastry-add-btn{
    padding:7px 11px;
    font-size:.54rem;
  }
}
/* Live shop status */
.shop-status-banner {
  width: 100%;
  background: linear-gradient(90deg, #fffaf0, #f3dfad, #fffaf0);
  border-top: 1px solid rgba(186, 128, 38, 0.18);
  border-bottom: 1px solid rgba(186, 128, 38, 0.28);
  color: #5b3517;
  text-align: center;
  padding: 13px 16px;
  position: sticky;
  top: var(--header-height, 72px);
  z-index: 85;
  box-shadow: 0 8px 22px rgba(154, 104, 30, 0.08);
}
.shop-status-banner[hidden]{display:none!important}
.shop-status-banner strong{display:block;font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:1.18rem;font-weight:800;font-style:italic;letter-spacing:.03em}
.shop-status-banner span{display:block;margin-top:3px;font-size:.82rem;font-weight:700;color:rgba(91,53,23,.82)}
.shop-status-banner::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:999px;background:#b78027;box-shadow:0 0 0 5px rgba(183,128,39,.12)}
.shop-closed-card{grid-column:1/-1;background:#fffaf0;border:1px solid rgba(186,128,38,.22);border-radius:22px;padding:24px;text-align:center;color:#5b3517;box-shadow:0 18px 45px rgba(91,53,23,.08)}
.shop-closed-card h3{font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:1.7rem;font-style:italic;margin:0 0 8px}
.shop-closed-card p{color:rgba(91,53,23,.82);font-weight:700}
button.is-shop-closed,.btn.is-shop-closed,.add-to-cart.is-shop-closed{opacity:.58;cursor:not-allowed;pointer-events:none;filter:grayscale(.15)}
.availability-badge{display:inline-flex;margin:10px 12px;padding:5px 9px;border-radius:999px;background:#f7eadb;color:#7b3f2e;font-size:.75rem;font-weight:800}.is-unavailable{opacity:.78}.is-unavailable button:disabled,.shop-is-closed button:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.55}.fulfilment-status{grid-column:1/-1;margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#fff4d6;color:#674714;font-weight:700}

@media (max-width:640px){
  .shop-status-banner{top:var(--mobile-header-height,64px);padding:10px 12px}
  .shop-status-banner strong{font-size:.98rem}
  .shop-status-banner span{font-size:.72rem}
}

html:has(.website-notice-bar:not([hidden])),
body:has(.website-notice-bar:not([hidden])){
  overflow-x:clip;
}

.website-notice-bar{
  position:sticky;
  top:var(--site-notice-top,var(--header-height,76px));
  z-index:990;
  width:100%;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0!important;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  overflow:hidden;
  visibility:visible;
  opacity:1;
  background:rgba(232,198,92,.72)!important;
  border-top:1px solid rgba(181,140,26,.35)!important;
  border-bottom:1px solid rgba(181,140,26,.35)!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  color:#4f3412!important;
}
.website-notice-bar[hidden]{display:none!important}
.website-notice-viewport{
  position:relative;
  width:100%;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.website-notice-track{
  height:30px;
  display:inline-flex;
  align-items:center;
  width:max-content;
  white-space:nowrap;
  will-change:transform;
  animation:websiteNoticeLoop 18s linear infinite;
}
.website-notice-group{
  min-width:100vw;
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-around;
}
.website-notice-item{
  min-height:22px;
  padding:4px 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  box-sizing:border-box;
  border:1px solid rgba(183,137,55,.34);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,248,231,.94));
  box-shadow:0 4px 12px rgba(91,53,23,.07),inset 0 1px 0 rgba(255,255,255,.88);
  color:#4f3412!important;
  font-size:12.25px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
}
.website-notice-item::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:999px;
  background:linear-gradient(135deg,#e1b44f,#bd7f20);
  box-shadow:0 0 0 3px rgba(205,148,44,.11);
}
.website-notice-separator{
  width:42px;
  flex:0 0 42px;
}
@keyframes websiteNoticeLoop{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (max-width:767px){
  .website-notice-bar,.website-notice-viewport,.website-notice-track{height:27px!important;min-height:27px!important;max-height:27px!important}
  .website-notice-item{min-height:21px;padding:3px 9px;gap:5px;font-size:10.75px}
  .website-notice-item::before{width:5px;height:5px;flex-basis:5px;box-shadow:0 0 0 2px rgba(205,148,44,.11)}
  .website-notice-separator{width:24px;flex-basis:24px}
  .website-notice-track{animation-duration:13s}
}

/* Mobile header brand emphasis */
@media (max-width:768px){
  .site-header .brand-name{
    max-width:none;
    min-width:0;
    overflow:visible;
    text-overflow:clip;
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
    font-size:1.18rem;
    font-weight:700;
    font-style:normal;
    line-height:1;
    letter-spacing:-.01em;
    color:#2b180f;
    white-space:nowrap;
    display:inline-block;
  }

  .site-header .brand{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-width:0;
  }

  .site-header .brand-mark{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }
}

@media (max-width:360px){
  .site-header .brand-name{
    font-size:1.04rem;
  }

  .site-header .brand-mark{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
}

/* Homepage mobile feature labels */
@media (max-width:768px){
  .trust-row.slim{
    width:100%;
    max-width:100%;
    margin-top:18px;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    backdrop-filter:none;
    box-sizing:border-box;
  }

  .trust-row.slim > .hero-feature{
    width:100%;
    min-width:0;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    background:linear-gradient(90deg,rgba(255,249,235,.96),rgba(247,225,170,.72),rgba(255,249,235,.96));
    border:1px solid rgba(194,139,42,.38);
    border-radius:999px;
    color:#56351f;
    font-family:"Montserrat","Poppins",Arial,sans-serif;
    font-size:.78rem;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.045em;
    text-align:center;
    white-space:normal;
    box-shadow:0 7px 18px rgba(168,113,29,.09);
    box-sizing:border-box;
  }

}

.hero-feature-dot{
  display:none;
}

.trust-row.slim .hero-feature-text{
  width:auto;
  min-width:0;
  min-height:0;
  display:inline;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}

.trust-row.slim .hero-feature-text::before{
  content:none;
}

@media (max-width:768px){
  .hero-feature{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
  }

  .hero-feature-dot{
    all:unset;
    display:inline-block!important;
    box-sizing:border-box!important;
    width:7px!important;
    height:7px!important;
    min-width:7px!important;
    min-height:7px!important;
    max-width:7px!important;
    max-height:7px!important;
    flex:0 0 7px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#d3a23c!important;
    box-shadow:0 0 0 4px rgba(211,162,60,.13)!important;
    line-height:0!important;
    font-size:0!important;
    position:static!important;
    transform:none!important;
  }

}

/* Homepage mobile feature typography */
@media (max-width:768px){
  .trust-row.slim{
    gap:9px!important;
  }

  .hero-feature{
    min-height:46px!important;
    padding:9px 16px!important;
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.79rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
    color:#4a2d19!important;
    text-align:center!important;
  }

  .hero-feature span:not(.hero-feature-dot){
    font:inherit!important;
    color:inherit!important;
    letter-spacing:inherit!important;
  }
}

@media (max-width:360px){
  .hero-feature{
    font-size:.76rem!important;
  }
}

/* Shared customer-facing section labels */
.kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  max-width:100%;
  box-sizing:border-box;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,247,225,.72);
  color:#9a6419!important;
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.76rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}

.kicker::before,
.kicker::after{
  content:"";
  width:32px;
  height:1.5px;
  flex:0 0 32px;
  background:linear-gradient(90deg,rgba(197,137,43,.15),rgba(197,137,43,.9));
}

.kicker::after{
  background:linear-gradient(90deg,rgba(197,137,43,.9),rgba(197,137,43,.15));
}

@media (max-width:768px){
  .kicker{
    gap:9px;
    padding:6px 9px;
    color:#8a5714!important;
    font-size:.68rem!important;
    font-weight:800!important;
    line-height:1.25!important;
    letter-spacing:.11em!important;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .kicker::before,
  .kicker::after{
    width:22px;
    height:1.5px;
    flex-basis:22px;
  }
}

@media (max-width:360px){
  .kicker{
    font-size:.62rem!important;
    letter-spacing:.085em!important;
  }

  .kicker::before,
  .kicker::after{
    width:15px;
    flex-basis:15px;
  }
}

/* Homepage hero eyebrow: keep the full line intact on mobile */
@media (max-width:768px){
  body:has(.hero-slideshow) .hero-copy .kicker{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px 6px!important;
    font-size:.56rem!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:.075em!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:center!important;
  }

  body:has(.hero-slideshow) .hero-copy .kicker::before,
  body:has(.hero-slideshow) .hero-copy .kicker::after{
    width:17px!important;
    min-width:17px!important;
    flex:0 0 17px!important;
  }
}

@media (max-width:360px){
  body:has(.hero-slideshow) .hero-copy .kicker{
    font-size:.5rem!important;
    letter-spacing:.055em!important;
    gap:5px!important;
  }

  body:has(.hero-slideshow) .hero-copy .kicker::before,
  body:has(.hero-slideshow) .hero-copy .kicker::after{
    width:12px!important;
    min-width:12px!important;
    flex-basis:12px!important;
  }
}

/* Homepage category-card titles */
.premium-category-section .premium-category-body h3{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:.88rem!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  color:#382116!important;
  text-align:center!important;
}

@media (max-width:768px){
  .premium-category-section .premium-category-body h3{
    font-size:.82rem!important;
    font-weight:600!important;
  }
}

/* Design Your Cake occasion-option content */
.occasion-chips .chip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}

.occasion-chips .occasion-dot{
  all:unset;
  display:inline-block;
  width:6px;
  height:6px;
  min-width:6px;
  min-height:6px;
  flex:0 0 6px;
  padding:0;
  margin:0;
  border-radius:50%;
  background:#d3a23c;
  box-shadow:0 0 0 3px rgba(211,162,60,.13);
}

.occasion-chips .occasion-label{
  font-family:"Montserrat","Poppins",Arial,sans-serif;
  font-size:.72rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.015em;
  color:#4a2d19;
}

@media (max-width:768px){
  .occasion-chips .chip{
    gap:6px;
  }

  .occasion-chips .occasion-label{
    font-size:.7rem;
    font-weight:600;
  }
}

/* Keep only the Custom Cakes card's outer frame at every viewport size. */
.custom-celebration-card::before,
.custom-celebration-card::after,
.custom-celebration-card > div:first-child::before{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Cakes page actual product images and preview */
.cake-product-image{
  width:100%;
  aspect-ratio:1 / 1;
  box-sizing:border-box;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border-radius:14px;
  background:#fffaf2;
  cursor:zoom-in;
}

.cake-product-image .cake-product-img{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  scale:1!important;
  inset:auto!important;
  border-radius:10px;
}

.cake-preview-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(20,11,7,.9);
  backdrop-filter:blur(7px);
}

.cake-preview-modal.is-open{
  display:flex;
}

.cake-preview-inner{
  width:min(94vw,900px);
  height:min(86vh,900px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.cake-preview-inner img{
  width:100%;
  height:calc(100% - 38px);
  display:block;
  object-fit:contain!important;
  object-position:center!important;
  background:#fffaf2;
  border-radius:16px;
}

#cakePreviewCaption{
  margin:10px 0 0;
  color:#fff;
  font-size:.88rem;
  font-weight:600;
  text-align:center;
}

.cake-preview-close{
  position:fixed;
  top:14px;
  right:14px;
  z-index:100001;
  width:43px;
  height:43px;
  padding:0;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

body.cake-preview-active{
  overflow:hidden;
}

@media (max-width:768px){
  .cake-product-image{
    padding:8px;
    aspect-ratio:1 / 1;
  }

  .cake-product-image .cake-product-img{
    object-fit:contain!important;
    object-position:center center!important;
  }

  .cake-preview-modal{
    padding:12px;
  }

  .cake-preview-inner{
    width:100%;
    height:82vh;
  }
}

/* Win over legacy fixed-height cake media rules. */
.cake-product-grid[data-cakes-dynamic] .cake-product-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  padding:10px!important;
  border-radius:14px!important;
  background:#fffaf2!important;
}

@media (max-width:768px){
  .cake-product-grid[data-cakes-dynamic] .cake-product-image{
    height:auto!important;
    aspect-ratio:1 / 1!important;
    padding:8px!important;
  }
}

/* Homepage Best Sellers image preview */
.home-cake-preview-image{
  cursor:zoom-in;
  pointer-events:auto!important;
  position:relative;
  z-index:2;
  touch-action:pan-x;
}

.home-cake-preview-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(18,10,6,.9);
  backdrop-filter:blur(8px);
  box-sizing:border-box;
}

.home-cake-preview-modal.is-open{
  display:flex;
}

.home-cake-preview-content{
  width:min(94vw,900px);
  height:min(86vh,900px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.home-cake-preview-content img{
  width:100%;
  height:calc(100% - 40px);
  display:block;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px;
  background:#fffaf2;
}

#homeCakePreviewCaption{
  margin:10px 0 0;
  color:#fff;
  font-size:.88rem;
  font-weight:600;
  text-align:center;
}

.home-cake-preview-close{
  position:fixed;
  top:14px;
  right:14px;
  z-index:100001;
  width:43px;
  height:43px;
  padding:0;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

body.home-cake-preview-open{
  overflow:hidden;
}

/* Mobile cake-card image fitting */
@media (max-width:768px){
  .home-featured-cakes .product-card > .home-cake-preview-image{
    width:100%!important;
    height:200px!important;
    min-height:200px!important;
    max-height:200px!important;
    aspect-ratio:auto!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0 0 16px!important;
    padding:6px!important;
    border-radius:12px!important;
    background:#fffaf4!important;
    box-sizing:border-box!important;
    transform:none!important;
    scale:1!important;
  }

  .home-featured-cakes .product-card:hover > .home-cake-preview-image{
    transform:none!important;
    scale:1!important;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-product-image .cake-product-img{
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    scale:1!important;
    background:#fffaf4!important;
  }

  .cake-suggestion-card-img{
    object-fit:contain!important;
    object-position:center center!important;
    background:#fffaf4!important;
    border-radius:12px;
    transform:none!important;
  }
}

/* Mobile navbar order: menu, brand, language, cart */
@media (max-width:768px){
  .site-header{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:8px;
  }

  .site-header .nav-actions{
    display:contents;
  }

  .site-header .hamb{
    order:1;
    flex:0 0 40px;
    width:40px;
    height:40px;
  }

  .site-header .brand{
    order:2;
    flex:1 1 auto;
    min-width:0;
  }

  .site-header #lang-toggle{
    order:3;
    flex:0 0 auto;
  }

  .site-header .cart-nav-btn{
    order:4;
    flex:0 0 40px;
    width:40px;
    height:40px;
  }

  .site-header .nav-order-btn{
    order:5;
  }
}

@media (max-width:360px){
  .site-header{
    gap:6px;
  }

  .site-header .hamb,
  .site-header .cart-nav-btn{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .site-header .brand-name{
    font-size:.96rem;
  }
}

/* Shared navigation drawer items: mobile and tablet */
.mobile-nav-icon{
  display:none;
}

@media (max-width:1060px){
  .site-header .nav-links.mobile-nav-list{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:18px 13px 24px!important;
  }

  .site-header .nav-links .mobile-nav-link{
    width:100%!important;
    min-height:48px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:13px!important;
    padding:11px 15px!important;
    border-radius:12px!important;
    color:#352116!important;
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.88rem!important;
    font-weight:600!important;
    line-height:1.2!important;
    letter-spacing:.015em!important;
    text-align:left!important;
    text-decoration:none!important;
  }

  .site-header .nav-links .mobile-nav-link:hover,
  .site-header .nav-links .mobile-nav-link:focus-visible{
    background:rgba(211,158,61,.1)!important;
  }

  .site-header .nav-links .mobile-nav-link.active,
  .site-header .nav-links .mobile-nav-link.is-active,
  .site-header .nav-links .mobile-nav-link[aria-current="page"]{
    background:linear-gradient(90deg,rgba(219,165,64,.17),rgba(255,249,236,.58))!important;
    border-bottom:0!important;
    color:#ae6d15!important;
    font-weight:700!important;
  }

  .site-header .nav-links .mobile-nav-icon{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#bd791b!important;
  }

  .site-header .nav-links .mobile-nav-icon svg{
    width:100%!important;
    height:100%!important;
    display:block!important;
    stroke-width:1.8!important;
  }

  .site-header .nav-links .mobile-nav-label{
    flex:1!important;
    min-width:0!important;
    font:inherit!important;
    color:inherit!important;
    text-align:left!important;
  }
}

/* Contact Visit Store: mobile document flow */
@media (max-width:768px){
  .contact-map-section{
    height:auto!important;
    min-height:0!important;
    padding:40px 0 34px!important;
    overflow:visible!important;
  }

  .contact-map-section .contact-store-grid{
    width:calc(100% - 40px);
    max-width:1180px;
    min-height:0!important;
    margin:0 auto;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    overflow:visible!important;
  }

  .contact-map-section .contact-store-panel{
    display:contents!important;
    min-height:0!important;
  }

  .contact-map-section .contact-store-panel > .kicker{
    order:1;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    align-self:flex-start;
    margin:0 0 10px!important;
    z-index:auto!important;
  }

  .contact-map-section .contact-store-panel > h2{
    order:2;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin:0 0 22px!important;
    font-size:clamp(1.85rem,8vw,2.35rem)!important;
    line-height:1.05!important;
    z-index:auto!important;
  }

  .contact-map-section .real-map.location-map-frame{
    order:3;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    height:270px!important;
    min-height:270px!important;
    margin:0 0 22px!important;
    overflow:hidden!important;
    border-radius:18px!important;
    z-index:auto!important;
  }

  .contact-map-section .real-map.location-map-frame iframe{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:block!important;
    border:0!important;
    border-radius:0!important;
  }

  .contact-map-section .contact-detail-list{
    order:4;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0 0 14px!important;
    padding:16px!important;
    gap:12px;
    border:1px solid rgba(201,150,63,.18);
    border-radius:18px;
    background:rgba(255,253,248,.92);
    box-shadow:var(--shadow-soft);
  }

  .contact-map-section .contact-detail-list p{
    width:100%;
    box-sizing:border-box;
  }

  .contact-map-section .contact-store-panel > .hero-actions{
    order:5;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .contact-map-section .contact-store-panel > .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    margin-top:0!important;
  }
}

/* Remove only the divider below the homepage Best Sellers header. */
.section-head:has(+ .home-featured-cakes)::after{
  content:none!important;
  display:none!important;
  border:0!important;
  background:none!important;
}

/* Homepage Inspiration header: remove only its decorative divider. */
.inspiration-section-head::after{
  content:none!important;
  display:none!important;
  border:0!important;
  background:none!important;
}

/* Remove only the gold top edge above images in the homepage Inspiration block. */
.inspiration-section-head + .gallery-strip > .gallery-item{
  border-top:0;
}

/* Cake size guide and collection-filter typography */
.cake-guide-section .size-card .badge{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.92rem!important;
  font-weight:700!important;
  color:#2f1e14!important;
  background:linear-gradient(180deg,#f8e5ac,#f3d88e)!important;
  box-shadow:0 7px 18px rgba(181,119,24,.12)!important;
  opacity:1!important;
}

.cake-guide-section .size-card h3{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:1.28rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  color:#29180f!important;
  opacity:1!important;
}

.cake-guide-section .size-card p{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.88rem!important;
  font-weight:550!important;
  line-height:1.3!important;
  color:#654936!important;
  opacity:1!important;
}

.cake-guide-section .size-card small{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.78rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.065em!important;
  color:#b66f12!important;
  text-transform:uppercase!important;
  opacity:1!important;
}

.cake-guide-section .size-card.most-ordered::after{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.68rem!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  color:#382216!important;
  background:#fffaf0!important;
  border-color:rgba(192,127,29,.42)!important;
  opacity:1!important;
}

.cake-ordering-section .collection-filters .filter-btn{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.84rem!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  color:#563721!important;
  background:#fffaf2!important;
  border-color:rgba(194,132,35,.38)!important;
  opacity:1!important;
}

.cake-ordering-section .collection-filters .filter-btn.active{
  font-weight:700!important;
  color:#2d1a10!important;
  background:linear-gradient(135deg,#d99b26,#efc45c)!important;
  border-color:transparent!important;
  box-shadow:0 8px 20px rgba(188,124,23,.18)!important;
}

/* Cakes page mobile small-text legibility */
@media (max-width:768px){
  .step-card .badge{
    width:40px;
    height:40px;
    font-size:.9rem;
    margin-bottom:10px;
  }
  .step-card .badge:after{
    width:6px;
    height:6px;
    border-width:1.3px;
  }

  .cake-steps-section .step-card h3{
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
    font-size:1.05rem!important;
    font-weight:600!important;
    line-height:1.2!important;
    color:#301d13!important;
    opacity:1!important;
  }

  .cake-steps-section .step-card p{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.78rem!important;
    font-weight:500!important;
    line-height:1.5!important;
    color:#6a5040!important;
    opacity:1!important;
  }

  .cake-guide-section .size-card .badge{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.92rem!important;
    font-weight:700!important;
    color:#2f1e14!important;
    opacity:1!important;
  }

  .cake-guide-section .size-card h3{
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
    font-size:1.08rem!important;
    font-weight:700!important;
    line-height:1.15!important;
    color:#29180f!important;
    opacity:1!important;
  }

  .cake-guide-section .size-card p{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.78rem!important;
    font-weight:550!important;
    line-height:1.3!important;
    color:#654936!important;
    opacity:1!important;
  }

  .cake-guide-section .size-card small{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.69rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.065em!important;
    color:#b66f12!important;
    text-transform:uppercase;
    opacity:1!important;
  }

  .cake-guide-section .size-card.most-ordered::after{
    font-size:.60rem!important;
    font-weight:700!important;
    letter-spacing:.055em!important;
    color:#382216!important;
    background:#fffaf0!important;
    border-color:rgba(192,127,29,.42)!important;
    opacity:1!important;
  }

  .cake-rate-starting{
    font-size:.76rem!important;
    font-weight:700!important;
    color:#8f5b18!important;
    opacity:1!important;
  }

  .cake-rate-info-strip span{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.72rem!important;
    font-weight:600!important;
    line-height:1.45!important;
    color:#5a3d2a!important;
    opacity:1!important;
  }

  .cake-ordering-section .collection-filters .filter-btn{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.74rem!important;
    font-weight:650!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    color:#563721!important;
    opacity:1!important;
  }

  .cake-ordering-section .collection-filters .filter-btn.active{
    color:#2d1a10!important;
    font-weight:700!important;
  }
}

@media (max-width:360px){
  .cake-steps-section .step-card h3{
    font-size:1.01rem!important;
  }

  .cake-steps-section .step-card p{
    font-size:.74rem!important;
  }

  .cake-rate-starting{
    font-size:.72rem!important;
  }

  .cake-rate-info-strip span{
    font-size:.68rem!important;
  }
}

/* Cake-rate feature labels: one real dot per item */
.cake-rate-info-strip .rate-feature-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.cake-rate-info-strip .rate-feature-item::before,
.cake-rate-info-strip .rate-feature-dot::before,
.cake-rate-info-strip .rate-feature-label::before{
  content:none!important;
  display:none!important;
}

.cake-rate-info-strip .rate-feature-dot{
  all:unset;
  display:inline-block!important;
  box-sizing:border-box!important;
  width:5px!important;
  height:5px!important;
  min-width:5px!important;
  min-height:5px!important;
  max-width:5px!important;
  max-height:5px!important;
  flex:0 0 5px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#d5a038!important;
  box-shadow:0 0 0 2px rgba(213,160,56,.12)!important;
  font-size:0!important;
  line-height:0!important;
}

.cake-rate-info-strip .rate-feature-label{
  all:unset;
  display:inline!important;
  font:inherit!important;
  color:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
}

/* Mobile cake photography: preserve every full cake without changing card content. */
@media (max-width:768px){
  .home-featured-cakes .product-card > .home-cake-preview-image{
    width:100%!important;
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
    object-fit:contain!important;
    object-position:center center!important;
    padding:6px!important;
    border-radius:12px!important;
    background:#fbf7ef!important;
    box-sizing:border-box!important;
    transform:none!important;
    scale:1!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-image,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-image-wrap{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:220px!important;
    aspect-ratio:1 / 1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#fbf7ef!important;
    box-sizing:border-box!important;
  }

  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-img,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media .card-img,
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-image-wrap .card-img{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    border-radius:12px!important;
    background:transparent!important;
    transform:none!important;
    scale:1!important;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card,
  .gallery-hero + .section .gallery-grid.cake-gallery .gallery-card{
    position:relative!important;
    aspect-ratio:1 / 1!important;
    min-height:220px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#fbf7ef!important;
  }

  .gallery-hero + .section .cake-gallery[data-gallery-dynamic] .gallery-card img,
  .gallery-hero + .section .gallery-grid.cake-gallery .gallery-card img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:6px!important;
    background:transparent!important;
    box-sizing:border-box!important;
    transform:none!important;
    scale:1!important;
  }

  .custom-inspiration-grid .gallery-item,
  .custom-inspiration-grid .gallery-item.tall{
    position:relative!important;
    width:100%!important;
    min-height:220px!important;
    aspect-ratio:1 / 1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#fbf7ef!important;
  }

  .custom-inspiration-grid .gallery-item img,
  .custom-inspiration-grid .gallery-item.tall img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:6px!important;
    background:transparent!important;
    box-sizing:border-box!important;
    transform:none!important;
    scale:1!important;
  }

  .cake-suggestion-card-img{
    object-fit:contain!important;
    object-position:center center!important;
    background:#fbf7ef!important;
    transform:none!important;
    scale:1!important;
  }

  .custom-enquiry-section .custom-guide-media{
    width:100%!important;
    height:auto!important;
    min-height:240px!important;
    aspect-ratio:1 / 1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#fbf7ef!important;
    box-sizing:border-box!important;
  }

  .custom-enquiry-section .custom-guide-media .custom-guide-image{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:8px!important;
    margin:0!important;
    border-radius:14px!important;
    background:transparent!important;
    box-sizing:border-box!important;
    transform:none!important;
    scale:1!important;
  }

  .custom-steps-section .custom-step-grid .step-card h3{
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
    font-size:1.08rem!important;
    font-weight:600!important;
    line-height:1.15!important;
    letter-spacing:.005em!important;
    color:#2d1a11!important;
    opacity:1!important;
    text-align:center!important;
    text-transform:none!important;
  }

  .custom-steps-section .custom-step-grid .step-card p{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.78rem!important;
    font-weight:500!important;
    line-height:1.45!important;
    letter-spacing:.005em!important;
    color:#654b3b!important;
    opacity:1!important;
    text-align:center!important;
    text-transform:none!important;
  }

  .custom-steps-section .custom-step-grid .step-card .badge{
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.78rem!important;
    font-weight:700!important;
    color:#352116!important;
    opacity:1!important;
  }
}

@media (max-width:360px){
  .custom-steps-section .custom-step-grid .step-card h3{
    font-size:1rem!important;
  }

  .custom-steps-section .custom-step-grid .step-card p{
    font-size:.74rem!important;
  }
}

/* Component typography hierarchy */
.about-story-section .about-copy h2{
  font-family:var(--font-display)!important;
  font-size:clamp(3.4rem,5.2vw,5.5rem)!important;
  font-weight:600!important;
  line-height:.98!important;
  letter-spacing:-.015em!important;
  color:var(--text-strong)!important;
  opacity:1!important;
}

.about-story-section .about-copy p:not(.kicker){
  max-width:68ch;
  font-family:var(--font-body)!important;
  font-size:1.08rem!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:1.75!important;
  letter-spacing:0!important;
  color:var(--text-body)!important;
  opacity:1!important;
}

.contact-quick-card h3{
  font-family:var(--font-display)!important;
  font-size:1.65rem!important;
  font-weight:650!important;
  line-height:1.15!important;
  color:#2c1a11!important;
  opacity:1!important;
}

.contact-quick-card p,
.contact-detail-list p,
.contact-detail-list p span{
  font-family:var(--font-body)!important;
  font-size:1rem!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:1.55!important;
  color:#674c3a!important;
  opacity:1!important;
}

.contact-detail-list strong{
  font-family:var(--font-body)!important;
  font-size:1rem!important;
  font-weight:700!important;
  color:#342116!important;
  opacity:1!important;
}

.contact-store-panel > .hero-actions .btn{
  font-family:var(--font-body)!important;
  font-size:.84rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.09em!important;
  opacity:1!important;
  text-transform:uppercase!important;
}

.cake-rate-menu .cake-rate-tier{
  font-family:var(--font-body)!important;
  font-size:.72rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  color:#b66e12!important;
  opacity:1!important;
}

.cake-rate-menu .cake-rate-title{
  font-family:var(--font-body)!important;
  font-size:1.2rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  color:#2f1d13!important;
  opacity:1!important;
}

.cake-rate-menu .cake-rate-subtitle{
  font-family:var(--font-body)!important;
  font-size:.88rem!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:1.45!important;
  color:#715341!important;
  opacity:1!important;
}

.cake-rate-menu .cake-rate-price-pill{
  font-family:var(--font-body)!important;
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  color:#20140d!important;
  opacity:1!important;
  white-space:nowrap!important;
}

.cake-rate-menu .cake-rate-view{
  font-family:var(--font-body)!important;
  font-size:.78rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.035em!important;
  color:#9c6017!important;
  opacity:1!important;
}

.cake-rate-menu .cake-rate-flavour{
  font-family:var(--font-body)!important;
  font-size:.78rem!important;
  font-weight:650!important;
  line-height:1.15!important;
  color:#4b2e1d!important;
  opacity:1!important;
}

.site-footer h3{
  font-family:var(--font-body)!important;
  font-size:.76rem!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  color:#d3a148!important;
  opacity:1!important;
  text-transform:uppercase!important;
}

.site-footer a,
.site-footer p{
  font-family:var(--font-body)!important;
  font-size:.88rem!important;
  font-weight:500!important;
  line-height:1.65!important;
  color:rgba(255,250,239,.82)!important;
  opacity:1!important;
}

.about-values-section .about-value-card h3{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:1.45rem!important;
  font-weight:600!important;
  line-height:1.15!important;
  color:#2c1a11!important;
  opacity:1!important;
}

.about-values-section .about-value-card p{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.98rem!important;
  font-weight:500!important;
  line-height:1.65!important;
  color:#654a38!important;
  opacity:1!important;
}

.about-values-section .about-value-card > span{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.84rem!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  color:#c27d19!important;
  opacity:1!important;
}

.gallery-page .gallery-hero + .section .design-filters .filter-btn,
.gallery-page .gallery-hero + .section .weight-filters .filter-btn{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.78rem!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  color:#4b3020!important;
  opacity:1!important;
}

.gallery-page .gallery-hero + .section .design-filters .filter-btn.active,
.gallery-page .gallery-hero + .section .weight-filters .filter-btn.active{
  font-weight:700!important;
  color:#2d1b10!important;
}

.gallery-page .gallery-hero + .section .cake-filter-row + .cake-filter-row::before{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  color:#aa6b17!important;
  opacity:1!important;
}

.latest-menu-page .premium-menu-search{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.88rem!important;
  font-weight:500!important;
  color:#3f2a1d!important;
  opacity:1!important;
}

.latest-menu-page .premium-menu-search::placeholder{
  color:#806a5c!important;
  font-weight:500!important;
  opacity:1!important;
}

.latest-menu-page .premium-menu-tabs .filter-btn{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.72rem!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  color:#4a2e1d!important;
  opacity:1!important;
}

.latest-menu-page .premium-menu-tabs .filter-btn.active{
  color:#2e1b10!important;
  font-weight:700!important;
}

.latest-menu-page .latest-menu-card > h3{
  font-family:var(--font-display)!important;
  font-size:2.2rem!important;
  font-weight:650!important;
  line-height:1.05!important;
  letter-spacing:-.005em!important;
  color:var(--text-strong)!important;
  opacity:1!important;
}

.latest-menu-page .premium-menu-row strong{
  font-family:var(--font-display)!important;
  font-size:1.18rem!important;
  font-weight:650!important;
  font-style:normal!important;
  line-height:1.2!important;
  letter-spacing:.005em!important;
  color:#342015!important;
  opacity:1!important;
  text-transform:none!important;
}

.latest-menu-page .premium-menu-row small{
  font-family:var(--font-body)!important;
  font-size:.84rem!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  color:#6d503e!important;
  opacity:1!important;
  text-transform:none!important;
}

.latest-menu-page .premium-menu-action b{
  font-family:var(--font-body)!important;
  font-size:1.08rem!important;
  font-weight:700!important;
  line-height:1!important;
  color:var(--text-gold)!important;
  opacity:1!important;
  white-space:nowrap!important;
}

.latest-menu-page .menu-plus-btn{
  font-family:Arial,sans-serif!important;
  font-size:1.25rem!important;
  font-weight:700!important;
  line-height:1!important;
  color:#24160e!important;
}

@media (max-width:768px){
  .about-story-section .about-copy h2{
    font-size:clamp(2.7rem,12vw,4rem)!important;
    line-height:1.02!important;
  }

  .about-story-section .about-copy p:not(.kicker),
  .contact-quick-card p,
  .contact-detail-list p,
  .contact-detail-list p span{
    font-size:.86rem!important;
  }

  .contact-detail-list strong{
    font-size:.86rem!important;
  }

  .latest-menu-page .latest-menu-card > h3{
    font-size:1.75rem!important;
    font-weight:650!important;
  }

  .latest-menu-page .premium-menu-row strong{
    font-size:1.03rem!important;
    font-weight:650!important;
  }

  .latest-menu-page .premium-menu-row small{
    font-size:.76rem!important;
  }

  .latest-menu-page .premium-menu-action b{
    font-size:.94rem!important;
  }

  .cake-rate-menu .cake-rate-flavour{
    font-size:.78rem!important;
    font-weight:650!important;
  }

  .about-values-section .about-value-card h3{
    font-size:1.12rem!important;
    font-weight:600!important;
  }

  .about-values-section .about-value-card p{
    font-size:.78rem!important;
    font-weight:500!important;
  }

  .about-values-section .about-value-card > span{
    font-size:.72rem!important;
    font-weight:700!important;
  }

  .gallery-page .gallery-hero + .section .design-filters .filter-btn,
  .gallery-page .gallery-hero + .section .weight-filters .filter-btn{
    font-size:.68rem!important;
    font-weight:600!important;
  }

  .gallery-page .gallery-hero + .section .design-filters .filter-btn.active,
  .gallery-page .gallery-hero + .section .weight-filters .filter-btn.active{
    font-weight:700!important;
  }

  .latest-menu-page .premium-menu-search{
    font-size:.86rem!important;
    font-weight:500!important;
  }

  .latest-menu-page .premium-menu-tabs .filter-btn{
    font-size:.69rem!important;
    font-weight:650!important;
  }

  .latest-menu-page .premium-menu-tabs .filter-btn.active{
    font-weight:700!important;
  }

}

/* Menu page: uniform visibility from the first row to the last. */
.latest-menu-page .latest-menu-card::before,
.latest-menu-page .latest-menu-card::after,
.latest-menu-page .premium-menu-tools::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}

.latest-menu-page .latest-menu-card,
.latest-menu-page .premium-menu-rows,
.latest-menu-page .premium-menu-row{
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:none!important;
  opacity:1!important;
}

.latest-menu-page .latest-menu-card.reveal{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}

.latest-menu-page .premium-menu-row,
.latest-menu-page .premium-menu-row:nth-child(n){
  background:transparent;
}

.latest-menu-page .premium-menu-row > span,
.latest-menu-page .premium-menu-row strong,
.latest-menu-page .premium-menu-row small,
.latest-menu-page .premium-menu-action,
.latest-menu-page .premium-menu-action b,
.latest-menu-page .menu-plus-btn{
  filter:none!important;
  opacity:1!important;
}

/* Shared header homepage link */
.navbar-brand{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:inherit;
  font:inherit;
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  text-align:left;
  text-decoration:none;
}

.navbar-brand:hover,
.navbar-brand:focus-visible{
  color:inherit;
  text-decoration:none;
}

/* Homepage desktop feature pills */
@media (min-width:769px){
  body:has(.hero-slideshow) .trust-row.slim{
    width:max-content;
    max-width:100%;
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:center;
    gap:14px;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  body:has(.hero-slideshow) .trust-row.slim > .hero-feature{
    min-height:46px;
    padding:10px 24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid rgba(201,143,43,.34);
    border-radius:999px;
    background:rgba(255,249,237,.9);
    box-shadow:none;
    font-family:"Montserrat","Poppins",Arial,sans-serif;
    font-size:.88rem;
    font-weight:650;
    line-height:1.2;
    letter-spacing:.02em;
    color:#4a2d1c;
    text-align:center;
    white-space:nowrap;
    box-sizing:border-box;
  }

  body:has(.hero-slideshow) .trust-row.slim .hero-feature-dot{
    all:unset;
    display:inline-block;
    box-sizing:border-box;
    width:6px;
    height:6px;
    min-width:6px;
    min-height:6px;
    flex:0 0 6px;
    padding:0;
    margin:0;
    border-radius:50%;
    background:#d2a03c;
    box-shadow:0 0 0 3px rgba(210,160,60,.13);
  }
}

/* Homepage desktop category card headings */
@media (min-width:769px){
  .premium-category-section .premium-category-body{
    min-height:198px;
    padding:22px 20px 26px;
  }

  .premium-category-section .category-card-heading{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
  }

  .premium-category-section .premium-category-body .category-card-title{
    margin:0!important;
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
    font-size:1.28rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.01em!important;
    color:#2f1d14!important;
    opacity:1!important;
    text-align:center!important;
  }

  .premium-category-section .premium-category-body p{
    max-width:190px;
    margin:12px auto 0;
    font-family:"Montserrat","Poppins",Arial,sans-serif;
    font-size:.94rem;
    font-weight:500;
    line-height:1.55;
    letter-spacing:0;
    color:#624532;
    opacity:1;
    text-align:center;
  }

  .premium-category-section .premium-category-body > span{
    margin-top:auto;
    padding-top:18px;
    font-family:"Montserrat","Poppins",Arial,sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.13em;
    color:#ba7617;
    opacity:1;
  }
}

@media (max-width:768px){
  .premium-category-section .premium-category-body .category-card-title{
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
    font-size:1.08rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.01em!important;
    color:#2f1d14!important;
    opacity:1!important;
    text-align:center!important;
  }
}

/* Homepage collection cards: preserve the complete product silhouette. */
.premium-category-section .premium-category-media{
  width:100%;
  height:245px;
  flex:0 0 245px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:10px;
  box-sizing:border-box;
  border-radius:22px 22px 0 0;
  background:#fbf7f0;
}

.premium-category-section .premium-category-card .premium-category-media img{
  width:100%;
  height:100%;
  max-width:100%;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center;
  display:block;
  border-radius:14px 14px 0 0;
  transform:none;
  image-rendering:auto;
}

.premium-category-section .premium-category-card:hover .premium-category-media img{
  transform:none;
  filter:saturate(1.04) contrast(1.02);
}

@media (max-width:640px){
  .premium-category-section .premium-category-media{
    height:132px;
    flex-basis:132px;
    padding:6px;
    border-radius:16px 16px 0 0;
  }

  .premium-category-section .premium-category-card .premium-category-media img{
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    border-radius:11px 11px 0 0;
  }
}

/* Pastries filters and visible item typography */
.pastry-menu-section .pastry-filter-row .filter-btn{
  padding:11px 18px!important;
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.94rem!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  line-height:1!important;
  background:#fffaf2!important;
  border:1px solid rgba(194,132,35,.35)!important;
  color:#5b3a22!important;
  opacity:1!important;
  white-space:nowrap;
}

.pastry-menu-section .pastry-filter-row .filter-btn.active{
  background:linear-gradient(135deg,#d89a28,#efc45e)!important;
  color:#24160f!important;
  border-color:transparent!important;
  box-shadow:0 8px 18px rgba(188,124,23,.16)!important;
}

.pastry-menu-section .pastry-card h3{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:1.18rem!important;
  font-weight:700!important;
  line-height:1.22!important;
  letter-spacing:.01em!important;
  color:#2b1a11!important;
  opacity:1!important;
  filter:none!important;
}

.pastry-menu-section .pastry-card .pastry-price{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.86rem!important;
  font-weight:600!important;
  line-height:1.35!important;
  color:#6a4b34!important;
  opacity:1!important;
  filter:none!important;
}

@media (max-width:768px){
  .pastry-menu-section .pastry-filter-row{
    flex-wrap:wrap;
  }

  .pastry-menu-section .pastry-filter-row .filter-btn{
    padding:10px 12px!important;
    font-size:.80rem!important;
    font-weight:700!important;
  }

  .pastry-menu-section .pastry-card h3{
    font-size:1.02rem!important;
    font-weight:700!important;
  }
}

/* Contact quick-card icon system */
a.contact-quick-card{
  color:inherit;
  text-decoration:none;
}

.contact-icon{
  width:64px;
  height:64px;
  flex:0 0 64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid;
  border-radius:50%;
  box-shadow:0 12px 28px rgba(43,22,15,.08);
}

.contact-icon svg{
  width:29px;
  height:29px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-icon--call{
  color:#2878c7;
  background:rgba(40,120,199,.10);
  border-color:rgba(40,120,199,.22);
}

.contact-icon--whatsapp{
  color:#25D366;
  background:rgba(37,211,102,.10);
  border-color:rgba(37,211,102,.24);
}

.contact-icon--location{
  color:#dc4b3e;
  background:rgba(220,75,62,.10);
  border-color:rgba(220,75,62,.22);
}

.contact-icon--hours{
  color:#d58a20;
  background:rgba(213,138,32,.11);
  border-color:rgba(213,138,32,.24);
}

@media (max-width:768px){
  .contact-icon{
    width:52px;
    height:52px;
    flex-basis:52px;
  }

  .contact-icon svg{
    width:24px;
    height:24px;
  }
}

/* About story information badges */
.about-story-section .about-story-badges{
  display:flex;
  flex-wrap:wrap;
  max-width:100%;
}

.about-story-section .about-story-badges > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  max-width:100%;
  box-sizing:border-box;
  padding:14px 18px;
  border:1px solid rgba(194,132,35,.45);
  border-radius:14px;
  background:linear-gradient(135deg,#fffdf7,#fff5dc);
  box-shadow:0 7px 18px rgba(153,99,24,.10);
  font-family:"Montserrat","Poppins",Arial,sans-serif;
  font-size:.82rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.095em;
  color:#3b2417;
  opacity:1;
  text-transform:uppercase;
}

.about-story-section .about-story-badges > span::before{
  width:7px;
  height:7px;
  min-width:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#d49b32;
  box-shadow:0 0 0 4px rgba(212,155,50,.14);
}

@media (max-width:768px){
  .about-story-section .about-story-badges{
    width:100%;
    flex-wrap:wrap;
  }

  .about-story-section .about-story-badges > span{
    padding:12px 14px;
    font-size:.73rem;
    font-weight:700;
    letter-spacing:.07em;
  }

  .about-story-section .about-story-badges > span::before{
    width:6px;
    height:6px;
    min-width:6px;
    flex-basis:6px;
  }
}

/* About values: slightly stronger card contrast without layout changes. */
.about-values-section .about-value-card{
  background:#fffdf9;
  border-color:rgba(190,132,42,.28);
  box-shadow:0 10px 28px rgba(112,72,29,.08);
}

.about-values-section .about-value-card h3{
  color:#26170f!important;
  font-weight:700!important;
  opacity:1!important;
}

.about-values-section .about-value-card p{
  color:#513a2b!important;
  opacity:1!important;
}

.about-values-section .about-value-card > span{
  color:#b87518!important;
  opacity:1!important;
}

/* Cake product photography: show each complete cake inside existing media areas. */
.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#fffaf3!important;
  box-sizing:border-box!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media .cake-product-img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  border-radius:12px!important;
  background:transparent!important;
  transform:none!important;
  scale:1!important;
}

.home-featured-cakes .product-card > .home-cake-preview-image{
  object-fit:contain!important;
  object-position:center center!important;
  padding:12px!important;
  overflow:hidden!important;
  border-radius:18px 18px 0 0!important;
  background:#fffaf3!important;
  box-sizing:border-box!important;
  transform:none!important;
  scale:1!important;
}

.home-featured-cakes .product-card:hover > .home-cake-preview-image{
  transform:none!important;
  scale:1!important;
}

@media (max-width:768px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media{
    padding:8px!important;
  }

  .home-featured-cakes .product-card > .home-cake-preview-image{
    padding:8px!important;
    border-radius:14px 14px 0 0!important;
  }
}

/* Homepage bakery-quality feature cards */
.bakery-quality-section .bakery-quality-card{
  padding:0;
  overflow:visible;
  border:1px solid rgba(190,132,42,.28);
  border-radius:22px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(105,65,24,.09);
}

.bakery-quality-section .bakery-quality-card .card-body{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  padding:28px 22px;
  overflow:visible;
}

.bakery-quality-section .feature-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#a96b16;
  background:linear-gradient(145deg,#fff2c8,#f5d98e);
  border:1px solid rgba(184,118,24,.26);
  box-shadow:0 8px 20px rgba(158,99,21,.12);
}

.bakery-quality-section .feature-icon svg{
  width:27px;
  height:27px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bakery-quality-section .bakery-quality-card h3{
  width:100%;
  min-height:0;
  margin:0;
  overflow:visible;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
  font-size:1.48rem;
  font-weight:700;
  line-height:1.15;
  letter-spacing:.005em;
  color:#29180f;
  opacity:1;
  text-align:center;
  overflow-wrap:anywhere;
}

.bakery-quality-section .bakery-quality-card p{
  width:100%;
  margin:0;
  overflow:visible;
  font-family:"Montserrat","Poppins",Arial,sans-serif;
  font-size:.88rem;
  font-weight:500;
  line-height:1.55;
  color:#604431;
  opacity:1;
  text-align:center;
}

@media (max-width:768px){
  .bakery-quality-section .bakery-quality-card .card-body{
    padding:22px 16px;
  }

  .bakery-quality-section .feature-icon{
    width:50px;
    height:50px;
    flex-basis:50px;
  }

  .bakery-quality-section .feature-icon svg{
    width:23px;
    height:23px;
  }

  .bakery-quality-section .bakery-quality-card h3{
    font-size:1.18rem;
    font-weight:700;
  }

  .bakery-quality-section .bakery-quality-card p{
    font-size:.78rem;
    font-weight:500;
  }
}

/* Custom Cakes process cards: clearer contrast with unchanged layout. */
.custom-steps-section .custom-step-grid .step-card{
  background:#fffdf8;
  border:1px solid rgba(190,132,42,.30);
  border-radius:20px;
  box-shadow:0 12px 30px rgba(105,65,24,.09);
}

.custom-steps-section .custom-step-grid .step-card h3{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
  font-size:1.38rem!important;
  font-weight:700!important;
  line-height:1.16!important;
  letter-spacing:.005em!important;
  color:#29180f!important;
  opacity:1!important;
  text-align:center!important;
}

.custom-steps-section .custom-step-grid .step-card p{
  font-family:"Montserrat","Poppins",Arial,sans-serif!important;
  font-size:.90rem!important;
  font-weight:500!important;
  line-height:1.55!important;
  color:#604431!important;
  opacity:1!important;
  text-align:center!important;
}

.custom-steps-section .custom-step-grid .step-card .badge{
  color:#352116!important;
  background:linear-gradient(145deg,#fff0bd,#f3d37e)!important;
  border:1px solid rgba(184,118,24,.30)!important;
  box-shadow:0 8px 20px rgba(158,99,21,.13)!important;
  font-weight:700!important;
  opacity:1!important;
}

.custom-steps-section .custom-step-grid .step-card .badge::after{
  border-color:#5b3a20;
  opacity:.72;
}

/* Cakes ordering steps: subtly refine only the numeral and chevron. */
.cake-steps-section .cake-step-grid .step-card .badge{
  flex-direction:column;
  gap:1px;
  font-size:17px;
  line-height:.9;
}

.cake-steps-section .cake-step-grid .step-card .badge::after{
  position:static;
  width:7px;
  height:7px;
  flex:0 0 7px;
  transform:rotate(45deg);
}

/* Custom-cake steps: keep the numeral and chevron balanced inside the existing badge. */
.custom-steps-section .custom-step-grid .step-card .badge{
  flex-direction:column;
  gap:1px;
  font-size:18px!important;
  font-weight:700!important;
  line-height:.9;
}

.custom-steps-section .custom-step-grid .step-card .badge::after{
  position:static;
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-width:0 1.25px 1.25px 0;
  transform:rotate(45deg);
}

@media (max-width:768px){
  .cake-steps-section .cake-step-grid .step-card .badge{
    font-size:16px;
  }

  .cake-steps-section .cake-step-grid .step-card .badge::after{
    width:5px;
    height:5px;
    flex-basis:5px;
  }

  .custom-steps-section .custom-step-grid .step-card h3{
    font-size:1.16rem!important;
    font-weight:700!important;
  }

  .custom-steps-section .custom-step-grid .step-card p{
    font-size:.80rem!important;
    font-weight:500!important;
  }

  .custom-steps-section .custom-step-grid .step-card .badge{
    font-size:17px!important;
  }
}

/* Homepage hero: premium emphasis for the two brand-value trust badges only. */
.hero-trust-row .hero-trust-chip:not(.hero-veg-badge){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:12px 20px;
  border:1.5px solid #e0b45e;
  border-radius:999px;
  background:linear-gradient(180deg,#fffaf0 0%,#f9f0dd 100%);
  box-shadow:0 6px 16px rgba(191,145,58,.10);
  color:#8a5a17;
  font-family:"Montserrat","Poppins",Arial,sans-serif;
  font-size:.95rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  opacity:1;
}

.hero-trust-row .hero-trust-chip:not(.hero-veg-badge)::before{
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  background:#d9a441;
  box-shadow:0 0 0 4px rgba(217,164,65,.14);
}

@media (max-width:768px){
  .hero-trust-row{
    width:100%;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    padding-inline:0!important;
    box-sizing:border-box!important;
  }

  .hero-trust-row .hero-trust-chip:not(.hero-veg-badge){
    flex:0 1 auto!important;
    min-width:0!important;
    min-height:34px!important;
    gap:5px!important;
    padding:7px 8px!important;
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.67rem!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }

  .hero-trust-row .hero-trust-chip:not(.hero-veg-badge)::before{
    width:7px!important;
    height:7px!important;
    min-width:7px!important;
    flex:0 0 7px!important;
    box-shadow:0 0 0 3px rgba(217,164,65,.13)!important;
  }

  .hero-trust-row .hero-veg-badge{
    flex:0 1 auto!important;
    min-width:0!important;
    min-height:34px!important;
    gap:5px!important;
    padding:7px 8px!important;
    font-size:.67rem!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
}

@media (max-width:360px){
  .hero-trust-row{
    gap:3px!important;
  }

  .hero-trust-row .hero-trust-chip:not(.hero-veg-badge),
  .hero-trust-row .hero-veg-badge{
    min-height:31px!important;
    gap:4px!important;
    padding:6px!important;
    font-size:.61rem!important;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol{
    width:13px;
    height:13px;
    flex-basis:13px;
  }
}

/* Homepage hero trust row: keep the vegetarian badge and symbol centred. */
@media (max-width:1024px){
  .hero-trust-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
  }

  .hero-trust-row .hero-veg-badge{
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    box-sizing:border-box;
    line-height:1;
    vertical-align:middle;
    position:static;
    top:auto;
    bottom:auto;
    transform:none;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol{
    width:15px;
    height:15px;
    min-width:15px;
    flex:0 0 15px;
    margin:0;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    box-sizing:border-box;
    line-height:1;
    vertical-align:middle;
    position:static;
    top:auto;
    bottom:auto;
    transform:none;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol span{
    display:block;
    flex:0 0 auto;
    margin:0;
    padding:0;
    position:static;
    transform:none;
  }
}

@media (min-width:769px) and (max-width:1024px){
  .hero-trust-row .hero-veg-badge{
    min-height:44px;
  }
}

@media (max-width:768px){
  .hero-trust-row{
    align-items:center!important;
  }

  .hero-trust-row .hero-veg-badge{
    min-height:34px!important;
    transform:none!important;
    top:auto!important;
    bottom:auto!important;
  }
}

@media (max-width:360px){
  .hero-trust-row .hero-veg-badge{
    min-height:31px!important;
  }
}

/* Homepage cake categories: slightly larger three-column cards on phones. */
@media (max-width:768px){
  .premium-category-section .premium-category-grid{
    width:100%!important;
    max-width:380px!important;
    margin-inline:auto!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:11px!important;
    padding-inline:8px!important;
    box-sizing:border-box!important;
  }

  .premium-category-section .premium-category-card{
    width:100%!important;
    min-width:0!important;
    min-height:176px!important;
    border-radius:15px!important;
    overflow:hidden!important;
  }

  .premium-category-section .premium-category-media{
    width:100%!important;
    height:132px!important;
    flex:0 0 132px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#fffaf2!important;
  }

  .premium-category-section .premium-category-card .premium-category-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
  }

  .premium-category-section .premium-category-body{
    min-height:0!important;
    padding:12px 5px 13px!important;
  }

  .premium-category-section .premium-category-body .category-card-title{
    margin:0!important;
    font-family:"Cormorant Garamond","Playfair Display",Georgia,serif!important;
    font-size:.98rem!important;
    font-weight:700!important;
    line-height:1.08!important;
    color:#2d1a11!important;
    text-align:center!important;
    opacity:1!important;
    overflow-wrap:anywhere;
  }

  .premium-category-section .premium-category-body p,
  .premium-category-section .premium-category-body > span{
    display:none!important;
  }
}

@media (max-width:360px){
  .premium-category-section .premium-category-grid{
    gap:7px!important;
    padding-inline:5px!important;
  }

  .premium-category-section .premium-category-card{
    min-height:162px!important;
  }

  .premium-category-section .premium-category-media{
    height:102px!important;
    flex-basis:102px!important;
  }

  .premium-category-section .premium-category-body .category-card-title{
    padding-inline:3px!important;
    font-size:.90rem!important;
  }
}

/* Header brand name only. */
.site-header .navbar-brand > .site-brand-name{
  flex-shrink:0;
  font-family:"Libre Baskerville",Georgia,serif!important;
  font-size:1.08rem!important;
  font-weight:700!important;
  font-style:normal!important;
  font-variant:normal!important;
  line-height:1!important;
  letter-spacing:-.015em!important;
  color:#29180f!important;
  text-transform:none!important;
  white-space:nowrap!important;
  opacity:1!important;
}

@media (max-width:1024px){
  .site-header .navbar-brand > .site-brand-name{
    font-size:1.08rem!important;
    letter-spacing:-.015em!important;
  }
}

@media (max-width:768px){
  .site-header .navbar-brand{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }

  .site-header .navbar-brand > .site-brand-name{
    max-width:none!important;
    min-width:0!important;
    flex-shrink:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-family:"Libre Baskerville",Georgia,serif!important;
    font-size:.96rem!important;
    font-weight:700!important;
    font-style:normal!important;
    font-variant:normal!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    text-transform:none!important;
    color:#29180f!important;
    white-space:nowrap!important;
    opacity:1!important;
  }
}

@media (max-width:360px){
  .site-header .navbar-brand > .site-brand-name{
    font-size:.88rem!important;
    letter-spacing:-.025em!important;
  }
}

/* Cakes collection mobile: keep complete portrait and square cakes in frame. */
@media (max-width:768px){
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap.cake-product-image{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    overflow:hidden!important;
    border-radius:16px!important;
    background:#fbf7ef!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap .card-img.cake-product-img{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    border-radius:10px!important;
    background:transparent!important;
    clip-path:none!important;
    transform:none!important;
    scale:1!important;
  }
}

/* Desktop-site resilience: fluid media and touch-safe desktop controls. */
video,
iframe{
  max-width:100%;
}

main,
section,
.container{
  min-width:0;
}

@media (hover:none) and (pointer:coarse) and (min-width:769px){
  .hero{
    min-height:auto;
  }

  .site-header .nav-links a,
  .site-header .nav-actions > a,
  .site-header .nav-actions > button,
  .btn,
  .filter-btn,
  .menu-plus-btn,
  input,
  select,
  textarea{
    min-height:42px;
  }

  .site-header .nav-links a,
  .site-header .nav-actions > a,
  .site-header .nav-actions > button,
  .btn,
  .filter-btn,
  .menu-plus-btn{
    touch-action:manipulation;
  }
}

/* Cakes page: complete, balanced product cards on real phone widths. */
@media (max-width:768px){
  body:has(.cake-ordering-section) .cake-ordering-section{
    padding-top:20px!important;
    scroll-margin-top:calc(var(--mobile-header-height) + 16px);
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:14px 12px!important;
    margin-inline:auto!important;
    padding:16px 12px 32px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .product-card,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-order-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    margin:0!important;
    padding:9px!important;
    border:1px solid rgba(196,139,46,.22)!important;
    border-radius:17px!important;
    background:#fffdf8!important;
    box-shadow:0 8px 22px rgba(91,55,20,.07)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    opacity:1!important;
    transform:none!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap.cake-product-image{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:5px!important;
    border:0!important;
    border-radius:13px!important;
    background:#fbf7ef!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap .card-img.cake-product-img{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    aspect-ratio:auto!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border-radius:9px!important;
    background:transparent!important;
    object-fit:contain!important;
    object-position:center center!important;
    clip-path:none!important;
    opacity:1!important;
    transform:none!important;
    scale:1!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item-info.cake-card-body{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    margin:0!important;
    padding:12px 3px 3px!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-weight,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-flavour{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 5px!important;
    padding:0!important;
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.78rem!important;
    font-weight:600!important;
    line-height:1.35!important;
    letter-spacing:0!important;
    color:#513523!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row{
    width:100%!important;
    min-width:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin:0!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-price{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:12px 0 11px!important;
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:clamp(.82rem,3.4vw,1rem)!important;
    font-weight:700!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    color:#b36c0e!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-cart-btn.add-to-cart-btn{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    height:auto!important;
    margin-top:auto!important;
    padding:9px 7px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-family:"Montserrat","Poppins",Arial,sans-serif!important;
    font-size:.68rem!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}

/* Cakes pagination: unloaded/filtered cards must never reserve layout space. */
.cake-ordering-section .cake-product-grid[data-cakes-dynamic]{
  width:100%!important;
  max-width:1180px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:32px 26px!important;
  grid-auto-rows:auto!important;
  align-content:start!important;
  justify-content:start!important;
  align-items:start!important;
  margin-inline:auto!important;
  padding:0!important;
}

.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card.is-unloaded,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card.is-filtered-out,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card.card-hidden,
.cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card[hidden]{
  display:none!important;
}

.cake-ordering-section .load-more-cakes-wrapper{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:28px 0 0!important;
  padding:0!important;
  display:flex;
  justify-content:center;
}

.cake-ordering-section .load-more-cakes-wrapper[hidden]{
  display:none!important;
  margin:0!important;
  padding:0!important;
}

@media (max-width:1023px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-content:stretch!important;
  }
}

@media (max-width:640px){
  .cake-ordering-section .cake-product-grid[data-cakes-dynamic]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

.custom-inspiration-grid .inspiration-card{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.custom-inspiration-grid .inspiration-card:hover,
.custom-inspiration-grid .inspiration-card:focus-visible{
  color:inherit;
  text-decoration:none;
}

.cake-gallery[data-gallery-dynamic] .gallery-card.gallery-card--linked{
  outline:2px solid rgba(201,150,63,.82);
  outline-offset:4px;
  box-shadow:0 0 0 7px rgba(201,150,63,.16),0 18px 42px rgba(111,67,20,.18);
}

.celebration-date-field{
  position:relative;
}

.custom-cake-enquiry-form .celebration-date-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 15px;
  color:var(--chocolate);
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.celebration-date-trigger[aria-invalid="true"]{
  border-color:#b85c3b!important;
  box-shadow:0 0 0 3px rgba(184,92,59,.12)!important;
}

.celebration-date-chevron{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}

.celebration-date-trigger[aria-expanded="true"] .celebration-date-chevron{
  transform:translateY(2px) rotate(225deg);
}

.celebration-date-options{
  position:absolute;
  z-index:30;
  top:calc(100% + 7px);
  left:0;
  right:0;
  display:grid;
  gap:5px;
  padding:8px;
  border:1px solid rgba(200,159,61,.32);
  border-radius:15px;
  background:#fffaf0;
  box-shadow:0 16px 36px rgba(76,45,20,.16);
}

.celebration-date-options[hidden]{
  display:none;
}

.celebration-date-option{
  width:100%;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--chocolate);
  font:inherit;
  font-size:.9rem;
  font-weight:650;
  text-align:left;
  cursor:pointer;
}

.celebration-date-option:hover,
.celebration-date-option:focus-visible,
.celebration-date-option[aria-selected="true"]{
  outline:none;
  background:linear-gradient(135deg,#f8e5ac,#f3d37e);
}

.celebration-date-error{
  color:#9b452f;
  font-size:.76rem;
  font-weight:700;
}

.celebration-date-error[hidden]{
  display:none;
}

.celebration-time-field{
  position:relative;
  grid-column:2;
}

.custom-cake-enquiry-form .celebration-time-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 15px;
  color:var(--chocolate);
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.celebration-time-trigger[aria-invalid="true"]{
  border-color:#b85c3b!important;
  box-shadow:0 0 0 3px rgba(184,92,59,.12)!important;
}

.celebration-time-chevron{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}

.celebration-time-trigger[aria-expanded="true"] .celebration-time-chevron{
  transform:translateY(2px) rotate(225deg);
}

.celebration-time-options{
  position:absolute;
  z-index:30;
  top:calc(100% + 7px);
  left:0;
  right:0;
  display:grid;
  gap:5px;
  max-height:min(360px,55vh);
  overflow-y:auto;
  padding:8px;
  border:1px solid rgba(200,159,61,.32);
  border-radius:15px;
  background:#fffaf0;
  box-shadow:0 16px 36px rgba(76,45,20,.16);
}

.celebration-time-options[hidden]{
  display:none;
}

.celebration-time-option{
  width:100%;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--chocolate);
  font:inherit;
  font-size:.9rem;
  font-weight:650;
  text-align:left;
  cursor:pointer;
}

.celebration-time-option:hover,
.celebration-time-option:focus-visible,
.celebration-time-option[aria-selected="true"]{
  outline:none;
  background:linear-gradient(135deg,#f8e5ac,#f3d37e);
}

.celebration-time-error{
  color:#9b452f;
  font-size:.76rem;
  font-weight:700;
}

.celebration-time-error[hidden]{
  display:none;
}

/* Custom enquiry date/time controls match the full-width form selects. */
.custom-cake-enquiry-form .celebration-date-field,
.custom-cake-enquiry-form .celebration-time-field{
  width:100%;
  min-width:0;
}

.custom-cake-enquiry-form .celebration-date-trigger,
.custom-cake-enquiry-form .celebration-time-trigger{
  width:100%;
  min-width:0;
  height:58px;
  min-height:58px;
  padding:0 18px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  border:1px solid rgba(200,159,61,.22);
  border-radius:15px;
  background:rgba(255,253,248,.92);
  color:var(--chocolate);
  font-family:inherit;
  font-size:17px;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
}

.custom-cake-enquiry-form [data-celebration-date-display],
.custom-cake-enquiry-form [data-celebration-time-display]{
  min-width:0;
  flex:1 1 auto;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-transform:none;
  letter-spacing:0;
}

.custom-cake-enquiry-form .celebration-date-chevron,
.custom-cake-enquiry-form .celebration-time-chevron{
  flex:0 0 8px;
  margin-left:auto;
}

@media (min-width:1024px){
  .custom-cake-enquiry-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:20px;
    align-items:start;
  }

  .custom-cake-enquiry-form .occasion-field{
    grid-column:1;
    grid-row:1;
  }

  .custom-cake-enquiry-form .celebration-date-field{
    grid-column:2;
    grid-row:1;
  }

  .custom-cake-enquiry-form .cake-size-field{
    grid-column:1;
    grid-row:2;
  }

  .custom-cake-enquiry-form .celebration-time-field{
    grid-column:2;
    grid-row:2;
  }

  .custom-cake-enquiry-form .custom-flavour-field{
    grid-column:1 / -1;
    grid-row:3;
  }

  .custom-cake-enquiry-form .occasion-field,
  .custom-cake-enquiry-form .celebration-date-field,
  .custom-cake-enquiry-form .cake-size-field,
  .custom-cake-enquiry-form .celebration-time-field,
  .custom-cake-enquiry-form .custom-flavour-field,
  .custom-cake-enquiry-form select,
  .custom-cake-enquiry-form .celebration-date-trigger,
  .custom-cake-enquiry-form .celebration-time-trigger{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  .custom-cake-enquiry-form .cake-size-field select,
  .custom-cake-enquiry-form .celebration-time-trigger{
    height:58px;
    min-height:58px;
    padding:0 18px;
    border-radius:15px;
    vertical-align:middle;
  }
}

@media (max-width:1023px){
  .custom-cake-enquiry-form{
    grid-template-columns:minmax(0,1fr);
  }

  .custom-cake-enquiry-form .occasion-field,
  .custom-cake-enquiry-form .celebration-date-field,
  .custom-cake-enquiry-form .celebration-time-field,
  .custom-cake-enquiry-form .cake-size-field,
  .custom-cake-enquiry-form .custom-flavour-field{
    width:100%;
    min-width:0;
    grid-column:1;
    grid-row:auto;
  }
}

.footer-trust-points{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin:13px 0 10px;
  color:var(--gold-soft);
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.015em;
}

.footer-trust-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.footer-trust-points span::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--gold-soft);
  box-shadow:0 0 0 2px rgba(200,159,61,.10);
}

.site-footer .footer-instagram{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:50%;
  background:transparent;
  line-height:0;
  cursor:pointer;
}

.site-footer .footer-instagram::after{
  content:none;
}

.site-footer .footer-instagram img{
  width:34px;
  height:34px;
  max-width:none;
  display:block;
  object-fit:contain;
  border-radius:50%;
}

.site-footer .footer-instagram:hover,
.site-footer .footer-instagram:focus-visible{
  color:inherit;
  transform:translateY(-1px);
}

.gallery-strip .home-gallery-card{
  cursor:pointer;
}

@media (max-width:768px){
  .site-footer .footer-instagram{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    flex-basis:36px;
  }

  .site-footer .footer-instagram img{
    width:32px;
    height:32px;
  }

  .footer-trust-points{
    gap:9px;
    margin:12px 0 9px;
    font-size:15px;
  }

  .celebration-time-field{
    grid-column:auto;
  }

  .celebration-date-options{
    max-height:min(360px,60vh);
    overflow-y:auto;
  }

  .celebration-date-option{
    min-height:42px;
  }

  .celebration-time-option{
    min-height:42px;
  }
}

/* Custom Cakes tablet media: preserve each cake image's natural proportions. */
@media (min-width:768px) and (max-width:1180px){
  .custom-gallery-section .custom-inspiration-grid{
    align-items:start;
  }

  .custom-gallery-section .custom-inspiration-grid .inspiration-card{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    align-self:start!important;
    display:block!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }

  .custom-gallery-section .custom-inspiration-grid .inspiration-card img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    scale:1!important;
  }

  .custom-gallery-section .custom-inspiration-grid .inspiration-card:hover img{
    transform:none!important;
    scale:1!important;
  }

  .custom-enquiry-section .custom-guide-media{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    display:block!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }

  .custom-enquiry-section .custom-guide-media .custom-guide-image{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    border-radius:18px!important;
    transform:none!important;
    scale:1!important;
  }
}
/* Shared website search */
.site-search-button{width:38px;height:38px;min-width:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(190,139,45,.55);border-radius:50%;background:#fffaf0;color:#17110d;box-shadow:0 7px 18px rgba(92,57,22,.13),inset 0 1px 0 rgba(255,255,255,.9);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.site-search-button:hover,.site-search-button:focus-visible{outline:none;transform:translateY(-1px);border-color:#c28b2e;box-shadow:0 9px 22px rgba(92,57,22,.18),0 0 0 3px rgba(210,165,72,.12)}
.site-search-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
body.site-search-open{overflow:hidden}
.site-search-overlay{position:fixed;z-index:1200;inset:var(--header-height,76px) 0 0;padding:18px clamp(16px,4vw,54px) 32px;background:rgba(31,18,11,.48);backdrop-filter:blur(8px);overflow-y:auto;overflow-x:hidden}
.site-search-overlay,.site-search-overlay *{box-sizing:border-box}
.site-search-overlay[hidden]{display:none!important}
.site-search-panel{width:min(900px,100%);max-width:100%;max-height:calc(100vh - var(--header-height,76px) - 36px);margin:0 auto;padding:24px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(210,165,72,.4);border-radius:22px;background:linear-gradient(145deg,#fffdf8,#fff7e9);box-shadow:0 28px 70px rgba(34,19,10,.28)}
.site-search-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.site-search-kicker{display:block;margin-bottom:4px;color:#a26e1d;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.site-search-heading h2{margin:0;color:#28180f;font-size:clamp(1.45rem,3vw,2rem)}
.site-search-close{width:38px;height:38px;flex:0 0 38px;padding:0;border:1px solid rgba(190,139,45,.35);border-radius:50%;background:#fffaf0;color:#28180f;font-size:26px;line-height:1;cursor:pointer}
.site-search-input-wrap{width:100%;max-width:100%;min-width:0;height:56px;flex:0 0 56px;margin:0;display:flex;align-items:center;gap:12px;padding:0 18px;box-sizing:border-box;border:1px solid rgba(190,139,45,.42);border-radius:16px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 20px rgba(88,53,20,.06)}
.site-search-input-wrap svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:#2a1a11;stroke-width:1.8;stroke-linecap:round}
.site-search-input-wrap input{display:block;width:100%!important;max-width:100%!important;min-width:0;margin:0;box-sizing:border-box!important;border:0;outline:0;background:transparent;color:#28180f;font:inherit;font-size:16px}
.site-search-results{width:100%;max-width:100%;min-width:0;min-height:0;margin-top:22px;padding-right:12px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.site-search-prompt,.site-search-empty{margin:0;padding:28px 12px;color:#795f4d;text-align:center}
.site-search-empty{font-weight:700}
.site-search-group + .site-search-group{margin-top:24px}
.site-search-group h3{margin:0 0 10px;color:#a26e1d;font-family:inherit;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.site-search-result-list{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.site-search-result{width:100%!important;min-width:0;min-height:76px;margin:0!important;padding:10px;display:flex!important;align-items:center;gap:12px;box-sizing:border-box;border:1px solid rgba(190,139,45,.2);border-radius:15px;background:rgba(255,255,255,.78);color:#28180f!important;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.site-search-result::after{content:none!important}
.site-search-result:hover,.site-search-result:focus-visible{outline:none;border-color:rgba(190,139,45,.58);transform:translateY(-1px);box-shadow:0 9px 22px rgba(82,49,20,.09)}
.site-search-result img,.site-search-page-icon{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border-radius:11px;background:#fff8eb;object-fit:cover}
.site-search-page-icon svg{width:21px;height:21px;fill:none;stroke:#9c6b21;stroke-width:1.8}
.site-search-result-copy{min-width:0;flex:1 1 auto}
.site-search-result-copy strong,.site-search-result-copy small{display:block}
.site-search-result-copy strong{overflow:hidden;color:#28180f;font-size:.94rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.site-search-result-copy small{margin-top:4px;display:-webkit-box;overflow:hidden;color:#7b6657;font-size:.76rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.site-search-result>b{flex:0 0 auto;color:#b47616;font-size:.82rem;white-space:nowrap}
.site-search-page-group .site-search-result-list{grid-template-columns:minmax(0,1fr)}
.site-search-page-result{
  min-height:68px;
  padding:13px 16px;
  gap:13px;
  border-color:rgba(196,137,40,.42);
  border-radius:16px;
  background:linear-gradient(135deg,#fffdf8,#fff8e9);
  box-shadow:0 6px 18px rgba(110,70,15,.07);
}
.site-search-page-result:hover,.site-search-page-result:focus-visible{border-color:#cf972d}
.site-search-page-result .site-search-result-copy{display:flex;flex-direction:column;gap:4px}
.site-search-page-result .site-search-result-copy strong{font-size:16px;font-weight:750}
.site-search-page-result .site-search-result-copy small{margin-top:0;color:#796552;font-size:13px}
.site-search-page-arrow{flex:0 0 auto;color:#b8780d;font-size:20px}

@media (max-width:768px){
  .site-search-button{width:34px;height:34px;min-width:34px;flex-basis:34px}
  .site-search-button svg{width:15px;height:15px}
  .site-search-overlay{inset:var(--mobile-header-height,68px) 0 0;padding:8px}
  .site-search-panel{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100vh - var(--mobile-header-height,68px) - 16px);min-height:0;max-height:calc(100vh - var(--mobile-header-height,68px) - 16px);padding:18px 14px 24px;border-radius:18px}
  .site-search-results{padding-right:8px;scrollbar-gutter:stable}
  .site-search-result-list{grid-template-columns:minmax(0,1fr)}
  .site-search-page-result{min-height:62px;padding:11px 13px}
  .site-search-page-result .site-search-result-copy strong{font-size:14px}
  .site-search-page-result .site-search-result-copy small{font-size:11px}
}

@media (min-width:769px) and (max-width:1180px){
  .site-search-panel{padding:26px 28px 32px}
  .site-search-results{padding-right:14px;scrollbar-gutter:stable}
}

/* iPhone cake media: keep the complete image visible inside a stable frame. */
@media (max-width:767px){
  .cake-product-grid[data-cakes-dynamic] .cake-card-media,
  .cake-gallery[data-gallery-dynamic] .gallery-card,
  .gallery-grid.cake-gallery .gallery-card,
  .pastry-menu-section .pastry-card-media{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#faf5ec!important;
  }

  .cake-product-grid[data-cakes-dynamic] .cake-card-media img,
  .cake-gallery[data-gallery-dynamic] .gallery-card img,
  .gallery-grid.cake-gallery .gallery-card img,
  .pastry-menu-section .pastry-card-media img,
  .gallery-strip .home-gallery-card > img{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    transform:none!important;
    scale:1!important;
    zoom:1!important;
  }

  .gallery-strip .home-gallery-card{
    aspect-ratio:1 / 1!important;
    background:#faf5ec!important;
  }

  .lightbox img,
  .home-cake-preview-content img,
  .gallery-lightbox img,
  .cake-lightbox img,
  .image-modal img,
  .lightbox-content img{
    width:auto!important;
    height:auto!important;
    max-width:94vw!important;
    max-height:82vh!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:auto!important;
    transform:none!important;
    scale:1!important;
    zoom:1!important;
  }
}

@media (hover:none){
  .cake-card:hover img,
  .gallery-card:hover img,
  .pastry-card:hover img,
  .gallery-strip .home-gallery-card:hover > img{
    transform:none!important;
    scale:1!important;
  }
}

/* Phone navbar order: menu | brand | search | language | cart. */
@media (max-width:767px){
  .site-header{
    width:100%;
    min-height:58px;
    padding-inline:10px!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow:visible!important;
  }

  .site-header .nav-actions{
    display:contents!important;
  }

  .site-header .hamb{
    order:1!important;
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }

  .site-header .navbar-brand{
    order:2!important;
    min-width:0!important;
    flex:1 1 auto!important;
    gap:6px!important;
    overflow:visible!important;
  }

  .site-header .navbar-brand .brand-mark{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex:0 0 34px!important;
  }

  .site-header .navbar-brand > .site-brand-name{
    min-width:0!important;
    max-width:none!important;
    flex:0 1 auto!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }

  .site-header .site-search-button{
    order:3!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex:0 0 34px!important;
    position:static!important;
    inset:auto!important;
    margin:0!important;
  }

  .site-header #lang-toggle{
    order:4!important;
    min-width:0!important;
    flex:0 0 auto!important;
    margin:0!important;
    white-space:nowrap!important;
  }

  .site-header .cart-nav-btn{
    order:5!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    flex:0 0 36px!important;
    margin:0!important;
  }

  .site-header .nav-order-btn{
    order:6!important;
    display:none!important;
  }
}

@media (max-width:380px){
  .site-header{
    padding-inline:6px!important;
    gap:4px!important;
  }

  .site-header .hamb,
  .site-header .cart-nav-btn{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    flex-basis:32px!important;
  }

  .site-header .site-search-button{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex-basis:30px!important;
  }

  .site-header .navbar-brand{
    gap:4px!important;
  }

  .site-header .navbar-brand .brand-mark{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex-basis:30px!important;
  }

  .site-header .navbar-brand > .site-brand-name{
    font-size:.78rem!important;
    letter-spacing:-.035em!important;
  }

  .site-header #lang-toggle{
    padding-inline:5px!important;
    font-size:.68rem!important;
  }
}
/* Dedicated pastry-menu destination and Menu-page navigation link. */
#pastry-menu{
  scroll-margin-top:90px;
}

.latest-menu-page .premium-menu-tabs .pastry-category-link{
  text-decoration:none;
}

/* Cakes hero benefits: one lightweight feature strip at every breakpoint. */
body:has(.cake-ordering-section) .cake-trust-strip{
  margin-top:0;
  margin-bottom:0;
}

body:has(.cake-ordering-section) .trust-strip-grid{
  gap:0;
  box-sizing:border-box;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  backdrop-filter:none;
}

body:has(.cake-ordering-section) .trust-strip-grid > div{
  min-width:0;
  display:flex;
  align-items:center;
  background:transparent!important;
  border:0;
  border-radius:0;
  box-shadow:none;
  box-sizing:border-box;
}

body:has(.cake-ordering-section) .trust-icon{
  width:32px;
  height:32px;
  min-width:32px;
  flex:0 0 32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#dfaa32,#f1d170);
  color:#3d2811;
  box-shadow:0 5px 13px rgba(137,88,13,.16);
}

body:has(.cake-ordering-section) .trust-strip-grid strong{
  min-width:0;
  color:#2e2017;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  white-space:normal;
}

@media (min-width:1181px){
  body:has(.cake-ordering-section) .trust-strip-grid{
    width:min(1180px,calc(100% - 80px));
    max-width:1180px;
    margin:24px auto 38px;
    padding:6px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body:has(.cake-ordering-section) .trust-strip-grid > div{
    min-height:62px;
    padding:10px 22px;
    justify-content:center;
    gap:11px;
  }

  body:has(.cake-ordering-section) .trust-strip-grid > div:not(:last-child){
    border-right:1px solid rgba(178,125,34,.2);
  }
}

@media (min-width:768px) and (max-width:1180px){
  body:has(.cake-ordering-section) .trust-strip-grid{
    width:min(760px,calc(100% - 56px));
    max-width:760px;
    margin:24px auto 34px;
    padding:4px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body:has(.cake-ordering-section) .trust-strip-grid > div{
    min-height:68px;
    padding:14px 24px;
    justify-content:center;
    gap:11px;
  }

  body:has(.cake-ordering-section) .trust-strip-grid > div:not(:last-child){
    border-right:1px solid rgba(178,125,34,.2);
  }
}

@media (max-width:767px){
  body:has(.cake-ordering-section) .trust-strip-grid{
    width:calc(100% - 36px);
    max-width:none;
    margin:20px auto 28px;
    padding:4px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body:has(.cake-ordering-section) .trust-strip-grid > div{
    min-height:82px;
    padding:12px 6px;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    text-align:center;
  }

  body:has(.cake-ordering-section) .trust-strip-grid > div:not(:last-child){
    border-right:1px solid rgba(178,125,34,.18);
  }

  body:has(.cake-ordering-section) .trust-strip-grid strong{
    font-size:12px;
    text-align:center;
  }
}

/* Remove only the thin decorative frame inset from the main rate-menu card. */
.cake-rate-menu::before{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Custom Cakes feature highlights: match the transparent Cakes-page strip. */
.custom-cakes-trust-strip{
  margin-top:0;
  margin-bottom:0;
}

.custom-cakes-trust-strip .trust-strip-grid{
  gap:0;
  box-sizing:border-box;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  backdrop-filter:none;
}

.custom-cakes-trust-strip .trust-strip-grid > div{
  min-width:0;
  display:flex;
  align-items:center;
  background:transparent!important;
  border:0;
  border-radius:0;
  box-shadow:none;
  box-sizing:border-box;
}

.custom-cakes-trust-strip .trust-icon{
  width:32px;
  height:32px;
  min-width:32px;
  flex:0 0 32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#dfaa32,#f1d170);
  color:#3d2811;
  box-shadow:0 5px 13px rgba(137,88,13,.16);
}

.custom-cakes-trust-strip .trust-strip-grid strong{
  min-width:0;
  color:#2e2017;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  white-space:normal;
}

@media (min-width:1181px){
  .custom-cakes-trust-strip .trust-strip-grid{
    width:min(1180px,calc(100% - 80px));
    max-width:1180px;
    margin:24px auto 38px;
    padding:6px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .custom-cakes-trust-strip .trust-strip-grid > div{
    min-height:62px;
    padding:10px 22px;
    justify-content:center;
    gap:11px;
  }

  .custom-cakes-trust-strip .trust-strip-grid > div:not(:last-child){
    border-right:1px solid rgba(178,125,34,.2);
  }
}

@media (min-width:768px) and (max-width:1180px){
  .custom-cakes-trust-strip .trust-strip-grid{
    width:min(760px,calc(100% - 56px));
    max-width:760px;
    margin:24px auto 34px;
    padding:4px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .custom-cakes-trust-strip .trust-strip-grid > div{
    min-height:68px;
    padding:14px 24px;
    justify-content:center;
    gap:11px;
  }

  .custom-cakes-trust-strip .trust-strip-grid > div:not(:last-child){
    border-right:1px solid rgba(178,125,34,.2);
  }
}

@media (max-width:767px){
  .custom-cakes-trust-strip .trust-strip-grid{
    width:calc(100% - 36px);
    max-width:none;
    margin:20px auto 28px;
    padding:4px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .custom-cakes-trust-strip .trust-strip-grid > div{
    min-height:82px;
    padding:12px 6px;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    text-align:center;
  }

  .custom-cakes-trust-strip .trust-strip-grid > div:not(:last-child){
    border-right:1px solid rgba(178,125,34,.18);
  }

  .custom-cakes-trust-strip .trust-strip-grid strong{
    font-size:12px;
    text-align:center;
  }
}

/* Occasion Selector: keep the short heading ornament, remove only full-width rules. */
.custom-occasion-section .section-head{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

.custom-occasion-section .occasion-card-grid.occasion-selector{
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
}

.custom-occasion-section .occasion-card-grid.occasion-selector::before,
.custom-occasion-section .occasion-card-grid.occasion-selector::after{
  content:none!important;
  display:none!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* Gallery CTA: remove only the banner's inset decorative frame. */
.gallery-cta.custom-cta .banner::before{
  content:none!important;
  display:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Mobile/tablet navbar: centre the three hamburger strokes at every button size. */
@media (max-width:1180px){
  .site-header .hamb{
    padding:0!important;
    box-sizing:border-box;
  }

  .site-header .hamb::before,
  .site-header .hamb::after{
    width:21px!important;
    height:2.5px!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    border-radius:999px!important;
    background:#17110c!important;
  }

  .site-header .hamb::before{
    transform:translate(-50%,-7px)!important;
    box-shadow:0 7px 0 #17110c!important;
  }

  .site-header .hamb::after{
    transform:translate(-50%,7px)!important;
    box-shadow:none!important;
  }

  .site-header .hamb[aria-expanded="true"]::before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
    box-shadow:none!important;
  }

  .site-header .hamb[aria-expanded="true"]::after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }
}

/* Remove the shared gold dot/diagonal corner ornament from banner cards. */
.banner > div:first-child::before{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Mobile/tablet navbar: compact hamburger with balanced brand separation. */
@media (max-width:1180px){
  .site-header .hamb{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    flex:0 0 40px!important;
    padding:0!important;
  }

  .site-header .hamb::before,
  .site-header .hamb::after{
    width:18px!important;
    height:2.25px!important;
  }

  .site-header .hamb::before{
    transform:translate(-50%,-6.75px)!important;
    box-shadow:0 6.75px 0 #17110c!important;
  }

  .site-header .hamb::after{
    transform:translate(-50%,6.75px)!important;
  }

  .site-header .hamb[aria-expanded="true"]::before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
    box-shadow:none!important;
  }

  .site-header .hamb[aria-expanded="true"]::after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }
}

@media (max-width:768px){
  .site-header .hamb{
    margin-right:8px!important;
    margin-left:0!important;
  }
}

@media (max-width:380px){
  .site-header .hamb{
    margin-right:10px!important;
  }
}

/* Mobile/tablet navbar: light hamburger surface without logo-facing glow. */
@media (max-width:1180px){
  .site-header .hamb{
    background:rgba(255,253,248,.92)!important;
    border:1px solid rgba(196,151,69,.24)!important;
    box-shadow:0 3px 9px rgba(76,48,16,.06)!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-shadow:none!important;
  }

  .site-header .hamb::before,
  .site-header .hamb::after{
    background:#2b2118!important;
    filter:none!important;
    text-shadow:none!important;
    opacity:.92;
  }

  .site-header .hamb::before{
    box-shadow:0 6.75px 0 #2b2118!important;
  }

  .site-header .hamb[aria-expanded="true"]::before{
    box-shadow:none!important;
  }
}

/* Mobile cake product images: lock the media to the card and centre the full cake. */
@media (max-width:767px){
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic]{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap.cake-product-image{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    translate:none!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#faf6ef!important;
  }

  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap > img.card-img.cake-product-img{
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    translate:none!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    scale:1!important;
    zoom:1!important;
    box-sizing:border-box!important;
  }
}

@media (hover:none), (pointer:coarse){
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card:hover img,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card:active img,
  body:has(.cake-ordering-section) .cake-product-grid[data-cakes-dynamic] .cake-card:focus img{
    transform:none!important;
    translate:none!important;
    scale:1!important;
  }
}

/* Homepage "Most Loved Cakes": component-owned mobile image frame. */
@media (max-width:767px){
  .home-featured-cakes .home-best-seller-card{
    width:min(88%,245px)!important;
    max-width:245px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .home-featured-cakes .home-best-seller-media{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    aspect-ratio:1 / 1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#faf6ef!important;
  }

  .home-featured-cakes .home-best-seller-media > .home-best-seller-image{
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    zoom:1!important;
    border-radius:0!important;
    box-sizing:border-box!important;
  }

  .home-featured-cakes .home-best-seller-body{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:11px 12px 13px!important;
    box-sizing:border-box!important;
  }

  .home-featured-cakes .home-best-seller-card .add-to-cart,
  .home-featured-cakes .home-best-seller-card button{
    min-height:36px;
  }
}

@media (max-width:360px){
  .home-featured-cakes .home-best-seller-card{
    width:min(90%,225px)!important;
    max-width:225px!important;
  }
}

@media (hover:none), (pointer:coarse){
  .home-featured-cakes .home-best-seller-card:hover .home-best-seller-image,
  .home-featured-cakes .home-best-seller-card:active .home-best-seller-image,
  .home-featured-cakes .home-best-seller-card:focus .home-best-seller-image{
    transform:none!important;
    translate:none!important;
    scale:1!important;
  }
}

/* Mobile homepage vegetarian mark: centre the green symbol in its existing box. */
@media (max-width:767px){
  .hero-trust-row .hero-veg-badge{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    flex:0 0 46px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    box-sizing:border-box!important;
    line-height:0!important;
    text-align:center!important;
    text-indent:0!important;
    translate:none!important;
    transform:none!important;
  }

  .hero-trust-row .hero-veg-badge > span:not(.veg-symbol){
    display:none!important;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    flex:0 0 19px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    line-height:0!important;
    text-indent:0!important;
    position:static!important;
    translate:none!important;
    transform:none!important;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol > span{
    width:9px!important;
    height:9px!important;
    min-width:9px!important;
    min-height:9px!important;
    display:block!important;
    flex-shrink:0!important;
    margin:0!important;
    padding:0!important;
    text-indent:0!important;
    position:static!important;
    translate:none!important;
    transform:none!important;
  }
}

/* Homepage custom-cake CTA: keep the complete cake clear of the rounded frame. */
.custom-celebration-card > img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  display:block!important;
  padding:10px!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#fffaf2!important;
  object-fit:contain!important;
  object-position:center center!important;
  box-sizing:border-box!important;
  transform:none!important;
}

@media (max-width:767px){
  .custom-celebration-card > img{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:22px 0 0!important;
    padding:12px!important;
    border-radius:22px!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }
}

/* Gallery custom CTA: show the complete cake inside its existing white frame. */
.gallery-cta.custom-cta .custom-cta-media{
  width:100%;
  max-width:100%;
  height:clamp(260px,30vw,380px);
  padding:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:20px;
  background:#fffdf8;
  box-sizing:border-box;
}

.gallery-cta.custom-cta .custom-cta-media > img{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  zoom:1!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}

@media (max-width:767px){
  .gallery-cta.custom-cta .custom-cta-media{
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    margin-top:24px;
    padding:7px;
  }

  .gallery-cta.custom-cta .custom-cta-media > img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
  }
}

/* Cake Assistant step tabs: join the pills with two gap-only connectors. */
.assistant-preview .mini-flow{
  --mini-flow-connector-width:12px;
  display:grid!important;
  grid-template-columns:
    max-content
    var(--mini-flow-connector-width)
    max-content
    var(--mini-flow-connector-width)
    max-content!important;
  align-items:center;
  gap:0!important;
  flex-wrap:nowrap!important;
}

.assistant-preview .mini-flow::before{
  content:none!important;
  display:none!important;
}

.assistant-preview .mini-flow > span + span::before{
  content:none!important;
  display:none!important;
}

.assistant-preview .mini-flow > .mini-flow-connector{
  width:100%;
  min-width:0;
  height:1.5px;
  display:block;
  align-self:center;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(196,145,48,.55);
  pointer-events:none;
  box-sizing:border-box;
}

@media (max-width:768px){
  .assistant-preview .mini-flow{
    --mini-flow-connector-width:8px;
  }
}

@media (max-width:767px){
  .assistant-preview .mini-flow{
    --mini-flow-connector-width:6px;
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    flex-wrap:nowrap!important;
    grid-template-columns:
      minmax(0,1fr)
      var(--mini-flow-connector-width)
      minmax(0,1fr)
      var(--mini-flow-connector-width)
      minmax(0,1fr)!important;
    align-items:center;
    gap:0!important;
    padding:0!important;
    margin:22px 0 0!important;
    overflow:visible;
    box-sizing:border-box;
  }

  .assistant-preview .mini-flow > span{
    position:relative;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:42px;
    padding:0 7px!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    white-space:nowrap!important;
    font-size:11.5px;
    line-height:1;
    text-align:center;
    border-radius:999px;
    box-sizing:border-box;
  }

  .assistant-preview .mini-flow > .mini-flow-connector{
    height:1px;
  }

  .assistant-preview .mini-flow > span + span::before{
    content:none!important;
  }
}

@media (max-width:380px){
  .assistant-preview .mini-flow{
    --mini-flow-connector-width:4px;
    gap:0!important;
  }

  .assistant-preview .mini-flow > span{
    height:40px;
    padding:0 4px!important;
    font-size:10.5px;
    letter-spacing:0;
  }
}

/* Homepage feature highlights: align every mobile check and label to fixed columns. */
@media (max-width:767px){
  .premium-trust-bar{
    width:100%;
    max-width:720px;
    grid-template-columns:1fr!important;
  }

  .premium-trust-bar > span{
    width:100%!important;
    min-width:0;
    min-height:57px;
    padding:10px 52px!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr);
    align-items:center;
    gap:0!important;
    column-gap:12px!important;
    justify-content:initial!important;
    text-align:left!important;
    white-space:normal!important;
    border-left:0!important;
    box-sizing:border-box;
  }

  .premium-trust-bar > span + span{
    border-left:0!important;
    border-top:1px solid rgba(201,150,63,.22);
  }

  .premium-trust-bar > span::after{
    width:20px;
    height:20px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    justify-self:center;
    grid-column:1;
    grid-row:1;
    margin:0!important;
    flex:none!important;
    border-radius:50%;
  }
}

@media (max-width:359px){
  .premium-trust-bar > span{
    padding-left:34px!important;
    padding-right:24px!important;
  }
}

/* Homepage feature strip: three equal highlights with two internal dividers. */
.premium-trust-bar.feature-strip{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (min-width:768px){
  .premium-trust-bar.feature-strip > span{
    border-top:0;
  }

  .premium-trust-bar.feature-strip > span + span{
    border-left:1px solid rgba(201,150,63,.22);
  }
}

/* Shared Add to Cart + Buy Now purchase actions. */
.product-card-actions{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  align-items:center;
}

.product-card-actions button{
  width:100%!important;
  min-width:0!important;
  min-height:40px;
  padding:9px 10px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.1!important;
  letter-spacing:.5px!important;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:clip;
  cursor:pointer;
  box-sizing:border-box;
}

.product-card-actions .product-add-cart-btn{
  border:1px solid rgba(195,139,38,.5)!important;
  background:transparent!important;
  color:#5a3918!important;
  box-shadow:none!important;
}

.product-card-actions .product-buy-now-btn,
.pastry-card button.pastry-buy-now-btn{
  border:1px solid rgba(172,112,14,.28)!important;
  background:linear-gradient(135deg,#d5a02d,#efc75f)!important;
  color:#24170c!important;
  box-shadow:0 7px 17px rgba(153,96,12,.16)!important;
}

.product-card-actions button:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.025);
}

.product-card-actions button:focus-visible{
  outline:2px solid #7b5520!important;
  outline-offset:2px;
}

.product-card-actions button:disabled{
  cursor:not-allowed;
  transform:none!important;
  opacity:.56!important;
  filter:grayscale(.12);
}

body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:10px!important;
}

body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions{
  width:100%!important;
}

body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-cart-btn,
body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-buy-now-btn{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:40px!important;
  height:auto!important;
  margin:0!important;
  padding:9px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.1!important;
  letter-spacing:.5px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}

body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-cart-btn{
  border:1px solid rgba(195,139,38,.5)!important;
  background:transparent!important;
  color:#5a3918!important;
  box-shadow:none!important;
}

body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-buy-now-btn{
  border:1px solid rgba(172,112,14,.28)!important;
  background:linear-gradient(135deg,#d5a02d,#efc75f)!important;
  color:#24170c!important;
  box-shadow:0 7px 17px rgba(153,96,12,.16)!important;
}

.pastry-menu-section .pastry-meta-row{
  width:100%;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:10px!important;
}

.pastry-menu-section .pastry-product-actions{
  width:100%;
}

.pastry-card button.pastry-buy-now-btn,
.pastry-card button.pastry-add-btn{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  display:inline-flex!important;
}

.latest-menu-page .premium-menu-row{
  grid-template-columns:minmax(0,1fr) minmax(190px,220px)!important;
  align-items:center!important;
}

.latest-menu-page .premium-menu-action{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:stretch!important;
  gap:7px!important;
  white-space:normal!important;
}

.latest-menu-page .premium-menu-action > b{
  justify-self:end;
}

.latest-menu-page .menu-product-actions{
  width:100%!important;
}

.latest-menu-page .menu-product-actions .menu-plus-btn,
.latest-menu-page .menu-product-actions .menu-buy-now-btn{
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:40px!important;
  flex:initial!important;
  border-radius:999px!important;
  font-family:inherit!important;
  font-size:11px!important;
  line-height:1.1!important;
}

.cake-flavour-select.is-invalid,
.gallery-flavour-select.is-invalid,
.cake-weight-select.is-invalid,
.gallery-custom-weight-input.is-invalid{
  border-color:#a23b2a!important;
  box-shadow:0 0 0 3px rgba(162,59,42,.13)!important;
}

@media (max-width:900px){
  .latest-menu-page .latest-menu-card .premium-menu-rows{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media (max-width:767px){
  .product-card-actions{
    gap:6px;
  }

  .product-card-actions button,
  .latest-menu-page .menu-product-actions .menu-plus-btn,
  .latest-menu-page .menu-product-actions .menu-buy-now-btn{
    min-height:36px!important;
    padding:7px 5px!important;
    font-size:9.5px!important;
    letter-spacing:.2px!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-cart-btn,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-buy-now-btn{
    min-height:36px!important;
    padding:7px 5px!important;
    font-size:9.5px!important;
    letter-spacing:.2px!important;
  }

  .latest-menu-page .premium-menu-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  .latest-menu-page .premium-menu-action{
    width:100%!important;
  }

  .latest-menu-page .premium-menu-action > b{
    justify-self:start;
  }
}

@media (max-width:359px){
  .product-card-actions button,
  .latest-menu-page .menu-product-actions .menu-plus-btn,
  .latest-menu-page .menu-product-actions .menu-buy-now-btn{
    padding-inline:3px!important;
    font-size:9px!important;
    letter-spacing:0!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-cart-btn,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-product-actions .cake-buy-now-btn{
    padding-inline:3px!important;
    font-size:9px!important;
    letter-spacing:0!important;
  }
}

/* Homepage Most Loved Cakes: compact Add + Buy Now actions. */
.home-featured-cakes .home-best-seller-card{
  display:flex!important;
  flex-direction:column!important;
}

.home-featured-cakes .home-best-seller-card[hidden]{
  display:none!important;
}

.home-featured-cakes .home-best-seller-card .home-best-seller-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
}

.home-featured-cakes .home-best-seller-card .home-cake-actions{
  width:100%;
  min-width:0;
  margin-top:auto!important;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:8px;
}

.home-featured-cakes .home-best-seller-card .home-cake-add-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(177,115,17,.28)!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#d9a638,#efc85f)!important;
  color:#28190b!important;
  font-family:inherit;
  font-size:24px!important;
  font-weight:500!important;
  line-height:1!important;
  box-shadow:0 6px 15px rgba(142,87,10,.14)!important;
  cursor:pointer;
  box-sizing:border-box;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.home-featured-cakes .home-best-seller-card .home-cake-add-btn span{
  display:block;
  line-height:1;
  transform:translateY(-1px);
}

.home-featured-cakes .home-best-seller-card .home-cake-buy-btn{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  padding:9px 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(191,137,42,.48)!important;
  border-radius:999px!important;
  background:#fffaf1!important;
  color:#4c3016!important;
  font-family:inherit;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:1px!important;
  white-space:nowrap!important;
  box-shadow:0 5px 14px rgba(111,70,13,.08)!important;
  cursor:pointer;
  box-sizing:border-box;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.home-featured-cakes .home-best-seller-card .home-cake-add-btn:hover:not(:disabled){
  transform:translateY(-1px);
  filter:brightness(1.025);
  box-shadow:0 9px 19px rgba(142,87,10,.18)!important;
}

.home-featured-cakes .home-best-seller-card .home-cake-buy-btn:hover:not(:disabled){
  border-color:transparent!important;
  background:linear-gradient(135deg,#d8a43a,#efc75f)!important;
  color:#211308!important;
  transform:translateY(-1px);
}

.home-featured-cakes .home-best-seller-card .home-cake-add-btn:focus-visible,
.home-featured-cakes .home-best-seller-card .home-cake-buy-btn:focus-visible{
  outline:2px solid #7b5520!important;
  outline-offset:2px;
}

.home-featured-cakes .home-best-seller-card .home-cake-add-btn:disabled,
.home-featured-cakes .home-best-seller-card .home-cake-buy-btn:disabled,
.home-featured-cakes .home-best-seller-card .home-cake-add-btn[aria-disabled="true"],
.home-featured-cakes .home-best-seller-card .home-cake-buy-btn[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.56!important;
  transform:none!important;
  filter:grayscale(.12);
}

@media (max-width:767px){
  .home-featured-cakes .home-best-seller-card .home-cake-actions{
    grid-template-columns:36px minmax(0,1fr);
    gap:6px;
  }

  .home-featured-cakes .home-best-seller-card .home-cake-add-btn{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    font-size:21px!important;
  }

  .home-featured-cakes .home-best-seller-card .home-cake-buy-btn{
    min-height:36px!important;
    padding:7px 8px!important;
    font-size:9px!important;
    letter-spacing:.6px!important;
  }
}

@media (min-width:768px){
  body.lang-hi .home-featured-cakes .home-best-seller-card .home-cake-buy-btn{
    padding-inline:8px!important;
    font-size:10px!important;
    letter-spacing:.2px!important;
  }
}

.order-type-label{
  margin:10px 0 -6px;
  color:var(--chocolate);
  font-size:14px;
  font-weight:850;
  text-align:center;
}

.order-action-grid.is-invalid{
  padding:7px;
  border:1px solid rgba(220,80,65,.7);
  border-radius:24px;
  box-shadow:0 0 0 3px rgba(220,80,65,.1);
}

.fulfilment-option.is-selected{
  opacity:1;
  border-color:rgba(128,80,10,.58);
  box-shadow:0 0 0 3px rgba(211,157,48,.22),0 10px 22px rgba(125,78,12,.17);
  transform:translateY(-1px);
}

#pickupOption.is-selected{
  background:linear-gradient(135deg,#dca737,#f0cf72);
  color:#25170b;
}

#deliveryOption.is-selected{
  background:linear-gradient(135deg,#278e6c,#49b48b);
  color:#ffffff;
}

.fulfilment-option:focus-visible{
  outline:2px solid rgba(174,118,25,.55);
  outline-offset:3px;
}

.cart-item.is-invalid{
  border-color:rgba(220,80,65,.7)!important;
  box-shadow:0 0 0 3px rgba(220,80,65,.1)!important;
}

/* Homepage trust row: present every trust point as one matched premium pill. */
.hero-trust-row .hero-trust-chip.hero-trust-chip,
.hero-trust-row .hero-trust-chip.hero-veg-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:11px 13px;
  border:1.5px solid #e0b45e;
  border-radius:999px;
  background:linear-gradient(180deg,#fffaf0 0%,#f9f0dd 100%);
  box-shadow:0 8px 18px rgba(127,78,25,.1),inset 0 1px 0 rgba(255,255,255,.85);
  color:#8a5a17;
  box-sizing:border-box;
  font-family:"Montserrat",sans-serif;
  font-size:.8rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  text-align:center;
  white-space:nowrap;
  opacity:1;
}

.hero-trust-row .hero-trust-chip:not(.hero-veg-badge)::before{
  width:8px;
  height:8px;
  min-width:8px;
  flex:0 0 8px;
  box-shadow:0 0 0 3px rgba(217,164,65,.13);
}

.hero-trust-row .hero-veg-badge::before{
  display:none;
}

.hero-trust-row .hero-veg-badge > span:not(.veg-symbol){
  display:inline-flex!important;
  align-items:center;
  line-height:1;
}

.hero-trust-row .hero-veg-badge .veg-symbol{
  width:16px;
  height:16px;
  min-width:16px;
  flex:0 0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:1.6px solid #16823c;
  border-radius:2px;
  box-sizing:border-box;
  line-height:0;
}

.hero-trust-row .hero-veg-badge .veg-symbol > span{
  width:7px;
  height:7px;
  min-width:7px;
  flex:0 0 7px;
  display:block;
  margin:0;
  border:0;
  border-radius:50%;
  background:#16823c;
}

@media (min-width:768px){
  .hero-trust-row{
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
}

@media (max-width:767px){
  .hero-trust-row{
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:7px!important;
  }

  .hero-trust-row .hero-trust-chip.hero-trust-chip,
  .hero-trust-row .hero-trust-chip.hero-veg-badge{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:34px!important;
    flex:0 1 auto!important;
    gap:6px!important;
    padding:7px 10px!important;
    border:1.5px solid #e0b45e!important;
    border-radius:999px!important;
    font-size:.67rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    max-width:15px!important;
    flex:0 0 15px!important;
    margin:0!important;
    padding:0!important;
    border:1.6px solid #16823c!important;
    border-radius:2px!important;
  }

  .hero-trust-row .hero-veg-badge .veg-symbol > span{
    width:7px!important;
    height:7px!important;
    min-width:7px!important;
    max-width:7px!important;
    flex:0 0 7px!important;
    margin:0!important;
    border-radius:50%!important;
  }
}

/* Contact Visit details: center the complete mobile card and action groups. */
@media (max-width:768px){
  .contact-map-section .contact-detail-list,
  .contact-map-section .contact-store-panel > .hero-actions{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:390px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-self:center!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  .contact-map-section .contact-detail-list{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    text-align:left!important;
  }

  .contact-map-section .contact-detail-list > p{
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:14px 16px!important;
    box-sizing:border-box!important;
    text-align:left!important;
    transform:none!important;
  }

  .contact-map-section .contact-store-panel > .hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:12px!important;
  }

  .contact-map-section .contact-store-panel > .hero-actions > a,
  .contact-map-section .contact-store-panel > .hero-actions > button{
    width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
    transform:none;
  }
}

/* Cakes collection phones: two equal cards with full images and stacked actions. */
@media (max-width:640px){
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-inline:auto!important;
    padding:0 10px 28px!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item.cake-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:8px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap.cake-product-image{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
    padding:8px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-card-media.cake-image-wrap > img.card-img.cake-product-img{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border-radius:10px!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    translate:none!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item-info.cake-card-body.card-body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:11px 10px 12px!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-meta,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-price{
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-meta{
    font-size:13px!important;
    line-height:1.4!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row{
    width:100%!important;
    min-width:0!important;
    gap:0!important;
    margin:0!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-price{
    margin:10px 0 0!important;
    font-size:15px!important;
    line-height:1.3!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .product-card-actions.cake-product-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:7px!important;
    margin:12px 0 0!important;
    transform:none!important;
    translate:none!important;
    box-sizing:border-box!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .product-card-actions.cake-product-actions .cake-cart-btn.add-to-cart-btn.product-add-cart-btn,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .product-card-actions.cake-product-actions .cake-buy-now-btn.product-buy-now-btn{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    height:auto!important;
    margin:0!important;
    padding:9px 5px!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    transform:none!important;
    translate:none!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:359px){
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic],
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-one,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-two,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].has-three-plus,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-1,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-2,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic].cakes-count-3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding-inline:6px!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-item-info.cake-card-body.card-body{
    padding-inline:8px!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-meta{
    font-size:12px!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .cake-price{
    font-size:14px!important;
  }

  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .product-card-actions.cake-product-actions .cake-cart-btn.add-to-cart-btn.product-add-cart-btn,
  body:has(.cake-ordering-section) .cake-ordering-section .cake-product-grid[data-cakes-dynamic] .cake-action-row .product-card-actions.cake-product-actions .cake-buy-now-btn.product-buy-now-btn{
    padding-inline:3px!important;
    font-size:9px!important;
    letter-spacing:0!important;
  }
}

/* Cakes collection filters: compact two-line price ranges. */
#cake-collection .cake-collection-filter-stack .collection-filters{
  width:100%;
  max-width:760px;
  margin-inline:auto;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:center;
  gap:8px;
  overflow:visible;
}

#cake-collection .cake-collection-filter-stack .collection-filters [data-cake-price-filter]{
  flex:0 1 150px;
  min-width:118px;
  min-height:46px;
  height:auto;
  padding:6px 13px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  box-sizing:border-box;
  text-align:center;
  white-space:normal!important;
}

#cake-collection .collection-filter-name{
  display:block;
  width:100%;
  font-size:.82rem;
  font-weight:700;
  line-height:1.05;
  letter-spacing:.04em;
}

#cake-collection .collection-filter-range{
  display:block;
  width:100%;
  color:inherit;
  font-size:.67rem;
  font-weight:650;
  line-height:1.05;
  letter-spacing:.015em;
  white-space:nowrap;
  opacity:.72;
  transition:opacity .2s ease;
}

#cake-collection [data-cake-price-filter].active .collection-filter-range{
  opacity:.9;
}

@media (max-width:768px){
  #cake-collection .cake-collection-filter-stack .collection-filters{
    max-width:100%;
    flex-wrap:wrap;
    justify-content:center;
    overflow:visible;
    padding:0;
    gap:8px;
  }

  #cake-collection .cake-collection-filter-stack .collection-filters [data-cake-price-filter]{
    flex:1 1 132px;
    min-width:0;
    max-width:168px;
    min-height:46px;
    padding:6px 9px;
  }
}

/* Footer social icons */
.site-footer .footer-whatsapp-icon{
  position:relative;
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  margin:0;
  padding:0;
  appearance:none;
  border:0;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  line-height:0;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,211,102,.24);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.site-footer .footer-whatsapp-icon::after{
  content:none!important;
}

.site-footer .footer-whatsapp-icon svg{
  width:21px;
  height:21px;
  display:block;
  fill:currentColor;
}

.site-footer .footer-whatsapp-icon:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:0 14px 28px rgba(37,211,102,.3);
}

.site-footer .footer-whatsapp-icon:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}

.site-footer .footer-whatsapp-icon:active{
  transform:translateY(0);
}

.site-footer .footer-icon-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

@media (max-width:768px){
  .site-footer .footer-whatsapp-icon{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    flex-basis:36px;
  }

  .site-footer .footer-whatsapp-icon svg{
    width:20px;
    height:20px;
  }
}

/* Homepage Most Loved Cakes: compact premium swipe carousel on phones. */
@media (max-width:767px){
  .section-head:has(+ .home-featured-cakes){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:16px!important;
  }

  .section-head:has(+ .home-featured-cakes) > .btn{
    width:min(calc(100vw - 48px),360px)!important;
    max-width:360px!important;
    flex:0 0 auto;
    margin:22px auto 0!important;
    justify-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  main > .section .card-grid.home-featured-cakes{
    position:relative;
    left:50%;
    width:min(100vw,402px)!important;
    max-width:402px!important;
    min-width:0!important;
    display:flex!important;
    align-items:stretch!important;
    gap:14px!important;
    margin:0!important;
    padding:8px 20px 20px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    transform:translateX(-50%);
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:20px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    box-sizing:border-box!important;
  }

  main > .section .card-grid.home-featured-cakes::-webkit-scrollbar{
    display:none;
  }

  .home-featured-cakes .home-best-seller-card{
    flex:0 0 clamp(248px,calc(100vw - 72px),330px)!important;
    width:clamp(248px,calc(100vw - 72px),330px)!important;
    max-width:330px!important;
    min-width:0!important;
    align-self:stretch;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(200,159,61,.18)!important;
    border-radius:20px!important;
    background:#fffdf9!important;
    box-shadow:0 10px 26px rgba(43,22,15,.07)!important;
    overflow:hidden!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    box-sizing:border-box!important;
    transition:box-shadow .2s ease,transform .2s ease;
  }

  .home-featured-cakes .home-best-seller-card:hover{
    transform:none!important;
  }

  .home-featured-cakes .home-best-seller-card:active{
    transform:translateY(1px)!important;
    box-shadow:0 8px 20px rgba(43,22,15,.075)!important;
  }

  .home-featured-cakes .home-best-seller-media{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1 / 1!important;
    display:grid!important;
    place-items:center!important;
    padding:12px!important;
    background:#fffaf3!important;
    box-sizing:border-box!important;
  }

  .home-featured-cakes .home-best-seller-media > .home-best-seller-image{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    aspect-ratio:auto!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border-radius:14px!important;
    background:#fffaf3!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    scale:1!important;
    box-sizing:border-box!important;
  }

  .home-featured-cakes .home-best-seller-card .home-best-seller-body.card-body{
    width:100%!important;
    min-height:0!important;
    padding:14px 16px 16px!important;
    box-sizing:border-box!important;
  }

  .home-featured-cakes .home-best-seller-card h3{
    display:-webkit-box;
    margin:0 0 8px!important;
    overflow:hidden;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(22px,6.1vw,24px)!important;
    font-weight:700;
    line-height:1.08;
    letter-spacing:0;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .home-featured-cakes .home-best-seller-card .product-note{
    margin:0 0 5px!important;
    color:#765338!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.25!important;
  }

  .home-featured-cakes .home-best-seller-card .product-meta{
    min-height:0!important;
    margin:0 0 14px!important;
  }

  .home-featured-cakes .home-best-seller-card .price{
    color:#9b6a18!important;
    font-family:"Cormorant Garamond",serif;
    font-size:22px!important;
    font-weight:800!important;
    line-height:1!important;
  }

  .home-featured-cakes .home-best-seller-card .home-cake-actions{
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    margin-top:0!important;
  }

  .home-featured-cakes .home-best-seller-card .home-cake-add-btn{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    font-size:24px!important;
  }

  .home-featured-cakes .home-best-seller-card .home-cake-buy-btn{
    height:46px!important;
    min-height:46px!important;
    padding:10px 14px!important;
    font-size:11px!important;
    letter-spacing:.8px!important;
  }
}

/* Homepage cake carousel refinements for phones only. */
@media (max-width:640px){
  main > .section .card-grid.home-featured-cakes{
    width:min(100vw,375px)!important;
    max-width:375px!important;
    overflow-y:visible!important;
    touch-action:pan-x pan-y!important;
  }

  .home-featured-cakes .home-best-seller-card{
    flex:0 0 min(80vw,305px)!important;
    width:min(80vw,305px)!important;
    max-width:305px!important;
    touch-action:pan-x pan-y!important;
  }

  .home-featured-cakes .home-best-seller-media{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 10px 0!important;
    touch-action:pan-x pan-y!important;
  }

  .home-featured-cakes .home-best-seller-media > .home-best-seller-image{
    width:min(100%,265px)!important;
    height:auto!important;
    max-width:265px!important;
    max-height:270px!important;
    aspect-ratio:1 / 1!important;
    margin-inline:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    touch-action:pan-x pan-y!important;
    -webkit-user-drag:none;
    -webkit-user-select:none;
    user-select:none;
  }

  .home-featured-cakes .home-best-seller-card .home-best-seller-body.card-body{
    padding:12px 14px 14px!important;
  }

  .home-featured-cakes .home-best-seller-card h3{
    margin-bottom:6px!important;
  }

  .home-featured-cakes .home-best-seller-card .product-note{
    margin-bottom:6px!important;
  }

  .home-featured-cakes .home-best-seller-card .product-meta{
    margin-bottom:12px!important;
  }
}


/* Cake image previews: remove cream letterboxing and keep the photo edge clean. */
.cake-preview-inner,
.home-cake-preview-content{
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
}

.cake-preview-inner img,
.home-cake-preview-content img,
.lightbox > img{
  display:block!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
}

@media (max-width:768px){
  .cake-preview-modal,
  .home-cake-preview-modal,
  .lightbox{
    background:rgba(12,8,6,.9)!important;
    -webkit-backdrop-filter:blur(12px) saturate(.9);
    backdrop-filter:blur(12px) saturate(.9);
  }

  .cake-preview-inner,
  .home-cake-preview-content{
    width:100%;
    height:auto;
    max-height:86vh;
    max-height:86dvh;
    overflow:hidden;
    border-radius:18px;
    line-height:0;
  }

  .cake-preview-inner img,
  .home-cake-preview-content img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:calc(86vh - 42px)!important;
    max-height:calc(86dvh - 42px)!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
    box-shadow:none!important;
    border-radius:18px!important;
  }

  .lightbox > img{
    margin:0 auto!important;
    box-shadow:none!important;
    border-radius:18px!important;
  }

  #cakePreviewCaption,
  #homeCakePreviewCaption{
    line-height:1.35;
  }
}

/* Homepage cake categories: one uniform compact mobile card system. */
@media (max-width:768px){
  .premium-category-section .premium-category-grid{
    grid-auto-rows:186px!important;
    align-items:stretch!important;
  }

  .premium-category-section .premium-category-card{
    height:100%!important;
    min-height:0!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
  }

  .premium-category-section .premium-category-media{
    width:100%!important;
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
    flex:0 0 132px!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:15px 15px 0 0!important;
    box-sizing:border-box!important;
  }

  .premium-category-section .premium-category-card .premium-category-media img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:0!important;
    transform:none!important;
    transform-origin:center!important;
  }

  .premium-category-section .premium-category-body{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:7px 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }

  .premium-category-section .category-card-heading{
    width:100%!important;
    min-height:2.16em;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .premium-category-section .premium-category-body .category-card-title{
    margin:0!important;
  }
}

@media (max-width:360px){
  .premium-category-section .premium-category-grid{
    grid-auto-rows:162px!important;
  }

  .premium-category-section .premium-category-media{
    height:102px!important;
    min-height:102px!important;
    max-height:102px!important;
    flex-basis:102px!important;
  }
}

/* Mobile cake photography: clean card and preview edges without distorting cakes. */
@media (max-width:640px){
  body:has(.cake-ordering-section)
  .cake-ordering-section
  .cake-product-grid[data-cakes-dynamic]
  .cake-card-media.cake-image-wrap.cake-product-image{
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
    border-radius:12px!important;
    line-height:0!important;
  }

  body:has(.cake-ordering-section)
  .cake-ordering-section
  .cake-product-grid[data-cakes-dynamic]
  .cake-card-media.cake-image-wrap.cake-product-image
  > img.card-img.cake-product-img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    border-radius:0!important;
    transform:none!important;
    transform-origin:center center!important;
  }
}

/* Shared cake previews use the corrected source asset without product-specific crops. */
.cake-preview-inner img,
.home-cake-preview-content img,
.lightbox > img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(92vw,900px)!important;
  max-height:80vh!important;
  max-height:80dvh!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  -webkit-clip-path:none!important;
  clip-path:none!important;
}

/* Production hardening utilities */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.order-handoff-note{
  margin:2px 0 0;
  color:var(--muted,#6f6257);
  font-size:.86rem;
  line-height:1.45;
  text-align:center;
}

/* Shared footer copyright and developer credit */
.site-footer .copyright.footer-credit{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin-top:38px;
  padding-top:18px;
  border-top:1px solid rgba(201,150,63,.14);
  color:rgba(255,255,255,.38);
  font-family:var(--font-body);
  font-size:10.5px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:.045em;
  text-align:center;
}

.site-footer .footer-credit-copyright,
.site-footer .footer-credit-designer{
  display:block;
}

.site-footer .footer-credit-author{
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  color:rgba(218,183,111,.82);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(218,183,111,.3);
  text-underline-offset:3px;
  cursor:pointer;
  transition:color .18s ease,text-decoration-color .18s ease;
}

.site-footer .footer-credit-author:hover{
  color:var(--gold-soft);
  text-decoration-color:currentColor;
}

.site-footer .footer-credit-arrow{
  font-size:.92em;
  text-decoration:none;
}

@media (max-width:768px){
  .site-footer .copyright.footer-credit{
    gap:3px;
    margin-top:28px;
    padding:16px 8px 0;
    font-size:10px;
    line-height:1.6;
    letter-spacing:.035em;
  }
}
