/**
 * lgbtq-alcohol-rehab.css — Inspire Recovery Design System
 * /lgbtq-alcohol-rehab/ (Post ID 1445)
 *
 * Foundation: main.css (tokens · base · layout · typography · components · forms)
 * Visual references — all patterns drawn from the approved trauma/transgender cornerstone system:
 *   S1 Hero           → trauma-cornerstone.css (.tit-hero)
 *   S2 Recognition    → trauma-cornerstone.css (.tit-recognition)
 *   S3 Why Stopping   → trauma-cornerstone.css (.tit-what-tic)
 *   S4 LGBTQ Context  → trauma-cornerstone.css (.tit-context / .section-brown)
 *   S5 What Works On  → structured two-column item list
 *   S6 Programs       → trauma-cornerstone.css (.tit-programs)
 *   S7 Late CTA       → transgender-rehab.css (.tr-late-cta)
 *   Final CTA         → shared component
 *
 * No new colors, button styles, or design tokens are introduced here.
 * All values reference CSS custom properties from tokens.css.
 * CSS prefix: lar- (LGBTQ Alcohol Rehab)
 */


/* ══════════════════════════════════════════════════════════════
   S1 — HERO
   Aqua, two-column: content (58%) left · compact Form 6 card (42%) right.
   Pattern: .elt-hero (emdr-lgbtq.css) — same implementation reused here.
   ══════════════════════════════════════════════════════════════ */

.lar-hero {
  background: var(--brand-aqua); /* fallback while image loads */
  position: relative;
  overflow: hidden;
}

.lar-hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  overflow: hidden;
}

.lar-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 40% 50%;
  display: block;
}

.lar-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(96deg, rgba(115,215,238,.94) 0%, rgba(115,215,238,.86) 30%, rgba(115,215,238,.58) 62%, rgba(115,215,238,.44) 100%),
    linear-gradient(0deg, rgba(115,215,238,.50) 0%, rgba(115,215,238,0) 28%);
}

.lar-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 58fr 42fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}

.lar-hero-content h1 {
  font-size: clamp(1.8rem, 3.4vw, 2.7rem);
  line-height: 1.1;
  margin-bottom: 18px;
}

.lar-hero-content .lead {
  max-width: 54ch;
  margin-bottom: 28px;
  color: var(--text-primary);
}

