/* Resort Aventura — Home (V9) — Barycz Pro
   - Vertical rhythm consistent
   - Full-bleed green sections without shifting layout
   - Leaflet map edge-to-edge
   - WhatsApp button uses updated phone (set in PHP)
*/

/* ===== Tokens ===== */
:root{
  --ink:#0f1720;
  --text:rgba(15,23,32,.82);
  --muted:rgba(15,23,32,.60);
  --line:rgba(15,23,32,.10);
  --soft:#f6f3ec;
  --accent:#c9a86a;
  --dark:#0b0f12;
  --dark2:#0f151b;

  --max:1180px;
  --radius:22px;

  --shadow:0 14px 40px rgba(0,0,0,.18);
  --shadowSoft:0 10px 30px rgba(0,0,0,.10);

  /* spacing system */
  --ra-gap:110px;        /* section padding (desktop) */
  --ra-gap-sm:80px;      /* section padding (mobile) */
  --ra-stack:42px;       /* space below section header (desktop) */
  --ra-stack-sm:28px;    /* space below section header (mobile) */
}

/* ===== Base ===== */
html, body{ width:100%; max-width:100%; overflow-x:hidden !important; margin:0 !important; padding:0 !important; }
body{
  font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
}
main, .ra-home, .ra-section, .ra-wrap{ margin:0 !important; }

.ra-home, .ra-hero, .ra-topbar{ max-width:100%; overflow-x:hidden; }
.rav3-container, .ra-container{ width:min(var(--max), calc(100% - 40px)); margin:0 auto; }

.ra-home{ background:#fff; padding:0 !important; }

/* ===== Typography ===== */
.ra-section{ padding:var(--ra-gap) 0; }
.ra-section--dark{ background:linear-gradient(180deg, var(--dark), var(--dark2)); color:#fff; }
.ra-section--light{ background:#fff; color:var(--ink); }

.ra-eyebrow{
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(15,23,32,.60);
  margin:0 0 10px;
}
.ra-eyebrow--light{ color:rgba(255,255,255,.72); }

.ra-h2{
  font-size:clamp(28px, 2.6vw, 42px);
  line-height:1.1;
  margin:0 0 14px;
}
.ra-h2--light{ color:#fff; }

.ra-lead{
  font-size:16px;
  line-height:1.7;
  color:var(--text);
  margin:0;
  max-width:60ch;
}
.ra-lead--light{ color:rgba(255,255,255,.78); }

.ra-note{ font-size:13px; color:var(--muted); margin:10px 0 0; }
.ra-note--light{ color:rgba(255,255,255,.62); }

/* ===== Buttons ===== */
.ra-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:800;
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  white-space:nowrap;
}
.ra-btn:hover{ transform:translateY(-1px); box-shadow:var(--shadowSoft); }
.ra-btn--primary{ background:var(--accent); color:#1a1206; }
.ra-btn--ghost{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.22); color:#fff; }
.ra-btn--block{ width:100%; margin-top:14px; }
.ra-btn--cta{ padding:14px 20px; font-size:13px; letter-spacing:.06em; }
@media (max-width:900px){ .ra-btn--cta{ width:100%; } }

/* ===== HERO ===== */
.ra-hero{
  position:relative;
  min-height:100svh;
  width:100vw;
  display:grid;
  place-items:center;
  padding:110px 0 70px;
  background:var(--dark);
  color:#fff;
  text-align:center;
  overflow:hidden;
}
.ra-hero__slides{ position:absolute; inset:0; overflow:hidden; }
.ra-hero__slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transform:scale(1.05);
  filter:saturate(110%) contrast(106%);
  opacity:0;
  animation: raFade 28s infinite;
}
.ra-hero__slide.is-1{
  background-image:url("https://images.unsplash.com/photo-1501785888041-af3ef285b470?q=80&w=2400&auto=format&fit=crop");
  animation-delay:0s;
}
.ra-hero__slide.is-2{
  background-image:url("https://images.unsplash.com/photo-1520970014086-2208d157c9e2?q=80&w=2400&auto=format&fit=crop");
  animation-delay:7s;
}
.ra-hero__slide.is-3{
  background-image:url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?q=80&w=2400&auto=format&fit=crop");
  animation-delay:14s;
}
.ra-hero__slide.is-4{
  background-image:url("https://images.unsplash.com/photo-1520975916090-3105956dac38?q=80&w=2400&auto=format&fit=crop");
  animation-delay:21s;
}
@keyframes raFade{
  0%{opacity:0}
  6%{opacity:1}
  25%{opacity:1}
  31%{opacity:0}
  100%{opacity:0}
}
.ra-hero__overlay{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.78), rgba(0,0,0,.28), rgba(0,0,0,.90)); }
.ra-hero__content{ position:relative; z-index:2; max-width:920px; padding:0 20px; }
.ra-hero__title{ font-size:clamp(34px, 3.8vw, 60px); line-height:1.03; margin:8px 0 12px; }
.ra-hero__subtitle{ margin:0 auto 20px; font-size:16px; line-height:1.7; color:rgba(255,255,255,.80); max-width:70ch; }
.ra-hero__actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:18px 0; }
.ra-trust{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.ra-chip{ padding:8px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:rgba(255,255,255,.88); font-size:13px; }
.ra-copy-fade{ animation: raCopy .35s ease both; }
@keyframes raCopy{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }
.ra-scroll{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); width:44px; height:44px; border-radius:999px; border:1px solid rgba(255,255,255,.22); display:grid; place-items:center; background:rgba(255,255,255,.06); text-decoration:none !important; z-index:3; }
.ra-scroll span{ width:6px; height:6px; border-radius:999px; background:rgba(255,255,255,.85); animation:dot 1.8s ease-in-out infinite; }
@keyframes dot{ 0%,100%{ transform:translateY(-5px); opacity:.7; } 50%{ transform:translateY(6px); opacity:1; } }

