/* Premium UI layer — CMC green brand theme */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&display=swap');

:root {
  --cmc-green-dark: #006837;
  --cmc-green-mid: #1b8a43;
  --cmc-green-bright: #34a853;
  --cmc-green-deep: #004d26;
  --cmc-green-soft: #e8f5e9;
  --cmc-green-muted: rgba(27, 138, 67, 0.12);

  --premium-teal: var(--cmc-green-mid);
  --premium-cyan: var(--cmc-green-bright);
  --premium-blue: var(--cmc-green-dark);
  --premium-indigo: var(--cmc-green-mid);
  --premium-violet: var(--cmc-green-bright);
  --premium-gold: #fbbf24;
  --premium-rose: #fb7185;
  --premium-gradient: linear-gradient(135deg, #006837 0%, #1b8a43 48%, #34a853 100%);
  --premium-gradient-soft: linear-gradient(135deg, rgba(0, 104, 55, 0.1) 0%, rgba(27, 138, 67, 0.08) 45%, rgba(52, 168, 83, 0.06) 100%);
  --premium-shadow: 0 24px 48px -12px rgba(0, 104, 55, 0.16), 0 12px 24px -8px rgba(27, 138, 67, 0.1);
  --premium-shadow-hover: 0 32px 64px -16px rgba(0, 104, 55, 0.22), 0 16px 32px -8px rgba(52, 168, 83, 0.14);
  --premium-glass: rgba(255, 255, 255, 0.78);
  --premium-radius: 1.75rem;
  --premium-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ── Base & ambient background ── */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--premium-font) !important;
  background-color: #f8faf8 !important;
  background-image:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(52, 168, 83, 0.1), transparent 55%),
    radial-gradient(ellipse 60% 40% at 90% 0%, rgba(0, 104, 55, 0.08), transparent 50%),
    radial-gradient(ellipse 50% 30% at 50% 100%, rgba(27, 138, 67, 0.06), transparent 55%);
  background-attachment: fixed;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.45;
  background:
    radial-gradient(circle at 20% 30%, rgba(52, 168, 83, 0.05), transparent 22%),
    radial-gradient(circle at 78% 18%, rgba(0, 104, 55, 0.04), transparent 20%);
  animation: premiumAmbient 18s ease-in-out infinite alternate;
}

@keyframes premiumAmbient {
  0% { opacity: 0.4; transform: scale(1); }
  100% { opacity: 0.55; transform: scale(1.02); }
}

/* ── Brand logo ── */
.brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.brand img,
.brand-logo {
  display: block;
  height: 2.85rem;
  width: auto;
  max-width: 10.5rem;
  object-fit: contain;
}

@media (min-width: 640px) {
  .brand img,
  .brand-logo {
    height: 3.1rem;
    max-width: 11.5rem;
  }
}

@media (min-width: 1024px) {
  .brand img,
  .brand-logo {
    height: 3.35rem;
    max-width: 12.5rem;
  }
}

/* ── Topbar — CMC green gradient ── */
.topbar {
  background: linear-gradient(90deg, #004d26 0%, #006837 28%, #1b8a43 62%, #34a853 100%) !important;
  background-size: 200% 100% !important;
  animation: premiumTopbarShift 14s ease infinite !important;
  box-shadow: 0 4px 24px rgba(0, 104, 55, 0.22) !important;
}

@keyframes premiumTopbarShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.topbar-link:hover {
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.5);
}

.language-switcher--inline {
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.language-switcher--inline .language-option.active {
  background: linear-gradient(135deg, #fff 0%, #e8f5e9 100%) !important;
  color: var(--cmc-green-dark) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12) !important;
}

/* ── Header — frosted glass ── */
.site-header {
  background: var(--premium-glass) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
  border-bottom: 1px solid rgba(27, 138, 67, 0.14) !important;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.05) !important;
  transition: box-shadow 0.3s ease, background 0.3s ease !important;
}