.lar-hero .btn             { background: #fff; color: var(--ink); }
.lar-hero .btn:hover       { background: #EEF2F1; transform: translateY(-1px); }
.lar-hero .btn.ghost       { background: transparent; color: var(--ink); border-color: rgba(22, 32, 31, .44); }
.lar-hero .btn.ghost:hover { background: rgba(22, 32, 31, .07); transform: none; }

.lar-hero-form {
  background: #fff;
  border-radius: var(--r-sm);
  padding: clamp(24px, 3vw, 36px);
  box-shadow: 0 4px 28px rgba(0, 0, 0, .11);
}

.lar-hero-form-heading {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 4px;
  line-height: 1.3;
}

.lar-hero-form-sub {
  font-size: .85rem;
  color: var(--text-secondary);
  line-height: 1.45;
  margin-bottom: 16px;
}


/* ══════════════════════════════════════════════════════════════
   FORM 6 — HERO CARD OVERRIDES (page-specific, scoped to .lar-hero-form)
   Form 6's own custom CSS sets: .fluentform .ff-el-group { display:inline }
   This overrides Fluent Forms' default display:none on .hiddenfield containers,
   exposing tracking/CRM fields to visitors.
   These rules restore correct hiding ONLY within the hero form card.
   Form 6's configuration, integrations, and field values are unchanged.
   ══════════════════════════════════════════════════════════════ */

/* Hide all tracking/routing field containers within the hero form */
.lar-hero-form .ff-el-group.hiddenfield,
.lar-hero-form .hiddenfield {
  display: none !important;
  visibility: hidden !important;
}

/* Restore block display for visible field containers (overrides .ff-el-group { display:inline }) */
.lar-hero-form .ff-el-group:not(.hiddenfield) {
  display: block !important;
}

/* Submit button — matches approved .btn primary system (components.css lines 33-56).
   !important required throughout: Fluent Forms' own CSS has higher specificity on these properties. */
.lar-hero-form .ff-btn-submit {
  background: var(--brand-aqua) !important;   /* #73D7EE — matches .btn default */
  color: var(--text-primary) !important;       /* #1E1A17 — dark ink; white fails AA on #73D7EE */
  border: 2px solid transparent !important;
  border-radius: 999px !important;             /* pill — matches .btn border-radius */
  padding: 11px 24px !important;
  font-family: inherit !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  width: 100% !important;
  margin-top: 4px !important;
  transition: background .2s, transform .2s !important;
  line-height: 1.4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
}

.lar-hero-form .ff-btn-submit:hover {
  background: #5BBFD6 !important;             /* matches .btn:hover */
  transform: translateY(-1px) !important;
}

.lar-hero-form .ff-btn-submit:focus-visible {
  outline: 3px solid var(--brand-aqua-hover) !important;
  outline-offset: 3px !important;
}

/* Tighten form field spacing within compact hero card */
.lar-hero-form .ff-el-group { margin-bottom: 10px; }
.lar-hero-form .ff-el-group:last-of-type { margin-bottom: 0; }


/* ══════════════════════════════════════════════════════════════
   S2 — WHEN DRINKING STOPS FEELING LIKE A CHOICE
   Soft-blue, 3-column narrative grid.
   Pattern: .tit-recognition (trauma-cornerstone.css)
   ══════════════════════════════════════════════════════════════ */

.lar-recognition { background: var(--surface-soft-blue); }

.lar-recognition-intro {
  max-width: 760px;
  margin: 0 auto var(--space-lg);
  text-align: center;
}

.lar-recognition-intro .eyebrow { justify-content: center; }

.lar-recognition-intro h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  margin-bottom: 0;
}

.lar-recognition-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4vw, 56px);
}

.lar-recognition-col h3 {
  font-size: 1.05rem;
  margin-bottom: 12px;
  color: var(--brand-aqua-hover);
}

.lar-recognition-col p {
  font-size: .95rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 14px;
}

.lar-recognition-col p:last-child { margin-bottom: 0; }


/* ══════════════════════════════════════════════════════════════
   S3 — WHY STOPPING CAN BE HARD
   White, two-column text grid (sticky heading left, prose right).
   Pattern: .tit-what-tic (trauma-cornerstone.css)
   ══════════════════════════════════════════════════════════════ */

.lar-why { background: #fff; }

.lar-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.lar-why-grid > .reveal:first-child {
  position: sticky;
  top: 100px;
}

.lar-why-grid h2 {
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  line-height: 1.18;
  margin-bottom: 0;
}

.lar-why-content .lead {
  margin-bottom: 24px;
  color: var(--text-secondary);
}

.lar-why-content p {
  font-size: .95rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 18px;
}

.lar-why-content p:last-child { margin-bottom: 0; }


/* ══════════════════════════════════════════════════════════════
   S4 — ALCOHOL, LGBTQ EXPERIENCES & CONTEXT
   Brown background, wide centered narrative prose.
   Pattern: .tit-context / .section-brown (trauma-cornerstone.css)
   ══════════════════════════════════════════════════════════════ */

.lar-context { text-align: center; }

.lar-context-inner {
  max-width: 1060px;
  margin: 0 auto;
}

.lar-context h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  color: #fff;
  margin-bottom: 20px;
  text-wrap: balance;
}

.lar-context .eyebrow {
  color: rgba(255, 255, 255, .75);
  justify-content: center;
}

.lar-context .eyebrow::before { background: var(--brand-aqua); }

.lar-context .lead {
  color: rgba(255, 255, 255, .85);
  max-width: 62ch;
  margin: 0 auto 20px;
}

.lar-context p {
  font-size: .95rem;
  color: rgba(255, 255, 255, .8);
  line-height: 1.65;
  margin-bottom: 20px;
  text-align: center;
}

.lar-context p:last-child { margin-bottom: 0; }

