/* ============================================================
   PERFECT STAY — Luxury Hotel Website
   Shared Stylesheet  |  css/style.css
   ============================================================ */

/* ── Variables ─────────────────────────────────────────────── */
:root {
  --P:  #A1008B;   /* primary purple  */
  --DP: #6E0060;   /* dark purple     */
  --G:  #F2E500;   /* luxury gold     */
  --GD: #D4C800;   /* gold dark       */
  --W:  #FAFAFA;   /* soft white      */
  --LB: #F4F1F8;   /* light lavender bg */
  --CH: #1A1A2E;   /* charcoal navy   */
  --MU: #7a7a8c;   /* muted           */
  --glass: rgba(255,255,255,0.07);
  --glass-b: rgba(255,255,255,0.14);
  --r1: 8px; --r2: 16px; --r3: 24px; --r4: 36px;
  --s1: 0 2px 12px rgba(0,0,0,0.07);
  --s2: 0 8px 32px rgba(0,0,0,0.11);
  --s3: 0 20px 60px rgba(0,0,0,0.17);
  --s4: 0 32px 80px rgba(161,0,139,0.18);
  --tr: all 0.35s cubic-bezier(0.4,0,0.2,1);
}

/* ── Reset ──────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{font-family:'Cormorant Garamond','Poppins',serif;background:var(--W);color:var(--CH);line-height:1.7;overflow-x:hidden;max-width:100vw}
body.body-sans{font-family:'Poppins',sans-serif}
section,footer{overflow-x:hidden}
img{max-width:100%;display:block;object-fit:cover}
a{text-decoration:none;color:inherit;transition:var(--tr)}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit}
input,select,textarea{font-family:'Poppins',sans-serif}

/* ── Keyframes ──────────────────────────────────────────────── */
@keyframes fadeUp    {from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeDown  {from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn    {from{opacity:0}to{opacity:1}}
@keyframes scaleIn   {from{opacity:0;transform:scale(0.88)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer   {0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes floatUp   {0%{opacity:0;transform:translateY(120px) scale(0)}15%{opacity:.7}85%{opacity:.3}100%{opacity:0;transform:translateY(-40px) scale(1)}}
@keyframes ldBar     {from{width:0}to{width:100%}}
@keyframes ldPulse   {0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes waPulse   {0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45)}50%{box-shadow:0 6px 48px rgba(37,211,102,.75)}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes lineGrow  {from{width:0}to{width:100%}}

/* ── Loader ─────────────────────────────────────────────────── */
#loader{position:fixed;inset:0;background:var(--CH);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .7s ease,visibility .7s}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.ld-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;animation:ldPulse 2s ease-in-out infinite}
.ld-ring{width:80px;height:80px;border-radius:50%;border:3px solid rgba(242,229,0,0.2);border-top-color:var(--G);animation:rotateSlow 1.2s linear infinite;display:flex;align-items:center;justify-content:center}
.ld-p{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;color:var(--G)}
.ld-name{color:rgba(255,255,255,0.85);font-family:'Playfair Display',serif;font-size:1rem;letter-spacing:6px;text-transform:uppercase}
.ld-bar{width:140px;height:2px;background:rgba(255,255,255,0.1);border-radius:1px;overflow:hidden;margin-top:4px}
.ld-fill{height:100%;background:linear-gradient(to right,var(--G),var(--P));animation:ldBar 2s ease forwards}

/* ── Navbar ─────────────────────────────────────────────────── */
#navbar{position:fixed;top:0;width:100%;z-index:1000;padding:22px 0;transition:var(--tr)}
#navbar.scrolled{background:rgba(26,26,46,0.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:14px 0;box-shadow:0 4px 40px rgba(0,0,0,0.4)}
#navbar:not(.scrolled){background:linear-gradient(to bottom,rgba(0,0,0,0.6),transparent)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:12px}
.nav-logo{width:46px;height:46px;background:linear-gradient(135deg,var(--G),var(--GD));border-radius:50% 50% 50% 0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:var(--P);flex-shrink:0;box-shadow:0 4px 16px rgba(242,229,0,0.35)}
.nav-brand-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:0.5px}
.nav-brand-tag{font-size:0.6rem;color:rgba(255,255,255,0.5);letter-spacing:3px;text-transform:uppercase;display:block;margin-top:-3px}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-a{color:rgba(255,255,255,0.82);font-family:'Poppins',sans-serif;font-size:0.78rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:8px 14px;border-radius:6px;position:relative;transition:var(--tr)}
.nav-a::after{content:'';position:absolute;bottom:4px;left:14px;right:14px;height:1px;background:var(--G);transform:scaleX(0);transition:transform 0.3s;border-radius:1px}
.nav-a:hover,.nav-a.active{color:#fff}
.nav-a:hover::after,.nav-a.active::after{transform:scaleX(1)}
.nav-cta{background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH)!important;font-weight:700!important;border-radius:50px!important;padding:10px 26px!important;margin-left:10px;box-shadow:0 4px 20px rgba(242,229,0,0.3);font-size:0.78rem!important;letter-spacing:1px!important}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:#fff!important;color:var(--P)!important;transform:translateY(-2px);box-shadow:0 8px 28px rgba(242,229,0,0.45)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px}
.hamburger span{width:24px;height:1.5px;background:#fff;border-radius:1px;transition:var(--tr);display:block}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

/* ── Buttons ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:0.82rem;letter-spacing:1px;padding:14px 34px;border-radius:50px;border:none;cursor:pointer;transition:var(--tr);text-transform:uppercase}
.btn-gold{background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH);box-shadow:0 6px 24px rgba(242,229,0,0.35)}
.btn-gold:link,.btn-gold:visited{color:var(--CH)}
.btn-gold:hover{background:#fff;color:var(--P);transform:translateY(-3px);box-shadow:0 12px 40px rgba(242,229,0,0.5)}
.btn-purple{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;box-shadow:0 6px 24px rgba(161,0,139,0.3)}
.btn-purple:link,.btn-purple:visited{color:#fff}
.btn-purple:hover{background:linear-gradient(135deg,var(--DP),#4d0044);transform:translateY(-3px);box-shadow:0 12px 36px rgba(161,0,139,0.45)}
.btn-outline-gold{background:transparent;color:var(--G);border:1.5px solid var(--G)}
.btn-outline-gold:hover{background:var(--G);color:var(--CH);transform:translateY(-2px)}
.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.5)}
.btn-outline-white:hover{border-color:var(--G);color:var(--G);transform:translateY(-2px)}
.btn-sm{padding:10px 22px;font-size:0.72rem}
.btn-full{width:100%;justify-content:center}
.btn-icon{width:46px;height:46px;padding:0;justify-content:center;border-radius:50%}

/* ── Section helpers ─────────────────────────────────────────── */
.section{padding:100px 0}
.section-sm{padding:70px 0}
.section-lg{padding:130px 0}
.section-dark{background:var(--CH)}
.section-purple{background:linear-gradient(135deg,var(--DP),var(--P))}
.section-light{background:var(--LB)}
.section-white{background:#fff}

.tag{display:inline-flex;align-items:center;gap:6px;font-family:'Poppins',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--P);margin-bottom:10px}
.tag::before{content:'';width:20px;height:1px;background:var(--P)}
.tag.light{color:var(--G)}.tag.light::before{background:var(--G)}

.heading{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4vw,3rem);font-weight:900;color:var(--CH);line-height:1.15;margin-bottom:16px}
.heading .gold{color:var(--P)}.heading .glow{color:var(--G)}
.heading.light{color:#fff}

.subtext{font-family:'Poppins',sans-serif;color:var(--MU);font-size:0.92rem;line-height:1.85;max-width:580px;text-align:justify}
.subtext.light{color:rgba(255,255,255,0.72)}

.rule{width:60px;height:2px;background:linear-gradient(to right,var(--P),var(--G));border-radius:1px;margin:16px 0 24px}
.rule.center{margin-left:auto;margin-right:auto}
.rule.light{background:linear-gradient(to right,var(--G),rgba(255,255,255,0.3))}

/* ── Form elements ───────────────────────────────────────────── */
.flabel{display:block;font-family:'Poppins',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--P);margin-bottom:7px}
.finput-wrap{position:relative}
.finput-wrap .fi-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--P);font-size:0.8rem;pointer-events:none}
.finput{width:100%;padding:13px 15px 13px 40px;border:1.5px solid #e0d8e8;border-radius:var(--r2);font-family:'Poppins',sans-serif;font-size:0.85rem;color:var(--CH);background:#fcfaff;outline:none;transition:var(--tr);appearance:none;-webkit-appearance:none}
.finput:focus{border-color:var(--P);background:#fff;box-shadow:0 0 0 4px rgba(161,0,139,0.08)}
.finput::placeholder{color:#b0a8bb}
textarea.finput{padding-left:15px;resize:vertical}

/* ── Cards ───────────────────────────────────────────────────── */
.card{background:#fff;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);border:1px solid rgba(161,0,139,0.06)}
.card:hover{transform:translateY(-8px);box-shadow:var(--s4)}
.card-glass{background:var(--glass);border:1px solid var(--glass-b);border-radius:var(--r3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:var(--tr)}
.card-glass:hover{background:rgba(255,255,255,0.12);transform:translateY(-6px)}

/* ── Gold line accent ────────────────────────────────────────── */
.gold-line{position:relative;overflow:hidden}
.gold-line::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--P),var(--G),var(--P));background-size:200%;animation:shimmer 3s linear infinite}

/* ── Divider ornament ────────────────────────────────────────── */
.ornament{display:flex;align-items:center;gap:12px;margin:12px 0 24px}
.ornament span{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(161,0,139,0.3),transparent)}
.ornament i{color:var(--G);font-size:0.7rem}
.ornament.center{justify-content:center}

/* ── Floating elements ───────────────────────────────────────── */
.wa-float{position:fixed;bottom:90px;right:24px;z-index:998;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;animation:waPulse 2.5s infinite;transition:var(--tr)}
.wa-float:hover{color:#fff;transform:scale(1.12)}
.stt{position:fixed;bottom:24px;right:24px;z-index:998;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9rem;box-shadow:0 6px 20px rgba(161,0,139,0.4);transition:var(--tr);opacity:0;transform:translateY(16px)}
.stt.show{opacity:1;transform:translateY(0)}
.stt:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(161,0,139,0.55)}

/* ── Popup ───────────────────────────────────────────────────── */
.popup-bg{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:9990;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--tr);backdrop-filter:blur(6px)}
.popup-bg.show{opacity:1;visibility:visible}
.popup-box{background:#fff;border-radius:var(--r4);padding:52px 42px;text-align:center;max-width:420px;width:92%;transform:scale(0.82);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);position:relative}
.popup-bg.show .popup-box{transform:scale(1)}
.popup-close{position:absolute;top:16px;right:16px;background:var(--LB);border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;color:var(--MU);font-size:0.85rem;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.popup-close:hover{background:var(--P);color:#fff}
.popup-icon{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:2.2rem;color:var(--G);box-shadow:0 12px 36px rgba(161,0,139,0.3)}
.popup-title{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:900;color:var(--CH);margin-bottom:10px}
.popup-sub{color:var(--MU);font-family:'Poppins',sans-serif;font-size:0.85rem;line-height:1.75;margin-bottom:26px}

/* ── Hero (shared) ───────────────────────────────────────────── */
.page-hero{min-height:55vh;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--CH)}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.35}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,0.85),rgba(26,26,46,0.7))}
.page-hero-content{position:relative;z-index:2;color:#fff;padding-top:100px}
.page-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,0.12);border:1px solid rgba(242,229,0,0.35);border-radius:50px;padding:7px 20px;font-family:'Poppins',sans-serif;font-size:0.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:20px;animation:fadeDown 0.8s ease 0.2s both}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:900;line-height:1.12;margin-bottom:14px;animation:fadeUp 0.8s ease 0.4s both}
.page-hero h1 span{color:var(--G)}
.page-hero p{font-family:'Poppins',sans-serif;color:rgba(255,255,255,0.78);font-size:1rem;max-width:520px;line-height:1.8;animation:fadeUp 0.8s ease 0.6s both}
.breadcrumb-ps{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:0.72rem;color:rgba(255,255,255,0.5);margin-top:20px;animation:fadeUp 0.8s ease 0.7s both}
.breadcrumb-ps a{color:rgba(255,255,255,0.65)}.breadcrumb-ps a:hover{color:var(--G)}
.breadcrumb-ps i{font-size:0.5rem}

