/*
Theme Name: Caribbean Clinicians
Theme URI: https://caribbeanclinicians.com
Author: Greater Changes LLC
Author URI: https://caribbeanclinicians.com
Description: Custom directory theme for Caribbean mental health clinicians.
Version: 1.4.0
License: Proprietary
Text Domain: caribbean-clinicians
*/

/* ── CSS CUSTOM PROPERTIES ── */
:root {
  --sea:       #1A5F6E;  /* Deep Ocean  — nav bg + all page headings              */
  --sea-light: #2AA5B8;  /* Seafoam     — focus rings, borders, tags              */
  --coral:     #E07B1F;  /* Sunset Orange — all CTAs, buttons, card accents       */
  --leaf:      #2AA5B8;  /* Seafoam     — links, specialty tags, interactive      */
  --sun:       #F5A623;  /* Marigold    — featured/Pro badges only               */
  --night:     #2C2C2C;  /* Charcoal    — body text, all paragraphs              */
  --cream:     #FFFFFF;  /* White       — page & card backgrounds                 */
  --sand:      #FFFFFF;  /* White       — card surfaces                           */
  --papaya:    #E8F5F7;  /* Sea Mist    — alternating section backgrounds         */
  --blush:     #E8F5F7;  /* Sea Mist    — hover states                           */
  --muted:     #888888;  /* Gray        — secondary/muted text                    */
  --warm-sand: #FEF3E8;  /* Warm Sand   — pricing section background              */
}

/* ── BASE ── */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--cream);
  color: var(--night);
  font-size: 17px;
  line-height: 1.65;
}

/* Force Plus Jakarta Sans on all native form controls — browsers default to system-ui */
button, input, select, textarea, optgroup {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

/* ── GLOBAL HEADINGS — Cormorant Garamond ── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
}

/* Responsive h1 — larger on desktop, smaller on mobile */
h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; }

/* Italic inside headings stays in Cormorant italic */
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em,
h1 i,  h2 i,  h3 i,  h4 i,  h5 i,  h6 i {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
}

/* Italic inside body text stays in Plus Jakarta Sans italic — same size, no jump */
p em, p i, li em, li i, td em, td i, span em {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-style: italic;
}

/* ── EYEBROW LABELS — small all-caps with wide tracking ── */
.eyebrow,
[class*="-eyebrow"],
[class*="eyebrow-"] {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* ══════════════════════════════════════
   NAV — Deep Ocean bar
══════════════════════════════════════ */
.cc-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 2.5rem;
  background: var(--sea);
  position: sticky;
  top: 0;
  z-index: 200;
}
.cc-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  gap: 3px;
  cursor: pointer;
  text-decoration: none;
}
/* Logo wordmark colours — matches brand image */
.logo-caribbean {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--coral);
  letter-spacing: -0.01em;
  line-height: 1;
}
.logo-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.5rem;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  line-height: 1;
  display: block;
  opacity: 0.9;
}
/* Footer has light background — use teal for subtitle there */
.cc-footer .logo-subtitle {
  color: var(--sea);
  opacity: 1;
}

.cc-nav-links {
  display: flex;
  gap: 2rem;
  list-style: none;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.85);
}
.cc-nav-links li { cursor: pointer; transition: color 0.2s; }
.cc-nav-links li:hover { color: white; }
.cc-nav-links li a { text-decoration: none; color: inherit; }

/* Nav guest group (logged-out state) */
.nav-guest-group {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.nav-signin {
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  padding: 0.45rem 0.85rem;
  border-radius: 100px;
  border: 1.5px solid rgba(255,255,255,0.35);
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.nav-signin:hover { background: rgba(255,255,255,0.12); color: white; }

/* Nav user group (logged-in state) */
.nav-user-group {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.nav-logout {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.2s;
}
.nav-logout:hover { color: white; text-decoration: underline; }

.cc-nav-cta {
  background: var(--coral);
  color: white;
  border: none;
  padding: 0.6rem 1.4rem;
  border-radius: 100px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
  text-decoration: none;
  display: inline-block;
}
.cc-nav-cta:hover { background: #c96a16; }

/* ── MOBILE NAV ── */
.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.4rem;
  color: white;
}
@media (max-width: 768px) {
  .nav-toggle { display: block; }
  .cc-nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--sea);
    flex-direction: column;
    padding: 1rem 2rem;
    border-top: 1px solid rgba(255,255,255,0.1);
    gap: 1rem;
    z-index: 199;
  }
  .cc-nav-links.open { display: flex; }
  .cc-nav { position: relative; }
}

/* ══════════════════════════════════════
   MOBILE TAP — suppress blue flash on iOS/Android
══════════════════════════════════════ */
a, button,
.btn-primary, .btn-secondary, .btn-hero-ghost,
.cc-nav-cta, .nav-signin, .pill, .tier-cta,
.search-btn, .hiw-num {
  -webkit-tap-highlight-color: transparent;
}

/* ══════════════════════════════════════
   SHARED BUTTONS
══════════════════════════════════════ */
.btn-primary {
  background: var(--coral);
  color: white;
  border: none;
  padding: 0.85rem 2rem;
  border-radius: 100px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 20px rgba(224,123,31,0.25);
  text-decoration: none;
  display: inline-block;
}
.btn-primary:hover { background: #c96a16; transform: translateY(-2px); }

.btn-secondary {
  background: transparent;
  color: var(--sea);
  border: 1.5px solid var(--sea);
  padding: 0.85rem 2rem;
  border-radius: 100px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-block;
}
.btn-secondary:hover { background: var(--sea); color: white; border-color: var(--sea); }

/* ══════════════════════════════════════
   SHARED FORM ELEMENTS
══════════════════════════════════════ */
label {
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--night);
  opacity: 0.65;
  margin-bottom: 0.35rem;
}
input[type=text], input[type=email], input[type=tel],
input[type=number], input[type=password], input[type=month],
input[type=date], input[type=url], select, textarea {
  width: 100%;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.9rem;
  color: var(--night);
  border: 1px solid rgba(42,165,184,0.2);
  border-radius: 8px;
  padding: 0.65rem 0.9rem;
  background: var(--cream);
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--sea-light);
  box-shadow: 0 0 0 3px rgba(42,165,184,0.12);
  background: white;
}
textarea { resize: vertical; line-height: 1.6; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.form-group { margin-bottom: 1rem; }
.form-group:last-child { margin-bottom: 0; }

/* ── TAGS — white bg, Seafoam border + text, pill shape ── */
.tag { font-size: 0.7rem; padding: 0.25rem 0.65rem; border-radius: 100px; font-weight: 500; }
.tag-sea  { background: white; color: var(--leaf); border: 1px solid rgba(42,165,184,0.35); }
.tag-coral{ background: white; color: var(--leaf); border: 1px solid rgba(42,165,184,0.35); }
.tag-leaf { background: white; color: var(--leaf); border: 1px solid rgba(42,165,184,0.35); }

/* ══════════════════════════════════════
   HOMEPAGE
══════════════════════════════════════ */
/* ── HERO — full-bleed photo with gradient overlay ── */
.hero {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* The photo — fills the entire hero */
.hero-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  z-index: 0;
}

/* Left-heavy gradient: dark teal on left → transparent on right */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(10,50,54,0.88) 0%,
    rgba(10,50,54,0.72) 35%,
    rgba(10,50,54,0.35) 60%,
    transparent 80%
  );
  z-index: 1;
}

/* Text layer */
.hero-content {
  position: relative;
  z-index: 2;
  padding: 5rem 2.5rem 5rem 5%;
  width: 100%;
  max-width: 620px;
  text-align: left;
}
.eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sea-light);
  margin-bottom: 1rem;
}
.hero-h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 900;
  line-height: 1.1;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin-bottom: 1.1rem;
  white-space: normal;
}
.hero-h1 em { font-style: italic; color: var(--sea-light); }
.hero-sub {
  font-size: 1rem;
  line-height: 1.68;
  color: rgba(255,255,255,0.82);
  max-width: 460px;
  margin-bottom: 2rem;
}
.hero-btns {
  display: flex;
  gap: 0.875rem;
  flex-wrap: nowrap; /* keep buttons side by side */
  align-items: center;
}

/* Ghost / outline button for dark hero backgrounds */
.btn-hero-ghost {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.1);
  color: #ffffff;
  transition: background 0.2s, border-color 0.2s;
  backdrop-filter: blur(4px);
}
.btn-hero-ghost:hover {
  background: rgba(255,255,255,0.2);
  border-color: #ffffff;
}

/* Legacy classes — hidden in new layout */
.hero-left, .hero-right, .hero-pattern,
.hero-card-stack, .hero-img-wrap,
.hero-trust-row, .hero-badge { display: none; }
.profile-card {
  position: relative;
  background: white;
  border-radius: 16px;
  padding: 1.25rem;
  width: 220px;
  box-shadow: 0 8px 32px rgba(44,44,44,0.10);
  border: 1px solid rgba(42,165,184,0.15);
  animation: float 4s ease-in-out infinite;
}
.profile-card:nth-child(2) { margin-top: 24px; animation-delay: -2s; animation-duration: 5s; }
.profile-card:nth-child(1) { margin-top: 0; }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.card-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  margin-bottom: 0.75rem;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1rem; color: var(--sea);
  background: var(--papaya);
  overflow: hidden;
}
.card-name { font-family: 'Cormorant Garamond', serif; font-size: 1rem; font-weight: 700; color: var(--night); margin-bottom: 0.2rem; }
.card-cred { font-size: 0.75rem; color: #888888; font-weight: 500; margin-bottom: 0.6rem; }
.card-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.card-loc  { font-size: 0.7rem; color: var(--night); opacity: 0.45; margin-top: 0.6rem; }

/* ── TRUST BAR ── */
.trust-bar {
  background: var(--papaya);
  color: var(--night);
  padding: 1.25rem 2.5rem;
  display: flex; align-items: center; justify-content: center;
  gap: 3rem; flex-wrap: wrap;
  border-bottom: 1px solid rgba(42,165,184,0.15);
}
.trust-item { display: flex; align-items: center; gap: 0.6rem; font-size: 0.875rem; opacity: 0.85; }
.trust-dot  { width: 6px; height: 6px; border-radius: 50%; background: var(--coral); flex-shrink: 0; }
.trust-num  { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 700; color: var(--sea); margin-right: 0.25rem; }

/* ── EMPATHY SPLIT ── */
.emp-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
}
.emp-split-photo {
  position: relative;
  background-size: cover;
  background-position: center;
}
.emp-split-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(15, 55, 65, 0.72) 0%,
    rgba(15, 55, 65, 0.18) 55%,
    transparent 100%
  );
}
.emp-split-quote {
  position: absolute;
  bottom: 2.5rem;
  left: 2.5rem;
  right: 2.5rem;
}
.emp-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.35;
  margin-bottom: 0.6rem;
}
.emp-quote em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: var(--coral);
}
.emp-quote-sub {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.5;
}
.emp-split-content {
  background: #fff;
  padding: 4rem 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.emp-split-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 700;
  color: var(--sea);
  line-height: 1.25;
  margin-bottom: 2rem;
}
.emp-benefits {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.emp-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(42, 165, 184, 0.12);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.9375rem;
  color: var(--night);
  line-height: 1.6;
}
.emp-benefits li:last-child { border-bottom: none; }
.emp-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--coral);
  flex-shrink: 0;
  margin-top: 0.4rem;
}
.emp-benefits strong {
  font-weight: 600;
  color: var(--sea);
  display: inline;
}
@media (max-width: 768px) {
  .emp-split { grid-template-columns: 1fr; }
  .emp-split-photo { min-height: 340px; height: 340px; }
  .emp-split-content { padding: 2.5rem 1.75rem; }
}

