@import url('https://fonts.googleapis.com/css2?family=Allura&family=Beleza&family=Cormorant+Garamond:wght@500;600;700&family=Parisienne&family=Source+Sans+3:wght@300;400;600;700;800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&display=swap');
:root{
  --page-bg:#fffdf9;
  --section-bg:#fff3f6;
  --brand-pink:#b30a4f;
  --deep:#351d22;
  --soft-pink:#f6dfe5;
  --gold:#c6a75b;
  --text:#2c1b1f;
  --muted:#705f61;
  --border:#ecd8dc;
  --card:#ffffff;
  --shadow:0 18px 42px rgba(68,28,42,.08);
  --max:1180px;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Inter,Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page-bg);color:var(--text);font-family:var(--sans);line-height:1.65;font-size:16px}
a{color:inherit}
img{max-width:100%}
.top-note{background:var(--deep);color:#fff;text-align:center;font-size:14px;font-weight:500;letter-spacing:.06em;padding:8px 12px;text-transform:uppercase}
.topbar{border-bottom:1px solid var(--border);background:rgba(255,253,249,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.nav-wrap{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:15px 22px;gap:28px}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;min-width:0}
.brand img{width:145px;height:auto;display:block;border-radius:8px}
.brand-title{font-family:var(--sans);font-size:46px;font-weight:400;white-space:nowrap;color:var(--brand-pink);line-height:1.05;letter-spacing:-.03em}
.nav{display:flex;gap:28px;align-items:center;font-size:17px;letter-spacing:.02em}
.nav a{text-decoration:none;position:relative;padding:8px 0;color:var(--deep)}
.nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand-pink);transform:scaleX(0);transform-origin:left;transition:.18s ease}
.nav a:hover,.nav a.active{color:var(--brand-pink)}
.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}
.hamb{display:none;border:0;background:transparent;font-size:28px;color:var(--deep)}

