.elementor-kit-5{--e-global-color-primary:#062417;--e-global-color-secondary:#123D2A;--e-global-color-text:#1B261F;--e-global-color-accent:#C99345;--e-global-color-b5aeb33:#F3F1E8;--e-global-color-c58817e:#062417;--e-global-color-5420d44:#C99345;--e-global-color-58be983:#F8F5EC;--e-global-color-09cc561:#1B261F;--e-global-color-a495fd4:#D3DDD4;--e-global-color-dff8941:#123D2A;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-5535e8e-font-family:"Montserrat";--e-global-typography-5535e8e-font-size:3rem;--e-global-typography-5535e8e-font-weight:700;--e-global-typography-c83476d-font-family:"Montserrat";--e-global-typography-c83476d-font-size:2.5rem;--e-global-typography-c83476d-font-weight:bold;--e-global-typography-ff8f921-font-family:"Montserrat";--e-global-typography-ff8f921-font-size:2.3rem;--e-global-typography-ff8f921-font-weight:bold;--e-global-typography-887fca2-font-family:"Open Sans";--e-global-typography-887fca2-font-size:1rem;--e-global-typography-887fca2-font-weight:400;--e-global-typography-2142591-font-family:"Open Sans";--e-global-typography-2142591-font-size:1rem;--e-global-typography-2142591-font-weight:700;--e-global-typography-6e52843-font-family:"Open Sans";--e-global-typography-6e52843-font-size:1rem;--e-global-typography-6e52843-font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}.entry-title, .wp-block-post-title{display:var(--page-title-display);}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-c83476d-font-size:1.9rem;--e-global-typography-ff8f921-font-size:1.9rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */ANINDITA'S EXOTIC BIRDING EXPEDITIONS
   WordPress Advanced CSS
   
   HOW TO USE:
   1. Go to WordPress Dashboard → Appearance → Customize
      → Additional CSS → paste this entire file
   
   2. Add Google Fonts to your theme's header (or use a plugin
      like "Easy Google Fonts"):
      https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap
   
   3. Set your Elementor / Kadence Global Colors to match
      the CSS variables defined below.
   
   SECTIONS IN THIS FILE:
   01. CSS Variables (brand colours & tokens)
   02. Global resets & base typography
   03. Navigation bar
   04. Hero section
   05. Section wrappers & labels
   06. About / Story section
   07. Bird Hides section
   08. Live Sighting Log section
   09. Guided Tours section
   10. Community Network section
   11. Target Species section
   12. Testimonials section
   13. Pricing section
   14. Seasonal Calendar section
   15. Booking & Enquiry section
   16. Newsletter section
   17. Footer
   18. Floating WhatsApp button
   19. Animations & scroll effects
   20. WordPress / Elementor overrides
   21. Responsive (tablet & mobile)
============================================================ */
 
 
/* ============================================================
   01. CSS VARIABLES — Brand Colours & Design Tokens
   ============================================================ */
:root {
  /* Core palette */
  --forest:   #1C3A2A;   /* Primary dark green — headers, cards, CTAs */
  --deep:     #0F2218;   /* Darkest green — hero, booking, footer bg */
  --moss:     #2D5A3D;   /* Mid green — hover states, gradients */
  --fern:     #4A7C59;   /* Light green — tags, icons, accents */
  --sage:     #7BAF8A;   /* Pale green — secondary text on dark bg */
  --mist:     #B8D4C0;   /* Very pale green — body text on dark bg */
 
  /* Warm palette */
  --gold:     #C8922A;   /* Primary accent — CTAs, borders, eyebrows */
  --amber:    #E8A84A;   /* Hover gold — warm highlight */
  --warm:     #8B6914;   /* Deep gold — rarely used, decorative */
 
  /* Neutrals */
  --cream:    #F5F0E8;   /* Warm off-white — text on dark, light bg */
  --ivory:    #FAF7F2;   /* Page background */
  --white:    #FFFFFF;   /* Card backgrounds */
  --charcoal: #2A2A2A;   /* Primary body text */
  --mid:      #555555;   /* Secondary body text */
  --light:    #888888;   /* Tertiary / label text */
  --border:   #D8CFC2;   /* Card borders, dividers */
 
  /* Effects */
  --shadow:   rgba(15, 34, 24, 0.15);
 
  /* Typography */
  --font-serif:  'Cormorant Garamond', Georgia, serif;
  --font-sans:   'DM Sans', system-ui, sans-serif;
 
  /* Spacing scale */
  --section-pad:    96px;
  --section-pad-sm: 64px;
  --inner-max:      1200px;
  --inner-pad:      48px;
}
 
 
/* ============================================================
   02. GLOBAL RESETS & BASE TYPOGRAPHY
   ============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}
 
html {
  scroll-behavior: smooth;
  font-size: 16px;
}
 
body {
  font-family: var(--font-sans);
  background-color: var(--ivory);
  color: var(--charcoal);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
 
/* Headings use the serif font globally */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  line-height: 1.15;
  font-weight: 300;
}
 
/* Italic emphasis in headings uses the sage colour */
h1 em, h2 em, h3 em {
  font-style: italic;
  color: var(--fern);
}
 
/* Smooth image rendering */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
 
/* Remove default list styles inside nav/footer */
.aebe-nav ul,
.aebe-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
 
/* Global link reset */
a {
  text-decoration: none;
  transition: color 0.2s ease;
}
 
 
/* ============================================================
   03. NAVIGATION BAR
   Add class "aebe-nav" to your header/nav widget in Elementor
   ============================================================ */
.aebe-nav,
#aebe-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--inner-pad);
  height: 72px;
  background: rgba(15, 34, 24, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(200, 146, 42, 0.2);
  transition: background 0.3s ease, border-color 0.3s ease;
}
 
/* Nav scrolled state — add via JS or use Elementor sticky */
.aebe-nav.scrolled {
  background: rgba(15, 34, 24, 0.99);
  border-bottom-color: rgba(200, 146, 42, 0.3);
}
 