/* ── Footer ──────────────────────────────────────────────────── */
footer{background:linear-gradient(160deg,var(--CH) 0%,#1a0020 100%);color:rgba(255,255,255,0.68);padding:90px 0 32px;position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;border:60px solid rgba(161,0,139,0.06);pointer-events:none}
footer::after{content:'';position:absolute;bottom:-60px;left:-60px;width:220px;height:220px;border-radius:50%;border:40px solid rgba(242,229,0,0.04);pointer-events:none}
.ft-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ft-logo-mark{width:42px;height:42px;background:linear-gradient(135deg,var(--G),var(--GD));border-radius:50% 50% 50% 0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;color:var(--P)}
.ft-brand{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:#fff}
.ft-brand small{display:block;font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);font-family:'Poppins',sans-serif;font-weight:400}
.ft-desc{font-family:'Poppins',sans-serif;font-size:0.82rem;line-height:1.85;max-width:280px;color:rgba(255,255,255,0.55)}
.ft-heading{font-family:'Playfair Display',serif;font-size:0.95rem;font-weight:700;color:#fff;margin-bottom:20px;padding-bottom:10px;position:relative}
.ft-heading::after{content:'';position:absolute;bottom:0;left:0;width:24px;height:1.5px;background:var(--G)}
.ft-link{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:rgba(255,255,255,0.55);font-family:'Poppins',sans-serif;font-size:0.8rem;transition:var(--tr)}
.ft-link i{font-size:0.55rem;color:var(--G);transition:var(--tr)}
.ft-link:hover{color:var(--G);padding-left:4px}
.ft-socials{display:flex;gap:9px;margin-top:16px}
.ft-soc{width:37px;height:37px;border-radius:9px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.6);font-size:0.82rem;transition:var(--tr)}
.ft-soc:hover{background:var(--G);color:var(--CH);transform:translateY(-3px)}
.ft-nl-form{display:flex;gap:8px;margin-top:14px}
.ft-nl-input{flex:1;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);border-radius:9px;padding:11px 14px;color:#fff;font-family:'Poppins',sans-serif;font-size:0.78rem;outline:none;transition:var(--tr)}
.ft-nl-input::placeholder{color:rgba(255,255,255,0.35)}
.ft-nl-input:focus{border-color:var(--G)}
.ft-nl-btn{background:linear-gradient(135deg,var(--G),var(--GD));border:none;border-radius:9px;padding:11px 16px;color:var(--CH);font-family:'Poppins',sans-serif;font-weight:700;font-size:0.75rem;cursor:pointer;transition:var(--tr)}
.ft-nl-btn:hover{background:#fff}
.ft-bottom{border-top:1px solid rgba(255,255,255,0.08);margin-top:52px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:'Poppins',sans-serif;font-size:0.74rem}

/* ── Nav Dropdown ────────────────────────────────────────────── */
.nav-drop{position:relative}
.nav-drop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:185px;background:rgba(26,26,46,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .28s cubic-bezier(.4,0,.2,1);z-index:200}
.nav-drop:hover .nav-drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop-menu a{display:flex!important;align-items:center;gap:9px;padding:10px 14px!important;border-radius:8px;font-size:.72rem!important;font-weight:500;letter-spacing:.5px;color:rgba(255,255,255,.72)!important;transition:all .22s;text-transform:uppercase}
.nav-drop-menu a:hover{background:rgba(255,255,255,.08);color:#fff!important;padding-left:18px!important}
.nav-drop-menu a:hover::after{display:none!important}
.nav-drop-menu a i{color:#F2E500;font-size:.45rem;flex-shrink:0}
.has-caret .caret{font-size:.5rem;margin-left:3px;transition:transform .28s;display:inline-block;color:rgba(255,255,255,.55)}
.nav-drop:hover .has-caret .caret{transform:rotate(180deg)}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:991px){
  .hamburger{display:flex;position:relative;z-index:1001}
  .nav-links{position:fixed;top:0;right:0;width:280px;height:100vh;background:rgba(26,26,46,0.98);backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;padding:90px 30px 30px;gap:4px;transform:translateX(100%);transition:transform 0.4s ease;box-shadow:-10px 0 50px rgba(0,0,0,0.4);z-index:999}
  .nav-links.open{transform:translateX(0)}
  .nav-a{font-size:0.9rem!important;padding:12px 8px!important;width:100%}
  .nav-cta{margin-left:0!important;margin-top:12px;width:100%;justify-content:center}
  .section{padding:70px 0}.section-lg{padding:90px 0}
  .nav-drop{width:100%}
  .nav-drop-menu{position:static;opacity:1!important;visibility:visible!important;transform:none!important;background:rgba(255,255,255,.05);box-shadow:none;border:none;border-radius:8px;padding:4px 0 8px 14px;display:none}
  .nav-drop.open .nav-drop-menu{display:block}
  .nav-drop.open .has-caret .caret{transform:rotate(180deg)}
}
@media(max-width:767px){
  .section{padding:56px 0}.section-sm{padding:48px 0}
  .heading{font-size:clamp(1.6rem,5vw,2.4rem)}
  .page-hero{min-height:46vh}
  .page-hero-content{padding-top:88px}
  .page-hero h1{font-size:clamp(2rem,7vw,3rem)}
  .page-hero p{font-size:.88rem}
}
@media(max-width:575px){
  .section{padding:48px 0}.section-sm{padding:36px 0}.section-lg{padding:64px 0}
  .heading{font-size:clamp(1.5rem,6vw,2.2rem)}
  .subtext{font-size:.85rem}
  .btn{padding:12px 24px;font-size:.78rem}
  .btn-sm{padding:9px 18px;font-size:.7rem}

  /* Page hero */
  .page-hero{min-height:40vh}
  .page-hero-content{padding-top:80px}
  .page-hero h1{font-size:clamp(1.8rem,8vw,2.6rem)}
  .page-hero-badge{font-size:.62rem;padding:6px 16px;letter-spacing:2px}
  .page-hero p{font-size:.85rem}

  /* Popup */
  .popup-box{padding:42px 28px}
  .popup-icon{width:72px;height:72px;font-size:1.8rem}
  .popup-title{font-size:1.4rem}

  /* Footer */
  .ft-nl-form{flex-direction:column;gap:8px}
  .ft-nl-input,.ft-nl-btn{width:100%}
  .ft-bottom{flex-direction:column;text-align:center;gap:8px}
  .ft-desc{max-width:100%}

  /* Cards */
  .card{border-radius:var(--r2)}

  /* Floating buttons */
  .wa-float{width:48px;height:48px;font-size:1.3rem;bottom:80px;right:16px}
  .stt{width:40px;height:40px;bottom:20px;right:16px}
}
@media(max-width:400px){
  .heading{font-size:clamp(1.4rem,7vw,1.8rem)}
  .page-hero h1{font-size:clamp(1.6rem,9vw,2.2rem)}
  .btn{padding:11px 20px;font-size:.76rem;gap:7px}
  .nav-brand-name{font-size:1.1rem}
  .nav-logo{width:40px;height:40px;font-size:1.2rem}
  /* Form fields stack on very small phones */
  .finput{font-size:.82rem}
}

/* ============================================================
   INDEX PAGE — Home-specific styles
   ============================================================ */
:root{--primary:#A1008B;--dark-purple:#6E0060;--gold:#F2E500;--gold-dark:#D4C800;--white:#F8F8F8;--light-bg:#F3F3F3;--charcoal:#1E1E1E;--muted:#6b6b6b;--glass:rgba(255,255,255,.08);--glass-b:rgba(255,255,255,.15);--r-sm:10px;--r-md:16px;--r-lg:24px;--sh-sm:0 4px 16px rgba(0,0,0,.08);--sh-md:0 8px 30px rgba(0,0,0,.12);--sh-lg:0 20px 60px rgba(0,0,0,.18);--t:all .3s ease}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Poppins',sans-serif;background:var(--white);color:var(--charcoal);line-height:1.6;overflow-x:hidden;max-width:100vw}
section,footer,.booking-wrap{overflow-x:hidden}
img{max-width:100%;display:block}a{text-decoration:none;transition:var(--t)}
@keyframes barFill{from{width:0}to{width:100%}}
@keyframes ldPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes floatUp{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.6}90%{opacity:.2}100%{opacity:0;transform:translateY(-30px) scale(1)}}
@keyframes waPulse{0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.5)}50%{box-shadow:0 6px 40px rgba(37,211,102,.8)}}
#loader{position:fixed;inset:0;background:var(--dark-purple);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s ease,visibility .6s}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.ld-inner{display:flex;flex-direction:column;align-items:center;gap:16px;animation:ldPulse 1.5s ease-in-out infinite}
.ld-bar{width:130px;height:3px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden}
.ld-fill{height:100%;background:var(--gold);animation:barFill 1.8s ease forwards}
#navbar{position:fixed;top:0;width:100%;z-index:1000;transition:all .4s cubic-bezier(.4,0,.2,1)}
#navbar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#F2E500 35%,#A1008B 65%,transparent 100%);z-index:2;pointer-events:none}
.nav-bar{background:linear-gradient(135deg,rgba(100,0,88,.93),rgba(26,0,21,.90));backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-bottom:1px solid rgba(242,229,0,.12);box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04);padding:8px 0;transition:all .4s cubic-bezier(.4,0,.2,1)}
#navbar.scrolled .nav-bar{padding:4px 0;background:linear-gradient(135deg,rgba(80,0,68,.97),rgba(18,0,12,.96));box-shadow:0 12px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(242,229,0,.06)}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.nav-logo-img{height:62px;width:auto;object-fit:contain;border-radius:10px;filter:drop-shadow(0 4px 16px rgba(0,0,0,.65)) drop-shadow(0 2px 6px rgba(161,0,139,.5));transition:all .35s cubic-bezier(.4,0,.2,1)}
.nav-brand:hover .nav-logo-img{transform:scale(1.05) translateY(-1px);filter:drop-shadow(0 8px 24px rgba(0,0,0,.7)) drop-shadow(0 3px 12px rgba(242,229,0,.5))}
.nav-brand-words{display:flex;flex-direction:column;gap:1px}
.nav-brand-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:.5px;line-height:1.1;transition:color .3s}
.nav-brand-sub{font-family:'Poppins',sans-serif;font-size:.58rem;color:rgba(255,255,255,.4);letter-spacing:2.5px;text-transform:uppercase}
.nav-brand:hover .nav-brand-name{color:#F2E500}
.nav-menu{display:flex;align-items:center;gap:1px}
.nav-link{color:rgba(255,255,255,.72);font-size:.75rem;font-weight:500;letter-spacing:.9px;text-transform:uppercase;padding:8px 13px;border-radius:8px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.09)}
.nav-link.active{color:#F2E500}
.nav-link::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%) scaleX(0);width:16px;height:1.5px;border-radius:1px;background:#F2E500;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.nav-link:hover::after,.nav-link.active::after{transform:translateX(-50%) scaleX(1)}
.nav-btn{background:linear-gradient(135deg,#F2E500 0%,#D4C800 100%)!important;color:#1a1a1a!important;font-weight:700!important;font-size:.75rem!important;letter-spacing:1px!important;border-radius:50px!important;padding:10px 26px!important;margin-left:12px;box-shadow:0 4px 22px rgba(242,229,0,.45),0 2px 8px rgba(0,0,0,.25)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}
.nav-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent);border-radius:50px;pointer-events:none}
.nav-btn:hover{background:linear-gradient(135deg,#fff,#f5f5f5)!important;color:var(--primary)!important;transform:translateY(-2px) scale(1.02)!important;box-shadow:0 10px 36px rgba(242,229,0,.65),0 4px 16px rgba(0,0,0,.3)!important}
.nav-btn::after{display:none!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:9px 10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:10px;transition:all .3s}
.hamburger:hover{background:rgba(255,255,255,.13);border-color:rgba(242,229,0,.4)}
.hamburger span{width:22px;height:1.5px;background:#fff;border-radius:2px;transition:all .35s cubic-bezier(.4,0,.2,1);display:block}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hamburger.open span:nth-child(2){opacity:0;transform:translateX(8px)}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;padding-bottom:20px}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.84) 0%,rgba(26,0,21,.72) 50%,rgba(0,0,0,.52) 100%);z-index:1}
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.particle{position:absolute;border-radius:50%;background:var(--gold);opacity:0;animation:floatUp 6s infinite}
.hs-panel{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:140px 20px 50px;flex:1;width:100%}
.hs-panel.active{opacity:1}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.4);border-radius:30px;padding:5px 16px;margin-bottom:14px;font-size:.65rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);animation:fadeInDown 1s ease .3s both}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.8vw,2.9rem);font-weight:900;line-height:1.15;margin-bottom:14px;animation:fadeInUp 1s ease .5s both}
.hero-title .hi{color:var(--gold)}
.hero-sub{font-size:clamp(.78rem,1.3vw,.88rem);color:rgba(255,255,255,.78);font-weight:300;max-width:480px;margin:0 auto 22px;line-height:1.65;animation:fadeInUp 1s ease .7s both}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease .9s both;margin-bottom:0}
.hero-book-wrap{width:100%;max-width:1100px;margin-top:20px;animation:fadeInUp 1s ease 1.1s both}
.hero-book-card{background:linear-gradient(135deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.05) 100%);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:16px 22px 14px;position:relative;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.14)}
.hero-book-card::before{content:'';position:absolute;top:0;left:8%;right:8%;height:1.5px;background:linear-gradient(to right,transparent,#F2E500,transparent)}
.hero-book-card::after{content:'';position:absolute;bottom:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(242,229,0,.06),transparent 65%);pointer-events:none}
.hero-book-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}
.hero-book-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--charcoal);box-shadow:0 4px 16px rgba(242,229,0,.4);flex-shrink:0}
.hero-book-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:#fff;line-height:1.1}
.hero-book-sub{font-family:'Poppins',sans-serif;font-size:.62rem;color:rgba(255,255,255,.48);margin-top:3px;letter-spacing:.3px}
.hero-book-secure{margin-left:auto;background:rgba(242,229,0,.1);border:1px solid rgba(242,229,0,.22);border-radius:20px;padding:5px 13px;font-family:'Poppins',sans-serif;font-size:.62rem;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:5px;flex-shrink:0}
.hero-book-secure i{color:#F2E500}
.hb-lbl{display:block;font-family:'Poppins',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}
.hb-wrap{position:relative}
.hb-wrap i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#F2E500;font-size:.7rem;pointer-events:none}
.hb-input{width:100%;padding:8px 8px 8px 28px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;font-family:'Poppins',sans-serif;font-size:.75rem;outline:none;transition:all .28s;appearance:none;-webkit-appearance:none}
.hb-input::placeholder{color:rgba(255,255,255,.32)}
.hb-input:focus{background:rgba(0,0,0,.35);border-color:rgba(242,229,0,.55);box-shadow:0 0 0 3px rgba(242,229,0,.1)}
.hb-input option{background:#2a001e;color:#fff}
input[type="date"].hb-input{appearance:auto;-webkit-appearance:auto;color-scheme:dark;cursor:pointer}
.hero-book-btn{width:100%;padding:10px 20px;background:linear-gradient(135deg,#F2E500,#D4C800);color:#1a1a1a;font-family:'Poppins',sans-serif;font-weight:700;font-size:.82rem;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 24px rgba(242,229,0,.4),inset 0 1px 0 rgba(255,255,255,.3);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:.4px}
.hero-book-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25),transparent);border-radius:12px;pointer-events:none}
.hero-book-btn:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(242,229,0,.6);background:linear-gradient(135deg,#fff,#f5f5f0);color:var(--primary)}
.hero-divider{width:60px;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.3),transparent);margin:18px auto 18px}
.hero-branches{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease 1.3s both;width:100%;max-width:1100px}
.hb-card{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:10px 16px;color:#fff;text-decoration:none;transition:all .35s cubic-bezier(.4,0,.2,1);flex:1;min-width:200px;position:relative;overflow:hidden}
.hb-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(to right,transparent,rgba(242,229,0,.5),transparent);opacity:0;transition:opacity .3s}
.hb-card:hover{background:rgba(255,255,255,.16);transform:translateY(-4px);border-color:rgba(242,229,0,.4);color:#fff;text-decoration:none}
.hb-card:hover::before{opacity:1}
.hb-icon{width:32px;height:32px;border-radius:8px;background:rgba(242,229,0,.14);border:1px solid rgba(242,229,0,.3);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:#F2E500;flex-shrink:0;transition:all .3s}
.hb-card:hover .hb-icon{background:rgba(242,229,0,.22);box-shadow:0 0 14px rgba(242,229,0,.25)}
.hb-info{flex:1}
.hb-name{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:#fff;line-height:1.2}
.hb-meta{font-family:'Poppins',sans-serif;font-size:.62rem;color:rgba(255,255,255,.55);margin-top:3px;letter-spacing:.3px}
.hb-arrow{font-size:.72rem;color:rgba(255,255,255,.4);flex-shrink:0;transition:all .3s}
.hb-card:hover .hb-arrow{transform:translateX(4px);color:#F2E500}
@media(max-width:600px){.hero-branches{flex-direction:column;align-items:center}.hb-card{width:100%;max-width:320px}}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--charcoal);font-family:'Poppins',sans-serif;font-weight:700;font-size:.88rem;padding:13px 32px;border-radius:50px;border:none;cursor:pointer;box-shadow:0 8px 28px rgba(242,229,0,.35);transition:var(--t);text-decoration:none}
.btn-gold:link,.btn-gold:visited{color:var(--charcoal);text-decoration:none}
.btn-gold:hover{background:#fff;color:var(--primary);transform:translateY(-3px);box-shadow:0 14px 40px rgba(242,229,0,.5)}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;font-family:'Poppins',sans-serif;font-weight:600;font-size:.88rem;padding:12px 30px;border-radius:50px;border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:var(--t)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.btn-purple{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;font-family:'Poppins',sans-serif;font-weight:600;font-size:.88rem;padding:12px 28px;border-radius:50px;border:none;cursor:pointer;transition:var(--t)}
.btn-purple:hover{background:var(--dark-purple);transform:translateY(-2px)}
.btn-full{width:100%;justify-content:center}
.sec{padding:90px 0}.sec-sm{padding:64px 0}
.sec-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.sec-tag.lt{color:var(--gold)}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;color:var(--charcoal);line-height:1.2;margin-bottom:14px}
.sec-title .hi{color:var(--primary)}.sec-title.lt{color:#fff}
.sec-desc{color:var(--muted);font-size:.93rem;line-height:1.8;max-width:560px}
.divider{width:56px;height:3px;background:linear-gradient(to right,var(--primary),var(--gold));border-radius:2px;margin:14px 0 20px}
.divider.cx{margin:14px auto 20px}
.booking-card{background:#fff;border-radius:var(--r-lg);padding:40px;box-shadow:var(--sh-lg);border:1px solid rgba(161,0,139,.08);position:relative;overflow:hidden}
.booking-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--primary),var(--gold))}
.bc-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:4px}
.bc-sub{font-size:.82rem;color:var(--muted);margin-bottom:26px}
.flbl{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--primary);margin-bottom:6px}
.iwrap{position:relative}
.iwrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--primary);font-size:.8rem;pointer-events:none}
.finput{width:100%;padding:12px 14px 12px 38px;border:2px solid #e8e8e8;border-radius:var(--r-sm);font-family:'Poppins',sans-serif;font-size:.85rem;color:var(--charcoal);background:#fafafa;outline:none;transition:var(--t);appearance:none;-webkit-appearance:none}
.finput:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(161,0,139,.07)}
.about-wrap{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:28px 28px 0 var(--gold)}
.about-wrap img{width:100%;height:420px;object-fit:cover;border-radius:var(--r-lg)}
.about-badge{position:absolute;bottom:24px;left:24px;background:var(--primary);color:#fff;border-radius:var(--r-md);padding:16px 22px;font-family:'Playfair Display',serif}
.ab-num{font-size:2rem;font-weight:900;color:var(--gold);line-height:1}
.ab-txt{font-size:.72rem;opacity:.85;margin-top:2px}
.a-feat{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.a-icon{width:46px;height:46px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--dark-purple));display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1rem}
.a-ftitle{font-weight:600;font-size:.9rem;margin-bottom:3px;color:var(--charcoal)}
.a-fdesc{font-size:.8rem;color:var(--muted);line-height:1.6}
.counter-sec{background:linear-gradient(135deg,#3a0032 0%,#6E0060 50%,#3a0032 100%);padding:56px 0;position:relative;overflow:hidden}
.counter-sec::before{content:'';position:absolute;top:-120px;right:-80px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(242,229,0,.07) 0%,transparent 65%);pointer-events:none}
.counter-sec::after{content:'';position:absolute;bottom:-100px;left:-60px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 65%);pointer-events:none}
.stat-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px 16px;text-align:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;height:100%}
.stat-card::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1.5px;background:linear-gradient(to right,transparent,rgba(242,229,0,.6),transparent);border-radius:1px}
.stat-card:hover{background:rgba(255,255,255,.1);transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.35),0 0 0 1px rgba(242,229,0,.18)}
.stat-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(242,229,0,.18),rgba(242,229,0,.06));border:1px solid rgba(242,229,0,.28);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:1.05rem;color:#F2E500;box-shadow:0 3px 12px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.1)}
.stat-card:hover .stat-icon{background:linear-gradient(135deg,rgba(242,229,0,.28),rgba(242,229,0,.1));box-shadow:0 5px 18px rgba(0,0,0,.3),0 0 14px rgba(242,229,0,.2)}
.c-num{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:900;color:#F2E500;display:block;line-height:1;text-shadow:0 3px 16px rgba(242,229,0,.35)}
.stat-divider{width:28px;height:1.5px;background:linear-gradient(to right,transparent,rgba(255,255,255,.45),transparent);margin:8px auto;border-radius:1px}
.c-lbl{color:rgba(255,255,255,.72);font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;display:block}
.room-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:var(--t);height:100%;border:1px solid rgba(0,0,0,.05)}
.room-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(161,0,139,.2)}
.room-img{position:relative;height:220px;overflow:hidden}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.room-card:hover .room-img img{transform:scale(1.08)}
.room-bdg{position:absolute;top:14px;left:14px;background:var(--primary);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.room-bdg.gd{background:var(--gold);color:var(--charcoal)}.room-bdg.dk{background:var(--dark-purple)}
.room-body{padding:22px}
.room-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--charcoal);margin-bottom:8px}
.room-price{font-size:1.5rem;font-weight:800;color:var(--primary);margin-bottom:14px}
.room-price span{font-size:.78rem;font-weight:400;color:var(--muted)}
.room-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.r-tag{background:var(--light-bg);border-radius:20px;padding:4px 11px;font-size:.7rem;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:5px}
.r-tag i{color:var(--primary);font-size:.62rem}
.amen-sec{background:linear-gradient(135deg,#280040 0%,#500058 45%,#7a006a 100%);position:relative;overflow:hidden}
.amen-sec::before{content:'';position:absolute;top:-140px;right:-80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(242,229,0,.06) 0%,transparent 65%);pointer-events:none}
.amen-sec::after{content:'';position:absolute;bottom:-100px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 65%);pointer-events:none}
.amen-sec .container{position:relative;z-index:1}
.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bc{border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s,background .3s;cursor:default}
.bc::before{content:'';position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,229,0,.14) 0%,transparent 65%);left:var(--mx,-200px);top:var(--my,-200px);transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .4s}
.bc:hover::before{opacity:1}
.bc:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 0 1px rgba(242,229,0,.15);background:rgba(255,255,255,.11)}
.bc.w2{grid-column:span 2;display:flex;align-items:center;gap:24px;padding:28px 30px}
.bc.w2 .bc-icon{width:70px;height:70px;border-radius:18px;flex-shrink:0;background:rgba(0,0,0,.35);border:1.5px solid rgba(242,229,0,.35);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.07);transition:transform .3s,box-shadow .3s}
.bc.w2:hover .bc-icon{transform:scale(1.1);box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 22px rgba(242,229,0,.18),inset 0 1px 0 rgba(255,255,255,.07)}
.bc.w2 .bc-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:5px}
.bc.w2 .bc-detail{font-size:.79rem;color:rgba(255,255,255,.52);line-height:1.55}
.bc-bg-num{display:none}
.bc.s1{padding:28px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:158px}
.bc.s1 .bc-icon{width:58px;height:58px;border-radius:15px;background:rgba(0,0,0,.35);border:1.5px solid rgba(242,229,0,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 13px;box-shadow:0 3px 12px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .3s,box-shadow .3s}
.bc.s1:hover .bc-icon{transform:scale(1.12);box-shadow:0 6px 20px rgba(0,0,0,.42),0 0 18px rgba(242,229,0,.15),inset 0 1px 0 rgba(255,255,255,.06)}
.bc-icon svg{width:32px;height:32px;display:block}
.bc.w2 .bc-icon svg{width:36px;height:36px}
.bc:hover .bc-icon{filter:drop-shadow(0 0 10px rgba(242,229,0,.45))}
@keyframes wifiPulse{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes coolFlow{0%{transform:translateY(0);opacity:.75}100%{transform:translateY(5px);opacity:0}}
@keyframes dropFall{0%{transform:translateY(0);opacity:1}80%{opacity:.5}100%{transform:translateY(6px);opacity:0}}
@keyframes boltFlash{0%,80%,100%{opacity:1;filter:none}87%,95%{opacity:.1;filter:drop-shadow(0 0 4px #fff)}}
@keyframes arrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes scanSweep{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
@keyframes bellWobble{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(-10deg)}82%{transform:rotate(9deg)}90%{transform:rotate(-5deg)}96%{transform:rotate(3deg)}}
@keyframes glowPulse{0%,100%{filter:drop-shadow(0 0 2px rgba(242,229,0,.3))}50%{filter:drop-shadow(0 0 7px rgba(242,229,0,.7))}}
.ic-wifi .a1{animation:wifiPulse 2s ease-in-out infinite}
.ic-wifi .a2{animation:wifiPulse 2s ease-in-out infinite .35s}
.ic-wifi .a3{animation:wifiPulse 2s ease-in-out infinite .7s}
.ic-wifi .dot{animation:wifiPulse 2s ease-in-out infinite 1s}
.ic-ac .c1{animation:coolFlow 2s ease-in-out infinite}
.ic-ac .c2{animation:coolFlow 2s ease-in-out infinite .45s}
.ic-ac .c3{animation:coolFlow 2s ease-in-out infinite .9s}
.ic-shower .d1{animation:dropFall 1.5s ease-in infinite}
.ic-shower .d2{animation:dropFall 1.5s ease-in infinite .28s}
.ic-shower .d3{animation:dropFall 1.5s ease-in infinite .56s}
.ic-power .bolt{animation:boltFlash 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.ic-lift .arr{animation:arrowBounce 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.ic-cctv .scan{animation:scanSweep 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:30px 18px}
.ic-bell .bell{animation:bellWobble 3.5s ease-in-out infinite;transform-box:fill-box;transform-origin:18px 14px}
.ic-bike .w1,.ic-bike .w2{animation:glowPulse 2s ease-in-out infinite}
.bc.s1 .bc-name{font-weight:700;font-size:.85rem;color:#fff;margin-bottom:4px}
.bc.s1 .bc-detail{font-size:.67rem;color:rgba(255,255,255,.46);line-height:1.4}
.bc.gold{background:linear-gradient(135deg,rgba(242,229,0,.13),rgba(242,229,0,.04));border-color:rgba(242,229,0,.2)}
.bc.gold:hover{background:linear-gradient(135deg,rgba(242,229,0,.2),rgba(242,229,0,.07));box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 0 1px rgba(242,229,0,.3)}
@media(max-width:991px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bc.w2{grid-column:span 2}}
@media(max-width:575px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bc.w2{grid-column:span 2;flex-direction:column;text-align:center;padding:22px 14px;gap:14px}.bc-bg-num{display:none}}
.br-card{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);transition:var(--t);height:100%}
.br-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(161,0,139,.25)}
.br-img{height:250px;overflow:hidden}
.br-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.br-card:hover .br-img img{transform:scale(1.06)}
.br-body{padding:26px;background:#fff;border-top:3px solid var(--primary)}
.br-loc{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--primary);margin-bottom:6px;display:flex;align-items:center;gap:5px}
.br-name{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:var(--charcoal);margin-bottom:10px}
.br-desc{font-size:.83rem;color:var(--muted);line-height:1.7;margin-bottom:14px}
.br-stars{color:var(--gold);font-size:.88rem;margin-bottom:18px}
.br-stars span{color:var(--muted);font-size:.78rem;margin-left:6px}
.off-card{border-radius:var(--r-lg);padding:34px;position:relative;overflow:hidden;height:100%}
.off-card.gd{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--charcoal)}
.off-card.pu{background:linear-gradient(135deg,var(--primary),var(--dark-purple));color:#fff}
.off-card.dk{background:linear-gradient(135deg,var(--charcoal),#2d0028);color:#fff}
.off-deco{position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;border:30px solid rgba(255,255,255,.1);pointer-events:none}
.off-pct{font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:900;line-height:1;margin-bottom:8px}
.off-title{font-size:1.15rem;font-weight:700;margin-bottom:8px}
.off-desc{font-size:.82rem;opacity:.85;margin-bottom:22px;line-height:1.7}
.testi-sec{background:var(--light-bg)}
.testi-card{background:#fff;border-radius:var(--r-lg);padding:34px;box-shadow:var(--sh-sm);position:relative;height:100%;border:1px solid rgba(161,0,139,.07);transition:var(--t)}
.testi-card:hover{box-shadow:0 16px 50px rgba(161,0,139,.15);transform:translateY(-4px)}
.testi-card::before{content:'"';position:absolute;top:18px;right:22px;font-family:'Playfair Display',serif;font-size:5rem;color:var(--primary);opacity:.07;line-height:1;pointer-events:none}
.t-stars{color:var(--gold);font-size:.88rem;margin-bottom:14px}
.t-text{font-size:.87rem;color:var(--muted);line-height:1.8;margin-bottom:22px;font-style:italic}
.t-author{display:flex;align-items:center;gap:14px}
.t-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid var(--primary);flex-shrink:0}
.t-name{font-weight:700;font-size:.88rem;color:var(--charcoal)}
.t-loc{font-size:.72rem;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.g-item{border-radius:var(--r-md);overflow:hidden;position:relative;cursor:pointer}
.g-item:nth-child(1),.g-item:nth-child(4){grid-row:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.g-item:hover img{transform:scale(1.08)}
.g-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(110,0,96,.8) 0%,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:16px;color:#fff;font-size:.78rem;font-weight:600}
.g-item:hover .g-overlay{opacity:1}
.nb-card{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.08);border:1px solid rgba(161,0,139,.06);transition:all .35s cubic-bezier(.4,0,.2,1);display:block;text-decoration:none;height:100%}
.nb-card:hover{transform:translateY(-10px);box-shadow:0 22px 54px rgba(161,0,139,.22);text-decoration:none}
.nb-img-top{height:190px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}
.nb-img-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.nb-card:hover .nb-img-top img{transform:scale(1.08)}
.nb-img-top .nb-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45) 0%,rgba(0,0,0,.1) 60%,transparent 100%)}
.nb-g1{background:linear-gradient(135deg,#c0392b,#e74c3c,#f39c12)}
.nb-g2{background:linear-gradient(135deg,#6E0060,#A1008B,#c0399e)}
.nb-g3{background:linear-gradient(135deg,#1a237e,#3949ab,#5c6bc0)}
.nb-g4{background:linear-gradient(135deg,#e65100,#f57c00,#ffa726)}
.nb-g5{background:linear-gradient(135deg,#006064,#00838f,#26c6da)}
.nb-g6{background:linear-gradient(135deg,#1b5e20,#2e7d32,#66bb6a)}
.nb-big-icon{font-size:3.2rem;color:rgba(255,255,255,.92);filter:drop-shadow(0 4px 12px rgba(0,0,0,.25));position:relative;z-index:1;margin-bottom:6px}
.nb-dist-badge{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:20px;padding:4px 12px;font-size:.68rem;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:4px;z-index:2}
.nb-body{padding:18px 18px 20px}
.nb-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--charcoal);margin-bottom:6px}
.nb-desc{font-size:.78rem;color:var(--muted);line-height:1.65;margin-bottom:14px}
.nb-explore{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.6px}
.nb-explore i{transition:transform .3s}
.nb-card:hover .nb-explore i{transform:translateX(5px)}
.faq-sec{background:var(--light-bg)}
.faq-item{background:#fff;border-radius:var(--r-md);margin-bottom:10px;border:1px solid rgba(161,0,139,.1);overflow:hidden}
.faq-btn{width:100%;background:none;border:none;padding:18px 22px;text-align:left;font-family:'Poppins',sans-serif;font-weight:600;font-size:.88rem;color:var(--charcoal);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--t);gap:12px}
.faq-btn:hover{color:var(--primary)}
.faq-btn i{transition:transform .3s;color:var(--primary);flex-shrink:0}
.faq-btn.open i{transform:rotate(180deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 22px;font-size:.85rem;color:var(--muted);line-height:1.8}
.faq-body.open{max-height:200px;padding:0 22px 18px}
.cta-sec{background:linear-gradient(135deg,var(--charcoal) 0%,#2d0028 100%);padding:100px 0;text-align:center;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;inset:0;background:url('../images/Keelkattalai/room-1.jpeg') center/cover;opacity:.08;pointer-events:none}
.cta-inner{position:relative;z-index:2}
.cta-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:900;color:#fff;margin-bottom:14px}
.cta-title .hi{color:var(--gold)}
.cta-desc{color:rgba(255,255,255,.7);font-size:.95rem;margin-bottom:34px;max-width:480px;margin-left:auto;margin-right:auto}
.ci-box{width:46px;height:46px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--dark-purple));display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1rem}
.ci-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.ci-lbl{font-weight:600;font-size:.9rem;margin-bottom:3px}
.ci-val{font-size:.82rem;color:var(--muted);line-height:1.6}
footer{background:linear-gradient(135deg,var(--charcoal) 0%,#1a0015 100%);color:rgba(255,255,255,.7);padding:80px 0 30px}
.ft-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ft-brand{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:#fff}
.ft-brand small{display:block;font-size:.58rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);font-family:'Poppins',sans-serif;font-weight:400}
.ft-desc{font-size:.82rem;line-height:1.8;max-width:280px}
.ft-head{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:18px;padding-bottom:10px;position:relative}
.ft-head::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--gold);border-radius:1px}
.ft-link{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:rgba(255,255,255,.65);font-size:.82rem}
.ft-link:hover{color:var(--gold);padding-left:5px}
.ft-link i{font-size:.6rem;color:var(--gold)}
.soc-row{display:flex;gap:8px;margin-top:14px}
.soc-btn{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.82rem;transition:var(--t)}
.soc-btn:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-3px)}
.ft-socials{display:flex;gap:9px;margin-top:16px}
.ft-soc{width:37px;height:37px;border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.82rem;transition:var(--t)}
.ft-soc:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-3px)}
.ft-heading{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:16px;padding-bottom:8px;position:relative}
.ft-heading::after{content:'';position:absolute;bottom:0;left:0;width:22px;height:1.5px;background:var(--gold)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:44px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:'Poppins',sans-serif;font-size:.72rem;color:rgba(255,255,255,.45)}
.wa-fab{position:fixed;bottom:88px;right:22px;z-index:999;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 6px 24px rgba(37,211,102,.5);transition:var(--t);animation:waPulse 2s infinite}
.wa-fab:hover{color:#fff;transform:scale(1.1)}
.stt-btn{position:fixed;bottom:22px;right:22px;z-index:999;width:44px;height:44px;border-radius:10px;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.88rem;box-shadow:0 6px 20px rgba(161,0,139,.4);transition:var(--t);opacity:0;transform:translateY(16px)}
.stt-btn.visible{opacity:1;transform:translateY(0)}
.stt-btn:hover{background:var(--dark-purple);transform:translateY(-3px)}
@media(max-width:575px){.wa-fab{width:46px;height:46px;font-size:1.25rem;bottom:76px;right:14px}.stt-btn{width:40px;height:40px;bottom:18px;right:14px}}
.popup-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9998;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--t);backdrop-filter:blur(5px)}
.popup-ov.show{opacity:1;visibility:visible}
.popup-card{background:#fff;border-radius:var(--r-lg);padding:50px 38px;text-align:center;max-width:400px;width:90%;transform:scale(.8);transition:transform .3s;position:relative}
.popup-ov.show .popup-card{transform:scale(1)}
.p-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--dark-purple));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:2rem;color:var(--gold)}
.p-title{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:800;color:var(--charcoal);margin-bottom:10px}
.p-text{color:var(--muted);font-size:.86rem;line-height:1.7;margin-bottom:24px}
.p-close{position:absolute;top:14px;right:14px;background:var(--light-bg);border:none;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:.8rem;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.p-close:hover{background:var(--primary);color:#fff}
.nav-drop{position:relative}
.nav-drop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:185px;background:rgba(110,0,96,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .28s cubic-bezier(.4,0,.2,1);z-index:200}
.nav-drop:hover .nav-drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop-menu a{display:flex!important;align-items:center;gap:9px;padding:10px 14px;border-radius:8px;font-size:.78rem!important;font-weight:500;letter-spacing:.5px;color:rgba(255,255,255,.78)!important;transition:all .22s;text-transform:uppercase}
.nav-drop-menu a:hover{background:rgba(255,255,255,.12);color:#fff!important;padding-left:18px}
.nav-drop-menu a:hover::after{display:none!important}
.nav-drop-menu a i{color:var(--gold);font-size:.45rem;flex-shrink:0}
.has-caret .caret{font-size:.5rem;margin-left:3px;transition:transform .28s;display:inline-block;color:rgba(255,255,255,.55)}
.nav-drop:hover .has-caret .caret{transform:rotate(180deg)}
@media(max-width:991px){.hamburger{display:flex;position:relative;z-index:1001}.nav-menu{position:fixed;top:0;right:0;width:290px;height:100vh;background:linear-gradient(160deg,rgba(80,0,68,.98),rgba(18,0,12,.97));backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);flex-direction:column;align-items:flex-start;padding:90px 26px 36px;gap:2px;transform:translateX(110%);transition:transform .45s cubic-bezier(.4,0,.2,1);box-shadow:-16px 0 60px rgba(0,0,0,.5);z-index:999;border-left:1px solid rgba(242,229,0,.1)}.nav-menu::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#F2E500,transparent)}.nav-menu.open{transform:translateX(0)}.nav-link{font-size:.88rem!important;padding:13px 10px!important;width:100%;border-radius:10px!important;border-bottom:1px solid rgba(255,255,255,.05)!important}.nav-btn{margin-left:0!important;margin-top:14px;width:100%;justify-content:center;font-size:.88rem!important;padding:13px 20px!important;border-bottom:none!important}.nav-drop{width:100%}.nav-drop-menu{position:static;opacity:1!important;visibility:visible!important;transform:none!important;background:rgba(255,255,255,.05);box-shadow:none;border:none;border-radius:10px;padding:4px 0 8px 14px;display:none;border-bottom:none!important}.nav-drop.open .nav-drop-menu{display:block}.nav-drop.open .has-caret .caret{transform:rotate(180deg)}}
@media(max-width:767px){.hs-panel{padding:130px 20px 50px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.g-item:nth-child(1),.g-item:nth-child(4){grid-row:span 1}.g-item{height:170px!important}.booking-card{padding:22px}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn-gold,.hero-actions .btn-outline{width:220px;justify-content:center}.sec{padding:64px 0}.about-wrap{box-shadow:16px 16px 0 var(--gold)}.about-wrap img{height:320px}.br-img{height:210px}}
@media(max-width:575px){.hs-panel{padding:120px 16px 50px}.hero-title{font-size:clamp(2rem,8vw,2.6rem)}.hero-sub{font-size:.88rem;margin-bottom:22px}.hero-badge{font-size:.65rem;padding:6px 16px;letter-spacing:1px}.hero-actions .btn-gold,.hero-actions .btn-outline{width:100%;max-width:260px}.booking-card{padding:16px}.about-wrap{box-shadow:10px 10px 0 var(--gold);margin-right:10px;margin-bottom:10px}.about-wrap img{height:240px}.about-badge{bottom:14px;left:14px;padding:12px 16px}.ab-num{font-size:1.6rem}.sec{padding:52px 0}.sec-sm{padding:40px 0}.c-num{font-size:2.2rem}.room-price{font-size:1.3rem}.room-img{height:180px}.gallery-grid{grid-template-columns:1fr;gap:10px}.g-item{height:210px!important}.off-card{padding:24px 20px}.off-pct{font-size:2.5rem}.br-img{height:190px}.br-body{padding:18px}.testi-card{padding:24px}.nb-img-top{height:160px}.nb-big-icon{font-size:2.6rem}.popup-card{padding:36px 24px}}
@media(max-width:400px){.sec-title{font-size:clamp(1.5rem,6vw,1.9rem)}.off-pct{font-size:2.2rem}.nb-desc{font-size:.7rem}}

/* ============================================================
   ROOMS PAGE — rooms.html specific styles
   ============================================================ */

/* ── Rooms CSS Variables ─────────────────────────────────── */
:root {
  --P:#A1008B; --DP:#6E0060; --G:#F2E500; --GD:#D4C800;
  --W:#FAFAFA; --LB:#F4F1F8; --CH:#1A1A2E; --MU:#7a7a8c;
  --r1:8px; --r2:16px; --r3:24px; --r4:36px;
  --s1:0 2px 12px rgba(0,0,0,.07); --s2:0 8px 32px rgba(0,0,0,.11);
  --s3:0 20px 60px rgba(0,0,0,.17); --s4:0 32px 80px rgba(161,0,139,.18);
  --tr:all .35s cubic-bezier(.4,0,.2,1)
}

/* ── Page Hero ───────────────────────────────────────────── */
.page-hero{min-height:65vh;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--CH);padding-top:80px}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.88),rgba(26,26,46,.75))}
.page-hero-content{position:relative;z-index:2;color:#fff;padding:60px 0 40px;text-align:center}
.page-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:7px 20px;font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:18px}

/* ── Section Helpers (rooms) ─────────────────────────────── */
.section{padding:90px 0}
.section-light{background:var(--LB)}
.section-white{background:#fff}
.section-dark{background:var(--CH)}

/* ── Rooms Navbar Links ──────────────────────────────────── */
.nav-links{display:flex;align-items:center;gap:4px}
.nav-a{color:rgba(255,255,255,.72);font-family:'Poppins',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.9px;text-transform:uppercase;padding:8px 13px;border-radius:8px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}
.nav-a:hover{color:#fff;background:rgba(255,255,255,.09)}
.nav-a.active{color:#F2E500}
.nav-a::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%) scaleX(0);width:16px;height:1.5px;border-radius:1px;background:#F2E500;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.nav-a:hover::after,.nav-a.active::after{transform:translateX(-50%) scaleX(1)}
.nav-cta{background:linear-gradient(135deg,#F2E500,#D4C800)!important;color:#1a1a1a!important;font-weight:700!important;font-size:.75rem!important;letter-spacing:1px!important;border-radius:50px!important;padding:10px 26px!important;margin-left:12px;box-shadow:0 4px 22px rgba(242,229,0,.45),0 2px 8px rgba(0,0,0,.25)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}
.nav-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent);border-radius:50px;pointer-events:none}
.nav-cta:hover{background:linear-gradient(135deg,#fff,#f5f5f5)!important;color:#A1008B!important;transform:translateY(-2px) scale(1.02)!important;box-shadow:0 10px 36px rgba(242,229,0,.65),0 4px 16px rgba(0,0,0,.3)!important}
.nav-cta::after{display:none!important}

/* ── Rooms Tab Strip ─────────────────────────────────────── */
.tab-strip{display:flex;gap:6px;background:#fff;border-radius:50px;padding:6px;box-shadow:var(--s1);flex-wrap:wrap;justify-content:center;margin-bottom:48px}
.tab-btn{padding:11px 26px;border-radius:50px;border:none;background:transparent;font-family:'Poppins',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--MU);cursor:pointer;transition:var(--tr)}
.tab-btn.active{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;box-shadow:0 4px 16px rgba(161,0,139,.3)}
.rdetail{display:none;animation:fadeUp .5s ease both}
.rdetail.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ── Room Detail Grid ────────────────────────────────────── */
.rd-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:0;border-radius:var(--r4);overflow:hidden;box-shadow:var(--s3);margin-bottom:60px}
.rd-imgs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr .52fr;gap:5px;height:100%;min-height:460px}
.rd-imgs img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .4s}
.rd-imgs img:first-child{grid-column:span 2}
.rd-imgs img:hover{transform:scale(1.03)}
.rd-info{padding:44px 40px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}
.rd-badge{display:inline-flex;align-items:center;gap:6px;background:var(--LB);border-radius:50px;padding:5px 14px;font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--P);margin-bottom:14px}
.rd-name{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--CH);margin-bottom:6px}
.rd-tagline{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;color:var(--MU);margin-bottom:16px}
.rd-stars{color:var(--G);font-size:.85rem;margin-bottom:18px}
.rd-desc{font-family:'Poppins',sans-serif;font-size:.85rem;color:#555;line-height:1.9;margin-bottom:22px}
.rd-price{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:900;color:var(--P);line-height:1;margin-bottom:4px}
.rd-price span{font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:400;color:var(--MU)}
.rd-note{font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--MU);margin-bottom:22px}
.rd-btns{display:flex;gap:10px;flex-wrap:wrap}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:22px}
.feat-item{display:flex;align-items:center;gap:9px;background:var(--LB);border-radius:var(--r1);padding:9px 13px}
.feat-ico{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:.7rem;flex-shrink:0}
.feat-txt{font-family:'Poppins',sans-serif;font-size:.72rem;color:var(--CH);font-weight:500}
.incl-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.incl-pill{display:flex;align-items:center;gap:5px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.3);border-radius:50px;padding:4px 12px;font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--CH);font-weight:500}
.incl-pill i{color:var(--P);font-size:.6rem}

/* ── Compare Table ───────────────────────────────────────── */
.cmp-table th{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:15px 18px;text-align:center}
.cmp-table td{font-family:'Poppins',sans-serif;font-size:.8rem;padding:13px 18px;text-align:center;border-bottom:1px solid rgba(161,0,139,.07)}
.cmp-table td:first-child{text-align:left;font-weight:600;color:var(--CH)}
.cmp-table tr:hover td{background:var(--LB)}
.yes{color:var(--P)}.no{color:#d0d0d0}

/* ── Rooms Buttons ───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.8px;padding:13px 28px;border-radius:50px;border:none;cursor:pointer;transition:var(--tr);text-transform:uppercase}
.btn-gold{background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH);box-shadow:0 6px 24px rgba(242,229,0,.35)}
.btn-gold:hover{background:#fff;color:var(--P);transform:translateY(-3px)}
.btn-purple{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;box-shadow:0 6px 24px rgba(161,0,139,.3)}
.btn-purple:hover{background:linear-gradient(135deg,var(--DP),#4d0044);transform:translateY(-3px)}
.btn-full{width:100%;justify-content:center}

/* ── Rooms Typography ────────────────────────────────────── */
.tag{display:inline-flex;align-items:center;gap:6px;font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--P);margin-bottom:10px}
.tag::before{content:'';width:20px;height:1px;background:var(--P)}
.heading{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:900;color:var(--CH);line-height:1.15;margin-bottom:16px}
.heading .gold{color:var(--P)}
.rule{width:60px;height:2px;background:linear-gradient(to right,var(--P),var(--G));border-radius:1px;margin:14px 0 24px}
.rule.center{margin-left:auto;margin-right:auto}

/* ── Rooms Popup ─────────────────────────────────────────── */
.popup-bg{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9990;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--tr);backdrop-filter:blur(6px)}
.popup-bg.show{opacity:1;visibility:visible}
.popup-box{background:#fff;border-radius:var(--r4);padding:52px 42px;text-align:center;max-width:420px;width:92%;transform:scale(.82);transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:relative}
.popup-bg.show .popup-box{transform:scale(1)}
.popup-close{position:absolute;top:16px;right:16px;background:var(--LB);border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;color:var(--MU);font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.popup-close:hover{background:var(--P);color:#fff}
.popup-icon{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:2.2rem;color:var(--G);box-shadow:0 12px 36px rgba(161,0,139,.3)}
.popup-title{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:900;color:var(--CH);margin-bottom:10px}
.popup-sub{color:var(--MU);font-family:'Poppins',sans-serif;font-size:.85rem;line-height:1.75;margin-bottom:26px}

/* ── WhatsApp Float & Scroll-to-top ──────────────────────── */
.wa-float{position:fixed;bottom:90px;right:24px;z-index:998;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 6px 24px rgba(37,211,102,.5);transition:var(--tr)}
.wa-float:hover{color:#fff;transform:scale(1.1)}
.stt{position:fixed;bottom:24px;right:24px;z-index:998;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 6px 20px rgba(161,0,139,.4);transition:var(--tr);opacity:0;transform:translateY(16px)}
.stt.show{opacity:1;transform:translateY(0)}
.stt:hover{transform:translateY(-3px)}

/* ── Rooms Gallery ───────────────────────────────────────── */
.rooms-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;grid-auto-rows:190px}
.rg-item{border-radius:var(--r2);overflow:hidden;position:relative;cursor:pointer}
.rg-item:nth-child(1),.rg-item:nth-child(4){grid-row:span 2}
.rg-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.rg-item:hover img{transform:scale(1.06)}
.rg-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(110,0,96,.78),transparent);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:13px;color:#fff;font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.5px}
.rg-item:hover .rg-overlay{opacity:1}

/* ── Policy Pills (legacy, kept for Booking CTA) ─────────── */
.policy-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r2);padding:22px 16px;text-align:center}
.policy-icon{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,var(--G),var(--GD));display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--P);margin:0 auto 12px}
.policy-label{font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:4px}
.policy-value{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:#fff}

/* ── Quick Info Cards (under gallery — rooms page) ────────── */
.qi-card{background:#fff;border-radius:22px;padding:34px 20px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.08);border:1px solid rgba(161,0,139,.06);transition:var(--tr);position:relative;overflow:hidden;height:100%}
.qi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--P),var(--G));border-radius:2px 2px 0 0}
.qi-card:hover{transform:translateY(-10px);box-shadow:0 20px 48px rgba(161,0,139,.18);border-color:rgba(161,0,139,.15)}
.qi-ico{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--G);margin:0 auto 18px;box-shadow:0 8px 22px rgba(161,0,139,.32);transition:var(--tr)}
.qi-card:hover .qi-ico{transform:scale(1.1) translateY(-2px);box-shadow:0 12px 30px rgba(161,0,139,.45)}
.qi-lbl{font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--MU);margin-bottom:8px}
.qi-val{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:900;color:var(--CH)}

