/**
 * Decto DS phase — Apple/YC restraint on botanical + champagne brand.
 * Load AFTER decto-skin / decto-unify. Safe polish only.
 */

/* —— Shared primitives —— */
.bn-title-champagne,
body.auth-page .auth-header h1,
body.index-page .dl-hero h1 {
  background: var(--bn-gradient-champagne, linear-gradient(120deg, #f7e7c0, #c9a45e, #f0d9a0));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--bn-gold-champagne, #f0d9a0);
}

body.index-page .dl-hero h1 {
  /* Keep landing hero readable on light paper: solid botanical, gold eyebrow already exists */
  background: none;
  -webkit-text-fill-color: unset;
  color: var(--dl-ink, var(--bn-green)) !important;
}

body.index-page .dl-eyebrow {
  color: var(--bn-gold) !important;
  letter-spacing: 0.16em;
}

body.index-page .dl-btn--primary {
  min-height: 52px;
  padding-inline: 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #17382f, #29483d) !important;
  box-shadow: 0 14px 36px rgba(23, 56, 47, 0.22);
  transition: transform var(--bn-duration-fast, 160ms) var(--bn-ease-out, ease),
    box-shadow var(--bn-duration-fast, 160ms) var(--bn-ease-out, ease);
}

body.index-page .dl-btn--primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(23, 56, 47, 0.28);
}

body.index-page .dl-btn--provider {
  min-height: 52px;
  border-radius: 999px;
  border-color: rgba(197, 164, 109, 0.45) !important;
  color: var(--bn-green) !important;
}

/* —— Auth —— */
body.auth-page {
  background:
    radial-gradient(900px 420px at 100% 0%, rgba(197, 164, 109, 0.14), transparent 55%),
    radial-gradient(700px 480px at 0% 100%, rgba(23, 56, 47, 0.08), transparent 50%),
    #fafaf8 !important;
}

body.auth-page .auth-card,
body.auth-page .auth-notebook-sheet {
  border-radius: 24px !important;
  border: 1px solid rgba(23, 56, 47, 0.08) !important;
  box-shadow: 0 18px 48px rgba(23, 56, 47, 0.08) !important;
  padding: clamp(28px, 5vw, 36px) clamp(20px, 4vw, 28px) !important;
  backdrop-filter: blur(12px);
}

body.auth-page .auth-header h1 {
  font-size: clamp(1.55rem, 4vw, 2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

body.auth-page .form-control {
  min-height: 52px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(23, 56, 47, 0.12) !important;
  transition: border-color var(--bn-duration-fast, 160ms) ease,
    box-shadow var(--bn-duration-fast, 160ms) ease;
}

body.auth-page .form-control:focus {
  border-color: rgba(197, 164, 109, 0.55) !important;
  box-shadow: 0 0 0 4px rgba(197, 164, 109, 0.16) !important;
}

body.auth-page .auth-form .btn-primary,
body.auth-page button[type='submit'].btn,
body.auth-page .btn-primary.btn-block {
  min-height: 52px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #17382f, #29483d) !important;
  border: 0 !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(23, 56, 47, 0.18);
}

body.auth-page .auth-otp-step.is-active {
  color: var(--bn-green) !important;
  border-color: rgba(197, 164, 109, 0.45) !important;
  background: rgba(197, 164, 109, 0.12) !important;
}

/* —— App shell —— */
body.app-shell .bn-app-page {
  padding-top: 8px;
}

body.app-shell .bn-title-display,
body.app-shell .bn-page-hero .bn-title-display {
  letter-spacing: -0.03em;
}

body.app-shell .global-auth-bottom-nav .bottom-nav-fab.active,
body.app-shell .bn-glass-dock .is-active {
  color: var(--bn-green) !important;
}

/* —— Profiles —— */
body.bn-profile--visitor .dp-hero-name,
body.bn-profile-page .dp-hero-name,
.doctor-profile-header h1,
.clinic-profile-header h1 {
  letter-spacing: -0.02em;
}

.dp-visitor-cta .btn-primary,
.doctor-profile .btn-primary,
.clinic-profile .btn-primary {
  border-radius: 999px;
  min-height: 48px;
  font-weight: 800;
}

/* —— Feed / explore polish (no layout logic changes) —— */
.bn-feed-page .bn-page-hero,
.bn-explore-page .bn-page-hero {
  border-radius: 24px;
}

.bn-explore-page--grid .explore-reels-entry-chip {
  border-radius: 999px;
  border: 1px solid rgba(197, 164, 109, 0.28);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 22px rgba(23, 56, 47, 0.08);
  font-weight: 800;
}