/* Logo text */
.aebe-nav .nav-logo,
.aebe-nav .site-logo {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--cream);
  letter-spacing: 0.04em;
  text-decoration: none;
  line-height: 1.2;
}
 
.aebe-nav .nav-logo-sub {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--amber);
  margin-top: 2px;
}
 
/* Nav links */
.aebe-nav .nav-links,
.aebe-nav ul.menu {
  display: flex;
  gap: 36px;
  list-style: none;
  align-items: center;
  margin: 0;
  padding: 0;
}
 
.aebe-nav .nav-links a,
.aebe-nav ul.menu li a {
  color: var(--mist);
  text-decoration: none;
  font-size: 0.85rem;
  font-family: var(--font-sans);
  letter-spacing: 0.05em;
  font-weight: 400;
  transition: color 0.2s ease;
}
 
.aebe-nav .nav-links a:hover,
.aebe-nav ul.menu li a:hover {
  color: var(--amber);
}
 
/* "Book Now" CTA in nav */
.aebe-nav .nav-cta,
.aebe-nav .menu-item-book a,
.aebe-nav ul.menu li.nav-cta a {
  background: var(--gold) !important;
  color: var(--white) !important;
  padding: 9px 22px !important;
  border-radius: 2px;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  transition: background 0.2s ease !important;
}
 
.aebe-nav .nav-cta:hover,
.aebe-nav .menu-item-book a:hover {
  background: var(--amber) !important;
}
 
/* Push page content below fixed nav */
.aebe-page-wrap,
#page,
.site {
  padding-top: 72px;
}
 
 
/* ============================================================
   04. HERO SECTION
   Add class "aebe-hero" to your hero Elementor section
   ============================================================ */
.aebe-hero {
  min-height: min(90vh, 780px);
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--deep);
}
 
/* Atmospheric gradient overlay */
.aebe-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 70% 50%, rgba(45, 90, 61, 0.25) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 20% 80%, rgba(200, 146, 42, 0.08) 0%, transparent 50%),
    linear-gradient(165deg, #0F2218 0%, #1C3A2A 40%, #142B1E 100%);
  z-index: 1;
}
 
/* If using a background image in Elementor, add this to layer over it */
.aebe-hero .elementor-background-overlay {
  background: rgba(15, 34, 24, 0.65) !important;
}
 
.aebe-hero .hero-content {
  position: relative;
  z-index: 2;
  padding: 0 80px 80px;
  max-width: 780px;
}
 
/* Location eyebrow line above hero headline */
.aebe-hero .hero-eyebrow {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
 
.aebe-hero .hero-eyebrow::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--gold);
  flex-shrink: 0;
}
 
/* Hero H1 */
.aebe-hero h1,
.aebe-hero .hero-headline {
  font-size: clamp(2.8rem, 5.5vw, 4.8rem);
  font-weight: 300;
  color: var(--cream);
  line-height: 1.05;
  margin-bottom: 24px;
  letter-spacing: -0.01em;
  font-family: var(--font-serif);
}
 
.aebe-hero h1 em {
  font-style: italic;
  color: var(--sage);
}
 
/* Hero subheading */
.aebe-hero .hero-sub,
.aebe-hero .hero-description {
  font-size: 1.05rem;
  color: var(--mist);
  line-height: 1.7;
  max-width: 540px;
  margin-bottom: 44px;
  font-weight: 300;
}
 
/* Hero button group */
.aebe-hero .hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
 
/* Stats cluster (top-right of hero) */
.aebe-hero .hero-stats {
  position: absolute;
  right: 80px;
  bottom: 80px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
 
.aebe-hero .stat-item { text-align: right; }
 
.aebe-hero .stat-num {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--cream);
  line-height: 1;
}
 
.aebe-hero .stat-label {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sage);
  margin-top: 2px;
}
 
/* Animated scroll indicator */
.aebe-hero .hero-scroll {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--sage);
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  z-index: 2;
  animation: aebe-bounce 2.5s ease-in-out infinite;
}
 
.aebe-hero .hero-scroll::after {
  content: '';
  display: block;
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, var(--sage), transparent);
}
 
@keyframes aebe-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(6px); }
}
 
 
/* ============================================================
   05. SECTION WRAPPERS & LABELS
   Use these utility classes in Elementor column/section CSS
   ============================================================ */
.aebe-section-inner {
  max-width: var(--inner-max);
  margin: 0 auto;
  padding: 0 var(--inner-pad);
}
 
.aebe-section-pad { padding: var(--section-pad) 0; }
.aebe-section-pad-sm { padding: var(--section-pad-sm) 0; }
 
/* Eyebrow label (small caps with leading rule) */
.aebe-eyebrow {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
 
.aebe-eyebrow::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--gold);
  flex-shrink: 0;
}
 
/* Section title */
.aebe-title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 300;
  color: var(--forest);
  line-height: 1.1;
  margin-bottom: 20px;
}
 
.aebe-title em {
  font-style: italic;
  color: var(--fern);
}
 
/* Section lead paragraph */
.aebe-lead {
  font-size: 1.05rem;
  color: var(--mid);
  line-height: 1.75;
  max-width: 600px;
  font-weight: 300;
}
 
/* Gradient divider */
.aebe-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--border), transparent);
  border: none;
  margin: 0;
}
 
/* Gold left-border callout / note box */
.aebe-callout {
  padding: 20px 24px;
  background: rgba(74, 124, 89, 0.06);
  border-left: 3px solid var(--fern);
  font-size: 0.9rem;
  color: var(--mid);
  line-height: 1.7;
  margin: 24px 0;
}
 
.aebe-callout.gold {
  background: rgba(200, 146, 42, 0.05);
  border-left-color: var(--gold);
}
 
 
/* ============================================================
   06. ABOUT / STORY SECTION
   Add class "aebe-about" to the dark green section
   ============================================================ */
