/*
Theme Name: hello-elementor Child
Theme URI:  https://www.wpserveur.net
Author:     WPServeur
Author URI: https://www.wpserveur.net
Template:   hello-elementor
Version:    1.0
License:    GNU General Public License v2 or later
*/
/* ===== BSA Global Palette (site-wide) ===== */

/* ===== BSA Global Palette ===== */
:root{
  --bsa-primary:#fdae50; /* main */
  --bsa-green:#63a15a;   /* accent */
  --bsa-ink:#000;
  --bsa-white:#fff;
  --bsa-bg:#ffaa4924;      /* light bg */
}

/* ===== Base helpers ===== */
.bsa-container{max-width:1300px;margin:0 auto;padding:0 16px}
.bsa-flex{display:flex;align-items:center}
.bsa-gap-12{gap:12px}

/* ===== Top bar ===== */
.bsa-topbar{background:var(--bsa-bg);color:var(--bsa-ink);font-size:14px}
.bsa-topbar .bsa-row{height:120px;justify-content:space-between;padding-bottom:27px!important;}
.bsa-brand{gap:12px}
.bsa-logo{height:54px;width:auto;display:block}
.bsa-brandname{font-weight:800;font-size:18px;text-decoration:none;color:var(--bsa-ink)}
.bsa-campaign{color:var(--bsa-green);text-decoration:none;font-weight:600}
.bsa-dot{width:8px;height:8px;border-radius:50%;background:var(--bsa-green);display:inline-block;margin-right:8px}
.bsa-ctxt{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.bsa-ctxt a{color:var(--bsa-ink);text-decoration:none}
.bsa-ctxt small{opacity:.8}

/* ===== Sticky nav (desktop pill) ===== */
.bsa-navwrap{position:sticky;top:0;z-index:999;background:transparent;padding:10px 0;margin-top:-40px!important;}
.bsa-navshell{
  background:var(--bsa-primary);
  border-radius:9999px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  position:relative;
}
.bsa-nav{height:56px;justify-content:space-between;padding:0 8px}
.bsa-nav .menu{list-style:none;margin:0;padding:0}
.bsa-nav .menu > li{display:inline-block;position:relative}
.bsa-nav .menu > li > a{
  display:inline-block;padding:0 14px;height:56px;line-height:56px;
  color:var(--bsa-ink);font-weight:600;text-decoration:none
}
.bsa-nav .menu > li.current-menu-item > a,
.bsa-nav .menu > li > a:hover{background:rgba(0,0,0,.07);border-radius:10px}
.bsa-badge-home{
  background:var(--bsa-green);color:var(--bsa-white);
  padding:6px 12px;border-radius:12px;margin-right:8px
}

/* Desktop dropdowns */
.bsa-nav .menu li ul{
  position:absolute;left:0;top:56px;background:var(--bsa-white);
  min-width:200px;box-shadow:0 10px 20px rgba(0,0,0,.08);display:none;border-radius:10px;overflow:hidden;
  margin-left:0px!important;
	  
}
.bsa-nav .menu li:hover > ul{display:block}
.bsa-nav .menu li ul li{display:block}
.bsa-nav .menu li ul a{height:auto;line-height:1.2;padding:10px 14px;color:var(--bsa-ink)}

/* ===== Burger button ===== */
.bsa-burger{display:none;border:none;background:transparent;width:44px;height:44px}
.bsa-burger span{display:block;height:2px;background:#000;margin:6px 0}
/* Mobile: burger as a round button in primary with white bars */
@media (max-width:1024px){
  .bsa-topbar .bsa-burger.bsa-mobile-burger{
    display:block !important;margin-left:auto;
    width:44px;height:44px;border-radius:999px;background:var(--bsa-primary);
    box-shadow:0 6px 14px rgba(0,0,0,.12)
  }
  .bsa-topbar .bsa-burger.bsa-mobile-burger span{background:#fff}
}

/* ===== MOBILE HEADER & DRAWER (≤1024px) — FULL BLOCK ===== */
@media (max-width:1024px){
  /* Top bar: only logo + burger */
  .bsa-topbar .bsa-campaign,
  .bsa-topbar .bsa-ctxt{ display:none !important; }

  .bsa-topbar .bsa-burger.bsa-mobile-burger{
    display:block !important; margin-left:auto;
    width:44px; height:44px; border:0; border-radius:999px;
    background:var(--bsa-primary); box-shadow:0 6px 14px rgba(0,0,0,.12);
  }
  .bsa-topbar .bsa-burger.bsa-mobile-burger span{ background:#fff; height:2px; display:block; margin:6px 0; }

  /* Collapse the desktop pill row instead of hiding it (keep <nav> alive) */
  .bsa-nav{ height:0; padding:0; overflow:visible; }
  .bsa-navshell{ background:transparent; box-shadow:none; border-radius:0; }

  /* Drawer is hidden by default… */
  .bsa-mainnav .menu{ display:none; }

  /* …and shown when .open is on .bsa-navshell */
  .bsa-navshell.open .bsa-mainnav .menu{
    display:block !important;           /* force visible inside drawer */
    position:fixed; top:0; right:0; bottom:0; z-index:999;
    width:min(86vw,360px);
    background:var(--bsa-primary);
    padding:76px 20px 96px;
    overflow:auto;
  }

  /* Scrim behind drawer */
  .bsa-scrim{
    position:fixed; inset:0; background:rgba(0,0,0,.45);
    opacity:0; pointer-events:none; z-index:998;
    transition:opacity .18s ease-in-out;
  }
  .bsa-navshell.open .bsa-scrim{ opacity:1; pointer-events:auto; }

  /* Close (✕) */
  .bsa-close{
          position: fixed;
        top: 12px;
        left: 3px;
        z-index: 1000;
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 999px;
        background: var(--bsa-white);
        color: var(--bsa-ink);
        font-size: 22px;
        line-height: 19px;
        text-align: center;
        display: none;
        box-shadow: 0 6px 14px rgba(0, 0, 0, .15);
        padding: 0px;
  }
  .bsa-navshell.open .bsa-close{ display:block; }

  /* Bottom CTA */
  .bsa-mobile-cta{
    position:fixed; right:20px; bottom:20px; z-index:1000;
    display:none; text-align:center; padding:14px 16px; border-radius:999px;
    background:var(--bsa-green); color:var(--bsa-white); font-weight:800; letter-spacing:.3px;
    text-decoration:none; box-shadow:0 10px 24px rgba(0,0,0,.18);
  }
  .bsa-navshell.open .bsa-mobile-cta{ display:block; }

  /* Drawer items */
  .bsa-mainnav .menu > li{ display:block; }
  .bsa-mainnav .menu > li > a{
    color:#fff; padding:14px 12px; display:flex; align-items:center; justify-content:space-between;
    border-bottom:1px solid rgba(255,255,255,.18); height:auto; line-height:1.2; border-radius:8px;
    text-decoration:none;
  }
  .bsa-mainnav .menu > li.current-menu-item > a,
  .bsa-mainnav .menu > li > a:hover{ background:rgba(255,255,255,.12); }

  /* Home pill near the top of drawer (optional) */
  .bsa-badge-home{ display:none; }
  .bsa-navshell.open .bsa-badge-home{
    position:fixed; top:20px; left:calc(100vw - min(86vw,360px) + 20px);
    display:inline-block; z-index:1000;
    background:var(--bsa-green); color:#fff; padding:10px 16px; border-radius:12px; font-weight:800;
  }

  /* Submenus */
  .bsa-subtoggle{
    display:inline-flex; align-items:center; justify-content:center;
    margin-left:10px; width:26px; height:26px; border-radius:999px;
    background:rgba(255,255,255,.18); color:#fff; font-weight:700;
  }
  .bsa-mainnav .menu li ul{ display:none; position:static; background:transparent; box-shadow:none; padding-left:10px; }
  .bsa-mainnav .menu li.bsa-open > ul{ display:block; }
  .bsa-mainnav .menu li ul a{
    color:#fff; border-bottom:1px dashed rgba(255,255,255,.25); padding:10px 10px;
  }
}

/* Desktop: hide drawer helpers */
@media (min-width:1025px){
  .bsa-scrim,.bsa-close,.bsa-mobile-cta{ display:none !important; }
}

/* Floating quick-contact buttons */
.bsa-fabs{position:fixed;right:12px;bottom:80px;display:flex;flex-direction:column;gap:12px;z-index:1000}
.bsa-fab{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.15);background:var(--bsa-white)}
.bsa-fab[data-type="call"]{border:2px solid var(--bsa-primary)}
.bsa-fab[data-type="whatsapp"]{border:2px solid var(--bsa-green)}
.bsa-fab[data-type="email"]{border:2px solid var(--bsa-ink)}
.bsa-fab svg{width:22px;height:22px;fill:currentColor;color:var(--bsa-ink)}
@media (max-width:480px){ .bsa-fabs{right:8px;bottom:70px} }



/* ========== BSA Footer (widgetized) ========== */
.bsa-footer{
  background:#000; color:#fff; padding:48px 0 0;
}
.bsa-footer a{ color:#fff; text-decoration:none; }
.bsa-footer a:hover{ opacity:.9; }

.bsa-footer-grid{
  display:grid; gap:28px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width:1024px){
  .bsa-footer-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width:640px){
  .bsa-footer-grid{ grid-template-columns: 1fr; }
}

/* Column basics */
.bsa-ft-col .bsa-ft-title{
  font-weight:800; text-transform:uppercase; margin:0 0 16px; color:#fff;
  position:relative;
}
.bsa-ft-col .bsa-ft-title::after{
  content:""; display:block; width:120px; height:6px; border-radius:3px;
  background:#63a15a; margin-top:10px;
}

/* About column helpers (optional) */
.bsa-ft-about img{ max-width:120px; height:auto; display:block; margin-bottom:12px; }
.bsa-ft-about .bsa-social{ display:flex; gap:10px; margin-top:16px; }
.bsa-ft-about .bsa-social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:32px; background:#fff; color:#000; border-radius:4px;
}

/* Popular list with check marks */
.bsa-ft-popular ul{ list-style:none; margin:0; padding:0; }
.bsa-ft-popular li{
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 10px 0;
    border-bottom: 1px solid rgb(255 170 73 / 48%);
    line-height: 1;}
.bsa-ft-popular li::before{ content:"✔"; color:#fff; }

/* Payment grid – drop payment logos inside widget (images or HTML) */
.bsa-ft-payments .bsa-paygrid{
  display:grid; grid-template-columns:repeat(2, minmax(80px, 120px)); gap:14px;
}
.bsa-ft-payments img{ width:100%; height:auto; display:block; background:#fff; border-radius:8px; padding:8px; }

/* Contact list */
.bsa-ft-contact ul{ list-style:none; margin:0; padding:0; }
.bsa-ft-contact li{ display:flex; gap:10px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.bsa-ft-contact li .icon{ width:18px; text-align:center; opacity:.9; }

/* Copyright strip */
.bsa-copyright{ background:#fdae50; color:#000; margin-top:32px; }
.bsa-copyright p{ margin:0; padding:12px 0; text-align:center; font-weight:600; }

/* ========== Mobile Countries Bar (widget) ========== */
/* Hidden on desktop */
.bsa-cbar{ display:none; }

@media (max-width:1024px){
  .bsa-cbar{
    display:block; position:fixed; bottom:0; left:0; right:0; z-index:1000;
    background:#fdae50; /* use your primary */
    box-shadow:0 -8px 20px rgba(0,0,0,.18);
  }
  .bsa-cbar .bsa-container{ padding:0 8px; }

  /* Accept either a menu widget or custom HTML UL */
  .bsa-cbar .menu,
  .bsa-country-list{
    display:flex; gap:4px; margin:0; padding:8px 0; list-style:none; overflow:auto;
  }
  .bsa-cbar .menu li,
  .bsa-country-list li{ flex:0 0 auto; }

  .bsa-cbar .menu a,
  .bsa-country-list a{
    display:block; padding:10px 14px; border-radius:8px 8px 0 0;
    background:#000; color:#fff; font-weight:700; text-decoration:none;
  }

  /* Push page content above the fixed bar (safe area) */
  body{ padding-bottom:56px; } /* adjust if your bar gets taller */
}


/* ===== BSA Tour Grid (container you place around the loop) ===== */
.bsa-tour-grid{
  display:grid; gap:20px;
  grid-template-columns:repeat(4, minmax(0,1fr));
}
@media (max-width:1024px){
  .bsa-tour-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:640px){
  .bsa-tour-grid{ grid-template-columns:1fr; }
}

/* ===== BSA Tour Card ===== */
:root{
  --bsa-primary:#fdae50; /* main */
  --bsa-green:#63a15a;   /* accent */
  --bsa-ink:#000;
  --bsa-white:#fff;
  --bsa-bg:#ffaa491c;
}

.bsa-tour-card{
  background:var(--bsa-white);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  transition:transform .2s ease, box-shadow .2s ease;
  display:flex; flex-direction:column;
}
.bsa-tour-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}

/* Image + overlay */
.bsa-tour-imgwrap{ position:relative; display:block; overflow:hidden; }
.bsa-tour-img{ width:100%; height:auto; display:block; }
.bsa-tour-imgwrap .bsa-tour-img{ transform:scale(1); transition:transform .35s ease; }
.bsa-tour-imgwrap:hover .bsa-tour-img{ transform:scale(1.05); }

.bsa-tour-img--placeholder{ background:#ffaa491c; padding-bottom:62%; }

/* Overlay with “Book Safari” on hover */
.bsa-tour-overlay{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.35);
  opacity:0; transform:translateY(8px);
  transition:opacity .25s ease, transform .25s ease;
}
.bsa-tour-imgwrap:hover .bsa-tour-overlay{ opacity:1; transform:translateY(0); }
.bsa-tour-overlay-pill{
  background:var(--bsa-primary); color:var(--bsa-white);
  font-weight:800; padding:10px 18px; border-radius:999px; letter-spacing:.2px;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

/* Body */
.bsa-tour-body{ padding:14px 14px 18px; }
.bsa-tour-title{ margin:8px 0 6px; font-size:20px; line-height:1.25; }
.bsa-tour-title a{ color:var(--bsa-ink); text-decoration:none; }
.bsa-tour-title a:hover{ color:var(--bsa-ink); opacity:.85; }

.bsa-tour-excerpt{ margin:0 0 14px; color:#4a4a4a; }

/* Button */
.bsa-tour-btn{
  display:inline-block; background:var(--bsa-primary); color:var(--bsa-ink);
  font-weight:700; padding:10px 16px; border-radius:8px; text-decoration:none;
  box-shadow:0 6px 14px rgba(0,0,0,.12); transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.bsa-tour-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(0,0,0,.18); }



/* ===== Palette ===== */
:root{
  --bsa-primary:#fdae50; /* main */
  --bsa-green:#63a15a;   /* accent */
  --bsa-ink:#000;
  --bsa-white:#fff;
  --bsa-bg:#ffaa491c;
}

/* ===== Layout ===== */
.bsa-single-tour .bsa-container{max-width:1300px;margin:0 auto;padding:0 16px}
.bsa-single-wrap{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin:24px auto}
@media (max-width:1024px){ .bsa-single-wrap{grid-template-columns:1fr} }

/* ===== HERO ===== */
.bsa-tour-hero{padding:10px 0 0;background:var(--bsa-bg)}
.bsa-hero-media{position:relative;border-radius:12px;overflow:hidden}
.bsa-hero-img{width:100%;height:420px;object-fit:cover;display:block;transform:scale(1);transition:transform .4s ease}
.bsa-hero-placeholder{background:#ddd;height:420px}
.bsa-hero-media:hover .bsa-hero-img{transform:scale(1.05)}
.bsa-hero-overlay{
  position:absolute; inset:0; display:flex; align-items:flex-end; padding:16px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.45) 100%);
}
.bsa-hero-title{
  color:#fff; font-size:28px; line-height:1.2; font-weight:800; margin:0 12px 12px 0;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.bsa-hero-pill{
  margin:0 0 16px auto; align-self:flex-end; display:none;
  background:var(--bsa-primary); color:#fff; font-weight:800; padding:10px 16px;
  border-radius:999px; box-shadow:0 10px 24px rgba(0,0,0,.18)
}
.bsa-hero-media:hover .bsa-hero-pill{display:inline-block}
@media (max-width:640px){
  .bsa-hero-img{height:240px}
  .bsa-hero-title{font-size:22px}
}

/* ===== Sections ===== */
.bsa-sec{background:var(--bsa-white);border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:18px;margin-bottom:18px}
.bsa-sec-title{
  margin:0 0 10px;font-weight:800;color:var(--bsa-ink);font-size:22px;line-height:1.25;position:relative;padding-bottom:8px
}
.bsa-sec-title:after{content:"";display:block;width:140px;height:6px;border-radius:3px;background:var(--bsa-green);margin-top:8px}
.bsa-sec-body{color:#333}
.bsa-itenary h2,.bsa-itenary h3{margin-top:18px}

/* Highlights + general lists */
.bsa-list{list-style:none;padding:0;margin:0}
.bsa-list li{position:relative;padding:8px 0 8px 28px;border-bottom:1px solid rgba(0,0,0,.06)}
.bsa-list li:before{content:"✔";position:absolute;left:0;top:8px;color:var(--bsa-primary);font-weight:800}
.bsa-list--highlights li:before{color:#fff;background:var(--bsa-green);border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:18px;top:10px}

/* Includes / Excludes cards */
.bsa-incexc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:1024px){ .bsa-incexc-grid{grid-template-columns:1fr} }
.bsa-card{border-radius:12px;overflow:hidden;background:#f9f9f9;border:1px solid rgba(0,0,0,.06)}
.bsa-card-title{margin:0;padding:12px 14px;font-weight:800}
.bsa-card--inc .bsa-card-title{background:var(--bsa-green);color:#fff}
.bsa-card--exc .bsa-card-title{background:var(--bsa-primary);color:#000}
.bsa-card .bsa-list{padding:12px 14px}
.bsa-card--exc .bsa-list li:before{content:"✖";color:#000}

/* ===== Sidebar widgets ===== */
.bsa-single-side .bsa-side-widget{
  background:#fff;border-radius:12px;padding:14px;margin-bottom:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.06)
}
.bsa-single-side .bsa-side-title{
  margin:0 0 10px;font-weight:800;font-size:16px;position:relative;padding-bottom:6px
}
.bsa-single-side .bsa-side-title:after{
  content:"";display:block;width:120px;height:5px;border-radius:3px;background:var(--bsa-green);margin-top:6px
}
.bsa-single-side .menu,.bsa-single-side ul{list-style:none;margin:0;padding:0}
.bsa-single-side li{border-bottom:1px solid rgba(0,0,0,.08);padding:10px 4px}
.bsa-single-side a{text-decoration:none;color:#333}
.bsa-single-side a:hover{color:#000}

.bsa-tour-excerpt {
    color: #4a4a4a;
    height: 70px;
    overflow: hidden;
}

.bsa-tour-imgwrap .bsa-tour-img {
    height: 180px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    object-fit: cover;
}


/* === BSA Page template: FLEX layout (left content, right sidebar) === */
.bsa-page-wrap{
  display:flex !important;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:flex-start;          /* sidebar starts at top */
  gap:24px;  
	margin-top:80px;
	/* space between columns */
}

/* Left column (content) */
.bsa-page-main{
  flex:1 1 auto;                   /* take remaining width */
  min-width:0;                     /* prevent overflow from wide children */
  order:0 !important;
  float:none !important;           /* kill theme floats */
  width:auto !important;
}

/* Right column (sidebar) */
.bsa-page-side{
  flex:0 0 clamp(280px, 30%, 380px);  /* responsive fixed-ish column */
  max-width:clamp(280px, 30%, 380px);
  order:1 !important;
  float:none !important;
  width:auto !important;
}

/* Stack on tablet/mobile */
@media (max-width:1024px){
  .bsa-page-wrap{
    flex-direction:column;
    gap:18px;
  }
  .bsa-page-main,
  .bsa-page-side{
    flex:1 1 auto;
    max-width:100%;
  }
}


a:active, a:hover {
    color: #fdae50!important;
}

.bsa-container-main{
	display:flex;
	justify-content:center;
	padding-top:70px;
	padding-bottom:70px;
}




