/* =========================================
   VELARA BEAUTY SPA — SHARED STYLES
   Woodhouse-inspired luxury spa design
   ========================================= */

:root{
  /* Brand palette */
  --teal-dark: #2E5C58;
  --teal: #4A8A86;
  --teal-soft: #6BB5B0;
  --cream: #F5EFE3;
  --cream-light: #FAF6EC;
  --cream-pale: #FDFAF3;
  --sand: #E8DCC4;
  --gold: #C9A86A;
  --gold-light: #E5D4A8;
  --olive: #7A8064;
  --charcoal: #2A2A28;
  --soft-black: #1a1a1a;
  --muted: #8a8580;
  --line: rgba(42,42,40,0.08);

  /* Typography */
  --display: 'Cormorant Garamond', 'Cairo', serif;
  --body: 'Jost', 'Cairo', sans-serif;
  --arabic: 'Cairo', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  background:var(--cream-pale);
  color:var(--charcoal);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body[dir="rtl"]{font-family:var(--arabic);}

a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* =========================================
   LANGUAGE TOGGLE (floating, top-left)
   Single-button toggle that shows the inactive language as the click target.
   Top-left chosen to avoid colliding with .book-btn (top-right) on all viewport sizes.
   ========================================= */
.lang-toggle{
  position:fixed;
  top:20px;left:20px;
  z-index:1100;
  background:rgba(46,92,88,0.92);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  color:#fff;
  font-family:inherit;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:50px;
  box-shadow:0 6px 20px rgba(0,0,0,0.15);
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
  cursor:pointer;
  line-height:1;
  white-space:nowrap;
}
.lang-toggle:hover,
.lang-toggle:focus-visible{
  transform:scale(1.06);
  background:rgba(46,92,88,1);
  box-shadow:0 10px 26px rgba(46,92,88,0.35);
  outline:none;
}
.lang-toggle:active{transform:scale(0.97);}
@media (max-width:768px){
  .lang-toggle{
    top:14px;left:75px;
    padding:7px 13px;
    font-size:10px;
    letter-spacing:1.2px;
  }
}

/* =========================================
   NAVIGATION (Woodhouse-style)
   Logo centered top, menu below
   ========================================= */
.site-header{
  background:var(--cream-pale);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:1000;
  transition:all .4s;
}
.site-header.scrolled{
  background:rgba(253,250,243,0.96);
  backdrop-filter:blur(20px);
  box-shadow:0 2px 30px rgba(0,0,0,0.04);
}

.header-top{
  padding:25px 40px 15px;
  display:flex;justify-content:center;align-items:center;
  position:relative;
  transition:padding .3s;
}
.site-header.scrolled .header-top{padding:15px 40px 10px;}

.header-logo{display:block;}
.header-logo img{
  height:75px;width:auto;
  transition:height .3s;
}
.site-header.scrolled .header-logo img{height:55px;}

.header-actions{
  position:absolute;
  right:40px;top:50%;transform:translateY(-50%);
  display:flex;gap:12px;align-items:center;
}
/* Book Now stays in the top-right in both LTR and RTL to keep the top-left clear for .lang-toggle. */

.book-btn{
  background:var(--teal-dark);color:#fff;
  padding:11px 22px;border-radius:50px;
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:500;transition:all .3s;
  display:inline-flex;align-items:center;gap:8px;
}
.book-btn:hover{background:var(--teal);transform:translateY(-1px);}

.header-nav{
  border-top:1px solid var(--line);
  padding:0;
}
.nav-list{
  display:flex;justify-content:center;align-items:center;
  list-style:none;gap:0;flex-wrap:wrap;
  max-width:1400px;margin:0 auto;
}
.nav-list a{
  display:block;
  padding:18px 22px;
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--charcoal);font-weight:400;
  transition:all .3s;
  position:relative;
}
.nav-list a:hover,.nav-list a.active{color:var(--teal-dark);}
.nav-list a.active::after{
  content:'';position:absolute;
  left:50%;bottom:8px;width:4px;height:4px;border-radius:50%;
  background:var(--gold);transform:translateX(-50%);
}

