/*
Theme Name: Based Adventures
Theme URI: https://example.com/based-adventures
Author: Based Adventures
Author URI: https://example.com
Description: A native WordPress block theme for Based Adventures, converted from the homepage HTML mockup. Built for the Site Editor (WordPress 7.0+), no page builder required.
Requires at least: 6.9
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: based-adventures
Tags: block-theme, full-site-editing, one-page, custom-colors, custom-menu

This theme is a block theme. Colors, typography, and spacing are controlled
mainly through theme.json — this stylesheet only carries the layout details
and hover/animation effects that block supports can't express on their own.
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

#mission, #about, #brotherhood, #trips { scroll-margin-top: 96px; }

body { overflow-x: hidden; }

a { text-decoration: none; }

/* ─── NAV ─── */
.ba-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 48px !important;
  background: linear-gradient(to bottom, rgba(26,31,26,0.95), transparent);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}

.ba-nav-logo {
  font-family: 'Playfair Display SC', serif;
  font-size: 1rem;
  letter-spacing: 0.18em;
  color: var(--wp--preset--color-cream, #E8DFD0);
  text-transform: uppercase;
}

.ba-nav .wp-block-navigation__container { gap: 36px; display: flex; justify-content: flex-end; flex-wrap: wrap; }

.ba-nav .wp-block-navigation-item a {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color-cream-dim, #D4C8B5) !important;
  transition: color 0.2s;
}

.ba-nav .wp-block-navigation-item a:hover { color: var(--wp--preset--color-ember, #C4622D) !important; }

.ba-nav-cta.wp-block-button .wp-block-button__link {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 22px;
}

/* ─── HERO ─── */
.ba-hero.wp-block-cover {
  min-height: 100vh;
  padding: 0 48px 80px !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
}

.ba-hero.wp-block-cover .wp-block-cover__inner-container {
  width: 100%;
  max-width: none;
  margin: 0;
}

.ba-hero-content { max-width: 780px; }

.ba-hero-eyebrow {
  font-size: 0.72rem !important;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D) !important;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px !important;
}

.ba-hero-eyebrow::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--wp--preset--color-ember, #C4622D);
}

.ba-hero-headline {
  font-size: clamp(3.2rem, 7vw, 6.4rem) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.01em;
  margin-bottom: 24px !important;
}

.ba-hero-headline em {
  font-style: italic;
  font-family: 'Playfair Display', serif;
  color: var(--wp--preset--color-ember, #C4622D);
}

.ba-hero-sub {
  font-size: 1.05rem !important;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  max-width: 480px;
  line-height: 1.75;
  margin-bottom: 36px !important;
}

.ba-btn-ghost {
  color: var(--wp--preset--color-cream-dim, #D4C8B5);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--wp--preset--color-cream-dim, #D4C8B5);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}

.ba-btn-ghost:hover { color: var(--wp--preset--color-cream, #E8DFD0); border-color: var(--wp--preset--color-cream, #E8DFD0); }

/* ─── MISSION STRIP ─── */
.ba-mission-strip {
  background: var(--wp--preset--color-bark, #5C3D2E) !important;
  padding: 28px 48px !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 40px;
  overflow: hidden;
}

.ba-mission-strip-label {
  font-size: 0.65rem !important;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--wp--preset--color-cream-dim, #D4C8B5) !important;
  white-space: nowrap;
  line-height: 1 !important;
}

.ba-mission-strip-divider {
  width: 1px;
  height: 32px;
  background: rgba(232,223,208,0.25);
  flex-shrink: 0;
}

.ba-mission-strip-text {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.05rem !important;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  opacity: 0.9;
  line-height: 1.3 !important;
}

/* ─── SHARED SECTION HEADER ─── */
.ba-section {
  padding: 100px 48px !important;
}

.ba-section-header {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 48px;
  margin-bottom: 72px !important;
}

.ba-section-label {
  font-size: 0.65rem !important;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wp--preset--color-bark, #5C3D2E) !important;
  white-space: nowrap;
}

.ba-section-title {
  font-size: clamp(2rem, 4vw, 3.4rem) !important;
  line-height: 1.1 !important;
  max-width: 580px;
  color: var(--wp--preset--color-black, #1A1F1A);
}

.ba-section-title em {
  font-style: italic;
  font-family: 'Playfair Display', serif;
  color: var(--wp--preset--color-bark, #5C3D2E);
}

/* Belt-and-suspenders: our global heading color (set in theme.json) is
   cream, tuned for the site's mostly-dark sections. Any heading that
   lands inside a cream-background section without its own explicit
   color would otherwise render cream-on-cream. */
.has-cream-background-color :where(h1, h2, h3, h4, h5, h6) {
  color: var(--wp--preset--color-black, #1A1F1A);
}

/* Standalone label above a heading in a single narrow column (About's
   "Where It Started", Contact's "Reach Out") — different from the
   horizontal label+heading row pattern (.ba-section-header) used
   elsewhere, so it needs its own vertical spacing. */
.ba-section-label-stacked { margin-bottom: 20px !important; display: block; }

.ba-story-section .ba-section-title { margin-bottom: 28px !important; }

.ba-what-we-do,
.ba-trips {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.ba-what-we-do > *,
.ba-trips > * {
  max-width: 1240px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ─── WHAT WE DO / PILLARS ─── */
.ba-pillars.wp-block-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 2px !important;
}

.ba-pillars.wp-block-columns > .wp-block-column {
  flex: 1 1 220px;
}

.ba-pillar { height: 100%; }

.ba-pillar {
  background: var(--wp--preset--color-black, #1A1F1A) !important;
  padding: 52px 40px !important;
  position: relative;
  transition: background 0.25s;
}

.ba-pillar:hover { background: var(--wp--preset--color-moss, #4A6741) !important; }

.ba-pillar-num {
  font-family: 'Playfair Display SC', serif;
  font-size: 3.5rem !important;
  color: rgba(232,223,208,0.08) !important;
  position: absolute;
  top: 28px;
  right: 32px;
  line-height: 1;
}

.ba-pillar-title {
  font-size: 1.05rem !important;
  letter-spacing: 0.04em;
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  color: var(--wp--preset--color-cream, #E8DFD0);
}

.ba-pillar-body {
  font-size: 0.88rem !important;
  line-height: 1.75;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  font-weight: 300;
}

.ba-bhood-img-main img,
.ba-bhood-img-accent img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ─── BROTHERHOOD ─── */
.ba-brotherhood {
  background: var(--wp--preset--color-black, #1A1F1A) !important;
  padding: 120px 48px !important;
  gap: 80px !important;
  align-items: center !important;
}

.ba-brotherhood-visual {
  position: relative;
  height: 540px;
}

.ba-bhood-img-main {
  position: absolute;
  top: 0; left: 0;
  width: 75%;
  height: 80%;
  background: transparent;
  border: 2px solid rgba(232,223,208,0.25);
  overflow: hidden;
}

.ba-bhood-img-accent {
  position: absolute;
  bottom: 0; right: 0;
  width: 55%;
  height: 55%;
  background: transparent;
  border: 2px solid var(--wp--preset--color-bark, #5C3D2E);
  overflow: hidden;
}

.ba-bhood-stat {
  position: absolute;
  bottom: 52%;
  right: 22%;
  transform: translate(50%, 50%);
  background: var(--wp--preset--color-ember, #C4622D) !important;
  padding: 20px 24px !important;
  text-align: center;
  z-index: 2;
  width: auto;
}

.ba-bhood-stat-num {
  font-family: 'Playfair Display SC', serif;
  font-size: 2rem !important;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  display: block;
  line-height: 1;
}

.ba-bhood-stat-label {
  font-size: 0.65rem !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(232,223,208,0.8) !important;
  margin-top: 4px !important;
  display: block;
}

.ba-brotherhood-text .ba-section-label { color: var(--wp--preset--color-ember, #C4622D) !important; margin-bottom: 20px !important; display: block; }
.ba-brotherhood-text .ba-section-title { color: var(--wp--preset--color-cream, #E8DFD0) !important; margin-bottom: 28px !important; }
.ba-brotherhood-text .ba-section-title em { color: var(--wp--preset--color-ember, #C4622D); }

/* Same light-on-dark treatment as above, reusable on any dark-background
   section header (not just Brotherhood) — the bark/bark-em combo those
   two classes default to is meant for cream sections and is nearly
   invisible on black. */
.ba-section-header-dark .ba-section-label,
.ba-section-header-dark.ba-section-label { color: var(--wp--preset--color-ember, #C4622D) !important; }
.ba-section-header-dark .ba-section-title,
.ba-section-header-dark.ba-section-title { color: var(--wp--preset--color-cream, #E8DFD0) !important; }
.ba-section-header-dark .ba-section-title em,
.ba-section-header-dark.ba-section-title em { color: var(--wp--preset--color-ember, #C4622D) !important; }

.ba-brotherhood-body {
  font-size: 1rem !important;
  line-height: 1.85;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  font-weight: 300;
  margin-bottom: 20px !important;
}

.ba-brotherhood-body strong { color: var(--wp--preset--color-cream, #E8DFD0); font-weight: 500; }

/* Same body-copy sizing/rhythm as .ba-brotherhood-body, but for use on
   cream-background sections (About's Our Story, Contact's intro) —
   .ba-brotherhood-body itself is hardcoded to light text for the
   homepage's dark Brotherhood section and isn't safe to reuse on light
   ones. */
.ba-body-cream {
  font-size: 1rem !important;
  line-height: 1.85;
  color: var(--wp--preset--color-black, #1A1F1A) !important;
  font-weight: 300;
  margin-bottom: 20px !important;
}

.ba-ethos-list {
  list-style: none !important;
  margin: 32px 0 40px !important;
  padding-left: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ba-ethos-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 0.9rem;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0);
  font-weight: 300;
  line-height: 1.6;
}

.ba-ethos-list li::before {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: var(--wp--preset--color-ember, #C4622D);
  flex-shrink: 0;
  margin-top: 11px;
}

/* ─── UPCOMING TRIPS ─── */
.ba-trips .ba-section-label { color: var(--wp--preset--color-moss, #4A6741) !important; }

.ba-trips-grid.wp-block-columns { gap: 2px !important; margin-top: 56px !important; }

.ba-trip-card {
  background: var(--wp--preset--color-black, #1A1F1A) !important;
  position: relative;
  overflow: hidden;
}

.ba-trip-card-img {
  height: 220px;
  background: linear-gradient(145deg, #253020 0%, #1a2a18 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(232,223,208,0.12);
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--wp--preset--color-moss, #4A6741);
  position: relative;
  text-align: center;
}

.ba-trip-card-img-featured { border-bottom-color: var(--wp--preset--color-ember, #C4622D); }

.ba-trip-card-body { padding: 28px 28px 32px !important; }

.ba-trip-type {
  font-size: 0.62rem !important;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color-moss, #4A6741) !important;
  display: block;
  margin-bottom: 6px !important;
}

.ba-trip-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem !important;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}

.ba-trip-meta {
  font-size: 0.78rem !important;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  font-weight: 300;
  margin-bottom: 16px !important;
}

.ba-trip-link {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.ba-trip-link:hover { border-color: var(--wp--preset--color-ember, #C4622D); }

/* ─── JOIN CTA ─── */
.ba-join-cta {
  background: var(--wp--preset--color-moss, #4A6741) !important;
  padding: 120px 48px !important;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.ba-join-cta::before {
  content: 'BASED';
  position: absolute;
  font-family: 'Playfair Display SC', serif;
  font-size: 22vw;
  color: rgba(26,31,26,0.12);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  pointer-events: none;
  letter-spacing: 0.08em;
}

.ba-join-cta .ba-section-label { color: rgba(232,223,208,0.6) !important; margin-bottom: 20px !important; display: block; }

.ba-join-headline {
  font-size: clamp(2.4rem, 5vw, 4.2rem) !important;
  line-height: 1.05 !important;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  position: relative;
  margin-bottom: 20px !important;
}

.ba-join-sub {
  font-size: 1rem !important;
  font-weight: 300;
  color: rgba(232,223,208,0.8) !important;
  max-width: 480px;
  margin: 0 auto 44px !important;
  line-height: 1.8;
  position: relative;
}

.ba-join-actions { display: flex; flex-wrap: wrap; position: relative; justify-content: center !important; }

.ba-btn-light.wp-block-button .wp-block-button__link {
  background: var(--wp--preset--color-cream, #E8DFD0);
  color: var(--wp--preset--color-black, #1A1F1A);
  padding: 16px 36px;
}

.ba-btn-light.wp-block-button .wp-block-button__link:hover { background: var(--wp--preset--color-cream-dim, #D4C8B5); }

.ba-btn-outline-light.wp-block-button .wp-block-button__link {
  background: transparent;
  border: 1px solid rgba(232,223,208,0.4);
  color: var(--wp--preset--color-cream, #E8DFD0);
  padding: 16px 36px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.ba-btn-outline-light.wp-block-button .wp-block-button__link:hover { border-color: var(--wp--preset--color-cream, #E8DFD0); }

/* ─── FOOTER ─── */
.ba-footer {
  background: var(--wp--preset--color-black, #1A1F1A) !important;
  border-top: 1px solid rgba(232,223,208,0.08);
  padding: 60px 48px 36px !important;
}

.ba-footer-columns.wp-block-columns { gap: 40px !important; margin-bottom: 0 !important; }

.ba-footer-tagline {
  font-size: 0.85rem !important;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  line-height: 1.7;
  max-width: 260px;
}

.ba-footer-col-title {
  font-size: 0.65rem !important;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color-cream-dim, #D4C8B5) !important;
  margin-bottom: 18px !important;
}

.ba-footer-links {
  list-style: none !important;
  padding-left: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ba-footer-links a {
  font-size: 0.85rem;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0);
  transition: color 0.2s;
}

.ba-footer-links a:hover { color: var(--wp--preset--color-cream, #E8DFD0); }

.ba-footer-bottom {
  border-top: 1px solid rgba(232,223,208,0.08);
  padding-top: 28px !important;
  margin-top: 40px !important;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between !important;
}

.ba-footer-copy {
  font-size: 0.72rem !important;
  color: rgba(200,191,176,0.4) !important;
  letter-spacing: 0.04em;
}

/* ─── DYNAMIC TRIP CARDS (Query Loop) ─── */

/* Bound paragraphs render empty when the source returns "" — hide them
   instead of showing an empty colored box. */
.ba-trip-badge:empty { display: none; padding: 0; }

.ba-trip-card-img { position: relative; border-bottom: 2px solid var(--wp--preset--color-moss, #4A6741); overflow: hidden; }
.ba-trip-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ba-trip-card-img .wp-block-post-featured-image { margin: 0; }

/* Featured trips get the ember border + visible badge automatically,
   driven purely by whether the badge paragraph has content. */
.ba-trip-card:has(.ba-trip-badge:not(:empty)) .ba-trip-card-img { border-bottom-color: var(--wp--preset--color-ember, #C4622D); }

.ba-trip-badge {
  position: absolute;
  top: 16px; left: 16px;
  z-index: 2;
  background: var(--wp--preset--color-ember, #C4622D) !important;
  font-size: 0.6rem !important;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  padding: 5px 10px !important;
  width: auto;
}

/* Button block standing in for the old text link ("View Expedition →") */
.ba-trip-link.wp-block-button .wp-block-button__link {
  background: none;
  color: var(--wp--preset--color-ember, #C4622D);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  transition: border-color 0.2s;
}
.ba-trip-link.wp-block-button .wp-block-button__link:hover { border-color: var(--wp--preset--color-ember, #C4622D); background: none; }

.wp-block-post-title.ba-trip-name a { color: inherit; }

/* ─── EXPEDITIONS ARCHIVE ─── */
.ba-trips .wp-block-query-pagination { margin-top: 48px; justify-content: center; }
.ba-trips .wp-block-query-pagination a,
.ba-trips .wp-block-query-pagination span { font-size: 0.8rem; letter-spacing: 0.05em; }

.ba-trips-footer { display: flex; justify-content: center; margin-top: 56px !important; }

/* ─── SINGLE EXPEDITION ─── */
.ba-trip-hero-image.wp-block-post-featured-image { margin: 0 0 40px !important; }
.ba-trip-hero-image img { display: block; width: 100%; height: auto; object-fit: cover; }
.ba-trip-sidebar { align-self: start; position: sticky; top: 100px; }
.ba-trip-sidebar .ba-trip-badge { position: static; display: inline-block; margin-bottom: 12px !important; }
.ba-trip-sidebar .ba-trip-type { color: var(--wp--preset--color-cream-dim, #D4C8B5) !important; font-size: 0.7rem !important; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 8px !important; }
.ba-trip-sidebar .ba-trip-meta { color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important; font-size: 0.85rem !important; }
.ba-trip-sidebar .ba-trip-price { color: var(--wp--preset--color-cream, #E8DFD0) !important; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.1rem !important; margin-top: 8px !important; }
.ba-trip-sidebar-sep { border-color: rgba(232,223,208,0.15) !important; margin: 20px 0 !important; }
.ba-trip-detail { color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important; font-size: 0.82rem !important; line-height: 1.7; margin-bottom: 12px !important; }
.ba-trip-detail:empty { display: none; margin: 0; }

.ba-trip-content { font-size: 1.05rem; }
.ba-trip-content p { line-height: 1.9; font-weight: 300; color: var(--wp--preset--color-black, #1A1F1A); margin-bottom: 22px; }
.ba-trip-content h2,
.ba-trip-content h3 {
  font-family: 'Playfair Display SC', serif;
  color: var(--wp--preset--color-black, #1A1F1A);
  line-height: 1.3;
  margin: 40px 0 18px;
}
.ba-trip-content h2 { font-size: 1.6rem; }
.ba-trip-content h3 { font-size: 1.25rem; }
.ba-trip-content a { color: var(--wp--preset--color-ember, #C4622D); text-underline-offset: 2px; }
.ba-trip-content ul,
.ba-trip-content ol { margin: 0 0 22px 1.3em; padding: 0; }
.ba-trip-content li { line-height: 1.8; font-weight: 300; margin-bottom: 8px; }
.ba-trip-content blockquote {
  border-left: 3px solid var(--wp--preset--color-ember, #C4622D);
  padding-left: 24px;
  margin: 32px 0;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.2rem;
  color: var(--wp--preset--color-bark, #5C3D2E);
}
.ba-trip-content figure { margin: 32px 0; }
.ba-trip-content img { display: block; width: 100%; height: auto; }

.ba-trip-sep { border-color: rgba(26,31,26,0.15) !important; margin: 48px 0 !important; }

.ba-trip-back { margin: 0 !important; }
.ba-trip-back a {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.ba-trip-back a:hover { border-color: var(--wp--preset--color-ember, #C4622D); }

/* ─── INTERIOR PAGE HERO (About, Contact, etc.) ─── */
.ba-page-hero {
  position: relative;
  background: var(--wp--preset--color-black, #1A1F1A);
  padding: 180px 48px 72px !important;
  overflow: hidden;
}

.ba-page-hero-inner { position: relative; z-index: 2; max-width: 780px; }

.ba-page-title {
  font-size: clamp(2.4rem, 5vw, 4.2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em;
}

/* ─── ABOUT: OUR STORY ─── */
.ba-story-section {
  background: var(--wp--preset--color-cream, #E8DFD0) !important;
  padding: 100px 48px !important;
  align-items: center !important;
  gap: 64px !important;
}

.ba-story-photo {
  display: block;
  height: 460px;
  overflow: hidden;
  border: 1px solid rgba(26,31,26,0.08);
}

.ba-story-photo img,
.ba-team-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ─── ABOUT: THE TEAM ─── */
.ba-team-grid.wp-block-columns { gap: 2px !important; margin-top: 56px !important; }

.ba-team-card {
  background: var(--wp--preset--color-black, #1A1F1A) !important;
}

.ba-team-card-img {
  display: block;
  height: 280px;
  overflow: hidden;
  border-bottom: 2px solid var(--wp--preset--color-moss, #4A6741);
}

.ba-team-card-body { padding: 24px 26px 30px !important; }

.ba-team-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem !important;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  margin-bottom: 6px !important;
}

.ba-team-role {
  font-size: 0.7rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D) !important;
}

.ba-team-bio {
  font-size: 0.85rem !important;
  line-height: 1.7;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
}

/* ─── CONTACT PAGE ─── */
.ba-contact-grid {
  background: var(--wp--preset--color-cream, #E8DFD0) !important;
  padding: 90px 48px 60px !important;
  align-items: start !important;
  gap: 64px !important;
}

.ba-contact-heading {
  font-size: clamp(1.8rem, 3.6vw, 2.6rem) !important;
  line-height: 1.15 !important;
  margin-bottom: 24px !important;
}

.ba-contact-heading em {
  font-style: italic;
  font-family: 'Playfair Display', serif;
  color: var(--wp--preset--color-bark, #5C3D2E);
}

.ba-contact-details {
  border-top: 1px solid rgba(26,31,26,0.15);
  padding-top: 32px !important;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.ba-contact-detail-item { display: flex; flex-direction: column; gap: 6px; }

.ba-contact-detail-label {
  font-size: 0.65rem !important;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color-moss, #4A6741) !important;
  margin: 0 !important;
}

.ba-contact-detail-value-wrap { margin: 0 !important; }

.ba-contact-detail-value {
  font-size: 1.05rem;
  color: var(--wp--preset--color-black, #1A1F1A);
  text-decoration: none;
  border-bottom: 1px solid rgba(26,31,26,0.25);
  padding-bottom: 2px;
}

.ba-contact-form-panel { background: var(--wp--preset--color-black, #1A1F1A); padding: 44px 40px; }

.ba-contact-form { display: flex; flex-direction: column; gap: 20px; }

.ba-contact-form-label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D);
  margin-bottom: 4px;
  display: block;
}

/* Honeypot spam trap for .ba-contact-form — kept in the layout flow (not
   display:none/visibility:hidden) so bots that specifically skip those can't
   detect it, but moved off-screen so real visitors never see it. */
.ba-hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ba-contact-field { display: flex; flex-direction: column; gap: 8px; }

.ba-contact-field label {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color-cream-dim, #D4C8B5);
}

.ba-contact-field input,
.ba-contact-field textarea {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(232,223,208,0.3);
  color: var(--wp--preset--color-cream, #E8DFD0);
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  padding: 8px 2px;
  outline: none;
}

.ba-contact-field input:focus,
.ba-contact-field textarea:focus { border-color: var(--wp--preset--color-ember, #C4622D); }

.ba-contact-submit {
  align-self: flex-start;
  margin-top: 8px;
  display: inline-block;
  background: var(--wp--preset--color-ember, #C4622D);
  color: var(--wp--preset--color-cream, #E8DFD0);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 16px 32px;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}

.ba-contact-submit:hover { background: var(--wp--preset--color-ember-dark, #A84F24); }

.ba-contact-success {
  min-height: 340px;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 14px;
}

.ba-contact-success-label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D);
}

.ba-contact-success-title {
  font-family: 'Playfair Display SC', serif;
  font-size: 1.6rem;
  color: var(--wp--preset--color-cream, #E8DFD0);
  line-height: 1.3;
}

.ba-contact-success-body {
  font-size: 0.9rem;
  line-height: 1.75;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0);
}

/* .is-sent is added server-side in functions.php (based_adventures_render_contact_form_block)
   based on ?sent=1 in the URL, not by JS — this theme has no client-side JS. */
.ba-contact-form-panel.is-sent .ba-contact-form { display: none; }
.ba-contact-form-panel.is-sent .ba-contact-success { display: flex; }

.ba-contact-note {
  border-top: 1px solid rgba(26,31,26,0.15);
  padding-top: 28px !important;
}

.ba-contact-note p {
  font-size: 0.85rem;
  font-weight: 300;
  color: var(--wp--preset--color-black, #1A1F1A);
}

/* ─── LEGAL PAGES (Privacy Policy, Terms) ─── */
.ba-legal-updated {
  font-size: 0.85rem !important;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  margin: 0 !important;
}

.ba-legal-body {
  background: var(--wp--preset--color-cream, #E8DFD0) !important;
  padding: 90px 48px 120px !important;
  display: flex;
  justify-content: center;
}

.ba-legal-container { max-width: 680px; width: 100%; }

.ba-legal-intro { margin-bottom: 48px !important; }

.ba-legal-section { margin-bottom: 44px !important; }

.ba-legal-section-num {
  font-size: 0.62rem !important;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color-bark, #5C3D2E) !important;
  display: block;
  margin-bottom: 10px !important;
}

.ba-legal-heading {
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
  margin-bottom: 18px !important;
}

.ba-legal-list {
  list-style: none !important;
  margin: 20px 0 0 !important;
  padding-left: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ba-legal-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 0.95rem;
  line-height: 1.7;
  font-weight: 300;
  color: var(--wp--preset--color-black, #1A1F1A);
}

.ba-legal-list li::before {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: var(--wp--preset--color-bark, #5C3D2E);
  flex-shrink: 0;
  margin-top: 11px;
}

/* Assumption of Risk callout on the Terms page */
.ba-legal-callout {
  margin: 56px 0 !important;
  background: rgba(196,98,45,0.08);
  border: 1px solid var(--wp--preset--color-ember, #C4622D);
  border-left: 4px solid var(--wp--preset--color-ember, #C4622D);
  padding: 32px 36px !important;
}

.ba-legal-callout-label {
  font-size: 0.65rem !important;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember-dark, #A84F24) !important;
  display: block;
  margin-bottom: 14px !important;
}

.ba-legal-callout .ba-legal-heading { font-size: 1.4rem !important; }

.ba-legal-callout p { font-size: 0.98rem !important; line-height: 1.85; }

/* ─── STORIES (Blog, templates/home.html) ─── */
.ba-stories-hero {
  position: relative;
  background: var(--wp--preset--color-moss, #4A6741) !important;
  padding: 170px 48px 64px !important;
  overflow: hidden;
}

.ba-stories-hero-inner { position: relative; z-index: 2; max-width: 780px; }

.ba-stories-eyebrow {
  font-size: 0.72rem !important;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(232,223,208,0.75) !important;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px !important;
}

.ba-stories-eyebrow::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--wp--preset--color-black, #1A1F1A);
}

.ba-stories-title {
  font-size: clamp(2.4rem, 5vw, 4.2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
}

.ba-stories-body { padding: 90px 48px 110px !important; }

.ba-stories-grid.wp-block-query { margin: 0; }
.ba-stories-grid .wp-block-post-template { gap: 2px !important; }

.ba-story-card { background: var(--wp--preset--color-black, #1A1F1A) !important; overflow: hidden; }

.ba-story-card-img { position: relative; height: 220px; overflow: hidden; border-bottom: 2px solid var(--wp--preset--color-moss, #4A6741); }
.ba-story-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ba-story-card-img .wp-block-post-featured-image { margin: 0; height: 100%; }

.ba-story-badge {
  display: none;
  position: absolute;
  top: 16px; left: 16px;
  z-index: 2;
  background: var(--wp--preset--color-ember, #C4622D) !important;
  font-size: 0.6rem !important;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--wp--preset--color-cream, #E8DFD0) !important;
  padding: 5px 10px !important;
  margin: 0 !important;
  width: auto;
}

/* The featured badge + ember accent border are driven entirely by
   WordPress's built-in "Stick to the top of the blog" post option (WP
   adds a "sticky" class to that post's wp:post-template list item) — no
   custom field, so a non-technical editor can feature a story with one
   checkbox in the normal publish panel. */
.wp-block-post-template li.sticky .ba-story-badge { display: block; }
.wp-block-post-template li.sticky .ba-story-card-img { border-bottom-color: var(--wp--preset--color-ember, #C4622D); }

.ba-story-card-body { padding: 28px 28px 32px !important; }

.ba-story-meta { display: flex; align-items: center; margin-bottom: 10px !important; }
.ba-story-meta .wp-block-post-terms,
.ba-story-meta .wp-block-post-date {
  font-size: 0.62rem !important;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color-moss, #4A6741) !important;
  margin: 0 !important;
}
.ba-story-meta .wp-block-post-terms a { color: inherit; }
.ba-story-meta .wp-block-post-date::before { content: '·'; margin: 0 6px; }

.wp-block-post-title.ba-story-title { font-size: 1.3rem !important; line-height: 1.3 !important; color: var(--wp--preset--color-cream, #E8DFD0) !important; margin-bottom: 10px !important; }
.wp-block-post-title.ba-story-title a { color: inherit; }

.ba-story-excerpt.wp-block-post-excerpt {
  font-size: 0.85rem !important;
  line-height: 1.7;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  margin-bottom: 22px !important;
}
.ba-story-excerpt.wp-block-post-excerpt p { margin: 0; }

.ba-story-link.wp-block-button .wp-block-button__link {
  background: none;
  color: var(--wp--preset--color-ember, #C4622D);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  transition: border-color 0.2s;
}
.ba-story-link.wp-block-button .wp-block-button__link:hover { border-color: var(--wp--preset--color-ember, #C4622D); background: none; }

.ba-stories-body .wp-block-query-pagination { margin-top: 48px; justify-content: center; }
.ba-stories-body .wp-block-query-pagination a,
.ba-stories-body .wp-block-query-pagination span { font-size: 0.8rem; letter-spacing: 0.05em; }

/* ─── SINGLE STORY (templates/single.html) ─── */
.ba-story-hero-meta { display: flex; align-items: center; margin-top: 18px !important; }
.ba-story-hero-meta .wp-block-post-date,
.ba-story-hero-meta .wp-block-post-author-name {
  font-size: 0.78rem !important;
  font-weight: 300;
  color: var(--wp--preset--color-text-on-dark, #C8BFB0) !important;
  margin: 0 !important;
}
.ba-story-hero-meta .wp-block-post-author-name::before { content: '·'; margin: 0 8px; color: var(--wp--preset--color-text-on-dark, #C8BFB0); }

.ba-story-body { padding: 80px 48px 120px !important; display: flex; justify-content: center; }
.ba-story-body-container { max-width: 760px; width: 100%; }

.ba-story-hero-image.wp-block-post-featured-image { margin: 0 0 48px !important; }
.ba-story-hero-image img { display: block; width: 100%; height: auto; object-fit: cover; }

.ba-story-content { font-size: 1.05rem; }
.ba-story-content p { line-height: 1.9; font-weight: 300; color: var(--wp--preset--color-black, #1A1F1A); margin-bottom: 22px; }
.ba-story-content h2,
.ba-story-content h3 {
  font-family: 'Playfair Display SC', serif;
  color: var(--wp--preset--color-black, #1A1F1A);
  line-height: 1.3;
  margin: 40px 0 18px;
}
.ba-story-content h2 { font-size: 1.6rem; }
.ba-story-content h3 { font-size: 1.25rem; }
.ba-story-content a { color: var(--wp--preset--color-ember, #C4622D); text-underline-offset: 2px; }
.ba-story-content ul,
.ba-story-content ol { margin: 0 0 22px 1.3em; padding: 0; }
.ba-story-content li { line-height: 1.8; font-weight: 300; margin-bottom: 8px; }
.ba-story-content blockquote {
  border-left: 3px solid var(--wp--preset--color-ember, #C4622D);
  padding-left: 24px;
  margin: 32px 0;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.2rem;
  color: var(--wp--preset--color-bark, #5C3D2E);
}
.ba-story-content figure { margin: 32px 0; }
.ba-story-content img { display: block; width: 100%; height: auto; }

.ba-story-sep { border-color: rgba(26,31,26,0.15) !important; margin: 48px 0 !important; }

.ba-story-back { margin: 0 !important; }
.ba-story-back a {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color-ember, #C4622D);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.ba-story-back a:hover { border-color: var(--wp--preset--color-ember, #C4622D); }

/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
  .ba-nav { padding: 16px 24px !important; }
  .ba-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { display: none; }
  .ba-hero.wp-block-cover { padding: 0 24px 60px !important; }
  .ba-mission-strip { padding: 20px 24px !important; flex-wrap: wrap; }
  .ba-section { padding: 72px 24px !important; }
  .ba-brotherhood.wp-block-columns { grid-template-columns: 1fr !important; padding: 72px 24px !important; gap: 48px !important; }
  .ba-pillars.wp-block-columns,
  .ba-trips-grid.wp-block-columns { flex-wrap: wrap !important; }
  .ba-footer-columns.wp-block-columns { flex-wrap: wrap !important; }
  .ba-footer-bottom { flex-direction: column !important; gap: 12px !important; text-align: center; }
  .ba-single-trip-body.wp-block-columns { flex-wrap: wrap !important; }
  .ba-trip-sidebar { position: static; }
  .ba-page-hero { padding: 140px 24px 56px !important; }
  .ba-story-section,
  .ba-contact-grid { padding-left: 24px !important; padding-right: 24px !important; }
  .ba-team-grid.wp-block-columns { flex-wrap: wrap !important; }
  .ba-legal-body { padding: 64px 24px 80px !important; }
  .ba-legal-callout { padding: 24px 22px !important; }
  .ba-stories-hero { padding: 140px 24px 48px !important; }
  .ba-stories-body { padding: 64px 24px 80px !important; }
  .ba-story-body { padding: 56px 24px 72px !important; }
}
