/* ============================================
   THE 30s RESET – PAGE 1285 ONLY (CLEAN)
   Page: When Anxiety Hits — 90-Second Reset
   Colors:
   Dark Teal:  #082223
   Card Teal:  #0B2D2F
   Sand:       #DBD1AC
   Light Sand: #F0E7C6
   ============================================ */

:root{
  --t30-dark: #082223;
  --t30-card: #0B2D2F;
  --t30-sand: #DBD1AC;
  --t30-sand-light: #F0E7C6;
  --t30-border: #3B4E4D;
  --t30-mobile-menu: #062A27;
}

/* --------------------------------------------
   GLOBAL BACKGROUND (site-wide)
   Keep because this is part of your theme look.
   -------------------------------------------- */

body{
  background: var(--t30-dark);
  color: var(--t30-sand);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(8,34,35,0.80), rgba(8,34,35,0.95)),
    url("https://the30sreset.com/wp-content/uploads/2025/12/591697801_122094844953151619_851033493523757207_n.jpg")
      center top / cover no-repeat;
  background-attachment: fixed;
  pointer-events: none !important;
}

.site,
.site-container,
#page,
#content{
  background: transparent !important;
  color: var(--t30-sand);
}

html, body{ overflow-x: hidden; }

/* --------------------------------------------
   TYPOGRAPHY
   -------------------------------------------- */

p, li, span, div,
.t30-lead, .t30-note, .t30-subtle{
  color: var(--t30-sand);
}

h1, h2, h3, h4, h5, h6,
.t30-section h1,
.t30-section h2,
.t30-section h3{
  color: var(--t30-sand-light);
  margin-bottom: 0.5rem;
}

a{ color: var(--t30-sand-light); text-decoration: none; }
a:hover{ color: #ffffff; }

/* --------------------------------------------
   SECTIONS / HERO / GRID / CARDS
   -------------------------------------------- */

.t30-section{
  max-width: 1040px;
  margin: 2.5rem auto;
  padding: 3rem 1.5rem;
  position: relative;
  z-index: 2;

  background: rgba(8,34,35,0.70);
  border-radius: 14px;
  border: 1px solid rgba(219,209,172,0.10);
  backdrop-filter: blur(3px);
}

.t30-hero{
  position: relative;
  text-align: left;
  padding-top: 3rem;
  padding-bottom: 2.5rem;
}

.t30-hero-eyebrow{
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
  color: #C7BA93;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.t30-hero h1{
  font-size: clamp(2.1rem, 3.4vw + 1.4rem, 3rem);
  line-height: 1.1;
}

.t30-hero-sub{
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--t30-sand);
  max-width: 640px;
}

.t30-grid{
  display: grid;
  gap: 1.75rem;
}

@media (min-width: 768px){
  .t30-grid-2{
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr);
    align-items: center;
  }
}

.t30-card{
  background: var(--t30-card);
  border-radius: 1.2rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--t30-border);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.7);
  margin-bottom: 3rem;
  position: relative;
  z-index: 5;
}
.t30-card, .t30-card *{ pointer-events: auto; }
.t30-card::before, .t30-card::after{ pointer-events: none; }

.t30-section:last-of-type,
.t30-card:last-of-type{
  margin-bottom: 2rem !important;
}

/* --------------------------------------------
   PILLS / BUBBLES
   -------------------------------------------- */

.t30-pill{
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: var(--t30-dark);
  background: var(--t30-sand);
  border: 1px solid #C7BA93;
}

.t30-bubble{
  display: inline-block;
  padding: 0.35rem 0.9rem;
  margin-top: 0.5rem;
  margin-right: 0.5rem;

  background: rgba(219, 209, 172, 0.08);
  border: 1px solid var(--t30-sand);
  color: var(--t30-sand);

  font-size: 0.85rem;
  font-weight: 500;
  border-radius: 999px;
  white-space: nowrap;
}

@media (max-width: 768px){
  .t30-badge-row{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
  }
  .t30-badge-row .t30-bubble{
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
  }
}