.menu-toggle{
  display:none;
  position:absolute;left:30px;top:50%;transform:translateY(-50%);
  font-size:22px;color:var(--charcoal);
}
/* Mobile menu stays in the same corner in both LTR and RTL — paired with Book Now staying on the right. */

/* =========================================
   ANIMATIONS — Slide up on scroll
   ========================================= */
.reveal{
  opacity:0;
  transform:translateY(40px);
  transition:opacity .9s cubic-bezier(0.16,1,0.3,1), transform .9s cubic-bezier(0.16,1,0.3,1);
}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.1s;}
.reveal-d2{transition-delay:.2s;}
.reveal-d3{transition-delay:.3s;}
.reveal-d4{transition-delay:.4s;}
.reveal-d5{transition-delay:.5s;}
.reveal-d6{transition-delay:.6s;}

@keyframes pageEnter{
  from{opacity:0;transform:translateY(30px);}
  to{opacity:1;transform:translateY(0);}
}
.page-enter{animation:pageEnter 1s cubic-bezier(0.16,1,0.3,1) both;}
.page-enter-d1{animation-delay:.15s;}
.page-enter-d2{animation-delay:.3s;}
.page-enter-d3{animation-delay:.45s;}

/* =========================================
   GLOBAL COMPONENTS
   ========================================= */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 32px;border-radius:50px;
  font-family:var(--body);font-size:12px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:500;
  cursor:pointer;transition:all .35s;
}
.btn-primary{background:var(--teal-dark);color:#fff;}
.btn-primary:hover{background:var(--teal);transform:translateY(-2px);box-shadow:0 12px 30px rgba(74,138,134,0.25);}
.btn-outline{background:transparent;color:var(--charcoal);border:1px solid var(--charcoal);}
.btn-outline:hover{background:var(--charcoal);color:#fff;}
.btn-gold{background:var(--gold);color:var(--charcoal);}
.btn-gold:hover{background:var(--gold-light);}
.btn-light{background:#fff;color:var(--charcoal);}
.btn-light:hover{background:var(--cream);}

.section{padding:110px 40px;position:relative;}
.container{max-width:1300px;margin:0 auto;}
.container-narrow{max-width:900px;margin:0 auto;}

.eyebrow{
  font-size:11px;letter-spacing:4px;text-transform:uppercase;
  color:var(--teal-dark);font-weight:500;
  margin-bottom:20px;display:inline-block;
}
.eyebrow-line{
  display:inline-flex;align-items:center;gap:14px;
}
.eyebrow-line::before,.eyebrow-line::after{
  content:'';width:30px;height:1px;background:var(--gold);
}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.1;color:var(--charcoal);}
.h-display{
  font-family:var(--display);
  font-size:clamp(48px,7vw,82px);
  font-weight:400;line-height:1.05;
  letter-spacing:-0.5px;
}
.h-display em{font-style:italic;color:var(--teal-dark);}
.h-section{
  font-family:var(--display);
  font-size:clamp(38px,5vw,60px);
  font-weight:400;line-height:1.1;
  margin-bottom:20px;
}
.h-section em{font-style:italic;color:var(--teal-dark);}
.lead{font-size:18px;line-height:1.75;color:var(--muted);}
.text-center{text-align:center;}

/* =========================================
   EID BANNER (homepage)
   ========================================= */
.eid-banner{
  background:linear-gradient(90deg,var(--gold-light) 0%,var(--cream) 50%,var(--gold-light) 100%);
  border-bottom:1px solid rgba(201,168,106,0.35);
  padding:14px 56px;
  position:relative;text-align:center;
}
.eid-banner-content{
  display:inline-flex;align-items:center;gap:18px;
  flex-wrap:wrap;justify-content:center;
}
.eid-banner-icon{
  width:30px;height:30px;border-radius:50%;
  background:var(--gold);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;flex-shrink:0;
}
.eid-banner-text{
  font-size:13px;letter-spacing:1.5px;
  color:var(--charcoal);line-height:1.4;
}
.eid-banner-text strong{
  color:var(--teal-dark);font-weight:600;
  text-transform:uppercase;letter-spacing:2px;font-size:12px;
}
.eid-banner-text span{margin-left:4px;}
body[dir="rtl"] .eid-banner-text span{margin-left:0;margin-right:4px;}
.eid-banner-link{
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:#fff;background:var(--teal-dark);
  padding:8px 18px;border-radius:50px;
  transition:all .3s;font-weight:500;
}
.eid-banner-link:hover{background:var(--teal);transform:translateY(-1px);}
.eid-banner-close{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border-radius:50%;
  color:var(--charcoal);opacity:0.55;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;transition:all .25s;
  background:transparent;cursor:pointer;
}
.eid-banner-close:hover{opacity:1;background:rgba(0,0,0,0.06);}
body[dir="rtl"] .eid-banner-close{right:auto;left:14px;}
.eid-banner.dismissed{display:none;}

@media (max-width:768px){
  .eid-banner{padding:12px 50px;}
  .eid-banner-content{gap:12px;}
  .eid-banner-text{font-size:12px;}
  .eid-banner-text strong{font-size:11px;}
  .eid-banner-link{padding:6px 14px;font-size:10px;}
}

/* =========================================
   HERO
   ========================================= */
.hero{
  min-height:80vh;
  display:flex;align-items:center;
  padding:80px 40px;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--cream-pale) 0%,var(--cream) 60%,var(--sand) 100%);
}
.hero::before{
  content:'';position:absolute;
  top:0;right:0;width:55%;height:100%;
  background:radial-gradient(circle at 70% 50%, rgba(107,181,176,0.12) 0%, transparent 60%);
}
.hero-grid{
  position:relative;z-index:2;
  max-width:1300px;margin:0 auto;width:100%;
  display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;
}
.hero-text p.lead{margin-top:25px;margin-bottom:40px;max-width:520px;}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{position:relative;height:580px;}
.hero-img-1{
  position:absolute;top:0;right:0;width:78%;height:78%;
  border-radius:300px 300px 20px 20px;overflow:hidden;
  box-shadow:0 35px 80px rgba(74,138,134,0.22);
}
.hero-img-1 img{width:100%;height:100%;object-fit:cover;}
.hero-img-2{
  position:absolute;bottom:0;left:0;width:48%;height:48%;
  border-radius:20px 20px 200px 20px;overflow:hidden;
  box-shadow:0 25px 60px rgba(0,0,0,0.15);
  border:7px solid var(--cream-pale);
}
.hero-img-2 img{width:100%;height:100%;object-fit:cover;}
.hero-badge{
  position:absolute;top:30%;left:-15px;
  background:#fff;padding:18px 24px;border-radius:80px;
  box-shadow:0 18px 45px rgba(0,0,0,0.1);
  display:flex;align-items:center;gap:14px;z-index:3;
}
.hero-badge-icon{
  width:38px;height:38px;border-radius:50%;
  background:var(--gold);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;flex-shrink:0;
}
.hero-badge-text{font-size:12px;line-height:1.3;}
.hero-badge-text strong{display:block;color:var(--teal-dark);font-size:13px;margin-bottom:2px;}

