@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css');
:root{--teal:#0f766e;--teal-600:#0d6e67;--bg:#f8fafc}
html{scroll-behavior:smooth}
body{background:var(--bg);font-family:'Poppins',sans-serif}
.section{scroll-margin-top:88px}
.hero-overlay{pointer-events:none}
:root{--card-shadow:0 10px 25px -10px rgba(0,0,0,.15);--card-radius:.75rem;--border-color:#e5e7eb}
.card{border-radius:var(--card-radius)!important;box-shadow:var(--card-shadow)!important;border:1px solid var(--border-color)!important}
.btn{transition:all .2s ease}
.btn:hover{transform:translateY(-1px)}
.navbar{box-shadow:0 10px 25px -15px rgba(0,0,0,.15)!important}
.dark{--bg:#0f172a;color:#e5e7eb}
.dark .card{background:var(--surface);color:var(--text);border-color:var(--border)}
.dark .navbar{background:var(--navbar-bg)!important;color:var(--text)}
.dark footer{background:var(--footer-bg)!important;color:var(--muted)}
.dark a{color:var(--link)}
.review-card{box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease}
.review-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(0,0,0,.2)}
/* Login page specific */
.login-wrap{padding-top:6rem}
.login-card{box-shadow:var(--card-shadow)}
.login-input{border-radius:.6rem;padding:.65rem .9rem}
.eye-toggle{background:#fff;border:1px solid var(--border-color);border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.btn-brand{background:#0a6f62;color:#fff;border:none;border-radius:.6rem;padding:.7rem 1rem}
.btn-brand:hover{filter:brightness(1.05);transform:translateY(-1px)}
.dark .navbar{background-color:var(--navbar-bg);color:var(--text)}
.dark .card{background-color:var(--surface);color:var(--text);border-color:var(--border)}
.dark .table{color:var(--text)}
.dark .table thead{background:var(--table-header-bg)}
.dark .btn{border-color:var(--border);color:var(--text)}
.dark .btn-primary{background:var(--teal);border-color:var(--teal)}
.dark .form-control,.dark .form-select{background-color:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}
.dark footer:not([class*="bg-"]){background:var(--footer-bg);color:var(--muted)}
.input-group-text{background:#f8fafc;color:#0f172a}
.dark .input-group-text{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}
.bg-teal{background-color:var(--teal)!important}
.btn-primary{background-color:var(--teal);border-color:var(--teal)}
.btn-primary:hover{background-color:var(--teal-600);border-color:var(--teal-600)}
.hero{padding:64px 0;background:linear-gradient(180deg, rgba(15,118,110,.08), rgba(15,118,110,0))}
.chat-bubble{position:fixed;bottom:20px;right:20px;z-index:1030}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}

:root{
  --primary:#0B5CF0;
  --accent:#0072FF;
  --text-dark:#1A1A1A;
  --text-light:#606060;
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --border:#E6E8EE;
  --navbar-bg:#FFFFFF;
  --footer-bg:#F7F9FC;
  --table-header-bg:#F2F5FA;
  --table-row-bg:#FFFFFF;
  --table-row-hover-bg:#F7FAFF;
  --input-bg:#FFFFFF;
  --input-text:#1A1A1A;
  --input-border:#D6DAE5;
}
.dark-mode,
.dark{
  --bg:#0f172a;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --border:#172031;
  --primary:#0d9488;
  --accent:#22d3ee;
  --link:#93c5fd;
  --surface:#0b1220;
  --navbar-bg:rgba(12,18,32,.75);
  --footer-bg:#0b1220;
  --table-header-bg:#0e1628;
  --table-row-bg:#0b1220;
  --table-row-hover-bg:#0e1b2f;
  --input-bg:#121a2b;
  --input-text:#e5e7eb;
  --input-border:#22304a;
}

body,
.navbar,
footer,
.card,
.table,
.table thead th,
.table tbody tr,
.form-control,
.form-select,
input,
select,
textarea{transition:background-color .25s ease-in-out,color .25s ease-in-out,border-color .25s ease-in-out,box-shadow .25s ease-in-out}

body{background:var(--bg);color:var(--text-dark)}
.card{background:var(--surface)!important;color:var(--text)!important}
.navbar{background-color:var(--navbar-bg)!important;color:var(--text-dark)}
header{background-color:#FFFFFF!important;color:var(--text-dark);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media (max-width:768px){body{padding-top:80px}}
.container{padding-left:1rem;padding-right:1rem}
.text-foreground{color:var(--text-dark)!important}
.text-muted-foreground{color:var(--text-light)!important}
.bg-background{background-color:#FFFFFF!important}
.hero-overlay img{opacity:.12}
/* Mobile nav overlay using body ::before */
body.nav-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:40}
footer:not([class*="bg-"]){background-color:var(--footer-bg);color:var(--muted)}
a{color:var(--primary)}
.table thead th{background:var(--table-header-bg);color:var(--text);border-color:var(--border)}
.table tbody tr{background:var(--table-row-bg);color:var(--text)}
.table tbody tr:hover{background:var(--table-row-hover-bg)}
.table,.table th,.table td{border-color:var(--border)}
.form-control,.form-select,input,select,textarea{background-color:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}
input[type=date],input[type=datetime-local],input[type=time]{background-color:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}
:root{--card-bg:var(--surface);--card-border:var(--border)}
.dark-mode,:root.dark{--card-bg:var(--surface);--card-border:var(--border)}
.dark{--card-bg:var(--surface);--card-border:var(--border)}

.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%;margin-bottom:12px}
form.row.g-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%;margin-bottom:12px}
form.row.g-3>[class^="col-"]{width:100%}

.form-control,input,select{height:48px;border-radius:10px;padding:10px 14px}
textarea.form-control{min-height:90px;resize:vertical;border-radius:10px}

.admin-card{background:var(--card-bg);padding:18px;border-radius:12px;border:1px solid var(--card-border);box-shadow:var(--card-shadow)}

.btn-main{height:48px;width:200px;border-radius:10px}
form.row.g-3 .btn{height:48px;border-radius:10px;width:200px}

.container.py-4{margin-top:20px}

.container .table{width:100%;background:var(--card-bg);border-radius:12px;overflow:hidden}
.container .table thead th,.container .table tbody td{padding:.75rem 1rem}

@media (max-width:576px){form.row.g-3{grid-template-columns:1fr}form.row.g-3 .btn{justify-self:center}}
 
.patterned-bg{position:relative}
.patterned-bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 25px 25px,rgba(13,148,136,.06) 2px,transparent 2.5px),radial-gradient(circle at 75px 75px,rgba(34,211,238,.05) 2px,transparent 2.5px);background-size:100px 100px;pointer-events:none}
.patterned-bg>*{position:relative}
.contact-card{background:#FFFFFF;border:1px solid var(--border);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 20px rgba(0,0,0,.08);border-radius:20px;padding:2.25rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.contact-card:hover{transform:scale(1.03);box-shadow:0 12px 30px rgba(0,0,0,.18);border-color:rgba(13,148,136,.35)}
.contact-icon{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,rgba(13,148,136,.12),rgba(34,211,238,.12));box-shadow:inset 0 0 0 1px rgba(13,148,136,.25),0 2px 8px rgba(0,0,0,.08);color:var(--primary);font-size:28px}
.contact-title{font-weight:700;font-size:1.25rem;margin-bottom:.75rem;color:var(--text)}
.contact-link{color:var(--muted);display:block}
.contact-link:hover{color:var(--primary);text-decoration:none}
.fade-in-ltr{opacity:0;transform:translateX(-24px);animation:fadeInLTR .6s ease forwards}
@keyframes fadeInLTR{to{opacity:1;transform:translateX(0)}}
.btn-gradient{background:linear-gradient(90deg,#00C6FF,#0072FF);color:#fff;border:none}
.btn-gradient:hover{filter:brightness(1.08);box-shadow:0 0 18px rgba(34,211,238,.35),0 14px 28px -16px rgba(13,148,136,.5);transform:translateY(-2px)}
.btn-lg-premium{padding:.9rem 1.25rem;border-radius:.75rem;font-weight:600}

/* Mobile nav improvements */
#menuToggle{background:var(--primary);color:#fff;border:none;border-radius:.6rem;padding:.6rem .9rem;min-height:48px}
#menuToggle:focus{outline:2px solid rgba(11,92,240,.35);outline-offset:2px}
#mobileNav{position:fixed;top:0;right:0;height:100vh;width:80%;max-width:320px;background:#fff;box-shadow:-6px 0 16px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .3s ease;z-index:50}
#mobileNav.open{transform:translateX(0)}
#mobileNav a{display:block;padding:.9rem 1rem;color:var(--text-dark)!important;text-decoration:none;min-height:48px;border-bottom:1px solid #eef1f6}

/* Section readability & spacing */
.section{padding-top:2rem;padding-bottom:2rem}
.section h2{color:var(--text-dark);font-weight:600}
.section p{color:var(--text-light);letter-spacing:.1px}

/* Facilities cards */
.lux-card{background:#FFFFFF;border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 24px rgba(11,92,240,.08);transition:transform .25s ease,box-shadow .25s ease}
.lux-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(11,92,240,.12)}
.section #facilities svg,.section #facilities .text-primary{color:var(--primary)!important}
.section #facilities h3{font-weight:600;color:var(--text-dark)}
.section #facilities p{color:var(--text-light)}

/* Contact section */
.contact-card{background:#FFFFFF;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.08);text-align:center;padding:1.25rem}
.contact-icon{color:var(--primary)}
.contact-title{color:var(--text-dark);font-weight:600}
.contact-link,.contact-card p{color:var(--text-light)}

/* Reviews */
.review-card{background:#FFFFFF;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.08);padding:1rem}
.review-card .font-semibold{color:var(--text-dark)}
.testimonial-stars svg{color:var(--primary)!important}
.testimonial-text{color:var(--text-dark)}

/* Load more alignment */
#reviews-load-more{margin-top:.5rem}

/* Review form */
#review-form input,#review-form select,#review-form textarea{background:#FFFFFF;color:var(--text-dark);border:1px solid var(--input-border);border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.06);}
#review-form input::placeholder,#review-form textarea::placeholder{color:#7A7A7A}
#review-form .btn-gradient{box-shadow:0 10px 24px rgba(0,0,0,.12)}

/* Chat button overlap fix */
@media (max-width:768px){ .chat-bubble{bottom:12px} }

/* Images subtle overlay control */
.lux-image-card img{filter:none}
.hero-overlay{pointer-events:none}
.btn-lg-premium{padding:14px 28px;border-radius:12px;font-weight:600}

/* Premium global finish */
.card{box-shadow:0 8px 20px rgba(0,0,0,.08)!important;border-radius:12px!important}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.12)!important}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--accent));border:none;color:#fff}
.btn-primary:hover{filter:brightness(1.06);box-shadow:0 10px 22px -12px rgba(13,148,136,.45)}
.navbar a{position:relative}
.navbar a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.navbar a:hover::after,.navbar a[aria-current="true"]::after{transform:scaleX(1)}

