/* Theme Name: Raleigh Haunts Theme
Author: Samra
Version: 1.0
*/

/* =====================
   GLOBAL
===================== */
:root{
  --bg:#0b0b0f;
  --text:#e6e6eb;
  --gold:#b08d57;

  /* Desktop header (MATCHES LOGO) */
  --header-h: 260px;
  --header-h-scrolled: 120px;
}

*{ box-sizing:border-box; }

html, body{
  margin:0;
  padding:0;
  width:100%;
  overflow-x:hidden; /* global safety */
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ color:inherit; text-decoration:none; }

.serif{
  font-family:'Cormorant Garamond', serif;
}

/* Optional: WP skip link if you use it */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* =====================
   HEADER / NAV (CRISP BLUR)
===================== */
.site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  height:var(--header-h);
  background:transparent;
  transition:height 220ms ease;
}

/* blur/background lives on a layer behind content */
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(5,5,5,0);
  backdrop-filter:none;
  transition:background 220ms ease, backdrop-filter 220ms ease;
  z-index:0;
  pointer-events:none;
}

.site-header.is-scrolled{
  height:var(--header-h-scrolled);
}

.site-header.is-scrolled::before{
  background:rgba(5,5,5,0.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}

/* NAV ROW */
.nav-inner{
  position:relative;
  z-index:1;
  max-width:1400px;
  height:100%;
  margin:0 auto;
  padding:10px 40px;
  display:flex;
  align-items:center;
  gap:32px;
}

/* LOGO */
.logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
}

.logo a{
  display:flex;
  align-items:center;
}

/* Bigger logo, never cropped */
.logo-img{
  max-height: calc(var(--header-h) - 40px);
  height: auto;
  width: auto;
  object-fit: contain;
}

.site-header.is-scrolled .logo-img{
  max-height: calc(var(--header-h-scrolled) - 24px);
}

/* HAMBURGER (hidden desktop) */
.nav-toggle{
  display:none;
  -webkit-appearance:none;
  appearance:none;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  padding:12px;
  cursor:pointer;
  line-height:0;
  -webkit-tap-highlight-color: transparent;
}
.nav-toggle .nav-toggle-bar{
  display:block;
  width:26px;
  height:2px;
  background:#fff;
  margin:6px 0;
  transition:transform 220ms ease, opacity 220ms ease;
}

/* NAV LINKS (desktop) */
.nav-links{
  flex:1;
  display:flex;
  align-items:center;
  gap:30px;

  font-family:'Cinzel', serif;
  font-size:13px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  white-space:nowrap;

  text-shadow:0 1px 6px rgba(0,0,0,0.55);
}

/* CTA stays FAR RIGHT always */
.nav-links .btn-nav{
  margin-left:auto;
}

/* NAV CTA button */
.nav-links .btn-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:0.16em;
  font-weight:700;

  padding:14px 30px;
  border-radius:999px;

  background:#c9a66b;
  color:#000 !important;

  text-shadow:none !important;
  box-shadow:0 8px 22px rgba(176,141,87,0.35);

  transition:background-color 160ms ease, transform 120ms ease, box-shadow 160ms ease;
}

.nav-links .btn-nav:hover{
  background:#b89458;
  box-shadow:0 10px 26px rgba(176,141,87,0.45);
}

.nav-links .btn-nav:active{
  background:#9f7c46;
  transform:translateY(1px);
  box-shadow:0 4px 12px rgba(176,141,87,0.25);
}


/* =====================================================
   FIX: Allow clicks through transparent fixed header
===================================================== */

/* Let clicks pass through header container */
.site-header {
  pointer-events: none;
}

/* Re-enable clicks only on actual nav content */
.site-header .nav-inner,
.site-header .nav-inner * {
  pointer-events: auto;
}


/* =====================================================
   GLOBAL HERO SYSTEM (ALL PAGES)
===================================================== */

.hero{
  position:relative;
  min-height:92vh;                 /* unified height */
  padding-top:var(--header-h);     /* respects header */
  padding-bottom:64px;             /* breathing room */
  display:flex;
 align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}

/* Header shrink support */
.site-header.is-scrolled ~ #site-content .hero{
  padding-top:var(--header-h-scrolled);
}


.hero-bg{
  position:absolute;
  inset:0;
  background:center/cover no-repeat;
  transform:scale(1.06);
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    /* Horizontal vignette – VERY subtle */
    linear-gradient(
      to right,
      rgba(0,0,0,.28),
      rgba(0,0,0,.10) 35%,
      rgba(0,0,0,.10) 65%,
      rgba(0,0,0,.28)
    ),

    /* Vertical readability gradient */
    linear-gradient(
      to bottom,
      rgba(0,0,0,.55),   /* top: nav + moon */
      rgba(0,0,0,.35),   /* middle: text area */
      rgba(0,0,0,.65)    /* bottom: CTAs */
    );
}


.hero-inner{
  position:relative;
  z-index:2;
  max-width:980px;
  padding:0 20px;
}

.hero h1,
.hero .hero-h1{
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(44px,6.8vw,92px);
  line-height:1.03;
  margin:0 0 16px;
}

.hero-tagline{
  margin:14px 0 10px;
  font-family:'Cinzel', serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:#caa76f;
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
}

.hero-sub{
  font-family:'Cormorant Garamond', serif;
  font-size:22px;
  line-height:1.55;
  opacity:.88;
  margin:10px auto 28px;
  max-width:820px;
}