/* =========================================
   PAGE BANNER (for inner pages)
   ========================================= */
.page-banner{
  padding:120px 40px 80px;
  text-align:center;
  background:linear-gradient(135deg,var(--cream-pale) 0%,var(--cream) 100%);
  position:relative;overflow:hidden;
}
.page-banner::before{
  content:'';position:absolute;
  bottom:-100px;left:-100px;width:400px;height:400px;
  background:radial-gradient(circle, rgba(107,181,176,0.1) 0%, transparent 70%);
  border-radius:50%;
}
.page-banner::after{
  content:'';position:absolute;
  top:-100px;right:-100px;width:400px;height:400px;
  background:radial-gradient(circle, rgba(201,168,106,0.1) 0%, transparent 70%);
  border-radius:50%;
}
.page-banner h1{
  font-size:clamp(46px,6vw,76px);
  margin-bottom:20px;position:relative;z-index:2;
}
.page-banner h1 em{font-style:italic;color:var(--teal-dark);}
.page-banner p{
  font-size:18px;color:var(--muted);
  max-width:680px;margin:0 auto;line-height:1.7;
  position:relative;z-index:2;
}

/* =========================================
   SERVICE CARDS (Woodhouse-style horizontal categories)
   ========================================= */
.category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;
}
.category-card{
  background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid var(--line);
  transition:all .4s;
  display:block;
}
.category-card:hover{
  transform:translateY(-6px);
  box-shadow:0 25px 50px rgba(74,138,134,0.12);
}
.category-image{
  height:240px;overflow:hidden;position:relative;
}
.category-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s;
}
.category-card:hover .category-image img{transform:scale(1.05);}
.category-body{padding:30px;text-align:center;}
.category-body h3{
  font-family:var(--display);font-size:26px;
  margin-bottom:8px;color:var(--charcoal);
}
.category-body p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:18px;min-height:44px;}
.category-link{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--teal-dark);font-weight:500;
  transition:all .3s;
}
.category-card:hover .category-link{color:var(--gold);gap:14px;}