.aebe-about {
  background: var(--forest);
  padding: var(--section-pad) 0;
  position: relative;
  overflow: hidden;
}
 
.aebe-about::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
  opacity: 0.3;
}
 
/* Two-column grid */
.aebe-about .about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
 
/* Left: portrait image frame */
.aebe-about .about-image-frame {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 2px;
  overflow: hidden;
  background: var(--moss);
}
 
.aebe-about .about-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
 
/* Gold corner accent */
.aebe-about .about-image-frame::after {
  content: '';
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 120px;
  height: 120px;
  border: 2px solid rgba(200, 146, 42, 0.3);
  border-radius: 2px;
  z-index: -1;
  pointer-events: none;
}
 
/* Right: text content */
.aebe-about .about-content {
  color: var(--cream);
}
 
.aebe-about h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--cream);
  margin-bottom: 24px;
}
 
.aebe-about h2 em {
  font-style: italic;
  color: var(--sage);
}
 
.aebe-about p {
  color: var(--mist);
  line-height: 1.8;
  font-size: 0.98rem;
  font-weight: 300;
  margin-bottom: 18px;
}
 
/* Pull quote in the about section */
.aebe-about .about-quote {
  margin-top: 32px;
  padding: 24px 0;
  border-top: 1px solid rgba(184, 212, 192, 0.15);
  font-family: var(--font-serif);
  font-size: 1.2rem;
  font-style: italic;
  color: var(--sage);
  line-height: 1.6;
}
 
/* Tag row beneath the about text */
.aebe-about .about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}
 
.aebe-about .about-tag {
  border: 1px solid rgba(184, 212, 192, 0.25);
  color: var(--sage);
  padding: 6px 14px;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 1px;
  font-family: var(--font-sans);
}
 
 
/* ============================================================
   07. BIRD HIDES SECTION
   Add class "aebe-hides" to the section
   ============================================================ */
.aebe-hides {
  background: var(--ivory);
}
 
/* Two-column hide card grid */
.aebe-hides .hides-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  margin-bottom: 32px;
}
 
/* Individual hide card */
.aebe-hide-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: 48px 40px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
 
.aebe-hide-card:hover {
  box-shadow: 0 12px 48px var(--shadow);
}
 
/* Gold top accent bar */
.aebe-hide-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gold);
}
 
/* Large decorative number */
.aebe-hide-card .hide-num {
  font-family: var(--font-serif);
  font-size: 5rem;
  font-weight: 300;
  color: var(--mist);
  line-height: 1;
  position: absolute;
  top: 20px;
  right: 36px;
  letter-spacing: -0.04em;
  pointer-events: none;
}
 
/* Green tag pill above the title */
.aebe-hide-card .hide-tag {
  display: inline-block;
  background: rgba(74, 124, 89, 0.1);
  color: var(--fern);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 1px;
  margin-bottom: 20px;
  font-family: var(--font-sans);
}
 
.aebe-hide-card h3 {
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 12px;
}
 
.aebe-hide-card p {
  color: var(--mid);
  line-height: 1.75;
  font-size: 0.92rem;
  font-weight: 300;
  margin-bottom: 28px;
}
 
/* Spec icon rows */
.aebe-hide-card .hide-specs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
}
 
.aebe-hide-card .hide-spec {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.85rem;
  color: var(--mid);
  line-height: 1.5;
}
 
.aebe-hide-card .hide-spec svg,
.aebe-hide-card .hide-spec-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--gold);
  margin-top: 2px;
}
 
/* Price row at card bottom */
.aebe-hide-card .hide-price {
  padding-top: 24px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: baseline;
  gap: 8px;
}
 
.aebe-hide-card .hide-price-num {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 400;
  color: var(--forest);
}
 
.aebe-hide-card .hide-price-label {
  font-size: 0.78rem;
  color: var(--light);
}
 
/* "Book Session" button in card */
.aebe-hide-card .hide-price-cta {
  margin-left: auto;
  background: var(--forest);
  color: var(--cream);
  padding: 10px 20px;
  border-radius: 2px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease;
  font-family: var(--font-sans);
}
 
.aebe-hide-card .hide-price-cta:hover {
  background: var(--moss);
  color: var(--white);
}
 
/* WiFi banner below the two hide cards */
.aebe-wifi-banner {
  background: linear-gradient(135deg, var(--forest) 0%, var(--moss) 100%);
  padding: 28px 40px;
  display: flex;
  align-items: center;
  gap: 24px;
  border-radius: 2px;
  margin-top: 32px;
}
 
.aebe-wifi-banner .wifi-icon {
  color: var(--amber);
  flex-shrink: 0;
}
 
.aebe-wifi-banner h4 {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 4px;
}
 
.aebe-wifi-banner p {
  font-size: 0.85rem;
  color: var(--sage);
  font-weight: 300;
  margin: 0;
}
 
 
/* ============================================================
   08. LIVE SIGHTING LOG SECTION
   Add class "aebe-sightings" to the dark section
   ============================================================ */
.aebe-sightings {
  background: var(--deep);
  padding: var(--section-pad) 0;
  position: relative;
}
 
.aebe-sightings::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
  opacity: 0.2;
}
 
/* Dark section — override title colour */
.aebe-sightings .aebe-title {
  color: var(--cream);
}
 
.aebe-sightings .aebe-title em {
  color: var(--sage);
}
 
.aebe-sightings .aebe-lead {
  color: var(--mist);
}
 
/* 3-column sighting card grid */
.aebe-sightings .sighting-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 48px;
}
 
/* Individual sighting card */
.aebe-sighting-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(184, 212, 192, 0.08);
  padding: 32px;
  position: relative;
  transition: background 0.2s ease;
}
 
.aebe-sighting-card:hover {
  background: rgba(255, 255, 255, 0.07);
}
 
/* Date stamp */
.aebe-sighting-card .sighting-date {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
  font-family: var(--font-sans);
}
 