/* Buttons */
.hero-cta{
  display:flex;
  gap:18px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:22px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:16px 36px;
  border-radius:999px;

  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:700;

  cursor:pointer;
  user-select:none;

  transition:background-color 160ms ease, transform 120ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.btn-gold{
  background:#c9a66b;
  color:#000 !important;
  box-shadow:0 10px 28px rgba(176,141,87,0.35);
}
.btn-gold:hover{ background:#b89458; }
.btn-gold:active{ background:#9f7c46; transform:translateY(1px); }

.btn-outline{
  border:1px solid rgba(255,255,255,0.55);
  background:transparent;
  color:var(--text);
}
.btn-outline:hover{
  border-color:#c9a66b;
  color:#c9a66b;
}

.hero-home-eyebrow{
  color: var(--gold);
}

@media (max-width:768px){
  .hero{
    min-height:88svh;
    padding-top:var(--header-h);
    padding-bottom:32px;
  }
}

/* =====================
   TRUST STRIP
===================== */
.trust-strip{
  background:transparent;
  margin-top:0px;
  position:relative;
  z-index:5;
}

.trust-strip .container{
  max-width:1200px;
  margin:0 auto;
  padding:18px 20px;

  display:flex;
  gap:32px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;

  background:transparent;
  border:none;
  border-radius:999px;
  backdrop-filter:none;
}

.trust-item{
  display:flex;
  align-items:center;
  gap:12px;

  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;

  color:rgba(255,255,255,0.9);
}

.trust-icon{
  width:18px;
  height:18px;
  opacity:0.9;
  flex:0 0 auto;
}

/* =====================
   MOBILE (NAV + HERO) — FINAL & STABLE
===================== */
@media (max-width: 980px){

  :root{
    --header-h: 84px;
    --header-h-scrolled: 72px;
  }

  /* ✅ ONLY ADDITION */
  .site-header{
    height:var(--header-h);
  }

  /* LOGO HIDDEN ON MOBILE */
  .logo{ display:none; }

  /* HEADER LAYOUT */
  .nav-inner{
    padding:14px 16px;
    justify-content:center;
  }

  /* HAMBURGER */
  .nav-toggle{
    display:block;
    position:relative;
    z-index:1200;
  }

  /* MOBILE NAV */
  .nav-links{
    position:absolute;
    top:100%;
    left:0;
    right:0;

    background:rgba(5,5,5,0.98);
    backdrop-filter: blur(10px);

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:22px;

    padding:32px 20px 36px;

    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);

    transition:opacity 200ms ease, transform 220ms ease;
    z-index:1000;
  }

  body.nav-open .nav-links{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .nav-links .btn-nav{
    display:none;
  }

  body.nav-open .nav-toggle .nav-toggle-bar:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  body.nav-open .nav-toggle .nav-toggle-bar:nth-child(2){
    opacity:0;
  }
  body.nav-open .nav-toggle .nav-toggle-bar:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .hero{
    min-height:100svh;
    padding-top:var(--header-h);
    padding-bottom:26px;
  }

  .hero-bg{ transform:none; }

  .hero-inner{
    padding:0 16px;
  }

  .hero h1,
  .hero .hero-h1{
    font-size:clamp(34px, 9vw, 48px);
    margin-bottom:12px;
  }

  .hero-tagline{
    font-size:14px;
    letter-spacing:0.28em;
  }

  .hero-sub{
    font-size:18px;
    margin-bottom:22px;
  }

  .hero-cta{
    gap:14px;
  }

  .btn{
    width:min(92vw, 360px);
  }

  .trust-strip .container{
    border-radius:22px;
    padding:14px;
    gap:16px;
  }
}

/* =====================
   NAV CTA — SCROLLED STATE
   (Red button, no shadow)
===================== */

.site-header.is-scrolled .nav-links .btn-nav{
  background:#e63946;           /* brand red */
  color:#ffffff !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* Hover state (slightly darker red, still flat) */
.site-header.is-scrolled .nav-links .btn-nav:hover{
  background:#cf2f3c;
}

/* =====================
   NAV TEXT — SCROLLED STATE
   (Pure white, crisp)
===================== */

.site-header.is-scrolled .nav-links a{
  color:#ffffff;
  text-shadow:none;
}

/* Optional: subtle gold hover */
.site-header.is-scrolled .nav-links a:hover{
  color:#c9a66b;
}


/* =====================================================
   HOME HERO — SAVANNAH-STYLE (ISOLATED)
===================================================== */


/* Background */
.hero-home-sell .hero-bg{
  position:absolute;
  inset:0;
  background:url('/wp-content/themes/raleigh-haunts-theme/assets/raleigh-night.png')
    center/cover no-repeat;
  z-index:1;
}


/* Content */
.hero-home-content{
  position:relative;
  z-index:5;
  max-width:980px;
  padding:0 24px;
  text-align:center;
  color:#fff;
}

/* Title */
.hero-home-title{
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(50px, 6vw, 88px);
  line-height:1.05;
  margin:0 0 18px;
  text-shadow:0 6px 18px rgba(0,0,0,.65);
}

/* Eyebrow */
.hero-home-eyebrow{
  margin:12px 0 24px;
  font-family:'Cinzel', serif;
  font-size:16px;
  letter-spacing:.32em;
  text-transform:uppercase;
}

/* Sub */
.hero-home-sub{
  font-family:'Cormorant Garamond', serif;
  font-size:22px;
  line-height:1.55;
  opacity:.88;
  max-width:820px;
  margin:0 auto 32px;
}

/* CTA Row */
.hero-home-cta-row{
  display:flex;
  gap:20px;
  justify-content:center;
  margin-bottom:28px;
}

.hero-home-sell{
  /* home-specific visuals ONLY */
}



/* =====================
   SHARED CONTAINER (UNCHANGED)
===================== */
.container{
  max-width:1200px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

/* =====================
   SECTION SPACING (DESKTOP)
===================== */

/* Tours section */
.tours-section{
  background:#f7f1e6;
  color:#111;
  padding-top:96px;
  padding-bottom:48px;
}


/* Tour credibility */
.tour-credibility{
  position:relative;
  background:#f7f1e6;
  color:#111;
  padding-top:48px;
  padding-bottom:48px;
}

/* Haunted locations */
.haunted-locations{
  background:#f7f1e6;
  color:#111;
  padding-top:48px;
  padding-bottom:96px;
}


/* =====================
   SECTION SPACING (mobile)
===================== */

@media (max-width: 768px){

  .container{
    padding-left:16px;
    padding-right:16px;
  }

  .tours-section{
    padding-top:64px;
    padding-bottom:32px;
  }

  .tour-credibility{
    padding-top:32px;
    padding-bottom:32px;
  }

  .haunted-locations{
    padding-top:32px;
    padding-bottom:32px;
  }
}


/* =====================
   SECTION HEADER (UNCHANGED STRUCTURE, UNIFIED COLORS)
===================== */
.section-header{
  text-align:center;
  width:auto;
  margin:0 auto 32px;
}

.section-title{
  text-align:center;
  font-family:'Cormorant Garamond', serif;
  font-size:42px;
  line-height:1.15;
  margin-bottom:24px;
  color:#1f1b15;
}


.section-desc{
  font-size:18px;
  line-height:1.6;
  color:#555;
  margin:0;
}

.section-eyebrow{
  display:block;
  margin-bottom:14px;
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#777;
}

/* =====================
   CARD BUTTON (UNCHANGED)
===================== */
.btn-card-outline{
  border:1px solid #c9a66b;
  background:transparent;
  color:#7a5a2b;
  box-shadow:none;
}

.btn-card-outline:hover{
  background:#c9a66b;
  color:#000;
}

/* =====================
   RED TICKET BUTTON (SCOPED)
===================== */
.btn-ticket{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:16px 36px;
  border-radius:999px;

  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:700;

  background:#e63946;
  color:#fff !important;

  box-shadow:0 10px 28px rgba(230,57,70,.35);
  transition:background-color 160ms ease, transform 120ms ease, box-shadow 160ms ease;
}

.btn-ticket:hover{
  background:#cf2f3c;
  box-shadow:0 14px 34px rgba(230,57,70,.45);
}

.btn-ticket:active{
  background:#b72833;
  transform:translateY(1px);
}


/* =====================
   TOUR IMAGE & PILLS (UNCHANGED)
===================== */
.tour-image-wrap{ position:relative; }

.tour-image{
  width:100%;
  height:240px;
  object-fit:cover;
}

.tour-price-pill{
  position:absolute;
  top:14px;
  right:14px;
  padding:10px 16px;
  border-radius:999px;
  background:#ffffff;
  color:#2a2216;
  font-size:15px;
  font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}

.tour-age-pill{
  position:absolute;
  bottom:14px;
  left:14px;
  padding:8px 14px;
  border-radius:999px;
  background:#e63946;
  color:#fff;
  font-size:13px;
  font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}

/* =====================
   TOURS GRID (UNCHANGED)
===================== */
.tours-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:40px;
}

@media (max-width: 900px){
  .tours-grid{
    grid-template-columns:1fr;
  }
}

/* =====================
   TOUR CARD (UNCHANGED)
===================== */
.tour-card{
  background:#f8f8f8;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  height:100%;
}

.tour-card > div:last-child{
  padding:32px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.tour-card .btn-row{
  margin-top:auto;
}

/* =====================
   TOUR META & RATING (UNCHANGED)
===================== */
.tour-meta{
  display:flex;
  gap:24px;
  margin:18px 0 8px;
  font-size:14px;
  color:#555;
}

.tour-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.tour-meta img{
  width:18px;
  height:18px;
  opacity:.7;
}

.tour-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 0 12px;
  font-size:14px;
  color:#444;
}

.tour-rating .stars{
  color:#f4b400;
  letter-spacing:2px;
  font-size:15px;
  line-height:1;
}

.tour-rating small{
  color:#777;
  font-size:13px;
}

/* =====================
   TOUR CREDIBILITY 
===================== */

.credibility-title{
  text-align:center;
  font-family:'Cormorant Garamond', serif;
  font-size:42px;
  color:#1f1b15;
}

/* =====================
   HOME — CREDIBILITY CARDS
   (Independent from tour)
===================== */

.home-credibility-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:32px;
}

.home-credibility-card{
  background:#ffffff;
  border-radius:22px;
  padding:36px 32px;
  text-align:center;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.home-credibility-card img{
  width:42px;
  height:42px;
  margin-bottom:18px;
}

.home-credibility-card h3{
  font-family:'Cinzel', serif;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#1f1b15;
  margin-bottom:14px;
}

.home-credibility-card p{
  font-size:16px;
  line-height:1.6;
  color:#555;
}

/* =====================================================
   HOME PAGE — CARD SHADOW NORMALIZATION
   (Prevents double-shadow visual stacking)
===================================================== */

/* All HOME cards use ONE unified shadow */
.home-credibility-card,
.home-booking-includes,
.home-booking-primary,
.hub-card{
  box-shadow:0 14px 32px rgba(0,0,0,.07);
}

/* Reduce perceived stacking when cards touch vertically */
.home-booking-grid > *,
.home-credibility-grid > *{
  position:relative;
  z-index:1;
}


/* =====================
   HAUNTED LOCATIONS SLIDER (UNCHANGED)
===================== */

.haunted-locations .container{
  padding-left:0;
  padding-right:0;
}

.haunted-locations .section-header,
.haunted-locations .locations-footer{
  padding-left:20px;
  padding-right:20px;
}

.haunted-slider{
  display:flex;
  gap:28px;
  overflow-x:auto;
  padding-bottom:12px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

.haunted-slider::-webkit-scrollbar{
  display:none;
}

.haunted-card{
  flex:0 0 320px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  scroll-snap-align:start;
}

.haunted-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.haunted-title{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:18px 20px;
  background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0));
  color:#fff;
  font-family:'Cormorant Garamond', serif;
  font-size:22px;
}

.slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:none;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:26px;
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:5;
}

.slider-prev{ left:-22px; }
.slider-next{ right:-22px; }

@media (min-width: 1024px){
  .slider-arrow{ display:flex; }
}

.locations-footer{
  text-align:center;
  margin-top:48px;
}

.locations-link{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.locations-link:hover{
  color:#000;
}

.locations-slider-wrap{
  position:relative;
  overflow:visible;
  background:transparent;
}

/* =====================================================
   HOME PAGE — BOOKING OPTIONS (ISOLATED)
===================================================== */

.home-booking-options{
  background:#f7f1e6;
  padding-top:0;
  padding-bottom:96px;
}

@media (max-width:768px){
  .home-booking-options{
    padding-bottom:56px;
  }
}

.home-booking-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:48px;
  margin-top:48px;
}

@media (max-width:900px){
  .home-booking-grid{
    grid-template-columns:1fr;
  }
}

/* LEFT CARD */
.home-booking-includes{
  background:#ffffff;
  border-radius:22px;
  padding:42px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.home-booking-includes h3{
  font-family:'Cormorant Garamond', serif;
  font-size:34px;
  margin-bottom:28px;
  color:#1f1b15;
}

.home-includes-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.home-includes-list li{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.home-includes-list img{
  width:28px;
  height:28px;
  opacity:.85;
}

.home-includes-list strong{
  display:block;
  font-size:16px;
  color:#1f1b15;
  margin-bottom:4px;
}

.home-includes-list span{
  font-size:15px;
  color:#555;
}

/* RIGHT CARD (RED CTA) */
.home-booking-primary{
  position:relative;
  background:#e63946;
  color:#fff;
  border-radius:22px;
  padding:48px 42px;
  box-shadow:0 24px 48px rgba(230,57,70,.35);
}

.home-booking-badge{
  position:absolute;
  top:22px;
  right:22px;
  background:rgba(255,255,255,.18);
  padding:6px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-booking-primary h3{
  font-family:'Cormorant Garamond', serif;
  font-size:36px;
  margin-bottom:22px;
}

.home-booking-benefits{
  list-style:none;
  padding:0;
  margin:0 0 28px;
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:16px;
}

.home-booking-primary .btn{
  width:100%;
  background:#ffffff;
  color:#e63946 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}

.home-booking-primary .btn:hover{
  background:#f8f8f8;
}

.home-booking-note{
  display:block;
  text-align:center;
  margin-top:12px;
  font-size:13px;
  opacity:.85;
}

/* PHONE BOOKING */
.home-booking-phone{
  margin-top:18px;
  text-align:center;
  font-size:14px;
  opacity:.9;
}

.home-booking-phone span{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.85);
}

.home-booking-phone a{
  font-family:'Cinzel', serif;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:underline;
}

.home-booking-phone a:hover{
  opacity:1;
}




/* =====================
   SECTION DIVIDER (FIXED BAND)
===================== */
.section-divider{
  position:relative;
  height:156px;                 /* controls spacing – THIS is the key */
  background:#f7f1e6;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  pointer-events:none;
}

.section-divider img{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:70%;
  max-width:560px;
  height:auto;
  margin:0;
  opacity:0.95;
}

/* =====================================================
   HAUNTED LOCATION PAGES — VISUAL NORMALIZATION
   (SAFE, SCOPED, NO HOME PAGE IMPACT)
===================================================== */

/* Location hero can breathe more horizontally */
.hero-location .hero-inner{
  max-width:1200px;
}


/* ---------- HERO OVERLAY (LESS DARK) ---------- */
.hero-location .hero-overlay{
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.35),
    rgba(0,0,0,0.75)
  );
}

/* ---------- BASE CONTENT AREA ---------- */
.haunted-location-content{
  background:#f7f1e6; /* same as home sections */
  color:#111;
  padding:96px 0;
}

.haunted-location-content .container{
  max-width:1200px;
}


@media (max-width: 768px){
  .haunted-location-content{
    padding:48px 0;
  }
}

/* ---------- ARTICLE LAYOUT (MATCH HOME SECTIONS) ---------- */
.location-article{
  max-width:100%;
  margin:0;
}

/* =====================
   ARTICLE TYPOGRAPHY 
===================== */

/* Headings no longer control vertical rhythm */
.location-article h2{
  font-family:'Cormorant Garamond', serif;
  font-size:42px;
  line-height:1.15;
  color:#1f1b15;
  margin:0; /* IMPORTANT: divider controls spacing */
}

/* Body text spacing is internal only */
.location-article p,
.location-article li{
  font-family:'Inter', sans-serif;
  font-size:17px;
  line-height:1.65;
  color:#555;
  margin:0;
}

/* Paragraph-to-paragraph rhythm only */
.location-article p + p{
  margin-top:18px;
}

/* Lists feel lighter */
.location-article ul{
  margin:18px 0 32px 20px;
}


/* ---------- MAP SECTION ---------- */
.haunted-location-map{
  max-width:820px;
  margin:72px auto 0;
  padding-top:48px;
  border-top:1px solid rgba(0,0,0,0.15);
}

.haunted-location-map h2{
  font-family:'Cormorant Garamond', serif;
  font-size:32px;
  margin-bottom:16px;
  color:#1f1b15;
}

.haunted-location-map p{
  font-size:17px;
  color:#333;
  margin-bottom:20px;
}

/* ---------- MAP EMBED ---------- */
.map-embed{
  width:100%;
  overflow:hidden;
  border-radius:12px;
}

.map-embed iframe{
  width:100%;
  height:420px;
  border:0;
  border-radius:12px;
}

/* ---------- RELATED LOCATIONS ---------- */
.related-haunted-locations{
  max-width:820px;
  margin:72px auto 0;
  padding-top:48px;
  border-top:1px solid rgba(0,0,0,0.15);
}

.related-haunted-locations h2{
  font-family:'Cormorant Garamond', serif;
  font-size:32px;
  margin-bottom:24px;
  color:#1f1b15;
}

.related-haunted-locations ul{
  list-style:none;
  padding:0;
  margin:0;
}

.related-haunted-locations li{
  margin-bottom:12px;
}

.related-haunted-locations a{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.related-haunted-locations a:hover{
  color:#000;
}

/* =====================
   ARTICLE LEAD DECOR
===================== */

.article-lead{
  float:left;
  width:600px;
  margin:0 32px 18px 0;
}

.article-lead-logo{
  width:100%;
  height:auto;
  display:block;
  opacity:.95;
}

/* First paragraph wraps nicely */
.location-article > p:first-of-type{
  margin-top:0;
}

/* Clear float after first paragraph */
.location-article > p:nth-of-type(2){
  clear:both;
}

/* Mobile — stack cleanly */
@media (max-width: 768px){
  .article-lead{
    float:none;
    width:140px;
    margin:0 auto 24px;
    text-align:center;
  }
}

/* =====================
   ARTICLE SECTION DIVIDER
   (FIXED BAND — SAME MODEL AS HOME)
===================== */

.location-article .article-divider{
  position:relative;
  height:200px;                 /* controls ALL vertical spacing */
  background:#f7f1e6;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  pointer-events:none;
  margin:0;
}

.location-article .article-divider img{
  width:50%;
  max-width:420px;
  height:auto;
  opacity:.85;
  display:block;
}


/* =====================
   HEADING POSITIONING
===================== */

/* First H2 (no divider before it) */
.location-article h2:first-of-type{
  margin-top:72px;
  margin-bottom:20px;
}

/* H2 after divider — divider already provided space */
.location-article .article-divider + h2{
  margin-bottom:20px;
}


/* =====================
   MOBILE ADJUSTMENTS
===================== */

@media (max-width: 768px){

  .location-article .article-divider{
    height:64px;
  }

  .location-article .article-divider img{
    width:70%;
    max-width:300px;
  }

  .location-article h2:first-of-type{
    margin-top:48px;
  }
}


/* =====================
   HAUNTED LOCATIONS HUB
   (matches home page look)
===================== */

.hero-locations-hub .hero-bg{
  position:absolute;
  inset:0;
  background:
    url('/wp-content/themes/raleigh-haunts-theme/assets/raleigh-night.png')
    center / cover no-repeat;
}


.haunted-locations-hub .section-desc{
  max-width: 980px;
  margin-left:auto;
  margin-right:auto;
}

.hub-locations{
  padding-top: 12px;
  padding-bottom: 12px;
}

.hub-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}

@media (max-width: 980px){
  .hub-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .hub-grid{
    grid-template-columns:1fr;
  }
}

.hub-card{
  background:#f8f8f8;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.hub-card-link{
  display:block;
}

.hub-card-media{
  position:relative;
  width:100%;
  height:220px;
  overflow:hidden;
}

.hub-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hub-card-media-fallback{
  width:100%;
  height:100%;
  background: linear-gradient(135deg, rgba(0,0,0,.25), rgba(0,0,0,0));
}

.hub-card-body{
  padding:26px;
}

.hub-card-title{
  font-family:'Cormorant Garamond', serif;
  font-size:26px;
  line-height:1.15;
  color:#1f1b15;
  margin:0 0 10px;
}

.hub-card-meta{
  font-family:'Cinzel', serif;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
  margin:0 0 12px;
  opacity:.85;
}

.hub-card-excerpt{
  font-size:16px;
  line-height:1.6;
  color:#555;
  margin:0 0 16px;
}

.hub-card-cta{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.hub-cta{
  margin-top: 64px;
  padding: 48px 32px;
  border-radius: 22px;
  background: rgba(255,255,255,0.65);
  box-shadow:0 20px 40px rgba(0,0,0,.06);
  text-align:center;
}

.hub-cta h2{
  font-family:'Cormorant Garamond', serif;
  font-size:40px;
  color:#1f1b15;
  margin:0 0 14px;
}

.hub-cta p{
  font-size:18px;
  color:#555;
  margin:0 auto 22px;
  max-width: 820px;
}

.hub-cta-buttons{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}

.hub-seo-links{
  margin-top: 56px;
  padding-top: 36px;
  border-top: 1px solid rgba(0,0,0,0.12);
  max-width: 980px;
  margin-left:auto;
  margin-right:auto;
}

.hub-seo-links h2{
  font-family:'Cormorant Garamond', serif;
  font-size:30px;
  color:#1f1b15;
  margin:0 0 14px;
}

.hub-seo-links ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}

.hub-seo-links a{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.hub-seo-links a:hover{
  color:#000;
}

/* =====================
   LIGHT SECTION OUTLINE BUTTON
===================== */
.btn-outline-light{
  border:1px solid #c9a66b;
  background:transparent;
  color:#7a5a2b;
  box-shadow:none;
}

.btn-outline-light:hover{
  background:#c9a66b;
  color:#000;
}

/* =====================================================
   SINGLE TOUR PAGE
===================================================== */


/* =====================================================
   HERO — SAVANNAH-STYLE SELLING HERO
===================================================== */

.hero-tour{
  /* tour-specific visuals only */
}

/* BACKGROUND IMAGE */

.hero-tour .hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  z-index:1;
}



/* CONTENT WRAPPER */
.hero-content{
  position:relative;
  z-index:5;
  max-width:980px;
  padding:0 24px;
  text-align:center;
  color:#fff;
}

/* =====================
   RATING PILL
===================== */

.hero-rating-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 22px;
  margin-bottom:22px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(8px);
  font-family:'Cinzel', serif;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#fff;
}

/* =====================
   TITLE
===================== */

.hero-title{
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(50px, 6vw, 88px);
  line-height:1.05;
  margin:0 0 18px;
  text-shadow:0 6px 18px rgba(0,0,0,.65);
}

/* =====================
   EYEBROW / SUBTITLE
===================== */

.hero-eyebrow{
  margin:12px 0 32px;
  font-family:'Cinzel', serif;
  font-size:16px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
}

/* =====================
   INFO BAR (SINGLE LINE)
===================== */

.hero-info-bar{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:34px;
  flex-wrap:wrap;
  margin-bottom:38px;
}

.hero-info-item{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  color:rgba(255,255,255,.9);
  white-space:nowrap;
}

.hero-info-item img{
  width:18px;
  height:18px;
  opacity:.9;
}

/* =====================
   CTA ROW
===================== */

.hero-cta-row{
  display:flex;
  gap:20px;
  justify-content:center;
  margin-bottom:28px;
}

.btn-lg{
  padding:16px 32px;
  font-size:15px;
}

/* PRICE BADGE ATTACHED */
.btn-price-wrap{
  position:relative;
}

.price-pill{
  position:absolute;
  top:-14px;
  right:-14px;
  background:#e63946;
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:6px 10px;
  border-radius:999px;
  letter-spacing:.06em;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}

/* =====================
   TRUST ROW
===================== */

.hero-trust{
  display:flex;
  gap:26px;
  justify-content:center;
  font-size:13px;
  color:rgba(255,255,255,.65);
}


/* =====================================================
   SINGLE TOUR — UNIFIED SECTION SPACING
   (Top-only padding, no stacking)
===================================================== */

/* Unified spacing for content sections only (NOT hero) */
.single-tour section:not(.hero-tour){
  padding-top:72px;
  padding-bottom:0;
}

@media (max-width:768px){
  .single-tour section:not(.hero-tour){
    padding-top:48px;
    padding-bottom:0;
  }
}



/* Allow final section to breathe before footer */
.single-tour section.tour-booking-options{
  padding-bottom:96px;
}

@media (max-width:768px){
  .single-tour section.tour-booking-options{
    padding-bottom:56px;
  }
}


/* =====================================================
   TOUR OVERVIEW (SINGLE TOUR PAGE)
===================================================== */

.tour-overview{
  background:#f7f1e6;
  color:#111;
  padding:0;
}

@media (max-width: 768px){
  .tour-overview{
    padding:0;
  }
}

/* ---------- GRID ---------- */
.overview-grid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:64px;
  align-items:start;
}

@media (max-width: 980px){
  .overview-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}

/* ---------- LEFT CARD ---------- */
.overview-card{
  background:#ffffff;
  border-radius:22px;
  padding:48px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

@media (max-width: 768px){
  .overview-card{
    padding:32px;
  }
}

.overview-card h2{
  font-family:'Cormorant Garamond', serif;
  font-size:42px;
  line-height:1.15;
  margin:0 0 18px;
  color:#1f1b15;
}

.overview-card p{
  font-size:17px;
  line-height:1.65;
  color:#555;
  margin:0 0 18px;
}

.overview-card p:last-of-type{
  margin-bottom:28px;
}

.overview-cta{
  margin-top:12px;
}

/* ---------- RIGHT FACTS ---------- */
.overview-facts{
  background: rgba(255,255,255,0.65);
  border-radius:22px;
  padding:40px;
  box-shadow:0 20px 40px rgba(0,0,0,.06);
}

@media (max-width: 768px){
  .overview-facts{
    padding:28px;
  }
}

.fact-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,0.12);
  font-size:15px;
}