/* ── HOW IT WORKS ── */
.hiw-section {
  background: #EAF6F8;
  padding: 4.5rem 2.5rem;
  text-align: center;
}
.hiw-eyebrow {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sea-light);
  margin-bottom: 0.75rem;
}
.hiw-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 700;
  color: var(--sea);
  margin-bottom: 3rem;
  line-height: 1.15;
}
.hiw-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 760px;
  margin: 0 auto;
}
.hiw-step {
  flex: 1;
  padding: 0 1.5rem;
}
.hiw-num {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--sea);
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.hiw-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--sea);
  margin-bottom: 0.5rem;
}
.hiw-desc {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  color: #3a6a74;
  line-height: 1.65;
}
.hiw-divider {
  width: 1px;
  height: 48px;
  background: #a0d8e0;
  flex-shrink: 0;
  align-self: flex-start;
}
@media (max-width: 640px) {
  .hiw-steps {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .hiw-step { padding: 1.25rem 0; width: 100%; }
  .hiw-divider {
    width: 60px;
    height: 1px;
    margin: 0 auto;
  }
}

/* ── HOME SEARCH SECTION ── */
.home-search-section {
  padding: 5.25rem 2.5rem;
  text-align: center;
  background: var(--cream);
  position: relative;
  overflow: hidden;
}
/* Texture at 25% — pseudo-element keeps content fully opaque */
.home-search-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--texture-img, none);
  background-size: cover;
  background-position: center;
  opacity: 0.25;
  z-index: 0;
}
/* Lift all direct children above the texture */
.home-search-section > * {
  position: relative;
  z-index: 1;
}
.section-label {
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--leaf);
  margin-bottom: 0.75rem;
}
.section-h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.25rem; font-weight: 800; color: var(--sea);
  margin-bottom: 0.75rem; letter-spacing: -0.02em;
}
.section-sub {
  font-size: 0.9375rem; color: var(--night); opacity: 0.7;
  margin-bottom: 2rem; max-width: 500px;
  margin-left: auto; margin-right: auto; line-height: 1.6;
}
.search-bar {
  display: flex; max-width: 580px; margin: 0 auto 2.5rem;
  background: #ffffff;
  border: 1.5px solid rgba(42,165,184,0.25);
  border-radius: 100px; overflow: hidden;
  padding: 0.4rem 0.4rem 0.4rem 1.5rem;
  gap: 0.5rem; align-items: center;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 20px rgba(21,72,76,0.08);
}
.search-bar:focus-within {
  border-color: var(--sea-light);
  box-shadow: 0 0 0 3px rgba(42,165,184,0.12);
}
.search-bar input {
  flex: 1; border: none; background: transparent;
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.9375rem;
  color: var(--night); outline: none;
}
.search-bar input::placeholder { opacity: 0.45; }
.search-btn {
  background: var(--coral);
  color: white; border: none;
  padding: 0.65rem 1.5rem; border-radius: 100px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.875rem; font-weight: 500;
  cursor: pointer; white-space: nowrap; transition: background 0.2s;
}
.search-btn:hover { background: #c96a16; }

/* ── FILTER PILLS ── */
.filter-pills { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }
.pill {
  font-size: 0.8125rem; padding: 0.45rem 1.1rem; border-radius: 100px;
  border: 1.5px solid rgba(42,165,184,0.35);
  color: var(--sea);
  cursor: pointer; transition: all 0.15s;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(4px);
  font-family: 'Plus Jakarta Sans', sans-serif; text-decoration: none;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(21,72,76,0.07);
}
.pill:hover { background: white; border-color: var(--sea-light); color: var(--sea); }
.pill.active { background: var(--coral); color: white; border-color: var(--coral); box-shadow: 0 4px 12px rgba(246,100,131,0.3); }

.home-grid-section { padding: 1.25rem 2.5rem 5.25rem; background: var(--papaya); }
.home-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; max-width: 900px; margin: 0 auto; }

/* ── CLINICIAN CARD — white bg, Sunset Orange left border ── */
.cc-card {
  border: 1px solid rgba(42,165,184,0.18);
  border-left: 4px solid var(--coral);
  border-radius: 16px;
  padding: 1.5rem;
  background: white;
  cursor: pointer; transition: all 0.22s;
  position: relative; overflow: hidden;
  text-decoration: none; display: block;
  box-shadow: 0 2px 8px rgba(21,72,76,0.06);
}
.cc-card::before { content: none; }
.cc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px rgba(21,72,76,0.13);
  border-left-color: var(--sea);
  background: #f9fefe;
}
.card-top { display: flex; align-items: flex-start; gap: 0.85rem; margin-bottom: 0.85rem; }
.avatar {
  width: 54px; height: 54px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1rem;
  color: var(--sea);
  background: var(--papaya);
  overflow: hidden;
}
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.c-name { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 700; color: var(--night); line-height: 1.25; }
.c-cred { font-size: 0.8rem; color: var(--leaf); font-weight: 600; margin-top: 0.2rem; }
.c-spec { font-size: 0.875rem; color: var(--night); opacity: 0.62; line-height: 1.5; margin-bottom: 0.75rem; }
.card-tags-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.75rem; }
.card-footer-row {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(42,165,184,0.15);
}
.card-loc { font-size: 0.78rem; color: var(--night); opacity: 0.5; }
.card-btn {
  font-size: 0.8rem; color: var(--sea); font-weight: 600;
  border: 1.5px solid rgba(42,165,184,0.35); border-radius: 100px;
  padding: 0.3rem 0.9rem; cursor: pointer; background: transparent;
  font-family: 'Plus Jakarta Sans', sans-serif; transition: all 0.15s;
}
.card-btn:hover { background: var(--coral); color: white; border-color: var(--coral); }
.badge-featured {
  position: absolute; top: 0.85rem; right: 0.85rem;
  font-size: 0.6rem; font-weight: 500;
  background: var(--sun); color: white;
  padding: 0.18rem 0.55rem; border-radius: 100px;
}
.badge-new {
  position: absolute; top: 0.85rem; right: 0.85rem;
  font-size: 0.6rem; font-weight: 500;
  background: var(--leaf); color: white;
  padding: 0.18rem 0.55rem; border-radius: 100px;
}

/* ── VERIFIED BADGE (card + profile) ── */
.badge-verified {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.55rem; font-weight: 600; line-height: 1;
  background: #E8F5F7; color: var(--sea);
  border: 1px solid rgba(26,95,110,0.2);
  padding: 0.15rem 0.4rem; border-radius: 100px;
  margin-left: 0.3rem; vertical-align: middle;
}
.badge-verified-lg {
  font-size: 0.7rem; padding: 0.25rem 0.6rem;
}

/* ── CARD WRAPPER (keeps card + book-now as one grid item) ── */
.cc-card-wrap { display: flex; flex-direction: column; }
.cc-card.has-book-btn { border-radius: 16px 16px 0 0; }