/* Species common name */
.aebe-sighting-card .sighting-species {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--cream);
  line-height: 1.2;
  margin-bottom: 6px;
}
 
/* Latin name */
.aebe-sighting-card .sighting-latin {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.9rem;
  color: var(--sage);
  margin-bottom: 14px;
}
 
/* Sighting description */
.aebe-sighting-card .sighting-detail {
  font-size: 0.82rem;
  color: var(--mist);
  line-height: 1.65;
  font-weight: 300;
}
 
/* Location footer of card */
.aebe-sighting-card .sighting-hide {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(184, 212, 192, 0.1);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fern);
  font-family: var(--font-sans);
}
 
/* "Rare" badge top-right of card */
.aebe-rare-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(200, 146, 42, 0.15);
  border: 1px solid rgba(200, 146, 42, 0.3);
  color: var(--amber);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 1px;
  font-family: var(--font-sans);
}
 
/* eBird link below grid */
.sighting-update {
  margin-top: 32px;
  text-align: center;
  font-size: 0.8rem;
  color: var(--sage);
  font-style: italic;
}
 
.sighting-update a {
  color: var(--sage);
  text-decoration: underline;
  text-underline-offset: 3px;
}
 
 
/* ============================================================
   09. GUIDED TOURS SECTION
   Add class "aebe-tours" to the cream section
   ============================================================ */
.aebe-tours {
  background: var(--cream);
}
 
/* 3-column tour card grid */
.aebe-tours .tours-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}
 
/* Tour card */
.aebe-tour-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  position: relative;
}
 
.aebe-tour-card:hover {
  box-shadow: 0 16px 48px var(--shadow);
  transform: translateY(-2px);
}
 
/* Featured / highlighted tour card */
.aebe-tour-card.featured {
  background: var(--forest);
  border-color: transparent;
}
 
.aebe-tour-card.featured h3,
.aebe-tour-card.featured p,
.aebe-tour-card.featured .tour-duration,
.aebe-tour-card.featured .tour-price-num {
  color: var(--cream) !important;
}
 
.aebe-tour-card.featured .tour-price-label {
  color: var(--sage) !important;
}
 
.aebe-tour-card.featured hr {
  border-color: rgba(255, 255, 255, 0.1);
}
 
.aebe-tour-card.featured .tour-cta {
  background: var(--gold);
  color: var(--white) !important;
  border-color: var(--gold);
}
 
/* Tour badge (duration / type) */
.aebe-tour-card .tour-badge {
  display: inline-block;
  background: rgba(74, 124, 89, 0.1);
  color: var(--fern);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 1px;
  margin-bottom: 20px;
  align-self: flex-start;
  font-family: var(--font-sans);
}
 
.aebe-tour-card.featured .tour-badge {
  background: rgba(200, 146, 42, 0.2);
  color: var(--amber);
}
 
.aebe-tour-card h3 {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 8px;
}
 
/* Route / duration line */
.aebe-tour-card .tour-duration {
  font-size: 0.78rem;
  color: var(--light);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
}
 
.aebe-tour-card p {
  font-size: 0.88rem;
  color: var(--mid);
  line-height: 1.7;
  font-weight: 300;
  flex: 1;
  margin-bottom: 24px;
}
 
/* Target species pills */
.aebe-tour-card .tour-species {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}
 
.aebe-tour-card .species-pill {
  background: var(--cream);
  border: 1px solid var(--border);
  color: var(--mid);
  font-size: 0.7rem;
  padding: 3px 8px;
  border-radius: 1px;
  font-family: var(--font-sans);
}
 
/* Price row */
.aebe-tour-card .tour-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 16px;
}
 
.aebe-tour-card .tour-price-num {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--forest);
}
 
.aebe-tour-card .tour-price-label {
  font-size: 0.75rem;
  color: var(--light);
}
 
/* CTA button */
.aebe-tour-card .tour-cta {
  display: block;
  text-align: center;
  background: transparent;
  border: 1px solid var(--forest);
  color: var(--forest);
  padding: 11px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  transition: background 0.2s ease, color 0.2s ease;
  font-family: var(--font-sans);
}
 
.aebe-tour-card .tour-cta:hover {
  background: var(--forest);
  color: var(--white);
}
 
/* Bespoke expedition strip */
.aebe-bespoke-strip {
  margin-top: 32px;
  background: var(--white);
  border: 1px solid var(--border);
  padding: 40px;
  border-left: 4px solid var(--gold);
  display: flex;
  align-items: center;
  gap: 40px;
}
 
.aebe-bespoke-strip h3 {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 8px;
}
 
.aebe-bespoke-strip p {
  font-size: 0.9rem;
  color: var(--mid);
  font-weight: 300;
  line-height: 1.7;
  margin: 0;
}
 
.aebe-bespoke-strip a {
  flex-shrink: 0;
  background: var(--forest);
  color: var(--white);
  padding: 13px 28px;
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 2px;
  white-space: nowrap;
  transition: background 0.2s ease;
  font-family: var(--font-sans);
}
 
.aebe-bespoke-strip a:hover {
  background: var(--moss);
}
 
 
/* ============================================================
   10. COMMUNITY NETWORK SECTION
   Add class "aebe-community" to this section
   ============================================================ */
.aebe-community {
  background: var(--ivory);
}
 
.aebe-community .community-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
 
.aebe-community-card {
  padding: 32px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 2px;
  transition: box-shadow 0.2s ease;
}
 
.aebe-community-card:hover {
  box-shadow: 0 8px 32px var(--shadow);
}
 
.aebe-community-card .community-icon {
  font-size: 2.4rem;
  margin-bottom: 16px;
  display: block;
  line-height: 1;
}
 
.aebe-community-card h4 {
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 10px;
}
 
.aebe-community-card p {
  font-size: 0.85rem;
  color: var(--mid);
  line-height: 1.7;
  font-weight: 300;
  margin: 0;
}
 
 
/* ============================================================
   11. TARGET SPECIES SECTION
   Add class "aebe-species" to this section
   ============================================================ */