.fact-item strong{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
  white-space:nowrap;
}

.fact-item span{
  color:#333;
  text-align:right;
}

.fact-item:last-of-type{
  border-bottom:none;
}

/* Highlight price */
.fact-price span{
  font-size:18px;
  font-weight:700;
  color:#000;
}

/* Callout */
.fact-callout{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid rgba(0,0,0,0.15);
  font-size:14px;
  color:#555;
  text-align:center;
}

/* =====================================================
   OVERVIEW FACTS — ICON STYLE
===================================================== */

.overview-facts-icons{
  background:#ffffff;
  border-radius:22px;
  padding:42px;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.icon-item{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid rgba(0,0,0,0.08);
}

.icon-item:last-of-type{
  border-bottom:none;
}

.icon-item img{
  width:26px;
  height:26px;
  opacity:.85;
  margin-top:2px;
}

.icon-item strong{
  display:block;
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
  margin-bottom:6px;
}

.icon-item span{
  font-size:15px;
  color:#333;
  line-height:1.4;
}

/* Callout refinement */
.overview-facts-icons .fact-callout{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(0,0,0,0.12);
  font-size:14px;
  color:#666;
  text-align:center;
}


/* =====================================================
   OVERVIEW PILLS
===================================================== */

.overview-pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:18px 0 26px;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:#f2efe9;
  font-size:14px;
  color:#333;
}