/* Section texture */
.section-textured{position:relative}
.section-textured::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px circle at 20% 0, rgba(13,148,136,.06), transparent 60%), radial-gradient(900px circle at 80% 100%, rgba(34,211,238,.06), transparent 60%);pointer-events:none}
.section-textured>*{position:relative}

/* Reveal animations */
.fade-up{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.is-visible.fade-up{opacity:1;transform:translateY(0)}

/* Testimonials premium styles */
.testimonial-card{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.testimonial-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.12)}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;border:2px solid rgba(13,148,136,.35)}
.testimonial-stars svg{color:var(--primary)}
.testimonial-text{position:relative}
.testimonial-text::before{content:"\201C";position:absolute;left:-8px;top:-6px;font-size:42px;line-height:1;color:rgba(13,148,136,.12)}

/* Contact upgrades */
.contact-icon{animation:iconFloat 3s ease-in-out infinite}
@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.contact-card{position:relative}
.contact-card::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,rgba(13,148,136,.35),rgba(34,211,238,.35));-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:x;mask-composite:exclude}
.contact-grid{position:relative}
@media (min-width:768px){.contact-grid::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,rgba(13,148,136,.25),rgba(34,211,238,.25))}}

/* Typography polish */
.section h2{font-weight:800}
.section p{letter-spacing:.1px}

.lux-image-card{border-radius:12px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08);position:relative}

.lux-image-card{border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08);position:relative}
.lux-image-card::before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,rgba(13,148,136,.25),rgba(34,211,238,.25));-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:x;mask-composite:exclude}
.lux-image-card img{transition:transform .35s ease}
.lux-image-card:hover img{transform:scale(1.05)}
.fade-in{ animation: fadeIn .25s ease-in-out; }
@keyframes fadeIn{ from{ opacity:0; transform: translateY(6px);} to{ opacity:1; transform:none; } }
 .hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
 .hero-overlay::before{ content:''; position:absolute; inset:0; background:rgba(255,255,255,0.55); backdrop-filter: blur(2px); }
 .reviews-marquee{ overflow:hidden; }
 .marquee-track{ display:flex; gap:16px; will-change:transform; animation: marqueeScroll 40s linear infinite; }
 .marquee-item{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid rgba(0,0,0,.08); background:#fff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,.06); min-width:280px; }
 .marquee-item img{ width:32px; height:32px; border-radius:50%; object-fit:cover; }
 .marquee-item .stars{ display:flex; gap:2px; }
 @keyframes marqueeScroll{ 0%{ transform: translateX(0); } 100%{ transform: translateX(-50%); } }
