:root{--color-primary: #b76ea0;--color-purple: #8e6aad;--color-purple-dark: #5c3d6e;--color-pink-light: #fdf0f5;--color-lavender-light: #f3eef8;--color-gold: #d4a853;--color-gold-light: #fdf6e3;--color-gold-dark: #9a7630;--color-text: #3d2e4a;--color-text-light: #6b5a7a;--color-bg: #faf8fc;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3}p{margin:0}img{max-width:100%;display:block}.section-container{max-width:1200px;margin:0 auto}.section-container h2{font-family:var(--font-heading);color:var(--color-primary);font-size:2rem;text-align:center;margin-bottom:.5rem}.btn{display:inline-block;padding:.75rem 1.75rem;border-radius:30px;font-size:1rem;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .2s;text-align:center}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-purple);border-color:var(--color-purple)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-lg{padding:1rem 2.5rem;font-size:1.1rem}html{scroll-behavior:smooth}.navbar{background:#fff;box-shadow:0 2px 10px #00000014;position:sticky;top:0;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:70px}.navbar-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-primary);font-family:var(--font-heading);font-size:1.3rem;font-weight:700}.logo-butterfly{font-size:1.6rem}.nav-links{display:flex;list-style:none;gap:.5rem;margin:0;padding:0}.nav-links a{text-decoration:none;color:var(--color-text);padding:.5rem 1rem;border-radius:8px;font-weight:500;transition:background .2s,color .2s}.nav-links a:hover{background:var(--color-pink-light);color:var(--color-primary)}.nav-links a.active{background:var(--color-primary);color:#fff}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger span{display:block;width:25px;height:3px;background:var(--color-primary);border-radius:3px;transition:transform .3s,opacity .3s}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}@media(max-width:768px){.hamburger{display:flex}.nav-links{position:fixed;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:1rem;box-shadow:0 4px 10px #0000001a;transform:translateY(-120%);transition:transform .3s ease}.nav-links.open{transform:translateY(0)}.nav-links a{display:block;padding:.75rem 1rem;font-size:1.1rem}}.footer{background:var(--color-purple-dark);color:#fff;padding:3rem 1.5rem 1rem;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.footer-section h3{font-family:var(--font-heading);font-size:1.3rem;margin-bottom:.75rem}.footer-section h4{font-size:1.1rem;margin-bottom:.75rem;color:var(--color-gold)}.footer-section p{color:#ffffffd9;line-height:1.6;margin-bottom:.25rem}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.4rem}.footer-section ul a{color:#ffffffd9;text-decoration:none;transition:color .2s}.footer-section ul a:hover{color:var(--color-gold)}.social-links{display:flex;gap:1rem;margin-top:.75rem}.social-links a{color:#fff;text-decoration:none;padding:.4rem .8rem;background:#ffffff26;border-radius:6px;font-size:.85rem;transition:background .2s}.social-links a:hover{background:#ffffff4d}.footer-bottom{max-width:1200px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);text-align:center}.footer-bottom p{color:#fff9;font-size:.9rem}.cake-card-link{text-decoration:none;color:inherit}.cake-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #00000014;transition:transform .3s,box-shadow .3s}.cake-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.cake-card-image{width:100%;height:220px;overflow:hidden;background:var(--color-pink-light);display:flex;align-items:center;justify-content:center}.cake-card-image img{width:100%;height:100%;object-fit:cover}.cake-card-info{padding:1.25rem}.cake-card-info h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.5rem;font-size:1.15rem}.cake-card-info p{color:var(--color-text-light);font-size:.95rem;line-height:1.5;margin-bottom:.75rem}.cake-card-price{display:inline-block;background:var(--color-gold-light);color:var(--color-gold-dark);padding:.3rem .75rem;border-radius:20px;font-weight:600;font-size:.9rem}.hero{background:linear-gradient(135deg,var(--color-pink-light) 0%,var(--color-lavender-light) 50%,white 100%);padding:5rem 1.5rem 4rem;text-align:center;position:relative;overflow:hidden}.hero-content{max-width:700px;margin:0 auto;position:relative;z-index:1}.hero-butterfly{font-size:3rem;margin-bottom:1rem}.hero h1{font-family:var(--font-heading);font-size:3rem;color:var(--color-primary);margin-bottom:.5rem}.hero-tagline{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-purple);margin-bottom:1rem;font-style:italic}.hero-subtitle{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem;line-height:1.6}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-decoration{position:absolute;inset:0;pointer-events:none}.floating-butterfly{position:absolute;font-size:2rem;opacity:.3;animation:float 6s ease-in-out infinite}.b1{top:15%;left:10%;animation-delay:0s}.b2{top:30%;right:12%;animation-delay:2s}.b3{bottom:20%;left:20%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.home-about{padding:4rem 1.5rem;text-align:center}.home-about p{max-width:650px;margin:0 auto 1rem;font-size:1.1rem;line-height:1.7;color:var(--color-text-light)}.text-link{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s}.text-link:hover{color:var(--color-purple)}.home-featured{padding:4rem 1.5rem;background:var(--color-bg)}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.home-cta{padding:4rem 1.5rem;text-align:center;background:linear-gradient(135deg,var(--color-lavender-light),var(--color-pink-light))}.home-cta p{font-size:1.15rem;color:var(--color-text-light);margin-bottom:1.5rem}@media(max-width:600px){.hero h1{font-size:2rem}.hero-tagline{font-size:1.1rem}}.menu-page .page-header{background:linear-gradient(135deg,var(--color-pink-light),var(--color-lavender-light));padding:3rem 1.5rem;text-align:center}.menu-page .page-header h1{font-family:var(--font-heading);color:var(--color-primary);font-size:2.5rem;margin-bottom:.5rem}.menu-page .page-header p{color:var(--color-text-light);font-size:1.1rem}.menu-categories{padding:3rem 1.5rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.category-card{background:#fff;border:2px solid var(--color-pink-light);border-radius:16px;padding:0;cursor:pointer;text-align:left;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;font-family:inherit}.category-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a;border-color:var(--color-primary)}.category-image{width:100%;height:180px;background:var(--color-pink-light);display:flex;align-items:center;justify-content:center;overflow:hidden}.category-image img{width:100%;height:100%;object-fit:cover}.category-card h3{font-family:var(--font-heading);color:var(--color-primary);padding:1rem 1.25rem 0;font-size:1.2rem}.category-card p{padding:.5rem 1.25rem;color:var(--color-text-light);font-size:.95rem;line-height:1.5}.category-price{display:inline-block;margin:0 1.25rem 1.25rem;background:var(--color-gold-light);color:var(--color-gold-dark);padding:.3rem .75rem;border-radius:20px;font-weight:600;font-size:.9rem}.menu-detail{padding:2rem 1.5rem 4rem}.back-btn{background:none;border:none;color:var(--color-primary);font-size:1rem;cursor:pointer;font-weight:600;padding:.5rem 0;margin-bottom:1rem;font-family:inherit}.back-btn:hover{color:var(--color-purple)}.menu-detail h2{font-family:var(--font-heading);color:var(--color-primary);font-size:2rem;margin-bottom:.5rem}.detail-description{color:var(--color-text-light);font-size:1.05rem;margin-bottom:2rem}.items-list{display:flex;flex-direction:column;gap:1rem}.menu-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.menu-item-info h4{color:var(--color-text);margin-bottom:.25rem}.servings{color:var(--color-text-light);font-size:.9rem}.menu-item-price{font-weight:700;color:var(--color-primary);font-size:1.1rem;white-space:nowrap}.menu-cta{margin-top:2rem;text-align:center}.order-page .page-header{background:linear-gradient(135deg,var(--color-pink-light),var(--color-lavender-light));padding:3rem 1.5rem;text-align:center}.order-page .page-header h1{font-family:var(--font-heading);color:var(--color-primary);font-size:2.5rem;margin-bottom:.5rem}.order-page .page-header p{color:var(--color-text-light);font-size:1.1rem}.order-form{max-width:700px;margin:0 auto;padding:2rem 0 4rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:var(--color-text);margin-bottom:.4rem;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #e0d6e8;border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #b76ea026}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.order-form .btn{width:100%;margin-top:.5rem}.order-success{text-align:center;padding:4rem 1.5rem}.success-icon{font-size:4rem;margin-bottom:1rem}.order-success h2{font-family:var(--font-heading);color:var(--color-primary);font-size:2rem;margin-bottom:1rem}.order-success p{color:var(--color-text-light);font-size:1.1rem;line-height:1.6;max-width:500px;margin:0 auto 2rem}.about-page .page-header{background:linear-gradient(135deg,var(--color-pink-light),var(--color-lavender-light));padding:3rem 1.5rem;text-align:center}.about-page .page-header h1{font-family:var(--font-heading);color:var(--color-primary);font-size:2.5rem;margin-bottom:.5rem}.about-page .page-header p{color:var(--color-text-light);font-size:1.1rem}.about-content{padding:4rem 1.5rem}.about-grid{display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:start}.photo-placeholder{width:100%;aspect-ratio:3 / 4;background:linear-gradient(135deg,var(--color-pink-light),var(--color-lavender-light));border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.photo-placeholder span{font-size:4rem}.photo-placeholder p{font-family:var(--font-heading);color:var(--color-primary);font-size:1.2rem}.about-text h2{font-family:var(--font-heading);color:var(--color-primary);font-size:2rem;margin-bottom:1rem}.about-text p{color:var(--color-text-light);line-height:1.8;margin-bottom:1rem;font-size:1.05rem}.about-values{padding:4rem 1.5rem;background:var(--color-bg);text-align:center}.about-values h2{font-family:var(--font-heading);color:var(--color-primary);font-size:2rem;margin-bottom:2rem}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.value-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #0000000f}.value-icon{font-size:2.5rem;margin-bottom:1rem}.value-card h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.5rem}.value-card p{color:var(--color-text-light);line-height:1.6}.about-cta{padding:4rem 1.5rem;text-align:center}.about-cta h2{font-family:var(--font-heading);color:var(--color-primary);font-size:1.8rem;margin-bottom:1.5rem}@media(max-width:768px){.about-grid{grid-template-columns:1fr}.photo-placeholder{max-width:280px;margin:0 auto}}.contact-page .page-header{background:linear-gradient(135deg,var(--color-pink-light),var(--color-lavender-light));padding:3rem 1.5rem;text-align:center}.contact-page .page-header h1{font-family:var(--font-heading);color:var(--color-primary);font-size:2.5rem;margin-bottom:.5rem}.contact-page .page-header p{color:var(--color-text-light);font-size:1.1rem}.contact-content{padding:4rem 1.5rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info h2,.contact-form-wrapper h2{font-family:var(--font-heading);color:var(--color-primary);font-size:1.8rem;margin-bottom:1.5rem}.info-item{margin-bottom:1.5rem}.info-item h3{color:var(--color-text);font-size:1rem;margin-bottom:.4rem}.info-item p{color:var(--color-text-light);line-height:1.6}.contact-social{display:flex;gap:.75rem;margin-top:.5rem}.contact-social a{color:#fff;text-decoration:none;padding:.4rem .8rem;background:var(--color-primary);border-radius:6px;font-size:.85rem;transition:background .2s}.contact-social a:hover{background:var(--color-purple)}.contact-form .form-group{margin-bottom:1.25rem}.contact-form .form-group label{display:block;font-weight:600;color:var(--color-text);margin-bottom:.4rem;font-size:.95rem}.contact-form .form-group input,.contact-form .form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #e0d6e8;border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #b76ea026}.contact-form .form-group textarea{resize:vertical}.contact-form .btn{width:100%}.contact-success{text-align:center;padding:2rem 0}.contact-success .success-icon{font-size:3rem;margin-bottom:1rem}.contact-success p{color:var(--color-text-light);line-height:1.6;margin-bottom:1.5rem}@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