/* ── BOOK NOW BUTTON (card) ── */
.cc-card { position: relative; }
.card-book-btn {
  display: block; text-align: center;
  background: var(--coral); color: white;
  font-size: 0.8rem; font-weight: 600;
  padding: 0.5rem; border-radius: 0 0 16px 16px;
  text-decoration: none;
  transition: background 0.15s;
}
.card-book-btn:hover { background: #c96a15; }

/* Book Now on single profile */
.btn-book { background: var(--coral); }
.btn-book:hover { background: #c96a15; }

/* ── FILTER TOGGLE (Caribbean Connection) ── */
.filter-toggle {
  display: flex; align-items: flex-start; gap: 0.5rem;
  cursor: pointer; font-size: 0.82rem; color: var(--night);
  line-height: 1.4;
}
.filter-toggle input[type="checkbox"] {
  margin-top: 0.15rem; accent-color: var(--sea);
}

/* ── PRO-ONLY FIELDS HIDDEN BY DEFAULT ── */
.field-pro-only { display: none; }

/* ── HOME CTA / PRICING TIERS — Warm Sand bg, white cards ── */
.home-cta-section {
  background: var(--warm-sand);
  padding: 6.25rem 2.5rem;
  text-align: center;
}
.home-cta-section .section-label { color: var(--leaf); }
.home-cta-section .section-h2    { color: var(--sea); }
.home-cta-section .section-sub   { color: var(--night); opacity: 0.6; }
.home-tiers {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
  max-width: 860px; margin: 2rem auto 0;
}
.home-tier {
  background: white; border: 1px solid rgba(42,165,184,0.15);
  border-top: 3px solid var(--coral);
  border-radius: 16px; padding: 1.75rem 1.5rem; text-align: left;
  cursor: pointer; transition: all 0.2s;
  display: flex; flex-direction: column;
}
.home-tier:hover { background: var(--blush); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(224,123,31,0.1); }
.home-tier.featured { border-top-color: var(--sun); }
.tier-name { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 700; color: var(--sea); margin-bottom: 0.5rem; }
.home-tier.featured .tier-name  { color: var(--leaf); }
.tier-price { font-size: 1.75rem; font-weight: 300; color: var(--night); margin-bottom: 1rem; }
.tier-price span { font-size: 0.875rem; opacity: 0.5; }
.tier-badge {
  font-size: 0.65rem; font-weight: 500;
  background: var(--sun); color: white;
  padding: 0.2rem 0.6rem; border-radius: 100px;
  display: inline-block; margin-bottom: 0.75rem;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.tier-features { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.tier-features li { font-size: 0.8125rem; color: rgba(44,44,44,0.7); display: flex; gap: 0.5rem; align-items: flex-start; line-height: 1.4; }
.tier-features li::before { content: '✦'; font-size: 0.6rem; color: var(--coral); flex-shrink: 0; margin-top: 0.2rem; }
/* Tier CTA buttons */
.tier-cta {
  display: block; text-align: center; margin-top: 1.25rem;
  padding: 0.6rem 1rem; border-radius: 8px; font-size: 0.85rem;
  font-weight: 500; text-decoration: none; transition: all 0.2s;
}
.tier-cta-filled { background: var(--coral); color: #fff; }
.tier-cta-filled:hover { background: #c96a16; color: #fff; }
.tier-cta-outline { border: 1.5px solid var(--sea); color: var(--sea); background: transparent; }
.tier-cta-outline:hover { background: var(--sea); color: #fff; border-color: var(--sea); }
.home-tiers-note { font-size: 0.8rem; color: rgba(44,44,44,0.55); margin-top: 1rem; }

/* ══════════════════════════════════════
   DIRECTORY PAGE
══════════════════════════════════════ */
.dir-header {
  position: relative;
  background: linear-gradient(135deg, var(--sea) 0%, #0f5e62 100%);
  padding: 3.5rem 2rem 3rem;
  color: white;
  border-bottom: none;
  overflow: hidden;
}
.dir-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--dir-bg, none);
  background-size: cover;
  background-position: center;
  opacity: 0.18;
  z-index: 0;
}
.dir-header-inner { position: relative; z-index: 1; }
.dir-header-inner { max-width: 860px; margin: 0 auto; }
.dir-eyebrow { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(255,255,255,0.7); margin-bottom: 0.75rem; }
.dir-h1 { font-family: 'Cormorant Garamond', serif; font-size: 2.6rem; font-weight: 900; color: white; letter-spacing: -0.02em; margin-bottom: 1.5rem; }
.dir-search-bar {
  display: flex; background: rgba(255,255,255,0.15); border: 1.5px solid rgba(255,255,255,0.3); border-radius: 100px; overflow: hidden;
  padding: 0.4rem 0.4rem 0.4rem 1.35rem; gap: 0.5rem; align-items: center; max-width: 580px;
  backdrop-filter: blur(4px);
}
.dir-search-bar input {
  flex: 1; border: none; background: transparent;
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1rem; color: white; outline: none;
}
.dir-search-bar input::placeholder { color: rgba(255,255,255,0.6); opacity: 1; }
.dir-search-btn {
  background: var(--coral); color: white; border: none;
  padding: 0.65rem 1.5rem; border-radius: 100px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.9rem; font-weight: 600;
  cursor: pointer; transition: background 0.2s; white-space: nowrap;
}
.dir-search-btn:hover { background: #c96a16; }

.dir-body-wrap { background: white; }
.dir-body { display: grid; grid-template-columns: 260px 1fr; gap: 0; max-width: 1120px; margin: 0 auto; padding: 2.5rem; }
.dir-sidebar { padding-right: 2rem; }
.filter-group { margin-bottom: 1.75rem; }
.filter-label {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--sea); margin-bottom: 0.75rem;
}
.filter-options { display: flex; flex-direction: column; gap: 0.4rem; }
.filter-opt {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.9rem; cursor: pointer; padding: 0.3rem 0;
  color: var(--night); opacity: 0.75; transition: opacity 0.15s;
}
.filter-opt:hover { opacity: 1; }
.filter-opt input[type=checkbox] { accent-color: var(--coral); width: 16px; height: 16px; cursor: pointer; }
.filter-divider { height: 1px; background: rgba(42,165,184,0.18); margin: 1.5rem 0; }
/* Dropdown select filter (replaces checkboxes) */
.filter-group-select {
  width: 100%;
  padding: 0.55rem 0.85rem;
  border: 1.5px solid rgba(42,165,184,0.25);
  border-radius: 10px;
  background: white;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.9rem;
  color: var(--sea);
  cursor: pointer;
  transition: border-color 0.15s;
  appearance: auto;
}
.filter-group-select:hover, .filter-group-select:focus {
  border-color: var(--sea-light);
  outline: none;
}
.filter-group-select option {
  background: white;
  color: var(--sea);
  font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Location filter — chips + dropdown */
.filter-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.6rem; }
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.6rem 0.25rem 0.75rem;
  background: rgba(21,72,76,0.08);
  border: 1px solid rgba(21,72,76,0.2);
  border-radius: 100px;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--sea);
}
.chip-remove {
  font-size: 0.9rem;
  line-height: 1;
  color: var(--sea);
  opacity: 0.6;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: opacity 0.15s;
}
.chip-remove:hover { opacity: 1; }
.location-filter-select {
  width: 100%;
  padding: 0.5rem 0.8rem;
  border: 1.5px solid rgba(42,165,184,0.3);
  border-radius: 8px;
  font-size: 0.85rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--night);
  background: #fff;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2315484C' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.location-filter-select:focus {
  outline: none;
  border-color: var(--sea);
  box-shadow: 0 0 0 3px rgba(21,72,76,0.08);
}
.location-filter-select:hover { border-color: rgba(42,165,184,0.6); }

.clear-btn {
  font-size: 0.8125rem; color: var(--coral); cursor: pointer;
  border: none; background: none; font-family: 'Plus Jakarta Sans', sans-serif; padding: 0;
}
.clear-btn:hover { text-decoration: underline; }
.results-count { font-size: 0.875rem; color: var(--night); opacity: 0.5; margin-bottom: 1.25rem; }
.results-count strong { color: var(--leaf); opacity: 1; font-weight: 500; }
.dir-sort { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.sort-select {
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.875rem; color: var(--night);
  border: 1px solid rgba(42,165,184,0.2); border-radius: 8px;
  padding: 0.4rem 0.75rem; background: white; cursor: pointer; outline: none; width: auto;
}
.dir-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 0.5rem; margin-top: 2rem; padding-top: 2rem;
  border-top: 1px solid rgba(42,165,184,0.2);
}
.page-btn {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(42,165,184,0.2);
  background: white; font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem; cursor: pointer; transition: all 0.15s; color: var(--night);
}
.page-btn:hover, .page-btn.active { background: var(--coral); color: white; border-color: var(--coral); }
.page-ellipsis { font-size: 0.875rem; opacity: 0.4; padding: 0 0.25rem; }

/* ── LOADING STATE ── */
.dir-loading { text-align: center; padding: 3rem; color: var(--leaf); opacity: 0.6; }

/* ══════════════════════════════════════
   CLINICIAN PROFILE
══════════════════════════════════════ */
.breadcrumb { padding: 1rem 2rem; font-size: 0.8125rem; color: var(--night); opacity: 0.5; max-width: 960px; margin: 0 auto; }
.breadcrumb a { color: var(--leaf); opacity: 1; text-decoration: none; }
.breadcrumb a:hover { color: var(--coral); text-decoration: underline; }
.profile-hero { background: white; border-bottom: 1px solid rgba(42,165,184,0.15); padding: 3.75rem 2rem; }
.profile-hero-inner { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: start; }
.profile-left { display: flex; gap: 1.75rem; align-items: flex-start; }
.profile-avatar {
  width: 88px; height: 88px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 700;
  color: var(--sea); background: var(--papaya); overflow: hidden;
}
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-name { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.25rem, 2.5vw, 1.55rem); font-weight: 900; color: var(--night); letter-spacing: -0.02em; margin-bottom: 0.3rem; }
.profile-cred-line { font-size: 0.9375rem; color: var(--leaf); font-weight: 500; margin-bottom: 0.5rem; }
.profile-meta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.75rem; }
.meta-item { font-size: 0.8125rem; color: var(--night); opacity: 0.55; display: flex; align-items: center; gap: 0.3rem; }
.profile-tags-row { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.profile-actions { display: flex; flex-direction: column; gap: 0.65rem; min-width: 180px; }
.featured-badge { text-align: center; font-size: 0.7rem; font-weight: 500; background: rgba(245,166,35,0.15); color: var(--sun); padding: 0.3rem 0.75rem; border-radius: 100px; }
.profile-body { max-width: 960px; margin: 0 auto; padding: 2.5rem; display: grid; grid-template-columns: 1fr 300px; gap: 2rem; }
.profile-section { margin-bottom: 2rem; }
.section-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 700;
  color: var(--sea); margin-bottom: 0.85rem; padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(42,165,184,0.15);
}
.profile-bio-text { font-size: 0.9375rem; line-height: 1.75; color: var(--night); opacity: 0.75; }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.spec-item { font-size: 0.8125rem; color: var(--night); opacity: 0.7; display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.4rem 0; }
.spec-item::before { content: '✦'; font-size: 0.55rem; color: var(--coral); flex-shrink: 0; margin-top: 0.3rem; }
.cred-list { display: flex; flex-direction: column; gap: 0.65rem; }
.cred-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.75rem; background: white; border-radius: 10px; border: 1px solid rgba(42,165,184,0.1); }
.cred-icon { width: 32px; height: 32px; border-radius: 8px; background: rgba(42,165,184,0.08); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; flex-shrink: 0; }
.cred-title { font-size: 0.875rem; font-weight: 500; color: var(--night); margin-bottom: 0.15rem; }
.cred-sub { font-size: 0.75rem; color: var(--night); opacity: 0.45; }

