:root{--primary:#0ea5e9;--primary-dark:#0284c7;--secondary:#10b981;--accent:#f59e0b;--dark:#0f172a;--light:#f8fafc;--white:#fff;--glass-bg:#ffffffd9;--glass-border:#fff3;--font-sans:"Inter", sans-serif;--font-heading:"Plus Jakarta Sans", sans-serif;--max-width:1200px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-glow:0 0 20px #0ea5e966}*{box-sizing:border-box;word-break:break-word;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--light);color:var(--dark);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--dark);font-weight:700;line-height:1.2}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 #0ea5e9b3}70%{box-shadow:0 0 0 10px #0ea5e900}to{box-shadow:0 0 #0ea5e900}}.navbar{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);z-index:1000;justify-content:space-between;align-items:center;width:100%;padding:1rem 2rem;transition:all .3s;display:flex;position:fixed;top:0}.navbar .logo{font-family:var(--font-heading);color:var(--primary);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;text-decoration:none;display:flex}.brand-logo{border-radius:4px;width:auto;height:40px}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--dark);font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background-color:var(--primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--primary)}.nav-links a:hover:after{width:100%}.gallery-slide{flex:0 0 calc(40% - 1rem)}.btn{cursor:pointer;font-weight:600;font-family:var(--font-sans);white-space:nowrap;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.8rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--white);box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-2px)}.btn-outline{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:var(--white)}.hero{min-height:85vh;color:var(--white);text-align:center;background:linear-gradient(#0f172a66,#0f172a80),url(/hero-bg.png) bottom/cover no-repeat fixed;justify-content:center;align-items:center;padding:6rem 2rem 2rem;display:flex;position:relative}.hero-content{max-width:800px;animation:1s ease-out fadeInUp}.hero h1{color:var(--white);text-shadow:0 4px 10px #0000004d;margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1}.hero h1 span{color:var(--primary);background:linear-gradient(to right, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero p{color:#ffffffe6;margin-bottom:2.5rem;font-size:clamp(1.1rem,2vw,1.3rem)}.hero-actions{justify-content:center;gap:1rem;display:flex}.section{max-width:var(--max-width);margin:0 auto;padding:3.5rem 2rem}.service-row{box-shadow:var(--shadow-md);background:#fff;border:1px solid #0000000d;border-radius:20px;flex-direction:row;align-items:stretch;gap:2.5rem;padding:2.5rem;transition:transform .3s;display:flex;position:relative}.service-row:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.service-number{background:var(--primary);color:#fff;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;font-weight:700;display:flex;position:absolute;top:-15px;left:-15px;box-shadow:0 4px 10px #0ea5e966}.service-image{border-radius:15px;flex:0 0 300px;min-height:250px}.service-details{flex-direction:column;flex:1;display:flex}.about-grid{box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding:4rem;display:grid}.section-title{text-align:center;margin-bottom:2rem}.section-title h2{margin-bottom:.5rem;font-size:2.5rem}.section-title p{color:var(--secondary);font-size:1.1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.card{background:var(--white);box-shadow:var(--shadow-md);border:1px solid #0000000d;border-radius:16px;padding:2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(to right, var(--primary), var(--secondary));transform-origin:0;width:100%;height:4px;transition:transform .4s;position:absolute;top:0;left:0;transform:scaleX(0)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}.card:hover:before{transform:scaleX(1)}.card-icon{color:var(--primary);background:#0ea5e91a;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:1.5rem;font-size:2.5rem;transition:all .3s;display:flex}.card:hover .card-icon{background:var(--primary);color:var(--white);transform:scale(1.1)}.card h3{margin-bottom:1rem;font-size:1.5rem}.card p{color:#64748b;margin-bottom:1.5rem}.booking-page{background:var(--light);min-height:100vh;padding:8rem 2rem 4rem}.booking-container{background:var(--white);max-width:800px;box-shadow:var(--shadow-lg);border-radius:20px;margin:0 auto;padding:3rem}.booking-header{text-align:center;margin-bottom:3rem}.stepper{justify-content:space-between;margin-bottom:3rem;display:flex;position:relative}.stepper:before{content:"";z-index:1;background:#e2e8f0;width:100%;height:2px;position:absolute;top:20px;left:0}.step{z-index:2;color:#94a3b8;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:relative}.step.active{color:var(--primary)}.step.completed{color:var(--secondary)}.step-circle{background:var(--white);border:2px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;transition:all .3s;display:flex}.step.active .step-circle{border-color:var(--primary);background:var(--primary);color:var(--white);box-shadow:0 0 0 4px #0ea5e933}.step.completed .step-circle{border-color:var(--secondary);background:var(--secondary);color:var(--white)}.form-step{animation:.4s fadeInDown;display:none}.form-step.active{display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--dark);font-size:.9rem;font-weight:500}.input-group input,.input-group select,.input-group textarea{font-family:var(--font-sans);background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.8rem 1rem;transition:all .3s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--primary);background:var(--white);outline:none;box-shadow:0 0 0 3px #0ea5e91a}.form-actions{border-top:1px solid #e2e8f0;justify-content:space-between;margin-top:3rem;padding-top:2rem;display:flex}.map-container{z-index:10;border:1px solid #cbd5e1;border-radius:12px;height:300px;overflow:hidden}.file-upload{text-align:center;cursor:pointer;color:#64748b;border:2px dashed #cbd5e1;border-radius:8px;padding:2rem;position:relative}.file-upload:hover{border-color:var(--primary);background:#0ea5e90d}.file-upload input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.page-container{padding-top:70px}.page-header{text-align:center;color:#fff;background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;min-height:400px;margin-bottom:2rem;padding:4rem 2rem;display:flex}.page-header h1{color:#fff;margin-bottom:1rem;font-size:3rem}.page-header p{color:#fffc;font-size:1.2rem}.days-slider{-ms-overflow-style:none;scrollbar-width:none;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.days-slider::-webkit-scrollbar{display:none}.day-card{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex-direction:column;align-items:center;min-width:80px;padding:1rem;transition:all .2s;display:flex}.day-card:hover{border-color:var(--primary);background:#0ea5e90d}.day-card.selected{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 10px #0ea5e94d}.day-card .day-name{text-transform:uppercase;font-size:.9rem}.day-card .day-num{margin:.2rem 0;font-size:1.5rem;font-weight:700}.day-card .day-month{font-size:.8rem}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem;display:grid}.time-slot{text-align:center;cursor:pointer;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.8rem;font-weight:500;transition:all .2s;display:flex}.time-slot:hover:not(.booked){border-color:var(--primary);background:#0ea5e90d}.time-slot.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.time-slot.booked{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.time-slot .status{text-transform:uppercase;font-size:.7rem;font-weight:600}.admin-layout{background:#f1f5f9;height:100vh;display:flex;overflow:hidden}.admin-sidebar{color:#fff;background:#1e293b;flex-direction:column;flex-shrink:0;width:280px;display:flex}@media (width<=768px){.admin-layout{flex-direction:column;height:auto;min-height:100vh;overflow-y:visible}.admin-sidebar{width:100%;height:auto}.admin-nav{z-index:2000;background:#1e293b;flex-direction:column;width:280px;height:100vh;padding:0;transition:left .3s;display:flex;position:fixed;top:0;left:-300px;overflow-y:auto;box-shadow:4px 0 10px #00000080}.admin-nav.active{left:0}.admin-nav-header{display:flex!important}.admin-nav a{white-space:normal;padding:1rem 1.5rem}#adminMobileMenuBtn{color:#fff;font-size:1.5rem;display:block!important}.admin-main{flex:1;overflow-y:visible!important}.admin-header{flex-direction:column;gap:1rem;align-items:flex-start!important;padding:1rem 1.5rem!important}.admin-content,.admin-panel{padding:1.5rem!important}.admin-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-availability-grid,.admin-stats-grid,#servicesGrid,#offersGrid,#adminGalleryGrid,#customerGalleryGrid,.site-setup-grid{grid-template-columns:1fr!important}.admin-brand{padding:1rem 1.5rem!important}}.admin-brand{font-size:1.5rem;font-weight:700;font-family:var(--font-heading);color:var(--primary);border-bottom:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:1.5rem 2rem;display:flex}.admin-nav{flex-direction:column;flex:1;gap:.5rem;padding:2rem 0;display:flex;overflow-y:auto}.admin-nav a{color:#cbd5e1;border-left:4px solid #0000;align-items:center;gap:1rem;padding:1rem 2rem;text-decoration:none;transition:all .2s;display:flex}.admin-nav a:hover,.admin-nav a.active{color:#fff;border-left-color:var(--primary);background:#ffffff0d}.admin-main{flex-direction:column;flex:1;display:flex;overflow-y:auto}.admin-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem 3rem;display:flex}.admin-profile{align-items:center;gap:1rem;font-weight:500;display:flex}.admin-profile .avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.admin-content{padding:3rem}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.stat-card{box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-items:center;gap:1.5rem;padding:2rem;display:flex}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.8rem;display:flex}.stat-details h3{color:#64748b;margin-bottom:.5rem;font-size:.9rem}.stat-details p{color:var(--dark);font-size:1.8rem;font-weight:700}.admin-panel{box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:2rem}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:1.2rem 1rem;white-space:nowrap!important}.admin-table th{color:#475569;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:.85rem;font-weight:600}.badge{border-radius:50px;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.badge-pending{color:#d97706;background:#fef3c7}.badge-confirmed{color:#4f46e5;background:#e0e7ff}.badge-progress{color:#0284c7;background:#e0f2fe}.badge-completed{color:#059669;background:#d1fae5}.btn-icon{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.2rem}.btn-icon:hover{color:var(--dark)}.social-links a:hover{color:var(--primary)!important}.contact-info a:hover{transform:translateY(-3px);background:var(--primary)!important;color:#fff!important}.gallery-slide:hover img{transform:scale(1.05)}.gallery-slide:hover>div{opacity:1!important}.gallery-slide:hover>div h4{transform:translateY(0)!important}#galleryPrev:hover{background:var(--primary)!important;color:#fff!important}#galleryNext:hover{background:#0284c7!important}.footer{background:var(--dark);color:#94a3b8;margin-top:4rem;padding:5rem 2rem 2rem}.footer-grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin:0 auto 3rem;display:grid}.footer-col h3{color:var(--white);margin-bottom:1.5rem;font-size:1.2rem}.footer-col a{color:#94a3b8;margin-bottom:.8rem;text-decoration:none;transition:color .3s;display:block}.footer-col a:hover{color:var(--primary)}.footer-col p{margin-bottom:.8rem;line-height:1.6}.footer-col i{color:var(--primary);width:20px}.footer-bottom{max-width:var(--max-width);text-align:center;border-top:1px solid #ffffff1a;margin:0 auto;padding-top:2rem;font-size:.9rem}@media (width<=768px){#mobileMenuBtn{display:block!important}.navbar{z-index:1000;width:100%;padding:.8rem 1rem;position:fixed;top:0}.nav-links{width:100%;box-shadow:var(--shadow-md);background:#fff;flex-direction:column;gap:0;padding:1rem;display:none;position:absolute;top:70px;left:0}.nav-links.active{display:flex}.nav-links a{text-align:center;border-bottom:1px solid #f1f5f9;width:100%;padding:.8rem}.nav-links .btn{width:auto;margin:1rem auto!important}.hero{padding-top:8rem!important}body{font-size:.95rem}h1{font-size:2rem!important}h2{font-size:1.8rem!important}h3{font-size:1.2rem!important}.btn{padding:.6rem 1.2rem!important;font-size:.95rem!important}.hero p{margin-bottom:2rem!important;font-size:1rem!important}.hero-actions{flex-flow:wrap;gap:.5rem}.about-grid{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem}.page-header h1{font-size:2.2rem!important}.page-header p{font-size:1.1rem!important}.about-content h2{font-size:1.7rem!important}.about-content h3{font-size:1.1rem!important}.about-content p{font-size:.95rem!important}.service-card h3{font-size:1.5rem!important}.service-row{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem}.service-image{flex:0 0 150px;width:100%;height:150px;min-height:150px}.service-number{width:35px;height:35px;font-size:1rem;top:-10px;left:-10px}.service-details h3{font-size:1.2rem!important}.service-details p{margin-bottom:.5rem!important;font-size:.9rem!important}.service-details ul{font-size:.85rem;margin-bottom:1rem!important}.service-details .btn{padding:.4rem 1rem!important;font-size:.85rem!important}.page-container{padding-top:70px}.page-header{min-height:250px;padding-top:4rem!important;padding-bottom:3rem!important}.about-image{min-height:250px;height:300px!important}#map{max-width:100%;overflow:hidden}.gallery-slide{flex:0 0 100%}.brand-logo{height:35px!important}.navbar .logo>div>span:first-child{font-size:1.2rem!important}.desktop-only-text{display:none!important}.booking-page{padding:6rem 1rem 2rem!important}.booking-container{padding:1.5rem!important}.stepper{margin-bottom:2rem!important}.step span{font-size:.8rem}}.admin-availability-grid{grid-template-columns:1fr 300px;gap:2rem;display:grid}.calendar-widget{box-sizing:border-box;max-width:100%;padding:1.5rem}.calendar-cell{aspect-ratio:1;justify-content:center;align-items:center;min-width:0;font-size:1rem;transition:all .2s;display:flex;overflow:hidden}.calendar-cell:hover{box-shadow:var(--shadow-sm);filter:brightness(.95);transform:translateY(-2px)}@media (width<=768px){.admin-availability-grid{grid-template-columns:1fr;gap:1.5rem}}@media (width<=480px){.calendar-widget{padding:.75rem}.calendar-cell{font-size:.85rem;padding:0!important}}.floating-contact-bar{z-index:1000;opacity:0;pointer-events:none;flex-direction:column;gap:0;transition:opacity .4s,transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;right:0;transform:translate(100%,-50%)}.floating-contact-bar.scrolled{opacity:1;pointer-events:auto;transform:translateY(-50%)}.float-icon{background:var(--primary);color:#fff;box-sizing:border-box;border-radius:8px 0 0 8px;justify-content:flex-start;align-items:center;width:50px;height:50px;margin-bottom:5px;padding-left:15px;font-size:1.2rem;text-decoration:none;transition:width .3s cubic-bezier(.4,0,.2,1),background .3s;display:flex;position:relative;overflow:hidden;box-shadow:-2px 2px 10px #00000026}.float-icon i{text-align:center;min-width:25px}.float-text{white-space:nowrap;opacity:0;margin-left:10px;font-size:.9rem;font-weight:600;transition:opacity .3s}.float-icon:hover{color:#fff;width:140px}.float-icon:hover .float-text{opacity:1}.float-icon.whatsapp{background:#25d366}.float-icon.whatsapp:hover{background:#1ebd5a}.float-icon.email{background:#ef4444}.float-icon.email:hover{background:#dc2626}@media (width<=768px){.floating-contact-bar{gap:0;top:60%;transform:translate(100%,-50%)}.floating-contact-bar.scrolled{transform:translateY(-50%)}.float-icon{border-radius:8px 0 0 8px;justify-content:center;width:38px;height:38px;padding-left:0;font-size:1rem;box-shadow:-2px 2px 8px #0003}.float-icon:hover{width:38px}.float-text{display:none}.float-icon i{min-width:auto}}.admin-bookings-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.booking-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.booking-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.booking-card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.booking-card-header .booking-id{color:#0f172a;font-size:.95rem;font-weight:700}.booking-card-header .booking-date{color:#64748b;font-size:.8rem;font-weight:500}.booking-card-body{flex:1;padding:1.25rem}.booking-card-customer{margin-bottom:1rem}.booking-card-customer h4{color:#0f172a;margin:0 0 .25rem;font-size:1.1rem}.booking-card-contact{color:#475569;gap:1rem;font-size:.85rem;display:flex}.booking-card-service{background:#f1f5f9;border-radius:8px;margin-bottom:1rem;padding:.75rem}.booking-card-service .service-name{color:#0f172a;margin-bottom:.25rem;font-size:.95rem;font-weight:600}.booking-card-location{color:#475569;align-items:flex-start;gap:.5rem;font-size:.85rem;line-height:1.4;display:flex}.booking-card-location i{color:#ef4444;margin-top:.2rem}.booking-card-footer{background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem;display:flex}.booking-card-footer select{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:.5rem;font-size:.85rem;font-weight:500}.booking-card-actions{gap:.5rem;display:flex}.booking-card-actions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.booking-card-actions button:hover{color:#0f172a;background:#f1f5f9}.booking-card-actions button.btn-delete:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca}.booking-details-modal{width:95%;max-width:900px}.booking-details-content{grid-template-columns:1fr 1fr;gap:2rem;padding:1.5rem;display:grid}@media (width<=768px){.booking-details-content{grid-template-columns:1fr}}.detail-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;padding:1.25rem}.detail-section h3{color:#0f172a;border-bottom:1px solid #e2e8f0;align-items:center;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;display:flex}.detail-row{margin-bottom:.75rem;font-size:.95rem;display:flex}.detail-label{color:#475569;flex-shrink:0;width:120px;font-weight:600}.detail-value{color:#0f172a;font-weight:500}.detail-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem;display:grid}.detail-gallery-img{aspect-ratio:1;object-fit:cover;cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;width:100%;transition:transform .2s}.detail-gallery-img:hover{transform:scale(1.05)}.booking-details-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.booking-details-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}