/* =========================================
   SERVICE LIST (on individual service pages)
   ========================================= */
.service-section-title{
  font-family:var(--display);
  font-size:32px;color:var(--charcoal);
  margin:60px 0 30px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.service-section-title:first-child{margin-top:0;}
.service-section-title::after{
  content:'';position:absolute;
  left:0;bottom:-1px;width:60px;height:2px;
  background:var(--gold);
}
body[dir="rtl"] .service-section-title::after{left:auto;right:0;}

.service-list{
  display:grid;gap:0;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
}
.service-row{
  display:grid;
  grid-template-columns:1fr auto auto auto;
  gap:30px;align-items:center;
  padding:28px 32px;
  border-bottom:1px solid var(--line);
  transition:background .3s;
}
.service-row:last-child{border-bottom:none;}
.service-row:hover{background:var(--cream-pale);}
.service-info h4{
  font-family:var(--display);font-size:22px;font-weight:500;
  margin-bottom:4px;color:var(--charcoal);
}
.service-info .arabic{
  font-family:var(--arabic);font-size:14px;
  color:var(--teal-dark);direction:rtl;margin-bottom:8px;
}
body[dir="rtl"] .service-info .arabic{font-family:var(--arabic);}
body[dir="rtl"] .service-info h4{font-family:var(--arabic);font-size:20px;}
.service-info p{font-size:13px;color:var(--muted);line-height:1.6;max-width:540px;}
.service-duration{
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;
}
.service-price{
  font-family:var(--display);font-size:28px;font-weight:600;
  color:var(--teal-dark);white-space:nowrap;
}
.service-price small{font-size:14px;color:var(--muted);font-weight:400;margin-left:2px;}
.service-actions{display:flex;gap:8px;}
.btn-mini{
  padding:9px 16px;border-radius:50px;
  font-size:10px;letter-spacing:1.8px;text-transform:uppercase;
  font-weight:500;transition:all .3s;
  display:inline-flex;align-items:center;justify-content:center;
  white-space:nowrap;
}
.btn-mini.btn-book{background:var(--teal-dark);color:#fff;}
.btn-mini.btn-book:hover{background:var(--teal);}
.btn-mini.btn-ask{background:var(--gold);color:var(--charcoal);}
.btn-mini.btn-ask:hover{background:var(--gold-light);}

/* =========================================
   ABOUT / FEATURE SECTIONS
   ========================================= */
.feature-grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:80px;
  align-items:center;
}
.feature-grid.reverse{grid-template-columns:1.1fr 1fr;}
.feature-images{position:relative;height:560px;}
.feature-img-main{
  position:absolute;top:0;left:0;width:75%;height:80%;
  border-radius:200px 20px 20px 20px;overflow:hidden;
  box-shadow:0 25px 70px rgba(0,0,0,0.12);
}
.feature-img-main img{width:100%;height:100%;object-fit:cover;}
.feature-img-accent{
  position:absolute;bottom:0;right:0;width:55%;height:50%;
  border-radius:20px 20px 200px 20px;overflow:hidden;
  border:8px solid var(--cream-pale);
  box-shadow:0 25px 60px rgba(0,0,0,0.12);
}
.feature-img-accent img{width:100%;height:100%;object-fit:cover;}
.feature-stat{
  position:absolute;top:48%;left:50%;transform:translate(-30%,-50%);
  background:var(--teal-dark);color:#fff;padding:24px 28px;border-radius:18px;
  text-align:center;z-index:3;
  box-shadow:0 18px 45px rgba(74,138,134,0.3);
}
.feature-stat-num{font-family:var(--display);font-size:42px;font-weight:500;line-height:1;}
.feature-stat-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-top:5px;opacity:0.9;}

