/* ═══════════════════════════════════════════════════════════════════
   Better Physio Ghost Theme  ·  Hebrew RTL  ·  Teal Healthcare
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Reset & Variables ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --teal:          #0cbfb8;
  --teal-dark:     #0a8a84;
  --teal-light:    #d0f4f2;
  --teal-xlight:   #eafaf9;
  --energy:        #ff6b35;
  --energy-dark:   #e0521d;
  --energy-light:  #fff0eb;
  --vitality:      #4caf50;
  --vitality-dark: #388e3c;
  --vitality-light:#e8f5e9;
  --amber:         #ffb300;
  --amber-light:   #fff8e1;
  --purple:        #7c3aed;
  --purple-light:  #ede9fe;
  --bg:            #f5faf9;
  --text:          #1a2e2d;
  --text-muted:    #5a6e6d;
  --white:         #ffffff;
  --shadow:        0 4px 24px rgba(12,191,184,.12);
  --shadow-lg:     0 12px 40px rgba(12,191,184,.22);
  --radius:        12px;
  --radius-lg:     20px;
  --font:          'Alef', 'Segoe UI', Arial, sans-serif;
  --transition:    .28s cubic-bezier(.4,0,.2,1);
}

html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  direction: rtl;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--teal); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--teal-dark); }
img { max-width: 100%; height: auto; display: block; }
h1,h2,h3,h4,h5 { font-weight: 700; line-height: 1.25; }

/* ─── Utility ────────────────────────────────────────────────────── */
.container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.section    { padding: 5rem 1.5rem; }
.section-alt { background: linear-gradient(135deg, var(--teal-xlight) 0%, #f0fff4 100%); }
.section-dark { background: linear-gradient(135deg,#0a3836,var(--teal-dark) 60%,var(--teal)); color:#fff; }

.section-header { text-align:center; margin-bottom:3rem; }
.section-header h2 { font-size: clamp(1.6rem,3vw,2.4rem); color:var(--teal-dark); }
.section-header p  { color:var(--text-muted); margin-top:.6rem; font-size:1.05rem; }
.section-divider   { width:60px; height:4px; background:linear-gradient(90deg,var(--teal),var(--energy)); border-radius:2px; margin:.8rem auto 0; }
.section-dark .section-header h2 { color:#fff; }
.section-dark .section-divider   { background:rgba(255,255,255,.6); }

.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.75rem; border-radius:50px; font-weight:700;
  font-size:.95rem; border:2px solid transparent;
  transition:all var(--transition); cursor:pointer; font-family:var(--font);
}
.btn-primary { background:var(--teal); color:#fff; border-color:var(--teal); }
.btn-primary:hover { background:var(--teal-dark); border-color:var(--teal-dark); color:#fff; transform:translateY(-2px); box-shadow:0 8px 25px rgba(12,191,184,.4); }
.btn-energy { background:linear-gradient(135deg,var(--energy),var(--amber)); color:#fff; border-color:var(--energy); }
.btn-energy:hover { background:linear-gradient(135deg,var(--energy-dark),var(--energy)); color:#fff; transform:translateY(-2px); box-shadow:0 8px 25px rgba(255,107,53,.45); }
.btn-outline-white { background:transparent; color:#fff; border-color:rgba(255,255,255,.8); }
.btn-outline-white:hover { background:#fff; color:var(--teal-dark); transform:translateY(-2px); }

/* ─── Navigation ─────────────────────────────────────────────────── */
.site-header {
  position:sticky; top:0; z-index:200;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(0,0,0,.08);
  transition:box-shadow var(--transition);
}
.nav-wrap {
  display:flex; align-items:center; justify-content:space-between;
  height:70px; max-width:1200px; margin:0 auto; padding:0 1.5rem;
}
.site-logo { font-size:1.5rem; font-weight:800; color:var(--teal-dark); white-space:nowrap; }
.site-logo span { color:var(--teal); }

.nav-menu { display:flex; list-style:none; gap:2rem; }
.nav-menu a { color:var(--text); font-weight:500; font-size:.9rem; letter-spacing:.02em; }
.nav-menu a:hover { color:var(--teal); }

.nav-actions { display:flex; align-items:center; gap:1rem; }
.nav-phone { font-weight:700; color:var(--teal-dark); direction:ltr; }

.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
.nav-toggle span { width:24px; height:3px; background:var(--text); border-radius:2px; transition:all .3s; }

/* ─── Hero ───────────────────────────────────────────────────────── */
.hero {
  position:relative; overflow:hidden;
  min-height:92vh; display:flex; align-items:center;
  background: linear-gradient(135deg, #0a3836 0%, var(--teal-dark) 40%, var(--teal) 70%, #0cbfb8 100%);
}
.hero::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse at 80% 20%, rgba(255,107,53,.18) 0%, transparent 55%),
              radial-gradient(ellipse at 10% 80%, rgba(76,175,80,.15) 0%, transparent 50%);
}
.hero-bg {
  position:absolute; inset:0;
  background-image: var(--hero-img, none);
  background-size:cover; background-position:center;
  opacity:.2; mix-blend-mode:luminosity;
}
.hero-overlay {
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(10,56,54,.82) 0%, rgba(10,138,132,.6) 60%, transparent 100%);
}
.hero-wave {
  position:absolute; bottom:-2px; left:0; right:0;
  height:90px;
}
.hero-content {
  position:relative; z-index:2;
  max-width:1200px; margin:0 auto; padding:5rem 1.5rem;
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
  width:100%;
}
.hero-text { color:#fff; position:relative; }
.hero-text-logo::before {
  content:'';
  position:absolute; inset:0;
  background-image: var(--hero-logo);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 300px auto;
  opacity: .1;
  pointer-events: none;
  z-index: 0;
}
.hero-text-logo > * { position:relative; z-index:1; }
.hero-pill {
  display:inline-block; background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3); border-radius:50px;
  padding:.3rem 1rem; font-size:.85rem; font-weight:600;
  margin-bottom:1.5rem; backdrop-filter:blur(4px);
}
.hero-text h1 { font-size:clamp(2rem,5vw,3.4rem); margin-bottom:1.25rem; }
.hero-text p  { font-size:1.15rem; opacity:.88; max-width:480px; margin-bottom:2rem; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* ─── Hero logo visual ───────────────────────────────────────────── */
.hero-logo-visual {
  display:flex; align-items:center; justify-content:center;
}
.hero-logo-img {
  width: min(240px, 50%);
  aspect-ratio: 3 / 4;
  object-fit: contain;
  padding: 1.5rem;
  background: radial-gradient(ellipse closest-side at center, var(--white) 55%, rgba(255,255,255,0) 100%);
  border-radius: 50%;
  filter:
    drop-shadow(0 0 40px rgba(12,191,184,.55))
    drop-shadow(0 0 80px rgba(12,191,184,.3));
  animation: logo-breathe 3.5s ease-in-out infinite;
}
@keyframes logo-breathe {
  0%,100% { transform:scale(1);    filter: drop-shadow(0 0 40px rgba(12,191,184,.55)) drop-shadow(0 0 80px rgba(12,191,184,.3)); }
  50%      { transform:scale(1.04); filter: drop-shadow(0 0 60px rgba(12,191,184,.8))  drop-shadow(0 0 120px rgba(12,191,184,.45)); }
}

/* ─── Animated GIF-style elements ────────────────────────────────── */
.hero-visual {
  display:flex; flex-direction:column; gap:1rem; align-items:center;
}
.anim-card {
  background:rgba(255,255,255,.1); backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-lg);
  padding:1.5rem; color:#fff; width:100%; max-width:340px;
}
.anim-card-title { font-size:.9rem; opacity:.75; margin-bottom:.5rem; }
.anim-bar-wrap { display:flex; flex-direction:column; gap:.6rem; }
.anim-bar-row { display:flex; align-items:center; gap:.75rem; font-size:.8rem; }
.anim-bar-label { min-width:80px; opacity:.8; }
.anim-bar-track { flex:1; height:8px; background:rgba(255,255,255,.15); border-radius:4px; overflow:hidden; }
.anim-bar-fill  { height:100%; border-radius:4px; background:linear-gradient(90deg,var(--teal),var(--vitality)); animation: grow 2s ease forwards; }
@keyframes grow { from{ width:0 } }
.anim-bar-fill[data-w="95"]  { width:95%; animation-delay:.1s; }
.anim-bar-fill[data-w="88"]  { width:88%; animation-delay:.3s; }
.anim-bar-fill[data-w="92"]  { width:92%; animation-delay:.5s; }
.anim-bar-fill[data-w="78"]  { width:78%; animation-delay:.7s; }

/* Heartbeat GIF animation */
.gif-pulse {
  width:56px; height:56px; background:rgba(255,107,53,.2);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.8rem;
  animation: pulse-ring 2s ease infinite;
}
@keyframes pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(255,107,53,.7); transform:scale(1);   }
  50%  { box-shadow: 0 0 0 14px rgba(255,107,53,0); transform:scale(1.1); }
  100% { box-shadow: 0 0 0 0 rgba(255,107,53,0);   transform:scale(1);   }
}

/* Running figure GIF animation */
.gif-runner {
  font-size:2.5rem;
  display:inline-block;
  animation: run 0.5s steps(2) infinite;
}
@keyframes run {
  0%   { transform: translateX(0) scaleX(1);   }
  50%  { transform: translateX(4px) scaleX(1); }
  100% { transform: translateX(0) scaleX(1);   }
}

/* Bounce dot loader */
.gif-loader { display:flex; gap:6px; justify-content:center; margin-top:.5rem; }
.gif-loader span {
  width:8px; height:8px; border-radius:50%;
  animation: bounce 1.2s infinite ease-in-out;
}
.gif-loader span:nth-child(1) { background:var(--teal);    }
.gif-loader span:nth-child(2) { background:var(--energy);  animation-delay:.2s; }
.gif-loader span:nth-child(3) { background:var(--vitality); animation-delay:.4s; }
@keyframes bounce {
  0%,80%,100% { transform:scale(0.6); opacity:.5; }
  40%          { transform:scale(1.0); opacity:1;   }
}

/* Waving hand */
.gif-wave {
  display:inline-block; font-size:2rem;
  animation: wave 2s infinite;
  transform-origin: 70% 70%;
}
@keyframes wave {
  0%,60%,100% { transform:rotate(0);    }
  10%,30%     { transform:rotate(-15deg); }
  20%         { transform:rotate(15deg); }
}

/* Floating badge */
.hero-floating-badge {
  background:#fff; color:var(--teal-dark);
  border-radius:var(--radius); padding:1rem 1.25rem;
  box-shadow:var(--shadow-lg); text-align:center;
  animation: float 3s ease-in-out infinite;
  align-self:flex-end;
}
@keyframes float {
  0%,100% { transform:translateY(0);  }
  50%      { transform:translateY(-8px); }
}
.hero-floating-badge .num { font-size:1.8rem; font-weight:800; color:var(--teal); display:block; }
.hero-floating-badge .lbl { font-size:.75rem; color:var(--text-muted); }

/* ─── Stats strip ────────────────────────────────────────────────── */
.stats-strip {
  background:#fff; box-shadow:var(--shadow);
  padding:2.5rem 1.5rem;
}
.stats-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
}
.stat-item {
  text-align:center; padding:1.25rem 1rem; border-radius:var(--radius);
  transition:transform var(--transition);
}
.stat-item:hover { transform:translateY(-4px); }
.stat-item:nth-child(1) { background:var(--teal-xlight);    }
.stat-item:nth-child(2) { background:var(--energy-light);   }
.stat-item:nth-child(3) { background:var(--vitality-light);  }
.stat-item:nth-child(4) { background:var(--amber-light);     }
.stat-num { font-size:2.4rem; font-weight:800; display:block; line-height:1; }
.stat-item:nth-child(1) .stat-num { color:var(--teal);     }
.stat-item:nth-child(2) .stat-num { color:var(--energy);   }
.stat-item:nth-child(3) .stat-num { color:var(--vitality); }
.stat-item:nth-child(4) .stat-num { color:var(--amber);    }
.stat-label { font-size:.85rem; color:var(--text-muted); margin-top:.35rem; }

/* ─── About ──────────────────────────────────────────────────────── */
.about-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.5fr; gap:4rem; align-items:start;
}
.about-img-wrap { position:relative; max-width:423px; }
.about-img {
  width:100%; aspect-ratio:1/1; object-fit:cover;
  border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
}
.about-img-placeholder {
  width:100%; aspect-ratio:1/1;
  background:linear-gradient(135deg, var(--teal-light), var(--teal));
  border-radius:var(--radius-lg); display:flex; align-items:center;
  justify-content:center; font-size:6rem;
}
.about-badge {
  position:absolute; bottom:-20px; right:-20px;
  background:#fff; border-radius:var(--radius);
  padding:1rem 1.25rem; box-shadow:var(--shadow-lg); text-align:center;
  animation: float 4s ease-in-out infinite;
}
.about-badge .num { font-size:1.8rem; font-weight:800; color:var(--teal); display:block; }
.about-badge .lbl { font-size:.75rem; color:var(--text-muted); }
.about-content h2 { color:var(--teal-dark); font-size:clamp(1.4rem,2.5vw,2rem); margin-bottom:1.25rem; }
.about-content p { color:var(--text-muted); margin-bottom:.9rem; }
.credentials { margin:1.5rem 0; display:flex; flex-direction:column; gap:.75rem; }
.cred-item {
  display:flex; align-items:flex-start; gap:.9rem;
  border-radius:var(--radius); padding:.9rem 1rem;
  transition:transform var(--transition);
}
.cred-item:nth-child(1) { background:var(--teal-xlight);    }
.cred-item:nth-child(2) { background:var(--vitality-light); }
.cred-item:nth-child(3) { background:var(--energy-light);   }
.cred-item:nth-child(4) { background:var(--amber-light);    }
.cred-item:nth-child(5) { background:var(--purple-light);   }
.cred-item:hover { transform:translateX(-4px); }
.cred-icon { font-size:1.4rem; flex-shrink:0; }
.cred-text strong { display:block; color:var(--teal-dark); font-size:.95rem; }
.cred-text span   { font-size:.82rem; color:var(--text-muted); }

/* ─── Services ───────────────────────────────────────────────────── */
.services-grid {
  max-width:1200px; margin:0 auto;
  display:grid; gap:1.5rem;
  justify-content:center;
}
.services-grid-top    { grid-template-columns:repeat(4, minmax(220px, 270px)); }
.services-grid-bottom { grid-template-columns:repeat(3, minmax(220px, 270px)); margin-top:1.5rem; }
@media (max-width: 1100px) {
  .services-grid-top    { grid-template-columns:repeat(2, minmax(220px, 320px)); }
  .services-grid-bottom { grid-template-columns:repeat(3, minmax(200px, 270px)); }
}
@media (max-width: 700px) {
  .services-grid-top, .services-grid-bottom { grid-template-columns:minmax(220px, 360px); }
}
.service-card {
  display:block; color:inherit; text-decoration:none;
  background:#fff; border-radius:var(--radius-lg);
  padding:2rem 1.5rem; box-shadow:var(--shadow);
  border-top:4px solid var(--teal);
  transition:transform var(--transition), box-shadow var(--transition);
  position:relative; overflow:hidden;
}
/* Cycle through accent colors for service cards */
.service-card:nth-child(4n+1) { border-top-color:var(--teal); }
.service-card:nth-child(4n+2) { border-top-color:var(--energy); }
.service-card:nth-child(4n+3) { border-top-color:var(--vitality); }
.service-card:nth-child(4n+4) { border-top-color:var(--purple); }
.service-card::before {
  content:''; position:absolute; top:0; right:0;
  width:80px; height:80px;
  background:radial-gradient(circle at top right, var(--teal-light), transparent);
  border-radius:0 var(--radius-lg) 0 0;
}
.service-card:nth-child(4n+2)::before { background:radial-gradient(circle at top right, var(--energy-light), transparent); }
.service-card:nth-child(4n+3)::before { background:radial-gradient(circle at top right, var(--vitality-light), transparent); }
.service-card:nth-child(4n+4)::before { background:radial-gradient(circle at top right, var(--purple-light), transparent); }
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.service-icon { font-size:2.6rem; margin-bottom:1rem; }
.service-card h3 { color:var(--teal-dark); margin-bottom:.6rem; font-size:1.1rem; }
.service-card:nth-child(4n+2) h3 { color:var(--energy-dark); }
.service-card:nth-child(4n+3) h3 { color:var(--vitality-dark); }
.service-card:nth-child(4n+4) h3 { color:var(--purple); }
.service-card p  { color:var(--text-muted); font-size:.88rem; line-height:1.65; }
/* animated icon on hover */
.service-card:hover .service-icon { animation: bounce-icon .6s ease; }
@keyframes bounce-icon {
  0%,100% { transform:translateY(0);   }
  30%     { transform:translateY(-8px); }
  60%     { transform:translateY(-3px); }
}

/* ─── Photo Gallery ──────────────────────────────────────────────── */
.gallery-section { background:#fff; }
.gallery-grid {
  max-width:1200px; margin:0 auto;
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 250px 250px;
  gap:1rem;
}
.gallery-item { border-radius:var(--radius); overflow:hidden; position:relative; }
.gallery-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease;
}
.gallery-item:hover img { transform:scale(1.06); }
.gallery-item:first-child { grid-row:span 2; }
.gallery-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(43,122,120,.6), transparent);
  opacity:0; transition:opacity var(--transition);
  display:flex; align-items:flex-end; padding:1rem;
}
.gallery-item:hover .gallery-overlay { opacity:1; }
.gallery-overlay span { color:#fff; font-weight:600; font-size:.9rem; }

/* ─── Process ────────────────────────────────────────────────────── */
.process-steps {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2rem;
}
.process-step { text-align:center; padding:1.5rem 1rem; position:relative; }
.process-step:not(:last-child)::after {
  content:'←'; position:absolute; left:-1.2rem; top:28px;
  font-size:1.4rem; color:var(--teal-light);
}
.step-circle {
  width:64px; height:64px; color:#fff;
  border-radius:50%; font-size:1.5rem; font-weight:800;
  display:flex; align-items:center; justify-content:center; margin:0 auto 1.25rem;
  transition:transform var(--transition);
}
.process-step:nth-child(1) .step-circle { background:var(--teal);     box-shadow:0 6px 20px rgba(12,191,184,.4); }
.process-step:nth-child(2) .step-circle { background:var(--energy);   box-shadow:0 6px 20px rgba(255,107,53,.4); }
.process-step:nth-child(3) .step-circle { background:var(--vitality); box-shadow:0 6px 20px rgba(76,175,80,.4);  }
.process-step:nth-child(4) .step-circle { background:var(--amber);    box-shadow:0 6px 20px rgba(255,179,0,.4);  }
.process-step:hover .step-circle { transform:scale(1.12) rotate(5deg); }
.process-step h3 { color:var(--teal-dark); margin-bottom:.4rem; }
.process-step p   { color:var(--text-muted); font-size:.88rem; }

/* ─── Testimonials ───────────────────────────────────────────────── */
.testimonials-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem;
}
.testi-card {
  background:rgba(255,255,255,.12); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-lg); padding:2rem;
  position:relative;
}
.testi-card::before {
  content:'"'; position:absolute; top:1rem; right:1.5rem;
  font-size:5rem; color:rgba(255,255,255,.15); font-family:serif; line-height:1;
}
.testi-stars { color:#fbbf24; font-size:1rem; margin-bottom:.9rem; letter-spacing:.1em; }
.testi-card p { font-size:.95rem; opacity:.9; margin-bottom:1.25rem; }
.testi-author { font-weight:700; font-size:.88rem; opacity:.75; }

/* ─── Blog / Posts grid ──────────────────────────────────────────── */
.posts-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.75rem;
  max-width:1200px; margin:0 auto;
}
.post-card {
  background:#fff; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow); transition:transform var(--transition),box-shadow var(--transition);
}
.post-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.post-card-img { position:relative; height:200px; overflow:hidden; }
.post-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.post-card:hover .post-card-img img { transform:scale(1.06); }
.post-card-img-placeholder {
  width:100%; height:100%;
  background:linear-gradient(135deg, var(--teal-light), var(--teal));
  display:flex; align-items:center; justify-content:center; font-size:3rem;
}
.post-card-tag {
  position:absolute; top:12px; right:12px;
  background:linear-gradient(135deg,var(--teal),var(--vitality)); color:#fff; border-radius:50px;
  padding:.25rem .75rem; font-size:.75rem; font-weight:700;
}
.post-card-body { padding:1.5rem; }
.post-card-meta { font-size:.8rem; color:var(--text-muted); margin-bottom:.5rem; }
.post-card h3 { font-size:1.05rem; color:var(--text); margin-bottom:.5rem; line-height:1.4; }
.post-card h3 a { color:inherit; }
.post-card h3 a:hover { color:var(--teal); }
.post-card p { font-size:.88rem; color:var(--text-muted); }
.post-card-footer { padding:0 1.5rem 1.5rem; }
.read-more { font-size:.85rem; font-weight:700; color:var(--teal); }

/* ─── Single Post ────────────────────────────────────────────────── */
.post-header { padding:5rem 1.5rem 3rem; text-align:center; background:linear-gradient(135deg,#0a3836,var(--teal-dark) 50%,var(--teal)); color:#fff; }
.post-header .post-tags { margin-bottom:1rem; }
.post-header .tag-pill { background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3); color:#fff; border-radius:50px; padding:.3rem .9rem; font-size:.8rem; }
.post-header h1 { font-size:clamp(1.8rem,4vw,3rem); max-width:800px; margin:0 auto 1rem; }
.post-header .post-meta { opacity:.8; font-size:.9rem; }
.post-feature-img { max-height:500px; width:100%; object-fit:cover; }
.post-content { max-width:780px; margin:0 auto; padding:3rem 1.5rem; }
.post-content h2,h3 { color:var(--teal-dark); margin:1.8rem 0 .8rem; }
.post-content p { margin-bottom:1rem; color:var(--text-muted); }
.post-content ul,ol { margin:1rem 0 1rem 1.5rem; color:var(--text-muted); }
.post-content blockquote {
  border-right:4px solid var(--teal); background:var(--teal-xlight);
  padding:1rem 1.5rem; margin:1.5rem 0; border-radius:0 var(--radius) var(--radius) 0;
  font-style:italic; color:var(--teal-dark);
}

/* ─── Contact Section ────────────────────────────────────────────── */
.contact-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start;
}
.contact-info h2 { color:var(--teal-dark); margin-bottom:1.5rem; }
.contact-item { display:flex; gap:1rem; margin-bottom:1.5rem; }
.contact-item-icon {
  width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.contact-item:nth-child(1) .contact-item-icon { background:var(--teal-light); }
.contact-item:nth-child(2) .contact-item-icon { background:var(--vitality-light); }
.contact-item:nth-child(3) .contact-item-icon { background:var(--energy-light); }
.contact-item:nth-child(4) .contact-item-icon { background:var(--amber-light); }
.contact-item-text strong { display:block; color:var(--teal-dark); margin-bottom:.2rem; }
.contact-item-text span,
.contact-item-text a { color:var(--text-muted); font-size:.95rem; direction:ltr; display:inline-block; }
.contact-success {
  background:var(--teal-light); border-right:4px solid var(--teal);
  padding:1rem 1.25rem; border-radius:var(--radius); color:var(--teal-dark); font-weight:600; margin-bottom:1.5rem;
}

.contact-form { background:#fff; border-radius:var(--radius-lg); padding:2.5rem; box-shadow:var(--shadow); }
.contact-form h3 { color:var(--teal-dark); margin-bottom:1.5rem; }
.form-group { margin-bottom:1.1rem; }
.form-group label { display:block; font-size:.88rem; font-weight:600; margin-bottom:.35rem; }
.form-group input,
.form-group textarea,
.form-group select {
  width:100%; padding:.75rem 1rem; border:2px solid #e8f0f0;
  border-radius:var(--radius); font-family:var(--font); font-size:.9rem;
  direction:rtl; background:var(--teal-xlight); transition:border-color var(--transition);
}
.form-group input:focus,
.form-group textarea:focus { outline:none; border-color:var(--teal); background:#fff; }
.form-group textarea { min-height:130px; resize:vertical; }
.form-btn { width:100%; padding:.9rem; border:none; border-radius:50px; font-size:1rem; }

/* ─── CTA Section ────────────────────────────────────────────────── */
.cta-section { background:linear-gradient(135deg,var(--energy-dark) 0%,var(--energy) 45%,var(--amber) 100%); color:#fff; text-align:center; padding:5rem 1.5rem; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%, rgba(255,255,255,.1), transparent 60%); pointer-events:none; }
.cta-section h2 { font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:1rem; }
.cta-section p   { opacity:.9; font-size:1.1rem; max-width:600px; margin:0 auto 2.5rem; }
.cta-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ─── Footer ─────────────────────────────────────────────────────── */
.site-footer { background:#17252a; color:rgba(255,255,255,.7); padding:3.5rem 1.5rem 1.5rem; }
.footer-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem;
}
.footer-brand .site-logo { color:#fff; font-size:1.35rem; margin-bottom:1rem; }
.footer-brand p { font-size:.88rem; line-height:1.7; }
.footer-col h4 { color:#fff; margin-bottom:1rem; font-size:.95rem; letter-spacing:.04em; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.45rem; }
.footer-col a { color:rgba(255,255,255,.6); font-size:.88rem; transition:color var(--transition); }
.footer-col a:hover { color:var(--teal); }
.footer-bottom {
  max-width:1200px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,.1); padding-top:1.5rem;
  display:flex; justify-content:space-between; align-items:center; font-size:.82rem;
}
.footer-social { display:flex; gap:1rem; }
.footer-social a {
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.7);
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
  transition:all var(--transition);
}
.footer-social a:hover { background:var(--teal); color:#fff; transform:translateY(-2px); }

/* ─── Tag / Archive page ─────────────────────────────────────────── */
.archive-header { background:linear-gradient(135deg,var(--vitality-dark),var(--vitality) 60%,var(--teal)); color:#fff; padding:4rem 1.5rem 3rem; text-align:center; }
.archive-header h1 { font-size:clamp(1.8rem,3vw,2.8rem); margin-bottom:.5rem; }
.archive-header p { opacity:.85; }
.archive-grid { max-width:1200px; margin:2rem auto; padding:0 1.5rem; }

/* ─── Pagination ─────────────────────────────────────────────────── */
.pagination { display:flex; justify-content:center; gap:.5rem; margin:3rem 0; }
.page-item {
  width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.9rem;
  transition:all var(--transition);
}
.page-item a { color:var(--text-muted); width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.page-item:hover,
.page-item.active { background:var(--teal); }
.page-item:hover a,
.page-item.active a { color:#fff; }

/* ─── Testimonials Carousel ─────────────────────────────────────── */
.testimonials-section { overflow:hidden; }

.carousel-outer {
  display:flex; align-items:center; gap:1rem; position:relative;
}
.carousel-viewport {
  flex:1; overflow:hidden; border-radius:var(--radius-lg);
}
.carousel-track {
  display:flex; gap:1.5rem;
  transition:transform .45s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.testi-card {
  background:rgba(255,255,255,.1); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-lg);
  padding:2rem 2rem 1.5rem;
  flex:0 0 calc(33.333% - 1rem);
  min-width:0; box-sizing:border-box;
  display:flex; flex-direction:column; gap:.6rem;
  position:relative;
}
.testi-card::before {
  content:'"'; position:absolute; top:.6rem; right:1.25rem;
  font-size:5rem; color:rgba(255,255,255,.12); font-family:serif; line-height:1;
}
.testi-stars { color:#fbbf24; font-size:1rem; letter-spacing:.1em; }
.testi-card p { font-size:.95rem; opacity:.92; line-height:1.75; flex:1; }
.testi-author { font-weight:700; font-size:.9rem; opacity:.8; }
.testi-condition {
  display:inline-block; font-size:.75rem; font-weight:600;
  background:rgba(255,255,255,.15); border-radius:50px;
  padding:.2rem .75rem; opacity:.85; align-self:flex-start;
}
.testi-fb-link {
  position:absolute; top:1rem; left:1rem;
  width:30px; height:30px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#1877F2; color:#fff; opacity:.75;
  transition:opacity var(--transition), transform var(--transition);
}
.testi-fb-link:hover { opacity:1; transform:scale(1.1); }

/* Arrow buttons */
.carousel-arrow {
  flex-shrink:0; width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.15); border:2px solid rgba(255,255,255,.3);
  color:#fff; font-size:1.8rem; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all var(--transition); z-index:2;
}
.carousel-arrow:hover { background:rgba(255,255,255,.3); transform:scale(1.1); }
.carousel-arrow:disabled { opacity:.3; cursor:default; transform:none; }

/* Dots */
.carousel-dots {
  display:flex; justify-content:center; gap:.5rem; margin-top:1.75rem;
}
.carousel-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,.3); border:none; cursor:pointer;
  transition:all var(--transition); padding:0;
}
.carousel-dot.active {
  background:#fff; width:24px; border-radius:4px;
}

/* Counter */
.carousel-counter {
  text-align:center; margin-top:.75rem;
  color:rgba(255,255,255,.55); font-size:.82rem; font-weight:600;
}

@media (max-width:900px) {
  .testi-card { flex:0 0 calc(50% - .75rem); }
}
@media (max-width:600px) {
  .testi-card { flex:0 0 100%; }
  .carousel-arrow { width:38px; height:38px; font-size:1.4rem; }
}

/* ─── Testimonial Submission Modal ──────────────────────────────── */
.recs-cta {
  margin-top:2rem; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
}
.recs-cta-hint { font-size:.8rem; color:rgba(255,255,255,.55); margin:0; }

.recs-modal[hidden] { display:none; }
.recs-modal {
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  padding:1rem;
}
.recs-modal-backdrop {
  position:absolute; inset:0; background:rgba(20,30,45,.65);
  backdrop-filter:blur(4px); animation:recs-fade-in .18s ease-out;
}
.recs-modal-content {
  position:relative; z-index:1;
  background:#fff; color:var(--ink, #1a2434);
  width:min(560px, 100%); max-height:90vh; overflow-y:auto;
  border-radius:var(--radius-lg); padding:2rem 1.75rem;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  animation:recs-pop-in .25s cubic-bezier(.18,.89,.32,1.28);
}
@keyframes recs-fade-in { from { opacity:0 } to { opacity:1 } }
@keyframes recs-pop-in  { from { opacity:0; transform:translateY(20px) scale(.96) } to { opacity:1; transform:none } }

.recs-modal-close {
  position:absolute; top:.5rem; left:.5rem;
  width:36px; height:36px; border-radius:50%;
  background:transparent; border:none; cursor:pointer;
  font-size:1.6rem; line-height:1; color:#666;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background var(--transition);
}
.recs-modal-close:hover { background:#f1f4f9; color:#000; }

.recs-modal h3 { margin:0 0 .25rem; font-size:1.35rem; color:var(--teal-dark); }
.recs-modal-sub { margin:0 0 1.25rem; color:#666; font-size:.9rem; }

.recs-hp {
  position:absolute; left:-9999px; width:1px; height:1px;
  overflow:hidden; opacity:0; pointer-events:none;
}

#recs-form { display:flex; flex-direction:column; gap:1rem; }
.recs-field { display:flex; flex-direction:column; gap:.35rem; border:none; padding:0; margin:0; }
.recs-label  { font-weight:600; font-size:.9rem; color:#2b3344; }
.recs-required { color:#e91e63; }
.recs-field input[type=text],
.recs-field input[type=url],
.recs-field textarea {
  font:inherit; font-size:.95rem;
  padding:.65rem .8rem; border-radius:8px;
  border:1px solid #d6dbe3; background:#fafbfc;
  width:100%; box-sizing:border-box;
  transition:border-color var(--transition), background var(--transition);
}
.recs-field input:focus, .recs-field textarea:focus {
  outline:none; border-color:var(--teal); background:#fff;
  box-shadow:0 0 0 3px rgba(0,150,167,.15);
}
.recs-field textarea { resize:vertical; min-height:110px; }
.recs-counter { color:#888; font-size:.75rem; align-self:flex-start; }
.recs-hint { color:#666; font-size:.78rem; }

.recs-source { display:flex; flex-direction:column; gap:.4rem; }
.recs-source legend { margin-bottom:.4rem; }
.recs-radio { display:flex; align-items:center; gap:.5rem; font-size:.92rem; cursor:pointer; }
.recs-radio input[type=radio] { accent-color:var(--teal); }

.recs-submit { width:100%; padding:.85rem; font-size:1rem; }
.recs-submit:disabled { opacity:.6; cursor:not-allowed; }

.recs-form-msg { font-size:.88rem; min-height:1.1em; }
.recs-form-msg.ok   { color:#1b8a4b; }
.recs-form-msg.err  { color:#c62828; }
.recs-form-msg.busy { color:#666; }

@media (max-width:600px) {
  .recs-modal-content { padding:1.5rem 1.25rem; }
}

/* ─── Social Proof Section ──────────────────────────────────────── */
.social-proof-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-bottom:2.5rem;
}
.social-card {
  background:#fff; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow);
}
.social-card-header {
  display:flex; align-items:center; gap:.75rem;
  padding:1rem 1.25rem; border-bottom:2px solid #f0f0f0;
}
.social-icon { font-size:1.4rem; flex-shrink:0; }
.social-icon-fb { color:#1877f2; font-style:normal; font-weight:900; font-size:1.6rem; }
.social-card-title { font-weight:700; flex:1; }
.social-card-link { font-size:.82rem; color:var(--teal); font-weight:600; white-space:nowrap; }
.social-card-link:hover { color:var(--teal-dark); }

/* Facebook wrapper */
.fb-page-wrap {
  padding:.75rem; display:flex; justify-content:center; overflow:hidden;
}
.fb-page-wrap iframe { border-radius:var(--radius); }

/* Instagram placeholder */
.social-card-ig { background:linear-gradient(145deg,#fff,#fdf2ff); }
.ig-placeholder { padding:2rem 1.5rem; }
.ig-placeholder-inner { text-align:center; display:flex; flex-direction:column; align-items:center; gap:1.25rem; }
.ig-gradient-circle {
  width:80px; height:80px; border-radius:50%; font-size:2.2rem;
  background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(220,39,67,.3);
}
.ig-cta-text { color:var(--text-muted); font-size:.95rem; max-width:280px; line-height:1.6; }
.btn-ig {
  background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  color:#fff !important; border:none; padding:.7rem 1.75rem;
  border-radius:50px; font-weight:700; font-size:.9rem;
  box-shadow:0 4px 15px rgba(220,39,67,.35);
  transition:transform var(--transition), box-shadow var(--transition);
}
.btn-ig:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(220,39,67,.45); color:#fff; }
.ig-features {
  display:flex; gap:.75rem; flex-wrap:wrap; justify-content:center;
}
.ig-features span {
  background:rgba(220,39,67,.07); color:#cc2366;
  border-radius:50px; padding:.3rem .85rem; font-size:.8rem; font-weight:600;
}
.ig-posts-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; padding:.75rem;
}

/* Social follow bar */
.social-follow-bar {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; flex-wrap:wrap; padding:1.5rem;
  background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow);
  font-weight:600; color:var(--text-muted); font-size:.9rem;
}
.sfb-btn {
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.6rem 1.4rem; border-radius:50px; font-weight:700; font-size:.88rem;
  transition:all var(--transition);
}
.sfb-fb { background:#1877f2; color:#fff; }
.sfb-fb:hover { background:#0c5fd6; color:#fff; transform:translateY(-2px); box-shadow:0 6px 18px rgba(24,119,242,.4); }
.sfb-ig { background:linear-gradient(45deg,#f09433,#dc2743,#bc1888); color:#fff; }
.sfb-ig:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(220,39,67,.4); color:#fff; }
.sfb-wa { background:#25d366; color:#fff; }
.sfb-wa:hover { background:#1eab52; color:#fff; transform:translateY(-2px); box-shadow:0 6px 18px rgba(37,211,102,.4); }

@media (max-width:900px) {
  .social-proof-grid { grid-template-columns:1fr; }
}

/* ─── Treatments Page ───────────────────────────────────────────── */
.treatments-hero {
  position:relative; min-height:65vh; display:flex; align-items:center;
  overflow:hidden;
  background: linear-gradient(135deg, #0a3836 0%, var(--teal-dark) 50%, var(--teal) 100%);
}
.treatments-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:.22; mix-blend-mode:luminosity;
}
.treatments-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(10,56,54,.85) 0%, rgba(12,191,184,.45) 100%);
}
.treatments-hero-content {
  position:relative; z-index:2;
  padding:5rem 1.5rem; color:#fff; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:1rem;
}
.treatments-hero-content h1 { font-size:clamp(2rem,5vw,3.2rem); }
.treatments-hero-content p  { font-size:1.1rem; opacity:.9; max-width:560px; }

/* ─── Intro strip */
.treatments-intro-strip {
  background:#fff; box-shadow:var(--shadow); padding:1.75rem 1.5rem;
}
.treatments-intro-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; text-align:center;
}
.tintro-item {
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  font-weight:600; font-size:.95rem; color:var(--text);
  padding:.75rem; border-radius:var(--radius);
  transition:background var(--transition);
}
.tintro-item:hover { background:var(--teal-xlight); }
.tintro-icon { font-size:1.8rem; }

/* ─── Full-width treatment sections */
.treatment-section { padding:5rem 0; }
.treatment-section-alt { background:linear-gradient(135deg, var(--teal-xlight) 0%, #f0fff4 100%); }
.treatment-wrap {
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
}
.treatment-wrap-reverse { direction:ltr; }
.treatment-wrap-reverse .treatment-body-col { direction:rtl; }

.treatment-img-col { position:relative; }
.treatment-photo {
  width:100%; aspect-ratio:16/10; object-fit:cover;
  border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
}
.treatment-img-badge {
  position:absolute; bottom:-18px; left:20px;
  background:var(--energy); color:#fff;
  border-radius:var(--radius); padding:.85rem 1.1rem;
  box-shadow:0 8px 24px rgba(255,107,53,.4);
  display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:.9rem;
}
.tib-emoji { font-size:1.4rem; }

.treatment-body-col { padding-bottom:1rem; }
.treatment-tag {
  display:inline-block; border-radius:50px;
  padding:.3rem 1rem; font-size:.8rem; font-weight:700;
  margin-bottom:1rem;
}
.treatment-body-col h2 { font-size:clamp(1.5rem,2.5vw,2rem); color:var(--teal-dark); margin-bottom:.75rem; }
.treatment-lead { font-size:1.1rem; color:var(--text); font-weight:500; margin-bottom:.75rem; }
.treatment-list {
  list-style:none; margin:1rem 0; display:flex; flex-direction:column; gap:.5rem;
}
.treatment-list li {
  display:flex; align-items:center; gap:.65rem; font-size:.95rem; color:var(--text-muted);
}
.treatment-list li::before {
  content:'✓'; font-weight:800; color:var(--vitality);
  flex-shrink:0; font-size:.9rem;
}

/* ─── Treatment cards grid */
.treatments-cards-section { }
.treatments-cards-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:2rem;
}
.tcard {
  background:#fff; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform var(--transition), box-shadow var(--transition);
  display:flex; flex-direction:column;
}
.tcard:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.tcard-img-wrap {
  height:160px; display:flex; align-items:center; justify-content:center;
  padding:1.5rem;
}
.tcard-icon { width:110px; height:110px; object-fit:contain; }
.tcard-body { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
.tcard-tag {
  display:inline-block; border-radius:50px;
  padding:.25rem .85rem; font-size:.75rem; font-weight:700;
  margin-bottom:.75rem; align-self:flex-start;
}
.tcard-body h3 { font-size:1.25rem; color:var(--text); margin-bottom:.6rem; }
.tcard-body p  { color:var(--text-muted); font-size:.9rem; line-height:1.7; margin-bottom:1rem; }
.tcard-list {
  list-style:none; display:flex; flex-direction:column; gap:.4rem;
  margin-bottom:1.25rem; flex:1;
}
.tcard-list li {
  display:flex; align-items:center; gap:.6rem; font-size:.88rem; color:var(--text-muted);
}
.tcard-list li::before { content:'←'; color:var(--teal); font-weight:700; flex-shrink:0; }
.tcard-btn { font-size:.88rem; padding:.6rem 1.25rem; align-self:flex-start; }

/* ─── Responsive ─────────────────────────────────────────────────── */
@media (max-width:900px) {
  .hero-content    { grid-template-columns:1fr; }
  .hero-visual     { display:none; }
  .about-grid      { grid-template-columns:1fr; }
  .about-img-wrap  { max-width:368px; margin:0 auto; }
  .contact-grid    { grid-template-columns:1fr; }
  .footer-grid     { grid-template-columns:1fr 1fr; }
  .stats-grid      { grid-template-columns:repeat(2,1fr); }
  .gallery-grid    { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .gallery-item:first-child { grid-row:span 1; }
  .treatment-wrap  { grid-template-columns:1fr; gap:2.5rem; }
  .treatment-wrap-reverse { direction:rtl; }
  .treatments-intro-grid { grid-template-columns:repeat(2,1fr); }
  .treatments-cards-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .nav-menu,
  .nav-actions .nav-phone { display:none; }
  .nav-toggle { display:flex; }
  .nav-menu.open {
    display:flex; flex-direction:column;
    position:absolute; top:70px; right:0; left:0;
    background:#fff; padding:1rem 1.5rem 1.5rem;
    box-shadow:var(--shadow); gap:.8rem;
  }
  .footer-grid   { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; gap:.5rem; text-align:center; }
  .stats-grid    { grid-template-columns:1fr 1fr; }
  .gallery-grid  { grid-template-columns:1fr; }
}
