
*{box-sizing:border-box;margin:0;padding:0;}
:root{--pink:#f4a7b9;--pink-light:#fce8ee;--pink-mid:#e8839a;--brown:#5c2d1e;--brown-light:#8b4a35;--gold:#c9a84c;--cream:#fdf6f0;}
body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--brown);}
.hero{background:var(--pink-light);padding:2.5rem 2rem 2rem;text-align:center;border-bottom:2px solid var(--pink);position:relative;overflow:hidden;}
.hero::before{content:'♥';position:absolute;font-size:200px;color:var(--pink);opacity:0.15;top:-40px;left:-20px;}
.hero::after{content:'♥';position:absolute;font-size:150px;color:var(--pink);opacity:0.1;bottom:-30px;right:10px;}
.hero-logo-img{width:380px;height:380px;object-fit:contain;display:block;margin:0 auto 1rem;position:relative;z-index:1;}
.hero-sub{font-size:0.85rem;letter-spacing:3px;text-transform:uppercase;color:var(--brown-light);margin:0 0 1.5rem;}
.hero-tag{display:inline-block;background:var(--brown);color:var(--pink-light);font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;padding:0.5rem 1.5rem;border-radius:30px;position:relative;z-index:1;}
.events-bar{display:flex;justify-content:center;flex-wrap:wrap;background:var(--brown);padding:0.8rem 1rem;}
.events-bar span{color:var(--pink-light);font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;padding:0 1rem;border-right:1px solid rgba(255,255,255,0.2);}
.events-bar span:last-child{border-right:none;}
.section{padding:2.5rem 1.5rem;max-width:700px;margin:0 auto;}
.section-label{font-size:0.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--pink-mid);margin-bottom:0.5rem;}
.section-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--brown);margin-bottom:1.5rem;}
.cakes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;}
.cake-card{background:white;border:1.5px solid var(--pink-light);border-radius:16px;padding:1.25rem;text-align:center;cursor:pointer;transition:border-color 0.2s,transform 0.15s;position:relative;}
.cake-card:hover{border-color:var(--pink-mid);transform:translateY(-2px);}
.cake-card.selected{border-color:var(--pink-mid);background:var(--pink-light);}
.cake-card .emoji{font-size:2rem;margin-bottom:0.5rem;}
.cake-card .name{font-family:'Playfair Display',serif;font-size:0.95rem;color:var(--brown);}
.cake-card .check{position:absolute;top:10px;right:10px;width:20px;height:20px;background:var(--pink-mid);border-radius:50%;display:none;align-items:center;justify-content:center;color:white;font-size:11px;}
.cake-card.selected .check{display:flex;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;}
.price-card{background:white;border:1.5px solid var(--pink-light);border-radius:16px;padding:1.25rem;text-align:center;cursor:pointer;transition:border-color 0.2s;}
.price-card:hover{border-color:var(--pink-mid);}
.price-card.active{border:2px solid var(--pink-mid);background:var(--pink-light);}
.price-card.featured{border:2px solid var(--gold);}
.badge{font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;background:var(--gold);color:white;padding:2px 8px;border-radius:10px;display:inline-block;margin-bottom:0.5rem;}
.tier{font-family:'Playfair Display',serif;font-size:1rem;color:var(--brown);margin-bottom:0.25rem;}
.amount{font-size:1.6rem;font-weight:700;color:var(--brown);}
.amount span{font-size:0.75rem;font-weight:400;color:var(--brown-light);}
.desc{font-size:0.75rem;color:var(--brown-light);margin-top:0.25rem;}
.icing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;}
.icing-btn{background:white;border:1.5px solid var(--pink-light);border-radius:12px;padding:0.75rem;text-align:center;cursor:pointer;font-size:0.85rem;color:var(--brown);transition:all 0.2s;}
.icing-btn:hover{border-color:var(--pink-mid);}
.icing-btn.selected{background:var(--brown);color:var(--pink-light);border-color:var(--brown);}
.toppings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0.6rem;}
.topping-btn{background:white;border:1.5px solid var(--pink-light);border-radius:10px;padding:0.5rem 0.75rem;font-size:0.78rem;color:var(--brown);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:6px;}
.topping-btn:hover{border-color:var(--pink-mid);}
.topping-btn.selected{background:var(--pink-light);border-color:var(--pink-mid);font-weight:700;}
.topping-dot{width:8px;height:8px;background:var(--pink-mid);border-radius:50%;flex-shrink:0;display:none;}
.topping-btn.selected .topping-dot{display:block;}
.summary-box{background:var(--brown);color:var(--pink-light);border-radius:20px;padding:1.75rem;margin-top:2rem;}
.summary-box h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:1rem;color:white;}
.summary-row{display:flex;justify-content:space-between;font-size:0.85rem;padding:0.4rem 0;border-bottom:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.85);}
.summary-row.total{border-bottom:none;font-size:1.1rem;font-weight:700;color:var(--pink);margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid rgba(255,255,255,0.2);}
.cta-btn{display:block;width:100%;margin-top:1.25rem;background:var(--pink-mid);color:white;border:none;border-radius:30px;padding:0.9rem;font-size:0.9rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:'Lato',sans-serif;font-weight:700;transition:background 0.2s;}
.cta-btn:hover{background:var(--brown-light);}
.info-row{display:flex;gap:1rem;flex-wrap:wrap;}
.info-card{flex:1;min-width:150px;background:white;border:1.5px solid var(--pink-light);border-radius:16px;padding:1.25rem;}
.info-card .icon{font-size:1.5rem;margin-bottom:0.5rem;}
.info-card .label{font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--pink-mid);margin-bottom:0.25rem;}
.info-card .value{font-family:'Playfair Display',serif;font-size:1rem;color:var(--brown);}
.footer{background:var(--brown);color:var(--pink-light);text-align:center;padding:2rem 1rem;}
.footer p{font-size:0.75rem;opacity:0.7;margin-top:0.5rem;letter-spacing:1px;}
.footer-logo{width:100px;height:100px;object-fit:contain;margin:0 auto 0.75rem;display:block;}
hr.fancy{border:none;border-top:1px solid var(--pink-light);margin:0;}
.note{font-size:0.78rem;color:var(--brown-light);margin-top:0.75rem;font-style:italic;}
.selected-count{font-size:0.75rem;color:var(--pink-mid);margin-top:0.5rem;}