/* --------------------------------------------
   LISTS / CHECKLISTS / DIVIDER / NOTE
   -------------------------------------------- */

.t30-list{
  padding-left: 1.25rem;
  margin: 0.75rem 0;
  color: var(--t30-sand);
  font-size: 0.95rem;
}
.t30-list li{ margin-bottom: 0.35rem; }

.t30-checklist{
  list-style: none;
  padding-left: 0;
  margin: 0.75rem 0;
}
.t30-checklist li{
  position: relative;
  padding-left: 1.4rem;
  margin-bottom: 0.4rem;
  font-weight: 500;
  color: var(--t30-sand-light);
}
.t30-checklist li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05rem;
  font-weight: 800;
  font-size: 1rem;
  color: var(--t30-sand);
}

.t30-divider{
  border-top: 1px solid #394746;
  margin: 2.5rem 0;
}

.t30-note{
  font-size: 0.85rem;
  color: #C7BA93;
  margin-top: 0.5rem;
}

/* --------------------------------------------
   FORMS (GENERAL)
   -------------------------------------------- */

.t30-label{
  font-size: 0.85rem;
  color: var(--t30-sand-light);
  margin-bottom: 0.25rem;
  display: block;
}

.t30-input,
.t30-select{
  width: 100%;
  padding: 0.7rem 0.75rem;
  border-radius: 0.75rem;
  border: 1px solid var(--t30-border);
  background: var(--t30-dark);
  color: var(--t30-sand);
  font-size: 0.9rem;
}
.t30-input::placeholder{ color: #7D8A86; }

.t30-form-row{
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 640px){
  .t30-form-row-2{ grid-template-columns: 1.2fr 1.3fr; }
}

/* iOS zoom + button consistency */
input, select, textarea{ font-size: 16px; }
button, input[type="submit"]{ -webkit-appearance: none; }

/* --------------------------------------------
   BUTTONS (T30)
   -------------------------------------------- */

.t30-btn-group{
  display: flex;
  flex-direction: column;
  gap: 0rem;
  max-width: 390px;
  margin: 2rem auto;
  text-align: center;
}
.t30-btn-group p{ margin: 0 !important; }

/* Master reset */
.t30-section a.t30-btn,
.t30-section a.t30-btn-primary,
.t30-section a.t30-btn-ghost,
.t30-section button.t30-btn,
.t30-section button.t30-btn-primary,
.t30-section button.t30-btn-ghost{
  all: unset !important;
  box-sizing: border-box !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0.85rem 1.6rem !important;  /* fixed: equal top/bottom */
  line-height: 1.1 !important;
  min-height: 52px !important;

  font-weight: 700 !important;
  font-size: 0.98rem !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  font-family: inherit !important;
  text-align: center !important;
}

/* Primary */
.t30-section a.t30-btn-primary,
.t30-section button.t30-btn-primary{
  background: var(--t30-sand) !important;
  color: var(--t30-dark) !important;
  border: 2px solid #C7BA93 !important;
}
.t30-section a.t30-btn-primary:hover,
.t30-section button.t30-btn-primary:hover{
  background: var(--t30-sand-light) !important;
  border-color: var(--t30-sand) !important;
  transform: translateY(-1px);
}

/* Ghost */
.t30-section a.t30-btn-ghost,
.t30-section button.t30-btn-ghost{
  background: transparent !important;
  color: var(--t30-sand) !important;
  border: 2px solid rgba(219, 209, 172, 0.35) !important;
}
.t30-section a.t30-btn-ghost:hover,
.t30-section button.t30-btn-ghost:hover{
  border-color: var(--t30-sand) !important;
  transform: translateY(-1px);
}

/* --------------------------------------------
   ASTRA HEADER / NAV / FOOTER (site-wide)
   Keep because your page is inside Astra.
   -------------------------------------------- */

header,
.site-header,
#masthead,
.ast-primary-header-bar,
.main-header-bar{
  background: var(--t30-dark) !important;
  border-bottom: 1px solid var(--t30-border) !important;
  box-shadow: none !important;
}

.site-header .menu a,
.site-header .main-navigation a,
#masthead .menu a{
  color: var(--t30-sand) !important;
  font-weight: 500 !important;
}
.site-header .menu a:hover,
.site-header .menu .current-menu-item > a,
#masthead .menu a:hover{
  color: var(--t30-sand-light) !important;
}