.hero{background:linear-gradient(180deg,#fffaf7 0%,#fff3f6 100%);padding:66px 20px 80px;border-bottom:1px solid var(--border)}
.hero-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr .92fr;gap:46px;align-items:center}
.hero-card{background:transparent;border:0;padding:0;max-width:620px}
.hero-media{position:relative;min-height:480px;border-radius:32px;overflow:hidden;background:#f8e9ed;box-shadow:var(--shadow);border:1px solid var(--border)}
.hero-media img{width:100%;height:100%;min-height:480px;object-fit:cover;display:block}
.hero-media:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 45%,rgba(70,30,42,.12));pointer-events:none}
.hero-note{position:absolute;left:26px;right:26px;bottom:24px;background:rgba(255,253,249,.92);border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:15px 18px;box-shadow:0 12px 32px rgba(68,28,42,.1)}
.hero-note strong{display:block;color:var(--brand-pink);font-family:var(--serif);font-size:21px;line-height:1.2}
.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-pink);font-weight:700;margin-bottom:12px}
.h1{font-family:var(--serif);font-size:62px;line-height:1.02;margin:12px 0 16px;letter-spacing:-.02em;color:var(--deep)}
.sub{font-size:19px;color:var(--muted);max-width:570px}
.hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 0;max-width:620px}
.hero-point{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 15px;color:var(--muted);box-shadow:0 8px 20px rgba(68,28,42,.04)}
.hero-point strong{display:block;color:var(--deep);font-family:var(--serif);font-size:18px}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--brand-pink);background:var(--brand-pink);color:#fff;padding:12px 20px;min-height:46px;border-radius:999px;font-weight:700;transition:.18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(179,10,79,.16)}
.btn.secondary{background:#fff;color:var(--brand-pink)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#3b2600}
.section{padding:78px 20px}.section.alt{background:var(--section-bg)}.wrap{max-width:var(--max);margin:auto}.center{text-align:center}
.section-title{font-family:var(--serif);font-size:44px;line-height:1.1;margin:0 0 14px;color:var(--deep);letter-spacing:-.02em}
.section-lead{max-width:760px;margin:0 auto 36px;color:var(--muted);font-size:17px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.split img{width:100%;border:1px solid var(--border);border-radius:26px;display:block;box-shadow:var(--shadow)}.quote{font-family:var(--serif);font-size:23px;color:var(--brand-pink)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:22px}.card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:27px;box-shadow:0 14px 30px rgba(68,28,42,.04)}.card h3{font-family:var(--serif);font-size:28px;margin:0 0 9px;color:var(--deep)}.card p{color:var(--muted);margin:5px 0}.card a{color:var(--brand-pink);font-weight:700}
.menu-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:32px}.tab{border:1px solid var(--border);background:#fff;padding:11px 18px;cursor:pointer;border-radius:999px;font-weight:600;color:var(--deep)}.tab.active{background:var(--brand-pink);color:#fff;border-color:var(--brand-pink)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.product-card{background:#fff;border:1px solid var(--border);border-radius:26px;text-decoration:none;display:flex;flex-direction:column;min-height:100%;overflow:hidden;box-shadow:0 14px 32px rgba(68,28,42,.06);transition:.2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(68,28,42,.11)}.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fbf1f4;display:block}.product-info{padding:22px 22px 24px;text-align:left}.product-info h3{font-family:var(--serif);font-size:27px;margin:8px 0;color:var(--deep);line-height:1.15}.badge{display:inline-block;color:var(--brand-pink);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.price-from{margin:10px 0 0;color:var(--brand-pink);font-weight:700}.veg{color:var(--muted);font-size:13px;margin-top:8px}
.page-hero{padding:72px 20px;background:linear-gradient(180deg,#fff7f9,#fffaf7);text-align:center;border-bottom:1px solid var(--border)}.page-hero h1{font-family:var(--serif);font-size:58px;line-height:1.05;margin:0 0 13px;color:var(--deep)}.page-hero p{max-width:760px;margin:auto;color:var(--muted)}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:18px}.breadcrumbs a{color:var(--brand-pink);text-decoration:none}
.product-layout{display:grid;grid-template-columns:1fr .92fr;gap:54px;align-items:start}.gallery-box{border:1px solid var(--border);background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.main-img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#faf4f6}.thumbs{display:flex;gap:10px;padding:12px;overflow-x:auto;background:#fff}.thumbs button{border:1px solid var(--border);background:#fff;padding:0;cursor:pointer;border-radius:12px;overflow:hidden}.thumbs img{width:82px;height:82px;object-fit:cover;display:block}.prod-title{font-family:var(--serif);font-size:50px;line-height:1.08;margin:0 0 10px;color:var(--deep);letter-spacing:-.02em}.prod-desc{color:var(--muted);font-size:16px}.price-table{border-top:1px solid var(--border);margin-top:18px}.price-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 16px;border:0;border-bottom:1px solid var(--border);background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:.16s ease}.price-row:hover,.price-row.selected{background:var(--section-bg);color:var(--brand-pink)}.selected-size{border:1px solid var(--border);background:linear-gradient(180deg,#fff,#fff5f8);border-radius:20px;padding:16px 18px;margin:20px 0}.selected-size span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-pink);font-weight:800}.selected-size strong{font-family:var(--serif);font-size:25px;color:var(--deep)}.notice{background:var(--section-bg);border:1px solid var(--border);border-radius:18px;padding:16px 18px;margin:22px 0;color:var(--muted)}.branch-buttons{display:grid;gap:10px}.call-btn{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:16px;padding:13px 15px;text-decoration:none;color:var(--brand-pink);background:#fff;transition:.16s ease}.call-btn:hover{border-color:var(--brand-pink);transform:translateY(-1px)}.call-btn strong{color:var(--text)}
.accordion{border-top:1px solid var(--border);margin-top:24px}.acc-item{border-bottom:1px solid var(--border)}.acc-head{width:100%;background:transparent;border:0;padding:17px 0;text-align:left;font-weight:800;font-size:16px;cursor:pointer;color:var(--deep)}.acc-body{display:none;color:var(--muted);padding:0 0 18px}.acc-item.open .acc-body{display:block}
.footer{padding:54px 20px;background:#fff7f9;border-top:1px solid var(--border);color:var(--muted)}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.8fr .8fr;gap:34px;align-items:start}.footer-brand img{width:135px;display:block;margin-bottom:14px;border-radius:8px}.footer-brand h3{font-family:var(--serif);font-size:30px;color:var(--deep);margin:0 0 6px}.footer-brand p{margin:0}.footer-locations{display:grid;grid-template-columns:1fr 1fr;gap:14px}.footer-location{background:#fff;border:1px solid var(--border);border-radius:18px;padding:15px 17px;text-align:left}.footer-location strong{display:block;color:var(--deep);font-family:var(--serif);font-size:21px;margin-bottom:4px}.footer-location span{display:block;font-size:14px;line-height:1.45}.footer-location a{display:inline-block;margin-top:7px;color:var(--brand-pink);font-weight:800}.footer-social{text-align:left}.footer-social a{color:var(--brand-pink)}.small{font-size:13px;color:var(--muted)}
.menu-note{max-width:780px;margin:0 auto 36px;color:var(--muted);text-align:center}.custom-box{max-width:980px;margin:auto;background:#fff;border:1px solid var(--border);border-radius:26px;padding:38px;box-shadow:var(--shadow)}.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{border:1px solid var(--border);border-radius:20px;padding:22px;background:#fff}.step:before{counter-increment:steps;content:'0' counter(steps);font-family:var(--serif);font-size:39px;color:var(--brand-pink);display:block;margin-bottom:6px}.option-note{border-left:4px solid var(--brand-pink);padding-left:18px;margin:24px 0;color:var(--muted)}.custom-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.delivery-note{background:#fff7f9;border:1px solid var(--border);border-radius:16px;padding:14px 16px;color:var(--muted)}
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.collection-card{border:1px solid var(--border);border-radius:26px;background:#fff;text-decoration:none;display:flex;flex-direction:column;min-height:100%;transition:.2s ease;overflow:hidden;box-shadow:0 14px 32px rgba(68,28,42,.05)}.collection-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(68,28,42,.1)}.collection-card img{width:100%;aspect-ratio:1.12/1;object-fit:cover;background:#fbf0f4}.collection-card div{padding:22px;text-align:left}.collection-card h3{font-family:var(--serif);font-size:27px;margin:0 0 8px;color:var(--deep);line-height:1.14}.collection-card p{color:var(--muted);margin:0 0 12px}.collection-card span{color:var(--brand-pink);font-weight:800}
.occasion-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,240px));gap:26px;justify-content:start;align-items:start}
.occasion-option-card{border:1px solid #ead6dd;border-radius:30px;background:#fff;text-decoration:none;overflow:hidden;display:flex;flex-direction:column;transition:.18s ease;box-shadow:0 10px 28px rgba(68,28,42,.05);max-width:240px}
.occasion-option-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(68,28,42,.10)}
.occasion-option-image{aspect-ratio:1/1.05;overflow:hidden;background:#fcf4f7}
.occasion-option-image img{width:100%;height:100%;object-fit:cover;display:block}
.occasion-option-body{padding:16px 16px 18px;background:#fff;text-align:center}
.compact-birthday-card .occasion-option-body{display:block;min-height:auto}
.compact-label,.compact-title{display:none!important}
.wow-price{margin:0;font-family:var(--serif);line-height:.95;color:#7b666d;display:flex;flex-direction:column;align-items:center;gap:6px}
.price-word{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--brand-pink)}
.price-number{font-family:var(--serif);font-size:28px;font-weight:700;letter-spacing:-.02em;color:#7a646b}
.wow-price::before{display:none}
.compact-birthday-card .price-from{margin:0}
.compact-birthday-card .badge{display:none!important}
.occasion-product-layout{display:grid;grid-template-columns:minmax(0,1fr);max-width:900px}.occasion-product-panel{background:#fff;border:1px solid var(--border);border-radius:30px;padding:36px;box-shadow:var(--shadow)}.estimate-box{background:#fff7f9;border:1px solid var(--border);border-radius:24px;padding:24px;margin:24px 0}.estimate-box h3{font-family:var(--serif);font-size:29px;margin:0 0 16px;color:var(--deep)}.estimate-box label{display:block;font-weight:800;margin-top:14px;color:var(--deep)}.estimate-box select{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;font:inherit;margin-top:6px}.estimate-total{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;margin-top:16px}.estimate-total span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-pink);font-weight:800}.estimate-total strong{display:block;font-family:var(--serif);font-size:38px;color:var(--deep);line-height:1.1}.estimate-total em{display:block;color:var(--muted);font-style:normal;margin-top:4px}
.editor-wrap{max-width:1040px;margin:30px auto;padding:0 20px}.editor-panel{border:1px solid var(--border);background:#fff;border-radius:20px;padding:22px;margin-bottom:20px}.editor-panel input,.editor-panel textarea,.editor-panel select{width:100%;padding:11px;border:1px solid #d9c8ce;border-radius:8px;margin:7px 0 14px;font:inherit}.editor-panel textarea{min-height:90px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.code-output{white-space:pre-wrap;background:#20161a;color:#fff;padding:16px;max-height:420px;overflow:auto}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.color-grid label{display:block}.color-grid input{height:44px;padding:2px}.mobile-only{display:none}
@media(max-width:980px){.brand-title{font-size:34px}.product-grid{grid-template-columns:repeat(2,1fr)}.occasion-option-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.collection-grid{grid-template-columns:repeat(2,1fr)}.hero-inner,.split,.product-layout{grid-template-columns:1fr}.hero-media{order:-1;min-height:360px}.hero-media img{min-height:360px}.footer-inner,.footer-locations{grid-template-columns:1fr}}
@media(max-width:760px){.top-note{font-size:12px}.hamb{display:block}.nav{display:none;position:absolute;left:0;right:0;top:94px;background:#fff;border-bottom:1px solid var(--border);padding:16px 22px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.brand img{width:112px}.brand-title{display:none}.hero{padding:38px 18px 46px}.hero-points,.steps,.product-grid,.collection-grid,.occasion-option-grid,.cards{grid-template-columns:1fr}.h1,.page-hero h1{font-size:42px}.section-title{font-size:35px}.section{padding:52px 18px}.custom-box,.occasion-product-panel{padding:26px}.desktop-only{display:none}.mobile-only{display:block}.occasion-option-grid{justify-content:stretch}}
.nav .nav-call{border:1px solid var(--brand-pink);color:var(--brand-pink);border-radius:999px;padding:9px 16px;font-weight:800}.nav .nav-call:after{display:none}.card-link{display:inline-block;margin-top:14px;color:var(--brand-pink);font-weight:800}.branch-card .btns{margin-top:16px}.branch-card .btn{padding:9px 13px;min-height:38px;font-size:14px}.shop-section{text-align:center}.shop-section .product-grid{text-align:left}.first-shop{text-align:center}

/* Final polish: clearer opening hours */
.branch-card p:first-of-type{font-size:20px;font-weight:800;color:var(--deep);margin-top:12px;margin-bottom:10px;}
.branch-card p:nth-of-type(2){font-size:17px;line-height:1.55;}
.bento-flavour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.bento-flavour{border:1px solid var(--border);background:#fff;border-radius:18px;padding:14px 16px;text-align:left;cursor:pointer;color:var(--deep);transition:.2s ease}
.bento-flavour strong{display:block;font-size:16px}.bento-flavour span{color:var(--brand-pink);font-weight:800}
.bento-flavour.selected,.bento-flavour:hover{border-color:var(--brand-pink);box-shadow:0 10px 24px rgba(178,0,82,.10);transform:translateY(-2px)}
.thumbs .bento-thumb.selected{outline:2px solid var(--brand-pink);outline-offset:2px}
.bento-layout .selected-size strong{font-size:20px}
@media(max-width:760px){.bento-flavour-grid{grid-template-columns:1fr}}


/* Gallery polish */
.gallery-stage{position:relative;background:#faf4f6}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:1px solid rgba(53,29,34,.14);background:rgba(255,255,255,.92);color:var(--deep);font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 10px 24px rgba(68,28,42,.12)}
.gallery-nav.prev{left:14px}.gallery-nav.next{right:14px}
.gallery-count{position:absolute;right:14px;bottom:14px;background:rgba(53,29,34,.78);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;letter-spacing:.06em}
.gallery-thumb.selected{border-color:var(--brand-pink);box-shadow:0 0 0 2px rgba(179,10,79,.14)}
.thumbs{scroll-snap-type:x proximity}
.thumbs button{scroll-snap-align:start}
.thumbs button:hover{border-color:var(--brand-pink)}

/* Bigger locations heading */
.locations-page .page-hero h1{font-size:68px}
.locations-page .branch-card p:first-of-type{font-size:22px}

/* Bento polish */
.bento-layout .gallery-box{overflow:hidden}
.bento-layout .thumbs img,.thumbs img{border-radius:10px}
.bento-flavour-grid{margin-top:14px}
.editor-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.editor-tab{border:1px solid var(--border);background:#fff;padding:12px 16px;border-radius:999px;cursor:pointer;font-weight:700;color:var(--deep)}.editor-tab.active{background:var(--brand-pink);border-color:var(--brand-pink);color:#fff}.editor-tab-panel{display:none}.editor-tab-panel.active{display:block}.wide-editor{max-width:1180px}.quick-preview img,.mini-product img{width:100%;max-width:180px;border:1px solid var(--border);border-radius:14px;display:block}.mini-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.mini-product{border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff}.mini-product span{display:block;font-weight:700;margin-top:8px}.shop-option-list{margin-top:16px}.help-note{background:#fff7f9;border:1px solid var(--border);padding:14px 16px;border-radius:16px;color:var(--muted)}
@media(max-width:760px){.locations-page .page-hero h1{font-size:48px}.gallery-nav{width:38px;height:38px;font-size:24px}}

/* Cohesive catalogue image styling */
.product-image-wrap{background:linear-gradient(180deg,#fff7f1,#f5e7dc);padding:0;display:block}
.product-card img{background:linear-gradient(180deg,#fff7f1,#f5e7dc)}
.card-note{font-size:12px;color:var(--muted);margin:10px 0 0}
.gallery-stage{background:linear-gradient(180deg,#fff7f1,#f5e7dc)}
.gallery-nav:hover{background:var(--brand-pink);color:#fff;border-color:var(--brand-pink)}
.gallery-thumb.selected{border-color:var(--brand-pink);box-shadow:0 0 0 3px rgba(179,10,79,.13)}
.photo-manager-preview{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:start}
.photo-manager-preview img{width:160px;height:160px;object-fit:cover;border-radius:18px;border:1px solid var(--border);background:#fff7f1}
@media(max-width:760px){.photo-manager-preview{grid-template-columns:1fr}.photo-manager-preview img{width:100%;height:auto}}

.design-help-box{margin:18px 0;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fff,#fff6f8);color:var(--muted);box-shadow:0 12px 28px rgba(79,35,46,.06)}
.design-help-box strong{display:block;margin-bottom:6px;color:var(--deep);font-family:var(--serif);font-size:24px;line-height:1.1}
.design-help-box p{margin:0}
.design-help-box a{color:var(--brand-pink);font-weight:700;text-decoration:none}
.design-help-box a:hover{text-decoration:underline}
.thumbs::-webkit-scrollbar{height:10px}
.thumbs::-webkit-scrollbar-track{background:#f5eaee;border-radius:999px}
.thumbs::-webkit-scrollbar-thumb{background:#d7b6c1;border-radius:999px}
.thumbs::-webkit-scrollbar-thumb:hover{background:#c58fa3}

/* Highlighted standard price + Facebook design notes */
.standard-price-note{
  margin:16px 0;
  padding:14px 16px;
  border:1px solid var(--border);
  border-left:5px solid var(--brand-pink);
  border-radius:16px;
  background:#fff8fa;
  color:var(--muted);
}
.standard-price-note strong{color:var(--deep)}
.design-help-box{
  margin:18px 0;
  padding:18px 20px;
  border:1px solid var(--border);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fff6f8);
  color:var(--muted);
  box-shadow:0 12px 28px rgba(79,35,46,.06)
}
.design-help-box strong{
  display:block;
  margin-bottom:7px;
  color:var(--deep);
  font-family:var(--serif);
  font-size:25px;
  line-height:1.1
}
.design-help-box p{margin:0}
.design-help-box a{color:var(--brand-pink);font-weight:800;text-decoration:none}
.design-help-box a:hover{text-decoration:underline}


/* Horizontal product detail tabs + cleaner horizontal contact cards */
.branch-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.call-btn{padding:14px 16px;min-height:70px;align-items:flex-start;flex-direction:column;gap:6px}
.call-btn span{font-weight:800;color:var(--brand-pink)}
.detail-tabs{margin-top:26px;border:1px solid var(--border);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 14px 30px rgba(68,28,42,.05)}
.detail-tab-row{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--border);background:#fff9fb}
.detail-tab-btn{appearance:none;border:0;background:transparent;padding:16px 20px;font:inherit;font-weight:800;color:var(--deep);cursor:pointer;white-space:nowrap;position:relative}
.detail-tab-btn:after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:3px;border-radius:999px;background:transparent;transition:.18s ease}
.detail-tab-btn.active{color:var(--brand-pink);background:#fff}
.detail-tab-btn.active:after{background:var(--brand-pink)}
.detail-panels{padding:22px 22px 20px}
.detail-panel{display:none;color:var(--muted);line-height:1.75}
.detail-panel.active{display:block}
@media(max-width:760px){
  .branch-buttons{grid-template-columns:1fr}
  .detail-tab-btn{padding:14px 16px;font-size:14px}
  .detail-panels{padding:18px}
}


.product-page-shell{display:grid;gap:34px}.product-side-panel{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.product-side-panel h3{margin:22px 0 10px;font-size:18px;color:var(--deep)}.product-side-panel .branch-buttons{margin-top:10px}.detail-tabs-wide{margin-top:0}.detail-tabs-wide .detail-panels{padding:28px 30px}.detail-tabs-wide .detail-panel{max-width:none}.detail-tabs-wide p{margin:0 0 16px}.detail-tabs-wide p:last-child{margin-bottom:0}.detail-tabs-wide .standard-price-note,.detail-tabs-wide .design-help-box{margin:0 0 16px}.detail-tabs-wide .design-help-box strong{font-size:22px}.detail-tabs-wide .detail-tab-row{justify-content:flex-start}.occasion-product-layout{max-width:none}.occasion-product-panel h3{margin:24px 0 10px}.occasion-product-panel .branch-buttons{margin-top:10px}@media(max-width:980px){.product-side-panel{padding:22px}.detail-tabs-wide .detail-panels{padding:22px}}


/* Actual horizontal product detail layout */
.product-page-shell{display:grid;gap:34px}
.product-side-panel{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.product-side-panel h3{margin:22px 0 10px;font-size:18px;color:var(--deep)}
.detail-tabs-wide{margin-top:0;border:1px solid var(--border);border-radius:26px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}
.detail-tabs-wide .detail-tab-row{display:flex;align-items:center;gap:0;overflow-x:auto;border-bottom:1px solid var(--border);background:#fff}
.detail-tabs-wide .detail-tab-btn{appearance:none;border:0;background:transparent;padding:18px 24px;font:inherit;font-weight:700;color:var(--deep);cursor:pointer;white-space:nowrap;position:relative}
.detail-tabs-wide .detail-tab-btn:after{content:'';position:absolute;left:24px;right:24px;bottom:0;height:3px;border-radius:999px;background:transparent}
.detail-tabs-wide .detail-tab-btn.active{color:var(--brand-pink)}
.detail-tabs-wide .detail-tab-btn.active:after{background:var(--brand-pink)}
.detail-tabs-wide .detail-panels{padding:26px 28px;min-height:150px}
.detail-tabs-wide .detail-panel{display:none;color:var(--muted);line-height:1.75}
.detail-tabs-wide .detail-panel.active{display:block}
.detail-tabs-wide p{margin:0 0 14px}
.detail-tabs-wide p:last-child{margin-bottom:0}
.detail-tabs-wide .standard-price-note,.detail-tabs-wide .design-help-box{margin:0 0 16px}
.order-panel-wide{background:#fff;border:1px solid var(--border);border-radius:26px;padding:28px;box-shadow:var(--shadow)}
.order-panel-wide h2{font-family:var(--serif);font-size:34px;margin:0 0 8px;color:var(--deep)}
.order-panel-wide .branch-buttons{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.order-panel-wide .call-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:84px;justify-content:center}
.order-panel-wide .call-btn span{font-weight:800;color:var(--brand-pink)}
@media(max-width:980px){
 .order-panel-wide .branch-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-side-panel{padding:22px}
 .detail-tabs-wide .detail-panels{padding:22px}
}
@media(max-width:640px){
 .order-panel-wide .branch-buttons{grid-template-columns:1fr}
 .detail-tabs-wide .detail-tab-btn{padding:15px 18px}
}


/* Birthday theme landing / subcategory shop page */
.birthday-theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.birthday-theme-card{min-height:310px;border:1px solid var(--border);border-radius:28px;overflow:hidden;text-decoration:none;color:var(--deep);background:
linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.94)),
var(--bg) center/cover no-repeat;display:flex;align-items:flex-end;box-shadow:var(--shadow);transition:.2s ease}
.birthday-theme-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(68,28,42,.12)}
.birthday-theme-card>div{padding:26px;background:linear-gradient(180deg,rgba(255,255,255,.72),#fff);width:100%}
.birthday-theme-card h3{font-family:var(--serif);font-size:30px;margin:8px 0;color:var(--deep);line-height:1.05}
.birthday-theme-card p{color:var(--muted);margin:0 0 16px;line-height:1.5}
.birthday-theme-card span:last-child,.inline-back-link{color:var(--brand-pink);font-weight:800;text-decoration:none}
.birthday-how-box{grid-column:1/-1;background:#fff;border:1px solid var(--border);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.birthday-how-box h2{font-family:var(--serif);font-size:38px;margin:0 0 10px;color:var(--deep)}
.birthday-how-box p{color:var(--muted);font-size:17px;line-height:1.7}
@media(max-width:1100px){.birthday-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.birthday-theme-grid{grid-template-columns:1fr}.birthday-theme-card{min-height:250px}}


/* Product page helpers restored */
.gallery-box{border:1px solid var(--border);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.gallery-stage{position:relative;background:linear-gradient(180deg,#fff7f1,#f5e7dc)}
.gallery-stage img{width:100%;height:auto;display:block;object-fit:cover}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:1px solid rgba(53,29,34,.14);background:rgba(255,255,255,.92);color:var(--deep);font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 10px 24px rgba(68,28,42,.12)}
.gallery-nav.prev{left:14px}.gallery-nav.next{right:14px}
.gallery-nav:hover{background:var(--brand-pink);color:#fff;border-color:var(--brand-pink)}
.gallery-count{position:absolute;right:14px;bottom:14px;background:rgba(53,29,34,.78);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;letter-spacing:.06em}
.thumbs{display:flex;gap:12px;overflow-x:auto;padding:14px;background:#fff;scroll-snap-type:x proximity}
.gallery-thumb{border:1px solid var(--border);background:#fff;border-radius:12px;padding:4px;cursor:pointer;scroll-snap-align:start}
.gallery-thumb img{width:72px;height:72px;object-fit:cover;border-radius:9px;display:block}
.gallery-thumb.selected{border-color:var(--brand-pink);box-shadow:0 0 0 3px rgba(179,10,79,.13)}
.product-page-shell{display:grid;gap:34px}
.product-side-panel{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.product-side-panel h3{margin:22px 0 10px;font-size:18px;color:var(--deep)}
.detail-tabs-wide{margin-top:0;border:1px solid var(--border);border-radius:26px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}
.detail-tabs-wide .detail-tab-row{display:flex;align-items:center;gap:0;overflow-x:auto;border-bottom:1px solid var(--border);background:#fff}
.detail-tabs-wide .detail-tab-btn{appearance:none;border:0;background:transparent;padding:18px 24px;font:inherit;font-weight:700;color:var(--deep);cursor:pointer;white-space:nowrap;position:relative}
.detail-tabs-wide .detail-tab-btn:after{content:'';position:absolute;left:24px;right:24px;bottom:0;height:3px;border-radius:999px;background:transparent}
.detail-tabs-wide .detail-tab-btn.active{color:var(--brand-pink)}
.detail-tabs-wide .detail-tab-btn.active:after{background:var(--brand-pink)}
.detail-tabs-wide .detail-panels{padding:26px 28px;min-height:150px}
.detail-tabs-wide .detail-panel{display:none;color:var(--muted);line-height:1.75}
.detail-tabs-wide .detail-panel.active{display:block}
.order-panel-wide{background:#fff;border:1px solid var(--border);border-radius:26px;padding:28px;box-shadow:var(--shadow)}
.order-panel-wide h2{font-family:var(--serif);font-size:34px;margin:0 0 8px;color:var(--deep)}
.order-panel-wide .branch-buttons{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.order-panel-wide .call-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:84px;justify-content:center}
.order-panel-wide .call-btn span{font-weight:800;color:var(--brand-pink)}
@media(max-width:980px){.order-panel-wide .branch-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.product-side-panel{padding:22px}.detail-tabs-wide .detail-panels{padding:22px}}
@media(max-width:640px){.order-panel-wide .branch-buttons{grid-template-columns:1fr}.detail-tabs-wide .detail-tab-btn{padding:15px 18px}}


/* Birthday editor helper buttons */
.editor-actions-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.theme-design-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.theme-design-card{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--border);border-radius:18px;background:#fff;padding:12px;cursor:pointer;color:var(--deep);transition:.18s ease}
.theme-design-card:hover{border-color:var(--brand-pink);box-shadow:0 12px 26px rgba(68,28,42,.08);transform:translateY(-2px)}
.theme-design-card img{width:74px;height:74px;object-fit:cover;border-radius:14px;background:#fff6f8}
.theme-design-card span{display:flex;flex-direction:column;gap:4px}
.theme-design-card em{font-style:normal;color:var(--brand-pink);font-weight:700;font-size:13px}
.empty-design-list{border:1px dashed var(--border);border-radius:18px;padding:18px;background:#fff9fb;color:var(--muted)}
.inline-btn{border:0;background:transparent;color:var(--brand-pink);font-weight:800;text-decoration:underline;cursor:pointer;padding:0;font:inherit}

/* Wix-style live save helper */
.editor-live-help{margin:12px 0 22px;padding:14px 18px;border:1px solid var(--border);border-left:5px solid var(--brand-pink);border-radius:18px;background:#fff7fa;color:var(--muted)}
.editor-live-help strong{color:var(--deep)}
.live-save-status{position:fixed;right:22px;bottom:22px;z-index:9999;background:#3a1e29;color:#fff;border-radius:999px;padding:12px 18px;box-shadow:0 18px 45px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s ease;font-weight:800}
.live-save-status.show{opacity:1;transform:translateY(0)}


/* Wix-style image upload zones */
.wix-note{
  background:#fff7fa;
  border:1px solid var(--border);
  border-left:5px solid var(--brand-pink);
  border-radius:18px;
  padding:14px 16px;
  margin:12px 0 16px;
  color:var(--muted);
}
.wix-note strong{color:var(--deep)}
.wix-note kbd{
  background:#fff;
  border:1px solid var(--border);
  border-radius:7px;
  padding:2px 6px;
  font-weight:700;
}
.image-upload-zone{
  border:2px dashed var(--border);
  border-radius:18px;
  min-height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:linear-gradient(180deg,#fff,#fff8fb);
  cursor:pointer;
  text-align:center;
  padding:18px;
  margin-bottom:10px;
  transition:.18s ease;
}
.image-upload-zone:hover,.image-upload-zone.dragover{
  border-color:var(--brand-pink);
  box-shadow:0 12px 28px rgba(68,28,42,.08);
  transform:translateY(-1px);
}
.image-upload-zone strong{color:var(--deep);font-size:18px}
.image-upload-zone span{color:var(--muted);font-size:14px}
.image-preview-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:8px 0 14px;
  align-items:center;
}
.image-preview-row img{
  width:82px;
  height:82px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
}
.image-preview-row span{color:var(--brand-pink);font-weight:800}

#onlineStatus code{background:#fff;border:1px solid var(--border);border-radius:6px;padding:2px 5px}


.admin-login-box{background:#fffdfd}
.admin-login-box.logged-in{border-color:#76c893;box-shadow:0 0 0 3px rgba(118,200,147,.16)}
.admin-login-box.needs-config{border-color:#f6bd60}
#adminAuthStatus strong{color:var(--brand-pink)}


#supabaseSetupBox input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}


/* Occasion product image/gallery fix */
.occasion-detail-layout .gallery-box{position:sticky;top:24px}
.occasion-detail-layout .gallery-stage img{aspect-ratio:1/1;object-fit:cover}
@media(max-width:980px){.occasion-detail-layout .gallery-box{position:static}}

/* Price number visibility fix */
.minimal-luxe-card .price-number{
  display:block!important;
  visibility:visible!important;
}
.minimal-luxe-card .price-word{
  display:block!important;
  visibility:visible!important;
}

/* Occasion flavour block buttons */
.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}
.flavour-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-top:8px;align-items:stretch}
.flavour-choice{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 12px;text-align:center;font:inherit;font-weight:750;color:var(--deep);cursor:pointer;transition:.18s ease;min-height:54px;display:flex;align-items:center;justify-content:center;line-height:1.2}
.flavour-choice:hover,.flavour-choice.selected{border-color:var(--brand-pink);box-shadow:0 10px 22px rgba(179,10,79,.10);background:#fff7fa;color:var(--brand-pink)}


/* ===== Chic launch polish update ===== */
.promo-strip{
  background:linear-gradient(90deg,#2f3d83,#23306d);
  color:#fff;
  text-align:center;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:7px 12px;
  font-size:13px;
}
.topbar{background:#fffaf8;box-shadow:0 8px 26px rgba(68,28,42,.04)}
.nav{gap:24px}
.nav a{font-weight:700}
.nav a.active{color:var(--brand-pink)}
.nav-call{
  border:1px solid var(--brand-pink)!important;
  border-radius:999px;
  padding:12px 22px!important;
  color:var(--brand-pink)!important;
}
.nav-call:after{display:none!important}
@media(max-width:900px){
  .brand-title{font-size:30px;white-space:normal}
  .brand img{width:110px}
  .promo-strip{font-size:11px}
}

/* Home category circles */
.home-categories-section{padding-top:50px;padding-bottom:42px}
.home-category-row{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:28px;
  align-items:start;
  margin-top:32px;
}
.home-category-row a{text-decoration:none;text-align:center;color:var(--deep);font-weight:850;text-transform:uppercase;letter-spacing:.03em}
.home-category-row img{
  width:160px;
  height:160px;
  object-fit:cover;
  border-radius:999px;
  background:#ffe7ee;
  padding:10px;
  box-shadow:0 16px 34px rgba(68,28,42,.08);
  transition:.18s ease;
}
.home-category-row a:hover img{transform:translateY(-4px);box-shadow:0 22px 44px rgba(68,28,42,.12)}
.home-category-row span{display:block;margin-top:14px}
@media(max-width:980px){.home-category-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.home-category-row{grid-template-columns:repeat(2,1fr)}.home-category-row img{width:132px;height:132px}}

/* Bento homepage promo */
.bento-home-banner{background:linear-gradient(135deg,#fff7fa,#fff0e0)}
.bento-promo{
  border:1px solid var(--border);
  border-radius:36px;
  padding:42px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  box-shadow:var(--shadow);
}
.bento-promo p{max-width:760px;font-size:18px;color:var(--muted)}
.bento-price-badge{
  min-width:180px;
  height:180px;
  border-radius:999px;
  background:var(--brand-pink);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  box-shadow:0 18px 38px rgba(179,10,79,.18);
}
.bento-price-badge span{font-size:15px;text-transform:uppercase;letter-spacing:.2em;font-weight:800}
.bento-price-badge strong{font-family:var(--serif);font-size:56px;line-height:1}
.bento-price-badge small{font-weight:800}
@media(max-width:760px){.bento-promo{flex-direction:column;align-items:flex-start}.bento-price-badge{width:150px;height:150px;min-width:150px}}

/* Shop category / birthday filter pills */
.birthday-theme-pills-wrap{display:block!important}
.theme-filter-panel{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  max-width:1040px;
  margin:0 auto 28px;
}
.theme-filter-pill{
  text-decoration:none;
  border:1px solid #ead7db;
  background:#fff;
  color:var(--deep);
  border-radius:4px;
  padding:14px 20px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.02em;
  box-shadow:0 8px 20px rgba(68,28,42,.03);
}
.theme-filter-pill:hover{border-color:var(--brand-pink);color:var(--brand-pink);background:#fff7fa}

/* Collection cards and occasion cards */
.occasion-option-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,250px));
  gap:30px;
  justify-content:start;
  align-items:start;
}
.occasion-option-card{
  max-width:250px;
  border:1px solid #edd8de;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(68,28,42,.05);
}
.occasion-option-image{aspect-ratio:1/1.05;background:#fff7fa;overflow:hidden}
.occasion-option-image img{width:100%;height:100%;object-fit:cover;display:block}
.occasion-option-body{padding:16px 14px 18px;text-align:center}
.occasion-card-title{
  display:block!important;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.22;
  margin:0 0 10px;
  color:var(--deep);
  font-weight:850;
}
.wow-price{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.price-word{
  display:block!important;
  color:var(--brand-pink);
  font-weight:850;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.price-number{
  display:block!important;
  font-family:var(--serif);
  font-style:italic;
  font-size:31px;
  line-height:1;
  color:#766268;
  font-weight:700;
}
.shop-how-top{margin-bottom:54px}
.menu-note-polished{
  border:1px solid var(--border);
  border-radius:22px;
  padding:18px 22px;
  background:#fff8fa;
  color:var(--muted);
}

/* Order panel wording */
.order-instruction{
  font-size:17px!important;
  font-weight:750!important;
  color:var(--deep)!important;
  max-width:960px;
  line-height:1.65;
}

/* Footer cleaner one-line feel */
.footer-clean{
  background:#fff3f6;
  border-top:1px solid var(--border);
  padding:48px 22px 22px;
}
.footer-chic{
  max-width:var(--max);
  margin:auto;
  display:grid;
  grid-template-columns:260px 1fr 190px;
  gap:34px;
  align-items:start;
}
.footer-location-line{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.footer-location-line div{
  padding:0 14px;
  border-left:1px solid #e8cfd6;
}
.footer-location-line strong{
  display:block;
  font-family:var(--serif);
  font-size:22px;
  margin-bottom:6px;
}
.footer-location-line span{
  display:block;
  color:var(--muted);
  line-height:1.45;
  margin-bottom:8px;
}
.footer-location-line a{
  color:var(--brand-pink);
  font-weight:850;
}
.footer-delivery-line{
  max-width:var(--max);
  margin:28px auto 0;
  padding-top:20px;
  border-top:1px dashed #e4cbd2;
  color:var(--muted);
  font-weight:700;
}
@media(max-width:980px){
  .footer-chic{grid-template-columns:1fr}
  .footer-location-line{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){.footer-location-line{grid-template-columns:1fr}}

/* How to order page */
.how-order-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.how-step{
  background:#fff;
  border:1px solid var(--border);
  border-radius:26px;
  padding:24px;
  box-shadow:0 10px 28px rgba(68,28,42,.04);
}
.how-step span{
  display:inline-flex;
  width:42px;height:42px;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  background:var(--brand-pink);
  color:#fff;
  font-weight:900;
  margin-bottom:10px;
}
.how-step h3{margin:0 0 8px;color:var(--deep);font-size:22px}
.how-info{margin:28px 0}
@media(max-width:760px){.how-order-grid{grid-template-columns:1fr}}

/* Product note polish */
.estimate-box .small{color:var(--muted)}
.flavour-choice-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
.flavour-choice{text-align:center}

/* Remove old birthday size box if present */
.birthday-how-box{display:none!important}


/* ===== Final pre-Supabase polish fixes ===== */

/* one moving top strip only */
.promo-strip,.top-note{display:none!important}
.promo-marquee{
  overflow:hidden;
  background:linear-gradient(90deg,#2f3d83,#23306d);
  color:#fff;
  white-space:nowrap;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
  padding:8px 0;
}
.promo-track{
  display:inline-flex;
  gap:34px;
  min-width:max-content;
  animation:nanakMarquee 28s linear infinite;
}
.promo-track span:after{content:"•";margin-left:34px;opacity:.75}
@keyframes nanakMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* fix header crowding/overlap */
.topbar{position:sticky;top:0;z-index:20}
.nav-wrap{
  max-width:1500px!important;
  padding:16px 28px!important;
  gap:20px!important;
}
.brand{flex:1 1 auto;min-width:0}
.brand img{width:132px!important;flex:0 0 auto}
.brand-title{
  font-family:'Beleza',var(--serif)!important;
  font-size:38px!important;
  font-weight:400!important;
  letter-spacing:-.015em!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav{
  flex:0 0 auto;
  gap:22px!important;
  font-size:17px!important;
  align-items:center;
}
.nav a{font-weight:850}
.nav-call{padding:12px 22px!important;min-width:110px;text-align:center}
@media(max-width:1150px){
  .brand-title{font-size:30px!important}
  .nav{gap:14px!important;font-size:15px!important}
  .brand img{width:112px!important}
}
@media(max-width:900px){
  .brand-title{white-space:normal!important;overflow:visible;font-size:26px!important}
}

/* better hero title */
.hero .h1{
  font-family:var(--sans)!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
  line-height:1.02!important;
  font-size:clamp(44px,6vw,82px)!important;
}
.hero-point{min-width:180px}
.hero-points{grid-template-columns:repeat(2,minmax(160px,1fr))!important}

/* make birthday/theme filter buttons stretch nicer across page */
.theme-filter-panel{
  max-width:1200px!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:14px!important;
  align-items:stretch;
}
.theme-filter-pill{
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:64px;
}

/* occasion design cards price/title */
.occasion-card-title{
  font-family:var(--serif)!important;
  font-weight:800!important;
  color:#1d1114!important;
  font-size:22px!important;
  line-height:1.15!important;
}
.price-number{
  font-family:var(--serif)!important;
  font-style:normal!important;
  color:#050505!important;
  font-weight:800!important;
  font-size:32px!important;
}
.price-word{color:var(--brand-pink)!important}

/* shop page should not show long old subtitle */
.page-hero p[data-content="shopSubtitle"]{display:none!important}

/* how-to-order detail box */
.detail-send-box{
  background:#fff8fa!important;
  border-color:#ead2d8!important;
}
.detail-send-box h2{margin-top:0}

/* keep home category row looking balanced */
.home-category-row{max-width:1260px;margin-left:auto;margin-right:auto}

/* remove the old simple-to-browse section if browser cache/local content brings it back */
.section.alt .cards .card h3:first-child{}

/* mobile polish */
@media(max-width:700px){
  .nav-wrap{padding:12px 16px!important}
  .hero-points{grid-template-columns:1fr!important}
  .theme-filter-panel{grid-template-columns:1fr 1fr!important}
}


/* ===== Shop pill + warm header polish ===== */

/* warmer, more welcoming header area */
.topbar{
  background:linear-gradient(180deg,#fff6f8 0%,#fffaf5 100%)!important;
  box-shadow:0 10px 30px rgba(70,25,40,.045);
}
.nav-wrap{
  border-bottom:0!important;
}
.nav a{
  color:#341d24!important;
}
.nav a.active{
  color:var(--brand-pink)!important;
}
.nav-call{
  background:#fff!important;
}

/* make moving strip match Nanak pink/green vibe instead of blue */
.promo-marquee{
  background:linear-gradient(90deg,#bd0a5d 0%,#7e1443 35%,#174f35 70%,#bd0a5d 100%)!important;
  box-shadow:inset 0 -1px rgba(255,255,255,.25);
}

/* move Call to Finalise higher and make it feel connected to Shop */
.shop-how-top{
  margin-top:-42px!important;
  margin-bottom:44px!important;
  border-radius:30px!important;
  background:#fffdfb!important;
  box-shadow:0 24px 65px rgba(65,24,38,.075)!important;
}
.first-shop{
  margin-top:4px!important;
}

/* shop occasion buttons like the birthday theme buttons */
.shop-occasion-pill-grid{
  max-width:1160px;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
  align-items:stretch;
}
.shop-occasion-pill{
  min-height:64px;
  padding:16px 18px;
  border:1px solid #ead1d8;
  background:#fff;
  color:#2b171d;
  text-decoration:none;
  border-radius:4px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 12px 28px rgba(68,28,42,.035);
  transition:.18s ease;
}
.shop-occasion-pill:hover{
  transform:translateY(-2px);
  border-color:var(--brand-pink);
  color:var(--brand-pink);
  box-shadow:0 18px 40px rgba(191,0,90,.09);
}

/* footer headings more jet black/classy */
.footer-location-line strong,
.footer-social strong,
.footer-brand h3{
  color:#050505!important;
}
.footer-location-line span,
.footer-brand p,
.footer-delivery-line{
  color:#443237!important;
}
.footer-social a{
  color:#050505!important;
  text-decoration-color:var(--brand-pink);
}
.footer-social a:hover{
  color:var(--brand-pink)!important;
}

/* make header less cramped on laptop */
@media(min-width:1000px){
  .brand-title{font-size:36px!important}
  .nav{gap:24px!important}
}
@media(max-width:760px){
  .shop-how-top{margin-top:-20px!important}
  .shop-occasion-pill-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .shop-occasion-pill-grid{grid-template-columns:1fr}
}


/* ===== Pink + yellow Nanak polish and smaller page headings ===== */
:root{
  --brand-pink:#c1005d;
  --brand-pink-2:#e01872;
  --brand-yellow:#ffd447;
  --brand-yellow-soft:#fff3b8;
  --ink:#2b171d;
}

/* make the site feel closer to Nanak logo colours */
body{
  background:linear-gradient(180deg,#fffaf5 0%,#fff7fb 42%,#fffdf8 100%)!important;
}
.promo-marquee{
  background:linear-gradient(90deg,#c1005d 0%,#e01872 32%,#ffd447 55%,#c1005d 100%)!important;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(60,0,30,.22);
}
.topbar{
  background:linear-gradient(180deg,#fff7d8 0%,#fff2f7 100%)!important;
  border-bottom:1px solid #f0cad5!important;
}
.nav a.active:after,
.nav a:hover:after{
  background:linear-gradient(90deg,var(--brand-pink),var(--brand-yellow))!important;
}
.nav-call{
  border-color:var(--brand-pink)!important;
  box-shadow:0 10px 25px rgba(193,0,93,.08)!important;
}
.btn.primary,
button.primary,
.admin-btn.primary{
  background:linear-gradient(135deg,var(--brand-pink),var(--brand-pink-2))!important;
}
.hero .eyebrow,
.eyebrow{
  color:var(--brand-pink)!important;
}
.hero .h1{
  color:#2b171d!important;
}

/* smaller menu/page hero sections so they don't take too much screen */
.page-hero,
.menu-hero,
.collection-hero{
  padding-top:48px!important;
  padding-bottom:50px!important;
  min-height:0!important;
}
.page-hero .eyebrow,
.menu-hero .eyebrow,
.collection-hero .eyebrow{
  font-size:13px!important;
  margin-bottom:14px!important;
}
.page-hero h1,
.menu-hero h1,
.collection-hero h1{
  font-size:clamp(46px,5vw,72px)!important;
  line-height:1.02!important;
  margin-bottom:18px!important;
}
.page-hero p,
.menu-hero p,
.collection-hero p{
  max-width:980px!important;
  font-size:18px!important;
  line-height:1.55!important;
}

/* menu catalogue notice smaller/tidier */
.catalogue-note,
.menu-note,
.info-note{
  max-width:960px!important;
  padding:22px 28px!important;
  border-color:#f0cfd7!important;
  background:#fffaff!important;
  font-size:17px!important;
}

/* warmer cards/borders */
.collection-card,
.card,
.product-card,
.shop-occasion-pill,
.theme-filter-pill{
  border-color:#efcbd4!important;
}
.shop-occasion-pill:hover,
.theme-filter-pill:hover{
  background:linear-gradient(180deg,#fff8cf,#fff)!important;
}

/* yellow hint on product price areas, but still classy */
.estimate-box,
.price-panel,
.product-price-box{
  border-color:#efd0d8!important;
  background:linear-gradient(180deg,#fff,#fffaf0)!important;
}

/* Footer with pink/yellow warmth */
.site-footer,
.footer{
  background:linear-gradient(180deg,#fff4f8 0%,#fff8df 100%)!important;
  border-top:1px solid #edcbd4!important;
}

/* reduce excessive white gap under menu hero if old spacing remains */
.cakes-page .section,
.menu-page .section{
  padding-top:50px!important;
}

@media(max-width:760px){
  .page-hero,.menu-hero,.collection-hero{
    padding-top:34px!important;
    padding-bottom:38px!important;
  }
  .page-hero h1,.menu-hero h1,.collection-hero h1{
    font-size:42px!important;
  }
}


/* ===== Final mobile wording/layout polish ===== */

/* Menu page: less chunky, tighter, easier to read */
@media(max-width:760px){
  .page-hero,
  .menu-hero,
  .collection-hero{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  .page-hero h1,
  .menu-hero h1,
  .collection-hero h1{
    font-size:clamp(44px,12vw,58px)!important;
    line-height:1.02!important;
    margin-bottom:16px!important;
  }
  .page-hero p,
  .menu-hero p,
  .collection-hero p{
    font-size:18px!important;
    line-height:1.45!important;
    max-width:88%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .catalogue-note,
  .menu-note,
  .info-note{
    font-size:16px!important;
    line-height:1.5!important;
    padding:22px 20px!important;
    margin-top:22px!important;
  }

  /* Product title should fit better on phone */
  .product-detail h1,
  .product-info h1,
  .product-page h1{
    font-size:clamp(46px,13vw,62px)!important;
    line-height:.96!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  /* Force Butterscotch/Black Forest style names to use available width */
  .product-detail,
  .product-info{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  /* Shop page: show occasion choices first, then order info below */
  .shop-page .shop-how-top,
  .shop-how-top{
    margin-top:36px!important;
    margin-bottom:36px!important;
    padding:26px 22px!important;
  }
  .shop-how-top h2,
  .shop-how-top .section-title{
    font-size:clamp(40px,11vw,54px)!important;
    line-height:1.02!important;
  }
  .shop-how-top p{
    font-size:18px!important;
    line-height:1.55!important;
  }

  /* Order steps as one clean bunch on phone */
  .steps-grid,
  .order-steps,
  .how-steps{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .step-card,
  .order-step,
  .how-step{
    padding:24px 22px!important;
    border-radius:22px!important;
  }
  .step-card .num,
  .order-step .num,
  .how-step .num{
    font-size:44px!important;
    margin-bottom:18px!important;
  }

  /* Shop occasion buttons already good, keep compact */
  .shop-occasion-pill-grid{
    gap:12px!important;
  }
  .shop-occasion-pill{
    min-height:58px!important;
    font-size:16px!important;
    padding:14px 12px!important;
  }
}

/* Make Butterscotch less likely to split on most phones */
@media(max-width:480px){
  .product-detail h1,
  .product-info h1,
  .product-page h1{
    font-size:50px!important;
    letter-spacing:-.035em!important;
  }
}
@media(max-width:390px){
  .product-detail h1,
  .product-info h1,
  .product-page h1{
    font-size:46px!important;
  }
}

/* Hide old menu text blocks that may be cached from content settings and keep the menu intro simple */
.cakes-page .catalogue-note,
.menu-page .catalogue-note{
  max-width:920px!important;
}


/* Shop page final order: sit under occasion choices */
.shop-how-top{
  margin-top:42px!important;
}
@media(max-width:760px){
  .shop-how-top{
    margin-top:28px!important;
  }
}

@media(max-width:760px){
  .steps{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .step{
    padding:22px 20px!important;
    border-radius:22px!important;
  }
  .step h3{
    font-size:22px!important;
    line-height:1.25!important;
  }
  .step p{
    font-size:17px!important;
    line-height:1.45!important;
  }
}


/* Remove repeated short descriptions under product headings */
.prod-desc{
  display:none!important;
}
.product-side-panel .selected-size,
.product-side-panel .estimate-box{
  margin-top:24px!important;
}
@media(max-width:760px){
  .product-side-panel .selected-size,
  .product-side-panel .estimate-box{
    margin-top:22px!important;
  }
}


/* ===== Final font + Bento price badge polish ===== */

/* Use a softer Canva-style serif for main page headings */
:root{
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --display-serif:'Beleza','Source Serif 4', Georgia, serif;
}

/* Main page titles: Menu, Shop by Occasion, How to Order, Locations, Policy */
.page-hero h1,
.menu-hero h1,
.collection-hero h1,
.policy-page h1,
.location-page h1{
  font-family:var(--display-serif)!important;
  font-weight:400!important;
  letter-spacing:-.015em!important;
}

/* Main section headings still classy but softer */
.section-title,
.prod-title{
  font-family:var(--serif)!important;
  font-weight:600!important;
}

/* Bento home price circle bigger and bolder */
.bento-price-badge{
  min-width:220px!important;
  width:220px!important;
  height:220px!important;
  box-shadow:0 24px 50px rgba(179,10,79,.22)!important;
}
.bento-price-badge span{
  font-size:18px!important;
  letter-spacing:.22em!important;
  font-weight:900!important;
}
.bento-price-badge strong{
  font-family:var(--display-serif)!important;
  font-size:82px!important;
  font-weight:400!important;
  line-height:.9!important;
  letter-spacing:-.05em!important;
}
.bento-price-badge small{
  font-size:20px!important;
  font-weight:900!important;
  line-height:1!important;
  margin-top:6px!important;
}

@media(max-width:760px){
  .bento-price-badge{
    width:190px!important;
    height:190px!important;
    min-width:190px!important;
    align-self:center!important;
  }
  .bento-price-badge strong{
    font-size:72px!important;
  }
  .bento-price-badge span{
    font-size:16px!important;
  }
  .bento-price-badge small{
    font-size:18px!important;
  }
}

@media(max-width:420px){
  .bento-price-badge{
    width:176px!important;
    height:176px!important;
    min-width:176px!important;
  }
  .bento-price-badge strong{
    font-size:66px!important;
  }
}


/* ===== Menu layout like compact catalogue example ===== */
.menu-layout{
  display:block!important;
}
.menu-category{
  margin:0 0 34px;
  padding:0;
}
.menu-category-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px;
}
.menu-category-head h2{
  font-family:var(--serif)!important;
  font-size:28px;
  line-height:1.15;
  color:var(--brand-pink);
  margin:0 0 6px;
}
.menu-category-head h2 span{
  font-family:inherit;
  font-size:.78em;
  color:var(--brand-pink);
}
.menu-category-head p{
  margin:0;
  color:#6d5a60;
  font-size:15px;
  line-height:1.45;
}
.menu-mini-note{
  max-width:290px;
  background:#fff6f9;
  border:1px solid #efd0d8;
  border-radius:12px;
  padding:13px 16px;
  color:var(--brand-pink);
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.menu-bento-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.menu-bento-card,
.menu-cake-card{
  text-decoration:none;
  color:inherit;
  display:block;
  background:#fff;
  border:1px solid #edd2da;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(55,22,34,.045);
  transition:.18s ease;
}
.menu-bento-card:hover,
.menu-cake-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 44px rgba(55,22,34,.08);
  border-color:#e8b9c8;
}
.menu-bento-title{
  text-align:center;
  color:var(--brand-pink);
  font-family:var(--serif);
  font-weight:700;
  font-size:17px;
  padding:14px 12px 8px;
}
.menu-bento-img,
.menu-cake-img{
  margin:0 14px;
  border-radius:10px;
  overflow:hidden;
  background:#fbf4f1;
  aspect-ratio:1.38/1;
}
.menu-bento-img img,
.menu-cake-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.menu-bento-meta{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  font-size:14px;
  padding:12px 10px 4px;
  color:#5e4a50;
}
.menu-bento-meta strong{
  color:#251116;
}
.menu-bento-action{
  margin:10px 24px 16px;
  border:1px solid var(--brand-pink);
  color:var(--brand-pink);
  border-radius:7px;
  text-align:center;
  padding:10px 12px;
  font-weight:900;
  font-size:14px;
}
.menu-call-note{
  margin-top:20px;
  background:linear-gradient(90deg,#fff3f7,#fffaf1);
  border:1px solid #efd0d8;
  border-radius:14px;
  padding:18px 20px;
  display:flex;
  gap:12px;
  align-items:center;
  color:#6d5a60;
  font-size:15px;
}
.menu-call-note strong{
  color:var(--brand-pink);
}
.menu-cake-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.menu-cake-card{
  border-radius:14px;
}
.menu-cake-img{
  margin:0;
  border-radius:14px 14px 0 0;
  aspect-ratio:1.05/1;
}
.menu-cake-body{
  padding:14px 14px 16px;
  text-align:center;
}
.menu-cake-body h3{
  margin:0 0 4px;
  color:#2c171d;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.15;
}
.menu-cake-body p{
  margin:0;
  color:var(--brand-pink);
  font-size:13px;
  font-weight:800;
}
@media(max-width:980px){
  .menu-bento-grid,
  .menu-cake-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px){
  .menu-category-head{
    display:block;
  }
  .menu-category-head h2{
    font-size:25px;
  }
  .menu-mini-note{
    margin-top:12px;
    max-width:none;
    font-size:12px;
  }
  .menu-bento-grid,
  .menu-cake-grid{
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .menu-bento-title{
    font-size:15px;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .menu-bento-img{
    margin:0 10px;
    aspect-ratio:1/1;
  }
  .menu-bento-action{
    margin:8px 14px 14px;
    padding:9px 8px;
    font-size:13px;
  }
  .menu-call-note{
    display:block;
    font-size:14px;
    line-height:1.45;
  }
  .menu-call-note strong{
    display:block;
    margin-bottom:4px;
  }
  .menu-cake-body h3{
    font-size:16px;
  }
}
@media(max-width:430px){
  .menu-bento-grid,
  .menu-cake-grid{
    grid-template-columns:1fr;
  }
  .menu-bento-img{
    aspect-ratio:1.25/1;
  }
}


/* ===== Final launch polish ===== */
/* Slightly larger price text on menu cake cards */
.menu-cake-body p{
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:900!important;
}
.menu-bento-meta strong{
  font-size:16px!important;
  font-weight:900!important;
}
.price-from{
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
@media(max-width:760px){
  .menu-cake-body p{
    font-size:15px!important;
  }
  .price-from{
    font-size:18px!important;
  }
}


/* Show occasion product description tabs inside the option panel */
.detail-tabs-inside-panel{
  margin-top:22px!important;
  border-radius:22px!important;
  box-shadow:none!important;
}
.occasion-product-panel .detail-tabs-inside-panel{
  width:100%;
}
@media(max-width:760px){
  .detail-tabs-inside-panel{
    margin-top:18px!important;
  }
}


/* ===== Final fun-theme cleanup requested ===== */
:root{
  --brand-yellow:#fff2a8;
  --brand-pink:#c3005c;
  --brand-pink-2:#e65b9a;
}
/* remove call button and keep header clean */
.nav-call{display:none!important}
.brand-title{
  font-family: Georgia, 'Times New Roman', serif!important;
  font-weight:800!important;
  color:var(--brand-pink)!important;
  text-shadow:none!important;
  letter-spacing:-.035em!important;
}
/* keep the yellow active pill, remove the extra gradient underline */
.nav a.active:after,.nav a:after{display:none!important}
.nav a.active{
  background:var(--brand-yellow)!important;
  color:var(--brand-pink)!important;
  box-shadow:inset 0 -4px 0 #f5c83e!important;
}
/* remove hidden oversized background wording behind hero */
.hero:before,.hero:after,.page-hero:before,.page-hero:after,.menu-hero:before,.menu-hero:after,.collection-hero:before,.collection-hero:after{
  content:none!important;display:none!important;
}
/* shorter page hero gaps */
.page-hero,.menu-hero,.collection-hero{
  padding-bottom:46px!important;
  margin-bottom:0!important;
}
.page-hero + .section,.menu-hero + .section,.collection-hero + .section{
  padding-top:38px!important;
}
/* menu and shop specific gap tightening */
body:has(.menu-note) .page-hero + .section{padding-top:34px!important}
.menu-note{margin-top:0!important;margin-bottom:28px!important}
.shop-occasion-section,.occasion-picker-section{padding-top:34px!important}
/* pink/yellow fun boxes but less bulky */
.menu-category{margin-top:26px!important}
.menu-category-head{padding:24px!important}
.menu-mini-note{font-size:15px!important;line-height:1.45!important}
/* branch order cards with call / text / whatsapp */
.branch-action-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important;overflow:visible!important}
.branch-order-card{border:1px solid var(--border);border-radius:24px;background:#fff;padding:18px 18px 16px;box-shadow:0 8px 20px rgba(68,28,42,.04)}
.branch-order-card>strong{display:block;font-family:var(--serif);font-size:22px;color:var(--deep);line-height:1.15}.branch-order-card>span{display:block;color:var(--brand-pink);font-weight:900;margin:6px 0 12px}.branch-action-row{display:flex;gap:8px;flex-wrap:wrap}.branch-action-row a{flex:1;min-width:72px;text-align:center;text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:9px 10px;font-weight:900;color:var(--brand-pink);background:#fffafc}.branch-action-row a:hover{background:var(--brand-yellow);border-color:#e8c562;color:var(--deep)}
.order-design-source-box{background:#fff;border:1px solid var(--border);border-radius:28px;padding:30px;box-shadow:var(--shadow);text-align:center}.order-design-source-section{padding-top:38px!important;padding-bottom:20px!important}.order-design-source-box h2{font-family:var(--serif);font-size:38px;margin:0 0 10px;color:var(--deep)}.order-design-source-box p{max-width:850px;margin:0 auto 18px;color:var(--muted)}
@media(max-width:760px){
  .page-hero,.menu-hero,.collection-hero{padding:44px 18px 34px!important}
  .page-hero + .section,.menu-hero + .section,.collection-hero + .section{padding-top:28px!important}
  .brand-title{font-size:27px!important;line-height:1.05!important}
  .branch-action-cards{grid-template-columns:1fr!important}
}


/* ===== Customer polish update Jul 6 ===== */
:root{
  --brand-serif:'Cormorant Garamond','Source Serif 4',serif;
  --script-font:'Allura',cursive;
  --sky-tint:#9ec4eb;
}

.brand-title{
  font-family:var(--brand-serif)!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
}

/* bubbly navigation like the reference */
.nav a{
  padding:13px 20px!important;
  border-radius:999px!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.nav a:after{display:none!important;content:none!important}
.nav a:hover,
.nav a.active{
  background:linear-gradient(180deg,#fff3b8 0%,#ffe476 100%)!important;
  color:var(--brand-pink)!important;
  box-shadow:0 4px 0 #e3c14d!important;
  transform:translateY(-1px);
}
.nav a.nav-call{
  background:#fff!important;
  box-shadow:none!important;
}

/* cute label bubbles */
.eyebrow{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:10px 18px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fff4be 0%,#ffe785 100%)!important;
  border:1px solid #e6c76a!important;
  box-shadow:0 4px 0 #ebc85d!important;
  color:var(--brand-pink)!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
}
.hero .eyebrow,.bento-home-banner .eyebrow{margin-bottom:18px!important}

/* bring back the soft cartoon blue tint under cards */
.product-card{
  box-shadow:0 6px 0 var(--sky-tint), 0 16px 34px rgba(68,28,42,.07)!important;
}
.product-card:hover{
  box-shadow:0 8px 0 var(--sky-tint), 0 22px 44px rgba(68,28,42,.11)!important;
}

/* homepage section flow / gradient shift */
.home-showcase-section{
  background:linear-gradient(180deg,#fff8fc 0%,#fff3fa 58%,#fff0f8 100%)!important;
}
.home-hours-section{
  background:linear-gradient(180deg,#fff0f8 0%,#fff7e8 100%)!important;
  border-top:0!important;
}

/* make WhatsApp sit comfortably on its own line when needed */
.branch-card .btns,
.branch-action-row{
  align-items:flex-start!important;
}
.branch-card .btns a:last-child,
.branch-action-row a:last-child{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:112px!important;
}
.branch-card .btns a:nth-child(3),
.branch-action-row a:nth-child(3){
  margin-top:4px!important;
}
.branch-card .btns{display:flex;flex-wrap:wrap}
.branch-action-row{display:flex;flex-wrap:wrap}
.branch-action-row a:first-child,
.branch-action-row a:nth-child(2){flex:0 0 auto!important}
.branch-action-row a:nth-child(3){flex-basis:100%!important}
.branch-card .btns a:nth-child(3){flex-basis:100%!important}

/* order panel wording lighter except chosen bold sentence */
.order-instruction{
  font-weight:400!important;
  color:#2b171d!important;
}
.order-instruction strong{
  color:#2b171d!important;
}

/* sweet banner above footer on every page */
.footer-love-banner{
  padding:44px 22px 38px;
  background:linear-gradient(180deg,#fff9e7 0%,#fff3f8 100%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  text-align:center;
}
.footer-love-banner h3{
  margin:0;
  font-family:var(--script-font);
  font-size:60px;
  line-height:1.05;
  font-weight:400;
  color:#2b171d;
}
.footer-love-banner p{
  margin:10px auto 0;
  max-width:720px;
  color:var(--muted);
  font-size:17px;
}
.footer-brand h3{font-family:var(--brand-serif)!important;font-weight:700!important}

/* how-to-order links card */
.how-order-link-box{
  margin:28px auto 0;
  max-width:860px;
  border:1px solid var(--border);
  border-radius:24px;
  background:#fffdf8;
  box-shadow:0 12px 28px rgba(68,28,42,.05);
  padding:18px 22px;
}
.how-order-link-box p{
  margin:0 0 14px!important;
  color:var(--deep)!important;
}
.how-order-link-box .btns{justify-content:center;margin-top:0}

/* footer / banner responsive */
@media(max-width:760px){
  .footer-love-banner h3{font-size:42px}
  .nav a{padding:11px 16px!important}
  .how-order-link-box{padding:16px 18px}
}


/* ===== Extra font + spacing/mobile polish ===== */

/* prettier typography balance */
:root{
  --serif:'Cormorant Garamond','Source Serif 4',Georgia,serif;
  --sans:Inter,Arial,Helvetica,sans-serif;
}
.brand-title{
  font-family:'Cormorant Garamond','Source Serif 4',serif!important;
  font-size:42px!important;
  font-weight:700!important;
  color:var(--brand-pink)!important;
  text-shadow:1px 1px 0 rgba(255,212,71,.55);
}
.section-title,
.page-hero h1,
.prod-title,
.footer-location-line strong,
.branch-card h3{
  font-family:'Cormorant Garamond','Source Serif 4',Georgia,serif!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}
.hero .h1{
  font-size:clamp(48px,5.4vw,76px)!important;
  line-height:.98!important;
  max-width:760px!important;
  text-shadow:2px 2px 0 rgba(255,212,71,.55);
}

/* active nav bubble: cute, round, no underline */
.nav a{
  border:1px solid transparent!important;
}
.nav a:hover,
.nav a.active{
  border-color:#ead171!important;
  background:linear-gradient(180deg,#fff5bd 0%,#ffe882 100%)!important;
  box-shadow:0 4px 0 #e5c251, 0 10px 22px rgba(193,0,93,.08)!important;
}

/* tighter top page spacing */
.page-hero,
.menu-hero,
.collection-hero{
  padding-top:38px!important;
  padding-bottom:38px!important;
}
.page-hero h1,
.menu-hero h1,
.collection-hero h1{
  margin-bottom:10px!important;
}
.cakes-page .section,
.menu-page .section,
.shop-page main .section{
  padding-top:42px!important;
}

/* menu page: reduce yellow area/gap above first note */
.cakes-page .page-hero + .section,
.menu-page .page-hero + .section{
  padding-top:34px!important;
}
.menu-note-polished,
.catalogue-note,
.menu-note,
.info-note{
  margin-top:0!important;
  margin-bottom:28px!important;
}

/* shop page: move Choose your occasion up */
.shop-page .page-hero{
  padding-bottom:34px!important;
}
.shop-page main .section:first-child{
  padding-top:42px!important;
}
.shop-page .section-title{
  margin-bottom:22px!important;
}

/* homepage spacing polish */
.hero{
  padding-top:54px!important;
  padding-bottom:64px!important;
}
.home-categories-section{
  padding-top:56px!important;
  padding-bottom:48px!important;
}
.bento-home-banner{
  padding-top:58px!important;
  padding-bottom:58px!important;
}
.home-showcase-section{
  padding-top:64px!important;
}

/* product page layout: less cramped contact buttons */
.order-panel-wide{
  overflow:hidden!important;
}
.branch-action-cards{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
}
.branch-order-card{
  min-width:0!important;
}
.branch-action-row{
  gap:8px!important;
}
.branch-action-row a{
  white-space:nowrap!important;
  padding-left:14px!important;
  padding-right:14px!important;
}
.branch-action-row a:nth-child(3){
  flex-basis:auto!important;
  min-width:118px!important;
}

/* branch cards: WhatsApp can wrap nicely */
.branch-card .btns a{
  min-width:78px!important;
}
.branch-card .btns a:nth-child(3){
  min-width:118px!important;
}

/* footer love banner refined */
.footer-love-banner h3{
  font-family:'Allura',cursive!important;
  font-size:clamp(46px,5.6vw,78px)!important;
  letter-spacing:.01em!important;
}
.footer-love-banner{
  background:linear-gradient(180deg,#fff8df 0%,#fff2f8 100%)!important;
}

/* editor: cleaner on laptop */
.editor-wrap{
  padding-top:24px!important;
}
.editor-panel{
  scroll-margin-top:130px;
}
.editor-grid{
  gap:18px!important;
}

/* mobile polish */
@media(max-width:900px){
  .brand img{width:102px!important}
  .brand-title{font-size:30px!important;white-space:normal!important}
  .nav{
    top:88px!important;
    padding:18px!important;
    background:#fffdf8!important;
  }
  .nav a{
    width:100%;
    text-align:center;
    justify-content:center;
  }
}
@media(max-width:760px){
  body{font-size:15px!important}
  .promo-marquee{
    font-size:11px!important;
    padding:7px 0!important;
  }
  .promo-track{gap:24px!important}
  .promo-track span:after{margin-left:24px!important}

  .topbar{position:sticky!important}
  .nav-wrap{
    padding:10px 14px!important;
    min-height:74px!important;
  }
  .brand{gap:10px!important}
  .brand img{width:88px!important}
  .brand-title{
    font-size:24px!important;
    line-height:1!important;
    max-width:190px!important;
  }
  .hamb{
    display:block!important;
    background:#fff4bf!important;
    border:1px solid #e6c76a!important;
    border-radius:999px!important;
    width:44px!important;
    height:44px!important;
    font-size:24px!important;
  }

  .hero{
    padding:30px 16px 42px!important;
  }
  .hero-inner{
    gap:24px!important;
  }
  .hero .h1{
    font-size:48px!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  .sub{
    font-size:16px!important;
    line-height:1.65!important;
  }
  .hero-media,
  .hero-media img{
    min-height:330px!important;
  }
  .hero-media{
    border-radius:24px!important;
  }

  .section{
    padding:44px 16px!important;
  }
  .section-title{
    font-size:38px!important;
  }
  .section-lead{
    font-size:15px!important;
    margin-bottom:24px!important;
  }

  .product-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .product-card{
    border-radius:24px!important;
  }
  .product-info{
    padding:18px 18px 20px!important;
  }

  .page-hero,
  .menu-hero,
  .collection-hero{
    padding:30px 16px!important;
  }
  .page-hero h1,
  .menu-hero h1,
  .collection-hero h1{
    font-size:42px!important;
  }
  .page-hero p,
  .menu-hero p,
  .collection-hero p{
    font-size:15px!important;
  }

  .bento-promo{
    padding:26px!important;
    border-radius:26px!important;
  }
  .bento-price-badge{
    width:132px!important;
    height:132px!important;
    min-width:132px!important;
  }
  .bento-price-badge strong{
    font-size:42px!important;
  }

  .shop-occasion-pill-grid,
  .theme-filter-panel{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .shop-occasion-pill,
  .theme-filter-pill{
    min-height:58px!important;
    padding:12px 10px!important;
    font-size:13px!important;
  }

  .occasion-option-grid{
    grid-template-columns:1fr!important;
    justify-content:center!important;
  }
  .occasion-option-card{
    max-width:100%!important;
  }

  .product-layout,
  .occasion-detail-layout{
    gap:22px!important;
  }
  .product-side-panel,
  .order-panel-wide{
    padding:20px!important;
    border-radius:22px!important;
  }
  .prod-title{
    font-size:38px!important;
  }
  .detail-tabs-wide .detail-tab-row{
    background:#fff8d8!important;
  }
  .detail-tabs-wide .detail-tab-btn{
    padding:14px 16px!important;
    font-size:14px!important;
  }
  .order-panel-wide h2{
    font-size:32px!important;
  }
  .order-instruction{
    font-size:15px!important;
    line-height:1.7!important;
  }
  .branch-action-cards{
    grid-template-columns:1fr!important;
  }
  .branch-action-row a:nth-child(3){
    flex-basis:100%!important;
  }

  .cards{
    grid-template-columns:1fr!important;
  }
  .branch-card{
    padding:22px!important;
  }
  .branch-card .btns a:nth-child(3){
    flex-basis:100%!important;
    text-align:center;
  }

  .footer-chic{
    gap:24px!important;
  }
  .footer-location-line{
    grid-template-columns:1fr!important;
  }
  .footer-love-banner{
    padding:34px 18px 30px!important;
  }
  .footer-love-banner h3{
    font-size:46px!important;
  }
}
@media(max-width:430px){
  .brand-title{font-size:21px!important;max-width:160px!important}
  .hero .h1{font-size:42px!important}
  .shop-occasion-pill-grid,
  .theme-filter-panel{
    grid-template-columns:1fr!important;
  }
}


/* ===== Jul 6 customer polish pass 2 ===== */

/* remove the extra wording only on the homepage featured cake cards */
.home-showcase-section .product-card .veg,
.home-showcase-section .product-card .card-note{
  display:none!important;
}
.home-showcase-section .product-card .product-info{
  padding-bottom:20px!important;
}

/* remove the yellow eyebrow bubble wording from page hero sections */
.page-hero .eyebrow,
.menu-hero .eyebrow,
.how-order-hero .eyebrow{
  display:none!important;
}
.page-hero h1,
.menu-hero h1,
.collection-hero h1{
  margin-top:0!important;
}

/* footer script font like the reference */
.footer-love-banner h3{
  font-family:'Parisienne','Allura',cursive!important;
  font-size:clamp(52px,6vw,86px)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1.05!important;
}

/* make price font cleaner everywhere */
:root{
  --price-font:'Source Sans 3','Source Sans Pro',Arial,Helvetica,sans-serif;
}
.price-number,
.estimate-total strong,
.selected-size strong,
.price-row span,
.menu-cake-body p,
.menu-bento-meta strong,
.product-card .price-from,
#selected-size-text,
#estimatePrice{
  font-family:var(--price-font)!important;
  font-style:normal!important;
  letter-spacing:-.02em!important;
}
.price-number,
.estimate-total strong,
.selected-size strong,
#estimatePrice{
  font-weight:700!important;
}
.price-row span,
.menu-cake-body p,
.product-card .price-from{
  font-weight:700!important;
}

/* pink underline style for occasion/shop cakes */
.occasion-option-card{
  position:relative!important;
  box-shadow:0 12px 28px rgba(68,28,42,.05), inset 0 -8px 0 #f6a8c8!important;
}
.occasion-option-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(68,28,42,.09), inset 0 -8px 0 #f28db7!important;
}

/* keep the money on shop cards crisp and easy to read */
.minimal-luxe-card .price-number,
.wow-price .price-number{
  font-family:var(--price-font)!important;
  font-size:30px!important;
  color:#111!important;
  font-weight:700!important;
}
.minimal-luxe-card .price-word,
.wow-price .price-word{
  font-family:var(--price-font)!important;
  font-weight:800!important;
}

/* selected estimate box and menu price table clearer */
.estimate-total strong{
  font-size:44px!important;
  color:#111!important;
}
.selected-size strong{
  font-size:28px!important;
  color:#111!important;
}
.price-row span{
  color:#111!important;
}

@media(max-width:760px){
  .footer-love-banner h3{
    font-size:clamp(42px,13vw,60px)!important;
  }
  .estimate-total strong{
    font-size:40px!important;
  }
}


/* ===== Jul 6 final customer pass ===== */

/* home page spacing between featured cakes and opening hours */
.home-showcase-section{
  padding-bottom:22px!important;
}
.home-showcase-section .btns{
  margin-top:14px!important;
}
.home-hours-section{
  padding-top:22px!important;
}
.home-hours-section .section-title{
  margin-top:0!important;
}

/* footer brand smaller and one line */
.footer-brand h3{
  font-size:22px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  letter-spacing:-.02em!important;
}
.footer-brand p{
  margin-top:10px!important;
}
@media(max-width:760px){
  .footer-brand h3{
    font-size:20px!important;
    white-space:normal!important;
  }
}

/* menu page: bring back the small boxed sections, with solid border */
.menu-category{
  margin:0 0 34px!important;
  padding:28px 22px!important;
  border:2px solid #e5c9cf!important;
  border-radius:34px!important;
  background:linear-gradient(90deg,#fff9ea 0%,#fff4fb 100%)!important;
  box-shadow:none!important;
}
.menu-category-head{
  display:block!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.menu-category-head h2{
  color:#2b171d!important;
  margin-bottom:8px!important;
}
.menu-category-head h2 span{
  color:var(--brand-pink)!important;
}
.menu-category-head p{
  margin:0!important;
  max-width:960px!important;
}
.menu-bento-section .menu-category-head p{
  display:none!important;
}
.menu-mini-note{
  display:none!important;
}
.menu-category,
.menu-bento-card,
.menu-cake-card,
.menu-call-note,
.menu-note-polished{
  border-style:solid!important;
}
.menu-call-note{
  margin-top:22px!important;
}

/* remove the bento subtitle line */
.menu-bento-section .menu-category-head > div p{
  display:none!important;
}

/* shop + order pages: bring back a nicer gradient hero without the yellow eyebrow bubble */
.shop-page .page-hero,
.how-order-hero{
  background:linear-gradient(90deg,#fff8d6 0%,#fff8ef 42%,#fff1f8 100%)!important;
  position:relative!important;
}
.shop-page .page-hero .wrap,
.how-order-hero .wrap{
  position:relative!important;
}
.shop-page .page-hero .wrap:after,
.how-order-hero .wrap:after{
  content:'';
  display:block;
  width:236px;
  max-width:52vw;
  height:12px;
  margin:24px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#d91b72 0%,#f0c54c 48%,#f4bfd9 100%);
}
.shop-page .page-hero h1,
.how-order-hero h1{
  font-weight:600!important;
}
.shop-page .page-hero p,
.how-order-hero p{
  max-width:860px!important;
  font-weight:400!important;
}
.shop-page .shop-how-top{
  background:linear-gradient(90deg,#fff9ef 0%,#fff7fb 100%)!important;
}
.how-order-link-box{
  display:none!important;
}

/* compact menu page notes */
.menu-note-polished{
  background:#fffafc!important;
}

/* occasion/shop cards keep the pink underline look */
.occasion-option-card{
  background:#fff!important;
}


/* ===== Final polish update: softer headers, cleaner footer, tighter homepage spacing ===== */

/* softer moving top strip like the preferred sample */
.promo-marquee{
  background:linear-gradient(90deg,#d30a67 0%,#e96d8f 22%,#ef9961 46%,#f3c45a 60%,#e68cb4 80%,#c90c63 100%)!important;
  color:#fff!important;
}

/* remove the yellow hero bubble on menu / shop / order / locations and keep the soft gradient backdrop */
.cakes-page .page-hero,
.shop-page .page-hero,
.how-order-hero,
.locations-page .page-hero{
  background:linear-gradient(90deg,#fff8d7 0%,#fff9ef 42%,#fff1f8 100%)!important;
  position:relative!important;
}
.cakes-page .page-hero .wrap,
.shop-page .page-hero .wrap,
.how-order-hero .wrap,
.locations-page .page-hero .wrap{
  position:relative!important;
}
.cakes-page .page-hero .wrap:after,
.shop-page .page-hero .wrap:after,
.how-order-hero .wrap:after,
.locations-page .page-hero .wrap:after{
  content:'';
  display:block;
  width:236px;
  max-width:52vw;
  height:12px;
  margin:24px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#d91b72 0%,#f0c54c 48%,#f4bfd9 100%);
}
.cakes-page .page-hero .eyebrow,
.shop-page .page-hero .eyebrow,
.how-order-hero .eyebrow,
.locations-page .page-hero .eyebrow{
  display:none!important;
}
.cakes-page .page-hero h1,
.shop-page .page-hero h1,
.how-order-hero h1,
.locations-page .page-hero h1{
  margin-top:0!important;
  margin-bottom:12px!important;
}
.cakes-page .page-hero p,
.shop-page .page-hero p,
.how-order-hero p,
.locations-page .page-hero p{
  max-width:860px!important;
}

/* tighter gap between featured cakes and opening hours */
.home-showcase-section{
  padding-bottom:18px!important;
}
.home-showcase-section .btns{
  margin-top:8px!important;
  margin-bottom:0!important;
}
.home-hours-section{
  padding-top:0!important;
}
.home-hours-section .wrap{
  margin-top:0!important;
}
.home-hours-section .section-title{
  margin-top:0!important;
}

/* home cards: keep the lovely blue edge and use From instead of Starting from */
.home-showcase-section .product-card .price-from{
  color:var(--brand-pink)!important;
  font-weight:800!important;
}

/* shop occasion pills and occasion product cards get a pink-purple underline and playful sideways hover */
.shop-occasion-pill,
.occasion-option-card{
  position:relative!important;
  overflow:hidden!important;
}
.shop-occasion-pill::after,
.occasion-option-card::after{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:8px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#e5619d 0%,#d98cff 100%);
  opacity:.95;
  pointer-events:none;
}
.shop-occasion-pill:hover,
.occasion-option-card:hover{
  transform:translateX(5px) translateY(-2px)!important;
}

/* footer banner: make the wording more timeless and remove extra line */
.footer-love-banner{
  padding:34px 22px 26px!important;
  background:linear-gradient(90deg,#fff8d8 0%,#fff3f7 100%)!important;
}
.footer-love-banner h3{
  font-family:'Source Serif 4', Georgia, serif!important;
  font-size:46px!important;
  line-height:1.14!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  max-width:980px;
  margin:0 auto!important;
}
.footer-love-banner p{
  display:none!important;
}
.footer-brand h3{
  font-size:20px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .footer-love-banner h3{
    font-size:33px!important;
  }
  .footer-brand h3{
    white-space:normal!important;
  }
}

/* keep the menu intro sections in solid mini-blocks and remove the bento subtitle line */
.menu-category,
.menu-note-polished,
.menu-call-note{
  background:linear-gradient(90deg,#fff9ea 0%,#fff5fb 100%)!important;
}
.menu-bento-section .menu-category-head p,
.menu-bento-section .menu-category-head > div p{
  display:none!important;
}

/* occasion price label a little cleaner */
.occasion-option-body .price-word{
  margin-bottom:2px!important;
}

/* collection page ready-to-order box stays neat with the new cards */
.delivery-note{
  background:#fff7fb!important;
}


/* quick final tweak: remove colourful bottom tabs, keep hover movement */
.shop-occasion-pill::after,
.occasion-option-card::after{
  content:none !important;
  display:none !important;
  background:none !important;
}


/* ===== Theme: Bubbly Friendly ===== */
:root{
  --page-bg:#fff8fb;
  --section-bg:#fff1f6;
  --brand-pink:#c10f61;
  --deep:#37212a;
  --soft-pink:#ffdbe8;
  --gold:#efc85a;
  --text:#311d22;
  --muted:#76636a;
  --border:#efccd9;
  --card:#ffffff;
  --shadow:0 18px 40px rgba(193,15,97,.10);
  --serif:'Source Serif 4', Georgia, serif;
  --sans:'Source Sans 3', Arial, sans-serif;
}
body.theme-bubbly{background:var(--page-bg)}
.top-note{background:linear-gradient(90deg,#f0488d 0%,#f3a766 34%,#f0ca63 66%,#eb82c0 100%)!important;font-size:13px!important;letter-spacing:.08em!important;padding:9px 12px!important}
.topbar{background:rgba(255,250,251,.96)!important;box-shadow:0 8px 22px rgba(193,15,97,.05)}
.brand-title{font-family:var(--serif)!important;font-size:36px!important;font-weight:600!important;letter-spacing:-.01em!important;color:#c01464!important}
.nav{gap:28px!important;font-weight:700!important}
.nav a.active,.nav a:hover{color:var(--brand-pink)!important}
.nav a.active{background:#f8e56c33;border-radius:999px;padding:10px 18px!important;border:1px solid rgba(238,198,82,.55)}
.nav a.active:after{display:none!important}
.hero{background:linear-gradient(135deg,#fff6c8 0%,#fff6fb 42%,#ffeef8 100%)!important;padding:56px 20px 74px!important;position:relative;overflow:hidden}
.hero:before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,214,232,.55);left:-80px;top:40px;filter:blur(6px)}
.hero:after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,240,163,.45);right:-60px;bottom:10px;filter:blur(8px)}
.hero-inner{gap:54px!important;align-items:center!important;position:relative;z-index:1}
.hero .eyebrow{display:inline-flex!important;background:#fff7b1!important;border:1px solid rgba(222,190,78,.7)!important;color:var(--brand-pink)!important;padding:10px 18px!important;border-radius:999px!important;box-shadow:0 8px 0 rgba(226,195,89,.65)!important;margin-bottom:18px!important}
.h1{font-size:72px!important;line-height:.95!important;letter-spacing:-.03em!important;max-width:560px!important}
.sub{font-size:18px!important;max-width:640px!important}
.hero-points,.hero-point{display:none!important}
.hero-media{min-height:510px!important;border-radius:34px!important;background:#fff!important;border:1px solid #f1d7e3!important;box-shadow:0 24px 56px rgba(193,15,97,.12)!important;transform:rotate(-1.1deg)}
.hero-media img{min-height:510px!important}
.hero .btns{margin-top:28px!important}
.btn{border-radius:999px!important;padding:13px 24px!important;box-shadow:0 10px 0 rgba(143,7,71,.10)!important}
.btn:hover{transform:translateX(6px)!important;box-shadow:0 14px 24px rgba(193,15,97,.16)!important}
.home-page .section{padding-top:64px!important;padding-bottom:64px!important}
.home-categories-section,.home-showcase-section,.home-hours-section{background:transparent!important}
.home-category-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.home-category-row a{display:block;background:#fff;border:1px solid var(--border);border-radius:32px;padding:16px;text-decoration:none;box-shadow:var(--shadow);transition:.18s ease;position:relative;overflow:hidden}
.home-category-row a:after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:8px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,#f06b98,#cb7dff)}
.home-category-row a:hover{transform:translateX(8px)!important}
.home-category-row img{width:100%;aspect-ratio:1.05/1;object-fit:cover;border-radius:22px;background:#fff3f7;margin-bottom:14px}
.home-category-row span{display:block;font-family:var(--serif);font-size:24px;line-height:1.15;color:var(--deep)}
.bento-home-banner{background:transparent!important}
.bento-promo{background:linear-gradient(135deg,#fff7cb 0%,#fff6fb 45%,#ffeef8 100%)!important;border:1px solid var(--border)!important;border-radius:34px!important;padding:34px 36px!important;box-shadow:var(--shadow)!important;display:grid!important;grid-template-columns:1.4fr .76fr!important;gap:30px!important;align-items:center!important}
.bento-price-badge{background:#fff!important;border:1px solid var(--border)!important;border-radius:30px!important;padding:24px!important;box-shadow:0 12px 0 rgba(231,211,124,.55)!important}
.product-card,.collection-card,.custom-box,.branch-card,.how-step,.occasion-option-card{border-radius:30px!important;box-shadow:var(--shadow)!important}
.product-card:hover,.collection-card:hover,.occasion-option-card:hover{transform:translateX(8px)!important;box-shadow:0 22px 38px rgba(193,15,97,.18)!important}
.home-showcase-section .product-card:hover{transform:translateX(6px)!important}
.home-showcase-section .btns{margin-top:42px!important;margin-bottom:20px!important;justify-content:center!important}
.home-hours-section{padding-top:48px!important}
.footer-love-banner{background:linear-gradient(90deg,#f6eed1 0%,#fff8fb 48%,#ffeef8 100%)!important;padding:38px 20px 22px!important;border-top:1px solid var(--border)!important}
.footer-love-banner h3{margin:0!important;text-align:center!important;font-family:'Parisienne',cursive!important;font-size:68px!important;font-weight:400!important;line-height:1.05!important;color:var(--deep)!important}
.footer{background:#f7efdc!important}
.footer-brand img{width:114px!important}
.footer-brand h3{font-size:24px!important;white-space:nowrap!important}
.cakes-page .menu-note-polished,.theme-bubbly .menu-note-polished{display:none!important}
.how-order-hero p,.theme-bubbly .how-order-hero p{display:none!important}
.page-hero,.menu-hero,.collection-hero,.shop-page .page-hero,.how-order-hero,.locations-page .page-hero{background:linear-gradient(90deg,#f7f0c9 0%,#fff7fb 54%,#ffeef8 100%)!important;padding:56px 20px 52px!important;border-bottom:1px solid var(--border)!important}
.page-hero .eyebrow,.menu-hero .eyebrow,.how-order-hero .eyebrow{display:none!important}
.page-hero h1,.menu-hero h1,.collection-hero h1,.how-order-hero h1{font-size:64px!important;line-height:1.02!important}
.page-hero p,.how-order-hero p{max-width:860px!important;font-size:19px!important}
.page-hero .wrap:after,.menu-hero .wrap:after,.collection-hero .wrap:after,.how-order-hero .wrap:after{content:'';display:block;width:250px;height:14px;border-radius:999px;margin:22px auto 0;background:linear-gradient(90deg,#ea2178,#efc74e,#efb0d0)}
.shop-page .custom-box.homely-order{background:#fff!important;border-radius:32px!important}
/* soften the top ribbon colours */
.top-note .wrap,.top-note{filter:saturate(.88)}
@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr!important;gap:28px!important}
  .home-category-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bento-promo{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .brand-title{display:none!important}
  .h1{font-size:50px!important}
  .hero-media,.hero-media img{min-height:360px!important}
  .page-hero h1,.menu-hero h1,.collection-hero h1,.how-order-hero h1{font-size:44px!important}
  .footer-love-banner h3{font-size:42px!important}
  .home-category-row{grid-template-columns:1fr!important}
}

/* remove bottom colour tabs for bubbly version too */
.home-category-row a:after{display:none!important;content:none!important}


/* ===== Bonus polished bubbly variant Jul 7 ===== */
:root{
  --page-bg:#fffaf8;
  --section-bg:#fff4f7;
  --brand-pink:#b91863;
  --deep:#342028;
  --soft-pink:#fbe2ea;
  --gold:#e6be63;
  --text:#2e1d22;
  --muted:#6f6266;
  --border:#ead6dd;
  --card:#ffffff;
  --shadow:0 18px 38px rgba(80,25,45,.08);
}
.topbar{
  background:rgba(255,252,249,.96)!important;
}
.brand-title{
  font-size:38px!important;
}
.home-page .hero{
  background:linear-gradient(90deg,#f9efd8 0%,#fffaf8 52%,#fdf0f7 100%)!important;
  padding:60px 20px 76px!important;
}
.home-page .hero-inner{
  grid-template-columns:1.18fr .82fr!important;
  gap:46px!important;
}
.home-page .hero-card{
  max-width:620px!important;
}
.home-page .hero .eyebrow{
  background:#fff6c8!important;
  box-shadow:none!important;
}
.home-page .hero .h1{
  font-size:68px!important;
  max-width:540px!important;
}
.home-page .hero .sub{
  max-width:540px!important;
  font-size:19px!important;
}
.home-page .hero .btns{
  gap:14px!important;
}
.home-page .hero-media{
  max-width:380px!important;
  min-height:340px!important;
  margin-left:auto!important;
  border-radius:30px!important;
  transform:none!important;
  box-shadow:0 18px 46px rgba(72,29,42,.12)!important;
}
.home-page .hero-media img{
  min-height:340px!important;
  object-position:center top!important;
}
.home-categories-section .section-title,
.home-showcase-section .section-title,
.home-hours-section .section-title{
  font-size:40px!important;
}
.home-category-row a,
.product-card,
.branch-card,
.custom-box,
.how-step,
.collection-card,
.occasion-option-card{
  border-radius:24px!important;
}
.home-category-row a:hover,
.product-card:hover,
.occasion-option-card:hover{
  transform:translateY(-4px)!important;
}
.home-showcase-section .btns{
  margin-top:30px!important;
  margin-bottom:22px!important;
}
.home-hours-section .section-title{
  margin-bottom:26px!important;
}
.bento-promo{
  background:linear-gradient(90deg,#fff8e8 0%,#fff8fb 54%,#fff1f7 100%)!important;
}
.bento-price-badge{
  border-radius:26px!important;
  box-shadow:0 18px 42px rgba(72,29,42,.08)!important;
}
.bento-price-badge strong{
  font-family:'Source Serif 4', Georgia, serif!important;
  font-weight:500!important;
  font-size:78px!important;
  letter-spacing:-.04em!important;
}
.footer-love-banner .wrap{
  display:flex!important;
  justify-content:center!important;
  text-align:center!important;
}
.footer-love-banner h3{
  max-width:980px!important;
  text-align:center!important;
  font-family:'Source Serif 4', Georgia, serif!important;
  font-style:italic!important;
  font-size:50px!important;
  line-height:1.1!important;
}
.cakes-page .menu-note,
.cakes-page .menu-note-polished,
.how-order-hero p,
.theme-bubbly .how-order-hero p{
  display:none!important;
}
@media(max-width:980px){
  .home-page .hero-inner{grid-template-columns:1fr!important;gap:26px!important}
  .home-page .hero-media{max-width:400px!important;margin:0 auto!important}
}
@media(max-width:760px){
  .home-page .hero .h1{font-size:48px!important}
  .home-page .hero-media,.home-page .hero-media img{min-height:290px!important}
  .footer-love-banner h3{font-size:34px!important}
}


/* ===== Jul 7 quick refinements: readable cursive + hero image beside text ===== */
.footer-love-banner .wrap{
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.footer-love-banner h3{
  font-family:'Allura', cursive!important;
  font-size:64px!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  max-width:920px!important;
  margin:0 auto!important;
  text-align:center!important;
}

.home-page .hero{
  padding:44px 20px 54px!important;
}
.home-page .hero-inner{
  grid-template-columns:minmax(0,1.03fr) minmax(330px,.87fr)!important;
  gap:24px!important;
  align-items:center!important;
}
.home-page .hero-card{
  max-width:570px!important;
  margin:0!important;
}
.home-page .hero .h1{
  max-width:520px!important;
  margin-bottom:18px!important;
}
.home-page .hero .sub{
  max-width:520px!important;
  margin-bottom:22px!important;
}
.home-page .hero .btns{
  margin-top:0!important;
}
.home-page .hero-media{
  max-width:390px!important;
  width:100%!important;
  min-height:330px!important;
  margin:0 0 0 auto!important;
  align-self:center!important;
}
.home-page .hero-media img{
  min-height:330px!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* keep side-by-side longer; stack only on smaller screens */
@media (max-width:860px){
  .home-page .hero-inner{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .home-page .hero-card{
    max-width:100%!important;
  }
  .home-page .hero-media{
    max-width:390px!important;
    margin:0 auto!important;
  }
}
@media (max-width:760px){
  .footer-love-banner h3{
    font-size:42px!important;
  }
  .home-page .hero .h1{
    max-width:none!important;
  }
}


/* =========================================================
   JUL 7 LUXURY MAKEOVER THEME
   ========================================================= */
body.theme-luxury{
  --page-bg:#fcf8f2;
  --section-bg:#fffaf5;
  --brand-pink:#8d2149;
  --deep:#23171a;
  --soft-pink:#f3e5e6;
  --gold:#c7a56a;
  --text:#2e2125;
  --muted:#6c5d61;
  --border:#e7d8d2;
  --card:#fffdfa;
  --shadow:0 18px 40px rgba(35,23,26,.075);
  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:'Source Sans 3', Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(246,232,210,.62), transparent 28%),
    linear-gradient(180deg, #fcf7f0 0%, #fff9fb 48%, #fcf8f2 100%)!important;
  font-family:var(--sans)!important;
  color:var(--text)!important;
}

/* cleaner top area */
.theme-luxury .promo-marquee{display:none!important}
.theme-luxury .topbar{
  background:rgba(255,252,248,.94)!important;
  border-bottom:1px solid rgba(199,165,106,.26)!important;
  box-shadow:0 10px 30px rgba(44,26,31,.06)!important;
  backdrop-filter:blur(12px)!important;
}
.theme-luxury .nav-wrap{
  max-width:1220px!important;
  padding:18px 26px!important;
  gap:26px!important;
}
.theme-luxury .brand img{
  width:118px!important;
  border-radius:12px!important;
  box-shadow:0 8px 18px rgba(35,23,26,.08)!important;
}
.theme-luxury .brand-title{
  font-family:var(--serif)!important;
  font-size:42px!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
  color:var(--deep)!important;
}
.theme-luxury .nav{gap:18px!important;font-size:17px!important}
.theme-luxury .nav a{
  padding:10px 14px!important;
  border-radius:999px!important;
  font-weight:700!important;
  color:var(--deep)!important;
}
.theme-luxury .nav a:after{display:none!important}
.theme-luxury .nav a:hover,
.theme-luxury .nav a.active{
  color:var(--brand-pink)!important;
  background:linear-gradient(180deg,#fffef9,#fff3f8)!important;
  box-shadow:inset 0 0 0 1px rgba(199,165,106,.36)!important;
}

/* primary buttons */
.theme-luxury .btn{
  border-radius:999px!important;
  padding:13px 24px!important;
  min-height:50px!important;
  background:linear-gradient(135deg,#912652 0%, #7c183f 100%)!important;
  border:1px solid #7c183f!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(141,33,73,.16)!important;
}
.theme-luxury .btn:hover{transform:translateY(-2px)!important;box-shadow:0 18px 34px rgba(141,33,73,.2)!important}
.theme-luxury .btn.secondary{
  background:#fffdfa!important;
  color:var(--brand-pink)!important;
  border-color:rgba(199,165,106,.55)!important;
  box-shadow:none!important;
}
.theme-luxury .btn.secondary:hover{background:#fff7fb!important}
.theme-luxury .btn.gold{
  background:linear-gradient(135deg,#d4b37b,#c4a164)!important;
  color:#35240b!important;
  border-color:#c4a164!important;
}

/* hero makeover */
.theme-luxury .hero{
  background:
    linear-gradient(135deg, rgba(248,239,223,.95) 0%, rgba(255,249,243,.96) 45%, rgba(255,241,247,.96) 100%)!important;
  padding:84px 22px 88px!important;
  border-bottom:1px solid var(--border)!important;
}
.theme-luxury .hero-inner{
  max-width:1220px!important;
  grid-template-columns:minmax(0,1.04fr) minmax(350px,.78fr)!important;
  gap:52px!important;
  align-items:center!important;
}
.theme-luxury .hero-card{
  background:rgba(255,253,250,.82)!important;
  border:1px solid rgba(199,165,106,.22)!important;
  border-radius:36px!important;
  padding:44px 46px!important;
  box-shadow:var(--shadow)!important;
  max-width:640px!important;
}
.theme-luxury .hero .eyebrow,
.theme-luxury .page-hero .eyebrow,
.theme-luxury .bento-promo .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 16px!important;
  border-radius:999px!important;
  border:1px solid rgba(199,165,106,.52)!important;
  background:rgba(255,249,237,.92)!important;
  color:var(--brand-pink)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  margin-bottom:18px!important;
}
.theme-luxury .h1{
  font-family:var(--serif)!important;
  font-weight:600!important;
  font-size:78px!important;
  line-height:.94!important;
  letter-spacing:-.03em!important;
  color:var(--deep)!important;
  margin:8px 0 20px!important;
}
.theme-luxury .sub{
  font-size:21px!important;
  line-height:1.6!important;
  color:var(--muted)!important;
  max-width:520px!important;
}
.theme-luxury .hero-media{
  max-width:420px!important;
  width:100%!important;
  min-height:500px!important;
  margin-left:auto!important;
  border-radius:38px!important;
  overflow:hidden!important;
  border:1px solid rgba(199,165,106,.28)!important;
  box-shadow:0 24px 54px rgba(35,23,26,.12)!important;
  background:#f3e6de!important;
}
.theme-luxury .hero-media img{
  min-height:500px!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.theme-luxury .hero-media:before{
  background:linear-gradient(180deg,rgba(255,255,255,0) 50%, rgba(35,23,26,.09))!important;
}

/* section headings and spacing */
.theme-luxury .section,
.theme-luxury main.section{padding:82px 22px!important}
.theme-luxury .section-title,
.theme-luxury .page-hero h1,
.theme-luxury .prod-title,
.theme-luxury .order-panel-wide h2,
.theme-luxury .footer-brand h3{
  font-family:var(--serif)!important;
  color:var(--deep)!important;
  letter-spacing:-.025em!important;
}
.theme-luxury .section-title{font-size:52px!important;margin-bottom:14px!important}
.theme-luxury .section-lead,
.theme-luxury .page-hero p{font-size:18px!important;line-height:1.65!important;color:var(--muted)!important}
.theme-luxury .page-hero{
  background:linear-gradient(135deg,#f7eddd 0%, #fff9f3 45%, #fff3f8 100%)!important;
  padding:84px 22px 74px!important;
  border-bottom:1px solid var(--border)!important;
}
.theme-luxury .page-hero h1{font-size:72px!important;line-height:1!important;margin-bottom:12px!important}

/* home categories */
.theme-luxury .home-categories-section{padding-top:72px!important;padding-bottom:52px!important}
.theme-luxury .home-categories-section,
.theme-luxury .home-showcase-section,
.theme-luxury .home-hours-section,
.theme-luxury .bento-home-banner{background:transparent!important}
.theme-luxury .home-category-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  max-width:1180px!important;
}
.theme-luxury .home-category-row a{
  display:block!important;
  padding:18px!important;
  background:linear-gradient(180deg,#fffefb,#fff9f5)!important;
  border:1px solid rgba(199,165,106,.28)!important;
  border-radius:30px!important;
  box-shadow:var(--shadow)!important;
  transition:.2s ease!important;
  overflow:hidden!important;
  text-decoration:none!important;
}
.theme-luxury .home-category-row a:after{display:none!important;content:none!important}
.theme-luxury .home-category-row a:hover{transform:translateY(-6px)!important;box-shadow:0 22px 44px rgba(35,23,26,.1)!important}
.theme-luxury .home-category-row img{
  width:100%!important;
  aspect-ratio:1.08/1!important;
  object-fit:cover!important;
  border-radius:22px!important;
  margin-bottom:16px!important;
  background:#faf1ea!important;
}
.theme-luxury .home-category-row span{
  display:block!important;
  font-family:var(--serif)!important;
  font-size:28px!important;
  font-weight:600!important;
  line-height:1.08!important;
  text-transform:none!important;
  letter-spacing:-.01em!important;
}

/* bento banner */
.theme-luxury .bento-promo{
  background:linear-gradient(135deg,#fff8eb 0%, #fffaf4 45%, #fff4f8 100%)!important;
  border:1px solid rgba(199,165,106,.28)!important;
  border-radius:36px!important;
  box-shadow:var(--shadow)!important;
  padding:40px 42px!important;
  display:grid!important;
  grid-template-columns:1.2fr .74fr!important;
  gap:30px!important;
  align-items:center!important;
}
.theme-luxury .bento-promo p{max-width:720px!important;font-size:18px!important}
.theme-luxury .bento-price-badge{
  background:linear-gradient(180deg,#fffefb,#fff6eb)!important;
  border:1px solid rgba(199,165,106,.4)!important;
  border-radius:30px!important;
  box-shadow:0 18px 38px rgba(35,23,26,.08)!important;
  width:210px!important;
  height:210px!important;
  min-width:210px!important;
}
.theme-luxury .bento-price-badge span{color:var(--brand-pink)!important;letter-spacing:.24em!important}
.theme-luxury .bento-price-badge strong{
  font-family:var(--serif)!important;
  font-size:72px!important;
  color:var(--deep)!important;
  font-weight:700!important;
}

/* cards / products / collections */
.theme-luxury .product-card,
.theme-luxury .collection-card,
.theme-luxury .custom-box,
.theme-luxury .branch-card,
.theme-luxury .how-step,
.theme-luxury .occasion-option-card,
.theme-luxury .gallery-box,
.theme-luxury .product-side-panel,
.theme-luxury .detail-tabs-wide,
.theme-luxury .order-panel-wide,
.theme-luxury .selected-size,
.theme-luxury .notice,
.theme-luxury .footer-location,
.theme-luxury .call-btn{
  background:rgba(255,255,255,.95)!important;
  border:1px solid rgba(199,165,106,.24)!important;
  border-radius:28px!important;
  box-shadow:var(--shadow)!important;
}
.theme-luxury .product-grid{gap:28px!important}
.theme-luxury .product-card,
.theme-luxury .collection-card{overflow:hidden!important}
.theme-luxury .product-card:hover,
.theme-luxury .collection-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 46px rgba(35,23,26,.11)!important}
.theme-luxury .product-card img,
.theme-luxury .collection-card img,
.theme-luxury .gallery-stage,
.theme-luxury .product-image-wrap{
  background:linear-gradient(180deg,#fff8f1,#f4e7de)!important;
}
.theme-luxury .product-info,
.theme-luxury .collection-card div{padding:24px 24px 26px!important}
.theme-luxury .product-info h3,
.theme-luxury .collection-card h3,
.theme-luxury .card h3,
.theme-luxury .branch-card h3,
.theme-luxury .how-step h3,
.theme-luxury .step h3{
  font-family:var(--serif)!important;
  font-size:32px!important;
  line-height:1.02!important;
  margin-bottom:10px!important;
}
.theme-luxury .badge,
.theme-luxury .price-from,
.theme-luxury .collection-card span,
.theme-luxury .selected-size span,
.theme-luxury .bento-flavour span,
.theme-luxury .detail-tab-btn.active,
.theme-luxury .call-btn span{color:var(--brand-pink)!important}
.theme-luxury .price-from{
  font-family:var(--serif)!important;
  font-size:34px!important;
  font-weight:700!important;
  color:var(--deep)!important;
}
.theme-luxury .price-from::before{content:'From ';font-family:var(--sans)!important;font-size:12px!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--brand-pink)!important;display:block;font-weight:800!important;margin-bottom:2px}

/* opening hours and other grids */
.theme-luxury .home-showcase-section{padding-bottom:58px!important}
.theme-luxury .home-showcase-section .btns{margin-top:34px!important;justify-content:center!important}
.theme-luxury .home-hours-section{padding-top:72px!important}
.theme-luxury .home-hours-section .section-title{margin-bottom:24px!important}
.theme-luxury .cards{gap:24px!important}
.theme-luxury .branch-card{padding:28px!important;text-align:center!important}
.theme-luxury .branch-card p:first-of-type,
.theme-luxury .branch-card h3{font-family:var(--serif)!important;font-size:36px!important;line-height:1.02!important}
.theme-luxury .branch-card .btns{margin-top:18px!important}

/* shop / order / product experience */
.theme-luxury .collection-grid{gap:26px!important}
.theme-luxury .custom-box{padding:38px!important}
.theme-luxury .steps{gap:18px!important}
.theme-luxury .step,
.theme-luxury .how-step{padding:26px 24px!important}
.theme-luxury .step:before,
.theme-luxury .how-step span{
  font-family:var(--serif)!important;
  color:var(--gold)!important;
}
.theme-luxury .how-step span{
  width:56px!important;height:56px!important;border-radius:999px!important;background:#fff8eb!important;border:1px solid rgba(199,165,106,.36)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;margin-bottom:14px!important
}
.theme-luxury .how-order-grid{gap:18px!important}
.theme-luxury .prod-title{font-size:58px!important;line-height:.95!important}
.theme-luxury .selected-size strong{font-family:var(--serif)!important;font-size:34px!important}
.theme-luxury .detail-tabs-wide .detail-tab-row,
.theme-luxury .detail-tab-row{background:#fffaf5!important}
.theme-luxury .detail-tab-btn{font-weight:700!important}
.theme-luxury .detail-tab-btn.active:after{background:linear-gradient(90deg,#b84674,#c7a56a)!important}
.theme-luxury .gallery-nav:hover{background:var(--brand-pink)!important;border-color:var(--brand-pink)!important;color:#fff!important}

/* footer */
.theme-luxury .footer-love-banner{
  background:linear-gradient(90deg,#f7edd5 0%, #fff9fb 45%, #fff0f6 100%)!important;
  border-top:1px solid var(--border)!important;
  padding:42px 22px 26px!important;
}
.theme-luxury .footer-love-banner .wrap{justify-content:center!important;text-align:center!important}
.theme-luxury .footer-love-banner h3{
  margin:0 auto!important;
  max-width:900px!important;
  font-family:'Allura', cursive!important;
  font-size:72px!important;
  line-height:1.08!important;
  font-weight:400!important;
  color:var(--deep)!important;
}
.theme-luxury .footer{
  background:linear-gradient(180deg,#fffdf9,#fff7fa)!important;
  border-top:1px solid rgba(199,165,106,.22)!important;
}
.theme-luxury .footer-inner{gap:28px!important}
.theme-luxury .footer-brand h3{font-size:34px!important}
.theme-luxury .footer-location-line div,
.theme-luxury .footer-location{background:#fff!important;border-color:rgba(199,165,106,.22)!important}

/* responsive */
@media(max-width:1180px){
  .theme-luxury .brand-title{font-size:36px!important}
  .theme-luxury .h1{font-size:66px!important}
}
@media(max-width:980px){
  .theme-luxury .hero-inner,
  .theme-luxury .bento-promo,
  .theme-luxury .product-layout,
  .theme-luxury .split{grid-template-columns:1fr!important}
  .theme-luxury .hero-media{max-width:420px!important;margin:0 auto!important;min-height:420px!important}
  .theme-luxury .hero-media img{min-height:420px!important}
  .theme-luxury .brand-title{font-size:31px!important}
  .theme-luxury .collection-grid{grid-template-columns:repeat(2,1fr)!important}
  .theme-luxury .home-category-row{grid-template-columns:repeat(2,1fr)!important}
  .theme-luxury .order-panel-wide .branch-buttons{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:760px){
  .theme-luxury .nav{background:#fffdf9!important}
  .theme-luxury .brand-title{display:none!important}
  .theme-luxury .hero,
  .theme-luxury .page-hero,
  .theme-luxury .section,
  .theme-luxury main.section{padding-left:18px!important;padding-right:18px!important}
  .theme-luxury .hero{padding-top:38px!important}
  .theme-luxury .hero-card{padding:28px 24px!important}
  .theme-luxury .h1{font-size:48px!important;line-height:1.01!important}
  .theme-luxury .section-title{font-size:40px!important}
  .theme-luxury .page-hero h1{font-size:50px!important}
  .theme-luxury .prod-title{font-size:42px!important}
  .theme-luxury .home-category-row,
  .theme-luxury .product-grid,
  .theme-luxury .collection-grid,
  .theme-luxury .cards{grid-template-columns:1fr!important}
  .theme-luxury .bento-price-badge{width:180px!important;height:180px!important;min-width:180px!important}
  .theme-luxury .footer-love-banner h3{font-size:46px!important}
}


/* =========================================================
   JUL 7 LUXURY REFINEMENT PATCH
   ========================================================= */
body.theme-luxury{
  --number-font:'Beleza','Source Sans 3',Arial,sans-serif;
}
.theme-luxury .brand-title{
  line-height:1.18!important;
  padding-top:4px!important;
  padding-bottom:6px!important;
  overflow:visible!important;
}
.theme-luxury .hero{
  padding-top:72px!important;
  padding-bottom:58px!important;
}
.theme-luxury .hero-inner{
  max-width:1220px!important;
  grid-template-columns:minmax(0,.97fr) minmax(340px,.80fr)!important;
  align-items:center!important;
  gap:38px!important;
}
.theme-luxury .hero-card{
  max-width:620px!important;
}
.theme-luxury .hero-media{
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  max-width:440px!important;
  width:100%!important;
  min-height:440px!important;
}
.theme-luxury .hero-media img{
  min-height:440px!important;
  object-position:center center!important;
}
.theme-luxury .home-showcase-section{
  padding-top:50px!important;
  padding-bottom:54px!important;
}
.theme-luxury .home-hours-section{
  padding-top:52px!important;
}
.theme-luxury .section-title{
  margin-bottom:10px!important;
}
.theme-luxury .footer-love-banner{
  padding-top:34px!important;
  padding-bottom:20px!important;
}
.theme-luxury .footer-love-banner h3{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:2px!important;
  margin:0 auto!important;
  max-width:980px!important;
}
.theme-luxury .footer-love-banner .lux-line{
  display:block!important;
  font-family:'Source Sans 3',Arial,sans-serif!important;
  font-size:38px!important;
  font-weight:300!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  color:var(--deep)!important;
}
.theme-luxury .footer-love-banner .lux-line.small{
  font-size:34px!important;
  margin-top:-6px!important;
}
.theme-luxury .footer-love-banner .lux-script{
  display:block!important;
  font-family:'Allura',cursive!important;
  font-size:100px!important;
  line-height:.82!important;
  font-weight:400!important;
  color:#1d1719!important;
  margin:.02em 0!important;
}
.theme-luxury .num-font{
  font-family:var(--number-font)!important;
  font-variant-numeric: lining-nums tabular-nums!important;
  letter-spacing:0!important;
}
.theme-luxury .branch-card .num-font,
.theme-luxury .price-from .num-font,
.theme-luxury .selected-size .num-font,
.theme-luxury .bento-price-badge .num-font,
.theme-luxury .product-info .num-font,
.theme-luxury .call-btn .num-font,
.theme-luxury .footer-location-line .num-font,
.theme-luxury .hero .num-font{
  font-weight:inherit!important;
}
@media(max-width:980px){
  .theme-luxury .hero-inner{grid-template-columns:1fr!important;gap:28px!important}
  .theme-luxury .hero-media{justify-self:center!important;max-width:420px!important;min-height:390px!important}
  .theme-luxury .hero-media img{min-height:390px!important}
}
@media(max-width:760px){
  .theme-luxury .hero{padding-top:42px!important;padding-bottom:44px!important}
  .theme-luxury .hero-media{max-width:100%!important;min-height:320px!important}
  .theme-luxury .hero-media img{min-height:320px!important}
  .theme-luxury .footer-love-banner .lux-line{font-size:28px!important}
  .theme-luxury .footer-love-banner .lux-line.small{font-size:26px!important}
  .theme-luxury .footer-love-banner .lux-script{font-size:74px!important}
}


/* =========================================================
   FINAL ULTRA POLISH PATCH
   ========================================================= */
.theme-luxury .promo-marquee{display:block!important}
.theme-luxury .page-hero .eyebrow,
.theme-luxury .menu-hero .eyebrow,
.theme-luxury .collection-hero .eyebrow,
.theme-luxury .how-order-hero .eyebrow{display:none!important}
.theme-luxury .page-hero .wrap:after,
.theme-luxury .menu-hero .wrap:after,
.theme-luxury .collection-hero .wrap:after,
.theme-luxury .how-order-hero .wrap:after,
.theme-luxury .shop-occasion-pill::after,
.theme-luxury .occasion-option-card::after,
.theme-luxury .home-category-row a:after,
.theme-luxury .detail-tab-btn.active:after{display:none!important;content:none!important}
.theme-luxury .page-hero,
.theme-luxury .menu-hero,
.theme-luxury .collection-hero,
.theme-luxury .how-order-hero{padding-top:44px!important;padding-bottom:34px!important}
.theme-luxury .page-hero h1,
.theme-luxury .menu-hero h1,
.theme-luxury .collection-hero h1,
.theme-luxury .how-order-hero h1{margin-bottom:0!important}
.theme-luxury .home-category-row a,
.theme-luxury .occasion-option-card,
.theme-luxury .shop-occasion-pill{padding-bottom:16px!important}
.theme-luxury .how-step > .step-no{width:56px!important;height:56px!important;border-radius:999px!important;background:#fff8eb!important;border:1px solid rgba(199,165,106,.36)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;margin-bottom:14px!important;font-family:var(--serif)!important;color:var(--gold)!important}
.theme-luxury .how-step .num-font{display:inline!important;width:auto!important;height:auto!important;background:transparent!important;border:none!important;margin:0!important;font-size:inherit!important;color:inherit!important;line-height:inherit!important;vertical-align:baseline!important}
.theme-luxury .num-font{display:inline!important;white-space:nowrap!important;font-family:var(--number-font)!important;font-variant-numeric:lining-nums tabular-nums!important;letter-spacing:0!important}
.theme-luxury .footer-inner{grid-template-columns:310px minmax(0,1.5fr) 190px!important;gap:22px!important}
.theme-luxury .footer-location-line{grid-template-columns:repeat(4,minmax(160px,1fr))!important;gap:8px!important}
.theme-luxury .footer-location-line div{padding:0 20px!important}
.theme-luxury .footer-location-line span{font-size:16px!important;line-height:1.55!important;word-break:normal!important;overflow-wrap:normal!important}
.theme-luxury .footer-brand h3{font-size:32px!important;line-height:1.02!important}
.theme-luxury .footer-social{padding-top:8px!important}
.theme-luxury .footer-love-banner{padding:34px 20px 18px!important}
.theme-luxury .footer-love-banner h3{gap:6px!important;max-width:980px!important}
.theme-luxury .footer-love-banner .lux-line{font-size:44px!important;font-style:italic!important;letter-spacing:-.03em!important}
.theme-luxury .footer-love-banner .lux-script{font-size:108px!important;line-height:.82!important}
.theme-luxury .home-showcase-section{padding-top:34px!important;padding-bottom:48px!important}
.theme-luxury .home-hours-section{padding-top:40px!important;padding-bottom:44px!important}
.theme-luxury .home-showcase-section .section-title,
.theme-luxury .home-hours-section .section-title{margin-bottom:8px!important}
.theme-luxury .promo-marquee{background:linear-gradient(90deg,#d21870 0%,#ea8c6b 28%,#efbf57 52%,#e48bbd 75%,#cf1a72 100%)!important}
.theme-luxury .promo-track{font-size:15px!important;letter-spacing:.09em!important}
@media(max-width:1180px){.theme-luxury .footer-inner{grid-template-columns:1fr!important}.theme-luxury .footer-location-line{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}
@media(max-width:760px){.theme-luxury .footer-location-line{grid-template-columns:1fr!important}.theme-luxury .footer-love-banner .lux-line{font-size:30px!important}.theme-luxury .footer-love-banner .lux-script{font-size:76px!important}}

/* =========================================================
   FINAL CUSTOMER LAUNCH PATCH - JUL 7
   ========================================================= */
.theme-luxury .branch-card p:first-of-type{
  font-weight:400!important;
  font-size:33px!important;
  line-height:1.08!important;
}
.theme-luxury .branch-card p:first-of-type .num-font{font-weight:400!important}
.theme-luxury .bento-promo{grid-template-columns:1.35fr .72fr!important}
.bento-promo-image{
  justify-self:center;
  width:min(285px,100%);
  aspect-ratio:1/1;
  border-radius:34px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(199,165,106,.28);
  box-shadow:0 20px 44px rgba(70,38,45,.12);
}
.bento-promo-image img{width:100%;height:100%;object-fit:cover;display:block}
.theme-luxury .wow-price::before,
.theme-luxury .occasion-option-card .price-from::before,
.theme-luxury .minimal-luxe-card .price-from::before{display:none!important;content:none!important}
.theme-luxury .occasion-option-card .price-word{display:block!important}
.design-variation-note{
  background:#fffaf7;
  border:1px solid rgba(236,216,220,.85);
  border-radius:18px;
  padding:14px 16px;
  color:var(--muted);
}
.theme-luxury .how-step p a{
  color:var(--brand-pink);
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
@media(max-width:980px){
  .theme-luxury .bento-promo{grid-template-columns:1fr!important}
  .bento-promo-image{max-width:260px}
}


/* =========================================================
   FINAL LAUNCH CLEANUP - JUL 8
   ========================================================= */
/* Home hero: cleaner, classic and one-colour title */
.theme-luxury .hero .h1,
.home-page .hero .h1{
  color:#2b171d!important;
  text-shadow:none!important;
  font-family:'Cormorant Garamond','Source Serif 4',Georgia,serif!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  max-width:620px!important;
}
.theme-luxury .hero .sub,
.home-page .hero .sub{
  max-width:610px!important;
  font-size:20px!important;
  line-height:1.65!important;
}
.theme-luxury .hero-card,
.home-page .hero-card{
  padding-bottom:42px!important;
}

/* Home: bento promo removed from homepage, keep bento inside Menu page */
.home-page .bento-home-banner{display:none!important;}

/* Move featured cakes/opening hours into a clean flow */
.theme-luxury .home-showcase-section,
.home-page .home-showcase-section{
  padding-top:54px!important;
  padding-bottom:34px!important;
}
.theme-luxury .home-hours-section,
.home-page .home-hours-section{
  padding-top:18px!important;
  padding-bottom:56px!important;
}
.theme-luxury .home-hours-section .section-title,
.home-page .home-hours-section .section-title{
  margin-top:0!important;
  margin-bottom:34px!important;
}

/* How to order: remove gold numbers and centre each box neatly */
.theme-luxury .how-step,
.how-step{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:230px!important;
  padding:34px 28px!important;
}
.theme-luxury .how-step > .step-no,
.how-step > .step-no{
  display:none!important;
}
.theme-luxury .how-step h3,
.how-step h3{
  margin:0 0 16px!important;
}
.theme-luxury .how-step p,
.how-step p{
  margin:0!important;
  max-width:360px!important;
}
.theme-luxury .delivery-after-branches,
.delivery-after-branches{
  margin-top:32px!important;
}

/* Opening hours: same font feel but hours not bold/heavy */
.theme-luxury .branch-card .branch-hours,
.theme-luxury .branch-card p:first-of-type{
  font-family:'Cormorant Garamond','Source Serif 4',Georgia,serif!important;
  font-weight:400!important;
  font-size:32px!important;
  line-height:1.12!important;
  color:#2b171d!important;
}
.theme-luxury .branch-card .branch-hours strong,
.theme-luxury .branch-card .branch-hours .num-font,
.theme-luxury .branch-card p:first-of-type .num-font{
  font-weight:400!important;
}
.theme-luxury .branch-card .branch-address{
  font-family:'Source Sans 3',Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}

/* Footer: fix address wrapping and keep the delivery line last */
.theme-luxury .footer-inner{
  grid-template-columns:320px minmax(0,1fr) 190px!important;
  align-items:start!important;
}
.theme-luxury .footer-location-line{
  grid-template-columns:repeat(4,minmax(170px,1fr))!important;
  gap:12px!important;
}
.theme-luxury .footer-location-line div{
  min-width:0!important;
  padding:0 16px!important;
}
.theme-luxury .footer-location-line span,
.theme-luxury .footer-location-line a{
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.theme-luxury .footer-brand h3{
  font-size:26px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.theme-luxury .footer-delivery-line{
  margin-top:28px!important;
  padding-top:22px!important;
  border-top:1px dashed #ead6dd!important;
}

/* Footer love banner: final wording style */
.theme-luxury .footer-love-banner h3 .lux-line{
  font-family:'Source Sans 3',Arial,sans-serif!important;
  font-size:38px!important;
  font-weight:300!important;
  font-style:italic!important;
  line-height:1.05!important;
}
.theme-luxury .footer-love-banner h3 .lux-script{
  font-family:'Allura','Parisienne',cursive!important;
  font-size:104px!important;
  font-weight:400!important;
  line-height:.85!important;
}

@media(max-width:1180px){
  .theme-luxury .footer-inner{grid-template-columns:1fr!important;}
  .theme-luxury .footer-location-line{grid-template-columns:repeat(2,minmax(220px,1fr))!important;}
}
@media(max-width:760px){
  .theme-luxury .hero .h1,.home-page .hero .h1{font-size:48px!important;}
  .theme-luxury .hero .sub,.home-page .hero .sub{font-size:17px!important;}
  .theme-luxury .home-showcase-section{padding-top:40px!important;}
  .theme-luxury .home-hours-section{padding-top:6px!important;}
  .theme-luxury .branch-card .branch-hours{font-size:28px!important;}
  .theme-luxury .footer-location-line{grid-template-columns:1fr!important;}
  .theme-luxury .footer-brand h3{white-space:normal!important;font-size:24px!important;}
  .theme-luxury .footer-love-banner h3 .lux-line{font-size:28px!important;}
  .theme-luxury .footer-love-banner h3 .lux-script{font-size:74px!important;}
}

/* =========================================================
   FINAL SELECTED SIZE ONE-LINE FIX - JUL 8
   Keeps kg / serves / price on one clean line for all current
   and future Menu + Shop product size selections.
   ========================================================= */
.theme-luxury .selected-size,
.selected-size{
  overflow:visible!important;
}
.theme-luxury .selected-size strong,
.selected-size strong,
.theme-luxury #selected-size-text,
#selected-size-text{
  display:block!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-family:'Source Sans 3','Source Sans Pro',Arial,Helvetica,sans-serif!important;
  font-size:clamp(20px,1.9vw,26px)!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  color:#181014!important;
}
.theme-luxury .selected-size strong .num-font,
.selected-size strong .num-font,
.theme-luxury #selected-size-text .num-font,
#selected-size-text .num-font{
  display:inline!important;
  white-space:nowrap!important;
  font-family:'Source Sans 3','Source Sans Pro',Arial,Helvetica,sans-serif!important;
  font-size:1em!important;
  line-height:inherit!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.theme-luxury .selected-size span,
.selected-size span{
  margin-bottom:8px!important;
}
@media(max-width:760px){
  .theme-luxury .selected-size strong,
  .selected-size strong,
  .theme-luxury #selected-size-text,
  #selected-size-text{
    font-size:19px!important;
    white-space:normal!important;
  }
}

/* =========================================================
   FINAL ESTIMATED PRICE SIZE FIX - JUL 8
   Keeps the occasion cake estimated price large after clicking
   any kg/flavour option, even after number styling runs.
   ========================================================= */
.theme-luxury .estimate-total strong,
.estimate-total strong,
.theme-luxury #estimatePrice,
#estimatePrice{
  display:block!important;
  font-family:'Source Sans 3','Source Sans Pro',Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,4.2vw,56px)!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
  color:#111!important;
  margin:8px 0 10px!important;
}
.theme-luxury #estimatePrice .num-font,
#estimatePrice .num-font,
.theme-luxury .estimate-total strong .num-font,
.estimate-total strong .num-font{
  display:inline!important;
  font-family:'Source Sans 3','Source Sans Pro',Arial,Helvetica,sans-serif!important;
  font-size:1em!important;
  line-height:inherit!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
  color:inherit!important;
}
@media(max-width:760px){
  .theme-luxury .estimate-total strong,
  .estimate-total strong,
  .theme-luxury #estimatePrice,
  #estimatePrice{
    font-size:40px!important;
  }
}

/* =========================================================
   FINAL FINAL PATCH - JUL 8
   Back-link spacing, menu selected-size wording, and menu design note.
   ========================================================= */
.theme-luxury .inline-back-link,
.inline-back-link{
  display:inline-block!important;
  margin-top:22px!important;
  padding-top:2px!important;
}
.theme-luxury #collection-hero p,
#collection-hero p{
  margin-top:18px!important;
}
.theme-luxury .menu-custom-design-note,
.menu-custom-design-note{
  background:#fffaf7!important;
  border:1px solid rgba(236,216,220,.9)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  margin:14px 0 16px!important;
  color:var(--muted)!important;
}
.theme-luxury .menu-custom-design-note strong,
.menu-custom-design-note strong{
  color:#2b171d!important;
}
.theme-luxury .menu-custom-design-note a,
.menu-custom-design-note a{
  color:var(--brand-pink)!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.theme-luxury .occasion-option-card .price-from::before,
.theme-luxury .minimal-luxe-card .price-from::before,
.theme-luxury .wow-price::before,
.occasion-option-card .price-from::before,
.minimal-luxe-card .price-from::before,
.wow-price::before{
  display:none!important;
  content:none!important;
}
.theme-luxury .occasion-option-card .price-word,
.occasion-option-card .price-word{
  display:block!important;
}

/* =========================================================
   FINAL HERO BOX SIZE POLISH - JUL 8
   Makes the Fresh cream cakes box feel fuller while keeping the rest the same.
   ========================================================= */
.theme-luxury .hero-card,
.home-page .hero-card{
  max-width:710px!important;
  min-height:520px!important;
  padding:58px 54px 56px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.theme-luxury .hero .h1,
.home-page .hero .h1{
  max-width:650px!important;
}
.theme-luxury .hero .sub,
.home-page .hero .sub{
  max-width:650px!important;
}
.theme-luxury .hero-inner,
.home-page .hero-inner{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.82fr)!important;
  gap:48px!important;
}
@media(max-width:980px){
  .theme-luxury .hero-card,
  .home-page .hero-card{
    min-height:auto!important;
    padding:42px 34px!important;
  }
  .theme-luxury .hero-inner,
  .home-page .hero-inner{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .theme-luxury .hero-card,
  .home-page .hero-card{
    padding:34px 24px!important;
  }
}

/* =========================================================
   SIGNATURE BIRTHDAY CAKES - JUL 8 FINAL ADD-ON
   Featured signature cakes are now shown on the main Shop page,
   while Birthday Cakes keeps the theme buttons only.
   ========================================================= */
.birthday-landing-wrap{
  display:block!important;
  max-width:1280px!important;
  margin:0 auto!important;
}
.birthday-signature-section{
  margin:0 auto 58px!important;
}
.birthday-signature-head{
  text-align:center!important;
  margin:0 auto 30px!important;
  max-width:760px!important;
}
.birthday-signature-head h2,
.birthday-theme-section h2{
  font-family:var(--serif)!important;
  color:var(--deep)!important;
  font-size:clamp(36px,4vw,58px)!important;
  line-height:1!important;
  margin:0 0 12px!important;
  letter-spacing:-.03em!important;
}
.birthday-signature-head p{
  color:var(--muted)!important;
  margin:0 auto!important;
  font-size:17px!important;
  line-height:1.6!important;
}
.birthday-signature-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:start!important;
}
.birthday-signature-card{
  display:block!important;
  text-decoration:none!important;
  color:var(--deep)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transition:transform .18s ease, filter .18s ease!important;
}
.birthday-signature-card:hover{
  transform:translateY(-5px)!important;
  filter:drop-shadow(0 18px 24px rgba(35,23,26,.10))!important;
}
.birthday-signature-image{
  aspect-ratio:1/1.02!important;
  overflow:hidden!important;
  border-radius:6px!important;
  background:#fff6f8!important;
}
.birthday-signature-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.birthday-signature-body{
  padding:14px 0 0!important;
  text-align:left!important;
}
.birthday-signature-body h3{
  margin:0 0 6px!important;
  font-family:var(--sans)!important;
  font-weight:900!important;
  font-size:19px!important;
  line-height:1.2!important;
  color:#23171a!important;
  letter-spacing:-.01em!important;
}
.birthday-signature-body p{
  margin:0!important;
  color:#2b171d!important;
  font-family:var(--sans)!important;
  font-weight:500!important;
  font-size:16px!important;
}
.birthday-theme-section{
  margin:26px auto 0!important;
  text-align:center!important;
}
.birthday-theme-section h2{
  font-size:clamp(34px,3.4vw,50px)!important;
  margin-bottom:26px!important;
}
@media(max-width:1080px){
  .birthday-signature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
}
@media(max-width:760px){
  .birthday-signature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .birthday-signature-body h3{font-size:16px!important}
  .birthday-signature-body p{font-size:14px!important}
  .birthday-signature-section{margin-bottom:42px!important}
}

/* Signature birthday exact-design notice */
.signature-timing-note{
  margin:18px 0!important;
  padding:18px 20px!important;
  border:1px solid rgba(150,27,83,.18)!important;
  border-radius:18px!important;
  background:#fffafb!important;
  color:#2b171d!important;
  line-height:1.7!important;
}

/* ===== Signature birthday + final launch polish ===== */
.theme-luxury .hero-card .eyebrow,
.theme-luxury .hero .eyebrow{
  font-size:15px!important;
  letter-spacing:.22em!important;
  color:#8d174b!important;
}
.theme-luxury .hero-card .h1,
.theme-luxury .hero h1{
  color:#2b171d!important;
  text-shadow:none!important;
}
.inline-back-link{display:inline-block!important;margin-top:18px!important;line-height:1.25!important}
.collection-hero p{margin-top:18px!important}
.theme-luxury .detail-tabs-inside-panel{
  width:100%!important;
  margin-top:28px!important;
}
.theme-luxury .product-page-shell > .detail-tabs-wide{
  width:100%!important;
}
.theme-luxury .detail-tabs-wide .detail-tab-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:0!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
}
.theme-luxury .detail-tabs-wide .detail-tab-btn{
  flex:0 0 auto!important;
  text-align:center!important;
}
.birthday-signature-section + .birthday-theme-section{margin-top:44px!important}
@media(max-width:860px){
  .theme-luxury .hero-card .eyebrow,.theme-luxury .hero .eyebrow{font-size:12px!important}
  .theme-luxury .detail-tabs-wide .detail-tab-btn{font-size:14px!important;padding:14px 15px!important}
}

/* FINAL SHOP SIGNATURE SECTION MOVE - JUL 9 */
.shop-signature-cakes{
  max-width:1280px!important;
  margin:58px auto 10px!important;
}
.shop-featured-signature-section{
  margin:0 auto 34px!important;
}
.shop-featured-signature-section .birthday-signature-head h2{
  font-size:clamp(34px,3.6vw,54px)!important;
}
.shop-featured-signature-section .birthday-signature-head p{
  max-width:690px!important;
}
.shop-featured-signature-section .birthday-signature-card{
  padding-bottom:4px!important;
}
.shop-featured-signature-section .birthday-signature-image{
  border-radius:8px!important;
}
@media(max-width:760px){
  .shop-signature-cakes{margin:36px auto 0!important;}
}

/* Final alphabetic/price sorting controls */
.nanak-sort-tabs{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:18px auto 24px;
}
.nanak-sort-tabs button{
  border:1px solid rgba(151,33,83,.28);
  background:#fffdfc;
  color:#321c22;
  border-radius:999px;
  padding:12px 18px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(78,33,38,.06);
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.nanak-sort-tabs button:hover{transform:translateX(4px);}
.nanak-sort-tabs button.active{
  background:#95164b;
  color:#fff;
  border-color:#95164b;
}
#collection-sort{margin-top:8px;margin-bottom:8px;}
.shop-featured-signature-section .nanak-sort-tabs{margin-top:18px;margin-bottom:10px;}


/* PRIVATE IN-STORE CATALOGUE */
.private-catalogue-admin-box{background:linear-gradient(135deg,#fff7fb,#fffdf7);border:2px solid rgba(179,10,79,.16)}
.private-catalogue-page{min-height:100vh;background:linear-gradient(180deg,#fffaf6 0%,#fff3f6 100%);color:var(--text)}
.catalogue-lock[hidden],#catalogueApp[hidden],.catalogue-modal[hidden],.catalogue-theme-tabs[hidden]{display:none!important}
.catalogue-lock{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#fff8eb,#f8dfe7 72%)}
.catalogue-lock-card{width:min(520px,100%);background:#fff;border:1px solid var(--border);border-radius:32px;padding:38px;text-align:center;box-shadow:0 30px 80px rgba(74,20,40,.16)}
.catalogue-lock-card img{width:118px;height:78px;object-fit:contain;margin-bottom:12px}
.catalogue-lock-card h1{font-family:Georgia,serif;font-size:clamp(34px,6vw,52px);margin:12px 0}
.catalogue-lock-card p{color:var(--muted);line-height:1.6}
.catalogue-lock-card form{display:grid;gap:12px;margin-top:22px}
.catalogue-lock-card input{font-size:28px;text-align:center;letter-spacing:.25em;padding:16px;border-radius:16px;border:1px solid var(--border)}
.catalogue-error{min-height:24px;color:#a8003d!important;font-weight:700}
.catalogue-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(18px,4vw,54px);background:rgba(255,253,249,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);box-shadow:0 8px 30px rgba(80,25,45,.06)}
.catalogue-brand{display:flex;align-items:center;gap:16px}.catalogue-brand img{width:82px;height:58px;object-fit:contain}.catalogue-brand span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--brand-pink)}.catalogue-brand h1{font-family:Georgia,serif;margin:3px 0 0;font-size:clamp(23px,3vw,38px)}
.catalogue-lock-button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:12px 20px;font-weight:800;color:var(--brand-pink)}
.catalogue-main{width:min(1500px,calc(100% - 34px));margin:0 auto;padding:34px 0 70px}
.catalogue-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;align-items:end;padding:26px 0}.catalogue-intro h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,70px);margin:8px 0 12px}.catalogue-intro p{font-size:18px;color:var(--muted);max-width:800px;line-height:1.55}
.catalogue-search-wrap{background:#fff;border:1px solid var(--border);border-radius:20px;padding:16px 18px;box-shadow:0 12px 36px rgba(80,25,45,.06)}.catalogue-search-wrap label{display:block;font-weight:800;margin-bottom:8px}.catalogue-search-wrap input{width:100%;font-size:18px;padding:14px;border:1px solid var(--border);border-radius:14px}
.catalogue-toolbar{display:grid;gap:14px;margin:18px 0 26px}.catalogue-category-tabs,.catalogue-theme-tabs,.catalogue-sort-tabs{display:flex;gap:10px;flex-wrap:wrap}.catalogue-category-tabs button,.catalogue-theme-tabs button,.catalogue-sort-tabs button{border:1px solid #e8c9d2;background:#fff;border-radius:999px;padding:13px 20px;font-weight:800;font-size:15px;cursor:pointer}.catalogue-category-tabs button.active,.catalogue-theme-tabs button.active,.catalogue-sort-tabs button.active{background:var(--brand-pink);border-color:var(--brand-pink);color:#fff;box-shadow:0 8px 24px rgba(179,10,79,.2)}
.catalogue-theme-tabs{padding:14px;border-radius:20px;background:rgba(255,255,255,.58);border:1px solid var(--border)}
.catalogue-sort-tabs{justify-content:flex-end;border-top:1px solid var(--border);padding-top:14px}
.catalogue-status{font-weight:800;color:var(--muted);margin:0 0 16px}
.catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.catalogue-card{appearance:none;text-align:left;padding:0;border:1px solid var(--border);border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(75,22,42,.075);cursor:pointer;transition:.2s transform,.2s box-shadow}.catalogue-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(75,22,42,.13)}
.catalogue-card-image{display:block;aspect-ratio:1/1;background:#f8eef0}.catalogue-card-image img{width:100%;height:100%;object-fit:cover;display:block}.catalogue-card-body{display:grid;gap:9px;padding:18px}.catalogue-card-body small{text-transform:uppercase;letter-spacing:.11em;color:var(--brand-pink);font-weight:800}.catalogue-card-body>strong{font-family:Georgia,serif;font-size:24px;line-height:1.15}.catalogue-card-price{display:flex;align-items:baseline;gap:8px;font-size:29px;font-weight:900}.catalogue-card-price em{font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--brand-pink)}.catalogue-view-details{font-weight:800;color:var(--brand-pink);font-size:13px}
.catalogue-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;text-align:center;padding:24px;background:#2c1b1f;color:#fff}.catalogue-footer span{opacity:.82}
.catalogue-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.catalogue-modal-backdrop{position:absolute;inset:0;background:rgba(40,18,24,.66);backdrop-filter:blur(10px)}.catalogue-modal-card{position:relative;width:min(1180px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:30px;box-shadow:0 35px 100px rgba(0,0,0,.3);padding:28px}.catalogue-modal-close{position:sticky;float:right;top:0;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:#2c1b1f;color:#fff;font-size:30px;line-height:1;cursor:pointer}.catalogue-modal-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;clear:both}.catalogue-modal-gallery>img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px;background:#f8eef0}.catalogue-modal-thumbs{display:flex;gap:10px;overflow:auto;padding-top:12px}.catalogue-modal-thumbs button{padding:0;border:3px solid transparent;border-radius:12px;background:none}.catalogue-modal-thumbs button.active{border-color:var(--brand-pink)}.catalogue-modal-thumbs img{display:block;width:72px;height:72px;object-fit:cover;border-radius:9px}.catalogue-modal-info h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1.05;margin:8px 0 12px}.catalogue-modal-info h3{font-size:18px;margin:25px 0 10px}.catalogue-modal-from{font-size:18px;padding:14px 18px;border-radius:16px;background:#fff3c9;display:inline-flex;gap:8px;align-items:baseline}.catalogue-modal-from strong{font-size:30px}.catalogue-price-list,.catalogue-flavour-list{border:1px solid var(--border);border-radius:18px;overflow:hidden}.catalogue-price-list>div,.catalogue-flavour-list>div{display:flex;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid var(--border)}.catalogue-price-list>div:last-child,.catalogue-flavour-list>div:last-child{border-bottom:0}.catalogue-flavour-list h4{margin:0;padding:14px 16px;background:#fff7f9}.catalogue-detail-note{padding:16px 18px;margin-top:14px;border-radius:17px;background:#fff8fa;border:1px solid var(--border)}.catalogue-detail-note h4{margin:0 0 7px}.catalogue-detail-note p{margin:0;line-height:1.55}.catalogue-staff-note{margin-top:18px;padding:16px;border-radius:16px;background:#2c1b1f;color:#fff;font-weight:800}.catalogue-modal-open{overflow:hidden}
@media(max-width:1100px){.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue-modal-layout{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.catalogue-main{width:min(100% - 24px,1500px)}.catalogue-intro{grid-template-columns:1fr}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalogue-card-body{padding:14px}.catalogue-card-body>strong{font-size:19px}.catalogue-card-price{font-size:24px}.catalogue-modal{padding:10px}.catalogue-modal-card{padding:18px;border-radius:22px}.catalogue-modal-layout{grid-template-columns:1fr}.catalogue-brand h1{font-size:22px}.catalogue-brand img{width:62px}.catalogue-header{padding:12px}.catalogue-sort-tabs{justify-content:flex-start}}
@media(max-width:430px){.catalogue-grid{grid-template-columns:1fr}.catalogue-category-tabs button,.catalogue-theme-tabs button,.catalogue-sort-tabs button{padding:11px 15px;font-size:13px}}


/* Public website: prices stay in Supabase for the separate in-store catalogue, but are not displayed here. */
.no-price-order{display:flex;flex-direction:column;gap:3px;margin:12px 0 4px;padding-top:11px;border-top:1px solid rgba(179,10,79,.16);color:var(--brand-pink)}
.no-price-order strong{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.no-price-order span{font-size:.9rem;color:var(--text)}
.product-how-order-mini{display:flex;flex-direction:column;gap:5px;margin-top:18px;padding:15px 16px;border:1px solid var(--border);border-radius:14px;background:#fff8fa}
.product-how-order-mini strong{color:var(--brand-pink);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.product-how-order-mini span{color:var(--text)}
.no-public-prices .price-row{grid-template-columns:1fr;text-align:left}
.no-public-price span{display:none!important}
.no-price-option-box .flavour-choice-grid{margin-bottom:4px}
.no-price-sort{justify-content:center}
.menu-bento-card .no-price-order{margin-left:16px;margin-right:16px}
@media (max-width:700px){.no-price-order span{font-size:.84rem}.product-how-order-mini{padding:13px}}

/* Launch performance improvements */
.product-image-wrap img,.occasion-option-image img,.menu-cake-img img,.menu-bento-img img,.birthday-signature-image img,.collection-card img{display:block;width:100%;height:100%;object-fit:cover}
.product-card,.occasion-option-card,.menu-cake-card,.menu-bento-card,.birthday-signature-card,.collection-card{content-visibility:auto;contain-intrinsic-size:420px 520px}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Final Bento framing: keep the full cake comfortably inside every card and gallery. */
.menu-bento-img img{object-position:center center!important;}
.bento-layout .main-img{object-position:center center!important;}

/* =========================================================
   AUG 8 MOBILE COLLECTION GRID PATCH
   Phone only: show cake-design collections as a compact 2-column grid.
   Desktop/tablet layouts remain unchanged.
   ========================================================= */
@media (max-width:760px){
  body.theme-luxury .occasion-option-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    justify-content:stretch!important;
    align-items:start!important;
  }
  body.theme-luxury .occasion-option-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    border-radius:20px!important;
    padding-bottom:10px!important;
    transform:none!important;
  }
  body.theme-luxury .occasion-option-card:hover{
    transform:translateY(-2px)!important;
  }
  body.theme-luxury .occasion-option-image{
    width:100%!important;
    aspect-ratio:1 / 1!important;
    min-height:0!important;
  }
  body.theme-luxury .occasion-option-body{
    padding:11px 8px 13px!important;
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.theme-luxury .occasion-card-title{
    font-size:16px!important;
    line-height:1.16!important;
    margin:0!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
  }
  body.theme-luxury .occasion-option-card::after{
    left:12px!important;
    right:12px!important;
    height:5px!important;
  }
  body.theme-luxury #collection-grid{
    margin-top:14px!important;
  }
}