.pill img{
  width:16px;
  height:16px;
  opacity:.8;
}

/* =====================================================
   OVERVIEW PRICE MINI
===================================================== */

.overview-price-mini{
  display:flex;
  gap:24px;
  align-items:center;
  margin:8px 0 26px;
  flex-wrap:wrap;
}

.price-left{
  display:flex;
  flex-direction:column;
}

.price-eyebrow{
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7a7a7a;
  margin-bottom:4px;
}

.price-amount{
  font-size:20px;
  font-weight:700;
  line-height:1;
  color:#111;
}

.price-sub{
  font-size:14px;
  color:#777;
}


/* Mobile */
@media (max-width:768px){
  .overview-price-mini{
    gap:16px;
  }
}


/* =====================================================
   TICKET CTA BOX (RED – HERO MATCH)
===================================================== */

.ticket-cta-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  background:#e63946; /* same red as hero pill */
  color:#fff;
  border-radius:18px;
  padding:22px 26px;
  margin:26px 0 22px;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}

.ticket-cta-box:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(0,0,0,.22);
}

.ticket-cta-left{
  display:flex;
  align-items:center;
  gap:14px;
}

.ticket-cta-left img{
  width:26px;
  height:26px;
  filter:brightness(0) invert(1);
}

.ticket-cta-left strong{
  display:block;
  font-family:'Cinzel', serif;
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ticket-cta-left span{
  font-size:13px;
  opacity:.9;
}

.ticket-cta-right{
  text-align:right;
}

.ticket-cta-price{
  font-size:22px;
  font-weight:700;
  line-height:1;
}

/* Mobile */
@media (max-width:768px){
  .ticket-cta-box{
    flex-direction:column;
    text-align:center;
  }

  .ticket-cta-right{
    text-align:center;
  }
}

/* =====================================================
   ICON FACT ALIGNMENT FIX
===================================================== */

.icon-item{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.icon-item div{
  display:flex;
  flex-direction:column;
}


/* =====================
   FEATURED LOCATION
===================== */

.featured-location{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:48px;
  background:#ffffff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

@media (max-width: 900px){
  .featured-location{
    grid-template-columns:1fr;
  }
}

.featured-image{
  position:relative;
}

.featured-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.featured-pill{
  position:absolute;
  top:18px;
  left:18px;
  background:#e63946;
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.featured-content{
  padding:48px;
}

.featured-meta{
  display:block;
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
  margin-bottom:12px;
}

.featured-content h3{
  font-family:'Cormorant Garamond', serif;
  font-size:36px;
  margin-bottom:16px;
}

.featured-link{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.locations-footer{
  text-align:center;
  margin-top:48px;
}

.locations-disclaimer{
  font-size:14px;
  color:#666;
  max-width:720px;
  margin:0 auto 16px;
}

.locations-link{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.locations-link:hover{
  color:#000;
}

/* =====================
   TOUR CREDIBILITY
===================== */

.tour-credibility{
  background:#f7f1e6;
  color:#111;
  padding:0;
}

.tour-rating-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin-bottom:48px;
  font-size:15px;
  color:#555;
}

.tour-rating-row .stars{
  color:#f4b400;
  letter-spacing:3px;
  font-size:18px;
}

/* CTA BAND */
.credibility-cta{
  margin-top:64px;
  padding:32px 40px;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 20px 40px rgba(0,0,0,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.credibility-cta .cta-text{
  display:flex;
  flex-direction:column;
}

.credibility-cta strong{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  color:#1f1b15;
}

.credibility-cta span{
  font-size:16px;
  color:#555;
}

/* Mobile */
@media (max-width:768px){
  .tour-credibility{
    padding:0;
  }

  .credibility-cta{
    flex-direction:column;
    text-align:center;
  }
}

/* =====================
   TOUR CREDIBILITY CARDS
===================== */

.credibility-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:32px;
}

.credibility-card{
  background:#ffffff;
  border-radius:22px;
  padding:36px 32px;
  text-align:center;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.credibility-card img{
  width:42px;
  height:42px;
  margin-bottom:18px;
}

.credibility-card h3{
  font-family:'Cinzel', serif;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#1f1b15;
  opacity:.9;
  margin-bottom:14px;
}

.credibility-card p{
  font-size:16px;
  line-height:1.6;
  color:#555;
}

/* =====================
   LOCATIONS CTA (WHITE STRIP + RED BUTTON)
===================== */

.locations-cta{
  margin:64px auto 0;
  padding:32px 40px;
  max-width:1200px;

  background:#ffffff;
  border-radius:22px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.locations-cta .cta-text{
  display:flex;
  flex-direction:column;
  max-width:720px;
}

.locations-cta strong{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  color:#1f1b15;
}

.locations-cta span{
  font-size:15px;
  line-height:1.6;
  color:#555;
}

/* Mobile */
@media (max-width:768px){
  .locations-cta{
    flex-direction:column;
    text-align:center;
    padding:28px;
  }
}

/* Remove shadow when red button is inside white cards / bands */
.credibility-cta .btn-ticket,
.locations-cta .btn-ticket,
.faq-cta .btn-ticket,
.trust-guarantee-strip .btn-ticket,
.map-cta .btn-ticket{
  box-shadow:none;
}



/* =====================
   FAQ SECTION (MATCHES CREDIBILITY)
===================== */

.tour-faq{
  background:#f7f1e6;
  color:#111;
  padding:0;
}

@media (max-width:768px){
  .tour-faq{
    padding:0;
  }
}

/* ---------- GRID ---------- */
.faq-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:32px;
}

/* ---------- FAQ CARD ---------- */
.faq-card{
  background:#ffffff;
  border-radius:22px;
  padding:36px 32px;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.faq-card h3{
  font-family:'Cinzel', serif;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#1f1b15;
  margin-bottom:14px;
}

.faq-card p{
  font-size:16px;
  line-height:1.6;
  color:#555;
  margin:0;
}

/* ---------- FAQ CTA (MATCH CREDIBILITY CTA) ---------- */
.faq-cta{
  margin-top:64px;
  padding:32px 40px;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 20px 40px rgba(0,0,0,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.faq-cta .cta-text{
  display:flex;
  flex-direction:column;
}

.faq-cta strong{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  color:#1f1b15;
}

.faq-cta span{
  font-size:16px;
  color:#555;
}

/* Mobile */
@media (max-width:768px){
  .faq-cta{
    flex-direction:column;
    text-align:center;
  }
}

/* =====================================================
   TOUR MAP SECTION (SAVANNAH-STYLE)
===================================================== */

.tour-map-section{
  background:#f7f1e6;
  padding:0;
}

@media (max-width:768px){
  .tour-map-section{
    padding:0;
  }
}

/* GRID */
.map-grid{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap:48px;
  margin-top:40px;
}

@media (max-width:980px){
  .map-grid{
    grid-template-columns:1fr;
  }
}

/* LEFT CARD */
.map-info-card{
  background:#ffffff;
  border-radius:22px;
  padding:40px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.map-info-header{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}

.map-info-header img{
  width:28px;
  height:28px;
}

.map-info-header h3{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  margin:0;
  color:#1f1b15;
}

.map-address{
  font-size:17px;
  color:#333;
  margin-bottom:18px;
}

.map-info-box{
  margin-top:22px;
  padding:18px 20px;
  border-radius:14px;
  background:#f2efe9;
  font-size:15px;
  color:#555;
}

.map-info-box strong{
  display:block;
  margin-bottom:6px;
  color:#1f1b15;
}

/* MAP */
.map-embed-wrap{
  background:#ffffff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.map-embed-wrap iframe{
  width:100%;
  height:420px;
  border:0;
}

@media (max-width:768px){
  .map-embed-wrap iframe{
    height:320px;
  }
}

/* CTA STRIP */
.map-cta{
  margin-top:64px;
  padding:36px 42px;
  background:#ffffff;
  border-radius:22px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.map-cta .cta-text{
  display:flex;
  flex-direction:column;
}

.map-cta strong{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  color:#1f1b15;
}

.map-cta span{
  font-size:16px;
  color:#555;
}

@media (max-width:768px){
  .map-cta{
    flex-direction:column;
    text-align:center;
  }
}

/* ---------- MAP DIRECTIONS LINK ---------- */

.map-directions-link{
  display:inline-block;
  margin-top:12px;
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a5a2b;
}

.map-directions-link:hover{
  color:#000;
}

/* =====================================================
   BOOKING OPTIONS
===================================================== */

.tour-booking-options{
  background:#f7f1e6;
  padding-top:0;
  padding-bottom:96px;
}

@media (max-width:768px){
  .tour-booking-options{
    padding-bottom:56px;
  }
}


.booking-grid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:48px;
  margin-top:48px;
}

@media (max-width: 900px){
  .booking-grid{
    grid-template-columns:1fr;
  }
}

/* LEFT CARD */
.booking-includes{
  background:#ffffff;
  border-radius:22px;
  padding:42px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.booking-includes h3{
  font-family:'Cormorant Garamond', serif;
  font-size:34px;
  margin-bottom:28px;
  color:#1f1b15;
}

.includes-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.includes-list li{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.includes-list img{
  width:28px;
  height:28px;
  opacity:.85;
}

.includes-list strong{
  display:block;
  font-size:16px;
  color:#1f1b15;
  margin-bottom:4px;
}

.includes-list span{
  font-size:15px;
  color:#555;
}

/* RIGHT CARD (RED) */
.booking-primary{
  position:relative;
  background:#e63946;
  color:#fff;
  border-radius:22px;
  padding:48px 42px;
  box-shadow:0 24px 48px rgba(230,57,70,.35);
}

.booking-badge{
  position:absolute;
  top:22px;
  right:22px;
  background:rgba(255,255,255,.18);
  padding:6px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.booking-primary h3{
  font-family:'Cormorant Garamond', serif;
  font-size:36px;
  margin-bottom:22px;
}

.booking-benefits{
  list-style:none;
  padding:0;
  margin:0 0 28px;
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:16px;
}

.booking-primary .btn{
  width:100%;
  background:#ffffff;
  color:#e63946 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}

.booking-primary .btn:hover{
  background:#f8f8f8;
}

.booking-note{
  display:block;
  text-align:center;
  margin-top:12px;
  font-size:13px;
  opacity:.85;
}


/* Secondary phone booking */
.booking-phone{
  margin-top:18px;
  text-align:center;
  font-size:14px;
  opacity:.9;
}

.booking-phone span{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.85);
}

.booking-phone a{
  font-family:'Cinzel', serif;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:underline;
}

.booking-phone a:hover{
  opacity:1;
}

/* =====================================================
   HUB BOOKING OPTIONS
   (Reuses booking styles, scoped to hub)
===================================================== */

.hub-booking-options{
  background:#f7f1e6;
  padding-top:0;
  padding-bottom:96px;
}

@media (max-width:768px){
  .hub-booking-options{
    padding-bottom:56px;
  }
}

.hub-booking-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:48px;
  margin-top:48px;
}

@media (max-width:900px){
  .hub-booking-grid{
    grid-template-columns:1fr;
  }
}

/* LEFT CARD */
.hub-booking-includes{
  background:#ffffff;
  border-radius:22px;
  padding:42px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.hub-booking-includes h3{
  font-family:'Cormorant Garamond', serif;
  font-size:34px;
  margin-bottom:28px;
  color:#1f1b15;
}

/* reuse includes list styles */
.hub-booking-includes .includes-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}

/* RIGHT CARD (RED CTA) */
.hub-booking-primary{
  position:relative;
  background:#e63946;
  color:#fff;
  border-radius:22px;
  padding:48px 42px;
  box-shadow:0 24px 48px rgba(230,57,70,.35);
}

.hub-booking-primary h3{
  font-family:'Cormorant Garamond', serif;
  font-size:36px;
  margin-bottom:22px;
}

.hub-booking-primary .btn{
  width:100%;
  background:#ffffff;
  color:#e63946 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}

.hub-booking-primary .btn:hover{
  background:#f8f8f8;
}

/* Badge */
.hub-booking-primary .booking-badge{
  position:absolute;
  top:22px;
  right:22px;
  background:rgba(255,255,255,.18);
  padding:6px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}


/* =====================================================
   TOUR TRUST HIGHLIGHTS (NEW SYSTEM)
===================================================== */

.tour-trust-highlights{
  background:#f7f1e6;
  color:#111;
  padding:0;
}

/* SOCIAL PROOF */
.trust-social-proof{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin:18px 0 48px;
  font-size:14px;
  color:#555;
}

.trust-avatars{
  display:flex;
}

.trust-avatars span{
  width:26px;
  height:26px;
  border-radius:50%;
  background:#cfcfcf;
  margin-right:-6px;
}

/* TRUST CARDS */
.trust-highlight-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:32px;
  margin-bottom:64px;
}

.trust-highlight-card{
  background:#ffffff;
  border-radius:22px;
  padding:36px 32px;
  text-align:center;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.trust-highlight-card img{
  width:42px;
  height:42px;
  margin-bottom:18px;
  opacity:.85;
}

.trust-highlight-card h3{
  font-family:'Cinzel', serif;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#1f1b15;
  margin-bottom:14px;
}

.trust-highlight-card p{
  font-size:16px;
  line-height:1.6;
  color:#555;
  margin:0;
}

/* GUARANTEE STRIP — MATCHES OTHER CTA BANDS */
.trust-guarantee-strip{
  margin-top:64px;
  padding:32px 40px;
  background:#ffffff;
  border-radius:22px;
  box-shadow:0 20px 40px rgba(0,0,0,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.trust-guarantee-strip .cta-text{
  max-width:720px;
}

.trust-guarantee-strip strong{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  color:#1f1b15;
}

.trust-guarantee-strip span{
  font-size:16px;
  color:#555;
}

/* MOBILE */
@media (max-width:768px){

  .tour-trust-highlights{
    padding:0;
  }

  .trust-guarantee-strip{
    flex-direction:column;
    text-align:center;
    padding:28px;
  }

  .trust-guarantee-strip .btn{
    width:100%;
  }
}

/* MANAGE BOOKING HERO */
.hero-manage-booking {
  min-height: 360px;
}

.manage-booking .container {
  margin-top: 40px;
}