/* Logo sizing */
.site-branding img{
  height: 120px !important;
  max-height: 120px !important;
  width: auto !important;
  object-fit: contain !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Footer */
.site-footer,
#colophon{
  background: var(--t30-dark) !important;
  color: var(--t30-sand) !important;
  border-top: 1px solid var(--t30-border) !important;
  box-shadow: none !important;
}

.site-footer p,
.site-footer a,
.site-footer span{
  color: var(--t30-sand) !important;
  font-size: 0.9rem;
}
.site-footer a:hover{
  color: var(--t30-sand-light) !important;
}

/* Mobile menu */
@media (max-width: 921px){
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer.active,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{
    background-color: var(--t30-mobile-menu) !important;
  }

  .ast-mobile-popup-drawer .menu-link{
    color: var(--t30-sand) !important;
  }
  .ast-mobile-popup-drawer .menu-link:hover{
    color: #FFFFFF !important;
    background: rgba(219, 209, 172, 0.08) !important;
  }
}

/* --------------------------------------------
   GUMROAD BUTTON (if used on this page)
   -------------------------------------------- */

.gumroad-button::after{ display: none !important; opacity: 0 !important; }

.gumroad-button{
  background-color: var(--t30-sand) !important;
  color: var(--t30-dark) !important;
  border-radius: 0.75rem !important;
  padding: 1rem 1.25rem !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  display: inline-block !important;
  text-align: center !important;
  width: 100% !important;
  border: none !important;
  box-shadow: none !important;
}
.gumroad-button:hover{
  background-color: var(--t30-sand-light) !important;
  color: var(--t30-dark) !important;
  transform: translateY(-1px);
  transition: 0.15s ease;
}
.gumroad-button:focus{
  outline: 2px solid var(--t30-sand-light) !important;
  outline-offset: 2px;
}

/* ============================================
   PAGE 1285 — SPECIFIC FIXES
   ============================================ */