/* ── Group practice team grid ─────────────────────────── */
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}
.team-member-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.25rem 1rem;
  background: white;
  border: 1px solid rgba(42,165,184,0.12);
  border-radius: 14px;
  transition: box-shadow 0.2s;
}
.team-member-card:hover { box-shadow: 0 6px 20px rgba(42,165,184,0.1); }
.team-member-avatar {
  width: 72px; height: 72px;
  min-width: 72px; min-height: 72px; max-width: 72px; max-height: 72px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600;
  font-size: 1.15rem; color: var(--sea);
  margin: 0 auto 0.75rem; overflow: hidden; flex-shrink: 0;
  align-self: center;
}
.team-member-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.team-member-info { text-align: center; width: 100%; }
.team-member-name { font-size: 0.875rem; font-weight: 600; color: var(--night); line-height: 1.3; }
.team-member-creds { font-size: 0.75rem; color: var(--night); opacity: 0.5; margin-top: 0.2rem; }
/* License subgroup inside team member rows */
.dash-team-license-group {
  margin-top: 0.75rem;
  padding: 0.75rem;
  background: rgba(42,165,184,0.04);
  border: 1px dashed rgba(42,165,184,0.2);
  border-radius: 8px;
}
.dash-team-license-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--sea);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.team-member-license {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--leaf);
  margin-top: 0.2rem;
  letter-spacing: 0.02em;
}
.team-member-bio  {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.8rem;
  color: var(--night);
  opacity: 0.65;
  margin-top: 0.4rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.team-member-book-btn {
  display: inline-block;
  margin-top: 0.6rem;
  padding: 0.3rem 0.85rem;
  background: var(--coral);
  color: white;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 100px;
  text-decoration: none;
  transition: background 0.2s;
}
.team-member-book-btn:hover { background: #c96a16; text-decoration: none; }

/* ── Caribbean Connection Badges (profile page) ── */
.profile-connection-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}
.cc-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.75rem;
  background: rgba(21,72,76,0.08);
  border: 1px solid rgba(21,72,76,0.18);
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--sea);
  white-space: nowrap;
}
/* Small variant used inside team member cards */
.cc-badge-sm {
  font-size: 0.6rem;
  padding: 0.15rem 0.5rem;
  background: rgba(48,184,178,0.08);
  border-color: rgba(48,184,178,0.2);
  letter-spacing: 0.01em;
}
.team-member-connections {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 0.45rem;
  padding: 0 0.25rem;
}
/* Caribbean Connection subgroup inside team member form rows */
.dash-team-caribbean-group {
  margin-top: 0.75rem;
  padding: 0.75rem;
  background: rgba(48,184,178,0.04);
  border: 1px dashed rgba(48,184,178,0.22);
  border-radius: 8px;
}

.sidebar-card { background: white; border: 1px solid rgba(42,165,184,0.12); border-radius: 14px; padding: 1.25rem; margin-bottom: 1.25rem; }
.sidebar-card-title { font-size: 0.75rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--night); opacity: 0.4; margin-bottom: 0.85rem; }
.info-row { display: flex; justify-content: space-between; align-items: center; font-size: 0.8125rem; padding: 0.4rem 0; border-bottom: 1px solid rgba(42,165,184,0.12); }
.info-row:last-child { border-bottom: none; }
.info-label { color: var(--night); opacity: 0.5; }
.info-value { color: var(--night); font-weight: 500; text-align: right; }
.info-value.available { color: var(--leaf); }
.contact-btn {
  display: block;
  width: auto;
  background: var(--coral); color: white; border: none;
  padding: 0.55rem 1.1rem; border-radius: 100px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.8125rem; font-weight: 500;
  cursor: pointer; margin-top: 0.75rem; transition: background 0.2s;
  text-decoration: none; text-align: center;
}
.contact-btn:hover { background: #c96a16; text-decoration: none; }
.insurance-list { display: flex; flex-direction: column; gap: 0.35rem; }
.insurance-item { font-size: 0.8125rem; color: var(--night); opacity: 0.65; display: flex; align-items: center; gap: 0.5rem; }
.insurance-item::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--coral); flex-shrink: 0; }
.lang-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.lang-tag { font-size: 0.75rem; padding: 0.3rem 0.75rem; border-radius: 100px; background: white; color: var(--leaf); border: 1px solid rgba(42,165,184,0.35); font-weight: 500; }
.related-section { max-width: 960px; margin: 0 auto; padding: 0 2rem 3rem; }
.related-title { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 700; color: var(--sea); margin-bottom: 1.25rem; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.related-card { border: 1px solid rgba(42,165,184,0.15); border-left: 3px solid var(--coral); border-radius: 12px; padding: 1rem; background: white; cursor: pointer; transition: all 0.2s; text-decoration: none; display: block; }
.related-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(42,165,184,0.1); }
.rel-top { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.5rem; }
.rel-avatar { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; color: var(--sea); background: var(--papaya); flex-shrink: 0; overflow: hidden; }
.rel-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rel-name { font-family: 'Cormorant Garamond', serif; font-size: 0.875rem; font-weight: 700; color: var(--night); }
.rel-cred { font-size: 0.7rem; color: var(--leaf); }
.rel-spec { font-size: 0.775rem; color: var(--night); opacity: 0.55; line-height: 1.4; }

/* ══════════════════════════════════════
   FOR CLINICIANS PAGE
══════════════════════════════════════ */
.fc-hero { background: white; padding: 5.75rem 2rem 4.5rem; text-align: center; border-bottom: 1px solid rgba(42,165,184,0.12); }
.fc-eyebrow { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.85rem; }
.fc-h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 900; color: var(--sea); letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 1rem; }
.fc-h1 em { color: var(--coral); font-style: italic; }
.fc-mission { font-size: 1.05rem; color: var(--muted); font-style: italic; letter-spacing: 0.01em; margin-bottom: 0.75rem; }
.fc-sub { font-size: 1rem; color: rgba(44,44,44,0.6); max-width: 500px; margin: 0 auto 2rem; line-height: 1.7; }
.fc-hero-stats { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; }
.fc-stat { text-align: center; }
.fc-stat-num { font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 700; color: var(--coral); }
.fc-stat-label { font-size: 0.8125rem; color: var(--muted); margin-top: 0.2rem; }

.why-section { padding: 5.25rem 2rem; text-align: center; background: var(--papaya); }
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; max-width: 840px; margin: 0 auto; }
.why-card { background: white; border: 1px solid rgba(42,165,184,0.15); border-top: 3px solid var(--coral); border-radius: 14px; padding: 1.75rem 1.5rem; text-align: left; }
.why-icon  { font-size: 1.5rem; margin-bottom: 0.85rem; }
.why-title { font-family: 'Cormorant Garamond', serif; font-size: 1rem; font-weight: 700; color: var(--sea); margin-bottom: 0.5rem; }
.why-text  { font-size: 0.8375rem; color: var(--night); opacity: 0.6; line-height: 1.6; }

/* ── PRICING SECTION — Flamboyant tree background ── */
.pricing-section {
  padding: 5.25rem 2rem;
  background: #fff8f4; /* warm white base so orange tones come through */
  position: relative;
  overflow: hidden;
}
.pricing-inner {
  text-align: center;
  position: relative;
  z-index: 1;
}
.pricing-toggle { display: inline-flex; background: rgba(42,165,184,0.08); border-radius: 100px; padding: 0.25rem; gap: 0.25rem; margin-bottom: 2.5rem; }
.toggle-opt { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.875rem; padding: 0.45rem 1.25rem; border-radius: 100px; border: none; cursor: pointer; transition: all 0.2s; color: rgba(44,44,44,0.65); background: transparent; }
.toggle-opt.active { background: var(--coral); color: white; font-weight: 500; }
.tiers-2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 960px; margin: 0 auto 1.5rem; }
.tier-2 { background: rgba(255,255,255,0.97); border: 1px solid rgba(42,165,184,0.15); border-top: 3px solid var(--coral); border-radius: 16px; padding: 2rem 1.75rem; text-align: left; transition: all 0.2s; cursor: pointer; box-shadow: 0 4px 24px rgba(100,40,10,0.09); }
.tier-2:hover { background: white; transform: translateY(-3px); box-shadow: 0 8px 32px rgba(100,40,10,0.14); }
.tier-2.featured { border-top-color: var(--sun); }
.t2-badge { font-size: 0.65rem; font-weight: 500; background: var(--sun); color: white; padding: 0.2rem 0.7rem; border-radius: 100px; display: inline-block; margin-bottom: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; }
.t2-name { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-weight: 700; color: var(--sea); margin-bottom: 0.2rem; }
.tier-2.featured .t2-name { color: var(--leaf); }
.t2-tagline { font-size: 0.75rem; color: rgba(44,44,44,0.5); margin-bottom: 0.85rem; font-style: italic; }
.t2-price { margin-bottom: 1.25rem; }
.t2-price .amount { font-size: 2.5rem; font-weight: 300; color: var(--night); letter-spacing: -0.03em; }
.t2-price .period { font-size: 0.875rem; color: rgba(44,44,44,0.45); }
.t2-divider { height: 1px; background: rgba(42,165,184,0.15); margin-bottom: 1.25rem; }
.t2-features { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
.t2-features li { font-size: 0.8125rem; color: rgba(44,44,44,0.7); display: flex; gap: 0.5rem; align-items: flex-start; line-height: 1.4; }
.t2-features li::before { content: '✦'; font-size: 0.55rem; color: var(--coral); flex-shrink: 0; margin-top: 0.25rem; }
.t2-cta { width: 100%; margin-top: 1.5rem; padding: 0.8rem; border-radius: 100px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.9rem; font-weight: 500; cursor: pointer; border: 1.5px solid rgba(42,165,184,0.3); background: transparent; color: var(--leaf); transition: all 0.2s; display: block; text-align: center; text-decoration: none; }
.t2-cta:hover { background: var(--blush); border-color: var(--leaf); }
.tier-2.featured .t2-cta { background: var(--coral); color: white; border-color: var(--coral); }
.tier-2.featured .t2-cta:hover { background: #c96a16; border-color: #c96a16; }
.pricing-note { font-size: 0.8125rem; color: rgba(44,44,44,0.5); }

.compare-section { padding: 4.25rem 2rem; background: var(--papaya); }
.compare-inner { max-width: 860px; margin: 0 auto; }
.compare-h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 700; color: var(--sea); margin-bottom: 1.5rem; text-align: center; }
.compare-table { width: 100%; border-collapse: collapse; font-size: 0.8375rem; }
.compare-table th { padding: 0.75rem 1rem; text-align: center; font-weight: 500; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--night); opacity: 0.45; border-bottom: 1px solid rgba(42,165,184,0.2); }
.compare-table th:first-child { text-align: left; }
.compare-table td { padding: 0.75rem 1rem; text-align: center; border-bottom: 1px solid rgba(42,165,184,0.12); color: var(--night); opacity: 0.7; }
.compare-table td:first-child { text-align: left; font-weight: 500; opacity: 1; }
.compare-table tr:last-child td { border-bottom: none; }
.check { color: var(--leaf); font-size: 1rem; }
.cross { color: rgba(0,0,0,0.2); font-size: 1rem; }
.col-featured { background: rgba(42,165,184,0.05); }