/* ── Property Rules ──────────────────────────────────────── */
.rule-card{background:#fff;border-radius:20px;padding:26px;border:1px solid rgba(161,0,139,.08);box-shadow:0 4px 20px rgba(0,0,0,.06);height:100%}
.rule-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--LB)}
.rule-ico{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--G);flex-shrink:0}
.rule-title{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--CH)}
.rule-card ul{list-style:none;padding:0;margin:0}
.rule-card ul li{font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--MU);padding:7px 0 7px 18px;position:relative;border-bottom:1px solid rgba(0,0,0,.04);line-height:1.55}
.rule-card ul li:last-child{border-bottom:none}
.rule-card ul li::before{content:'•';position:absolute;left:0;color:var(--P);font-weight:900}

/* ── Branch Policy Notice ────────────────────────────────── */
.branch-policy-notice{display:flex;gap:18px;align-items:flex-start;background:linear-gradient(135deg,rgba(161,0,139,.06),rgba(110,0,96,.04));border:1.5px solid rgba(161,0,139,.18);border-radius:20px;padding:24px 28px;margin-top:32px}
.bpn-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:1.1rem;flex-shrink:0;margin-top:2px}
.bpn-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--CH);margin-bottom:5px}
.bpn-desc{font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--MU);line-height:1.7;margin-bottom:16px}
.bpn-btns{display:flex;flex-wrap:wrap;gap:10px}
.bpn-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid rgba(161,0,139,.25);border-radius:50px;padding:7px 16px;font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;color:var(--P);transition:all .3s ease}
.bpn-btn:hover{background:var(--P);color:#fff;border-color:var(--P);transform:translateY(-2px);box-shadow:0 6px 18px rgba(161,0,139,.25)}
.bpn-btn i{font-size:.6rem}
@media(max-width:576px){.branch-policy-notice{flex-direction:column}.bpn-icon{width:38px;height:38px}}

/* ── Branch-wise Pricing ─────────────────────────────────── */
.bp-label{font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--P);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.bp-label::before{content:'';width:16px;height:1px;background:var(--P)}
.branch-price-grid{background:#fff;border-radius:var(--r2);overflow:hidden;margin-bottom:12px;border:1px solid rgba(161,0,139,.1);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.bp-header{display:grid;grid-template-columns:1.5fr 1fr 1fr;padding:8px 14px;background:linear-gradient(135deg,var(--P),var(--DP))}
.bp-header span{font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.9)}
.bp-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;padding:9px 14px;border-bottom:1px solid rgba(161,0,139,.06);align-items:center;transition:background .2s}
.bp-row:last-child{border-bottom:none}
.bp-row:hover{background:var(--LB)}
.bp-row.unavail{opacity:.6}
.bp-branch{font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;color:var(--CH);display:flex;align-items:center;gap:5px}
.bp-branch i{color:var(--P);font-size:.52rem;flex-shrink:0}
.bp-price{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--CH)}
.bp-price.ausp{color:var(--P)}
.bp-na{font-family:'Poppins',sans-serif;font-size:.68rem;color:rgba(0,0,0,.3);font-style:italic;grid-column:span 2}
.bp-extra{font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--MU);margin-bottom:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bp-extra i{color:var(--G);font-size:.55rem}