body.is-scrolled .site-header {
  box-shadow: 0 12px 40px rgba(0, 104, 55, 0.1) !important;
  background: rgba(255, 255, 255, 0.92) !important;
}

.site-nav__link {
  transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.site-nav__link:hover,
.site-nav__link.active {
  background: var(--premium-gradient-soft) !important;
  color: var(--cmc-green-dark) !important;
  box-shadow: inset 0 0 0 1px rgba(27, 138, 67, 0.18) !important;
}

.site-nav__submenu {
  border: 1px solid rgba(27, 138, 67, 0.12) !important;
  box-shadow: var(--premium-shadow) !important;
  backdrop-filter: blur(12px) !important;
}

.header-cta,
.header-icon-cta {
  background: var(--premium-gradient) !important;
  background-size: 200% 200% !important;
  animation: premiumBtnGlow 6s ease infinite !important;
  box-shadow: 0 8px 24px rgba(0, 104, 55, 0.28), 0 4px 12px rgba(52, 168, 83, 0.16) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.header-cta:hover,
.header-icon-cta:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(0, 104, 55, 0.34), 0 6px 16px rgba(52, 168, 83, 0.2) !important;
}

@keyframes premiumBtnGlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ── Hero sections ── */
.hero-shell {
  background: transparent !important;
}

.hero-shell::before {
  background-image:
    radial-gradient(circle at 8% 12%, rgba(52, 168, 83, 0.16), transparent 38%),
    radial-gradient(circle at 88% 8%, rgba(0, 104, 55, 0.12), transparent 36%),
    radial-gradient(circle at 72% 88%, rgba(27, 138, 67, 0.1), transparent 40%),
    radial-gradient(circle at 24% 78%, rgba(52, 168, 83, 0.06), transparent 32%) !important;
  animation: premiumHeroPulse 10s ease-in-out infinite alternate !important;
}

@keyframes premiumHeroPulse {
  0% { opacity: 0.85; }
  100% { opacity: 1; }
}

.hero-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.9rem !important;
  border-radius: 9999px !important;
  background: var(--premium-gradient-soft) !important;
  border: 1px solid rgba(27, 138, 67, 0.22) !important;
  color: var(--cmc-green-dark) !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  box-shadow: 0 2px 12px rgba(0, 104, 55, 0.1) !important;
}

.hero-title {
  background: linear-gradient(135deg, #0f172a 0%, #006837 40%, #1b8a43 72%, #34a853 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-fill-color: transparent !important;
}

.hero-description {
  color: #475569 !important;
  line-height: 1.85 !important;
}

.hero-button {
  background: var(--premium-gradient) !important;
  background-size: 200% 200% !important;
  box-shadow: 0 8px 20px rgba(0, 104, 55, 0.26) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  position: relative;
  overflow: hidden;
}

.hero-button::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.35) 50%, transparent 60%);
  transform: translateX(-120%);
  transition: transform 0.6s ease;
}

.hero-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(52, 168, 83, 0.3) !important;
}

.hero-button:hover::after {
  transform: translateX(120%);
}

.hero-button--secondary {
  background: rgba(255, 255, 255, 0.9) !important;
  -webkit-text-fill-color: var(--cmc-green-dark) !important;
  color: var(--cmc-green-dark) !important;
  border: 1px solid rgba(27, 138, 67, 0.32) !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06) !important;
}

.hero-art-wrap .generated-illustration,
.hero-art-wrap .hero-art {
  border-radius: var(--premium-radius) !important;
  box-shadow: var(--premium-shadow) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
}

/* ── Cards — gradient border glow ── */
.city-card,
.hospital-card,
.hotel-card,
.stat-card,
.sibling-city-card,
.guide-card,
.framework-card,
.country-guide-card,
.policy-card,
.planning-card {
  position: relative;
  border-radius: var(--premium-radius) !important;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-color 0.35s ease !important;
}

