@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Noto+Serif+Malayalam:wght@400;600;700&family=Lato:wght@300;400;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold:#c4a8c8;--gold-light:#d4bed8;--gold-dark:#9b7fa0;--cream:#f0ede4;--cream-dark:#e4dfd4;--green:#734f96;--green-light:#8a5fb0;--green-pale:#ede8f5;--teal:#b8d0d4;--teal-dark:#7aabb2;--teal-pale:#ebf4f5;--brown:#5c3a1e;--brown-light:#8b5e3c;--white:#fff;--text-dark:#1a1a1a;--text-mid:#4a4a4a;--text-light:#888;--red:#c0392b;--red-light:#fdecea;--available:#27ae60;--available-light:#eafaf1;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 8px 32px #0000001f;--shadow-lg:0 20px 60px #0000002e;--radius:12px;--radius-sm:6px;--transition:.3s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth;background:#2e1555;overflow-x:hidden}body{background:var(--cream);color:var(--text-dark);font-family:Lato,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:Playfair Display,serif}.malayalam{font-family:Noto Serif Malayalam,serif}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;font-family:Lato,sans-serif;font-size:.75rem;font-weight:700;display:block}.section-title{color:var(--green);font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.2}.divider{background:linear-gradient(90deg, var(--gold), var(--gold-light));border-radius:2px;width:60px;height:3px;margin:1rem 0 2rem}button{cursor:pointer;border:none;font-family:Lato,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}.navbar{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:var(--transition);background:#734f96f2;border-bottom:1px solid #734f964d;position:fixed;top:0;left:0;right:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;height:70px;margin:0 auto;padding:0 2rem;display:flex}.navbar-brand{align-items:center;gap:.75rem;display:flex}.navbar-logo{background:var(--gold);width:44px;height:44px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;display:flex}.navbar-name{color:var(--white);font-family:Playfair Display,serif;font-size:1.25rem;line-height:1.1}.navbar-name small{color:var(--gold-light);letter-spacing:.12em;font-family:Lato,sans-serif;font-size:.65rem;font-weight:300;display:block}.navbar-links{align-items:center;gap:2rem;list-style:none;display:flex}.navbar-links a{color:#ffffffd9;letter-spacing:.04em;transition:color var(--transition);font-size:.88rem;font-weight:400;position:relative}.navbar-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width var(--transition);position:absolute;bottom:-3px;left:0}.navbar-links a:hover{color:var(--gold-light)}.navbar-links a:hover:after{width:100%}.navbar-cta{background:var(--gold);border-radius:30px;padding:.5rem 1.2rem;color:var(--green)!important;transition:background var(--transition)!important;font-weight:700!important}.navbar-cta:hover{background:var(--gold-light)!important}.navbar-cta:after{display:none!important}.navbar-hamburger{background:0 0;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-hamburger span{background:var(--white);width:24px;height:2px;transition:var(--transition);border-radius:2px;display:block}@media (width<=768px){.navbar-links{display:none}.navbar-hamburger{display:flex}}.navbar-mobile-menu{background:var(--green);border-top:1px solid #734f9633;flex-direction:column;padding:.5rem 0;display:flex}.navbar-mobile-link{color:#ffffffd9;transition:background var(--transition), color var(--transition);border-bottom:1px solid #ffffff0d;padding:.85rem 2rem;font-size:.95rem}.navbar-mobile-link:hover{color:var(--gold-light);background:#ffffff0f}.navbar-mobile-cta{background:var(--gold);color:var(--green);text-align:center;transition:background var(--transition);border-radius:30px;margin:1rem 2rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:700}.navbar-mobile-cta:hover{background:var(--gold-light)}.hero{background:linear-gradient(135deg, var(--green) 0%, #4e2b7a 50%, #2e1555 100%);justify-content:center;align-items:center;min-height:100vh;padding:100px 2rem 3rem;display:flex;position:relative;overflow:hidden}.hero-pattern{background-image:radial-gradient(circle at 20%,#734f9614 0%,#0000 50%),radial-gradient(circle at 80% 20%,#734f960f 0%,#0000 40%),radial-gradient(circle at 60% 80%,#734f960d 0%,#0000 30%);position:absolute;inset:0}.hero-ornament{border:1px solid #734f9626;border-radius:50%;animation:6s ease-in-out infinite pulse-slow;position:absolute}.hero-ornament-1{width:500px;height:500px;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-ornament-2{width:700px;height:700px;animation-delay:1.5s;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-slow{0%,to{opacity:.4;transform:translate(-50%,-50%)scale(1)}50%{opacity:.8;transform:translate(-50%,-50%)scale(1.03)}}.hero-content{z-index:2;text-align:center;max-width:800px;position:relative}.hero-badge{color:var(--gold-light);letter-spacing:.15em;text-transform:uppercase;background:#734f9626;border:1px solid #734f9666;border-radius:30px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem 1.2rem;font-size:.78rem;font-weight:700;animation:.8s forwards fadeInDown;display:inline-flex}.hero-title{color:var(--white);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(3rem,8vw,5.5rem);line-height:1.05;animation:.8s .2s both fadeInUp}.hero-title .gold{color:#c41e1e}.hero-title .italic{font-style:italic}.hero-subtitle{color:#ffffffb3;margin-bottom:2rem;font-family:Noto Serif Malayalam,serif;font-size:clamp(1rem,2.5vw,1.3rem);animation:.8s .4s both fadeInUp}.hero-caption{border-radius:var(--radius);color:#ffffffe0;text-align:center;background:#734f961a;border:1px solid #734f9640;max-width:620px;margin:2rem auto;padding:1.5rem 2rem;font-family:Noto Serif Malayalam,serif;font-size:1rem;line-height:1.9;animation:.8s .5s both fadeInUp}.hero-caption .caption-text{text-align:justify;text-align-last:center;display:block}.hero-caption .caption-divider{background:#734f9666;width:40px;height:1px;margin:1rem auto 0}.hero-caption .phone{color:var(--gold);letter-spacing:.06em;justify-content:center;align-items:center;gap:.45rem;margin:1rem 0 .4rem;font-size:1.4rem;font-weight:700;text-decoration:none;display:flex}.hero-caption .coordinator{color:#fff9;text-align:center;font-size:.88rem;line-height:1.6;display:block}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;animation:.8s .6s both fadeInUp;display:flex}.btn-primary{background:var(--gold);color:var(--green);letter-spacing:.04em;transition:all var(--transition);border-radius:50px;padding:.9rem 2.2rem;font-size:.95rem;font-weight:700;box-shadow:0 4px 20px #734f9666}.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 30px #734f9680}.btn-outline{color:var(--white);letter-spacing:.04em;transition:all var(--transition);background:0 0;border:1.5px solid #fff6;border-radius:50px;padding:.9rem 2.2rem;font-size:.95rem;font-weight:700}.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{padding:5rem 2rem}.container{max-width:1200px;margin:0 auto}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:2rem}}.about-image-stack{height:480px;position:relative}.about-img-main{object-fit:cover;border-radius:var(--radius);width:75%;height:85%;box-shadow:var(--shadow-lg);position:absolute;top:0;left:0}.about-img-accent{object-fit:cover;border-radius:var(--radius);width:55%;height:55%;box-shadow:var(--shadow-md);border:4px solid var(--cream);position:absolute;bottom:0;right:0}.about-badge{background:var(--green);color:var(--white);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-md);padding:1rem 1.2rem;position:absolute;top:30px;right:10px}.about-badge .num{color:var(--gold);font-family:Playfair Display,serif;font-size:2rem;font-weight:700;line-height:1;display:block}.about-badge .lbl{letter-spacing:.08em;opacity:.85;font-size:.72rem}.about-text p{color:var(--text-mid);margin-bottom:1rem;font-size:1.05rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.service-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--cream-dark);transition:all var(--transition);padding:2rem;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, var(--gold), var(--gold-light));height:3px;transition:transform var(--transition);transform-origin:0;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.service-card:hover:before{transform:scaleX(1)}.service-icon{background:var(--teal-pale);width:56px;height:56px;transition:background var(--transition);border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.2rem;display:flex}.service-card h3{color:var(--green);margin-bottom:.5rem;font-size:1.2rem}.service-card p{color:var(--text-mid);font-size:.92rem}.gallery-section{background:var(--green);padding:5rem 2rem}.gallery-section .section-title{color:var(--white)}.gallery-section .section-label{color:var(--gold-light)}.gallery-section .divider{background:linear-gradient(90deg, var(--gold-light), var(--gold))}.gallery-grid{grid-template-rows:auto auto;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;display:grid}.gallery-grid .gallery-item:first-child{grid-area:1/1/2/3}.gallery-item{border-radius:var(--radius);cursor:pointer;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:280px;transition:transform .5s}.gallery-grid .gallery-item:first-child img{height:360px}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{opacity:0;transition:opacity var(--transition);background:linear-gradient(#0000 40%,#0009 100%);align-items:flex-end;padding:1.2rem;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span,.gallery-label{color:var(--white);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:600}@media (width<=768px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .gallery-item:first-child{grid-column:1/3}}.slots-section{background:var(--cream-dark);padding:5rem 2rem}.slots-legend{flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;display:flex}.legend-dot{color:var(--text-mid);align-items:center;gap:.5rem;font-size:.88rem;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot.booked{background:var(--red)}.dot.available{background:var(--available)}.months-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.month-tab{background:var(--white);color:var(--text-mid);border:1.5px solid var(--cream-dark);transition:all var(--transition);border-radius:30px;padding:.5rem 1.2rem;font-size:.88rem;font-weight:600}.month-tab.active,.month-tab:hover{background:var(--green);color:var(--white);border-color:var(--green)}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1rem;display:grid}.slot-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all var(--transition);box-sizing:border-box;border-left:4px solid #0000;align-items:center;gap:1rem;max-width:100%;padding:1.2rem 1.5rem;display:flex;overflow:hidden}.slot-card.booked{border-left-color:var(--red);background:var(--red-light)}.slot-card.available{border-left-color:var(--available)}.slot-card:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.slot-date{background:var(--green);min-width:56px;height:56px;color:var(--white);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex}.slot-card.booked .slot-date{background:var(--red)}.slot-date .day{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;line-height:1}.slot-date .mon{text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-size:.65rem}.slot-info{flex:1;min-width:0}.slot-info .venue{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-family:Noto Serif Malayalam,serif;font-size:.95rem;font-weight:700;overflow:hidden}.slot-info .time{color:var(--text-light);align-items:center;gap:.3rem;margin-top:3px;font-size:.82rem;display:flex}.slot-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:20px;flex-shrink:0;align-self:center;padding:.25rem .75rem;font-size:.72rem;font-weight:700}.slot-badge.booked{color:var(--red);background:#c0392b26}.slot-badge.available{color:var(--available);background:#27ae601f}.contact-section{background:var(--white);padding:5rem 2rem}.contact-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:4rem;display:grid}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:2rem}}.contact-info-card{background:var(--green);border-radius:var(--radius);color:var(--white);padding:2.5rem}.contact-info-card h3{color:var(--gold);margin-bottom:.5rem;font-size:1.5rem}.contact-info-card .subtitle{color:#ffffffb3;margin-bottom:2rem;font-family:Noto Serif Malayalam,serif;font-size:.9rem}.contact-item{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.contact-icon{background:#734f9633;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.contact-item-text .label{color:var(--gold-light);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.contact-item-text .value{color:var(--white);font-family:Noto Serif Malayalam,serif;font-size:1.05rem;font-weight:600}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-mid);letter-spacing:.03em;font-size:.85rem;font-weight:700}.form-group input,.form-group textarea,.form-group select{border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);color:var(--text-dark);background:var(--cream);transition:border-color var(--transition);outline:none;padding:.85rem 1rem;font-family:Lato,sans-serif;font-size:.95rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold);background:var(--white)}.form-group textarea{resize:vertical;min-height:120px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.submit-btn{background:var(--green);color:var(--white);border-radius:var(--radius-sm);letter-spacing:.04em;transition:all var(--transition);margin-top:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:700}.submit-btn:hover{background:var(--green-light);transform:translateY(-2px);box-shadow:0 6px 20px #734f964d}.admin-panel{z-index:2000;display:flex;position:fixed;inset:0}.admin-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.admin-drawer{z-index:1;background:var(--white);flex-direction:column;width:480px;max-width:95vw;height:100%;margin-left:auto;animation:.3s slideInRight;display:flex;position:relative;overflow:hidden;box-shadow:-20px 0 60px #0003}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.admin-header{background:var(--green);color:var(--white);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.admin-header h2{color:var(--gold);font-size:1.3rem}.admin-header p{color:#ffffffb3;font-size:.8rem}.admin-close{color:var(--white);width:36px;height:36px;transition:background var(--transition);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.admin-close:hover{background:#fff3}.admin-body{flex:1;padding:2rem;overflow-y:auto}.admin-section-title{color:var(--green);border-bottom:2px solid var(--cream-dark);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;font-weight:700;display:flex}.admin-slots-list{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.admin-slot-row{background:var(--cream);border-radius:var(--radius-sm);border:1px solid var(--cream-dark);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.admin-slot-row .slot-venue{color:var(--text-dark);flex:1;font-family:Noto Serif Malayalam,serif;font-size:.9rem}.admin-slot-row .slot-meta{color:var(--text-light);font-size:.78rem}.toggle-btn{cursor:pointer;transition:all var(--transition);border-radius:20px;padding:.3rem .8rem;font-size:.75rem;font-weight:700}.toggle-btn.booked{background:var(--red-light);color:var(--red);border:1px solid #c0392b4d}.toggle-btn.available{background:var(--available-light);color:var(--available);border:1px solid #27ae604d}.add-slot-form{background:var(--cream);border-radius:var(--radius);border:1px dashed var(--gold);margin-bottom:2rem;padding:1.5rem}.add-slot-form .form-group input,.add-slot-form .form-group select{background:var(--white)}.admin-save-btn{background:var(--green);width:100%;color:var(--white);border-radius:var(--radius-sm);transition:all var(--transition);margin-top:1rem;padding:.9rem;font-size:.95rem;font-weight:700}.admin-save-btn:hover{background:var(--green-light)}.admin-access-btn{background:var(--green);color:var(--white);width:54px;height:54px;transition:all var(--transition);z-index:9999;isolation:isolate;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 20px #734f9666}.admin-access-btn:hover{background:var(--green-light);transform:scale(1.1)}.footer{color:var(--white);background:#2e1555;padding:3rem 2rem 1.5rem}.footer-grid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto;padding-bottom:2rem;display:grid}@media (width<=768px){.footer-grid{grid-template-columns:1fr;gap:2rem}}.footer-brand p{color:#fff9;max-width:280px;margin-top:1rem;font-family:Noto Serif Malayalam,serif;font-size:.9rem;line-height:1.8}.footer-col h4{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.85rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.6rem}.footer-col a{color:#ffffffa6;transition:color var(--transition);font-size:.9rem}.footer-col a:hover{color:var(--gold-light)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:1.5rem auto 0;display:flex}.footer-bottom p{color:#fff6;font-size:.82rem}.whatsapp-float{color:var(--white);width:54px;height:54px;transition:all var(--transition);z-index:9998;isolation:isolate;background:#25d366;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;bottom:6rem;right:2rem;box-shadow:0 4px 20px #25d36666}.whatsapp-float:hover{transform:scale(1.12)}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3000;background:#0009;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-box{background:var(--white);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow-lg);padding:2.5rem;animation:.3s fadeInUp}.modal-box h2{color:var(--green);margin-bottom:.25rem}.modal-box p{color:var(--text-light);margin-bottom:1.5rem;font-size:.88rem}.modal-error{background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.6rem 1rem;font-size:.85rem}.success-toast{background:var(--green);color:var(--white);z-index:9999;box-shadow:var(--shadow-md);border-radius:30px;padding:.8rem 1.8rem;font-size:.9rem;font-weight:600;animation:.3s fadeInUp;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.whatsapp-float:before,.admin-access-btn:before{content:attr(title);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#000000bf;border-radius:4px;padding:.35rem .75rem;font-family:Lato,sans-serif;font-size:.75rem;font-weight:600;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.whatsapp-float:hover:before,.admin-access-btn:hover:before{opacity:1}@keyframes fadeInSection{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.navbar-logo-img{object-fit:cover;object-position:center;background:0 0;border:2px solid #734f9666;border-radius:50%;flex-shrink:0;width:44px;height:44px;display:block;overflow:hidden}.booking-modal-box{max-width:480px;max-height:90vh;overflow-y:auto}.booking-modal-header{margin-bottom:.25rem}.booking-modal-header h2{color:var(--green)}.modal-close-btn{background:var(--cream-dark);cursor:pointer;width:30px;height:30px;transition:background var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{background:var(--cream)}.cal-wrap{background:var(--white);border-radius:var(--radius);border:1px solid var(--cream-dark);margin-bottom:1.5rem;overflow:hidden}.cal-header{background:var(--green);grid-template-columns:repeat(7,1fr);display:grid}.cal-dow{text-align:center;color:#ffffffb3;letter-spacing:.05em;padding:.6rem 0;font-size:.72rem;font-weight:700}.cal-grid{background:var(--cream-dark);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-cell{background:var(--white);min-height:74px;transition:background var(--transition);padding:.4rem .5rem;position:relative}.cal-empty{background:var(--cream)}.cal-free{background:var(--available-light)}.cal-full{background:var(--red-light)}.cal-partial{background:#fef9f0}.cal-day-num{color:var(--text-dark);font-family:Playfair Display,serif;font-size:1rem;font-weight:700;line-height:1;display:block}.cal-full .cal-day-num{color:var(--red)}.cal-free .cal-day-num{color:var(--available)}.cal-shifts{flex-wrap:wrap;gap:2px;margin-top:4px;display:flex}.cal-shift{border-radius:4px;padding:1px 5px;font-size:.6rem;font-weight:700}.cal-morning{color:#e67e22;background:#fef3e8}.cal-afternoon{color:#8e44ad;background:#f5eef8}.cal-book-btns{flex-direction:column;gap:2px;margin-top:4px;display:flex}.cal-book-btn{background:var(--green);color:#fff;cursor:pointer;transition:background var(--transition);text-align:center;border:none;border-radius:4px;padding:2px 4px;font-size:.58rem;font-weight:700}.cal-book-btn:hover{background:var(--green-light)}.cal-book-pm{background:#8e44ad}.cal-book-pm:hover{background:#7d3c98}@media (width<=600px){.cal-cell{min-height:56px;padding:.3rem}.cal-day-num{font-size:.82rem}.cal-book-btns{display:none}}.month-nav{background:var(--white);border:1px solid var(--cream-dark);border-radius:var(--radius);align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;padding:.75rem .5rem;display:flex}.month-nav-arrow{border:1.5px solid var(--cream-dark);width:32px;height:32px;color:var(--text-mid);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;font-size:1.3rem;line-height:1;display:flex}.month-nav-arrow:disabled{opacity:.25;cursor:default}.month-nav-arrow:not(:disabled):hover{background:var(--green);color:#fff;border-color:var(--green)}.month-nav-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.month-nav-year-group{align-items:center;gap:.6rem;display:flex}.month-nav-year-label{letter-spacing:.1em;color:var(--text-light);text-transform:uppercase;flex-shrink:0;width:32px;font-size:.68rem;font-weight:700}.month-nav-pills{flex-wrap:wrap;gap:.35rem;display:flex}.month-pill{background:var(--cream);color:var(--text-mid);border:1.5px solid var(--cream-dark);cursor:pointer;transition:all var(--transition);white-space:nowrap;border-radius:20px;padding:.3rem .75rem;font-size:.78rem;font-weight:600;position:relative}.month-pill:hover{border-color:var(--green);color:var(--green)}.month-pill-active{background:var(--green);color:#fff;border-color:var(--green)}.month-pill-booked:not(.month-pill-active){background:var(--red-light);color:var(--red);border-color:#c0392b4d}.month-pill-dot{vertical-align:middle;opacity:.7;background:currentColor;border-radius:50%;width:5px;height:5px;margin-left:4px;display:inline-block}.cal-past{opacity:.4;background:var(--cream)!important}.cal-past .cal-day-num{color:var(--text-light)!important}@media (width<=480px){.month-nav-year-group{flex-direction:column;align-items:flex-start;gap:.3rem}.month-nav-year-label{width:auto}}.service-card:hover .service-icon{background:var(--teal-pale)}.slots-legend .legend-dot:nth-child(2) .dot{background:var(--available)}.month-pill-today:not(.month-pill-active){border-color:var(--teal-dark)!important;color:var(--teal-dark)!important}.slots-section .available.slot-card{border-left-color:var(--teal)}@media (width<=640px){.hero{min-height:100svh;padding:80px 1.25rem 2.5rem}.hero-title{font-size:clamp(2.4rem,11vw,4rem)}.hero-caption{margin:1.25rem auto;padding:1.1rem 1.25rem;font-size:.92rem}.hero-actions{flex-direction:column;align-items:center;gap:.75rem}.btn-primary,.btn-outline{text-align:center;justify-content:center;width:100%}.hero-ornament-1,.hero-ornament-2{display:none}}@media (width<=768px){.about-image-stack{height:300px}.about-img-main{width:80%;height:80%}.about-img-accent{width:50%;height:50%}}@media (width<=640px){.services-grid{grid-template-columns:1fr;gap:1rem}.service-card{padding:1.4rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:.5rem}.gallery-grid .gallery-item:first-child{grid-column:1/3}.gallery-grid .gallery-item:first-child img{height:220px}.gallery-item img{height:160px}.slots-section{padding:3rem 1rem}.month-nav{gap:.3rem;padding:.6rem .4rem}.month-nav-arrow{width:28px;height:28px;font-size:1.1rem}.month-pill{padding:.25rem .6rem;font-size:.72rem}.slots-grid{grid-template-columns:1fr;gap:.75rem}.slot-card{gap:.75rem;padding:.9rem 1rem}.slot-date{min-width:48px;height:48px}.slot-date .day{font-size:1.2rem}.slots-controls-row{flex-direction:column;align-items:flex-start;gap:.6rem}}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:1.5rem}.contact-info-card{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:.75rem}}@media (width<=640px){.footer{padding:2.5rem 1.25rem 1.25rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem}.admin-drawer{width:100vw;max-width:100vw}.admin-body{padding:1.25rem}.admin-header{padding:1.1rem 1.25rem}}@media (width<=480px){.modal-overlay{align-items:flex-end;padding:0}.modal-box,.booking-modal-box{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:100vw;max-height:92svh;padding:1.75rem 1.25rem 2rem}.cal-cell{min-height:52px;padding:.25rem}.cal-day-num{font-size:.78rem}.cal-dow{padding:.4rem 0;font-size:.62rem}.cal-shift{padding:1px 4px;font-size:.54rem}.cal-book-btns{display:none}.whatsapp-float{z-index:9998;width:48px;height:48px;bottom:5rem;right:1rem}.admin-access-btn{z-index:9999;width:48px;height:48px;bottom:1rem;right:1rem}.navbar-inner{padding:0 1rem}.navbar-name{font-size:1rem}}@media (width<=640px){.section,.gallery-section,.contact-section{padding:3rem 1.25rem}.container{padding:0}}@media (hover:none){.month-pill{align-items:center;min-height:36px;display:inline-flex}.cal-book-btn{min-height:22px}.toggle-btn{min-height:32px;padding:.3rem .9rem}}.slot-info .venue{position:relative}.slot-info .venue[title]:hover:after{content:attr(title);color:#fff;white-space:nowrap;z-index:50;pointer-events:none;background:#1a1a1ae6;border-radius:6px;padding:.3rem .7rem;font-family:Noto Serif Malayalam,serif;font-size:.8rem;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0003}@media (width<=768px){.section,.slots-section,.gallery-section,.contact-section,.footer,.container{box-sizing:border-box;max-width:100vw;overflow-x:hidden}.slot-card{box-sizing:border-box;width:100%;max-width:100%}.slot-card:hover{transform:none}.slots-section .available-dates-strip{-webkit-overflow-scrolling:touch;overflow-x:auto}}