/* ── Rooms Responsive ────────────────────────────────────── */
@media(max-width:900px){
  .rd-grid{grid-template-columns:1fr}
  .rd-imgs{grid-template-columns:1fr 1fr;grid-template-rows:220px 140px;height:auto;min-height:unset}
  .hamburger{display:flex;position:relative;z-index:1001}
  .nav-links{position:fixed;top:0;right:0;width:290px;height:100vh;background:linear-gradient(160deg,rgba(80,0,68,.98),rgba(18,0,12,.97));backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);flex-direction:column;align-items:flex-start;padding:90px 26px 36px;gap:2px;transform:translateX(110%);transition:transform .45s cubic-bezier(.4,0,.2,1);box-shadow:-16px 0 60px rgba(0,0,0,.5);z-index:999;border-left:1px solid rgba(242,229,0,.1)}
  .nav-links.open{transform:translateX(0)}
  .nav-a{font-size:.88rem!important;padding:13px 10px!important;width:100%;border-radius:10px!important;border-bottom:1px solid rgba(255,255,255,.05)!important}
  .nav-cta{margin-left:0!important;margin-top:14px;width:100%;justify-content:center;font-size:.88rem!important;padding:13px 20px!important;border-bottom:none!important}
  .nav-drop{width:100%}
  .nav-drop-menu{position:static;opacity:1!important;visibility:visible!important;transform:none!important;background:rgba(255,255,255,.05);box-shadow:none;border:none;border-radius:10px;padding:4px 0 8px 14px;display:none}
  .nav-drop.open .nav-drop-menu{display:block}
  .nav-drop.open .has-caret .caret{transform:rotate(180deg)}
}
@media(max-width:600px){
  .feat-grid{grid-template-columns:1fr}
  .rooms-gallery{grid-template-columns:repeat(2,1fr)}
  .rg-item:nth-child(1),.rg-item:nth-child(4){grid-row:span 1}
}