/* Remove Astra’s top padding + hide empty title block */
.page-id-1285 .site-content,
.page-id-1285 #content,
.page-id-1285 .content-area,
.page-id-1285 .site-main{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.page-id-1285 .entry-header,
.page-id-1285 header.entry-header,
.page-id-1285 .ast-single-entry-banner,
.page-id-1285 .ast-page-builder-template .entry-header{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Tighten the first section + hero */
.page-id-1285 .t30-section:first-of-type{
  margin-top: 1rem !important;
  padding-top: 1.5rem !important;
}

.page-id-1285 .t30-section:first-of-type .t30-hero{
  padding-top: 1.25rem !important;
  padding-bottom: 2rem !important;
}

/* Reduce “phantom gaps” inside this page’s cards */
.page-id-1285 .t30-card .t30-divider{
  margin: 1.25rem 0 !important;
}
@media (max-width: 768px){
  .page-id-1285 .t30-card .t30-divider{
    margin: 1rem 0 !important;
  }

  .page-id-1285 .t30-section{
    margin: 2rem auto !important;
    padding: 2.25rem 1.25rem !important;
  }
}

/* In grids/columns, let the grid gap handle spacing */
.page-id-1285 .t30-grid .t30-card{
  margin-bottom: 0 !important;
}

/* CTA groups: stop huge vertical margins inside cards */
.page-id-1285 .t30-card .t30-btn-group{
  margin: 1rem auto 0.25rem !important;
  gap: 0.5rem !important;
}
/* ============================================
   PAGE 1285 — BUTTON TEXT VERTICAL ALIGN FIX
   ============================================ */

/* Force perfect vertical centering */
.page-id-1285 .t30-section a.t30-btn,
.page-id-1285 .t30-section a.t30-btn-primary,
.page-id-1285 .t30-section a.t30-btn-ghost,
.page-id-1285 .t30-section button.t30-btn,
.page-id-1285 .t30-section button.t30-btn-primary,
.page-id-1285 .t30-section button.t30-btn-ghost{
  padding-top: 0rem !important;
  padding-bottom: 0.9rem !important;
  line-height: 1 !important;        /* KEY FIX */
  min-height: auto !important;      /* prevents fake top space */

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Kill inner span / strong / em line-height issues */
.page-id-1285 .t30-section a.t30-btn *,
.page-id-1285 .t30-section button.t30-btn *{
  line-height: 1 !important;
}
/* Astra footer color fix */
#colophon,
.site-footer {
  background-color: #082223 !important; /* t30-dark */
  color: #DBD1AC !important;           /* sand */
}

#colophon a,
.site-footer a {
  color: #DBD1AC !important;
  opacity: 0.7;
}

#colophon a:hover,
.site-footer a:hover {
  opacity: 1;
}
/* Back to top button */
.ast-scroll-top-icon {
  background-color: #DBD1AC !important; /* sand */
  color: #082223 !important;            /* dark teal */
}

.ast-scroll-top-icon:hover {
  background-color: #F0E7C6 !important; /* light sand */
}
.ast-scroll-top-icon svg {
  fill: #082223 !important;
}
/* Hide footer on landing pages */
.site-footer {
  display: none;
}
/* Hide header on WAH landing page */
.page-id-1285 header.site-header {
  display: none;
}

/* Remove top spacing Astra leaves behind */
.page-id-1285 #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* Tighten spacing in the PROMISE card (the one with "THE PROMISE") */
.page-id-1285 .t30-card .t30-divider{
  margin: 0.9rem 0 !important; /* was effectively huge */
}

.page-id-1285 .t30-card h4 + .t30-checklist{
  margin-top: 0.35rem !important; /* reduce the extra list jump */
}

/* Optional: tighten the lead paragraph spacing above divider */
.page-id-1285 .t30-card .t30-lead{
  margin-bottom: 0.6rem !important;
}
/* PAGE 1285 — kill sneaky default paragraph/header margins inside cards */
.page-id-1285 .t30-card p{ 
  margin-top: 0 !important; 
  margin-bottom: 0.75rem !important; 
}

.page-id-1285 .t30-card h3,
.page-id-1285 .t30-card h4{
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;
}

/* Make the divider + next list snug */
.page-id-1285 .t30-card .t30-divider{
  margin: 0.75rem 0 !important;
}

.page-id-1285 .t30-card .t30-divider + h4{
  margin-top: 0.4rem !important;
}

.page-id-1285 .t30-card .t30-divider + h4 + .t30-checklist{
  margin-top: 0.25rem !important;
}
/* PAGE 1285 — PROMISE CARD: nuke all vertical gaps inside this card */
.page-id-1285 .t30-card:has(.t30-pill):has(h3):has(.t30-divider){
  /* nothing here; selector helper */
}

/* If your browser doesn't support :has(), use the fallback below */
.page-id-1285 .t30-card{
  /* no-op */
}

/* Fallback: target the Promise card by its pill text wrapper position */
.page-id-1285 .t30-grid-2 .t30-card{
  padding-top: 1.6rem !important;
}

.page-id-1285 .t30-grid-2 .t30-card > *{
  margin-top: 0 !important;
  margin-bottom: 0.55rem !important;
}

.page-id-1285 .t30-grid-2 .t30-card > .t30-divider{
  margin: 0.55rem 0 !important;
}

.page-id-1285 .t30-grid-2 .t30-card > :last-child{
  margin-bottom: 0 !important;
}
/* FAQ container spacing */
.t30-faq{
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Individual FAQ items */
.t30-faq-item{
  background: rgba(11,45,47,0.6); /* card teal, translucent */
  border: 1px solid var(--t30-border);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.t30-faq-item[open]{
  background: rgba(11,45,47,0.9);
  border-color: var(--t30-sand);
}