/* The Cake Ambience: v2 additions (logo, icons, richer cards, product page, services, success popper) */
:root{--gold:#b98a3a}
body.noscroll{overflow:hidden}
i.fa-solid,i.fa-regular,i.fa-brands{line-height:1}

/* logo (image supplied by the brand) */
.logo{gap:12px;font-size:1.3rem;line-height:1.1}
.logo-mark{flex:none;display:block;width:60px;aspect-ratio:497/515;border-radius:50%;background:#f4f1ea url(/img/logo.webp) 49.95% 51.4%/283.3% auto no-repeat;box-shadow:0 4px 18px rgba(0,0,0,.28);transition:width .3s}
.logo-txt{display:block}
.logo-txt small{display:block;font:500 .56rem 'Poppins';letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-top:3px}
.solid .logo-mark,.always .logo-mark{width:50px}
.logo-full{display:block;width:190px;max-width:100%;aspect-ratio:497/515;border-radius:50%;margin-bottom:18px;background:#f4f1ea url(/img/logo.webp) 49.95% 51.4%/283.3% auto no-repeat;box-shadow:0 8px 28px rgba(0,0,0,.35)}
footer .logo{margin-bottom:0}

/* nav */
.menu a.lnk .caret{font-size:.65rem;margin-left:4px;transition:.3s}
.menu li:hover .caret{transform:rotate(180deg)}
.drop a i{width:20px;color:var(--rose);margin-right:6px}
.only-m{display:none}
.menu-backdrop{position:fixed;inset:0;background:rgba(32,16,10,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.35s;z-index:90}
.menu-backdrop.on{opacity:1;visibility:visible}
.user-chip>button{display:flex;align-items:center;gap:8px}
.nav-actions{gap:12px}
header.nav{z-index:100}
.menu{z-index:110}

/* icons replacing emoji */
.btn i{font-size:.85em}
.feat .ic,.info-grid .ic{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,#fff0f3,#f6e3c8);color:var(--rose-d);font-size:1.6rem;animation:none;transition:.4s}
.feat div:hover .ic,.info-grid div:hover .ic{background:var(--rose);color:#fff;transform:rotateY(180deg)}
.empty .big{font-size:3.4rem;color:var(--rose);opacity:.8;margin-bottom:10px}
.marquee span{margin:0 28px;color:var(--rose);font-size:.9rem}
.cat-card h3 i{font-size:1.1rem;margin-right:8px;color:#ffc4d1}
.ci-list li{display:flex;gap:12px;align-items:flex-start}
.ci-list i{color:var(--rose);margin-top:5px;width:16px}
.soc{display:flex;gap:10px;margin-top:16px}
.soc a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:.3s}
.soc a:hover{background:var(--rose);transform:translateY(-4px);color:#fff}
.toast{display:flex;align-items:center;gap:10px;max-width:92vw}
.toast i{color:#9fe0c1}
.stars{color:#e9a93a;letter-spacing:1px;font-size:.8rem;white-space:nowrap}
.testi .stars{font-size:.95rem}

/* product cards v2 */
.card{position:relative}
.card .img{display:block}
.card h3 a:hover{color:var(--rose-d)}
.cat-l{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:4px}
.rate{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.rate small{color:var(--muted);font-size:.78rem}
.tag{background:var(--choc);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.tag.off{left:auto;right:14px;background:var(--rose)}
.soldout{position:absolute;inset:0;background:rgba(255,255,255,.7);display:grid;place-items:center;font:600 1.1rem 'Playfair Display';color:var(--choc)}
.fav{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:#9b8579;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:.3s}
.card .tag.off+*{}
.card:has(.tag.off) .fav{top:54px}
.fav:hover{transform:scale(1.15);color:var(--rose)}
.fav.on{color:#fff;background:var(--rose)}
.pr{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pr s{color:#a89488;font-size:.85rem}
.prod-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc{position:relative;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 8px 30px rgba(59,34,24,.08);transition:.45s;display:flex;flex-direction:column}
.svc:hover{transform:translateY(-10px);box-shadow:var(--shadow)}
.svc .pic{height:210px;overflow:hidden;position:relative}
.svc .pic img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.svc:hover .pic img{transform:scale(1.1)}
.svc .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(32,16,10,.55))}
.svc .badge-i{position:absolute;left:22px;top:184px;z-index:2;width:56px;height:56px;border-radius:16px;background:var(--rose);color:#fff;display:grid;place-items:center;font-size:1.4rem;box-shadow:0 10px 22px rgba(217,98,125,.45)}
.svc .txt{padding:38px 24px 26px}
.svc h3{font-size:1.25rem;margin-bottom:8px}
.svc p{color:var(--muted);font-size:.9rem;margin-bottom:14px}
.svc ul{list-style:none;margin-bottom:16px}
.svc li{font-size:.86rem;color:var(--choc2);padding-left:22px;position:relative;margin-bottom:4px}
.svc li::before{content:"\f00c";font:900 .7rem 'Font Awesome 6 Free';position:absolute;left:0;top:4px;color:var(--rose)}
.svc a.more{font-weight:600;color:var(--rose-d);font-size:.9rem}
.svc a.more i{transition:.3s;margin-left:4px}
.svc a.more:hover i{transform:translateX(6px)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.steps div{text-align:center;position:relative;padding:0 10px}
.steps .n{width:78px;height:78px;border-radius:50%;margin:0 auto 14px;background:#fff;border:2px dashed var(--rose);display:grid;place-items:center;color:var(--rose-d);font-size:1.6rem;position:relative;transition:.4s}
.steps div:hover .n{background:var(--rose);color:#fff;border-style:solid}
.steps h3{font-size:1.1rem;margin-bottom:4px}
.steps p{color:var(--muted);font-size:.88rem}
.cat-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.cat-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:30px;border:1.5px solid #e4d2c0;background:#fff;font:500 .9rem 'Poppins';cursor:pointer;color:var(--choc);transition:.3s}
.cat-tabs button.on,.cat-tabs button:hover{background:var(--choc);color:#fff;border-color:var(--choc)}
.cat-tabs button i{color:var(--rose)}
.cat-tabs button.on i,.cat-tabs button:hover i{color:#ffc4d1}
.cat-card .ct{display:flex;align-items:center;gap:6px}

/* shop toolbar */
.shop-bar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:30px}
.shop-bar .search{margin:0;flex:1;min-width:220px;max-width:420px;padding-left:46px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 512 512'%3E%3Cpath fill='%23b98a3a' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") 18px center no-repeat}
.shop-bar select{padding:12px 18px;border-radius:30px;border:1.5px solid #e4d2c0;background:#fff;font:400 .9rem 'Poppins';color:var(--choc);outline:none;cursor:pointer}
.count-l{color:var(--muted);font-size:.9rem}

/* product page */
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}
.pd .gal{position:sticky;top:100px}
.pd .gal .main{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1;background:var(--sand);position:relative}
.pd .gal img{width:100%;height:100%;object-fit:cover}
.pd .gal .tag{top:18px;left:18px}
.pd h1{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:6px 0 10px}
.pd .rate{margin-bottom:14px}
.pd .big-price{font:700 2.1rem 'Playfair Display';color:var(--rose-d)}
.pd .big-price s{font:400 1rem 'Poppins';color:#a89488;margin-left:10px}
.pd .off{display:inline-block;background:#e6f6ea;color:#1b6b36;font-size:.78rem;font-weight:600;padding:2px 10px;border-radius:20px;margin-left:10px;vertical-align:middle}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.chips span{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:30px;background:var(--sand);font-size:.85rem;color:var(--choc2)}
.chips i{color:var(--rose-d)}
.buy{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0}
.buy .qty{margin:0}
.buy .qty button{width:40px;height:44px}
.buy .btn{flex:1;justify-content:center;min-width:150px}
.buy .fav{position:static;border:1.5px solid #e4d2c0;box-shadow:none;width:50px;height:50px}
.acc{border-top:1px solid #ecdccb;margin-top:10px}
.acc details{border-bottom:1px solid #ecdccb;padding:14px 0}
.acc summary{cursor:pointer;font-weight:600;color:var(--choc);display:flex;justify-content:space-between;align-items:center;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"\f067";font:900 .8rem 'Font Awesome 6 Free';color:var(--rose);transition:.3s}
.acc details[open] summary::after{content:"\f068"}
.acc p{color:var(--muted);font-size:.92rem;margin-top:10px}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.trust div{text-align:center;font-size:.78rem;color:var(--muted);background:#fff;border-radius:14px;padding:14px 8px;box-shadow:0 4px 16px rgba(59,34,24,.06)}
.trust i{display:block;font-size:1.3rem;color:var(--rose-d);margin-bottom:6px}
.crumb-bar{padding:110px 0 0;font-size:.88rem;color:var(--muted)}
.crumb-bar a:hover{color:var(--rose-d)}

/* cart & checkout */
.ci .qty button{width:34px;height:34px}
.pay-opts label i{display:block;font-size:1.3rem;margin-bottom:4px;color:var(--rose-d)}
.pay-opts{grid-template-columns:repeat(3,1fr)}
.secure{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);background:var(--sand);padding:12px 14px;border-radius:12px}
.secure i{color:#1b6b36;margin-top:3px}

/* success popper */
.pop-bg{position:fixed;inset:0;background:rgba(32,16,10,.72);backdrop-filter:blur(5px);z-index:400;display:grid;place-items:center;padding:20px;animation:fadein .3s}
@keyframes fadein{from{opacity:0}}
.pop{background:#fff;border-radius:28px;max-width:480px;width:100%;padding:42px 32px 32px;text-align:center;position:relative;overflow:hidden;animation:popin .7s cubic-bezier(.2,1.3,.4,1);max-height:92vh;overflow-y:auto}
@keyframes popin{from{transform:scale(.6) translateY(40px);opacity:0}}
.pop::before{content:"";position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--rose),var(--gold),var(--rose))}
.pop .ring{width:104px;height:104px;margin:0 auto 18px;position:relative}
.pop .ring svg{width:100%;height:100%}
.pop .ring circle{fill:#e6f6ea;stroke:#2f9e5b;stroke-width:5;stroke-dasharray:300;stroke-dashoffset:300;animation:dash .8s .2s forwards}
.pop .ring path{fill:none;stroke:#2f9e5b;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:dash .5s .8s forwards}
@keyframes dash{to{stroke-dashoffset:0}}
.pop h2{font-size:1.9rem;margin-bottom:6px}
.pop .sub{color:var(--muted);font-size:.95rem}
.pop .rcpt{background:var(--cream);border-radius:16px;padding:16px 18px;margin:22px 0;text-align:left;font-size:.9rem}
.pop .rcpt div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.pop .rcpt b{color:var(--choc)}
.pop .rcpt .tot{border-top:2px dashed #e4d2c0;margin-top:6px;padding-top:10px;font:700 1.15rem 'Playfair Display';color:var(--rose-d)}
.pop .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.pop .acts .btn{flex:1;justify-content:center;min-width:150px}
.confetti{position:fixed;inset:0;z-index:500;pointer-events:none}

/* about / misc */
.hero .btn i{margin-left:2px}
.page-hero{padding:150px 0 80px}

@media(max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.pd{grid-template-columns:1fr;gap:30px}.pd .gal{position:static}}
@media(max-width:900px){
  .only-m{display:block}
  .menu{z-index:120}
  .menu li.has-drop>a{background:var(--sand)}
  .drop a{padding:10px 14px}
  .nav-signup{display:none}
  .logo-txt small{display:none}
  .logo-mark{width:52px}
  .solid .logo-mark,.always .logo-mark{width:46px}
  .user-chip>button span{display:none}
  .user-chip>button{padding:11px 13px}
  .user-chip .drop{position:absolute;opacity:0;visibility:hidden;transform:translateY(10px);background:#fff;box-shadow:var(--shadow);padding:10px;min-width:210px}
  .user-chip:hover .drop,.user-chip:focus-within .drop{opacity:1;visibility:visible;transform:none}
}
@media(max-width:600px){
  .svc-grid{grid-template-columns:1fr}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .card .body{padding:14px 14px 16px}
  .card h3{font-size:1rem}
  .card p{display:none}
  .card .row{flex-direction:column;align-items:stretch;gap:10px}
  .card .row .btn{justify-content:center}
  .price{font-size:1.1rem}
  .cat-l{font-size:.65rem}
  .rate small{display:none}
  .stars{font-size:.7rem}
  .tag{font-size:.62rem;padding:3px 9px;top:10px;left:10px}
  .tag.off{right:10px}
  .fav{width:34px;height:34px;top:10px;right:10px}
  .card:has(.tag.off) .fav{top:46px}
  .steps{grid-template-columns:1fr 1fr;gap:16px}
  .shop-bar{flex-direction:column;align-items:stretch}
  .shop-bar .search{max-width:none}
  .trust{grid-template-columns:1fr 1fr 1fr}
  .buy .btn{min-width:0}
  .pop{padding:34px 20px 24px}
  .hero{padding-top:100px}
  .hero-btns .btn{flex:1;justify-content:center}
  .sec-head{margin-bottom:34px}
  .cta{background-attachment:scroll}
  .logo-full{width:150px}
}
@media(max-width:380px){.prod-grid{gap:10px}.pay-opts{grid-template-columns:1fr}}

/* small-phone header fit */
@media(max-width:600px){
  .nav .container{gap:8px}
  .logo{font-size:1rem;gap:8px;min-width:0}
  .logo-txt{white-space:nowrap}
  .logo-mark,.solid .logo-mark,.always .logo-mark{width:44px}
  .nav-actions{gap:8px;flex:none}
  .cart-btn,.burger{width:40px;height:40px}
  .user-chip>button{padding:10px 12px}
}
@media(max-width:380px){.logo-mark,.solid .logo-mark,.always .logo-mark{width:38px}.logo{font-size:.88rem;gap:6px}.nav-actions{gap:6px}.cart-btn,.burger{width:38px;height:38px}}

/* no sideways scroll from off-screen reveal animations */
html,body{overflow-x:clip}
section,.hero,.page-hero,footer{overflow-x:clip}
@media(max-width:700px){.rv.l{transform:translateX(-30px)}.rv.r{transform:translateX(30px)}}

/* picture fitting: keep cakes' tops in frame, uniform tiles */
.card .img img,.svc .pic img,.cat-card img{object-position:center 38%}
.gallery img{object-position:center 40%}
.auth form{text-align:left}
.auth .logo-full{box-shadow:0 6px 22px rgba(59,34,24,.25)}

/* brand name beside the logo */
.logo-txt{font:700 1.3rem 'Playfair Display',serif;line-height:1.1;white-space:nowrap}
.logo-txt small{display:none}
@media(max-width:900px){.logo{font-size:1.1rem}.logo-txt{font-size:1.1rem}}

/* password show/hide */
.pw{position:relative}
.pw input{padding-right:50px}
.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;font-size:1rem;transition:.2s}
.pw button:hover{color:var(--rose-d);background:var(--sand)}
.fgt{display:block;text-align:right;margin:-8px 0 18px;font-size:.86rem;font-weight:500;color:var(--rose-d)}
.fgt:hover{text-decoration:underline}