.city-card::before,
.hospital-card::before,
.hotel-card::before,
.stat-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: var(--premium-gradient);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.city-card:hover,
.hospital-card:hover,
.hotel-card:hover,
.stat-card:hover,
.sibling-city-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--premium-shadow-hover) !important;
}

.city-card:hover::before,
.hospital-card:hover::before,
.hotel-card:hover::before,
.stat-card:hover::before {
  opacity: 1;
}

.hospital-card,
.hotel-card {
  display: block;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  overflow: hidden;
  backdrop-filter: blur(8px);
}

.hospital-card__badge,
.hospital-card__tag {
  background: var(--premium-gradient-soft) !important;
  border: 1px solid rgba(27, 138, 67, 0.18) !important;
  color: var(--cmc-green-dark) !important;
}

.hospital-card__badge--verified {
  background: linear-gradient(135deg, rgba(0, 104, 55, 0.12), rgba(52, 168, 83, 0.1)) !important;
}

/* ── Search panels ── */
.directory-search-panel,
.hospital-search-panel,
.hotel-search-panel {
  border: 1px solid rgba(27, 138, 67, 0.18) !important;
  background:
    radial-gradient(circle at top left, rgba(52, 168, 83, 0.1), transparent 40%),
    radial-gradient(circle at bottom right, rgba(0, 104, 55, 0.06), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 248, 0.98)) !important;
  box-shadow: var(--premium-shadow) !important;
  backdrop-filter: blur(12px) !important;
}

.directory-search-button,
.hospital-filter-input--hero:focus,
.directory-search-input--hero:focus {
  box-shadow: 0 0 0 4px rgba(52, 168, 83, 0.14) !important;
}

.directory-search-button {
  background: var(--premium-gradient) !important;
  box-shadow: 0 8px 20px rgba(0, 104, 55, 0.24) !important;
}

/* ── Stat / info grids ── */
.rounded-\[2rem\].border.border-neutral-200.bg-neutral-50,
.grid.gap-4.rounded-\[2rem\] {
  background: var(--premium-gradient-soft) !important;
  border-color: rgba(27, 138, 67, 0.14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.rounded-\[1\.5rem\].bg-white.p-5.shadow-sm {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.rounded-\[1\.5rem\].bg-white.p-5.shadow-sm:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(0, 104, 55, 0.08) !important;
}

/* ── Section backgrounds ── */
section.bg-neutral-50 {
  background: linear-gradient(180deg, rgba(248, 250, 248, 0.7) 0%, rgba(232, 245, 233, 0.35) 50%, rgba(248, 250, 248, 0.7) 100%) !important;
}

section.bg-white {
  background: rgba(255, 255, 255, 0.72) !important;
}

/* ── Footer — deep green ── */
.site-footer {
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(52, 168, 83, 0.14), transparent 50%),
    radial-gradient(ellipse 60% 50% at 80% 20%, rgba(0, 104, 55, 0.12), transparent 45%),
    linear-gradient(180deg, #004d26 0%, #003319 100%) !important;
  border-top: 1px solid rgba(52, 168, 83, 0.22) !important;
  position: relative;
}

.site-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--premium-gradient);
}

.footer-title {
  background: linear-gradient(90deg, #a5d6a7, #66bb6a, #34a853);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.social-link {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}

.social-link:hover {
  background: var(--premium-gradient) !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 8px 20px rgba(52, 168, 83, 0.3) !important;
}

/* ── Chat widget ── */
.chat-widget__toggle,
[data-chat-toggle] {
  background: var(--premium-gradient) !important;
  box-shadow: 0 8px 28px rgba(0, 104, 55, 0.38), 0 0 0 0 rgba(52, 168, 83, 0.35) !important;
  animation: premiumChatPulse 3s ease infinite !important;
}

@keyframes premiumChatPulse {
  0%, 100% { box-shadow: 0 8px 28px rgba(0, 104, 55, 0.38), 0 0 0 0 rgba(52, 168, 83, 0.3); }
  50% { box-shadow: 0 8px 28px rgba(52, 168, 83, 0.32), 0 0 0 12px rgba(52, 168, 83, 0); }
}

/* ── Consultation form ── */
.quote-form-shell,
#consultation {
  position: relative;
}

.quote-form-shell::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: var(--premium-gradient);
  opacity: 0.1;
  filter: blur(20px);
  z-index: -1;
}