/* ── Contact Page ────────────────────────────────────────── */

/* Spin keyframe (contact loader spinner) */
@keyframes spin{to{transform:rotate(360deg)}}

/* ── Contact Hero ─────────────────────────────────────────── */
.contact-hero{min-height:70vh;position:relative;display:flex;align-items:center;overflow:hidden}
.ch-bg{position:absolute;inset:0;background:url('../images/Kovilambakkam/front.jpeg') center/cover no-repeat}
.ch-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.92),rgba(26,26,46,.82))}
.ch-content{position:relative;z-index:2;color:#fff;padding-top:110px;padding-bottom:60px;text-align:center}
.ch-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:8px 22px;font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:24px;animation:fadeDown .8s ease .2s both}
.ch-title{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:900;line-height:1.1;margin-bottom:20px;animation:fadeUp .8s ease .4s both}
.ch-title em{font-style:italic;color:var(--G)}
.ch-sub{font-family:'Poppins',sans-serif;font-size:1rem;color:rgba(255,255,255,.75);max-width:520px;line-height:1.85;animation:fadeUp .8s ease .6s both;margin-bottom:32px;margin-left:auto;margin-right:auto}
.quick-contacts{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s ease .8s both}
.qc-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:50px;padding:10px 20px;font-family:'Poppins',sans-serif;font-size:.78rem;color:#fff;transition:var(--tr)}
.qc-pill:hover{background:var(--G);color:var(--CH);border-color:var(--G)}
.qc-pill i{font-size:.9rem}

/* ── Contact Form Card ────────────────────────────────────── */
.form-card{background:#fff;border-radius:var(--r4);padding:48px;box-shadow:var(--s3);position:relative;overflow:hidden}
.form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--P),var(--G),var(--P));background-size:200%;animation:shimmer 3s linear infinite}
.form-title{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:var(--CH);margin-bottom:6px}
.form-sub{font-family:'Poppins',sans-serif;font-size:.8rem;color:var(--MU);margin-bottom:30px}
/* ── Contact Info Sidebar ─────────────────────────────────── */
.info-side{position:sticky;top:100px}
.info-box{background:linear-gradient(160deg,var(--CH),#2d0028);border-radius:var(--r4);padding:36px;color:#fff;margin-bottom:20px}
.info-box-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:22px;display:flex;align-items:center;gap:10px}
.info-box-title i{color:var(--G);font-size:1rem}
.ci-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.ci-ico{width:42px;height:42px;border-radius:11px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.2);display:flex;align-items:center;justify-content:center;color:var(--G);font-size:.9rem;flex-shrink:0}
.ci-label{font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:3px}
.info-box .ci-val{font-family:'Poppins',sans-serif;font-size:.92rem;color:#fff;font-weight:500;line-height:1.75}
.info-box .ci-val a{color:#fff;transition:color .25s}
.info-box .ci-val a:hover{color:var(--G);text-decoration:underline}
.socials-row{display:flex;gap:9px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.soc-btn{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);font-size:.82rem;transition:var(--tr)}
.soc-btn:hover{background:var(--G);color:var(--CH);transform:translateY(-3px)}
.hours-box{background:#fff;border-radius:var(--r3);padding:28px;box-shadow:var(--s2);border:1px solid rgba(161,0,139,.07)}
.hours-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:800;color:var(--CH);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.hours-title i{color:var(--P)}
.hours-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(161,0,139,.06);font-family:'Poppins',sans-serif;font-size:.78rem}
.hours-row:last-child{border:none}
.hours-day{color:var(--MU)}
.hours-time{font-weight:600;color:var(--CH)}
.hours-open{color:#22c55e;font-weight:700;font-size:.65rem;letter-spacing:1px;text-transform:uppercase}

/* ── Branch Cards (Contact page) ─────────────────────────── */
.bc-card{background:#fff;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);height:100%;border:1px solid rgba(161,0,139,.07)}
.bc-card:hover{transform:translateY(-6px);box-shadow:var(--s4);border-color:rgba(161,0,139,.15)}
.bc-img{height:200px;overflow:hidden;position:relative}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bc-card:hover .bc-img img{transform:scale(1.06)}
.bc-body{padding:24px}
.bc-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;color:var(--CH);margin-bottom:4px}
.bc-addr{font-family:'Poppins',sans-serif;font-size:.76rem;color:var(--MU);line-height:1.6;margin-bottom:14px}
.bc-detail{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:.74rem;color:var(--MU);margin-bottom:8px}
.bc-detail i{width:26px;height:26px;border-radius:7px;background:var(--LB);display:flex;align-items:center;justify-content:center;color:var(--P);font-size:.68rem;flex-shrink:0}
.bc-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.bc-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:50px;border:none;cursor:pointer;font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;transition:var(--tr)}
.bc-btn-call{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff}
.bc-btn-call:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(161,0,139,.3)}
.bc-btn-wa{background:#25D366;color:#fff}
.bc-btn-wa:hover{background:#1aad53;transform:translateY(-2px)}
.bc-btn-dir{background:var(--LB);color:var(--P)}
.bc-btn-dir:hover{background:var(--P);color:#fff}

/* ── Map Placeholder ─────────────────────────────────────── */
.map-frame{border-radius:var(--r3);overflow:hidden;height:300px;background:linear-gradient(135deg,var(--LB),#e8dff0);display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed rgba(161,0,139,.2);position:relative}
.map-pin{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:1.3rem;margin-bottom:14px;box-shadow:0 8px 24px rgba(161,0,139,.3)}
.map-label{font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:600;color:var(--P);margin-bottom:5px}
.map-sub{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--MU)}
.map-open-btn{margin-top:14px;display:inline-flex;align-items:center;gap:6px;background:var(--P);color:#fff;border:none;border-radius:50px;padding:9px 18px;font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--tr)}
.map-open-btn:hover{background:var(--DP);transform:translateY(-2px)}

/* ── Contact FAQ (uses .faq-q / .faq-a) ──────────────────── */
.faq-q{width:100%;background:none;border:none;padding:18px 22px;text-align:left;font-family:'Poppins',sans-serif;font-weight:600;font-size:.87rem;color:var(--CH);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--tr);gap:12px}
.faq-q:hover{color:var(--P)}
.faq-q i{transition:transform .3s;color:var(--P);flex-shrink:0}
.faq-q.open i{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 22px;font-family:'Poppins',sans-serif;font-size:.83rem;color:var(--MU);line-height:1.85}
.faq-a.open{max-height:200px;padding:0 22px 18px}

/* ── btn-green (contact page) ─────────────────────────────── */
.btn-green{background:#25D366;color:#fff;box-shadow:0 6px 24px rgba(37,211,102,.35)}
.btn-green:hover{background:#1aad53;transform:translateY(-3px)}

/* ── Contact Responsive ───────────────────────────────────── */
@media(max-width:900px){
  .info-side{position:static}
  .section{padding:68px 0}
}
@media(max-width:767px){.quick-contacts{flex-direction:column}}

/* Footer contact link hover (contact page) */
footer a[href^="tel:"],footer a[href^="mailto:"]{transition:color .25s!important;font-size:.82rem!important}
footer a[href^="tel:"]:hover,footer a[href^="mailto:"]:hover{color:var(--G)!important;text-decoration:underline}
/* WhatsApp branch picker popup */
.wa-popup-icon{width:72px;height:72px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:2rem;color:#fff;box-shadow:0 8px 28px rgba(37,211,102,.4)}
.wa-popup-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;color:var(--CH);margin-bottom:8px}
.wa-popup-sub{font-family:'Poppins',sans-serif;font-size:.82rem;color:var(--MU);line-height:1.7;margin-bottom:22px}
.wa-branch-list{display:flex;flex-direction:column;gap:10px}
.wa-branch-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;border:1.5px solid rgba(37,211,102,.25);border-radius:14px;background:#fff;cursor:pointer;font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:600;color:var(--CH);transition:all .25s cubic-bezier(.4,0,.2,1)}
.wa-branch-btn:hover{background:#25D366;color:#fff;border-color:#25D366;transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.3)}
.wa-branch-btn i.fa-map-marker-alt{color:#25D366;font-size:.8rem;transition:color .25s}
.wa-branch-btn:hover i{color:#fff}
.wa-branch-arrow{margin-left:auto;font-size:1.1rem}

/* ── Branches Page ────────────────────────────────────────── */

/* Hero */
.branches-hero{min-height:82vh;position:relative;display:flex;align-items:center;overflow:hidden}
.brh-bg{position:absolute;inset:0;background:url('../images/Keelkattalai/room-1.jpeg') center/cover no-repeat;transform:scale(1.05);transition:transform 12s ease}
.branches-hero.revealed .brh-bg{transform:scale(1)}
.brh-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.93) 0%,rgba(26,26,46,.85) 50%,rgba(0,0,0,.6) 100%)}
.brh-content{position:relative;z-index:2;color:#fff;padding-top:130px;padding-bottom:80px;text-align:center}
.brh-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:8px 22px;font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:24px;animation:fadeDown .8s ease .2s both}
.brh-title{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6vw,5rem);font-weight:900;line-height:1.08;margin-bottom:20px;animation:fadeUp .8s ease .4s both}
.brh-title em{font-style:italic;color:var(--G)}
.brh-sub{font-family:'Poppins',sans-serif;font-size:.97rem;color:rgba(255,255,255,.75);max-width:560px;line-height:1.9;margin:0 auto 40px;animation:fadeUp .8s ease .6s both}
.brh-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:0;animation:fadeUp .8s ease .8s both;border-top:1px solid rgba(255,255,255,.12);padding-top:32px;max-width:640px;margin:0 auto}
.bstat{padding:0 32px;border-right:1px solid rgba(255,255,255,.14);text-align:center}
.bstat:last-child{border:none}
.bstat-num{font-family:'Playfair Display',serif;font-size:2.1rem;font-weight:900;color:var(--G);display:block;line-height:1}
.bstat-lbl{font-family:'Poppins',sans-serif;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:6px;display:block}

/* Scroll hint */
.scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2}
.scroll-hint span{font-family:'Poppins',sans-serif;font-size:.58rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);animation:fadeUp .8s ease 1.3s both}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.scroll-arrow{color:rgba(255,255,255,.4);font-size:.78rem;animation:scrollBounce 1.8s ease infinite 1.5s}

/* Quick-jump cards */
.qj-card{background:#fff;border-radius:var(--r3);padding:28px 24px;text-align:center;border:1px solid rgba(161,0,139,.08);box-shadow:var(--s1);transition:var(--tr);cursor:pointer;position:relative;overflow:hidden;height:100%}
.qj-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--P),var(--G));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.qj-card:hover{transform:translateY(-8px);box-shadow:var(--s4);border-color:rgba(161,0,139,.15)}
.qj-card:hover::before{transform:scaleX(1)}
.qj-thumb{width:100%;height:160px;border-radius:var(--r2);overflow:hidden;margin-bottom:18px}
.qj-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.qj-card:hover .qj-thumb img{transform:scale(1.08)}
.qj-badge{display:inline-flex;align-items:center;gap:5px;background:var(--LB);border-radius:50px;padding:4px 12px;font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--P);margin-bottom:8px}
.qj-name{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:900;color:var(--CH);margin-bottom:6px}
.qj-addr{font-family:'Poppins',sans-serif;font-size:.75rem;color:var(--MU);margin-bottom:14px;line-height:1.5}
.qj-stats{display:flex;justify-content:center;gap:16px;margin-bottom:16px}
.qj-s{text-align:center}
.qj-s-num{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:900;color:var(--P);display:block;line-height:1}
.qj-s-lbl{font-family:'Poppins',sans-serif;font-size:.58rem;letter-spacing:1px;text-transform:uppercase;color:var(--MU);margin-top:3px}

/* Branch feature sections */
.branch-sec{padding:100px 0}
.branch-img-col{position:relative}
.branch-main-img{width:100%;height:520px;object-fit:cover;border-radius:var(--r4);display:block}
.bi-frame{position:relative;border-radius:var(--r4)}
.bi-shadow-gold{box-shadow:28px 28px 0 var(--G)}
.bi-shadow-light{box-shadow:28px 28px 0 var(--LB)}
.bi-badge{position:absolute;bottom:28px;left:28px;background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;border-radius:var(--r3);padding:18px 24px;z-index:2}
.bi-badge-flagship{background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH)}
.bi-badge-num{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:900;color:var(--G);line-height:1}
.bi-badge-flagship .bi-badge-num{color:var(--CH)}
.bi-badge-lbl{font-family:'Poppins',sans-serif;font-size:.68rem;opacity:.85;margin-top:3px}
.bi-mini{position:absolute;top:28px;right:-20px;width:120px;height:120px;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s3);border:4px solid #fff;z-index:2}
.bi-mini img{width:100%;height:100%;object-fit:cover}
.branch-ribbon{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH);border-radius:50px;padding:6px 16px;font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}

/* Feature list (branches page) */
.branch-sec .feat-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(161,0,139,.07)}
.branch-sec .feat-item:last-child{border:none}
.branch-sec .feat-ico{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,rgba(161,0,139,.1),rgba(110,0,96,.15));display:flex;align-items:center;justify-content:center;color:var(--P);font-size:.88rem;flex-shrink:0;margin-top:2px;transition:var(--tr)}
.branch-sec .feat-item:hover .feat-ico{background:linear-gradient(135deg,var(--P),var(--DP));color:var(--G)}
.feat-text{font-family:'Poppins',sans-serif;font-size:.83rem;font-weight:600;color:var(--CH)}
.feat-sub{font-family:'Poppins',sans-serif;font-size:.74rem;color:var(--MU);margin-top:2px;line-height:1.55}

/* Nearby chips */
.nearby-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.nc{display:inline-flex;align-items:center;gap:6px;background:var(--LB);border:1px solid rgba(161,0,139,.12);border-radius:50px;padding:6px 14px;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:500;color:var(--CH)}
.nc i{color:var(--P);font-size:.72rem}

