:root{
  --cream:#fffaf2; --cream2:#f8efe3; --red:#a93532; --red-dark:#822723;
  --ink:#302522; --muted:#786b64; --white:#fff;
  --shadow:0 18px 45px rgba(74,40,30,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}
a{text-decoration:none;color:inherit}
.navbar{height:78px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,242,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid #eee3d8}
.logo{font-family:"Playfair Display",serif;font-size:21px;font-weight:700;display:flex;align-items:center;gap:9px}
.logo span{width:34px;height:34px;border-radius:50%;background:var(--red);color:white;display:grid;place-items:center;font-family:"Playfair Display",serif}
nav{display:flex;gap:34px;font-size:14px;color:#665a54}
nav a:hover{color:var(--red)}
.nav-actions{display:flex;align-items:center;gap:9px}
.search-wrap{position:relative}
.search-wrap input{width:150px;border:1px solid #e8ddd2;background:#fffdf9;border-radius:30px;padding:10px 34px 10px 14px;outline:none;font-family:inherit}
.search-wrap span{position:absolute;right:12px;top:8px;font-size:20px;color:#8d7d73}
select,.cart-btn{border:1px solid #e8ddd2;background:#fffdf9;border-radius:30px;padding:10px 12px;font-family:inherit;color:var(--ink)}
.cart-btn{cursor:pointer}
.cart-btn b{background:var(--red);color:#fff;border-radius:50%;padding:2px 6px;font-size:11px}
.hero{min-height:620px;padding:75px 8vw 80px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--red);margin:0 0 16px}
h1,h2{font-family:"Playfair Display",serif;line-height:1.03;margin:0}
h1{font-size:clamp(55px,7vw,92px);letter-spacing:-3px}
h1 em,h2 em{color:var(--red);font-style:italic}
.hero-text{max-width:510px;color:var(--muted);font-size:16px;line-height:1.8;margin:25px 0 28px}
.primary-btn,.whatsapp-btn{display:inline-flex;align-items:center;gap:28px;background:var(--red);color:white;border:0;border-radius:30px;padding:14px 20px;font-weight:700;cursor:pointer;box-shadow:0 10px 25px rgba(169,53,50,.22)}
.primary-btn:hover,.whatsapp-btn:hover{background:var(--red-dark)}
.mini-note{margin-top:25px;font-size:12px;color:#83766f}.mini-note span{color:var(--red);font-size:18px}
.hero-art{position:relative;min-height:450px;display:grid;place-items:center}
.blob{position:absolute;width:75%;height:80%;border-radius:48% 52% 55% 45%;background:#f1ded0;transform:rotate(-9deg)}
.hero-art img{position:relative;width:min(430px,82%);height:500px;object-fit:cover;border-radius:210px 210px 30px 30px;box-shadow:var(--shadow)}
.floating-card{position:absolute;right:3%;bottom:35px;background:#fff;border-radius:16px;padding:14px 18px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow);font-size:12px}
.floating-card span{font-size:25px;color:var(--red)}.floating-card small{display:block;color:var(--muted);margin-top:4px}
.menu-section{padding:80px 8vw;background:#fff}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
h2{font-size:clamp(38px,5vw,60px);letter-spacing:-1.5px}
.section-heading>p{max-width:400px;color:var(--muted);line-height:1.7;font-size:14px}
.cake-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}
.cake-card{background:var(--cream);border-radius:18px;overflow:hidden;border:1px solid #f0e5d9;transition:.25s}
.cake-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.cake-img{height:250px;width:100%;object-fit:cover;display:block}
.cake-info{padding:17px}
.cake-info h3{font-family:"Playfair Display",serif;margin:0 0 7px;font-size:21px}
.cake-info p{font-size:12px;color:var(--muted);min-height:35px;margin:0 0 13px}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:5px}
.price{font-weight:700;color:var(--red);font-size:14px}
.add-btn{border:0;background:var(--red);color:#fff;border-radius:50%;width:34px;height:34px;font-size:20px;cursor:pointer}
.empty{text-align:center;color:var(--muted);padding:35px}
.about{padding:90px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--cream2)}
.about>p{font-size:17px;line-height:1.9;color:var(--muted);max-width:560px}
footer{padding:30px 8vw;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);background:#fff}
.cart-panel{display:none;position:fixed;inset:0;z-index:50}
.cart-panel.open{display:block}
.cart-overlay{position:absolute;inset:0;background:rgba(30,20,16,.35)}
.cart{position:absolute;right:0;top:0;height:100%;width:min(430px,100%);background:var(--cream);padding:35px;box-shadow:-15px 0 40px rgba(0,0,0,.12);display:flex;flex-direction:column}
.close{position:absolute;right:24px;top:19px;border:0;background:transparent;font-size:30px;cursor:pointer;color:var(--muted)}
.cart h2{font-size:44px;margin-bottom:25px}
#cartItems{overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eadfd5}
.cart-item img{width:62px;height:62px;object-fit:cover;border-radius:12px}
.cart-item h4{margin:0 0 4px;font-size:14px}.cart-item small{color:var(--muted)}
.qty{display:flex;align-items:center;gap:7px;margin-top:6px}
.qty button{border:1px solid #dfd1c6;background:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer}
.cart-footer{border-top:1px solid #e5d8cc;padding-top:20px}
.cart-footer>div{display:flex;justify-content:space-between;margin-bottom:15px}
.cart-footer strong{color:var(--red)}
.whatsapp-btn{width:100%;justify-content:space-between}
.cart-footer small{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:10px}
@media(max-width:1000px){.cake-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-art{min-height:420px}.section-heading{align-items:start;flex-direction:column}}
@media(max-width:650px){.navbar{padding:0 18px;height:68px}nav{display:none}.search-wrap input{width:105px}.hero{padding:55px 24px}.hero-art img{height:390px}.menu-section,.about{padding:60px 24px}.cake-grid{grid-template-columns:1fr}.cake-img{height:280px}.about{grid-template-columns:1fr;gap:25px}footer{padding:25px 24px;display:block}.hero h1{font-size:55px}.cart{padding:30px 22px}}