/* ── Scroll reveal ── */
.premium-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.premium-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.premium-reveal-delay-1 { transition-delay: 0.08s; }
.premium-reveal-delay-2 { transition-delay: 0.16s; }
.premium-reveal-delay-3 { transition-delay: 0.24s; }

/* ── Home page carousel slides ── */
.home-carousel__slide img,
.portrait-image {
  border-radius: 1.25rem !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1) !important;
}

/* ── Inputs focus glow ── */
input:focus,
select:focus,
textarea:focus,
.hospital-filter-input:focus,
.directory-search-input:focus {
  border-color: rgba(52, 168, 83, 0.45) !important;
  outline: none !important;
}

/* ── Text accents & primary palette (layout.css teal → CMC green) ── */
.text-primary-200,
[class*='text-primary-200'] {
  color: #86efac !important;
}

.text-primary-500,
[class*='text-primary-500'] {
  color: var(--cmc-green-mid) !important;
}

.text-primary-700,
[class*='text-primary-700'] {
  color: var(--cmc-green-dark) !important;
}

.text-primary-800,
[class*='text-primary-800'] {
  color: var(--cmc-green-deep) !important;
}

.bg-primary-50,
[class*='bg-primary-50'] {
  background-color: var(--cmc-green-soft) !important;
}

.bg-primary-100,
[class*='bg-primary-100'] {
  background-color: #d1fae5 !important;
}

.border-primary-200,
[class*='border-primary-200'] {
  border-color: #bbf7d0 !important;
}

.border-primary-300,
[class*='border-primary-300'],
.hover\:border-primary-300:hover {
  border-color: rgba(52, 168, 83, 0.45) !important;
}

.ring-primary-50,
[class*='ring-primary-50'] {
  --tw-ring-color: var(--cmc-green-muted) !important;
}

.focus\:border-primary-400:focus,
[class*='focus:border-primary-400']:focus {
  border-color: var(--cmc-green-bright) !important;
}

.focus\:ring-primary-100:focus,
[class*='focus:ring-primary-100']:focus {
  --tw-ring-color: rgba(52, 168, 83, 0.18) !important;
}