.testimonial-section { padding: 5.25rem 2rem; background: var(--papaya); text-align: center; }
.testimonial-card { max-width: 620px; margin: 0 auto; background: white; border: 1px solid rgba(42,165,184,0.12); border-radius: 16px; padding: 2.5rem; }
.testimonial-quote { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-style: italic; color: var(--night); line-height: 1.7; margin-bottom: 1.25rem; opacity: 0.85; }
.testimonial-author { display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.t-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--coral); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; color: white; }
.t-name { font-size: 0.875rem; font-weight: 500; color: var(--night); }
.t-cred { font-size: 0.75rem; color: var(--night); opacity: 0.45; }
.fc-cta-section { background: var(--coral); padding: 5.25rem 2rem; text-align: center; }
.fc-cta-h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 900; color: white; letter-spacing: -0.02em; margin-bottom: 0.75rem; }
.fc-cta-sub { font-size: 1rem; color: rgba(255,255,255,0.85); margin-bottom: 2rem; line-height: 1.6; }
.fc-cta-btn { background: white; color: var(--coral); border: none; padding: 0.9rem 2.5rem; border-radius: 100px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.2s; text-decoration: none; display: inline-block; }
.fc-cta-btn:hover { background: var(--night); color: white; }

/* ── TOAST ── */
.toast { position: fixed; bottom: 1.5rem; right: 1.5rem; background: var(--coral); color: white; padding: 0.75rem 1.5rem; border-radius: 100px; font-size: 0.875rem; font-weight: 500; opacity: 0; transform: translateY(8px); transition: all 0.3s; pointer-events: none; z-index: 9999; }
.toast.show { opacity: 1; transform: translateY(0); }

/* ══════════════════════════════════════
   RESOURCES PAGE
══════════════════════════════════════ */
.resources-hero {
  background: linear-gradient(135deg, var(--sea) 0%, #0f5e62 100%);
  padding: 4rem 2rem 3.5rem;
  text-align: center;
}
.resources-hero-inner { max-width: 680px; margin: 0 auto; }
.resources-h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 900;
  color: white;
  margin-bottom: 0.75rem;
  line-height: 1.2;
}
.resources-sub { font-size: 1.05rem; color: rgba(255,255,255,0.8); line-height: 1.6; }

.resources-section { padding: 3.5rem 2rem; }
.resources-section--light { background: var(--cream); }
.resources-section-inner { max-width: 1040px; margin: 0 auto; }
.resources-section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.75rem; font-weight: 800;
  color: var(--sea); margin-bottom: 0.5rem;
}
.resources-section-sub { font-size: 1rem; color: rgba(26,26,46,0.55); margin-bottom: 2rem; }

.resources-alert-banner {
  display: flex; align-items: flex-start; gap: 1rem;
  background: #fff3f3; border: 1.5px solid #f66483;
  border-radius: 14px; padding: 1.25rem 1.5rem; margin-bottom: 2rem;
}
.resources-alert-icon { font-size: 1.75rem; flex-shrink: 0; margin-top: 0.1rem; }
.resources-alert-banner strong { font-size: 1rem; color: var(--night); display: block; margin-bottom: 0.25rem; }
.resources-alert-banner p { font-size: 0.9rem; color: rgba(26,26,46,0.65); margin: 0; }

.resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.resources-grid--4 { grid-template-columns: repeat(4, 1fr); }

.resource-card {
  background: white;
  border: 1px solid rgba(42,165,184,0.15);
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  box-shadow: 0 2px 10px rgba(21,72,76,0.06);
  transition: box-shadow 0.2s, transform 0.2s;
}
.resource-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(21,72,76,0.1); }
.resource-card--crisis {
  border-top: 4px solid var(--coral);
}
.resource-card-icon { font-size: 2rem; line-height: 1; }
.resource-card-name { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 700; color: var(--night); line-height: 1.3; }
.resource-card-contact { margin: 0.25rem 0; }
.resource-contact-link { font-size: 1.15rem; font-weight: 700; color: var(--sea); text-decoration: none; }
.resource-contact-link--phone { color: var(--coral); }
.resource-contact-link--text { font-size: 0.95rem; color: var(--sea); }
.resource-card-desc { font-size: 0.875rem; color: rgba(26,26,46,0.6); line-height: 1.55; }
.resource-card-avail {
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--leaf); background: rgba(166,72,10,0.08); border-radius: 100px;
  padding: 0.2rem 0.65rem; display: inline-block;
}
.resource-card-btn {
  display: inline-flex; align-items: center;
  margin-top: auto; padding: 0.4rem 1rem;
  background: var(--coral); color: white; border-radius: 100px;
  font-size: 0.85rem; font-weight: 600; text-decoration: none;
  transition: background 0.15s; width: fit-content;
}
.resource-card-btn:hover { background: #c96a16; }

.resources-cta-band {
  background: var(--sea); padding: 4rem 2rem; text-align: center;
}
.resources-cta-inner { max-width: 560px; margin: 0 auto; }
.resources-cta-h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.9rem; font-weight: 800; color: white; margin-bottom: 0.65rem; }
.resources-cta-sub { font-size: 1rem; color: rgba(255,255,255,0.75); margin-bottom: 1.75rem; }

/* Caribbean Connection label in cards and profile */
.conn-section-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sea);
  margin-bottom: 0.3rem;
  opacity: 0.75;
}
.team-member-conn-section {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(42,184,178,0.12);
  text-align: center;
}

@media (max-width: 900px) {
  .resources-grid { grid-template-columns: 1fr 1fr; }
  .resources-grid--4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .resources-grid, .resources-grid--4 { grid-template-columns: 1fr; }
}

/* ── FOOTER ── */
.cc-footer {
  background: var(--sea);
  color: rgba(255,255,255,0.88);
}
.cc-footer .logo-subtitle { color: rgba(255,255,255,0.75); opacity: 1; }
.cc-footer .logo-caribbean { color: #fff; }

/* 3-zone main grid: brand | two link cols | newsletter */
.footer-main {
  display: grid;
  grid-template-columns: 1.2fr 1.1fr 1.4fr;
  gap: 3.5rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 4.5rem 2.5rem 3.5rem;
}

/* Brand */
.footer-brand .footer-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  line-height: 1;
  margin-bottom: 1.25rem;
}
.footer-logo img { height: 40px; width: auto; }
.footer-mission {
  font-size: 0.9rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.62);
  max-width: 270px;
}

