@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;600;800&display=swap";
:root{--background:#fdfaf6;--surface:#fff;--surface-hover:#f0f4ea;--primary:#758c56;--primary-hover:#5d7143;--text-main:#2c3622;--text-muted:#5c6e4b;--border:#dbe4d3;--accent:#d88b75}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Be Vietnam Pro,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s ease-out forwards fadeIn}@keyframes pulse{0%{transform:translateY(-50%)scale(1)}50%{transform:translateY(-50%)scale(1.03);box-shadow:10px 0 30px #d88b7580}to{transform:translateY(-50%)scale(1)}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.promo-banner{background-color:var(--primary);color:#fff;text-align:center;z-index:1000;cursor:pointer;white-space:nowrap;padding:.75rem 1rem;font-size:1rem;font-weight:600;position:sticky;top:0;overflow:hidden}.promo-marquee{padding-left:100%;animation:35s linear infinite marquee;display:inline-block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.btn{background:var(--primary);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:999px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 15px #758c564d}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-main);margin-bottom:.5rem;font-weight:600;display:block}.form-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text-main);border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.form-input:focus{border-color:var(--primary);outline:none}.hero{text-align:center;justify-content:center;align-items:center;min-height:50vh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:radial-gradient(circle at 100% 0,#758c5626 0%,#0000 60%);position:absolute;inset:0}.hero-title{color:var(--primary-hover);margin-bottom:1rem;font-size:4rem;font-weight:800}.hero-subtitle{color:var(--text-muted);max-width:600px;margin:0 auto 2rem;font-size:1.25rem;font-style:italic}.section{padding:5rem 0}.section-title{text-align:center;color:var(--primary-hover);margin-bottom:3rem;font-size:2.5rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.service-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;padding:2.5rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #00000008}.service-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #758c5626}.service-icon{color:var(--primary);margin-bottom:1rem;font-size:3rem}.service-title{color:var(--primary-hover);margin-bottom:1rem;font-size:1.5rem}.service-desc{color:var(--text-muted);margin-bottom:1rem}.booking-container{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:600px;margin:0 auto;padding:3rem;box-shadow:0 10px 40px #0000000d}.toast{text-align:center;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-weight:600}.toast-success{color:var(--primary-hover);background:#758c5633;border:1px solid #758c564d}.toast-error{color:#e74c3c;background:#fdeaea;border:1px solid #fad2d2}.admin-container{background:var(--surface);border-radius:12px;max-width:500px;margin:100px auto;padding:2rem;box-shadow:0 5px 20px #0000001a}.floating-booking{z-index:999;flex-direction:column;gap:10px;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.btn-floating{background:var(--accent);color:#fff;writing-mode:vertical-rl;text-orientation:mixed;cursor:pointer;border:none;border-radius:0 16px 16px 0;justify-content:center;align-items:center;padding:2rem .75rem;font-size:1.25rem;font-weight:800;transition:all .3s;animation:2.5s ease-in-out infinite pulse;display:flex;box-shadow:6px 0 20px #d88b7566}.social-links-float{flex-direction:column;gap:8px;padding-left:5px;display:flex}.social-icon-float{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;padding:0;text-decoration:none;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 6px 15px #00000026}.social-icon-float svg{width:100%;height:100%;display:block}.social-icon-float:hover{background:var(--surface-hover);transform:scale(1.1)}.promo-services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.promo-card{border:2px dashed var(--accent);background:#fff5f2;border-radius:20px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.promo-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #d88b7533}.promo-image{object-fit:cover;width:100%;height:200px}.promo-content{text-align:center;padding:1.5rem}.promo-card-title{color:var(--accent);margin-bottom:.5rem;font-size:1.4rem}.services-layout{gap:2rem;min-height:400px;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.services-list{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;scroll-snap-type:x mandatory;flex:1;gap:1.5rem;padding:1rem 0;transition:all .5s;display:flex;overflow-x:auto}.services-list::-webkit-scrollbar{display:none}.service-card{scroll-snap-align:center;cursor:pointer;flex-direction:column;flex-shrink:0;min-width:280px;max-width:350px;height:100%;display:flex}.carousel-nav{border:1px solid var(--border);cursor:pointer;z-index:10;width:45px;height:45px;color:var(--primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 15px #0000001a}.carousel-nav:hover{background:var(--primary);color:#fff;transform:translateY(-50%)scale(1.1)}.carousel-nav.prev{left:-22px}.carousel-nav.next{right:-22px}.service-selected .services-list{grid-template-columns:1fr;max-width:280px;height:auto;min-height:400px;display:grid;overflow:hidden auto}.service-selected .service-card{scroll-snap-align:none;min-width:100%}.service-card.active{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.02)}.service-card.active .service-title,.service-card.active .service-icon{color:#fff}.service-menu-detail{text-align:center;border:1px solid var(--border);background:#fff;border-radius:24px;flex:2;padding:3rem;box-shadow:0 20px 50px #00000014}.menu-image{border:1px solid #eee;border-radius:12px;max-width:100%;margin:1.5rem 0;box-shadow:0 10px 30px #0000001a}.animate-slide-in-right{animation:.6s ease-out slideInRight}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.booking-gallery-container{max-width:1000px;margin:0 auto}.carousel-wrapper{border-radius:24px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000026}.gallery-image{object-fit:cover;width:100%;height:400px;transition:opacity .5s;display:block}.carousel-dots{justify-content:center;gap:8px;margin-top:1.5rem;display:flex}.dot{cursor:pointer;background:#cbd5e1;border-radius:50%;width:10px;height:10px;transition:all .3s}.dot.active{background:var(--primary);border-radius:10px;width:24px}.btn-secondary{color:var(--text-muted);border:1px solid var(--border);background:0 0;margin-top:1rem}.btn-secondary:hover{color:var(--text-main);background:#f1f5f9}@media (max-width:992px){.service-selected .services-list{max-width:200px}}@media (max-width:768px){.hero-title{font-size:2.5rem}.services-layout{flex-direction:column}.service-selected .services-list{gap:1rem;max-width:100%;min-height:auto;padding:.5rem;display:flex;overflow-x:auto}.service-selected .service-card{min-width:180px;padding:1.5rem}.gallery-image{height:400px}.service-menu-detail{padding:1.5rem}.btn-floating{border-radius:0 10px 10px 0;padding:1.2rem .5rem;font-size:.9rem}.social-icon-float{width:42px;height:42px}.floating-booking{gap:6px}}