.feature-content p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:18px;}
.feature-list{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.feature-item{display:flex;gap:15px;align-items:flex-start;}
.feature-icon{
  width:42px;height:42px;border-radius:50%;
  background:var(--cream);color:var(--teal-dark);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:18px;
}
.feature-text strong{display:block;color:var(--charcoal);margin-bottom:4px;font-size:14px;}
.feature-text span{font-size:13px;color:var(--muted);}

/* =========================================
   PACKAGES / OFFERS
   ========================================= */
.packages-section{
  background:linear-gradient(135deg,var(--olive) 0%,#5d6450 100%);
  color:#fff;
}
.packages-section .eyebrow{color:var(--gold-light);}
.packages-section .h-section{color:#fff;}
.packages-section .h-section em{color:var(--gold-light);}
.packages-section .lead{color:rgba(255,255,255,0.75);}

.packages-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:24px;
}
.package-card{
  background:rgba(255,255,255,0.07);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.13);border-radius:20px;
  padding:32px;transition:all .4s;
}
.package-card:hover{
  background:rgba(255,255,255,0.12);transform:translateY(-5px);
}
.package-badge{
  display:inline-block;background:var(--gold);color:var(--charcoal);
  padding:5px 14px;border-radius:50px;font-size:10px;
  letter-spacing:2px;text-transform:uppercase;font-weight:600;
  margin-bottom:18px;
}
.package-card h3{
  font-family:var(--display);font-size:24px;color:#fff;
  margin-bottom:6px;
}
.package-arabic{
  font-family:var(--arabic);font-size:14px;color:var(--gold-light);
  direction:rtl;margin-bottom:14px;
}
.package-includes{
  font-size:13px;color:rgba(255,255,255,0.7);
  line-height:1.7;margin-bottom:20px;
}
.package-pricing{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;}
.package-price-new{font-family:var(--display);font-size:36px;font-weight:600;color:var(--gold-light);}
.package-price-old{font-size:15px;text-decoration:line-through;color:rgba(255,255,255,0.5);}
.package-save{
  display:inline-block;background:rgba(201,168,106,0.2);color:var(--gold-light);
  padding:4px 12px;border-radius:50px;font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;
}
.package-card .btn{margin-top:22px;width:100%;justify-content:center;}

/* Featured premium package */
.featured-package{
  background:rgba(201,168,106,0.15);
  border:1px solid rgba(201,168,106,0.4);
  position:relative;
}
.featured-package::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
}

/* =========================================
   GALLERY
   ========================================= */
.gallery{background:var(--cream-light);}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:240px 240px 240px;
  gap:14px;
}
.gallery-item{
  border-radius:14px;overflow:hidden;
  position:relative;
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s;
}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery-item:nth-child(4){grid-row:span 2;}

/* =========================================
   CTA SECTION
   ========================================= */
.cta-section{
  background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 100%);
  color:#fff;text-align:center;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;
  top:-150px;left:-150px;width:500px;height:500px;
  background:radial-gradient(circle,rgba(201,168,106,0.18) 0%,transparent 70%);
  border-radius:50%;
}
.cta-section::after{
  content:'';position:absolute;
  bottom:-150px;right:-150px;width:500px;height:500px;
  background:radial-gradient(circle,rgba(255,255,255,0.06) 0%,transparent 70%);
  border-radius:50%;
}
.cta-section .eyebrow{color:var(--gold-light);}
.cta-section h2{color:#fff;font-size:clamp(40px,5.5vw,68px);}
.cta-section h2 em{color:var(--gold-light);}
.cta-section p{color:rgba(255,255,255,0.85);max-width:600px;margin:25px auto 35px;font-size:17px;line-height:1.75;}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2;}

/* =========================================
   CONTACT
   ========================================= */