/* Amenity pills */
.amen-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.ap{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid rgba(161,0,139,.1);border-radius:50px;padding:5px 12px;font-family:'Poppins',sans-serif;font-size:.68rem;font-weight:500;color:var(--MU)}
.ap i{color:var(--P);font-size:.7rem}

/* Price badge */
.price-badge{display:inline-flex;align-items:baseline;gap:4px;margin-bottom:20px}
.pb-from{font-family:'Poppins',sans-serif;font-size:.72rem;color:var(--MU)}
.pb-price{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--P)}
.pb-per{font-family:'Poppins',sans-serif;font-size:.75rem;color:var(--MU)}

/* Compare table (branches page override) */
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2)}
.cmp-table th{background:linear-gradient(135deg,var(--DP),var(--P));color:#fff;font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;padding:18px 20px;text-align:center}
.cmp-table th:first-child{text-align:left;background:var(--CH)}
.cmp-table td{padding:14px 20px;font-family:'Poppins',sans-serif;font-size:.8rem;color:var(--CH);text-align:center;border-bottom:1px solid rgba(161,0,139,.07);background:#fff}
.cmp-table td:first-child{text-align:left;font-weight:600;color:var(--MU);background:var(--LB)}
.cmp-table tr:last-child td{border-bottom:none}
.cmp-check{color:#22c55e;font-size:.9rem}
.cmp-cross{color:#e5e7eb;font-size:.9rem}
.cmp-highlight{background:rgba(161,0,139,.04)!important}

/* Star rating */
.star-row{color:var(--G);font-size:.85rem;letter-spacing:2px;margin-bottom:6px}

/* Amenity icon (shared style for all am-items) */
.am-icon{width:58px;height:58px;border-radius:16px;margin:0 auto 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:var(--G)}
.am-item:hover{transform:translateY(-4px);background:rgba(255,255,255,.1)!important}

/* Branches responsive */
@media(max-width:991px){
  .bi-mini{display:none}
  .bi-shadow-gold,.bi-shadow-light{box-shadow:14px 14px 0 var(--G)}
  .branch-main-img{height:360px}
  .branch-sec{padding:70px 0}
}
@media(max-width:767px){
  .brh-stats{gap:16px}
  .bstat{border:none;padding:8px 16px}
  .branch-main-img{height:280px}
  .bi-shadow-gold,.bi-shadow-light{box-shadow:none}
}

/* ── Branch Pages (shared) ── */
.branch-hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden}
.bh-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 10s ease}
.branch-hero.revealed .bh-bg{transform:scale(1)}
.bh-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.9) 0%,rgba(26,26,46,.78) 60%,rgba(0,0,0,.5) 100%)}
.bh-content{position:relative;z-index:2;color:#fff;padding-top:130px;padding-bottom:80px;text-align:center}
.bh-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:7px 20px;font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:22px;animation:fadeDown .8s ease .2s both}
.bh-title{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6vw,5rem);font-weight:900;line-height:1.08;margin-bottom:16px;animation:fadeUp .8s ease .4s both}
.bh-title em{font-style:italic;color:var(--G)}
.bh-sub{font-family:'Poppins',sans-serif;font-size:.97rem;color:rgba(255,255,255,.75);max-width:540px;line-height:1.9;margin-bottom:28px;animation:fadeUp .8s ease .6s both;margin-left:auto;margin-right:auto}
.bh-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;justify-content:center;animation:fadeUp .8s ease .7s both}
.bh-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:7px 16px;font-family:'Poppins',sans-serif;font-size:.71rem;font-weight:500;color:rgba(255,255,255,.9)}
.bh-chip i{color:var(--G);font-size:.78rem}
.bh-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s ease .85s both}
.flagship-ribbon{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH);border-radius:50px;padding:5px 14px;font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
.amenity-bar{background:#fff;border-bottom:1px solid rgba(161,0,139,.08);padding:16px 0;position:sticky;top:68px;z-index:90;box-shadow:0 4px 20px rgba(0,0,0,.05)}
.amenity-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 4px}
.amenity-scroll::-webkit-scrollbar{display:none}
.amen-chip{display:inline-flex;align-items:center;gap:7px;background:var(--LB);border:1px solid rgba(161,0,139,.1);border-radius:50px;padding:7px 16px;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:500;color:var(--CH);white-space:nowrap;transition:var(--tr)}
.amen-chip:hover{background:var(--P);color:#fff;border-color:var(--P)}
.amen-chip i{color:var(--P);font-size:.75rem;transition:color .3s}
.amen-chip:hover i{color:var(--G)}
.branch-img-wrap{border-radius:var(--r4);overflow:hidden;position:relative;box-shadow:24px 24px 0 var(--G)}
.branch-img-wrap img{width:100%;height:420px;object-fit:cover}
.bimg-badge{position:absolute;bottom:24px;left:24px;background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;border-radius:var(--r3);padding:18px 22px}
.bimg-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--G);line-height:1}
.bimg-lbl{font-family:'Poppins',sans-serif;font-size:.68rem;opacity:.85;margin-top:3px}
.hl-item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid rgba(161,0,139,.07)}
.hl-item:last-child{border:none}
.hl-ico{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(161,0,139,.1),rgba(110,0,96,.15));display:flex;align-items:center;justify-content:center;color:var(--P);font-size:.85rem;flex-shrink:0;margin-top:2px;transition:var(--tr)}
.hl-item:hover .hl-ico{background:linear-gradient(135deg,var(--P),var(--DP));color:var(--G)}
.hl-text{font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:600;color:var(--CH)}
.hl-sub{font-family:'Poppins',sans-serif;font-size:.74rem;color:var(--MU);margin-top:2px}
.room-card{background:#fff;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);border:1px solid rgba(161,0,139,.07);height:100%}
.room-card:hover{transform:translateY(-8px);box-shadow:var(--s4)}
.room-img{height:200px;overflow:hidden;position:relative}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.room-card:hover .room-img img{transform:scale(1.07)}
.room-badge{position:absolute;top:12px;left:12px;font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:50px}
.room-badge.standard{background:var(--P);color:#fff}
.room-badge.popular{background:var(--G);color:var(--CH)}
.room-badge.suite{background:var(--CH);color:var(--G)}
.room-body{padding:20px}
.room-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:800;color:var(--CH);margin-bottom:10px}
.room-feats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
.rf{display:inline-flex;align-items:center;gap:4px;font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:500;color:var(--MU);background:var(--LB);padding:4px 10px;border-radius:50px}
.rf i{color:var(--P);font-size:.58rem}
.room-price-row{display:flex;align-items:flex-end;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(161,0,139,.07)}
.r-price{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:900;color:var(--P)}
.r-per{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--MU);margin-left:2px}
.am-grid-item{text-align:center;padding:26px 16px;transition:var(--tr);border-radius:var(--r2)}
.am-grid-item:hover{background:rgba(255,255,255,.05);transform:translateY(-4px)}
.am-ico{width:58px;height:58px;border-radius:16px;margin:0 auto 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:var(--G);transition:var(--tr)}
.am-grid-item:hover .am-ico{background:var(--P);border-color:var(--P)}
.am-name{font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:600;color:rgba(255,255,255,.82)}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;grid-auto-rows:200px}
.gal-item{border-radius:var(--r2);overflow:hidden;cursor:zoom-in;position:relative}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;display:block}
.gal-item.tall{grid-row:span 2}
.gal-item:hover img{transform:scale(1.07)}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(110,0,96,.7),transparent);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:14px}
.gal-item:hover .gal-overlay{opacity:1}
.gal-lbl{font-family:'Poppins',sans-serif;font-size:.7rem;color:#fff;font-weight:500}
.addr-card{background:#fff;border-radius:var(--r3);padding:30px;box-shadow:var(--s2);border:1px solid rgba(161,0,139,.07);height:100%}
.loc-map-ph{width:100%;height:300px;border-radius:var(--r2);background:linear-gradient(135deg,#f0eaf8,#e2d4f0);display:flex;align-items:center;justify-content:center;text-align:center;border:2px dashed rgba(161,0,139,.2);cursor:pointer;transition:var(--tr)}
.loc-map-ph:hover{border-color:var(--P);box-shadow:var(--s2)}
.nearby-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(161,0,139,.06)}
.nearby-row:last-child{border:none}
.near-dot{width:8px;height:8px;border-radius:50%;background:var(--P);flex-shrink:0}
.near-name{font-family:'Poppins',sans-serif;font-size:.8rem;font-weight:500;color:var(--CH)}
.near-dist{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--P);background:rgba(161,0,139,.08);padding:2px 9px;border-radius:50px;margin-left:auto;font-weight:600}
.rv-card{background:#fff;border-radius:var(--r3);padding:30px;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);height:100%;transition:var(--tr);position:relative;overflow:hidden}
.rv-card::before{content:'"';position:absolute;top:10px;right:14px;font-family:'Playfair Display',serif;font-size:5.5rem;color:var(--P);opacity:.05;line-height:1}
.rv-card:hover{box-shadow:var(--s4);transform:translateY(-6px)}
.rv-stars{display:flex;gap:2px;margin-bottom:12px}
.rv-stars i{color:var(--G);font-size:.78rem}
.rv-text{font-family:'Poppins',sans-serif;font-size:.82rem;color:var(--MU);line-height:1.85;margin-bottom:18px}
.rv-author{display:flex;align-items:center;gap:11px}
.rv-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--G);flex-shrink:0}
.rv-name{font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:700;color:var(--CH)}
.rv-meta{font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--MU)}
.cta-sec{background:linear-gradient(135deg,var(--CH),#2a0025);padding:100px 0;text-align:center;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;inset:0;background:url('../images/Keelkattalai/room-1.jpeg') center/cover;opacity:.06}
.cta-inner{position:relative;z-index:1}
.nav-drop-menu a.active{background:rgba(242,229,0,.15)!important;color:#fff!important}
@media(max-width:991px){.gal-grid{grid-template-columns:1fr 1fr}.gal-item.tall{grid-row:span 1}}

/* ── About Page ── */

/* Hero */
.about-hero{min-height:88vh;position:relative;display:flex;align-items:center;overflow:hidden}
.ah-bg{position:absolute;inset:0;background:url('../images/Keelkattalai/room-1.jpeg') center/cover no-repeat}
.ah-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.92) 0%,rgba(26,26,46,.82) 55%,rgba(0,0,0,.55) 100%)}
.ah-content{position:relative;z-index:2;color:#fff;padding-top:110px;padding-bottom:60px;text-align:center}
.ah-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:8px 22px;font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:24px;animation:fadeDown .8s ease .2s both}
.ah-title{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6vw,5rem);font-weight:900;line-height:1.08;margin-bottom:20px;animation:fadeUp .8s ease .4s both}
.ah-title em{font-style:italic;color:var(--G)}
.ah-sub{font-family:'Poppins',sans-serif;font-size:1rem;color:rgba(255,255,255,.75);max-width:560px;line-height:1.85;animation:fadeUp .8s ease .6s both;margin-bottom:36px;margin-left:auto;margin-right:auto}
.ah-stats{display:flex;gap:0;justify-content:center;animation:fadeUp .8s ease .8s both}
.ahstat{padding:0 28px;border-right:1px solid rgba(255,255,255,.15);text-align:center}
.ahstat:first-child{padding-left:0}.ahstat:last-child{border:none}
.ahstat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--G);display:block;line-height:1}
.ahstat-lbl{font-family:'Poppins',sans-serif;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:5px;display:block}

/* Story section */
.story-img{position:relative;border-radius:var(--r4);overflow:hidden;box-shadow:32px 32px 0 var(--G)}
.story-img img{width:100%;height:480px;object-fit:cover;border-radius:var(--r4)}
.story-badge{position:absolute;bottom:28px;left:28px;background:var(--P);color:#fff;border-radius:var(--r3);padding:20px 26px;font-family:'Playfair Display',serif}
.story-badge-num{font-size:2.4rem;font-weight:900;color:var(--G);line-height:1}
.story-badge-lbl{font-family:'Poppins',sans-serif;font-size:.72rem;opacity:.82;margin-top:3px}

/* Value cards */
.val-card{padding:36px 28px;border-radius:var(--r3);background:#fff;border:1px solid rgba(161,0,139,.07);box-shadow:var(--s1);transition:var(--tr);height:100%;position:relative;overflow:hidden}
.val-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:linear-gradient(to bottom,var(--P),var(--G));transition:height .4s ease;border-radius:0 0 4px 0}
.val-card:hover{box-shadow:var(--s4);transform:translateY(-6px);border-color:rgba(161,0,139,.15)}
.val-card:hover::before{height:100%}
.val-icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,rgba(161,0,139,.1),rgba(110,0,96,.15));display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--P);margin-bottom:20px;transition:var(--tr)}
.val-card:hover .val-icon{background:linear-gradient(135deg,var(--P),var(--DP));color:var(--G)}
.val-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:800;color:var(--CH);margin-bottom:10px}
.val-desc{font-family:'Poppins',sans-serif;font-size:.8rem;color:var(--MU);line-height:1.85;text-align:justify}

/* Timeline (vertical — about page) */
.tl-item{display:flex;gap:28px;margin-bottom:44px;position:relative}
.tl-body{background:#fff;border-radius:var(--r3);padding:24px 28px;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);flex:1;transition:var(--tr)}
.tl-body:hover{box-shadow:var(--s4);transform:translateX(6px)}
.tl-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;color:var(--CH);margin-bottom:8px}

/* Timeline (branches page — horizontal grid) */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.timeline::before{content:'';position:absolute;top:40px;left:16.67%;right:16.67%;height:2px;background:linear-gradient(to right,var(--P),var(--G),var(--P));z-index:0}
.tl-step{text-align:center;position:relative;padding-top:0}
.tl-dot{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;z-index:1;box-shadow:0 8px 24px rgba(161,0,139,.3)}
.tl-year{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:var(--G);line-height:1}
.tl-branch{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:8px}
.tl-desc{font-family:'Poppins',sans-serif;font-size:.8rem;color:var(--MU);line-height:1.7;max-width:200px;margin:0 auto 14px}

/* About timeline vertical overrides */
#journey .timeline{display:block;position:relative}
#journey .tl-desc{max-width:none;text-align:justify}
#journey .timeline::before{display:block;content:'';position:absolute;left:28px;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(to bottom,var(--P),var(--G));border-radius:1px;top:0;left:28px;right:auto}
#journey .tl-dot{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:1.1rem;flex-shrink:0;box-shadow:0 8px 24px rgba(161,0,139,.3);z-index:1;margin:4px 0 0 0;margin-left:0;margin-right:0}
#journey .tl-year{font-family:'Playfair Display',serif;font-size:1rem;font-weight:800;color:var(--P);margin-bottom:4px;line-height:normal}

/* Team cards (about page — image + overlay style) */
.team-card{border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);height:100%;background:#fff}
.team-card:hover{transform:translateY(-8px);box-shadow:var(--s4)}
.team-img{height:320px;overflow:hidden;position:relative}
.team-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .5s}
.team-card:hover .team-img img{transform:scale(1.07)}
.team-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(110,0,96,.85) 0%,transparent 55%);opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;padding:20px}
.team-card:hover .team-overlay{opacity:1}
.team-socials{display:flex;gap:8px}
.tsoc{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.78rem;transition:var(--tr)}
.tsoc:hover{background:var(--G);color:var(--CH)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.team-body{padding:22px}
.team-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:800;color:var(--CH);margin-bottom:3px}
.team-role{font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--P);margin-bottom:8px}
.team-bio{font-family:'Poppins',sans-serif;font-size:.76rem;color:var(--MU);line-height:1.7;text-align:justify}
.team-photo{width:110px;height:110px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:3px solid rgba(161,0,139,.15);display:block}
.team-branch{font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--MU);background:var(--LB);padding:3px 10px;border-radius:50px;display:inline-block}