.aebe-species {
  background: var(--ivory);
}
 
/* 4-column species grid */
.aebe-species .species-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 56px;
}
 
/* Species card — hover flips to forest green */
.aebe-species-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: 28px 24px;
  transition: background 0.25s ease, border-color 0.25s ease;
  cursor: default;
}
 
.aebe-species-card:hover {
  background: var(--forest);
  border-color: var(--forest);
}
 
/* All text flips to light on hover */
.aebe-species-card:hover .species-name,
.aebe-species-card:hover .species-latin,
.aebe-species-card:hover .species-desc {
  color: var(--cream) !important;
}
 
.aebe-species-card:hover .species-season {
  color: var(--sage) !important;
}
 
.aebe-species-card .species-icon {
  font-size: 2rem;
  margin-bottom: 14px;
  display: block;
  line-height: 1;
}
 
.aebe-species-card .species-name {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 4px;
  transition: color 0.25s ease;
}
 
.aebe-species-card .species-latin {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--light);
  margin-bottom: 12px;
  transition: color 0.25s ease;
}
 
.aebe-species-card .species-season {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  font-family: var(--font-sans);
  transition: color 0.25s ease;
}
 
.aebe-species-card .species-desc {
  font-size: 0.8rem;
  color: var(--mid);
  line-height: 1.65;
  font-weight: 300;
  transition: color 0.25s ease;
}
 
 
/* ============================================================
   12. TESTIMONIALS SECTION
   Add class "aebe-testimonials" to this section
   ============================================================ */
.aebe-testimonials {
  background: var(--forest);
  padding: var(--section-pad) 0;
  position: relative;
  overflow: hidden;
}
 
/* Large decorative quotation mark */
.aebe-testimonials::before {
  content: '\201C';
  position: absolute;
  top: -40px;
  left: 48px;
  font-family: var(--font-serif);
  font-size: 28rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.02);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
 
.aebe-testimonials .aebe-title {
  color: var(--cream);
}
 
.aebe-testimonials .aebe-title em {
  color: var(--sage);
}
 
/* 3-column grid */
.aebe-testimonials .testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}
 
/* Testimonial card */
.aebe-testimonial-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(184, 212, 192, 0.1);
  padding: 36px 32px;
  transition: background 0.2s ease;
}
 
.aebe-testimonial-card:hover {
  background: rgba(255, 255, 255, 0.08);
}
 
/* Star rating */
.aebe-testimonial-card .testimonial-stars {
  color: var(--gold);
  font-size: 1rem;
  margin-bottom: 20px;
  letter-spacing: 2px;
}
 
/* Quote text */
.aebe-testimonial-card .testimonial-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--cream);
  line-height: 1.75;
  margin-bottom: 24px;
}
 
/* Author row */
.aebe-testimonial-card .testimonial-author {
  display: flex;
  align-items: center;
  gap: 14px;
}
 
/* Avatar initial circle */
.aebe-testimonial-card .author-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--moss);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-size: 1.2rem;
  color: var(--sage);
  flex-shrink: 0;
  overflow: hidden;
}
 
.aebe-testimonial-card .author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
 
.aebe-testimonial-card .author-name {
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--cream);
  margin-bottom: 2px;
}
 
.aebe-testimonial-card .author-detail {
  font-size: 0.75rem;
  color: var(--sage);
}
 
 
/* ============================================================
   13. PRICING SECTION
   Add class "aebe-pricing" to this section
   ============================================================ */
.aebe-pricing {
  background: var(--ivory);
}
 
/* Two-column pricing group grid */
.aebe-pricing .pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-top: 56px;
}
 
/* Group heading with gold underline */
.aebe-pricing .pricing-group h3 {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--gold);
}
 
/* Individual price row */
.aebe-price-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
 
.aebe-price-row:last-of-type {
  border-bottom: none;
}
 
.aebe-price-row .price-row-name {
  font-size: 0.92rem;
  color: var(--charcoal);
  font-weight: 500;
  margin-bottom: 3px;
}
 
.aebe-price-row .price-row-desc {
  font-size: 0.8rem;
  color: var(--light);
  font-weight: 300;
  line-height: 1.5;
}
 
.aebe-price-row .price-row-amount {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--forest);
  white-space: nowrap;
  text-align: right;
  flex-shrink: 0;
}
 
.aebe-price-row .price-row-unit {
  font-size: 0.68rem;
  color: var(--light);
  display: block;
  font-family: var(--font-sans);
}
 
/* Footnote below price list */
.aebe-pricing-note {
  margin-top: 24px;
  padding: 18px 20px;
  background: rgba(74, 124, 89, 0.06);
  border-left: 3px solid var(--fern);
  font-size: 0.85rem;
  color: var(--mid);
  line-height: 1.65;
}
 
/* International pricing banner */
.aebe-intl-note {
  margin-top: 48px;
  padding: 32px 40px;
  background: var(--forest);
  display: flex;
  align-items: center;
  gap: 32px;
}
 
.aebe-intl-note svg {
  color: var(--amber);
  flex-shrink: 0;
}
 
.aebe-intl-note h4 {
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 6px;
}
 
.aebe-intl-note p {
  font-size: 0.85rem;
  color: var(--sage);
  font-weight: 300;
  margin: 0;
}
 
 
/* ============================================================
   14. SEASONAL CALENDAR SECTION
   Add class "aebe-seasons" to this section
   ============================================================ */
.aebe-seasons {
  background: var(--cream);
}
 
/* 6-column month grid */
.aebe-seasons .season-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px;
  margin-top: 48px;
}
 
/* Month header */
.aebe-seasons .month-name {
  background: var(--forest);
  color: var(--cream);
  text-align: center;
  padding: 10px 4px;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: var(--font-sans);
}
 