/* Two-column link area */
.footer-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.footer-col-heading {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--sea-light);
  text-transform: uppercase;
  margin: 0 0 1.1rem;
}
.footer-col nav {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.footer-col nav a {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-col nav a:hover { color: var(--coral); }

/* Newsletter + socials */
.footer-newsletter {}
.footer-nl-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
  letter-spacing: 0.01em;
  margin: 0 0 1.25rem;
}
.footer-nl-form {
  display: flex;
  gap: 0;
  margin-bottom: 0.75rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1.5px solid rgba(255,255,255,0.2);
}
.footer-nl-input {
  flex: 1;
  padding: 0.8rem 1rem;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 0.9rem;
  border: none;
  outline: none;
  min-width: 0;
}
.footer-nl-input::placeholder { color: rgba(255,255,255,0.42); }
.footer-nl-btn {
  padding: 0.8rem 1.3rem;
  background: var(--coral);
  color: #fff;
  border: none;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s;
  white-space: nowrap;
}
.footer-nl-btn:hover { background: #d9573e; }
.footer-nl-msg { font-size: 0.82rem; color: rgba(255,255,255,0.7); margin-top: 0.25rem; }

/* Social icons */
.footer-socials {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  margin-top: 1.5rem;
}
.footer-social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}
.footer-social-icon:hover {
  background: var(--coral);
  transform: translateY(-2px);
}

/* Bottom bar */
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); }
.footer-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer-copy { font-size: 0.8rem; color: rgba(255,255,255,0.42); }
.footer-legal { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.footer-legal a {
  font-size: 0.8rem;
  color: var(--sea-light);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-legal a:hover { color: #fff; }
.footer-legal span[aria-hidden] { color: rgba(255,255,255,0.25); font-size: 0.75rem; }

/* ══════════════════════════════════════
   LOGO IMAGE (custom-logo support)
══════════════════════════════════════ */
.cc-logo img {
  height: 38px;
  width: auto;
  display: block;
}
.footer-logo img {
  height: 36px;
  width: auto;
  display: block;
  /* If logo is dark, invert it for the teal background */
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

/* ══════════════════════════════════════
   SIGNUP PAGE
══════════════════════════════════════ */

/* ── Hero ── */
.su-hero {
  position: relative;
  background: linear-gradient(135deg, var(--sea) 0%, #0f5e62 100%);
  padding: 5.25rem 2.5rem 4rem;
  text-align: center;
  overflow: hidden;
}
.su-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--su-bg, none);
  background-size: cover;
  background-position: center;
  opacity: 0.18;
  z-index: 0;
}
.su-hero-inner  { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
.su-eyebrow     { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.75); margin-bottom: 0.85rem; }
.su-hero-h1     { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 900; color: white; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 1rem; }
.su-hero-h1 em  { font-style: italic; color: rgba(255,255,255,0.85); }
.su-hero-sub    { font-size: 1rem; color: rgba(255,255,255,0.75); line-height: 1.7; max-width: 480px; margin: 0 auto; }

/* ── Benefit tiles ── */
.su-tiles {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  max-width: 960px;
  margin: 0 auto;
}
.su-tile {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
  text-align: center;
  transition: background 0.2s;
}
.su-tile:hover     { background: rgba(255,255,255,0.16); }
.su-tile-icon      { font-size: 1.25rem; color: var(--sun); line-height: 1; }
.su-tile-text      { font-size: 0.82rem; color: rgba(255,255,255,0.75); line-height: 1.5; }

/* ── Plan comparison table ── */
.su-white-wrap { background: white; }
.su-compare {
  background: transparent;
  padding: 5rem 1.5rem 5.5rem;
  border-top: 1px solid rgba(42,165,184,0.12);
}
.su-compare-inner {
  max-width: 1060px;
  margin: 0 auto;
}
.su-compare-heading {
  text-align: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--sea);
  margin-bottom: 0.4rem;
}
.su-compare-sub {
  text-align: center;
  font-size: 0.875rem;
  color: var(--muted);
  margin-bottom: 3rem;
}
.su-compare-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.su-compare-col {
  border: 1.5px solid rgba(42,165,184,0.2);
  border-radius: 16px;
  padding: 2rem 1.5rem;
  background: #fff;
  position: relative;
  transition: box-shadow 0.2s;
}
.su-compare-col:hover {
  box-shadow: 0 8px 32px rgba(42,165,184,0.12);
}
.su-compare-col.popular {
  border-color: var(--coral);
  box-shadow: 0 6px 28px rgba(224,123,31,0.13);
  padding-top: 2.75rem;
}
.su-compare-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--coral);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 100px;
  white-space: nowrap;
}
.su-compare-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--sea);
  margin-bottom: 0.3rem;
}
.su-compare-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--night);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.su-compare-price span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--muted);
}
.su-compare-tagline {
  font-size: 0.8rem;
  color: var(--muted);
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
.su-compare-list {
  list-style: none;
  margin: 0 0 1.75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.su-compare-list li {
  font-size: 0.85rem;
  color: var(--night);
  padding-left: 1.4rem;
  position: relative;
  line-height: 1.4;
}
.su-compare-list li::before {
  position: absolute;
  left: 0;
  font-size: 0.8rem;
  font-weight: 700;
}
.su-compare-list li.yes::before {
  content: '✓';
  color: var(--leaf);
}
.su-compare-list li.no {
  opacity: 0.35;
  text-decoration: line-through;
}
.su-compare-list li.no::before {
  content: '×';
  color: var(--muted);
}
.su-compare-cta {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 1rem;
  border-radius: 100px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}
.su-cta-filled {
  background: var(--coral);
  color: #fff;
  border: none;
}
.su-cta-filled:hover { background: #c96a16; color: #fff; }
.su-cta-outline {
  background: transparent;
  color: var(--sea);
  border: 1.5px solid var(--sea);
}
.su-cta-outline:hover { background: var(--sea); color: #fff; border-color: var(--sea); }

@media (max-width: 860px) {
  .su-compare-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
}

/* ── Signup: full feature comparison table ── */
.su-feature-table-section {
  background: transparent;
  padding: 3rem 1.5rem 4rem;
}
.su-feature-table-inner {
  max-width: 860px;
  margin: 0 auto;
}
.su-feature-table-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--sea);
  text-align: center;
  margin-bottom: 1.75rem;
}
.su-feature-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.su-feature-table th {
  padding: 0.75rem 1rem;
  text-align: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sea);
  border-bottom: 2px solid rgba(42,165,184,0.25);
}
.su-feature-table th:first-child { text-align: left; }
.su-feature-table td {
  padding: 0.7rem 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(42,165,184,0.1);
  color: var(--night);
  opacity: 0.75;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.su-feature-table td:first-child { text-align: left; font-weight: 500; opacity: 1; }
.su-feature-table tr:last-child td { border-bottom: none; }
.su-feature-table .col-featured { background: rgba(42,165,184,0.05); }

/* ── Group Practice Team Section ── */
#groupTeamSection {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: var(--papaya);
  border: 1.5px solid rgba(42,165,184,0.25);
  border-radius: 12px;
}
.group-team-header { margin-bottom: 1rem; }
.group-team-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--night);
  margin-bottom: 0.35rem;
}
.group-team-sub {
  font-size: 0.8rem;
  color: rgba(44,44,44,0.6);
  margin: 0;
}
.group-member-entry {
  background: #fff;
  border: 1px solid rgba(42,165,184,0.15);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
}
.group-member-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
.group-member-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--leaf);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.su-remove-member {
  background: none;
  border: none;
  font-size: 0.8rem;
  color: rgba(44,44,44,0.45);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}
.su-remove-member:hover { color: #c0324f; }
.su-add-member-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: none;
  border: 1.5px dashed rgba(42,165,184,0.4);
  color: var(--leaf);
  font-size: 0.85rem;
  font-weight: 500;
  padding: 0.55rem 1.1rem;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 0.25rem;
  transition: border-color 0.2s, background 0.2s;
}
.su-add-member-btn:hover {
  background: rgba(42,165,184,0.08);
  border-color: var(--leaf);
}
.group-member-max-note {
  font-size: 0.78rem;
  color: rgba(44,44,44,0.5);
  margin: 0.5rem 0 0;
  font-style: italic;
}

/* ── Form section ── */
.su-form-section   { background: var(--papaya); padding: 4.75rem 1.5rem 6.25rem; }
.su-form-card      { background: white; border: 1px solid rgba(42,165,184,0.15); border-radius: 16px; padding: 2.5rem; max-width: 560px; margin: 0 auto; box-shadow: 0 4px 30px rgba(44,44,44,0.07); }

/* Form header */
.signup-header    { margin-bottom: 2rem; }
.signup-h3        { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 700; color: var(--sea); margin-bottom: 0.35rem; }
.signup-subhead   { font-size: 0.875rem; color: var(--night); opacity: 0.5; }

/* Step indicators */
.steps        { display: flex; align-items: center; margin-bottom: 2rem; }
.step         { display: flex; align-items: center; gap: 0.5rem; flex: 1; }
.step-num     { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 500; flex-shrink: 0; transition: all 0.2s; }
.step-num.active   { background: var(--coral); color: white; }
.step-num.done     { background: var(--leaf); color: white; }
.step-num.inactive { background: rgba(42,165,184,0.1); color: var(--leaf); opacity: 0.6; }
.step-label        { font-size: 0.75rem; color: var(--night); opacity: 0.45; white-space: nowrap; }
.step-label.active { opacity: 1; color: var(--coral); font-weight: 500; }
.step-line         { flex: 1; height: 1px; background: rgba(42,165,184,0.2); margin: 0 0.5rem; }

/* Form steps */
.form-step        { display: none; }
.form-step.active { display: block; }
.form-row.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.form-group label { display: block; font-size: 0.8125rem; font-weight: 500; color: var(--night); opacity: 1; margin-bottom: 0.35rem; }
.form-optional    { font-weight: 400; opacity: 0.5; }
.form-hint        { font-size: 0.75rem; font-weight: 400; opacity: 0.45; margin-left: 0.25rem; }
.check-grid           { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; margin-top: 0.35rem; }
.check-grid-2         { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 0.35rem; }
.check-opt            { display: flex; align-items: flex-start; gap: 0.45rem; font-size: 0.8375rem; color: var(--night); cursor: pointer; line-height: 1.45; }
.check-opt input[type="checkbox"] { width: auto; accent-color: var(--leaf); margin-top: 0.15rem; flex-shrink: 0; }

/* Caribbean identity checkboxes */
.su-identity-checks { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.35rem; }

/* Photo upload */
.photo-upload-area    { display: flex; align-items: center; gap: 1.25rem; margin-top: 0.35rem; }
.photo-preview        { width: 72px; height: 72px; border-radius: 50%; background: var(--papaya); color: var(--sea); font-size: 1.5rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-weight: 700; overflow: hidden; border: 2px solid rgba(42,165,184,0.2); }
.photo-upload-actions { display: flex; flex-direction: column; gap: 0.35rem; }
.su-upload-btn        { display: inline-block; background: rgba(42,165,184,0.06); color: var(--night); border: 1px solid rgba(42,165,184,0.2); padding: 0.45rem 1rem; border-radius: 100px; font-size: 0.8125rem; font-weight: 500; cursor: pointer; transition: background 0.2s; }
.su-upload-btn:hover  { background: rgba(42,165,184,0.12); }
.upload-note          { font-size: 0.72rem; color: var(--night); opacity: 0.4; }