/* Achievements — 3D redesign */
#achievements{background:linear-gradient(135deg,#0d0020 0%,#2a0040 35%,#550060 65%,#0d001a 100%);position:relative;overflow:hidden}
.ach-bg-mesh{position:absolute;inset:0;background-image:radial-gradient(circle at 18% 30%,rgba(242,229,0,.08) 0%,transparent 50%),radial-gradient(circle at 82% 72%,rgba(161,0,139,.18) 0%,transparent 50%),radial-gradient(circle at 50% -10%,rgba(110,0,96,.25) 0%,transparent 55%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,auto,auto,52px 52px,52px 52px;pointer-events:none;z-index:0}
.ach-card{text-align:center;padding:40px 20px 34px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.05) 100%);border:1px solid rgba(255,255,255,.16);position:relative;overflow:hidden;transform:perspective(900px) rotateX(6deg);transform-style:preserve-3d;box-shadow:0 6px 0 rgba(0,0,0,.55),0 10px 0 rgba(0,0,0,.35),0 14px 0 rgba(0,0,0,.18),0 28px 55px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.28);transition:all .42s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ach-card::before{content:'';position:absolute;top:0;left:8%;right:8%;height:1.5px;background:linear-gradient(to right,transparent,rgba(255,255,255,.65),transparent);border-radius:1px;pointer-events:none}
.ach-card:hover{transform:perspective(900px) rotateX(0deg) translateY(-16px);box-shadow:0 2px 0 rgba(0,0,0,.25),0 44px 80px rgba(0,0,0,.65),0 0 60px rgba(161,0,139,.22),inset 0 1px 0 rgba(255,255,255,.35)}
.ach-ico{width:72px;height:72px;border-radius:20px;margin:0 auto 20px;background:linear-gradient(135deg,#F2E500 0%,#D4C800 100%);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--P);box-shadow:0 4px 0 rgba(0,0,0,.3),0 8px 0 rgba(0,0,0,.14),0 18px 32px rgba(242,229,0,.38),inset 0 1px 0 rgba(255,255,255,.5);position:relative}
.ach-ico::before{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(155deg,rgba(255,255,255,.38) 0%,transparent 55%);pointer-events:none}
.ach-card:hover .ach-ico{box-shadow:0 4px 0 rgba(0,0,0,.3),0 8px 0 rgba(0,0,0,.14),0 24px 44px rgba(242,229,0,.55),inset 0 1px 0 rgba(255,255,255,.5)}
.ach-num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:900;color:var(--G);line-height:1;display:block;text-shadow:0 2px 14px rgba(242,229,0,.35)}
.ach-lbl{font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:700;color:#fff;margin-top:8px;display:block;letter-spacing:.5px}
.ach-sub{font-family:'Poppins',sans-serif;font-size:.65rem;color:rgba(255,255,255,.5);margin-top:5px}

/* Testimonial cards */
.tcard{background:#fff;border-radius:var(--r3);padding:36px;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);height:100%;transition:var(--tr);position:relative;overflow:hidden}
.tcard::before{content:'"';position:absolute;top:14px;right:18px;font-family:'Playfair Display',serif;font-size:6rem;color:var(--P);opacity:.05;line-height:1}
.tcard:hover{box-shadow:var(--s4);transform:translateY(-5px)}
.tcard-stars{color:var(--G);font-size:.88rem;margin-bottom:14px;letter-spacing:2px}
.tcard-text{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:#444;line-height:1.8;margin-bottom:22px;font-style:italic;text-align:justify}
.tcard-author{display:flex;align-items:center;gap:14px}
.tcard-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2.5px solid var(--P);flex-shrink:0}
.tcard-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:.85rem;color:var(--CH)}
.tcard-meta{font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--MU)}
.tcard-stay{font-family:'Poppins',sans-serif;font-size:.62rem;color:var(--P);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-top:2px}

/* Gallery masonry */
.gal-masonry{columns:4;gap:10px}
.gal-item .gal-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(110,0,96,.8),transparent);color:#fff;font-family:'Poppins',sans-serif;font-size:.68rem;font-weight:600;padding:12px 14px;opacity:0;transition:opacity .3s;letter-spacing:1px}
.gal-item:hover .gal-cap{opacity:1}

/* Counter keyframe */
@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Value cards (about) — additional helpers kept for other pages */
.val-ico-circle{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--G);font-size:1.4rem;box-shadow:0 8px 24px rgba(161,0,139,.3)}
.abt-val-card{background:#fff;border-radius:var(--r3);padding:34px 24px;text-align:center;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);transition:var(--tr);height:100%}
.abt-val-card:hover{transform:translateY(-6px);box-shadow:var(--s4)}
.abt-val-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:8px}
.abt-val-desc{font-family:'Poppins',sans-serif;font-size:.8rem;color:var(--MU);line-height:1.8}

/* Perfect Builders box */
.builders-info-box{border:1.5px solid var(--G);border-radius:var(--r2);padding:18px 28px;margin-top:28px;text-align:center;font-family:'Poppins',sans-serif;font-size:.9rem;font-weight:700;color:var(--G);letter-spacing:3px;text-transform:uppercase}

/* Story image (about) */
.about-story-img{position:relative;border-radius:var(--r4);overflow:hidden;box-shadow:20px 20px 0 var(--G)}
.about-story-img img{width:100%;height:460px;object-fit:cover;display:block}
.about-est-badge{position:absolute;bottom:24px;left:24px;background:var(--P);color:#fff;border-radius:var(--r2);padding:16px 22px;font-family:'Playfair Display',serif}
.about-est-badge .est-year{font-size:2rem;font-weight:900;color:var(--G);line-height:1}
.about-est-badge .est-lbl{font-family:'Poppins',sans-serif;font-size:.7rem;opacity:.85;margin-top:3px}

@media(max-width:900px){
  .ah-stats{flex-wrap:wrap;gap:16px}
  .ahstat{border:none;padding:8px 16px}
}
@media(max-width:767px){
  .gal-masonry{columns:2}
  #journey .timeline::before{display:none}
  .timeline{grid-template-columns:1fr}
  .timeline::before{display:none}
  .team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .team-grid{grid-template-columns:1fr}
}
@media(max-width:767px){.bh-meta{gap:8px}}

/* ── Events Page ──────────────────────────────────────────── */
/* Events hero */
.events-hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden}
.eh-bg{position:absolute;inset:0;background:url('../images/events/WhatsApp%20Image%202026-05-30%20at%2006.12.08.jpeg') center/cover no-repeat}
.eh-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.93) 0%,rgba(26,26,46,.82) 55%,rgba(0,0,0,.5) 100%)}
.eh-content{position:relative;z-index:2;color:#fff;padding-top:120px;padding-bottom:80px}
.eh-content .col-lg-7{text-align:center}
.eh-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:8px 22px;font-family:'Poppins',sans-serif;font-size:.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:22px;animation:fadeDown .8s ease .2s both}
.eh-title{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6.5vw,5.2rem);font-weight:900;line-height:1.06;margin-bottom:18px;animation:fadeUp .8s ease .4s both}
.eh-title em{font-style:italic;color:var(--G)}
.eh-sub{font-family:'Poppins',sans-serif;font-size:.98rem;color:rgba(255,255,255,.76);max-width:560px;line-height:1.85;animation:fadeUp .8s ease .6s both;margin-bottom:32px;margin-left:auto;margin-right:auto}
.eh-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s ease .75s both;margin-bottom:44px}
.eh-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:8px 18px;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:600;color:#fff}
.eh-pill i{font-size:.85rem;color:var(--G)}
/* Venue quick card */
.venue-quick-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);border-radius:var(--r3);padding:28px 32px;animation:fadeUp .8s ease .9s both}
.vqc-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.vqc-row:last-child{border:none;margin:0;padding:0}
.vqc-icon{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--G),var(--GD));display:flex;align-items:center;justify-content:center;color:var(--P);font-size:.88rem;flex-shrink:0}
.vqc-label{font-family:'Poppins',sans-serif;font-size:.62rem;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase;margin-bottom:2px}
.vqc-val{font-family:'Poppins',sans-serif;font-size:.84rem;color:#fff;font-weight:600}
/* Event type cards */
.ev-card{border-radius:var(--r4);overflow:hidden;box-shadow:var(--s2);height:100%;transition:var(--tr);position:relative;cursor:pointer}
.ev-card:hover{transform:translateY(-8px);box-shadow:var(--s4)}
.ev-img{height:260px;overflow:hidden;position:relative}
.ev-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.ev-card:hover .ev-img img{transform:scale(1.08)}
.ev-cat-chip{position:absolute;top:14px;left:14px;border-radius:50px;padding:6px 14px;font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:700;color:#fff;letter-spacing:.5px}
.ev-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,46,.9) 0%,rgba(26,26,46,.3) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .35s}
.ev-card:hover .ev-overlay{opacity:1}
.ev-ov-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:6px}
.ev-ov-desc{font-family:'Poppins',sans-serif;font-size:.74rem;color:rgba(255,255,255,.8);line-height:1.6;margin-bottom:14px}
.ev-body{padding:22px;background:#fff;border-top:3px solid var(--P)}
.ev-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:800;color:var(--CH);margin-bottom:5px}
.ev-desc{font-family:'Poppins',sans-serif;font-size:.76rem;color:var(--MU);line-height:1.7}
/* Venue features */
.feat-box{background:#fff;border-radius:var(--r3);padding:28px;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);height:100%;transition:var(--tr);position:relative;overflow:hidden}
.feat-box::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:linear-gradient(to bottom,var(--P),var(--G));transition:height .4s ease}
.feat-box:hover{transform:translateY(-5px);box-shadow:var(--s4);border-color:rgba(161,0,139,.15)}
.feat-box:hover::before{height:100%}
.feat-icon{width:56px;height:56px;border-radius:15px;background:linear-gradient(135deg,rgba(161,0,139,.1),rgba(110,0,96,.14));display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--P);margin-bottom:18px;transition:var(--tr)}
.feat-box:hover .feat-icon{background:linear-gradient(135deg,var(--P),var(--DP));color:var(--G)}
.feat-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:800;color:var(--CH);margin-bottom:7px}
.feat-desc{font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--MU);line-height:1.8}
/* Capacity strip */
.cap-strip{background:linear-gradient(135deg,var(--P),var(--DP));border-radius:var(--r4);padding:48px 40px;color:#fff;position:relative;overflow:hidden}
.cap-strip::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;border:40px solid rgba(255,255,255,.06);pointer-events:none}
.cap-strip::after{content:'';position:absolute;bottom:-40px;left:40px;width:150px;height:150px;border-radius:50%;border:30px solid rgba(242,229,0,.08);pointer-events:none}
.cap-stat{text-align:center;position:relative;z-index:1}
.cap-num{font-family:'Playfair Display',serif;font-size:3.2rem;font-weight:900;color:var(--G);display:block;line-height:1}
.cap-lbl{font-family:'Poppins',sans-serif;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:5px;display:block}
/* Pricing packages */
.pkg-card{border-radius:var(--r4);overflow:hidden;box-shadow:var(--s2);height:100%;transition:var(--tr);background:#fff;position:relative;border:2px solid transparent}
.pkg-card:hover{transform:translateY(-8px);box-shadow:var(--s4)}
.pkg-card.featured{border-color:var(--G);transform:scale(1.03)}
.pkg-card.featured:hover{transform:scale(1.03) translateY(-8px)}
.pkg-header{padding:30px 28px;position:relative;overflow:hidden}
.pkg-header.veg{background:linear-gradient(135deg,var(--P),var(--DP))}
.pkg-header.nonveg{background:linear-gradient(135deg,#c2410c,#9a3412)}
.pkg-header.premium{background:linear-gradient(135deg,var(--CH),#2d0028)}
.pkg-badge{position:absolute;top:14px;right:14px;background:var(--G);color:var(--CH);font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;border-radius:50px}
.pkg-icon{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;margin-bottom:16px}
.pkg-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:900;color:#fff;margin-bottom:4px}
.pkg-sub{font-family:'Poppins',sans-serif;font-size:.72rem;color:rgba(255,255,255,.7)}
.pkg-price{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:900;color:var(--G);line-height:1;margin-top:14px}
.pkg-price span{font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:400;color:rgba(255,255,255,.6)}
.pkg-body{padding:28px}
.pkg-incl-title{font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--P);margin-bottom:14px}
.pkg-item{display:flex;align-items:center;gap:10px;margin-bottom:11px;font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--CH)}
.pkg-item i{color:var(--P);font-size:.75rem;flex-shrink:0}
.pkg-item.no i{color:#d1d5db}
.pkg-item.no{color:var(--MU)}
/* Events gallery masonry */
.ev-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:10px}
.eg-item{border-radius:var(--r2);overflow:hidden;position:relative;cursor:pointer}
.eg-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.eg-item:nth-child(6){grid-column:span 2}
.eg-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.eg-item:hover img{transform:scale(1.07)}
.eg-cap{position:absolute;inset:0;background:linear-gradient(to top,rgba(110,0,96,.78),transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:14px}
.eg-item:hover .eg-cap{opacity:1}
.eg-cap span{font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:600;color:#fff;letter-spacing:.5px}
/* Testimonial cards (events) */
.tv-card{background:#fff;border-radius:var(--r3);padding:32px;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);height:100%;transition:var(--tr);position:relative;overflow:hidden}
.tv-card::before{content:'"';position:absolute;top:12px;right:18px;font-family:'Playfair Display',serif;font-size:5.5rem;color:var(--P);opacity:.05;line-height:1}
.tv-card:hover{box-shadow:var(--s4);transform:translateY(-4px)}
.tv-stars{color:var(--G);font-size:.85rem;margin-bottom:12px;letter-spacing:2px}
.tv-text{font-family:'Cormorant Garamond',serif;font-size:1rem;color:#444;line-height:1.8;margin-bottom:20px;font-style:italic}
.tv-author{display:flex;align-items:center;gap:12px}
.tv-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2.5px solid var(--P);flex-shrink:0}
.tv-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:.83rem;color:var(--CH)}
.tv-event{font-family:'Poppins',sans-serif;font-size:.68rem;color:var(--P);font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.tv-date{font-family:'Poppins',sans-serif;font-size:.65rem;color:var(--MU)}
/* Booking form card (events) */
.bk-form-card{background:#fff;border-radius:var(--r4);padding:44px;box-shadow:var(--s3);position:relative;overflow:hidden}
.bk-form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--P),var(--G),var(--P));background-size:200%;animation:shimmer 3s linear infinite}
.flabel{display:block;font-family:'Poppins',sans-serif;font-size:.67rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--P);margin-bottom:7px}
.fwrap{position:relative}
.fwrap::before{content:'';position:absolute;left:0;top:0;bottom:0;width:42px;background:rgba(161,0,139,.06);border-right:1px solid rgba(161,0,139,.1);border-radius:var(--r2) 0 0 var(--r2);pointer-events:none;z-index:1}
.fwrap > i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--P);font-size:.82rem;pointer-events:none;z-index:2}
.fwrap > i.fi-top{top:15px;transform:none}
.finput{width:100%;padding:13px 15px 13px 52px;border:1.5px solid #e8e0f0;border-radius:var(--r2);font-family:'Poppins',sans-serif;font-size:.85rem;color:var(--CH);background:#fff;outline:none;transition:var(--tr);appearance:none;-webkit-appearance:none;box-shadow:0 2px 8px rgba(161,0,139,.04)}
.finput:focus{border-color:var(--P);box-shadow:0 0 0 4px rgba(161,0,139,.08),0 2px 8px rgba(161,0,139,.04)}
.finput:focus + i,.fwrap:focus-within::before{background:rgba(161,0,139,.1);border-color:rgba(161,0,139,.25)}
.fwrap:focus-within > i{color:var(--P)}
.finput::placeholder{color:#c0b8cc}
textarea.finput{padding-left:52px;resize:vertical}
/* Timeline (How it works) */
.hw-step{display:flex;gap:22px;margin-bottom:36px;position:relative}
.hw-step:not(:last-child)::after{content:'';position:absolute;left:22px;top:56px;width:2px;height:calc(100% - 20px);background:linear-gradient(to bottom,var(--P),rgba(161,0,139,.1))}
.hw-num{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:900;flex-shrink:0;box-shadow:0 6px 20px rgba(161,0,139,.3);z-index:1}
.hw-body{padding-top:8px}
.hw-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:6px}
.hw-desc{font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--MU);line-height:1.8}
/* Events navbar extras */
.nav-bar{background:linear-gradient(135deg,rgba(100,0,88,.93),rgba(26,0,21,.90));backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-bottom:1px solid rgba(242,229,0,.12);box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04);padding:8px 0;transition:all .4s cubic-bezier(.4,0,.2,1)}
#navbar.scrolled .nav-bar{padding:4px 0;background:linear-gradient(135deg,rgba(80,0,68,.97),rgba(18,0,12,.96));box-shadow:0 12px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(242,229,0,.06)}
#navbar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#F2E500 35%,#A1008B 65%,transparent 100%);z-index:2;pointer-events:none}
.nav-logo-img{height:62px;width:auto;object-fit:contain;border-radius:10px;filter:drop-shadow(0 4px 16px rgba(0,0,0,.65)) drop-shadow(0 2px 6px rgba(161,0,139,.5));transition:all .35s cubic-bezier(.4,0,.2,1)}
.nav-brand:hover .nav-logo-img{transform:scale(1.05) translateY(-1px);filter:drop-shadow(0 8px 24px rgba(0,0,0,.7)) drop-shadow(0 3px 12px rgba(242,229,0,.5))}
.nav-brand-words{display:flex;flex-direction:column;gap:1px}
.nav-brand-sub{font-family:'Poppins',sans-serif;font-size:.58rem;color:rgba(255,255,255,.4);letter-spacing:2.5px;text-transform:uppercase}
.nav-brand:hover .nav-brand-name{color:#F2E500}
/* Events responsive */
@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(80px) rotate(360deg)}}
@keyframes floatBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:900px){
  .ev-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .eg-item:nth-child(1){grid-column:span 2}
  .eg-item:nth-child(6){grid-column:span 1}
}
@media(max-width:600px){
  .bk-form-card{padding:28px 22px}
  .cap-strip{padding:32px 22px}
}