/* Month body */
.aebe-seasons .month-fill {
  height: 140px;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
 
.aebe-seasons .month-fill.peak {
  background: rgba(45, 90, 61, 0.15);
  border: 1px solid rgba(45, 90, 61, 0.2);
}
 
.aebe-seasons .month-fill.good {
  background: rgba(74, 124, 89, 0.08);
  border: 1px solid rgba(74, 124, 89, 0.1);
}
 
.aebe-seasons .month-fill.off {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid var(--border);
}
 
.aebe-seasons .season-label {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
  font-family: var(--font-sans);
}
 
.aebe-seasons .peak-label  { color: var(--forest); }
.aebe-seasons .good-label  { color: var(--fern); }
.aebe-seasons .off-label   { color: var(--light); }
 
.aebe-seasons .season-species {
  font-size: 0.7rem;
  color: var(--mid);
  line-height: 1.5;
}
 
/* Legend row */
.aebe-seasons .season-legend {
  display: flex;
  gap: 24px;
  margin-top: 20px;
  justify-content: flex-end;
}
 
.aebe-seasons .legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  color: var(--mid);
  font-family: var(--font-sans);
}
 
.aebe-seasons .legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 1px;
  flex-shrink: 0;
}
 
.aebe-seasons .legend-dot.peak { background: rgba(45, 90, 61, 0.4); }
.aebe-seasons .legend-dot.good { background: rgba(74, 124, 89, 0.2); }
.aebe-seasons .legend-dot.off  { background: var(--border); }
 
 
/* ============================================================
   15. BOOKING & ENQUIRY SECTION
   Add class "aebe-booking" to the dark section
   ============================================================ */
.aebe-booking {
  background: var(--deep);
  padding: var(--section-pad) 0;
}
 
.aebe-booking h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 300;
  color: var(--cream);
  margin-bottom: 20px;
}
 
.aebe-booking h2 em {
  font-style: italic;
  color: var(--sage);
}
 
.aebe-booking .booking-intro-text {
  font-size: 0.95rem;
  color: var(--mist);
  font-weight: 300;
  line-height: 1.75;
  margin-bottom: 36px;
}
 
/* Contact method cards (WhatsApp / Email / Instagram) */
.aebe-contact-method {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(184, 212, 192, 0.1);
  border-radius: 2px;
  text-decoration: none;
  transition: background 0.2s ease;
  margin-bottom: 12px;
}
 
.aebe-contact-method:hover {
  background: rgba(255, 255, 255, 0.09);
}
 
.aebe-contact-method .contact-icon {
  color: var(--amber);
  flex-shrink: 0;
}
 
.aebe-contact-method .contact-label {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 3px;
  font-family: var(--font-sans);
}
 
.aebe-contact-method .contact-value {
  font-size: 0.95rem;
  color: var(--cream);
  font-weight: 300;
}
 
.aebe-contact-method .contact-badge {
  margin-left: auto;
  background: rgba(200, 146, 42, 0.15);
  border: 1px solid rgba(200, 146, 42, 0.3);
  color: var(--amber);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 1px;
  white-space: nowrap;
  font-family: var(--font-sans);
}
 
/* Enquiry form card */
.aebe-booking-form {
  background: var(--white);
  padding: 40px;
  border-radius: 2px;
}
 
.aebe-booking-form h3 {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--forest);
  margin-bottom: 8px;
}
 
.aebe-booking-form .form-intro {
  font-size: 0.85rem;
  color: var(--mid);
  margin-bottom: 28px;
  line-height: 1.6;
}
 
/* Form fields — override Elementor / WPForms defaults */
.aebe-booking-form .elementor-field-group label,
.aebe-booking-form .wpforms-field-label,
.aebe-booking-form label {
  display: block;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mid) !important;
  margin-bottom: 7px;
  font-weight: 500 !important;
  font-family: var(--font-sans) !important;
}
 
.aebe-booking-form input[type="text"],
.aebe-booking-form input[type="email"],
.aebe-booking-form input[type="tel"],
.aebe-booking-form select,
.aebe-booking-form textarea,
.aebe-booking-form .elementor-field,
.aebe-booking-form .wpforms-field-medium {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid var(--border) !important;
  background: var(--ivory) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.9rem !important;
  color: var(--charcoal) !important;
  border-radius: 2px !important;
  outline: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
  box-shadow: none !important;
}
 
.aebe-booking-form input:focus,
.aebe-booking-form select:focus,
.aebe-booking-form textarea:focus {
  border-color: var(--fern) !important;
  background: var(--white) !important;
}
 
/* Form submit button */
.aebe-booking-form button[type="submit"],
.aebe-booking-form input[type="submit"],
.aebe-booking-form .wpforms-submit,
.aebe-booking-form .elementor-button {
  width: 100% !important;
  padding: 14px !important;
  background: var(--forest) !important;
  color: var(--white) !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--font-sans) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  transition: background 0.2s ease !important;
  box-shadow: none !important;
}
 
.aebe-booking-form button[type="submit"]:hover,
.aebe-booking-form input[type="submit"]:hover,
.aebe-booking-form .wpforms-submit:hover {
  background: var(--moss) !important;
}
 
 
/* ============================================================
   16. NEWSLETTER SECTION
   Add class "aebe-newsletter" to this section
   ============================================================ */
.aebe-newsletter {
  background: linear-gradient(135deg, var(--forest) 0%, var(--deep) 100%);
  padding: 80px 0;
}
 
.aebe-newsletter h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.4rem);
  font-weight: 300;
  color: var(--cream);
  margin-bottom: 12px;
}
 
.aebe-newsletter h2 em {
  font-style: italic;
  color: var(--sage);
}
 
.aebe-newsletter .newsletter-body {
  font-size: 0.9rem;
  color: var(--mist);
  font-weight: 300;
  margin-bottom: 0;
}
 
/* Email input + button combo */
.aebe-newsletter-form {
  display: flex;
  gap: 0;
}
 