.lar-context a {
  color: rgba(255, 255, 255, .9);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lar-context a:hover { color: #fff; }


/* ══════════════════════════════════════════════════════════════
   S5 — WHAT TREATMENT ACTUALLY WORKS ON
   White, two-column structured item list.
   ══════════════════════════════════════════════════════════════ */

.lar-works { background: #fff; border-top: 1px solid var(--border-light); }

.lar-works-intro {
  max-width: 760px;
  margin: 0 auto var(--space-lg);
  text-align: center;
}

.lar-works-intro .eyebrow { justify-content: center; }

.lar-works-intro h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  margin-bottom: 16px;
}

.lar-works-intro .lead {
  max-width: 62ch;
  margin: 0 auto;
  color: var(--text-secondary);
}

.lar-works-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}

.lar-works-item {
  padding: 24px 32px 24px 0;
  border-bottom: 1px solid var(--border-light);
}

.lar-works-item:nth-child(even) {
  padding-left: 32px;
  padding-right: 0;
  border-left: 1px solid var(--border-light);
}

.lar-works-item h3 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px;
}

.lar-works-item p {
  font-size: .92rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

.lar-works-note {
  margin-top: var(--space-lg);
  font-size: .9rem;
  color: var(--text-secondary);
  text-align: center;
  font-style: italic;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}


/* ══════════════════════════════════════════════════════════════
   S6 — HOW INSPIRE RECOVERY HELPS
   Soft-blue, two-column programs + trust badges + inline CTA.
   Pattern: .tit-programs (trauma-cornerstone.css)
   ══════════════════════════════════════════════════════════════ */

.lar-programs { background: var(--surface-soft-blue); }

.lar-programs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.lar-programs-grid > .reveal:first-child {
  position: sticky;
  top: 100px;
}

.lar-programs-grid h2 {
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  line-height: 1.18;
  margin-bottom: 16px;
}

.lar-programs-item {
  padding: 24px 0;
  border-bottom: 1px solid rgba(14, 95, 122, .12);
}

.lar-programs-item:first-child { padding-top: 0; }

.lar-programs-item h3 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px;
}

.lar-programs-item p {
  font-size: .95rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

.lar-programs-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(14, 95, 122, .12);
}

.lar-trust-badge {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--brand-aqua-hover);
}

.lar-trust-sep {
  color: rgba(14, 95, 122, .3);
  font-weight: 400;
}

.lar-programs-cta { padding-top: 28px; }

.lar-programs-cta p {
  font-size: .95rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 20px;
}

.lar-programs-cta .actions { flex-wrap: wrap; }


/* ══════════════════════════════════════════════════════════════
   S7 — LATE CTA
   White background, centered heading + two buttons.
   Pattern: .tr-late-cta (transgender-rehab.css)
   ══════════════════════════════════════════════════════════════ */

.lar-late-cta {
  background: #fff;
  text-align: center;
  border-top: 1px solid var(--border-light);
}

.lar-late-cta-inner {
  max-width: 640px;
  margin: 0 auto;
}

.lar-late-cta h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.15;
  margin-bottom: 12px;
}

.lar-late-cta p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 28px;
}

.lar-late-cta .actions { justify-content: center; }


/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 960px) {
  .lar-hero-grid             { grid-template-columns: 1fr; gap: 32px; }
  .lar-hero-form             { max-width: 520px; }
  .lar-hero-photo::after     { background: rgba(115,215,238,.90); }
  .lar-why-grid              { grid-template-columns: 1fr; gap: 32px; }
  .lar-why-grid > .reveal:first-child { position: static; }
  .lar-programs-grid         { grid-template-columns: 1fr; gap: 32px; }
  .lar-programs-grid > .reveal:first-child { position: static; }
}

@media (max-width: 900px) {
  .lar-recognition-grid      { grid-template-columns: 1fr 1fr; }
  .lar-works-grid            { grid-template-columns: 1fr; }
  .lar-works-item:nth-child(even) {
    padding-left: 0;
    border-left: none;
  }
}

@media (max-width: 640px) {
  .lar-recognition-grid      { grid-template-columns: 1fr; }
}