/* ── Booking Page ─────────────────────────────────────────── */
/* Booking hero */
.bk-hero{min-height:42vh;background:linear-gradient(135deg,rgba(110,0,96,.95),rgba(26,26,46,.98));display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden}
.bk-hero::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;border:80px solid rgba(242,229,0,.04);pointer-events:none}
.bk-hero::after{content:'';position:absolute;bottom:-80px;left:-60px;width:280px;height:280px;border-radius:50%;border:50px solid rgba(161,0,139,.06);pointer-events:none}
/* Booking form card */
.bk-card{background:#fff;border-radius:var(--r4);padding:48px;box-shadow:var(--s3);position:relative;overflow:hidden}
.bk-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--P),var(--G),var(--P));background-size:200%;animation:shimmer 3s linear infinite}
/* Step bar */
.step-bar{display:flex;align-items:center;margin-bottom:40px}
.step{display:flex;align-items:center;gap:10px;flex:1}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--LB);display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:.8rem;font-weight:700;color:var(--MU);flex-shrink:0;transition:var(--tr)}
.step.active .step-num{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff;box-shadow:0 4px 14px rgba(161,0,139,.3)}
.step.done .step-num{background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH)}
.step-label{font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;color:var(--MU);letter-spacing:.5px;text-transform:uppercase}
.step.active .step-label{color:var(--P)}
.step-line{flex:1;height:1px;background:#e0d8e8;margin:0 10px}
.step.done .step-line{background:var(--G)}
/* Auspicious toggle */
.ausp-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,rgba(242,229,0,.08),rgba(212,200,0,.05));border:1.5px solid rgba(242,229,0,.35);border-radius:var(--r2);padding:15px 20px}
.ausp-left{display:flex;align-items:center;gap:13px}
.ausp-icon{width:38px;height:38px;border-radius:50%;background:rgba(242,229,0,.15);display:flex;align-items:center;justify-content:center;color:#b8960a;font-size:.9rem;flex-shrink:0}
.ausp-title{font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:700;color:var(--CH);margin-bottom:2px}
.ausp-hint{font-family:'Poppins',sans-serif;font-size:.67rem;color:var(--MU);line-height:1.4}
.ausp-switch{position:relative;width:48px;height:27px;flex-shrink:0}
.ausp-switch input{opacity:0;width:0;height:0;position:absolute}
.ausp-track{position:absolute;inset:0;background:#ddd;border-radius:14px;cursor:pointer;transition:.3s;box-shadow:inset 0 1px 4px rgba(0,0,0,.1)}
.ausp-track::before{content:'';position:absolute;width:21px;height:21px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 2px 5px rgba(0,0,0,.2)}
.ausp-switch input:checked + .ausp-track{background:linear-gradient(135deg,#c8a000,#F2E500)}
.ausp-switch input:checked + .ausp-track::before{transform:translateX(21px)}
/* Room selection cards */
.rsel-card{border:2px solid #e0d8e8;border-radius:var(--r3);padding:20px;cursor:pointer;transition:var(--tr);position:relative}
.rsel-card:hover{border-color:var(--P);background:var(--LB)}
.rsel-card.selected{border-color:var(--P);background:var(--LB);box-shadow:0 0 0 4px rgba(161,0,139,.08)}
.rsel-card.unavail{opacity:.4;pointer-events:none;cursor:not-allowed;filter:grayscale(.4)}
.rsel-card.selected::after{content:'\f058';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:14px;right:14px;color:var(--P);font-size:1.1rem}
.rsel-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:4px}
.rsel-desc{font-family:'Poppins',sans-serif;font-size:.75rem;color:var(--MU);margin-bottom:10px}
.rsel-price{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:var(--P)}
.rsel-price span{font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:400;color:var(--MU)}
.rsel-feats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rsel-feat{background:#fff;border:1px solid rgba(161,0,139,.15);border-radius:50px;padding:3px 10px;font-family:'Poppins',sans-serif;font-size:.65rem;color:var(--MU)}
/* Booking summary card */
.sum-card{background:linear-gradient(160deg,var(--CH),#2d0028);border-radius:var(--r3);padding:32px;color:#fff;position:sticky;top:100px}
.sum-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.sum-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-family:'Poppins',sans-serif;font-size:.8rem}
.sum-lbl{color:rgba(255,255,255,.55)}
.sum-val{color:#fff;font-weight:600}
.sum-total{border-top:1px solid rgba(255,255,255,.15);margin-top:16px;padding-top:16px}
.sum-total .sum-lbl{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.8)}
.sum-total .sum-val{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;color:var(--G)}
.offer-box{background:rgba(242,229,0,.1);border:1px solid rgba(242,229,0,.25);border-radius:var(--r2);padding:14px 16px;margin:16px 0;display:flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-size:.75rem;color:var(--G)}
/* Booking loader keyframes */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ldBar{from{width:0}to{width:100%}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}

/* ── Nearby Page ──────────────────────────────────────────── */
/* Nearby hero */
.nl-hero{min-height:72vh;position:relative;display:flex;align-items:center;overflow:hidden}
.nl-hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1582560475093-ba66accbc424?w=1920&q=85') center/cover}
.nl-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(110,0,96,.92),rgba(26,26,46,.85))}
.nl-hero-content{position:relative;z-index:2;color:#fff;padding-top:110px;padding-bottom:60px;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.35);border-radius:50px;padding:7px 20px;font-family:'Poppins',sans-serif;font-size:.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--G);margin-bottom:20px;animation:fadeDown .8s ease .2s both}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5.5vw,4.4rem);font-weight:900;line-height:1.1;margin-bottom:18px;animation:fadeUp .8s ease .4s both}
.hero-title em{font-style:italic;color:var(--G)}
.hero-sub{font-family:'Poppins',sans-serif;font-size:.95rem;color:rgba(255,255,255,.75);max-width:560px;line-height:1.85;animation:fadeUp .8s ease .6s both;margin-bottom:28px;margin-left:auto;margin-right:auto}
.hotel-loc-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r3);padding:14px 20px;animation:fadeUp .8s ease .75s both;margin-bottom:32px}
.hlb-icon{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:.9rem;flex-shrink:0}
.hlb-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:800;color:#fff}
.hlb-addr{font-family:'Poppins',sans-serif;font-size:.7rem;color:rgba(255,255,255,.6)}
.cat-pills{display:flex;gap:10px;flex-wrap:wrap;animation:fadeUp .8s ease .9s both}
.cat-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:8px 16px;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:600;color:#fff;cursor:pointer;transition:var(--tr)}
.cat-pill:hover,.cat-pill.active{background:var(--G);color:var(--CH);border-color:var(--G)}
/* Sticky category nav */
.sticky-nav{position:sticky;top:70px;z-index:100;background:#fff;box-shadow:var(--s1);border-bottom:1px solid rgba(161,0,139,.08)}
.sn-inner{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sn-inner::-webkit-scrollbar{display:none}
.sn-btn{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:16px 22px;border:none;background:none;font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--MU);cursor:pointer;border-bottom:3px solid transparent;transition:var(--tr);white-space:nowrap}
.sn-btn:hover{color:var(--P)}
.sn-btn.active{color:var(--P);border-bottom-color:var(--P)}
.sn-btn i{font-size:.8rem}
/* Distance badges */
.dist-badge{display:inline-flex;align-items:center;gap:5px;background:var(--LB);border-radius:50px;padding:4px 11px;font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;color:var(--P)}
.dist-badge i{font-size:.6rem}
.time-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(242,229,0,.12);border:1px solid rgba(242,229,0,.3);border-radius:50px;padding:4px 10px;font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:600;color:#8a7200}
.time-badge i{font-size:.6rem}
/* Restaurant cards */
.rest-card{background:#fff;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);height:100%;position:relative;border:1px solid rgba(161,0,139,.06)}
.rest-card:hover{transform:translateY(-7px);box-shadow:var(--s4)}
.rest-img{height:200px;overflow:hidden;position:relative}
.rest-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rest-card:hover .rest-img img{transform:scale(1.07)}
.rest-star-chip{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:5px;border-radius:50px;padding:5px 12px;font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.5px}
.chip-5{background:rgba(26,26,46,.88);color:#F2E500;border:1px solid rgba(242,229,0,.3)}
.chip-4{background:rgba(26,26,46,.88);color:#a3e635;border:1px solid rgba(163,230,53,.3)}
.chip-3{background:rgba(26,26,46,.88);color:#38bdf8;border:1px solid rgba(56,189,248,.3)}
.chip-2{background:rgba(26,26,46,.88);color:#fb923c;border:1px solid rgba(251,146,60,.3)}
.open-tag{position:absolute;top:12px;right:12px;background:#22c55e;color:#fff;border-radius:50px;padding:3px 10px;font-family:'Poppins',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.5px}
.rest-body{padding:20px}
.rest-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:3px}
.rest-cuisine{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--P);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.rest-desc{font-family:'Poppins',sans-serif;font-size:.76rem;color:var(--MU);line-height:1.7;margin-bottom:12px}
.rest-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.rest-stars{color:var(--G);font-size:.72rem}
.rest-price{font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--MU)}
.rest-actions{display:flex;gap:8px}
.ra-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px;border-radius:var(--r2);border:none;cursor:pointer;font-family:'Poppins',sans-serif;font-size:.68rem;font-weight:600;transition:var(--tr)}
.ra-dir{background:var(--LB);color:var(--P)}.ra-dir:hover{background:var(--P);color:#fff}
.ra-call{background:linear-gradient(135deg,var(--P),var(--DP));color:#fff}.ra-call:hover{opacity:.9;transform:translateY(-1px)}
.ra-map{background:var(--CH);color:#fff}.ra-map:hover{background:var(--DP)}
/* Place cards */
.place-card{background:#fff;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);height:100%}
.place-card:hover{transform:translateY(-7px);box-shadow:var(--s4)}
.place-img{height:220px;overflow:hidden;position:relative}
.place-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.place-card:hover .place-img img{transform:scale(1.07)}
.place-cat-chip{position:absolute;top:12px;left:12px;border-radius:50px;padding:5px 12px;font-family:'Poppins',sans-serif;font-size:.62rem;font-weight:700;color:#fff}
.pc-temple{background:rgba(161,0,139,.85)}
.pc-nature{background:rgba(34,197,94,.85)}
.pc-beach{background:rgba(14,165,233,.85)}
.pc-culture{background:rgba(245,158,11,.85)}
.pc-entertainment{background:rgba(239,68,68,.85)}
.pc-zoo{background:rgba(16,185,129,.85)}
.place-body{padding:20px}
.place-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:5px}
.place-desc{font-family:'Poppins',sans-serif;font-size:.76rem;color:var(--MU);line-height:1.7;margin-bottom:12px}
.place-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.pm-tag{display:flex;align-items:center;gap:4px;background:var(--LB);border-radius:50px;padding:3px 10px;font-family:'Poppins',sans-serif;font-size:.62rem;color:var(--CH)}
.pm-tag i{color:var(--P);font-size:.58rem}
.place-tip{background:rgba(242,229,0,.1);border-left:3px solid var(--G);border-radius:0 var(--r1) var(--r1) 0;padding:8px 12px;font-family:'Poppins',sans-serif;font-size:.7rem;color:var(--CH);margin-bottom:14px}
.place-tip i{color:var(--G);margin-right:5px}
/* Mall cards */
.mall-card{background:#fff;border-radius:var(--r3);overflow:hidden;box-shadow:var(--s2);transition:var(--tr);display:flex;gap:0;height:100%}
.mall-card:hover{transform:translateY(-6px);box-shadow:var(--s4)}
.mall-img{width:200px;flex-shrink:0;overflow:hidden}
.mall-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mall-card:hover .mall-img img{transform:scale(1.06)}
.mall-body{padding:22px;flex:1}
.mall-name{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:800;color:var(--CH);margin-bottom:4px}
.mall-type{font-family:'Poppins',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--P);margin-bottom:10px}
.mall-desc{font-family:'Poppins',sans-serif;font-size:.76rem;color:var(--MU);line-height:1.7;margin-bottom:12px}
.mall-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.mtag{background:var(--LB);border-radius:50px;padding:3px 11px;font-family:'Poppins',sans-serif;font-size:.62rem;color:var(--CH)}
.mall-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Transport cards */
.transport-card{background:#fff;border-radius:var(--r3);padding:28px;box-shadow:var(--s1);border:1px solid rgba(161,0,139,.07);height:100%}
.tc-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:800;color:var(--CH);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.tc-title i{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:.88rem}
.tc-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(161,0,139,.06);font-family:'Poppins',sans-serif;font-size:.78rem}
.tc-row:last-child{border:none}
.tc-name{color:var(--CH);font-weight:500}
.tc-dist{color:var(--P);font-weight:700}
.tc-time{color:var(--MU);font-size:.68rem}
/* Map section */
.map-full-frame{border-radius:var(--r4);overflow:hidden;box-shadow:var(--s3);position:relative;border:3px solid rgba(161,0,139,.12)}
.map-full-frame iframe{width:100%;height:420px;display:block;border:none}
.map-overlay-info{position:absolute;top:20px;left:20px;background:rgba(26,26,46,.94);backdrop-filter:blur(12px);border-radius:var(--r3);padding:18px 20px;color:#fff;max-width:260px}
.moi-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:800;color:#fff;margin-bottom:4px}
.moi-addr{font-family:'Poppins',sans-serif;font-size:.72rem;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:12px}
.moi-btn{display:flex;align-items:center;gap:7px;background:var(--G);color:var(--CH);border:none;border-radius:50px;padding:9px 16px;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:700;cursor:pointer;transition:var(--tr)}
.moi-btn:hover{background:#fff}
/* Map placeholder */
.map-placeholder{width:100%;height:420px;border-radius:var(--r4);background:linear-gradient(135deg,var(--LB),#e0d4f0);border:2px dashed rgba(161,0,139,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:var(--tr)}
.map-placeholder:hover{border-color:var(--P);background:linear-gradient(135deg,#ede8f8,#ddd0f5)}
.mp-pin{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--P),var(--DP));display:flex;align-items:center;justify-content:center;color:var(--G);font-size:1.4rem;margin-bottom:16px;box-shadow:0 8px 24px rgba(161,0,139,.3);animation:pulse 2s infinite}
.mp-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;color:var(--CH);margin-bottom:6px}
.mp-sub{font-family:'Poppins',sans-serif;font-size:.78rem;color:var(--MU);margin-bottom:18px;text-align:center;max-width:260px;line-height:1.6}
/* Section head with icon */
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.sec-icon{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.si-food{background:linear-gradient(135deg,#ff6b35,#e84a0a);color:#fff}
.si-view{background:linear-gradient(135deg,#06b6d4,#0284c7);color:#fff}
.si-explore{background:linear-gradient(135deg,#22c55e,#15803d);color:#fff}
.si-mall{background:linear-gradient(135deg,var(--P),var(--DP));color:var(--G)}
.si-shop{background:linear-gradient(135deg,var(--G),var(--GD));color:var(--CH)}
.si-transport{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}
/* Nearby pulse animation */
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
/* Nearby responsive */
@media(max-width:900px){
  .mall-card{flex-direction:column}
  .mall-img{width:100%;height:200px}
}
@media(max-width:600px){
  .sn-btn{padding:13px 14px;font-size:.65rem}
  .cat-pills{gap:7px}
}