.aebe-newsletter-form input[type="email"],
.aebe-newsletter-form .mc4wp-form-fields input[type="email"] {
  padding: 13px 20px !important;
  border: 1px solid rgba(184, 212, 192, 0.2) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.88rem !important;
  color: var(--cream) !important;
  outline: none !important;
  width: 260px !important;
  border-radius: 2px 0 0 2px !important;
  box-shadow: none !important;
}
 
.aebe-newsletter-form input::placeholder {
  color: var(--sage) !important;
  opacity: 1;
}
 
.aebe-newsletter-form button,
.aebe-newsletter-form input[type="submit"],
.aebe-newsletter-form .mc4wp-form-fields input[type="submit"] {
  padding: 13px 24px !important;
  background: var(--gold) !important;
  color: var(--white) !important;
  border: none !important;
  cursor: pointer;
  font-family: var(--font-sans) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 2px 2px 0 !important;
  white-space: nowrap;
  transition: background 0.2s ease !important;
}
 
.aebe-newsletter-form button:hover,
.aebe-newsletter-form input[type="submit"]:hover {
  background: var(--amber) !important;
}
 
 
/* ============================================================
   17. FOOTER
   Add class "aebe-footer" to your footer widget area
   ============================================================ */
.aebe-footer,
footer.aebe-footer {
  background: var(--deep);
  border-top: 1px solid rgba(200, 146, 42, 0.15);
  padding: 64px 0 32px;
}
 
.aebe-footer .footer-brand h3 {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 12px;
}
 
.aebe-footer .footer-brand p {
  font-size: 0.82rem;
  color: var(--sage);
  line-height: 1.7;
  font-weight: 300;
}
 
/* Footer column heading */
.aebe-footer .footer-col-title {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
  display: block;
}
 
/* Footer links */
.aebe-footer a,
.aebe-footer ul li a {
  color: var(--sage);
  text-decoration: none;
  font-size: 0.83rem;
  font-weight: 300;
  transition: color 0.2s ease;
}
 
.aebe-footer a:hover,
.aebe-footer ul li a:hover {
  color: var(--cream);
}
 
/* Footer bottom bar */
.aebe-footer .footer-bottom {
  padding-top: 32px;
  border-top: 1px solid rgba(184, 212, 192, 0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
 
.aebe-footer .footer-copyright {
  font-size: 0.75rem;
  color: rgba(184, 212, 192, 0.4);
  margin: 0;
}
 
/* Social icon row */
.aebe-footer .footer-social {
  display: flex;
  gap: 12px;
}
 
.aebe-footer .footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 1px;
  border: 1px solid rgba(184, 212, 192, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  transition: border-color 0.2s ease, color 0.2s ease;
}
 
.aebe-footer .footer-social a:hover {
  border-color: var(--sage);
  color: var(--cream);
}
 
 
/* ============================================================
   18. FLOATING WHATSAPP BUTTON
   This works globally — no class needed on any element
   ============================================================ */
.aebe-wa-float {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 9999;
  background: #25D366;
  color: white;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.35);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
 
.aebe-wa-float:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 28px rgba(37, 211, 102, 0.45);
  color: white;
}
 
/* Tooltip on hover */
.aebe-wa-float .wa-tooltip {
  position: absolute;
  right: 68px;
  background: var(--charcoal);
  color: var(--white);
  font-size: 0.75rem;
  padding: 7px 12px;
  border-radius: 2px;
  white-space: nowrap;
  font-family: var(--font-sans);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
 
.aebe-wa-float:hover .wa-tooltip {
  opacity: 1;
}
 
/* If using WP Social Chat plugin, style its button */
.wpsct-whatsapp-button {
  bottom: 32px !important;
  right: 32px !important;
}
 
 
/* ============================================================
   19. ANIMATIONS & SCROLL EFFECTS
   
   HOW TO USE:
   Add class "aebe-fade-up" to any Elementor widget/section.
   The JS snippet below activates the animation on scroll.
   Paste the JS into Appearance → Customize → Additional JS
   (or use WPCode / Code Snippets plugin):
   
   document.addEventListener('DOMContentLoaded', () => {
     const obs = new IntersectionObserver((entries) => {
       entries.forEach(e => {
         if (e.isIntersecting) e.target.classList.add('aebe-visible');
       });
     }, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });
     document.querySelectorAll('.aebe-fade-up').forEach(el => obs.observe(el));
   });
   ============================================================ */
.aebe-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
 
.aebe-fade-up.aebe-visible {
  opacity: 1;
  transform: translateY(0);
}
 
/* Stagger delays for card rows */
.aebe-fade-up.d1 { transition-delay: 0.1s; }
.aebe-fade-up.d2 { transition-delay: 0.2s; }
.aebe-fade-up.d3 { transition-delay: 0.3s; }
.aebe-fade-up.d4 { transition-delay: 0.4s; }
 
/* Hover lift — add to any card widget */
.aebe-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
 
.aebe-lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 48px var(--shadow);
}
 
/* Gold underline hover effect for links */
.aebe-underline-link {
  position: relative;
  color: var(--forest);
  text-decoration: none;
}
 
.aebe-underline-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 0.3s ease;
}
 
.aebe-underline-link:hover::after {
  width: 100%;
}
 
/* Pulse animation for "rare sighting" alerts */
@keyframes aebe-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.6; }
}
 
.aebe-pulse {
  animation: aebe-pulse 2s ease-in-out infinite;
}
 
 
/* ============================================================
   20. WORDPRESS & ELEMENTOR OVERRIDES
   Neutralise default WordPress/Elementor styles that
   conflict with this design
   ============================================================ */
 
/* Remove Elementor default section padding where we set our own */
.elementor-section.aebe-section-pad .elementor-container {
  padding-top: 0;
  padding-bottom: 0;
}
 
/* Elementor heading widgets */
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-serif) !important;
  line-height: 1.15 !important;
}
 
/* Elementor text editor widget */
.elementor-widget-text-editor p {
  font-family: var(--font-sans);
  font-weight: 300;
  line-height: 1.75;
}
 