/* ===== Editorial / Mosaic ===== */
.ra-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:var(--ra-stack); }
.ra-head__cta{ text-align:right; }
@media (max-width:900px){
  .ra-head{ flex-direction:column; align-items:flex-start; margin-bottom:var(--ra-stack-sm); }
  .ra-head__cta{ text-align:left; }
}
.ra-mosaic{ margin-top:24px; display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap:16px; align-items:stretch; }
@media (max-width:980px){ .ra-mosaic{ grid-template-columns:1fr; } }
.ra-mosaic__tile{
  display:block; position:relative; border-radius:28px; overflow:hidden;
  min-height:240px; background-size:cover; background-position:center;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 42px rgba(0,0,0,.40);
}
.ra-mosaic__tile--tall{ min-height:520px; }
.ra-mosaic__tile::before{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.65)); }
.ra-mosaic__label{
  position:absolute; left:16px; bottom:16px;
  padding:10px 14px; border-radius:999px;
  background: rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.16);
  color:#fff; font-weight:800; letter-spacing:.02em;
}
.ra-glass{
  border-radius:28px; border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06); backdrop-filter: blur(12px);
  box-shadow:0 18px 50px rgba(0,0,0,.35); color:rgba(255,255,255,.88);
}
.ra-mosaic__card{ padding:18px; border-radius:28px; }
.ra-stats__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.ra-stat__k{ font-weight:900; color:#fff; font-size:14px; letter-spacing:.02em; }
.ra-stat__v{ margin-top:4px; color:rgba(255,255,255,.78); font-weight:600; font-size:14px; }
.ra-section--dark a{ color:inherit; text-decoration:none !important; }
.ra-section--dark a:hover{ text-decoration:none !important; }

/* Keep “Ver paquetes” from looking too chunky */
.ra-mosaic__card .ra-btn--block{
  width:100% !important;
  max-width:360px !important;
  margin:18px auto 0 !important;
  padding:12px 18px !important;
}

/* ===== Packages (Light) ===== */
#paquetes.ra-section--light{ padding-top:calc(var(--ra-gap) + 24px); } /* pushes title down */
.ra-packages{ margin-top:22px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:980px){ .ra-packages{ grid-template-columns:1fr; } }
.ra-package--light{
  background:rgba(15,23,32,.04);
  border:1px solid rgba(15,23,32,.10);
  color:rgba(15,23,32,.88);
  box-shadow:0 18px 42px rgba(0,0,0,.08);
}
.ra-package{ padding:20px; border-radius:28px; }
.ra-package__tag{
  display:inline-flex; padding:8px 10px; border-radius:999px;
  background:rgba(201,168,106,.18);
  border:1px solid rgba(201,168,106,.35);
  color:rgba(15,23,32,.80);
  font-weight:800; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; margin:0 0 12px;
}
.ra-h3{ font-size:20px; margin:0 0 10px; color:rgba(15,23,32,.94); }
.ra-package__desc{ margin:0 0 14px; color:rgba(15,23,32,.72); line-height:1.7; }
.ra-bullets{ list-style:none; padding:0; margin:0 0 16px; display:flex; flex-wrap:wrap; gap:8px; }
.ra-bullets li{
  padding:8px 10px; border-radius:999px;
  background:rgba(15,23,32,.05);
  border:1px solid rgba(15,23,32,.08);
  color:rgba(15,23,32,.74);
  font-weight:700; font-size:13px;
}
.ra-package__foot{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding-top:14px;
  border-top:1px solid rgba(15,23,32,.08);
}
.ra-price{ font-weight:900; color:rgba(15,23,32,.86); }

/* ===== Full-bleed helper (NO shifting) ===== */
.ra-fullbleed{ position:relative; overflow:visible; }
.ra-fullbleed--green::before{
  content:"";
  position:absolute;
  inset:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  background: linear-gradient(180deg,#0b2a22 0%,#0a241e 55%,#071c17 100%);
  z-index:0;
}
.ra-fullbleed > .ra-wrap{
  position:relative;
  z-index:1;
  max-width:var(--max);
  margin:0 auto;
  padding:88px 24px 72px;
}
@media (max-width:768px){
  .ra-section{ padding:var(--ra-gap-sm) 0; }
  .ra-fullbleed > .ra-wrap{ padding:72px 18px 58px; }
  #paquetes.ra-section--light{ padding-top:calc(var(--ra-gap-sm) + 18px); }
}

/* ===== Testimonials (Green) ===== */
.ra-testimonials{ color:rgba(255,255,255,.92); text-align:left; }
.ra-testimonials .ra-eyebrow{ color:rgba(255,255,255,.72); }
.ra-testimonials .ra-h2{ color:#fff; }
.ra-testimonials .ra-lead{ color:rgba(255,255,255,.78); }

.ra-tcard{
  border-radius:28px;
  padding:34px;
  background: linear-gradient(180deg, rgba(201,168,106,.96), rgba(201,168,106,.90));
  color: rgba(15,23,32,.92);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  max-width:980px;
  margin:26px 0 0;
}
.ra-tcard__top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.ra-avatar{ width:64px; height:64px; border-radius:999px; object-fit:cover; border:2px solid rgba(255,255,255,.25); }
.ra-tname{ font-weight:900; color:rgba(15,23,32,.95); }
.ra-stars{ letter-spacing:.14em; color:rgba(255,255,255,.95); font-weight:900; }
.ra-ttext{ margin:0; color:rgba(15,23,32,.84); line-height:1.75; font-size:19px; max-width:80ch; }

.ra-dots{ display:flex; gap:8px; margin-top:18px; }
.ra-dot{ width:10px; height:10px; border-radius:999px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.10); opacity:.45; }
.ra-dot.is-active{ background:rgba(201,168,106,.9); border-color:rgba(201,168,106,.9); opacity:1; }

/* ===== Map (Green) ===== */
.ra-map{ color:rgba(255,255,255,.92); }
.ra-map .ra-eyebrow{ color:rgba(255,255,255,.72); } /* fixes black eyebrow */
.ra-map .ra-h2{ color:#fff; }
.ra-map .ra-lead{ color:rgba(255,255,255,.78); }

.ra-map__note{
  margin-top:18px;
  padding:12px 14px;
  border-radius:18px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.88);
  font-weight:700;
}

/* Leaflet container (edge-to-edge) */
.ra-map #raLeafletMap.ra-map__leaflet{
  /* true full-bleed without shifting layout */
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:28px;
  margin-bottom:0; /* remove blank gap after map */
  border-radius:0;
  overflow:hidden;
  border:0;
  box-shadow:none;
  background:#071c17;
  height:640px;     /* larger / more premium */
  min-height:640px;
}
@media (max-width:900px){
  .ra-map #raLeafletMap.ra-map__leaflet{ height:460px; min-height:460px; }
}
#raLeafletMap,
#raLeafletMap .leaflet-container,
.leaflet-container{ width:100% !important; height:100% !important; background:#0b0f14; }
.leaflet-tile{ filter:saturate(1.05) contrast(1.05) brightness(0.98); }
.leaflet-control-attribution{ opacity:.7; }

.ra-office-pin__dot{
  display:block;
  width:14px; height:14px;
  border-radius:999px;
  background: rgba(201,168,106,.95);
  box-shadow: 0 0 0 3px rgba(201,168,106,.18), 0 10px 22px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.30);
}
.ra-distance-label{
  background: rgba(0,0,0,.55) !important;
  color: rgba(255,255,255,.92) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.35) !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

/* ===== Footer ===== */
.rav3-footer{ background:#070b0e; color:rgba(255,255,255,.78); padding:48px 0; border-top:1px solid rgba(255,255,255,.08); }
.rav3-footer__grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:18px; }
@media (max-width:900px){ .rav3-footer__grid{ grid-template-columns:1fr; } }
.rav3-footer__brand{ color:#fff; letter-spacing:.02em; }
.rav3-footer__title{ margin:0 0 8px; color:#fff; font-weight:800; }
.rav3-footer__text{ margin:8px 0 0; color:rgba(255,255,255,.72); line-height:1.7; }
.rav3-footer__link{ color:rgba(255,255,255,.86); }
.rav3-footer__copy{ margin-top:22px; font-size:13px; color:rgba(255,255,255,.55); }

/* ===== WhatsApp Floating ===== */
.ra-wa{
  position:fixed; right:18px; bottom:18px; z-index:999;
  padding:12px 14px;
  border-radius:999px;
  background:rgba(15,23,32,.92);
  color:#fff;
  text-decoration:none !important;
  font-weight:900;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);
}

/* =========================================================
   v9.1 BARYCZ PRO — SPACING + MAP CLEANUP
   - Restores consistent breathing room between sections
   - Keeps map edge-to-edge and taller
   - Removes any blank/white space after map
========================================================= */

:root{ --ra-gap-lg:110px; --ra-gap-sm:80px; }

/* Ensure packages section ends with air before testimonials */
#paquetes.ra-section--light{ padding-bottom: var(--ra-gap-lg) !important; }

/* Testimonials rhythm (avoid huge empty band, keep elegant padding) */
.ra-testimonials.ra-fullbleed > .ra-wrap{
  padding-top: 92px !important;
  padding-bottom: 92px !important;
}

/* Map: no bottom padding so the next section/footer starts immediately */
.ra-map.ra-fullbleed{ padding-bottom: 0 !important; }
.ra-map.ra-fullbleed > .ra-wrap{
  padding-top: 92px !important;
  padding-bottom: 0 !important;
}

/* Just in case: kill accidental margins inserted by WP/theme */
.ra-map, .ra-map *{ margin-bottom: 0; }

@media (max-width:768px){
  #paquetes.ra-section--light{ padding-bottom: var(--ra-gap-sm) !important; }
  .ra-testimonials.ra-fullbleed > .ra-wrap{ padding-top: 72px !important; padding-bottom: 72px !important; }
  .ra-map.ra-fullbleed > .ra-wrap{ padding-top: 72px !important; padding-bottom: 0 !important; }
}
/* Map */
.ra-map{ color:rgba(255,255,255,.92); }
.ra-map .ra-eyebrow{ color:rgba(255,255,255,.72); }
.ra-map .ra-h2{ color:#fff; }
.ra-map .ra-lead{ color:rgba(255,255,255,.78); }
.ra-map__note{ margin-top:16px; padding:12px 14px; border-radius:18px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.22); color:rgba(255,255,255,.88); font-weight:700; }

/* The map itself: TRUE edge-to-edge, centered, taller */
#raLeafletMap.ra-map__leaflet{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:100vw !important;
  max-width:100vw !important;
  height:620px !important;
  min-height:620px !important;
  margin: 26px 0 0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  border:0 !important;
  box-shadow:none !important;
  background: var(--forestB) !important;
}

/* Leaflet requires real dimensions */
#raLeafletMap, #raLeafletMap .leaflet-container{ width:100% !important; height:100% !important; }
.leaflet-container{ background:#0b0f14; }
.leaflet-tile{ filter:saturate(1.05) contrast(1.05) brightness(0.98); }
.leaflet-control-attribution{ opacity:.7; }

.ra-distance-label{
  background: rgba(0,0,0,.55) !important;
  color: rgba(255,255,255,.92) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.35) !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

/* IMPORTANT: remove any white band after map by ending the green section tightly */
#ubicacion.ra-map.ra-fullbleed > .ra-wrap{ padding-bottom: 0 !important; }
#ubicacion.ra-map.ra-fullbleed{ padding-bottom: 0 !important; }

/* Footer: ensure it hugs the section (no margins) */
.rav3-footer{ margin-top:0 !important; background:#070b0e; color:rgba(255,255,255,.78); padding:48px 0; border-top:1px solid rgba(255,255,255,.08); }

/* WhatsApp floating button */
.ra-wa{ position:fixed; right:18px; bottom:18px; z-index:999; padding:12px 14px; border-radius:999px; background:rgba(15,23,32,.92); color:#fff; text-decoration:none !important; font-weight:900; border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow); }

/* Mobile */
@media (max-width:768px){
  .ra-section{ padding: var(--gap-sm) 0; }
  #paquetes.ra-section--light{ padding-top: calc(var(--gap-sm) + 18px); padding-bottom: calc(var(--gap-sm) + 18px); }
  .ra-fullbleed > .ra-wrap{ padding: var(--gap-sm) 18px; }
  #raLeafletMap.ra-map__leaflet{ height:460px !important; min-height:460px !important; }
  .ra-ttext{ font-size:18px; }
}