.from-primary-500 {
  --tw-gradient-from: var(--cmc-green-mid) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(27 138 67 / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.to-sky-500,
.to-sky-600,
.to-sky-700 {
  --tw-gradient-to: var(--cmc-green-bright) var(--tw-gradient-to-position) !important;
}

.from-sky-50 {
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.bg-gradient-to-r.from-primary-500.to-sky-600,
.bg-gradient-to-r.from-primary-500.to-sky-700,
.bg-gradient-to-r.from-primary-500.to-sky-500 {
  background-image: var(--premium-gradient) !important;
}

.shadow-primary-200\/70,
[class*='shadow-primary-200'] {
  --tw-shadow-color: rgba(52, 168, 83, 0.18) !important;
}

.shadow-sky-100\/70,
[class*='shadow-sky-100'] {
  --tw-shadow-color: rgba(52, 168, 83, 0.12) !important;
}

.ring-sky-100,
[class*='ring-sky-100'] {
  --tw-ring-color: rgba(52, 168, 83, 0.14) !important;
}

.text-sky-100 {
  color: #dcfce7 !important;
}

[class*='text-[#0A4A5C]'] {
  color: var(--cmc-green-dark) !important;
}

[class*='border-[#0A4A5C]'] {
  border-color: rgba(0, 104, 55, 0.15) !important;
}

h2.text-neutral-900,
h3.text-neutral-900 {
  color: #0f172a !important;
}

/* ── Guide / directory / calculator panels ── */
.stat-card__label,
[class*='stat-card__label'] {
  color: var(--cmc-green-dark) !important;
}

.directory-search-panel,
[class*='directory-search-panel'] {
  border-color: rgba(52, 168, 83, 0.22) !important;
  background-image: radial-gradient(circle at top left, rgba(52, 168, 83, 0.1), transparent 34%), linear-gradient(180deg, #f8fafc, #fff) !important;
  --tw-shadow-color: rgba(52, 168, 83, 0.14) !important;
}

.directory-search-button,
[class*='directory-search-button'] {
  background-image: var(--premium-gradient) !important;
}

.directory-search-result:hover,
.directory-search-result:focus,
.directory-search-result--active,
.city-card:hover,
.directory-more__summary:hover {
  background-color: var(--cmc-green-soft) !important;
}

.directory-search-result__type,
.city-card__province,
.city-card__count,
.city-card__footer strong,
.directory-more__summary:hover,
.directory-more__icon {
  color: var(--cmc-green-dark) !important;
  background-color: var(--cmc-green-soft) !important;
}

.calculator-panel,
[class*='calculator-panel'] {
  border-color: rgba(52, 168, 83, 0.22) !important;
  background-image: radial-gradient(circle at top left, rgba(52, 168, 83, 0.1), transparent 34%), linear-gradient(180deg, #f8fafc, #fff) !important;
}

.hero-shell::before,
[class*='hero-shell']::before {
  background-image: radial-gradient(circle at top left, rgba(52, 168, 83, 0.12), transparent 40%), radial-gradient(circle at bottom right, rgba(0, 104, 55, 0.1), transparent 42%) !important;
}

.badge--purple,
.badge--green {
  background: var(--cmc-green-soft) !important;
  color: var(--cmc-green-dark) !important;
}

.border-primary-200.bg-primary-50,
[class*='border-primary-200'][class*='bg-primary-50'] {
  border-color: #bbf7d0 !important;
  background-color: var(--cmc-green-soft) !important;
  color: var(--cmc-green-dark) !important;
}

/* ── Home hero motion wash (sky → green) ── */
.hero-motion__shade {
  background: linear-gradient(90deg, #fffffff0, #ffffffdb 22%, #ffffff8f 38%, #ffffff3d 56%, #ffffff0a 72%, rgba(0, 104, 55, 0.12)), linear-gradient(180deg, #ffffff2e, rgba(0, 77, 38, 0.1)) !important;
}

.hero-motion__wash {
  background: radial-gradient(circle at 20% 24%, rgba(52, 168, 83, 0.14), transparent 26%), radial-gradient(circle at 86% 18%, rgba(27, 138, 67, 0.12), transparent 24%), radial-gradient(circle at 82% 82%, rgba(0, 104, 55, 0.1), transparent 28%) !important;
}

.portrait-image {
  background: linear-gradient(180deg, #f0fdf4, #fff) !important;
}

.portrait-image__veil {
  background: radial-gradient(circle at 50% 10%, rgba(52, 168, 83, 0.16), transparent 55%) !important;
}

/* ── Stub / page helpers (CMC overrides) ── */
.stub-eyebrow,
.community-hero__eyebrow {
  color: var(--cmc-green-dark) !important;
}

.stub-button,
.community-btn--primary,
.community-profile button {
  background: var(--premium-gradient) !important;
}

.stub-button--ghost,
.stub-city-link {
  color: var(--cmc-green-dark) !important;
}

.stub-city-link:hover {
  border-color: #a5d6a7 !important;
  background: var(--cmc-green-soft) !important;
}

.language-switcher--inline .language-option.active {
  color: var(--cmc-green-dark) !important;
}

/* ── Price comparison panel (home / why-china) — navy-teal → CMC deep green ── */
[class*='0b3b52'],
[class*='075985'] {
  border-color: rgba(52, 168, 83, 0.28) !important;
  background-image:
    radial-gradient(circle at top left, rgba(52, 168, 83, 0.2), transparent 34%),
    linear-gradient(135deg, #0f172a 0%, #004d26 48%, #006837 100%) !important;
  --tw-shadow-color: rgba(52, 168, 83, 0.14) !important;
}

.comparison-table-shell {
  border-color: rgba(52, 168, 83, 0.22) !important;
}

.border-sky-100,
[class*='border-sky-100'] {
  border-color: rgba(187, 247, 208, 0.45) !important;
}

.text-sky-200,
[class*='text-sky-200'] {
  color: #a7f3d0 !important;
}

.bg-cyan-300,
[class*='bg-cyan-300'] {
  background-color: #34a853 !important;
}

.text-emerald-200,
.text-emerald-100,
[class*='text-emerald-200'],
[class*='text-emerald-100'] {
  color: #bbf7d0 !important;
}

.bg-emerald-400\/10,
[class*='bg-emerald-400'] {
  background-color: rgba(52, 168, 83, 0.12) !important;
}

.border-emerald-300\/30,
[class*='border-emerald-300'] {
  border-color: rgba(52, 168, 83, 0.35) !important;
}

.bg-emerald-300,
[class*='bg-emerald-300'] {
  background-color: #34a853 !important;
}

/* Doctor portrait wash — sky blue → soft green */
[class*='e0f2fe'],
[class*='eff6ff'] {
  background-image:
    radial-gradient(circle at top right, rgba(52, 168, 83, 0.22), transparent 36%),
    linear-gradient(180deg, #f8faf8 0%, #e8f5e9 100%) !important;
}

/* ── Primary action buttons (packages, guides, forms) ── */
.form-footer button,
.quote-form button[type='submit'],
.calculator-button,
[data-guide-open-button],
.directory-button {
  background: var(--premium-gradient) !important;
  background-image: var(--premium-gradient) !important;
  --tw-gradient-from: #006837 !important;
  --tw-gradient-to: #34a853 !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
  box-shadow: 0 8px 20px rgba(0, 104, 55, 0.24) !important;
  color: #fff !important;
}

.quote-kicker,
[class*='quote-kicker'] {
  background-color: var(--cmc-green-soft) !important;
  color: var(--cmc-green-dark) !important;
}

.consultation-card,
[class*='consultation-card'] {
  border-color: rgba(52, 168, 83, 0.22) !important;
  background-image: linear-gradient(135deg, rgba(0, 104, 55, 0.08), rgba(255, 255, 255, 0.95)) !important;
}

.quote-benefits li::before,
[class*='quote-benefits'] li::before {
  background-color: var(--cmc-green-mid) !important;
}

/* ── Insurance / guides: path cards, tags, filters ── */
.guide-path-card.is-active,
.guide-path-card[aria-pressed='true'] {
  border-color: rgba(52, 168, 83, 0.45) !important;
  background-color: rgba(232, 245, 233, 0.88) !important;
  --tw-ring-color: rgba(52, 168, 83, 0.2) !important;
}

.guide-path-card.is-active .guide-path-card__eyebrow,
.guide-path-card[aria-pressed='true'] .guide-path-card__eyebrow {
  background-color: var(--cmc-green-soft) !important;
  color: var(--cmc-green-dark) !important;
}

.directory-highlight,
[class*='directory-highlight'] {
  border-color: rgba(52, 168, 83, 0.28) !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  color: var(--cmc-green-dark) !important;
}

.directory-label,
[class*='directory-label'] {
  color: var(--cmc-green-dark) !important;
}

.directory-input:focus,
[class*='directory-input']:focus {
  border-color: rgba(52, 168, 83, 0.45) !important;
  --tw-ring-color: rgba(52, 168, 83, 0.14) !important;
}

/* Form controls — brand accent & readable placeholders */
input[type='checkbox'] {
  accent-color: var(--cmc-green-mid);
}

textarea::placeholder,
input::placeholder,
.directory-search-input::placeholder,
.directory-input::placeholder {
  color: #64748b !important;
  opacity: 1;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .premium-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 640px) {
  .hero-title {
    font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
  }
}