/* Plan-conditional signup form elements */
.signup-plan-badge    { display: inline-flex; align-items: center; gap: 0.4rem; background: rgba(42,165,184,0.08); border: 1px solid rgba(42,165,184,0.2); color: var(--sea); font-size: 0.8rem; font-weight: 500; padding: 0.35rem 0.85rem; border-radius: 100px; margin-bottom: 1.25rem; }
.spb-dot              { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); flex-shrink: 0; }
.spb-change           { color: var(--leaf); text-decoration: underline; font-size: 0.78rem; margin-left: 0.2rem; }
.spb-change:hover     { color: var(--sea); }
.field-pro-plus       { /* shown for professional + groups; hidden for basic via JS */ }
.field-basic-only     { /* shown for basic; hidden for pro+ via JS */ }
.plan-field-note      { margin-top: 0; margin-bottom: 0; }
.plan-upgrade-note    { background: rgba(224,123,31,0.06); border: 1px solid rgba(224,123,31,0.2); border-radius: 8px; padding: 0.75rem 1rem; font-size: 0.8125rem; color: var(--night); line-height: 1.55; }
.plan-upgrade-note a  { color: var(--coral); font-weight: 600; }
.plan-upgrade-note a:hover { color: #c96a16; }
.spec-limit-badge     { display: inline-block; background: var(--coral); color: white; font-size: 0.68rem; font-weight: 600; padding: 0.15rem 0.55rem; border-radius: 100px; margin-left: 0.5rem; vertical-align: middle; }
.spec-counter-row     { display: flex; align-items: center; justify-content: flex-end; margin-top: 0.5rem; }
.spec-counter         { font-size: 0.78rem; color: var(--muted); }

/* Specialties scrollable container */
.su-specialties-grid {
  max-height: 260px;
  overflow-y: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  margin-top: 0.35rem;
  padding: 0.75rem;
  background: #FAFAFA;
  border: 1px solid rgba(42,165,184,0.15);
  border-radius: 8px;
}
.su-specialties-grid::-webkit-scrollbar { width: 4px; }
.su-specialties-grid::-webkit-scrollbar-thumb { background: rgba(42,165,184,0.25); border-radius: 4px; }
.su-other-check { grid-column: 1 / -1; margin-top: 0.25rem; border-top: 1px solid rgba(42,165,184,0.15); padding-top: 0.5rem; }

/* License verification notice */
.su-license-notice {
  background: rgba(42,165,184,0.04);
  border: 1px solid rgba(42,165,184,0.15);
  border-left: 3px solid var(--coral);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.75rem;
  font-size: 0.8125rem;
  color: var(--night);
  line-height: 1.65;
}
.su-license-notice p { margin-bottom: 0.65rem; }
.su-license-notice p:last-child { margin-bottom: 0; }
.su-license-notice-title { font-weight: 600; color: var(--night); margin-bottom: 0.6rem; font-size: 0.875rem; }

/* License repeater */
.license-entry        { background: #FAFAFA; border: 1px solid rgba(42,165,184,0.12); border-radius: 10px; padding: 1.25rem; margin-bottom: 0.85rem; }
.license-entry-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.85rem; }
.license-entry-label  { font-size: 0.8125rem; font-weight: 600; color: var(--night); }
.su-remove-license    { background: none; border: none; color: var(--coral); font-size: 0.75rem; cursor: pointer; padding: 0; font-family: 'Plus Jakarta Sans', sans-serif; }
.su-remove-license:hover { text-decoration: underline; }
.su-add-license-btn   { background: transparent; border: 1.5px dashed rgba(42,165,184,0.35); color: var(--leaf); padding: 0.65rem 1.25rem; border-radius: 8px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.875rem; cursor: pointer; transition: all 0.2s; width: 100%; margin-top: 0.25rem; }
.su-add-license-btn:hover { border-color: var(--leaf); background: rgba(42,165,184,0.05); }

/* 3-months-free promo notice (kept for reference) */
.su-promo-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: rgba(245,166,35,0.08);
  border: 1.5px solid rgba(245,166,35,0.35);
  border-radius: 10px;
  padding: 0.875rem 1rem;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  color: var(--night);
  line-height: 1.5;
}
.su-promo-icon { font-size: 1.25rem; flex-shrink: 0; margin-top: 0.05rem; }
.su-plan-price span { font-size: 0.65rem; font-weight: 400; opacity: 0.7; }
.su-promo-sub  { display: block; font-size: 0.775rem; color: var(--muted); margin-top: 0.2rem; }

/* Plan cards — 3 columns */
.su-plan-cards  { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-bottom: 1.25rem; }
.su-plan-card   { border: 1.5px solid rgba(42,165,184,0.2); border-radius: 10px; padding: 1rem; cursor: pointer; transition: all 0.2s; display: flex; flex-direction: column; gap: 0.75rem; }
.su-plan-card:hover    { border-color: var(--coral); }
.su-plan-card.selected { border-color: var(--coral); background: rgba(224,123,31,0.04); }
.su-plan-radio         { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(42,165,184,0.35); transition: all 0.2s; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.su-plan-card.selected .su-plan-radio { border-color: var(--coral); background: var(--coral); }
.su-plan-card.selected .su-plan-radio::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: white; }
.su-plan-name  { font-size: 0.9rem; font-weight: 600; color: var(--night); margin-bottom: 0.1rem; }
.su-plan-price { font-size: 0.8125rem; color: var(--leaf); font-weight: 500; }
.su-plan-desc  { font-size: 0.72rem; color: var(--night); opacity: 0.5; line-height: 1.45; margin-top: 0.15rem; }
.su-plan-badge { font-size: 0.6rem; background: var(--coral); color: white; padding: 0.15rem 0.5rem; border-radius: 100px; margin-left: 0.4rem; vertical-align: middle; }
.su-terms      { font-size: 0.775rem; color: var(--night); opacity: 0.45; line-height: 1.6; margin-bottom: 0.5rem; }

/* Promo / coupon code (Step 4) */
.su-coupon-wrap { margin: 0.5rem 0 1rem; }
.su-coupon-toggle {
  background: none; border: none; padding: 0;
  font-size: 0.82rem; font-weight: 500; color: var(--sea-light);
  cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
.su-coupon-toggle:hover { color: var(--sea); }
.su-coupon-row { display: flex; gap: 0.5rem; }
.su-coupon-row input {
  flex: 1; padding: 0.55rem 0.85rem;
  border: 1.5px solid rgba(42,165,184,0.3); border-radius: 8px;
  font-size: 0.9rem; letter-spacing: 0.05em;
}
.su-coupon-row input:focus { border-color: var(--sea-light); outline: none; }
.su-coupon-apply-btn { white-space: nowrap; flex-shrink: 0; }

/* Verification checkbox (Step 4) */
.su-verify-wrap {
  background: #FFFBF0;
  border: 1.5px solid rgba(166,72,10,0.2);
  border-radius: 10px;
  padding: 1rem 1.1rem;
  margin: 1.25rem 0 0.75rem;
}
.su-verify-label {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  cursor: pointer;
  font-size: 0.825rem;
  line-height: 1.55;
  color: var(--night);
}
.su-verify-label input[type=checkbox] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 0.1rem;
  accent-color: var(--leaf);
  cursor: pointer;
}