/* Elementor button widget */
.elementor-widget-button .elementor-button {
  font-family: var(--font-sans) !important;
  border-radius: 2px !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}
 
/* Primary button style */
.elementor-widget-button .elementor-button.aebe-btn-primary {
  background: var(--gold) !important;
  color: var(--white) !important;
  border: none !important;
  padding: 14px 32px !important;
}
 
.elementor-widget-button .elementor-button.aebe-btn-primary:hover {
  background: var(--amber) !important;
  transform: translateY(-1px) !important;
}
 
/* Outline button style */
.elementor-widget-button .elementor-button.aebe-btn-outline {
  background: transparent !important;
  color: var(--mist) !important;
  border: 1px solid rgba(184, 212, 192, 0.4) !important;
  padding: 14px 32px !important;
}
 
.elementor-widget-button .elementor-button.aebe-btn-outline:hover {
  border-color: var(--sage) !important;
  color: var(--sage) !important;
}
 
/* Elementor image widget */
.elementor-widget-image img {
  border-radius: 2px;
}
 
/* WPForms general overrides */
.wpforms-container .wpforms-field {
  padding: 0 !important;
  margin-bottom: 20px !important;
}
 
.wpforms-container .wpforms-field-label {
  font-family: var(--font-sans) !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
  color: var(--mid) !important;
  margin-bottom: 7px !important;
}
 
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
  font-family: var(--font-sans) !important;
  border: 1px solid var(--border) !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  background: var(--ivory) !important;
  box-shadow: none !important;
  font-size: 0.9rem !important;
  color: var(--charcoal) !important;
}
 
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--fern) !important;
  background: var(--white) !important;
  box-shadow: none !important;
  outline: none !important;
}
 
/* WordPress default admin bar clearance */
.admin-bar .aebe-nav,
.admin-bar #aebe-nav {
  top: 32px;
}
 
@media screen and (max-width: 782px) {
  .admin-bar .aebe-nav,
  .admin-bar #aebe-nav {
    top: 46px;
  }
}
 
/* Twenty-Twenty-One / default theme body padding */
.wp-site-blocks,
.entry-content,
.site-content {
  padding-top: 0 !important;
}
 
 
/* ============================================================
   21. RESPONSIVE — TABLET & MOBILE
   ============================================================ */
 
/* ── Tablet (≤1024px) ── */
@media (max-width: 1024px) {
 
  :root {
    --inner-pad: 32px;
    --section-pad: 72px;
  }
 
  .aebe-hides .hides-grid,
  .aebe-pricing .pricing-grid,
  .aebe-booking .booking-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
 
  .aebe-tours .tours-grid {
    grid-template-columns: 1fr 1fr;
  }
 
  .aebe-species .species-grid {
    grid-template-columns: repeat(2, 1fr);
  }
 
  .aebe-testimonials .testimonials-grid {
    grid-template-columns: 1fr 1fr;
  }
 
  .aebe-about .about-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
 
  .aebe-about .about-image-frame {
    aspect-ratio: 16 / 9;
  }
 
  .aebe-hero .hero-stats {
    display: none;
  }
 
  .aebe-intl-note {
    flex-direction: column;
    gap: 20px;
  }
}
 
/* ── Mobile (≤768px) ── */
@media (max-width: 768px) {
 
  :root {
    --inner-pad: 20px;
    --section-pad: 56px;
    --section-pad-sm: 44px;
  }
 
  /* Nav */
  .aebe-nav {
    padding: 0 20px;
  }
 
  .aebe-nav .nav-links,
  .aebe-nav ul.menu {
    display: none; /* Hidden — use Elementor hamburger / WP mobile menu */
  }
 
  /* Hero */
  .aebe-hero .hero-content {
    padding: 0 20px 56px;
  }
 
  .aebe-hero h1 {
    font-size: clamp(2rem, 8vw, 3.2rem);
  }
 
  /* Cards stacked */
  .aebe-tours .tours-grid,
  .aebe-testimonials .testimonials-grid,
  .aebe-sightings .sighting-grid,
  .aebe-species .species-grid,
  .aebe-community .community-grid {
    grid-template-columns: 1fr;
  }
 
  /* Season grid: 3 col on mobile */
  .aebe-seasons .season-grid {
    grid-template-columns: repeat(3, 1fr);
  }
 
  /* Bespoke strip stacks */
  .aebe-bespoke-strip {
    flex-direction: column;
    gap: 20px;
  }
 
  .aebe-bespoke-strip a {
    width: 100%;
    text-align: center;
  }
 
  /* WiFi banner stacks */
  .aebe-wifi-banner {
    flex-direction: column;
    text-align: center;
  }
 
  /* Newsletter stacks */
  .aebe-newsletter-form {
    flex-direction: column;
    width: 100%;
  }
 
  .aebe-newsletter-form input[type="email"],
  .aebe-newsletter-form .mc4wp-form-fields input[type="email"] {
    width: 100% !important;
    border-radius: 2px !important;
  }
 
  .aebe-newsletter-form button,
  .aebe-newsletter-form input[type="submit"] {
    border-radius: 2px !important;
    width: 100% !important;
  }
 
  /* Form rows stack */
  .aebe-booking-form .form-row {
    grid-template-columns: 1fr;
  }
 
  /* Footer stacks */
  .aebe-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
 
  .aebe-footer .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
 
  /* Floating WA button smaller on mobile */
  .aebe-wa-float {
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
  }
 
  /* Hide tooltip on mobile */
  .aebe-wa-float .wa-tooltip {
    display: none;
  }
}
 
/* ── Small mobile (≤480px) ── */
@media (max-width: 480px) {
 
  .aebe-seasons .season-grid {
    grid-template-columns: 1fr 1fr;
  }
 
  .aebe-hide-card {
    padding: 32px 24px;
  }
 
  .aebe-hide-card .hide-num {
    font-size: 3.5rem;
    top: 14px;
    right: 20px;
  }
}/* End custom CSS */