.contact-grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start;
}
.contact-items{display:flex;flex-direction:column;gap:28px;margin-top:35px;}
.contact-item{display:flex;gap:18px;align-items:flex-start;}
.contact-icon-box{
  width:52px;height:52px;border-radius:14px;
  background:var(--cream);color:var(--teal-dark);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:20px;
}
.contact-item-text strong{
  display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--teal-dark);margin-bottom:6px;
}
.contact-item-text a,.contact-item-text span{
  font-size:16px;color:var(--charcoal);transition:color .3s;display:block;
}
.contact-item-text a:hover{color:var(--teal);}

.contact-card{
  background:#fff;border-radius:25px;padding:50px;
  border:1px solid var(--line);
  box-shadow:0 25px 60px rgba(0,0,0,0.06);
}
.contact-card h3{
  font-family:var(--display);font-size:32px;
  margin-bottom:15px;line-height:1.2;
}
.contact-card h3 em{font-style:italic;color:var(--teal-dark);}
.contact-card p{color:var(--muted);margin-bottom:30px;font-size:15px;line-height:1.7;}
.contact-card .btn{width:100%;justify-content:center;margin-bottom:12px;}

/* =========================================
   FOOTER
   ========================================= */
footer{background:var(--soft-black);color:#fff;padding:80px 40px 30px;}
.footer-container{max-width:1300px;margin:0 auto;}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:50px;margin-bottom:55px;
}
.footer-logo img{height:80px;width:auto;margin-bottom:22px;filter:brightness(1.15);}
.footer-tagline{color:rgba(255,255,255,0.6);font-size:14px;line-height:1.7;max-width:340px;}
.footer-col h4{
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:22px;font-weight:500;
}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{
  color:rgba(255,255,255,0.7);font-size:14px;
  transition:color .3s;
}
.footer-col ul li a:hover{color:var(--gold-light);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);padding-top:28px;
  display:flex;justify-content:space-between;align-items:center;
  color:rgba(255,255,255,0.5);font-size:13px;flex-wrap:wrap;gap:18px;
}
.footer-social{display:flex;gap:10px;}
.footer-social a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;
  transition:all .3s;
}
.footer-social a:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-2px);}

/* =========================================
   FLOATING WHATSAPP (brand-colored, elegant)
   ========================================= */
.float-whatsapp{
  position:fixed;bottom:28px;right:28px;z-index:999;
  width:62px;height:62px;border-radius:50%;
  background:var(--teal-dark);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(74,138,134,0.45);
  transition:all .35s;
  animation:floatPulse 2.8s infinite;
  border:2px solid var(--gold-light);
}
body[dir="rtl"] .float-whatsapp{right:auto;left:28px;}
@keyframes floatPulse{
  0%,100%{box-shadow:0 10px 30px rgba(74,138,134,0.45);}
  50%{box-shadow:0 10px 30px rgba(74,138,134,0.7),0 0 0 14px rgba(74,138,134,0);}
}
.float-whatsapp:hover{transform:scale(1.08);background:var(--teal);}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 1024px){
  .hero-grid,.feature-grid,.feature-grid.reverse,.contact-grid{
    grid-template-columns:1fr;gap:50px;
  }
  .hero-visual,.feature-images{height:450px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:35px;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .service-row{grid-template-columns:1fr;text-align:center;gap:14px;padding:24px;}
  .service-row .service-actions{justify-content:center;}
}
@media (max-width: 768px){
  .header-top{padding:18px 60px 12px;}
  .header-logo img{height:55px;}
  .header-actions{right:20px;}
  .book-btn{padding:9px 16px;font-size:10px;letter-spacing:1.5px;}
  .nav-list{display:none;flex-direction:column;background:var(--cream-pale);}
  .nav-list.open{display:flex;}
  .nav-list a{padding:14px 20px;width:100%;text-align:center;}
  .menu-toggle{display:block;}
  .section{padding:70px 20px;}
  .hero{padding:60px 20px;}
  .page-banner{padding:80px 20px 60px;}
  .hero-visual,.feature-images{height:380px;}
  .feature-list{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,180px);}
  .gallery-item:nth-child(1){grid-column:span 2;}
  .gallery-item:nth-child(4){grid-row:span 1;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .float-whatsapp{bottom:95px;}
  .contact-card{padding:30px 25px;}
  .service-section-title{font-size:26px;}
}