/* Group member photo (Step 3 team builder) */
.gm-photo-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.9rem;
}
.gm-photo-preview {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #E8F5F7;
  color: rgba(21,72,76,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 600;
  flex-shrink: 0;
  overflow: hidden;
}
.gm-photo-actions {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.su-upload-btn-sm {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  background: rgba(21,72,76,0.07);
  border: 1.5px solid rgba(21,72,76,0.18);
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--sea);
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s;
}
.su-upload-btn-sm:hover {
  background: rgba(21,72,76,0.13);
  border-color: var(--sea);
}
.upload-note-sm {
  font-size: 0.7rem;
  color: var(--night);
  opacity: 0.4;
}

/* Form actions + misc */
.form-actions     { display: flex; gap: 0.75rem; margin-top: 1.75rem; }
.form-footer-note { text-align: center; font-size: 0.8rem; color: var(--night); opacity: 0.4; margin-top: 1rem; }

/* Success screen */
.su-success      { display: none; text-align: center; padding: 2rem 0; }
.su-success-icon { width: 64px; height: 64px; border-radius: 50%; background: rgba(42,165,184,0.1); display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; font-size: 1.75rem; color: var(--sea); }
.su-success-h3   { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 700; color: var(--night); margin-bottom: 0.5rem; }
.su-success-p    { font-size: 0.9rem; color: var(--night); opacity: 0.55; line-height: 1.7; }

/* Signup responsive */
@media (max-width: 820px) {
  .su-tiles     { grid-template-columns: repeat(2, 1fr); }
  .su-hero      { padding: 3rem 1.5rem 2.5rem; }
  .su-form-card { padding: 2rem 1.25rem; }
  .su-plan-cards { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  /* Footer responsive — mobile */
  .footer-main { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 1.25rem 2rem; }
  .footer-brand, .footer-newsletter { grid-column: auto; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .su-tiles         { grid-template-columns: 1fr 1fr; }
  .form-row.two-col { grid-template-columns: 1fr; }
  .check-grid       { grid-template-columns: 1fr; }
  .su-specialties-grid { grid-template-columns: 1fr; }
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  /* Hero responsive */
  .hero { min-height: 420px; }
  .hero-content { padding: 3.5rem 1.5rem; max-width: 100%; }
  .hero-overlay {
    background: linear-gradient(
      to bottom,
      rgba(10,50,54,0.75) 0%,
      rgba(10,50,54,0.55) 60%,
      transparent 100%
    );
  }
  .hero-h1 { font-size: clamp(2rem, 8vw, 2.75rem); }
  .home-grid { grid-template-columns: 1fr 1fr; }
  .dir-body { grid-template-columns: 1fr; }
  .dir-sidebar { padding-right: 0; margin-bottom: 1.5rem; }
  .profile-hero-inner { grid-template-columns: 1fr; }
  .profile-actions { flex-direction: row; flex-wrap: wrap; }
  .profile-body { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .tiers-2 { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
  .home-tiers { grid-template-columns: 1fr 1fr; }
  .home-tiers .home-tier:last-child { grid-column: 1 / -1; max-width: 380px; margin: 0 auto; }
  .related-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .home-grid { grid-template-columns: 1fr; }
  .dir-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .trust-bar { gap: 1.25rem; }
  /* Footer responsive — tablet */
  .footer-main { grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 3.5rem 1.5rem 2.5rem; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-newsletter { grid-column: 1 / -1; }
  .footer-bottom-inner { flex-direction: column; text-align: center; gap: 0.75rem; }
  .home-tiers { grid-template-columns: 1fr !important; }
  .home-tiers .home-tier:last-child { grid-column: auto; max-width: none; }
}

/* ── iOS SAFARI ZOOM FIX — inputs below 16px trigger auto-zoom ── */
@media (max-width: 768px) {
  input[type=text], input[type=email], input[type=tel],
  input[type=number], input[type=password], input[type=month],
  input[type=date], input[type=url], select, textarea,
  .search-bar input {
    font-size: 16px;
  }
}

/* ══════════════════════════════════════
   SIGNUP — PASSWORD FIELD
══════════════════════════════════════ */
.su-password-wrap {
  display: flex;
  align-items: stretch;
  border: 1.5px solid rgba(42,165,184,0.2);
  border-radius: 10px;
  overflow: hidden;
}
.su-password-wrap input[type="password"],
.su-password-wrap input[type="text"] {
  flex: 1;
  border: none;
  border-radius: 0;
  padding: 0.7rem 1rem;
  font-size: 0.9rem;
  background: white;
  outline: none;
}
.su-toggle-pw {
  background: var(--papaya);
  border: none;
  border-left: 1.5px solid rgba(42,165,184,0.15);
  padding: 0 1rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--leaf);
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.su-toggle-pw:hover { background: rgba(42,165,184,0.15); }

/* ══════════════════════════════════════
   CLINICIAN DASHBOARD
══════════════════════════════════════ */
.dash-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem 5rem;
}

/* Welcome bar */
.dash-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.dash-welcome-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.dash-avatar-sm {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  color: var(--sea);
  background: var(--papaya);
  flex-shrink: 0;
  overflow: hidden;
}
.dash-avatar-sm img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.dash-welcome-name { font-weight: 600; font-size: 1.1rem; color: var(--night); }
.dash-welcome-sub  { font-size: 0.8rem; color: rgba(44,44,44,0.5); }
.dash-view-link {
  font-size: 0.85rem;
  color: var(--leaf);
  text-decoration: none;
  font-weight: 500;
}
.dash-view-link:hover { text-decoration: underline; }

/* Status card */
.dash-status-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  background: white;
  border: 1px solid rgba(42,165,184,0.15);
  border-radius: 12px;
  padding: 1rem 1.5rem;
  margin-bottom: 1.75rem;
}
.dash-status-left { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.dash-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.9rem;
  border-radius: 100px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.dash-status-pill::before { content: ''; width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.status-published { background: #e8f8ee; color: #1a7a3f; }
.status-published::before { background: #1a7a3f; }
.status-pending   { background: #fff8e6; color: #7a5a00; }
.status-pending::before   { background: #e6a800; }
.status-draft     { background: #f2f2f2; color: #555; }
.status-draft::before     { background: #aaa; }
.dash-status-note { font-size: 0.8rem; color: rgba(44,44,44,0.6); margin: 0; }
.dash-status-meta { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.dash-meta-chip {
  background: var(--papaya);
  border-radius: 100px;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  color: rgba(44,44,44,0.7);
}

/* Main grid */
.dash-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 1.5rem;
  align-items: start;
}

/* Sections */
.dash-section {
  background: white;
  border: 1px solid rgba(42,165,184,0.15);
  border-radius: 14px;
  padding: 1.5rem;
  margin-bottom: 1.25rem;
}
.dash-section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--sea);
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(42,165,184,0.12);
}

/* Photo upload in dashboard */
.dash-photo-upload {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.dash-photo-preview {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--sea);
  background: var(--papaya);
  overflow: hidden;
}
.dash-photo-preview img { width: 100%; height: 100%; object-fit: cover; }

/* Save row */
.dash-save-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}
.dash-save-btn { padding: 0.7rem 2rem; }
.dash-save-status { font-size: 0.85rem; font-weight: 500; }
.dash-save-status.saved { color: #1a7a3f; }
.dash-save-status.error { color: #c0324f; }

/* Sidebar */
.dash-sidebar .dash-section { margin-bottom: 1.25rem; }
.dash-account-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.85rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(42,165,184,0.08);
}
.dash-account-row:last-of-type { border-bottom: none; }
.dash-account-label { color: rgba(44,44,44,0.55); flex-shrink: 0; }
.dash-account-val   { color: var(--night); font-weight: 500; text-align: right; word-break: break-all; }
.dash-link {
  display: block;
  font-size: 0.85rem;
  color: var(--leaf);
  text-decoration: none;
  font-weight: 500;
  margin-top: 0.75rem;
}
.dash-link:hover { text-decoration: underline; }
.dash-link-logout { color: rgba(44,44,44,0.45); font-weight: 400; }
.dash-sub-plan { font-size: 0.9rem; color: var(--night); margin: 0 0 0.5rem; }

/* Cancel subscription toggle */
.dash-cancel-wrap   { margin-top: 0.75rem; border-top: 1px solid rgba(42,165,184,0.1); padding-top: 0.75rem; }
.dash-cancel-toggle { background: none; border: none; padding: 0; font-size: 0.8rem; color: rgba(44,44,44,0.45); cursor: pointer; text-decoration: underline; font-family: 'Plus Jakarta Sans', sans-serif; }
.dash-cancel-toggle:hover { color: var(--night); }
.dash-cancel-panel  { margin-top: 0.75rem; background: #FFF7F0; border: 1px solid rgba(224,123,31,0.2); border-radius: 8px; padding: 0.85rem 1rem; }
.dash-cancel-note   { font-size: 0.8rem; color: var(--night); opacity: 0.7; margin: 0 0 0.65rem; line-height: 1.55; }
.dash-cancel-btn    { display: inline-block; font-size: 0.8rem; font-weight: 600; color: var(--coral); text-decoration: none; }
.dash-cancel-btn:hover { text-decoration: underline; }

/* Danger zone — account deactivation */
.dash-danger-zone   { border-color: rgba(220,53,69,0.2); background: #FFFAFA; }
.dash-danger-zone .dash-section-title { color: #c0324f; }
.dash-danger-note   { font-size: 0.8rem; color: rgba(44,44,44,0.65); line-height: 1.55; margin: 0 0 1rem; }
.dash-deactivate-reason { width: 100%; border: 1px solid rgba(220,53,69,0.2); border-radius: 8px; padding: 0.6rem 0.8rem; font-size: 0.8125rem; font-family: 'Plus Jakarta Sans', sans-serif; color: var(--night); resize: vertical; margin-bottom: 0.75rem; }
.dash-deactivate-reason:focus { outline: none; border-color: rgba(220,53,69,0.5); box-shadow: 0 0 0 3px rgba(220,53,69,0.08); }
.dash-deactivate-btn { display: block; width: 100%; padding: 0.6rem 1rem; background: white; border: 1.5px solid rgba(220,53,69,0.4); border-radius: 8px; color: #c0324f; font-size: 0.8125rem; font-weight: 600; font-family: 'Plus Jakarta Sans', sans-serif; cursor: pointer; text-align: center; transition: background 0.2s, border-color 0.2s; }
.dash-deactivate-btn:hover:not(:disabled) { background: rgba(220,53,69,0.05); border-color: rgba(220,53,69,0.7); }
.dash-deactivate-btn:disabled { opacity: 0.5; cursor: default; }
.dash-deactivate-msg { font-size: 0.8125rem; border-radius: 8px; padding: 0.75rem 1rem; margin-top: 0.75rem; line-height: 1.5; }
.dash-deactivate-success { background: #F0FFF4; border: 1px solid rgba(0,160,80,0.2); color: #1a6632; }
.dash-deactivate-error   { background: #FFF0F3; border: 1px solid rgba(192,50,79,0.2); color: #c0324f; }

/* No listing state */
.dash-no-listing {
  text-align: center;
  padding: 4rem 2rem;
  color: rgba(44,44,44,0.5);
}
.dash-no-listing p { margin-bottom: 1.25rem; font-size: 1rem; }

/* ── Subscription: active badge & pay prompt ── */
.dash-active-sub-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1a6632;
  background: #f0fff4;
  border: 1px solid rgba(0,160,80,0.2);
  border-radius: 100px;
  padding: 0.3rem 0.8rem;
  margin-bottom: 0.75rem;
}
.dash-pay-prompt {
  background: #fffbf0;
  border: 1.5px solid rgba(246,100,131,0.25);
  border-radius: 10px;
  padding: 1rem 1.1rem;
}
.dash-pay-note {
  font-size: 0.83rem;
  color: rgba(44,44,44,0.7);
  line-height: 1.5;
  margin: 0 0 0.8rem;
}
.dash-pay-btn {
  display: inline-block;
  padding: 0.55rem 1.25rem;
  background: var(--coral);
  color: #fff;
  border-radius: 100px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s;
}
.dash-pay-btn:hover { opacity: 0.88; }
.dash-pay-subtext {
  font-size: 0.75rem;
  color: rgba(44,44,44,0.5);
  margin: 0.65rem 0 0;
  line-height: 1.5;
}

/* ── Group team interactive manager ── */
.dash-group-section { margin-top: 1.5rem; }
.dash-group-intro { font-size: 0.85rem; color: rgba(44,44,44,0.6); margin-bottom: 1.25rem; }
#dashTeamList { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1rem; }
.dash-team-row {
  display: grid;
  grid-template-columns: 28px 1fr 32px;
  gap: 0.75rem;
  align-items: start;
  background: var(--cream);
  border: 1px solid rgba(42,165,184,0.15);
  border-radius: 10px;
  padding: 1rem;
}
.dash-team-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--sea);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.25rem;
  flex-shrink: 0;
}
.dash-team-fields { min-width: 0; }
.dash-team-remove {
  width: 28px;
  height: 28px;
  border: none;
  background: rgba(220,53,69,0.08);
  color: #c0324f;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.2rem;
  flex-shrink: 0;
  transition: background 0.2s;
}
.dash-team-remove:hover { background: rgba(220,53,69,0.18); }
.dash-team-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.dash-team-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 1.1rem;
  background: transparent;
  border: 1.5px dashed rgba(42,165,184,0.4);
  border-radius: 100px;
  color: var(--sea);
  font-size: 0.85rem;
  font-weight: 600;
  font-family: 'Plus Jakarta Sans', sans-serif;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.dash-team-add-btn:hover { border-color: var(--sea); background: rgba(42,165,184,0.05); }
.dash-team-max-note { font-size: 0.78rem; color: rgba(44,44,44,0.45); font-style: italic; }

/* Dashboard team member photo upload row */
.dash-team-photo-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}
.dash-team-photo-preview {
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 50%;
  background: rgba(42,165,184,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 600;
  color: var(--sea);
  overflow: hidden;
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
}
.dash-team-photo-wrap { display: flex; flex-direction: column; gap: 0.25rem; }
.dash-upload-sm {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  background: white;
  border: 1.5px solid rgba(42,165,184,0.35);
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--sea);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.dash-upload-sm:hover { background: rgba(42,165,184,0.06); border-color: var(--sea); }

/* Profile page "Edit my listing" button */
.profile-edit-btn { font-size: 0.85rem; }

/* Dashboard nav CTA variant */
.cc-nav-cta-dash {
  background: rgba(255,255,255,0.15);
  color: white;
  border: 1.5px solid rgba(255,255,255,0.4);
}
.cc-nav-cta-dash:hover { background: white; color: var(--sea); }

/* Responsive dashboard */
@media (max-width: 900px) {
  .dash-grid { grid-template-columns: 1fr; }
  .dash-sidebar { order: -1; }
}
@media (max-width: 600px) {
  .dash-page { padding: 1.5rem 1rem 4rem; }
  .dash-welcome { flex-direction: column; align-items: flex-start; }
  .nav-user-group  { flex-direction: column; align-items: flex-end; gap: 0.4rem; }
  .nav-guest-group { flex-direction: column; align-items: flex-end; gap: 0.4rem; }
}
