/*
Theme Name: Turismo Elementor
Theme URI: https://example.com/turismo-elementor
Author: Agencia
Description: Tema ligero para una agencia de turismo, compatible con Elementor gratuito.
Version: 3.3.5
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: turismo-elementor
*/

:root {
  --turismo-primary: #0f5c4d;
  --turismo-accent: #e99a27;
  --turismo-dark: #17342e;
  --turismo-light: #f5f1e8;
  --turismo-white: #fff;
  --turismo-text: #27332f;
  --turismo-radius: 18px;
  --turismo-shadow: 0 16px 40px rgba(18, 51, 44, 0.12);
  --turismo-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--turismo-text);
  background: var(--turismo-white);
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
h1,h2,h3,h4,h5,h6 { letter-spacing:-.025em; }
.turismo-hero h1,.section-heading h2,.why-layout h2,.tour-grid .tour-card h2,.tour-detail-hero h1,.tour-detail-content h2,.tour-highlights h2,.tour-managed-sections h2 { font-family:Merriweather,Georgia,serif; }
a { color: var(--turismo-primary); text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.site-container { width: min(100% - 32px, var(--turismo-container)); margin-inline: auto; }
.site-header { position: relative; z-index: 20; background: #fff; box-shadow: 0 2px 18px rgba(0,0,0,.07); }
.site-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-branding { display: flex; align-items: center; gap: 12px; color: var(--turismo-dark); font-size: 1.2rem; font-weight: 800; }
.custom-logo { max-height: 58px; width: auto; }
.site-nav ul { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; }
.site-nav a { color: var(--turismo-dark); font-weight: 650; }
.menu-toggle { display: none; border: 0; border-radius: 10px; padding: 10px 13px; background: var(--turismo-light); font: inherit; }
.site-main { min-height: 60vh; }
.content-shell { width: min(100% - 32px, var(--turismo-container)); margin: 64px auto; }
.turismo-hero { min-height: 72vh; display: grid; place-items: center; color: #fff; background: linear-gradient(90deg, rgba(8,43,36,.78), rgba(8,43,36,.25)), url('assets/hero-placeholder.svg') center/cover; }
.turismo-hero__content { width: min(100% - 32px, var(--turismo-container)); }
.turismo-kicker { color: #ffd58e; font-size: .85rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.turismo-hero h1 { max-width: 820px; margin: 12px 0 18px; font-size: clamp(2.7rem, 6vw, 5.7rem); line-height: .98; }
.turismo-hero p { max-width: 670px; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.turismo-button { display: inline-flex; margin-top: 15px; padding: 14px 24px; border-radius: 999px; color: #fff; background: var(--turismo-accent); font-weight: 800; }
.tour-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.tour-card { overflow: hidden; border-radius: var(--turismo-radius); background: #fff; box-shadow: var(--turismo-shadow); }
.tour-card__image { aspect-ratio: 4/3; background: #dce9e5; object-fit: cover; width: 100%; }
.tour-card__body { padding: 24px; }
.tour-card__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; color: #63746e; font-size: .88rem; }
.tour-card h2, .tour-card h3 { margin: 10px 0; line-height: 1.22; }
.tour-price { color: var(--turismo-primary); font-size: 1.25rem; font-weight: 850; }
.tour-single__hero { min-height:520px; display:flex; align-items:end; padding:90px 0; color:#fff; background-color:var(--turismo-dark); background-position:center; background-size:cover; }
.tour-single__hero h1 { max-width:850px; margin:10px 0; font-family:Georgia,serif; font-size:clamp(2.6rem,6vw,5.5rem); font-weight:500; line-height:1; }
.tour-single__hero p { max-width:620px; color:rgba(255,255,255,.82); }
.tour-content h2 { margin-top:42px; color:var(--turismo-dark); font-family:Georgia,serif; font-size:2rem; }
.tour-content h3 { color:var(--turismo-primary); }
.tour-content ul { padding:25px 25px 25px 45px; background:#edf2ed; }
.tour-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: -30px auto 45px; }
.tour-fact { padding: 20px; border-radius: 14px; background: #fff; box-shadow: var(--turismo-shadow); }
.tour-fact small { display: block; color: #74837e; }
.tour-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 45px; }
.tour-sidebar { align-self: start; position: sticky; top: 25px; padding: 28px; border-radius: var(--turismo-radius); background: var(--turismo-light); }
.site-footer { margin-top: 80px; padding: 55px 0 25px; color: rgba(255,255,255,.78); background: var(--turismo-dark); }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.site-footer a { color: #fff; }
.site-footer__bottom { margin-top: 35px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); }

@media (max-width: 800px) {
  .menu-toggle { display: block; }
  .site-nav { display: none; position: absolute; inset: 82px 0 auto; padding: 24px; background: #fff; }
  .site-nav.is-open { display: block; }
  .site-nav ul { align-items: stretch; flex-direction: column; }
  .tour-grid, .tour-facts, .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .tour-layout { grid-template-columns: 1fr; }
  .tour-sidebar { position: static; }
}
@media (max-width: 540px) {
  .tour-grid, .tour-facts, .site-footer__grid { grid-template-columns: 1fr; }
}

/* Experiencia visual premium */
body { background:#fbfaf6; }
.topbar { padding:8px 0; color:#dce7e2; background:#102f29; font-size:.75rem; letter-spacing:.04em; }
.topbar .site-container { display:flex; justify-content:space-between; }
.site-header { position:sticky; top:0; }
.site-header__inner { min-height:76px; }
.site-branding { line-height:1; }
.site-branding > span:last-child { display:grid; gap:5px; }
.site-branding small { color:#697972; font-size:.56rem; letter-spacing:.22em; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:50% 50% 47% 53%; color:#fff; background:var(--turismo-primary); font-family:Georgia,serif; font-size:1.4rem; }
.header-cta { padding:11px 19px; border-radius:3px; color:#fff; background:var(--turismo-accent); font-size:.84rem; font-weight:800; }
.turismo-hero { position:relative; min-height:calc(100vh - 116px); background-image:linear-gradient(90deg,rgba(7,31,26,.82) 0%,rgba(7,31,26,.4) 52%,rgba(7,31,26,.05) 100%),url('assets/hero-andes.webp'); }
.turismo-hero__content { padding:90px 0 130px; }
.turismo-hero h1 { max-width:900px; font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.045em; }
.turismo-hero h1 em,.section-heading em,.why-layout h2 em { color:#e8ad55; font-weight:400; }
.turismo-hero p { color:rgba(255,255,255,.87); }
.hero-actions { display:flex; align-items:center; gap:18px; margin-top:25px; }
.turismo-button { border-radius:3px; transition:.25s ease; box-shadow:0 8px 22px rgba(233,154,39,.23); }
.turismo-button:hover { color:#fff; transform:translateY(-3px); box-shadow:0 13px 28px rgba(233,154,39,.34); }
.button-ghost { padding:13px 20px; border-bottom:1px solid rgba(255,255,255,.65); color:#fff; font-weight:700; }
.hero-rating { display:flex; align-items:center; gap:12px; margin-top:45px; }
.hero-rating > strong { font-size:2rem; }
.hero-rating > span { color:#ffd274; letter-spacing:.1em; }
.hero-rating small { display:block; color:#fff; font-size:.7rem; letter-spacing:0; }
.scroll-cue { position:absolute; bottom:24px; left:50%; display:grid; color:#fff; font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; transform:translateX(-50%); }
.scroll-cue b { margin:auto; font-size:1.3rem; animation:bob 1.8s infinite; }
@keyframes bob { 50% { transform:translateY(7px); } }
.trust-strip { padding:26px 0; background:#fff; box-shadow:0 10px 40px rgba(26,55,48,.06); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid div { display:grid; padding:8px 25px; border-right:1px solid #e6e5df; }
.trust-grid div:last-child { border:0; }
.trust-grid b { color:var(--turismo-primary); font-family:Georgia,serif; font-size:1.7rem; }
.trust-grid span { color:#718079; font-size:.75rem; }
.section-intro { margin-top:100px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:40px; }
.section-heading h2,.why-layout h2 { max-width:660px; margin:10px 0; color:var(--turismo-dark); font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,4rem); font-weight:500; line-height:1.05; }
.section-heading p { max-width:450px; color:#64736d; }
.tour-grid { grid-template-columns:repeat(6,1fr); }
.tour-card { grid-column:span 2; position:relative; border-radius:4px; transition:.35s ease; }
.tour-card:nth-child(4),.tour-card:nth-child(5) { grid-column:span 3; }
.tour-card:hover { transform:translateY(-9px); box-shadow:0 24px 50px rgba(18,51,44,.18); }
.tour-card__image { aspect-ratio:16/10; transition:.6s ease; }
.tour-card:hover .tour-card__image { transform:scale(1.025); }
.tour-card__body { position:relative; }
.tour-badge { display:inline-block; margin-bottom:12px; padding:4px 9px; color:#fff; background:var(--turismo-primary); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tour-card h2 { font-family:Georgia,serif; font-size:1.45rem; }
.tour-card__meta span:before { content:'◆'; margin-right:5px; color:var(--turismo-accent); font-size:.55rem; }
.tour-card__footer { display:flex; align-items:end; justify-content:space-between; margin-top:17px; padding-top:16px; border-top:1px solid #e9e6df; }
.tour-card__footer small { color:#77847f; font-size:.68rem; text-transform:uppercase; }
.tour-arrow { display:grid; place-items:center; width:38px; height:38px; border:1px solid #d7dcd9; border-radius:50%; font-size:1.2rem; transition:.2s; }
.tour-arrow:hover { color:#fff; border-color:var(--turismo-primary); background:var(--turismo-primary); }
.center-action { display:flex; justify-content:center; margin-top:42px; }
.button-outline { padding:13px 23px; border:1px solid var(--turismo-primary); color:var(--turismo-primary); font-weight:800; }
.why-section { padding:110px 0; background:#e9efe9; }
.why-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.benefit-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.benefit-grid article { padding:28px; background:rgba(255,255,255,.75); border-bottom:3px solid transparent; transition:.25s; }
.benefit-grid article:hover { transform:translateY(-5px); border-color:var(--turismo-accent); }
.benefit-grid i { color:var(--turismo-accent); font-size:1.65rem; font-style:normal; }
.benefit-grid h3 { margin:12px 0 5px; }
.benefit-grid p { margin:0; color:#66746f; font-size:.88rem; }
.testimonial-section { padding:110px 0; color:#fff; text-align:center; background:#17342e; }
.testimonial-section blockquote { max-width:900px; margin:32px auto; font-family:Georgia,serif; font-size:clamp(1.6rem,3vw,2.75rem); line-height:1.35; }
.traveler { display:flex; align-items:center; justify-content:center; gap:13px; }
.traveler > span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#17342e; background:#e8ad55; font-weight:900; }
.traveler p { display:grid; margin:0; text-align:left; }
.traveler small { color:#aab9b3; }
.traveler strong { margin-left:15px; color:#e8ad55; }
.cta-band { padding:75px 0; color:#fff; background:#bf7123; }
.cta-band .site-container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-band h2 { margin:5px 0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.5rem); }
.turismo-button--light { color:#17342e; background:#fff; box-shadow:none; }
.turismo-button--light:hover { color:#17342e; }
.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:40; display:flex; align-items:center; gap:8px; padding:12px 17px; border-radius:99px; color:#fff; background:#22a966; box-shadow:0 10px 30px rgba(0,0,0,.2); font-weight:800; }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s ease,transform .75s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width:900px) {
  .header-cta,.topbar span:first-child { display:none; }
  .topbar .site-container { justify-content:center; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid div:nth-child(2) { border-right:0; }
  .section-heading,.cta-band .site-container { align-items:start; flex-direction:column; }
  .tour-grid { grid-template-columns:1fr 1fr; }
  .tour-card,.tour-card:nth-child(4),.tour-card:nth-child(5) { grid-column:span 1; }
  .why-layout { grid-template-columns:1fr; gap:45px; }
}
@media (max-width:600px) {
  .turismo-hero { min-height:720px; }
  .turismo-hero__content { padding-top:70px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .trust-grid,.tour-grid,.benefit-grid { grid-template-columns:1fr; }
  .trust-grid div { border-right:0; border-bottom:1px solid #e6e5df; }
  .section-heading { align-items:start; }
  .whatsapp-float span { display:none; }
}

/* Catálogo de tours */
.archive-hero { min-height:500px; display:flex; align-items:end; padding:90px 0 70px; color:#fff; background:linear-gradient(90deg,rgba(8,37,31,.9),rgba(8,37,31,.32)),url('assets/tour-salkantay.webp') center 48%/cover; }
.archive-hero h1 { margin:10px 0 20px; font-family:Georgia,serif; font-size:clamp(3rem,6vw,5.5rem); font-weight:500; line-height:1; letter-spacing:-.04em; }
.archive-hero h1 em { color:#e8ad55; font-weight:400; }
.archive-hero p { max-width:650px; color:rgba(255,255,255,.85); font-size:1.12rem; }
.archive-breadcrumb { display:flex; gap:10px; margin-top:35px; color:rgba(255,255,255,.72); font-size:.78rem; }
.archive-breadcrumb a { color:#fff; }
.tour-finder { position:relative; z-index:3; margin-top:-1px; background:#17342e; }
.finder-grid { display:grid; grid-template-columns:repeat(3,1fr) auto; }
.finder-grid label { display:grid; gap:3px; padding:22px 28px; color:#fff; border-right:1px solid rgba(255,255,255,.14); cursor:pointer; }
.finder-grid small { color:#9fb3ab; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.finder-grid span { display:flex; justify-content:space-between; font-weight:700; }
.finder-grid > a { display:grid; place-items:center; padding:20px 30px; color:#fff; background:var(--turismo-accent); font-weight:850; }
.archive-content { margin-top:90px; }
.archive-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:25px; }
.archive-heading h2 { margin:5px 0; font-family:Georgia,serif; font-size:clamp(2.4rem,4vw,4rem); font-weight:500; }
.archive-heading p { color:#728079; }
.archive-heading p strong { color:var(--turismo-primary); font-size:1.2rem; }
.filter-chips { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:35px; }
.filter-chips button { padding:9px 16px; border:1px solid #d7ded9; border-radius:99px; color:#4f615a; background:transparent; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; transition:.2s; }
.filter-chips button:hover,.filter-chips button.is-active { color:#fff; border-color:var(--turismo-primary); background:var(--turismo-primary); }
.archive-grid .tour-card:nth-child(4),.archive-grid .tour-card:nth-child(5) { grid-column:span 2; }
.trip-help { padding:80px 0; color:#fff; background:#bd6d22; }
.trip-help .site-container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.trip-help h2 { margin:6px 0; font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,3.8rem); font-weight:500; }
.trip-help p { max-width:650px; color:rgba(255,255,255,.86); }
.nav-links { display:flex; justify-content:center; gap:7px; margin-top:45px; }
.nav-links .page-numbers { display:grid; place-items:center; width:40px; height:40px; border:1px solid #d8dfda; }
.nav-links .current { color:#fff; background:var(--turismo-primary); }
@media (max-width:850px) {
  .finder-grid { grid-template-columns:1fr 1fr; }
  .finder-grid > a { grid-column:span 2; }
  .archive-grid .tour-card:nth-child(4),.archive-grid .tour-card:nth-child(5) { grid-column:span 1; }
  .trip-help .site-container { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px) {
  .archive-hero { min-height:560px; }
  .finder-grid { grid-template-columns:1fr; }
  .finder-grid > a { grid-column:span 1; }
  .archive-heading { align-items:flex-start; flex-direction:column; }
}

/* Responsive final: header y portada. Mantener al final para evitar reglas heredadas duplicadas. */
.elementor-global-header .eh-promo,
.elementor-global-header .eh-main,
.elementor-global-header .eh-nav { box-sizing:border-box; }
.elementor-global-header .eh-promo { }
.elementor-global-header .eh-main { }
.elementor-global-header .eh-nav { }
.eh-mobile-toggle { display:none; }

@media (max-width:700px) {
  .elementor-global-header { width:100%; }
  .elementor-global-header .eh-promo { min-height:0 !important; padding:6px 18px; }
  .elementor-global-header .eh-promo > .e-con-inner { min-height:0 !important; }
  .elementor-global-header .eh-promo p { font-size:.7rem; line-height:1.35; }
  .elementor-global-header .eh-utility,
  .elementor-global-header .eh-contact { display:none !important; }
  .elementor-global-header .eh-main { min-height:64px !important; height:64px; padding:6px 18px; }
  .elementor-global-header .eh-main > .e-con-inner { position:relative; min-height:52px; height:52px; display:flex; align-items:center; justify-content:space-between; flex-flow:row nowrap; gap:10px; }
  .elementor-global-header .eh-logo-wrap { width:auto; min-width:0; flex:0 1 145px; }
  .elementor-global-header .eh-logo-image,
  .elementor-global-header .eh-logo-image img { width:138px; height:48px; }
  .elementor-global-header .eh-whatsapp { width:auto; flex:0 0 auto; }
  .elementor-global-header .eh-whatsapp .elementor-button { min-height:39px; padding:10px 12px; font-size:0; border-radius:5px; }
  .elementor-global-header .eh-whatsapp .elementor-button-icon { margin:0; font-size:17px; }
  .elementor-global-header .eh-quote { display:none !important; }
  .eh-mobile-toggle { width:42px; height:42px; display:flex; align-items:center; justify-content:center; flex-direction:column; flex:0 0 42px; gap:5px; padding:0; color:#fff; border:1px solid #737e2e; border-radius:5px; background:var(--flowers-olive); box-shadow:none; cursor:pointer; }
  .eh-mobile-toggle span { width:19px; height:2px; display:block; border-radius:2px; background:currentColor; transition:transform .2s,opacity .2s; }
  .is-mobile-menu-open .eh-mobile-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .is-mobile-menu-open .eh-mobile-toggle span:nth-child(2) { opacity:0; }
  .is-mobile-menu-open .eh-mobile-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .elementor-global-header .eh-nav { display:none !important; height:auto; min-height:0; padding:10px 18px 16px; }
  .elementor-global-header.is-mobile-menu-open .eh-nav { display:block !important; }
  .elementor-global-header .eh-nav > .e-con-inner { width:100%; height:auto; min-height:0; display:flex; align-items:stretch; flex-direction:column; gap:0; overflow:visible; }
  .elementor-global-header .eh-nav-link,
  .elementor-global-header .eh-nav-menu-widget { width:100% !important; flex:0 0 auto !important; border-bottom:1px solid rgba(255,255,255,.10); }
  .elementor-global-header .eh-nav-link .elementor-button,
  .eh-nav-parent { width:100% !important; height:46px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; padding:0 4px; font-size:.72rem; }
  .eh-submenu { visibility:visible; position:static; width:100%; display:none; grid-template-columns:1fr; opacity:1; border:0; border-radius:0; box-shadow:none; transform:none; }
  .eh-nav-dropdown:focus-within .eh-submenu { display:grid; }
  .eh-submenu > div { padding:15px 18px; }
  .eh-submenu > div:first-child { border-right:0; }
  .eh-submenu .eh-submenu-footer { display:none; }

  .agency-home-slider { min-height:clamp(500px,72svh,620px); }
  .agency-slide { background-position:center center; transform:none; }
  .agency-slide-content { width:calc(100% - 40px); max-width:none; display:flex; justify-content:center; flex-direction:column; min-height:inherit; padding:44px 0 90px; }
  .agency-slide-content > span { font-size:.62rem; line-height:1.4; }
  .agency-slide-content h1 { max-width:100%; margin:10px 0 14px; font-size:clamp(2rem,10vw,3.15rem); line-height:1.05; overflow-wrap:anywhere; }
  .agency-slide-content p { max-width:100%; margin:0; font-size:.92rem; line-height:1.55; }
  .agency-slide-actions { width:100%; align-items:stretch; flex-direction:column; gap:9px; margin-top:22px; }
  .agency-slide-actions a { min-height:44px; display:flex; align-items:center; justify-content:center; padding:11px 16px; text-align:center; }
  .agency-slider-arrow { top:auto; bottom:22px; width:40px; height:40px; border-radius:50%; transform:none; }
  .agency-slider-arrow svg { width:19px; height:19px; }
  .agency-slider-arrow.is-prev { left:18px; }
  .agency-slider-arrow.is-next { right:18px; }
  .agency-slider-dots { bottom:38px; }
  .agency-slider-dots button { width:18px; height:3px; }
  .agency-slider-dots button.is-active { width:30px; }
}

/* Catálogo elegante para "Ver toda la categoría". */
.tour-category-hero-editable,.tour-category-hero-editable > .elementor { width:100%; }
.tour-category-elementor-hero { width:100%; max-width:none; min-height:460px !important; padding:76px max(24px,calc((100vw - 1200px)/2)) 62px; display:flex; justify-content:flex-end; color:#fff; }
.tour-category-elementor-hero > .e-con-inner { width:100% !important; max-width:1200px !important; margin-inline:auto; }
.tour-category-elementor-hero .elementor-widget-heading,.tour-category-elementor-hero .elementor-widget-text-editor,.tour-category-elementor-hero .elementor-widget-button { max-width:720px; }
.tour-category-elementor-hero .category-hero-kicker h6 { margin:0 0 10px; color:#b7c853; font-family:Montserrat,sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.tour-category-elementor-hero .category-hero-title h1 { margin:0 0 16px; color:#fff; font-family:Merriweather,Georgia,serif; font-size:clamp(2.8rem,5.5vw,5.2rem); line-height:1.02; letter-spacing:-.045em; }
.tour-category-elementor-hero .category-hero-description { color:rgba(255,255,255,.88); font-size:1.03rem; line-height:1.75; }
.tour-category-elementor-hero .category-hero-button .elementor-button { min-height:46px; margin-top:12px; padding:14px 22px; color:#fff; border:1px solid rgba(255,255,255,.65); border-radius:2px; background:rgba(12,35,29,.35); font-size:.7rem; font-weight:800; letter-spacing:.06em; }
.tour-category-hero { position:relative; min-height:460px; display:flex; align-items:end; isolation:isolate; color:#fff; background-image:linear-gradient(90deg,rgba(7,20,17,.94) 0%,rgba(10,31,25,.72) 48%,rgba(8,22,18,.25) 100%),var(--category-hero); background-position:center; background-size:cover; }
.tour-category-hero:after { content:''; position:absolute; z-index:-1; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(5,17,14,.55)); }
.tour-category-hero__inner { width:100%; padding-top:76px; padding-bottom:62px; }
.tour-category-hero .archive-breadcrumb { margin-bottom:42px; color:rgba(255,255,255,.72); }
.tour-category-hero .archive-breadcrumb a { color:rgba(255,255,255,.82); }
.tour-category-hero .turismo-kicker { color:#b7c853; }
.tour-category-hero h1 { max-width:850px; margin:10px 0 16px; font-family:Merriweather,Georgia,serif; font-size:clamp(2.8rem,5.5vw,5.2rem); line-height:1.02; letter-spacing:-.045em; }
.tour-category-hero__description { max-width:680px; color:rgba(255,255,255,.86); font-size:1.03rem; line-height:1.75; }
.tour-category-hero__description p { margin:0; }
.tour-category-hero__scroll { display:inline-flex; align-items:center; gap:12px; margin-top:25px; padding-bottom:5px; color:#fff; border-bottom:1px solid rgba(255,255,255,.55); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.tour-category-hero__scroll span { color:#b7c853; font-size:1.05rem; }
.tour-category-catalog { padding:84px 0 100px; background:#f5f6f2; }
.tour-category-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; padding-bottom:25px; border-bottom:1px solid #d9dfda; }
.tour-category-heading h2 { max-width:760px; margin:8px 0 0; color:#142a24; font-family:Merriweather,Georgia,serif; font-size:clamp(2rem,3.2vw,3.25rem); line-height:1.16; }
.tour-category-heading > p { flex:0 0 auto; margin:0; color:#6d7b75; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.tour-category-heading > p strong { margin-right:5px; color:#8d9f28; font-family:Merriweather,Georgia,serif; font-size:1.65rem; }
.tour-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.tour-category-grid .tour-card,.tour-category-grid .tour-card:nth-child(4),.tour-category-grid .tour-card:nth-child(5) { grid-column:span 1; min-width:0; }
.tour-category-grid .tour-card h2 { min-height:58px; }
.tour-category-pagination { margin-top:48px; }
.tour-category-pagination .nav-links { display:flex; justify-content:center; gap:8px; }
.tour-category-pagination .page-numbers { min-width:42px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:8px 13px; color:#203c34; border:1px solid #d1d9d4; background:#fff; }
.tour-category-pagination .page-numbers.current,.tour-category-pagination a.page-numbers:hover { color:#fff; border-color:#71801c; background:#71801c; }
.tour-category-empty { padding:60px 30px; border:1px solid #dce2de; background:#fff; text-align:center; }
.tour-category-help { padding:66px 0; color:#fff; background:#132821; }
.tour-category-help .site-container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.tour-category-help h2 { margin:8px 0; font-family:Merriweather,Georgia,serif; font-size:clamp(1.8rem,3vw,2.8rem); }
.tour-category-help p { max-width:680px; margin:0; color:#c8d2cd; }
@media (max-width:980px) {
  .tour-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .tour-category-elementor-hero { min-height:430px !important; padding:58px 20px 45px; }
  .tour-category-hero { min-height:430px; background-position:center; }
  .tour-category-hero__inner { padding:58px 20px 45px; }
  .tour-category-hero .archive-breadcrumb { margin-bottom:30px; overflow:hidden; white-space:nowrap; }
  .tour-category-catalog { padding:58px 0 70px; }
  .tour-category-heading,.tour-category-help .site-container { align-items:flex-start; flex-direction:column; }
  .tour-category-heading { gap:15px; }
  .tour-category-grid { grid-template-columns:1fr; gap:22px; }
  .tour-category-grid .tour-card h2 { min-height:0; }
  .tour-category-help { padding:52px 0; }
}

/* Mega menú editorial de tours, editable desde el widget Elementor. */
@media (min-width:1051px) {
  .elementor-global-header .eh-nav > .e-con-inner { position:relative !important; }
  .elementor-global-header .eh-nav-menu-widget,.elementor-global-header .eh-mega-dropdown { position:static !important; }
  .elementor-global-header .eh-nav-menu-widget { height:68px !important; display:flex; align-items:center; }
  .eh-mega-menu,.eh-tour-dropdown .eh-mega-menu { right:0 !important; left:0 !important; width:100% !important; min-height:380px; grid-template-columns:1.02fr 1.22fr .82fr; overflow:hidden; border-top:3px solid #71801c; border-radius:0 0 5px 5px; background:#fff; box-shadow:0 25px 60px rgba(7,24,19,.26); transform:translateY(10px); }
  .eh-mega-dropdown:hover .eh-mega-menu,.eh-mega-dropdown:focus-within .eh-mega-menu { transform:none; }
}
.eh-mega-menu > div { padding:38px 40px 34px; }
.eh-mega-menu .eh-mega-tours { border-right:1px solid #e4e8e5; }
.eh-mega-tours > strong { margin-bottom:17px; color:#263b34; font-family:Montserrat,sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.06em; }
.eh-mega-tours > strong:after { content:''; width:46px; height:2px; display:block; margin-top:12px; background:#91a02d; }
.eh-mega-tours > a { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 4px 9px 0; color:#68736f; border-bottom:1px solid #edf0ee; font-family:Montserrat,sans-serif; font-size:.72rem; font-weight:500; }
.eh-mega-tours > a:after { display:none !important; }
.eh-mega-tours > a:hover { padding-left:7px; color:#71801c; }
.eh-mega-tours em { flex:0 0 auto; padding:3px 7px; color:#fff; border-radius:2px; background:#71801c; font-size:.52rem; font-style:normal; font-weight:700; }
.eh-mega-tours .eh-view-category { margin-top:9px; color:#71801c; border-bottom:0; font-weight:800; text-transform:uppercase; }
.eh-mega-story { justify-content:center; background:#fafbf8; }
.eh-mega-story > small { color:#91a02d; font-size:.62rem; font-weight:800; letter-spacing:.14em; }
.eh-mega-story h3 { max-width:430px; margin:12px 0 17px; color:#182c26; font-family:Merriweather,Georgia,serif; font-size:1.6rem; font-weight:700; line-height:1.28; }
.eh-mega-story p { max-width:440px; margin:0 0 23px; color:#6b7672; font-size:.75rem; line-height:1.7; }
.eh-mega-story ul { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0; padding:0; list-style:none; }
.eh-mega-story li { position:relative; padding:30px 8px 10px; color:#3a4d47; border:1px solid #e3e8e4; background:#fff; font-size:.58rem; font-weight:700; text-align:center; }
.eh-mega-story li:before { content:'✓'; position:absolute; top:8px; left:50%; width:17px; height:17px; display:grid; place-items:center; color:#fff; border-radius:50%; background:#819023; transform:translateX(-50%); font-size:.56rem; }
.eh-mega-image { position:relative; min-height:380px; display:flex; align-items:end; overflow:hidden; background-image:linear-gradient(transparent 35%,rgba(6,23,18,.78)),var(--mega-image); background-position:center; background-size:cover; }
.eh-mega-image:before { content:''; position:absolute; inset:0; border:12px solid #fff; border-left:0; opacity:.12; }
.eh-mega-image > span { position:relative; z-index:1; width:100%; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:26px 24px; color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.05em; }
.eh-mega-image b { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-size:.85rem; }
@media (max-width:1050px) {
  .eh-mega-menu .eh-mega-story,.eh-mega-menu .eh-mega-image { display:none; }
  .eh-mega-menu > div { padding:16px 18px; }
  .eh-mega-tours > a { color:#263b34; }
}

/* Acabado premium para páginas de categoría: portada, transición y tarjetas. */
.tour-category-page { overflow:hidden; background:#edf0eb; }
.tour-category-hero-editable { position:relative; z-index:1; overflow:hidden; background:#101c18; }
.tour-category-elementor-hero {
  position:relative;
  min-height:540px !important;
  padding-top:110px;
  padding-bottom:104px;
  background-position:center 48%;
}
.tour-category-elementor-hero:after { content:''; position:absolute; right:0; bottom:0; left:0; height:150px; pointer-events:none; background:linear-gradient(transparent,rgba(5,15,12,.58)); }
.tour-category-elementor-hero > .e-con-inner,.tour-category-elementor-hero > .elementor-element { position:relative; z-index:2; }
.tour-category-elementor-hero .category-hero-kicker { position:relative; padding-left:54px; }
.tour-category-elementor-hero .category-hero-kicker:before { content:''; position:absolute; top:50%; left:0; width:38px; height:2px; background:#a9bb39; transform:translateY(-50%); }
.tour-category-elementor-hero .category-hero-kicker h6 { color:#c2d35b; font-size:.76rem; letter-spacing:.18em; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.tour-category-elementor-hero .category-hero-title h1 { max-width:850px; margin-bottom:22px; font-size:clamp(3.25rem,5.8vw,5.8rem); line-height:.98; text-shadow:0 5px 28px rgba(0,0,0,.42); }
.tour-category-elementor-hero .category-hero-description { max-width:650px !important; padding-left:18px; border-left:2px solid rgba(183,200,83,.8); color:#fff; font-size:1.08rem; text-shadow:0 2px 12px rgba(0,0,0,.48); }
.tour-category-elementor-hero .category-hero-description p { margin:0; }
.tour-category-elementor-hero .category-hero-button .elementor-button { min-height:52px; margin-top:22px; padding:17px 28px; color:#fff; border:0; border-radius:3px; background:#71801c; box-shadow:0 10px 28px rgba(0,0,0,.25); transition:background .2s ease,transform .2s ease; }
.tour-category-elementor-hero .category-hero-button .elementor-button:hover { background:#8b9c27; transform:translateY(-2px); }
.tour-category-catalog { position:relative; z-index:4; padding:0 0 105px; background:#edf0eb; }
.tour-category-catalog > .site-container { position:relative; top:-52px; margin-bottom:-52px; }
.tour-category-heading { min-height:155px; margin:0 0 38px; padding:32px 38px 30px; border:0; border-top:4px solid #91a02d; border-radius:4px; background:#fff; box-shadow:0 18px 48px rgba(13,35,28,.14); }
.tour-category-heading .turismo-kicker { color:#879523; }
.tour-category-heading h2 { font-size:clamp(2rem,3vw,3.05rem); }
.tour-category-grid { gap:30px; }
.tour-category-grid .tour-card,.tour-category-grid .tour-card:nth-child(4),.tour-category-grid .tour-card:nth-child(5) { overflow:hidden; border:1px solid rgba(20,53,43,.1); border-radius:7px; background:#fff; box-shadow:0 14px 34px rgba(18,46,38,.13); }
.tour-category-grid .tour-card:hover { border-color:rgba(113,128,28,.42); transform:translateY(-8px); box-shadow:0 24px 52px rgba(15,42,34,.2); }
.tour-category-grid .tour-card__media { min-height:235px; background:#18372e; }
.tour-category-grid .tour-card__image { width:100%; height:235px; aspect-ratio:auto; object-fit:cover; }
.tour-category-grid .tour-card__media:after { inset:38% 0 0; background:linear-gradient(transparent,rgba(4,20,16,.82)); }
.tour-category-grid .tour-card__label { top:18px; left:18px; padding:7px 11px; background:#71801c; box-shadow:0 5px 15px rgba(0,0,0,.2); }
.tour-category-grid .tour-card__duration { right:18px; bottom:17px; font-size:.74rem; }
.tour-category-grid .tour-card__body { padding:25px 24px 24px; }
.tour-category-grid .tour-card h2 { min-height:62px; margin:10px 0 19px; color:#142c25; font-size:1.48rem; }
.tour-category-grid .tour-card h2 a { color:inherit; }
.tour-category-grid .tour-card__facts { background:#f8f9f6; border-color:#e4e9e4; }
.tour-category-grid .tour-card__facts > span { padding:14px 8px; }
.tour-category-grid .tour-card__footer { align-items:center; padding-top:20px; }
.tour-category-grid .tour-price { color:#152e26; font-size:1.18rem; font-weight:800; }
.tour-category-grid .tour-details { padding:10px 12px; color:#637119; border-bottom:1px solid #91a02d; font-weight:800; }
@media (max-width:980px) {
  .tour-category-elementor-hero { min-height:500px !important; padding-top:85px; padding-bottom:90px; }
}
@media (max-width:650px) {
  .tour-category-elementor-hero { min-height:470px !important; padding:72px 20px 82px; }
  .tour-category-elementor-hero .category-hero-title h1 { font-size:clamp(2.55rem,12vw,3.6rem); }
  .tour-category-elementor-hero .category-hero-description { font-size:.95rem; line-height:1.62; }
  .tour-category-catalog > .site-container { top:-35px; margin-bottom:-35px; }
  .tour-category-heading { min-height:0; padding:27px 22px 24px; }
  .tour-category-grid .tour-card__media,.tour-category-grid .tour-card__image { height:220px; min-height:220px; }
}

@media (max-width:380px) {
  .elementor-global-header .eh-whatsapp { display:none !important; }
  .agency-home-slider { min-height:540px; }
  .agency-slide-content h1 { font-size:1.95rem; }
}

/* Páginas internas institucionales editables con Elementor */
.inner-page-hero,.inner-intro-section,.inner-cards-section,.inner-promise-section { --width:100%; width:100% !important; max-width:none !important; }
.page .site-main { overflow:hidden; }
.page .site-main > .elementor { width:100% !important; max-width:none !important; }
.page .site-main > .elementor > .e-con { width:100% !important; max-width:none !important; margin-right:0; margin-left:0; }
.inner-page-hero { min-height:460px; padding:70px max(24px,calc((100vw - 1200px)/2)); color:#fff; }
.inner-page-hero:before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(7,31,26,.78),rgba(7,31,26,.22)); pointer-events:none; }
.inner-page-hero > .e-con-inner { position:relative; z-index:1; width:min(100%,1200px) !important; max-width:1200px !important; margin-inline:auto; }
.inner-page-hero h1 { max-width:850px; margin:8px 0 16px; color:#fff; font-family:Merriweather,Georgia,serif; font-size:clamp(3rem,6vw,5rem); line-height:1.02; }
.inner-page-hero p { max-width:720px; margin:0; color:#e4ece8; font-size:1rem; }
.inner-intro-section { padding:95px max(24px,calc((100vw - 1200px)/2)); background:#fff; }
.inner-intro-section > .e-con-inner { width:min(100%,1200px) !important; max-width:1200px !important; margin-inline:auto; }
.inner-intro-section .elementor-section-title .elementor-heading-title { max-width:950px; }
.inner-intro-section p { max-width:760px; color:#62726b; }
.inner-cards-section { padding:0 max(24px,calc((100vw - 1200px)/2)) 100px; background:#fff; }
.inner-cards-section > .e-con-inner { width:min(100%,1200px) !important; max-width:1200px !important; margin-inline:auto; }
.inner-cards-grid { display:block !important; width:100% !important; max-width:none !important; }
.inner-cards-grid > .e-con-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:20px; }
.inner-info-card { --width:100%; width:100% !important; min-height:245px; padding:30px; border:1px solid #dfe7e2; border-top:4px solid #cf711e; background:#f8faf8; transition:.25s; }
.inner-info-card:hover { transform:translateY(-5px); box-shadow:0 16px 36px rgba(17,48,40,.1); }
.inner-info-card h3 { margin:0 0 13px; color:#17342e; font-family:Merriweather,Georgia,serif; font-size:1.3rem; }
.inner-info-card p { margin:0; color:#61716a; font-size:.82rem; }
.inner-promise-section { padding:85px 24px; color:#fff; background:#bd6d22; text-align:center; }
.inner-promise-section > .e-con-inner { width:min(100%,900px) !important; max-width:900px !important; margin-inline:auto; }
.inner-promise-section h6 { color:#ffe2b7; letter-spacing:.13em; }
.inner-promise-section h2 { margin:7px 0 12px; color:#fff; font-family:Merriweather,Georgia,serif; font-size:clamp(2.2rem,4vw,3.6rem); }
.inner-promise-section p { color:#fff; }
@media (max-width:850px) {
  .inner-cards-grid > .e-con-inner { grid-template-columns:1fr !important; }
  .inner-info-card { min-height:auto; }
}

/* Tarjetas de tours: estilo empresarial */
.tour-icon { width:20px; height:20px; flex:0 0 20px; }
.tour-grid .tour-card { overflow:hidden; border:1px solid #e1e7e3; border-radius:10px; background:#fff; box-shadow:0 10px 32px rgba(15,49,40,.08); }
.tour-grid .tour-card:hover { border-color:#bdc9c3; transform:translateY(-7px); box-shadow:0 22px 48px rgba(15,49,40,.16); }
.tour-card__media { position:relative; display:block; overflow:hidden; }
.tour-card__media:after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(5,28,23,.7)); pointer-events:none; }
.tour-grid .tour-card__image { aspect-ratio:16/10; transition:transform .6s ease; }
.tour-grid .tour-card:hover .tour-card__image { transform:scale(1.055); }
.tour-card__label { position:absolute; z-index:2; top:15px; left:15px; padding:6px 10px; color:#fff; border-radius:3px; background:#c86e1d; font-size:.59rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.tour-card__duration { position:absolute; z-index:2; right:15px; bottom:13px; display:flex; align-items:center; gap:6px; color:#fff; font-size:.7rem; font-weight:750; }
.tour-card__duration .tour-icon { width:16px; height:16px; }
.tour-grid .tour-card__body { padding:22px; }
.tour-card__eyebrow { display:flex; justify-content:space-between; color:#76857f; font-size:.63rem; font-weight:800; letter-spacing:.09em; }
.tour-card__eyebrow strong { color:#d77a24; letter-spacing:0; }
.tour-grid .tour-card h2 { min-height:55px; margin:8px 0 17px; font-family:Georgia,serif; font-size:1.45rem; line-height:1.18; }
.tour-card__facts { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #edf0ee; border-bottom:1px solid #edf0ee; }
.tour-card__facts > span { display:grid; grid-template-columns:20px 1fr; grid-template-rows:auto auto; gap:0 7px; padding:13px 8px; border-right:1px solid #edf0ee; }
.tour-card__facts > span:last-child { border:0; }
.tour-card__facts .tour-icon { grid-row:1/3; align-self:center; color:#c86e1d; width:18px; height:18px; }
.tour-card__facts small { color:#87938e; font-size:.53rem; text-transform:uppercase; }
.tour-card__facts b { overflow:hidden; color:#33463f; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }
.tour-grid .tour-card__footer { margin:0; padding-top:17px; border:0; }
.tour-grid .tour-price { font-size:1.2rem; }
.tour-price em { color:#87938e; font-size:.58rem; font-style:normal; font-weight:500; }
.tour-details { display:flex; align-items:center; gap:9px; color:#0f5c4d; font-size:.72rem; font-weight:850; }
.tour-details span { display:grid; place-items:center; width:30px; height:30px; color:#fff; border-radius:50%; background:#0f5c4d; transition:.2s; }
.tour-details:hover span { background:#c86e1d; transform:translateX(3px); }

/* Ficha individual de tour */
.tour-detail-hero { min-height:540px; display:flex; align-items:end; color:#fff; background-color:#17342e; background-position:center; background-size:cover; }
.tour-detail-hero__inner { display:flex; align-items:end; justify-content:space-between; gap:40px; padding-bottom:70px; }
.tour-detail-kicker { color:#ffd17b; font-size:.7rem; font-weight:850; letter-spacing:.15em; }
.tour-detail-hero h1 { max-width:900px; margin:10px 0; font-family:Georgia,serif; font-size:clamp(3rem,6vw,5.5rem); font-weight:500; line-height:.98; }
.tour-detail-hero p { margin:0; color:rgba(255,255,255,.86); }
.tour-award { display:flex; align-items:center; gap:14px; min-width:220px; padding-left:22px; border-left:1px solid rgba(255,255,255,.45); }
.tour-award strong { font-family:Georgia,serif; font-size:4rem; }
.tour-award span { font-size:.75rem; font-weight:750; text-transform:uppercase; }
.tour-award .tour-icon { display:inline; width:15px; color:#e9a33b; }
.tour-specbar { position:relative; z-index:3; background:#fff; box-shadow:0 12px 35px rgba(11,42,34,.12); }
.tour-specbar .site-container { min-height:82px; display:grid; grid-template-columns:58px repeat(4,1fr) auto; align-items:stretch; }
.tour-specbar .site-container > div { display:flex; align-items:center; gap:10px; padding:14px 20px; border-right:1px solid #e7ebe8; }
.tour-specbar .tour-icon { color:#cf711e; }
.tour-specbar span { display:grid; }
.tour-specbar small { color:#88958f; font-size:.55rem; text-transform:uppercase; }
.tour-specbar b { color:#2b4038; font-size:.7rem; }
.tour-specbar__play { justify-content:center; color:#fff; background:#cf711e; font-size:1.1rem; }
.tour-specbar a { display:grid; place-items:center; padding:15px 24px; color:#fff; background:#17342e; font-size:.7rem; font-weight:850; text-transform:uppercase; }
.tour-breadcrumb { display:flex; gap:9px; padding-top:32px; color:#8a9691; font-size:.65rem; }
.tour-detail-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,.75fr); gap:55px; padding-top:45px; padding-bottom:70px; }
.tour-detail-content h2,.tour-highlights h2 { margin:9px 0 20px; color:#17342e; font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,3.6rem); font-weight:500; line-height:1.06; }
.tour-lead { color:#5c6d66; font-size:1.08rem; }
.tour-route { display:flex; align-items:center; gap:13px; margin:25px 0; padding:16px 18px; border-left:3px solid #cf711e; background:#f2f5f2; }
.tour-route .tour-icon { color:#cf711e; }
.tour-route span { display:grid; }
.tour-route small { color:#89958f; font-size:.58rem; text-transform:uppercase; }
.tour-route b { font-size:.75rem; }
.tour-editor-content h2 { margin-top:35px; font-size:2rem; }
.tour-editor-content ul { padding:22px 22px 22px 42px; background:#f3f5f3; }
.tour-booking-card { position:sticky; top:25px; align-self:start; padding:28px; border:1px solid #e2e7e4; border-top:5px solid #cf711e; border-radius:8px; background:#fff; box-shadow:0 18px 45px rgba(17,48,40,.12); }
.tour-booking-card > span,.tour-booking-card > small { display:block; color:#7c8984; text-align:center; font-size:.65rem; }
.tour-booking-price { color:#cf711e; font-family:Georgia,serif; font-size:2.5rem; font-weight:700; text-align:center; }
.tour-booking-card hr { margin:20px 0; border:0; border-top:1px solid #e7ebe8; }
.tour-booking-card ul { display:grid; gap:12px; margin:0 0 22px; padding:0; list-style:none; }
.tour-booking-card li { display:flex; align-items:center; gap:9px; color:#475b53; font-size:.72rem; }
.tour-booking-card li .tour-icon { color:#0f5c4d; width:17px; }
.booking-primary,.booking-secondary { display:block; margin-top:9px; padding:13px; text-align:center; font-size:.68rem; font-weight:850; text-transform:uppercase; }
.booking-primary { color:#fff; background:#cf711e; }
.booking-primary:hover { color:#fff; background:#ad5914; }
.booking-secondary { color:#0f5c4d; border:1px solid #0f5c4d; }
.tour-booking-card > p { margin:18px 0 0; color:#84908b; font-size:.62rem; text-align:center; }
.tour-media-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:18px; padding-bottom:70px; }
.tour-media-card { min-height:210px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; padding:25px; color:#fff; border-radius:7px; background:#1d4b40; background-position:center; background-size:cover; text-align:center; transition:.3s; }
.tour-media-card:hover { color:#fff; transform:translateY(-5px); }
.tour-media-card > span { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.7); border-radius:50%; }
.tour-media-card small { color:rgba(255,255,255,.7); }
.tour-media-card--brochure { background:#9a5621; }
.tour-media-card--map { background:#23463e; }
.tour-tabs { position:sticky; top:0; z-index:20; border-top:1px solid #e7ebe8; border-bottom:1px solid #e7ebe8; background:#fff; }
.tour-tabs--top { position:relative; top:auto; margin-top:25px; border:1px solid #e2e8e4; border-radius:7px; box-shadow:0 9px 26px rgba(17,48,40,.07); }
.tour-tabs--top .site-container { width:100%; }
.tour-tabs--top a:first-child { color:#fff; background:#17342e; }
.tour-tabs .site-container { display:grid; grid-template-columns:repeat(6,1fr); }
.tour-tabs a { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; min-height:76px; color:#5f7069; border-right:1px solid #edf0ee; font-size:.57rem; font-weight:800; text-transform:uppercase; }
.tour-tabs a:hover { color:#cf711e; background:#f8f8f5; }
.tour-tabs .tour-icon { width:18px; height:18px; }
.tour-highlights { padding:90px 0; background:#eef3ef; }
.tour-highlights-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:35px; }
.tour-highlights-grid article { padding:27px; border-bottom:3px solid #cf711e; background:#fff; }
.tour-highlights-grid .tour-icon { color:#cf711e; width:28px; height:28px; }
.tour-highlights-grid h3 { margin:14px 0 8px; color:#17342e; }
.tour-highlights-grid p { margin:0; color:#6b7a74; font-size:.8rem; }
.tour-managed-sections { padding:85px 0; background:#fff; }
.tour-managed-sections > .site-container { display:grid; gap:20px; }
.tour-managed-sections article { scroll-margin-top:95px; display:grid; grid-template-columns:58px 1fr; gap:24px; padding:35px; border:1px solid #e0e7e3; border-radius:8px; background:#fbfcfa; }
.tour-managed-sections article > span { display:grid; place-items:center; width:52px; height:52px; color:#fff; border-radius:50%; background:#0f5c4d; }
.tour-managed-sections article > span .tour-icon { width:23px; height:23px; }
.tour-managed-sections small { color:#c86e1d; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.tour-managed-sections h2 { margin:5px 0 18px; color:#17342e; font-size:2rem; }
.tour-managed-sections h3 { margin-top:22px; color:#0f5c4d; font-size:1rem; }
.tour-managed-sections p,.tour-managed-sections li { color:#586a63; font-size:.85rem; line-height:1.75; }
.tour-managed-sections ul { display:grid; grid-template-columns:1fr 1fr; gap:8px 25px; padding:0; list-style:none; }
.tour-managed-sections li:before { content:'✓'; margin-right:9px; color:#c86e1d; font-weight:900; }
@media (max-width:950px) {
  .tour-card__facts { grid-template-columns:1fr; }
  .tour-card__facts > span { border-right:0; border-bottom:1px solid #edf0ee; }
  .tour-specbar .site-container { grid-template-columns:repeat(2,1fr); }
  .tour-specbar__play { display:none !important; }
  .tour-detail-layout { grid-template-columns:1fr; }
  .tour-booking-card { position:static; }
  .tour-highlights-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:650px) {
  .tour-detail-hero { min-height:480px; }
  .tour-detail-hero__inner { align-items:flex-start; flex-direction:column; padding-bottom:45px; }
  .tour-award { display:none; }
  .tour-specbar .site-container { grid-template-columns:1fr; }
  .tour-specbar .site-container > div { border-bottom:1px solid #e7ebe8; }
  .tour-media-grid,.tour-highlights-grid { grid-template-columns:1fr; }
  .tour-tabs { overflow-x:auto; }
  .tour-tabs .site-container { min-width:620px; }
  .tour-managed-sections article { grid-template-columns:1fr; padding:25px; }
  .tour-managed-sections ul { grid-template-columns:1fr; }
}

/* Encabezado turístico de tres niveles */
.promo-bar { padding:10px 0; color:#fff; background:#292929; text-align:center; font-size:.88rem; }
.promo-bar a { color:#ff7a18; font-weight:850; text-decoration:underline; }
.travel-header { position:relative; top:auto; box-shadow:none; }
.header-utility { min-height:44px; display:flex; align-items:center; justify-content:flex-end; gap:28px; color:#65716d; font-size:.72rem; }
.header-utility nav { display:flex; align-items:center; }
.header-utility nav a { padding:0 12px; color:#66726e; border-right:1px solid #d9ddda; }
.header-utility nav a:last-child { border:0; }
.header-main { min-height:112px; display:flex; align-items:center; gap:24px; }
.travel-logo { min-width:235px; margin-right:auto; }
.logo-mountain { position:relative; display:flex; flex-direction:column; color:#262c29; font-family:Georgia,serif; line-height:.75; }
.logo-mountain:before { content:''; width:154px; height:36px; margin:0 0 4px 10px; background:linear-gradient(145deg,transparent 42%,#ef6d16 43% 50%,transparent 51%),linear-gradient(35deg,transparent 46%,#ef6d16 47% 54%,transparent 55%); transform:skewX(-10deg); }
.logo-mountain b { font-size:2.35rem; letter-spacing:-.07em; }
.logo-mountain small { margin-top:10px; color:#ef6d16; font-family:Inter,sans-serif; font-size:.58rem; font-weight:900; letter-spacing:.3em; }
.contact-item { display:flex; align-items:center; gap:9px; white-space:nowrap; }
.contact-item p { display:grid; margin:0; line-height:1.25; }
.contact-item small { color:#78847f; font-size:.66rem; }
.contact-item b { color:#20332d; font-size:.8rem; }
.contact-icon { display:grid; place-items:center; width:35px; height:35px; color:#e76512; border:2px solid #e76512; border-radius:50%; font-size:1rem; }
.whatsapp-header { display:flex; align-items:center; gap:7px; padding:12px 14px; border-radius:8px; color:#fff; background:#20bf62; font-size:.78rem; font-weight:850; white-space:nowrap; }
.whatsapp-header:hover { color:#fff; background:#159d4d; }
.cart-button { position:relative; color:#e76512; font-size:1.35rem; }
.cart-button span { position:absolute; top:-9px; right:-7px; display:grid; place-items:center; min-width:18px; height:18px; padding:2px; color:#fff; background:#26322e; border-radius:50%; font-size:.6rem; }
.travel-nav { display:block; position:relative; padding:0; background:#060606; }
.travel-nav .site-container { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.travel-nav a { display:flex; align-items:center; gap:6px; height:68px; color:#fff; font-size:clamp(.62rem,.82vw,.78rem); font-weight:750; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; transition:.2s; }
.travel-nav a:hover { color:#ff7817; }
.travel-nav b { color:#ff7817; font-size:.85rem; }
.travel-header .menu-toggle { display:none; }

@media (max-width:1200px) {
  .header-utility span,.contact-item:first-of-type,.cart-button { display:none; }
  .travel-logo { min-width:190px; }
  .travel-nav .site-container { overflow-x:auto; justify-content:flex-start; gap:28px; scrollbar-width:none; }
}
@media (max-width:820px) {
  .promo-bar { font-size:.72rem; }
  .header-utility,.contact-item,.whatsapp-header,.header-cta { display:none; }
  .header-main { min-height:84px; }
  .travel-logo { min-width:auto; }
  .logo-mountain:before { width:100px; height:22px; }
  .logo-mountain b { font-size:1.75rem; }
  .travel-header .menu-toggle { display:block; margin-left:auto; }
  .travel-nav { display:none; position:absolute; inset:84px 0 auto; z-index:30; }
  .travel-nav.is-open { display:block; }
  .travel-nav .site-container { height:auto; max-height:calc(100vh - 130px); align-items:stretch; flex-direction:column; gap:0; padding:10px 20px 20px; overflow-y:auto; }
  .travel-nav a { height:auto; padding:15px 5px; border-bottom:1px solid #252525; font-size:.78rem; }
}

/* Portada nativa editable con Elementor gratuito */
.elementor-tour-hero { position:relative; padding:90px max(24px,calc((100vw - 1200px)/2)); color:#fff; }
.elementor-tour-hero:before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(7,31,26,.78),rgba(7,31,26,.2)); pointer-events:none; }
.elementor-tour-hero > .e-con-inner,.elementor-tour-hero > .elementor-element { position:relative; z-index:1; }
.elementor-kicker .elementor-heading-title { color:#e8ad55; font-family:Inter,sans-serif; font-size:.78rem; font-weight:850; letter-spacing:.14em; }
.elementor-main-title .elementor-heading-title { max-width:850px; color:#fff; font-family:Georgia,serif; font-size:clamp(3rem,6vw,5.8rem); font-weight:500; line-height:.98; letter-spacing:-.045em; }
.elementor-hero-copy { max-width:670px; color:rgba(255,255,255,.88); font-size:1.15rem; }
.elementor-primary-button .elementor-button { padding:16px 25px; border-radius:2px; background:var(--turismo-accent); font-weight:850; }
.elementor-section-shell,.elementor-why-section,.elementor-testimonial-section,.elementor-final-cta { padding:100px max(24px,calc((100vw - 1200px)/2)); }
.elementor-section-title .elementor-heading-title { max-width:800px; color:var(--turismo-dark); font-family:Georgia,serif; font-size:clamp(2.4rem,4vw,4rem); font-weight:500; line-height:1.08; }
.elementor-why-section { }
.elementor-benefits-grid { gap:18px; }
.elementor-benefit-card { min-height:170px; padding:28px; border-bottom:3px solid var(--turismo-accent); }
.elementor-testimonial-section { color:#fff; text-align:center; }
.elementor-testimonial-section h3 { max-width:900px; font-family:Georgia,serif; font-size:clamp(1.5rem,3vw,2.65rem); font-weight:500; }
.elementor-stars .elementor-heading-title { color:#e8ad55; letter-spacing:.15em; }
.elementor-final-cta { color:#fff; text-align:center; }
.elementor-final-cta h2 { font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,3.8rem); }
.elementor-light-button .elementor-button { color:#17342e; background:#fff; }
@media (max-width:767px) { .elementor-benefit-card { width:100% !important; } }

/* Encabezado global editable con Elementor Free */
.elementor-global-header { position:relative; z-index:50; }
.elementor-global-header .elementor-widget { margin:0; }
.eh-promo { min-height:42px; padding:8px 24px;  text-align:center; }
.eh-promo p { margin:0; font-size:.88rem; }
.eh-promo a {  font-weight:850; text-decoration:underline; }
.eh-utility { min-height:42px; gap:30px; padding:6px max(24px,calc((100vw - 1200px)/2));  font-size:.7rem; }
.eh-utility p { margin:0; white-space:nowrap; }
.eh-utility a {  }
.eh-main { min-height:112px; gap:22px; padding:18px max(24px,calc((100vw - 1200px)/2)); }
.eh-logo-wrap { min-width:205px; }
.eh-logo .elementor-heading-title { position:relative; color:#25302c; font-family:Georgia,serif; font-size:2.35rem; font-weight:850; letter-spacing:-.07em; line-height:.8; }
.eh-logo .elementor-heading-title:before { content:'⌁'; display:block; height:27px; color:#ee6812; font-family:Inter,sans-serif; font-size:3rem; line-height:.5; transform:rotate(-5deg); }
.eh-logo-sub .elementor-heading-title { margin-top:9px; color:#ee6812; font-family:Inter,sans-serif; font-size:.58rem; font-weight:900; letter-spacing:.3em; }
.eh-contact { min-width:165px; }
.eh-contact .elementor-icon-box-wrapper { display:flex; align-items:center; gap:9px; }
.eh-contact .elementor-icon-box-icon { margin:0; }
.eh-contact .elementor-icon {  font-size:20px; }
.eh-contact .elementor-icon-box-title { margin:0;  font-size:.78rem; }
.eh-contact .elementor-icon-box-description {  font-size:.64rem; }
.eh-whatsapp .elementor-button { padding:13px 15px;  border-radius:7px; font-size:.7rem; font-weight:850; white-space:nowrap; }
.eh-quote .elementor-button { padding:14px 17px;  border-radius:4px; font-size:.72rem; font-weight:850; white-space:nowrap; }
.eh-nav { min-height:68px; gap:8px; padding:0 max(24px,calc((100vw - 1200px)/2)); }
.eh-nav-link { width:auto !important; }
.eh-nav-link .elementor-button { padding:25px 4px;  background:transparent; font-size:clamp(.58rem,.75vw,.72rem); font-weight:750; letter-spacing:.03em; white-space:nowrap; }
.eh-nav-link .elementor-button:hover {  }
@media (max-width:1050px) {
  .eh-utility,.eh-contact { display:none !important; }
  .eh-main { min-height:90px; }
  .eh-nav { justify-content:flex-start; overflow-x:auto; }
}
@media (max-width:700px) {
  .eh-promo p { font-size:.7rem; }
  .eh-main { flex-wrap:wrap; gap:10px; }
  .eh-logo-wrap { width:100%; min-width:0; }
  .eh-whatsapp,.eh-quote { width:48% !important; }
  .eh-whatsapp .elementor-button,.eh-quote .elementor-button { width:100%; }
  .eh-nav { display:none !important; }
}

/* Compactación estructural: anula espacios internos generados por Elementor */
body.elementor-global-header .eh-utility { display:none !important; }
body.elementor-global-header .eh-main,
body.elementor-global-header .eh-main > .e-con-inner,
body.elementor-global-header .eh-logo-wrap,
body.elementor-global-header .eh-logo-wrap > .e-con-inner,
body.elementor-global-header .eh-nav,
body.elementor-global-header .eh-nav > .e-con-inner { margin-top:0; margin-bottom:0; }
body.elementor-global-header .eh-main { min-height:60px !important; height:60px !important; padding:4px max(24px,calc((100vw - 1200px)/2)); overflow:visible; }
body.elementor-global-header .eh-main > .e-con-inner { min-height:52px !important; height:52px !important; padding:0; }
body.elementor-global-header .eh-logo-wrap,body.elementor-global-header .eh-logo-wrap > .e-con-inner { min-height:0; height:auto; padding:0; }
body.elementor-global-header .eh-logo .elementor-heading-title:before { display:none; }
body.elementor-global-header .eh-logo .elementor-heading-title,body.elementor-global-header .eh-logo .elementor-heading-title a { font-size:1.5rem; line-height:1; }
body.elementor-global-header .eh-logo-sub .elementor-heading-title { margin-top:3px; }
body.elementor-global-header .eh-contact .elementor-icon-box-wrapper { margin:0; }
body.elementor-global-header .eh-contact .elementor-icon-box-title,body.elementor-global-header .eh-contact .elementor-icon-box-description { margin:0; line-height:1.15; }
body.elementor-global-header .eh-nav { min-height:42px !important; height:42px !important; padding-top:0; padding-bottom:0; }
body.elementor-global-header .eh-nav > .e-con-inner { min-height:42px !important; height:42px !important; padding-top:0; padding-bottom:0; }
body.elementor-global-header .eh-nav-link,body.elementor-global-header .eh-nav-link .elementor-widget-container { margin:0; padding:0; }
body.elementor-global-header .eh-nav-link .elementor-button { height:42px !important; display:flex !important; align-items:center !important; padding:0 2px; }
body.elementor-global-header .eh-logo-image .elementor-widget-container { margin:0; padding:0; }
body.elementor-global-header .eh-logo-image img { display:block; width:155px; max-width:100%; height:52px; object-fit:contain; object-position:left center; }
@media (max-width:700px) {
  body.elementor-global-header .eh-logo-image,body.elementor-global-header .eh-logo-image img { width:135px; }
}

/* Footer global editable con Elementor */
.elementor-travel-footer { position:relative; overflow:visible; margin-top:95px; padding-top:30px; color:#fff; }
.footer-width-fixer,.footer-width-fixer > .elementor,.elementor-travel-footer { width:100% !important; max-width:none !important; }
.elementor-travel-footer:before { content:''; position:absolute; z-index:1; top:-95px; left:0; width:100%; height:110px; background:url('assets/footer-mountains-transparent.png') center bottom/100% 110px no-repeat; pointer-events:none; }
.elementor-travel-footer:after { display:none; }
.ef-top { width:100% !important; max-width:none !important; padding:40px 24px 25px; }
.ef-top > .e-con-inner { width:100%; max-width:none; display:flex; align-items:stretch; flex-direction:row; }
.ef-column { min-height:430px; padding:24px 28px; border-right:1px solid #252525; }
.ef-column:last-child { border-right:0; }
.ef-title .elementor-heading-title { margin-bottom:18px; color:#aeb5b2; font-size:.88rem; font-weight:500; letter-spacing:.06em; }
.ef-links,.ef-links p,.ef-links a { color:#fff; font-size:.78rem; line-height:1.55; }
.ef-links p { margin:0 0 9px; }
.ef-links a:hover { color:#ed6b16; }
.ef-links em { color:#ed6b16; }
.ef-links hr { margin:18px 0; border:0; border-top:1px dotted #777; }
.ef-enquire { position:absolute !important; right:max(45px,calc((100vw - 1420px)/2)); top:475px; width:auto; z-index:2; }
.ef-enquire .elementor-button { padding:13px 20px; color:#fff; border-radius:0; font-size:.72rem; font-weight:800; }
.ef-social-row { width:100% !important; max-width:none !important; min-height:58px; border-top:1px solid #282828; border-bottom:1px solid #282828; }
.ef-social-row > .e-con-inner { width:100% !important; max-width:none !important; justify-content:center !important; }
.ef-social-icons { width:auto !important; margin-top:-25px; padding:8px 16px; border:1px solid #777; border-radius:99px; }
.ef-social-icons .elementor-social-icons-wrapper { display:flex !important; align-items:center !important; justify-content:center !important; gap:7px !important; }
.ef-social-icons .elementor-social-icon { width:30px !important; height:30px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; color:#fff; background:transparent; border:0; font-size:15px; }
.ef-social-icons .elementor-social-icon:hover { color:#ed6b16; transform:translateY(-2px); }
.ef-social-icons svg { width:15px !important; height:15px !important; fill:currentColor; }
.ef-bottom { width:100% !important; max-width:none !important; min-height:110px; padding:20px 24px; }
.ef-bottom > .e-con-inner { width:100%; max-width:none; display:flex; align-items:center; justify-content:space-between !important; flex-direction:row; gap:22px; }
.ef-logo { width:120px !important; }
.ef-logo img { width:120px !important; height:55px !important; object-fit:contain !important; filter:brightness(0) invert(1); }
.ef-copyright,.ef-copyright p { color:#fff; font-size:.7rem; }
.ef-legal { margin-left:auto; }
.ef-legal p,.ef-legal a { color:#fff; font-size:.62rem; font-weight:800; }
@media (max-width:900px) {
  .ef-top > .e-con-inner { flex-wrap:wrap !important; }
  .ef-column { width:50% !important; min-height:auto; border-bottom:1px solid #252525; }
  .ef-enquire { position:static !important; margin:20px auto 45px; }
  .ef-bottom > .e-con-inner { flex-wrap:wrap !important; justify-content:center !important; text-align:center; }
  .ef-legal { width:100% !important; margin:0; }
}
@media (max-width:560px) {
  .elementor-travel-footer { margin-top:60px; padding-top:20px; }
  .elementor-travel-footer:before { top:-60px; height:72px; background-size:160% 72px; }
  .ef-column { width:100% !important; padding:22px 8px; border-right:0; }
  .ef-top { padding-top:20px; }
}

/* Versión compacta del encabezado */
.elementor-global-header .eh-promo { min-height:32px !important; padding:5px 20px; }
.elementor-global-header .eh-promo p { font-size:.76rem; line-height:1.25; }
.elementor-global-header .eh-utility { min-height:30px !important; padding-top:3px; padding-bottom:3px; }
.elementor-global-header .eh-utility p { font-size:.64rem; line-height:1.2; }
.elementor-global-header .eh-main { min-height:78px !important; padding-top:8px; padding-bottom:8px; }
.elementor-global-header .eh-main > .e-con-inner { min-height:62px; }
.elementor-global-header .eh-logo .elementor-heading-title,.elementor-global-header .eh-logo .elementor-heading-title a { font-size:1.9rem; }
.elementor-global-header .eh-logo .elementor-heading-title:before { height:20px; font-size:2.35rem; }
.elementor-global-header .eh-logo-sub .elementor-heading-title { margin-top:5px; font-size:.5rem; }
.elementor-global-header .eh-contact .elementor-icon-box-wrapper { gap:6px !important; }
.elementor-global-header .eh-contact .elementor-icon { font-size:16px; }
.elementor-global-header .eh-whatsapp .elementor-button,.elementor-global-header .eh-quote .elementor-button { padding:11px 13px; }
.elementor-global-header .eh-nav { min-height:52px; }
.elementor-global-header .eh-nav > .e-con-inner { min-height:52px; }
.elementor-global-header .eh-nav-link .elementor-button { padding:18px 3px; }

/* Encabezado final más compacto */
.elementor-global-header .eh-promo { min-height:28px !important; padding:4px 16px; }
.elementor-global-header .eh-promo > .e-con-inner { min-height:20px !important; }
.elementor-global-header .eh-promo p { font-size:.7rem; line-height:1.15; }
.elementor-global-header .eh-utility { min-height:26px !important; padding-top:2px; padding-bottom:2px; }
.elementor-global-header .eh-utility > .e-con-inner { min-height:22px !important; }
.elementor-global-header .eh-utility p { font-size:.59rem; }
.elementor-global-header .eh-main { min-height:68px !important; padding-top:5px; padding-bottom:5px; }
.elementor-global-header .eh-main > .e-con-inner { min-height:58px; gap:14px; }
.elementor-global-header .eh-logo-wrap { min-width:170px; }
.elementor-global-header .eh-logo .elementor-heading-title,.elementor-global-header .eh-logo .elementor-heading-title a { font-size:1.65rem; line-height:.75; }
.elementor-global-header .eh-logo .elementor-heading-title:before { height:17px; font-size:2rem; }
.elementor-global-header .eh-logo-sub .elementor-heading-title { margin-top:4px; font-size:.43rem; }
.elementor-global-header .eh-contact { min-width:142px; }
.elementor-global-header .eh-contact .elementor-icon { font-size:14px; }
.elementor-global-header .eh-contact .elementor-icon-box-title { font-size:.68rem; }
.elementor-global-header .eh-contact .elementor-icon-box-description { font-size:.57rem; }
.elementor-global-header .eh-whatsapp .elementor-button,.elementor-global-header .eh-quote .elementor-button { padding:9px 11px; font-size:.62rem; }
.elementor-global-header .eh-nav { min-height:46px; }
.elementor-global-header .eh-nav > .e-con-inner { min-height:46px; }
.elementor-global-header .eh-nav-link .elementor-button { padding:15px 2px; font-size:clamp(.54rem,.7vw,.66rem); }
@media (max-width:1050px) {
  .elementor-global-header .eh-main { min-height:64px !important; }
  .elementor-global-header .eh-main > .e-con-inner { min-height:54px; }
}
@media (max-width:700px) {
  .elementor-global-header .eh-promo { min-height:26px !important; }
  .elementor-global-header .eh-main { min-height:76px !important; }
  .elementor-global-header .eh-main > .e-con-inner { min-height:66px; }
}

/* Correcciones de prioridad frente a los estilos globales de Elementor */
.elementor-global-header .eh-promo { min-height:42px !important; padding:8px 24px;  }
.elementor-global-header .eh-promo > .e-con-inner { justify-content:center; }
.elementor-global-header .eh-promo p { margin:0;  font-size:.88rem; text-align:center; }
.elementor-global-header .eh-promo a {  }
.elementor-global-header .eh-utility { min-height:42px !important; padding:6px max(24px,calc((100vw - 1200px)/2)); }
.elementor-global-header .eh-utility > .e-con-inner { display:flex; align-items:center; justify-content:flex-end; flex-direction:row; gap:30px; }
.elementor-global-header .eh-main { min-height:112px !important; padding:15px max(24px,calc((100vw - 1200px)/2)); }
.elementor-global-header .eh-main > .e-con-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; flex-direction:row; flex-wrap:nowrap !important; gap:20px; }
.elementor-global-header .eh-logo-wrap { min-width:205px; }
.elementor-global-header .eh-logo-wrap > .e-con-inner { display:flex; align-items:flex-start; justify-content:center; flex-direction:column; }
.elementor-global-header .eh-logo .elementor-heading-title,.elementor-global-header .eh-logo .elementor-heading-title a { color:#25302c; font-family:Georgia,serif; font-size:2.35rem; font-weight:850; }
.elementor-global-header .eh-logo-sub .elementor-heading-title { color:#ee6812; font-size:.58rem; }
.elementor-global-header .eh-contact { min-width:165px; }
.elementor-global-header .eh-contact .elementor-icon {  }
.elementor-global-header .eh-contact .elementor-icon-box-title {  font-size:.78rem; }
.elementor-global-header .eh-contact .elementor-icon-box-description {  font-size:.64rem; }
.elementor-global-header .eh-whatsapp,.elementor-global-header .eh-quote { width:auto !important; flex:0 0 auto !important; }
.elementor-global-header .eh-whatsapp .elementor-button { padding:13px 15px;  border:0; border-radius:7px; font-size:.7rem; font-weight:850; }
.elementor-global-header .eh-quote .elementor-button { padding:14px 17px;  border:0; border-radius:4px; font-size:.72rem; font-weight:850; }
.elementor-global-header .eh-nav { min-height:68px; padding:0 max(24px,calc((100vw - 1200px)/2)); }
.elementor-global-header .eh-nav > .e-con-inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; flex-direction:row; flex-wrap:nowrap; gap:8px; }
.elementor-global-header .eh-nav-link { width:auto !important; flex:0 0 auto !important; }
.elementor-global-header .eh-nav-link .elementor-button { padding:25px 4px;  border:0; border-radius:0; background:transparent; font-size:clamp(.58rem,.75vw,.72rem); font-weight:750; box-shadow:none; }
.elementor-global-header .eh-nav-link .elementor-button:hover {  }
.elementor-global-header .eh-nav-link .elementor-button-content-wrapper { display:flex !important; align-items:center !important; justify-content:center !important; }
.elementor-global-header .eh-nav-link .elementor-button-text { display:inline-flex !important; align-items:center !important; gap:7px !important; line-height:1; }
.elementor-global-header .eh-nav-link .elementor-button-text:after { content:''; display:block !important; flex:0 0 5px; width:5px; height:5px; margin-top:-3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transform-origin:center; }
.elementor-global-header .eh-nav-link:last-child .elementor-button-text:after { display:none; }
.elementor-global-header .eh-nav-link .elementor-button-text:after { display:none !important; }
.elementor-global-header .eh-nav-menu-widget { position:relative; width:auto; flex:0 0 auto; }
.elementor-global-header .eh-nav-menu-widget .elementor-widget-container { margin:0; }
.eh-nav-dropdown { position:relative; }
.eh-nav-parent { display:flex; align-items:center; gap:7px; height:68px !important; padding:0 4px;  font-size:clamp(.58rem,.75vw,.72rem); font-weight:750; letter-spacing:.03em; white-space:nowrap; }
.eh-nav-parent span { width:7px; height:7px; margin-top:-4px; border-right:1.5px solid #f07a28; border-bottom:1.5px solid #f07a28; transform:rotate(45deg); transition:transform .2s ease,margin .2s ease; }
.eh-nav-dropdown:hover .eh-nav-parent span,.eh-nav-dropdown:focus-within .eh-nav-parent span { margin-top:4px; transform:rotate(225deg); }
.eh-submenu { visibility:hidden; position:absolute; z-index:100; top:calc(100% - 1px); right:0; width:610px; display:grid; grid-template-columns:1fr 1fr; gap:0; overflow:hidden; opacity:0; background:#fff; border:1px solid #e3e8e5; border-top:3px solid #e76512; border-radius:0 0 8px 8px; box-shadow:0 22px 55px rgba(7,29,24,.24); transform:translateY(10px); transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.eh-nav-dropdown:hover .eh-submenu,.eh-nav-dropdown:focus-within .eh-submenu { visibility:visible; opacity:1; transform:none; }
.eh-submenu > div { display:flex; flex-direction:column; padding:27px 30px 24px; }
.eh-submenu > div:first-child { border-right:1px solid #e4e9e6; }
.eh-submenu strong { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:#9a4d18; font-size:.63rem; letter-spacing:.11em; }
.eh-submenu strong small { display:grid; place-items:center; width:25px; height:25px; color:#fff; border-radius:50%; background:#17342e; font-size:.55rem; letter-spacing:0; }
.eh-submenu > div > a { position:relative; padding:10px 20px 10px 0; color:#263b34; border-bottom:1px solid #edf1ef; font-size:.71rem; font-weight:650; }
.eh-submenu > div > a:after { content:''; position:absolute; top:50%; right:4px; width:5px; height:5px; border-top:1px solid #b5c0bb; border-right:1px solid #b5c0bb; transform:translateY(-50%) rotate(45deg); }
.eh-submenu > div > a:hover { color:#e76512; padding-left:6px; }
.eh-submenu > div > a:hover:after { border-color:#e76512; }
.eh-submenu .eh-submenu-footer { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-direction:row; padding:14px 25px; color:#dbe7e2; background:#17342e; }
.eh-submenu-footer span { font-size:.67rem; }
.eh-submenu .eh-submenu-footer a { padding:7px 12px; color:#fff; border:1px solid #e58a3f; font-size:.63rem; font-weight:800; text-transform:uppercase; }
.eh-submenu .eh-submenu-footer a:after { display:none; }

/* Slider empresarial editable de portada */
:where(.home-slider-shell),:where(.home-slider-shell) > .e-con-inner,:where(.home-slider-shell) .elementor-widget-agencia-home-slider { --width:100%; width:100%; max-width:none; padding:0; }
.agency-home-slider { position:relative; min-height:clamp(600px,78vh,820px); overflow:hidden; color:#fff; background:#17342e; }
.agency-slider-track,.agency-slide { position:absolute; inset:0; }
.agency-slide { visibility:hidden; opacity:0; background-position:center; background-size:cover; transform:scale(1.035); transition:opacity .8s ease,transform 6s ease,visibility .8s; }
.agency-slide.is-active { visibility:visible; opacity:1; transform:scale(1); }
.agency-slide-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,27,22,.88) 0%,rgba(5,27,22,.52) 52%,rgba(5,27,22,.16) 100%); }
.agency-slide-content { position:relative; z-index:2; width:min(100% - 48px,1200px); margin-inline:auto; padding-top:clamp(110px,16vh,170px); }
.agency-slide-content > span { color:#f0aa50; font-size:.72rem; font-weight:850; letter-spacing:.15em; }
.agency-slide-content h1 { max-width:900px; margin:12px 0 18px; color:#fff; font-family:Merriweather,Georgia,serif; font-size:clamp(3rem,6vw,5.6rem); line-height:1.02; }
.agency-slide-content p { max-width:680px; color:#e4ece8; font-size:1.08rem; }
.agency-slide-actions { display:flex; gap:13px; margin-top:28px; }
.agency-slide-actions a { padding:14px 22px; font-size:.72rem; font-weight:850; }
.agency-slide-primary { color:#fff; background:#cf711e; }
.agency-slide-secondary { color:#fff; border:1px solid rgba(255,255,255,.8); }
.agency-slider-arrow { position:absolute; z-index:5; top:50%; width:44px; height:58px; display:flex; align-items:center; justify-content:center; margin:0; padding:0; color:#fff; border:1px solid rgba(255,255,255,.42); border-radius:4px; outline:0; background:rgba(10,33,28,.62); cursor:pointer; box-shadow:none; transform:translateY(-50%); appearance:none; transition:background .2s,border-color .2s; }
.agency-slider-arrow svg { display:block; width:24px; height:24px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.agency-slider-arrow:hover { border-color:#cf711e; background:#cf711e; }
.agency-slider-arrow.is-prev { left:22px; }.agency-slider-arrow.is-next { right:22px; }
.agency-slider-dots { position:absolute; z-index:5; bottom:30px; left:50%; display:flex; gap:8px; transform:translateX(-50%); }
.agency-slider-dots button { width:28px; height:4px; padding:0; border:0; background:rgba(255,255,255,.45); cursor:pointer; }
.agency-slider-dots button.is-active { width:48px; background:#f0a348; }
@media (max-width:650px) { .agency-home-slider { min-height:680px; }.agency-slide-content { width:calc(100% - 44px); padding-top:105px; }.agency-slide-actions { align-items:stretch; flex-direction:column; }.agency-slider-arrow { top:auto; bottom:22px; }.agency-slider-arrow.is-prev { left:20px; }.agency-slider-arrow.is-next { right:20px; } }

/* Identidad visual Flowers Adventures: negro, grafito, verde oliva y plata */
:root {
  --flowers-black:#070907;
  --flowers-charcoal:#171a18;
  --flowers-olive:#596711;
  --flowers-olive-bright:#7d8c24;
  --flowers-silver:#b9bcb7;
  --flowers-soft:#f2f3ee;
  --turismo-primary:#46530e;
  --turismo-accent:#71801d;
  --turismo-dark:#171a18;
  --turismo-light:#f2f3ee;
  --turismo-text:#292e2a;
}
body { color:var(--turismo-text); background:#f8f8f5; }
.elementor-global-header .eh-promo { }
.elementor-global-header .eh-promo a,.elementor-global-header .eh-nav-link .elementor-button:hover,.eh-nav-parent span {  }
.elementor-global-header .eh-whatsapp .elementor-button { }
.elementor-global-header .eh-quote .elementor-button { }
.elementor-global-header .eh-contact .elementor-icon {  }
.elementor-global-header .eh-nav { }
.eh-nav-parent span { border-color:var(--flowers-olive-bright); }
.eh-submenu { border-top-color:var(--flowers-olive); }
.eh-submenu strong,.eh-submenu > div > a:hover { color:var(--flowers-olive); }
.eh-submenu strong small,.eh-submenu .eh-submenu-footer { background:var(--flowers-charcoal); }
.eh-submenu .eh-submenu-footer a { border-color:var(--flowers-olive-bright); }
.elementor-kicker .elementor-heading-title,.agency-slide-content > span { color:#a6b451; }
.elementor-primary-button .elementor-button,.agency-slide-primary,.turismo-button,.finder-grid > a,.booking-primary { background:var(--flowers-olive); }
.elementor-primary-button .elementor-button:hover,.agency-slide-primary:hover,.booking-primary:hover { background:#3f4d0c; }
.agency-slider-dots button.is-active { background:var(--flowers-olive-bright); }
.agency-slider-arrow:hover { border-color:var(--flowers-olive-bright); background:var(--flowers-olive); }
:where(.home-metrics),.elementor-testimonial-section,.testimonial-section { }
.hero-rating span,.elementor-stars .elementor-heading-title { color:#a6b451; }
:where(.home-destinations-section) { }
.elementor-benefit-card,:where(.home-review-card),.inner-info-card { border-color:#d8dbd3; border-top-color:var(--flowers-olive); }
:where(.home-step) > .elementor-widget-heading:first-child h3,.tour-card__label,.tour-details span { background:var(--flowers-olive); }
:where(.home-review-card) h6,.tour-card__facts .tour-icon,.tour-card__duration .tour-icon,.tour-panel-kicker { color:var(--flowers-olive-bright); }
.inner-promise-section,.cta-band,.trip-help { background:linear-gradient(135deg,#3d470d,#667518); }
.tour-tabs--simple a.is-active { background:var(--flowers-charcoal); }
.tour-tabs--simple a.is-active .tour-icon,.elementor-real-tour-tabs .tour-tabs--simple a.is-active .tour-tab-custom-icon { color:#a6b451; }
.tour-booking-card { border-top-color:var(--flowers-olive); }
.tour-booking-price,.tour-excludes-block h3 { color:var(--flowers-olive); }
.tour-panel-copy ul,.tour-panel-copy ol { border-left-color:var(--flowers-olive); }
.tour-detail-kicker,.tour-card__eyebrow strong { color:#9cab45; }
.elementor-travel-footer { }
.ef-links a:hover,.ef-links em,.ef-social-icons .elementor-social-icon:hover { color:#9cab45; }
.ef-enquire .elementor-button { }
.inner-page-hero:before { background:linear-gradient(90deg,rgba(5,7,5,.84),rgba(48,57,12,.28)); }
.elementor-global-header .eh-nav-link .elementor-button:hover .elementor-button-text:after { transform:rotate(45deg); }
.elementor-tour-hero .elementor-kicker .elementor-heading-title { color:#e8ad55; font-size:.78rem; }
.elementor-tour-hero .elementor-main-title .elementor-heading-title { color:#fff; font-family:Georgia,serif; font-size:clamp(3rem,6vw,5.8rem); font-weight:500; }
.elementor-tour-hero .elementor-hero-copy,.elementor-tour-hero .elementor-hero-copy p { color:#fff; }
.elementor-tour-hero .elementor-primary-button .elementor-button { color:#fff; background:#e99a27; }
@media (max-width:1050px) {
  .elementor-global-header .eh-utility,.elementor-global-header .eh-contact { display:none !important; }
  .elementor-global-header .eh-nav > .e-con-inner { justify-content:flex-start; overflow-x:auto; }
}
@media (max-width:700px) {
  .elementor-global-header .eh-main > .e-con-inner { flex-wrap:wrap !important; }
  .elementor-global-header .eh-logo-wrap { width:100%; }
  .elementor-global-header .eh-whatsapp,.elementor-global-header .eh-quote { width:48% !important; }
  .elementor-global-header .eh-nav { display:none !important; }
}

/* Ficha de tour simplificada: las pestañas son la única navegación del contenido */
.tour-detail-simple { background:#fff; }
.tour-detail-simple .tour-detail-hero { min-height:430px; }
.tour-detail-simple .tour-detail-hero__inner { padding-bottom:52px; }
.tour-detail-simple .tour-detail-hero h1 { max-width:820px; font-family:Merriweather,Georgia,serif; font-size:clamp(2.5rem,5vw,4.7rem); font-weight:700; line-height:1.05; }
.tour-detail-simple .tour-detail-hero p { max-width:720px; font-size:1rem; }
.tour-detail-simple .tour-specbar .site-container { grid-template-columns:repeat(4,1fr) auto; }
.tour-tabs--simple { position:sticky; top:0; z-index:25; margin-top:25px; border:1px solid #e2e8e4; border-radius:8px 8px 0 0; box-shadow:0 8px 25px rgba(17,48,40,.06); }
.tour-tabs--simple .site-container { width:100%; }
.tour-tabs--simple a { min-height:72px; transition:color .2s,background .2s; }
.tour-tabs--simple a:last-child { border-right:0; }
.tour-tabs--simple a.is-active { color:#fff; background:#17342e; }
.tour-tabs--simple a.is-active .tour-icon { color:#f0a33d; }
.tour-panels { min-height:420px; padding-top:42px; padding-bottom:85px; }
.tour-tab-panel { display:none; }
.tour-tab-panel.is-active { display:block; animation:tourPanelIn .28s ease; }
.tour-tab-panel[hidden] { display:none !important; }
@keyframes tourPanelIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.tour-summary-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:55px; align-items:start; }
.tour-panel-copy { max-width:850px; color:#53645d; font-size:.94rem; }
.tour-panel-kicker { display:block; margin-bottom:7px; color:#c86e1d; font-size:.66rem; font-weight:800; letter-spacing:.13em; }
.tour-panel-copy h2,.tour-contact-panel h2 { margin:0 0 24px; color:#17342e; font-family:Merriweather,Georgia,serif; font-size:clamp(2rem,3.6vw,3.15rem); line-height:1.12; }
.tour-panel-copy h3 { margin-top:28px; color:#17342e; font-size:1.12rem; }
.tour-panel-copy p { margin:0 0 18px; }
.tour-panel-copy ul,.tour-panel-copy ol { margin:20px 0; padding:22px 25px 22px 48px; border-left:3px solid #cf711e; background:#f4f6f4; }
.tour-panel-copy li { margin:7px 0; }
.tour-panels .tour-booking-card { top:92px; }
.tour-contact-panel { max-width:780px; margin:20px auto; padding:48px; border:1px solid #dfe6e2; border-top:5px solid #cf711e; border-radius:8px; text-align:center; box-shadow:0 16px 42px rgba(17,48,40,.09); }
.tour-contact-panel p { max-width:650px; margin:0 auto 25px; color:#65746e; }
.tour-contact-actions { display:flex; justify-content:center; gap:12px; }
.tour-contact-actions a { min-width:205px; margin-top:0; }
.tour-detail-simple + .elementor-location-footer .elementor-travel-footer,.tour-detail-simple ~ .elementor-location-footer .elementor-travel-footer { margin-top:0; }
.tour-elementor-tabs-content > .elementor { width:100%; }
.tour-elementor-tabs-content .e-con,.tour-elementor-tabs-content .e-con > .e-con-inner { max-width:none; padding:0; }
.elementor-real-tour-tabs { width:100%; }
.elementor-real-tour-tabs .tour-tabs--simple { margin-top:25px; }
.elementor-real-tour-tabs [data-tour-tab] { cursor:pointer; pointer-events:auto; }
.elementor-real-tour-tabs .tour-tab-custom-icon { display:grid; place-items:center; width:21px; height:21px; color:inherit; font-size:18px; line-height:1; }
.elementor-real-tour-tabs .tour-tab-custom-icon svg { width:19px; height:19px; fill:currentColor; }
.elementor-real-tour-tabs .tour-tab-custom-icon .tour-icon { width:19px; height:19px; }
.elementor-editor-active .elementor-real-tour-tabs .tour-tab-panel { min-height:260px; }
.elementor-editor-active .elementor-real-tour-tabs [data-tour-tab]:hover { color:#fff; background:#cf711e; }
.tour-panels-with-booking { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:55px; align-items:start; }
.tour-panels-with-booking .tour-panels-main { min-width:0; }
.tour-panels-with-booking .tour-booking-card { top:92px; }
.tour-panels-with-booking .tour-contact-panel { margin:0; }
.tour-excludes-block { margin-top:35px; padding-top:28px; border-top:1px solid #dfe6e2; }
.tour-excludes-block h3 { margin:0 0 16px; color:#b65319; font-family:Merriweather,Georgia,serif; font-size:1.45rem; }

/* Portada profesional completamente editable con Elementor */
:where(.home-pro-hero) { min-height:78vh; }
:where(.home-pro-actions) { width:auto; flex-direction:row; gap:12px; }
:where(.home-outline-light) .elementor-button { padding:15px 23px; color:#fff; border:1px solid rgba(255,255,255,.8); border-radius:2px; background:transparent; font-weight:800; }
:where(.home-outline-light) .elementor-button:hover { color:#17342e; background:#fff; }
:where(.home-metrics) { width:100%; max-width:none; display:grid; grid-template-columns:repeat(4,1fr); padding:0 max(24px,calc((100vw - 1200px)/2)); }
:where(.home-metric) { min-height:125px; display:flex; justify-content:center; padding:24px 30px; border-right:1px solid rgba(255,255,255,.14); }
:where(.home-metric):last-child { border-right:0; }
:where(.home-metric h3) { margin:0; }
:where(.home-metric p) { margin:3px 0 0; }
:where(.home-section-copy) { max-width:720px; margin-bottom:25px; color:#64736d; }
:where(.home-pro-tours) .elementor-outline-button { margin:38px auto 0; }
:where(.home-destinations-section),:where(.home-process-section),:where(.home-reviews-section),:where(.home-faq-section) { padding:100px max(24px,calc((100vw - 1200px)/2)); }
:where(.home-destinations-section) { color:#fff; }
:where(.home-destinations-section) .elementor-section-title .elementor-heading-title { color:#fff; }
:where(.home-destinations-grid) { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:35px; }
:where(.home-destination-card) { position:relative; min-height:440px; overflow:hidden; padding:30px; isolation:isolate; }
:where(.home-destination-card):before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(transparent 30%,rgba(5,27,22,.9)); }
:where(.home-destination-card) h3 { margin:0; color:#fff; font-family:Merriweather,Georgia,serif; font-size:1.65rem; }
:where(.home-destination-card) p { margin:5px 0 14px; color:#dbe6e1; font-size:.78rem; }
:where(.home-card-link) .elementor-button { padding:0 0 5px; color:#efa248; border-bottom:1px solid #efa248; border-radius:0; background:transparent; font-size:.68rem; font-weight:850; }
:where(.home-benefits-grid) { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:30px; }
:where(.home-benefit-card) { width:auto; min-height:220px; }
:where(.home-benefit-card) h6 { margin:0; color:#cf711e; font-size:.68rem; }
:where(.home-benefit-card) h3 { margin:20px 0 10px; color:#17342e; font-family:Merriweather,Georgia,serif; }
:where(.home-process-section) { align-items:center; text-align:center; }
:where(.home-steps) { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; width:100%; margin:38px 0 20px; text-align:left; }
:where(.home-step) { position:relative; min-height:210px; padding:30px; border:1px solid #dfe6e2; }
:where(.home-step) > .elementor-widget-heading:first-child h3 { display:grid; place-items:center; width:42px; height:42px; margin:0 0 22px; color:#fff; border-radius:50%; background:#cf711e; font-family:Merriweather,Georgia,serif; }
:where(.home-step) h3 { color:#17342e; font-family:Merriweather,Georgia,serif; }
:where(.home-step) p { color:#65756e; font-size:.8rem; }
:where(.home-reviews-section) { }
:where(.home-reviews-grid) { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:35px; }
:where(.home-review-card) { min-height:260px; padding:30px; border-top:4px solid #cf711e; box-shadow:0 12px 30px rgba(17,48,40,.08); }
:where(.home-review-card) h6 { margin:0; color:#e99a27; letter-spacing:.12em; }
:where(.home-review-card) p { color:#4c5f57; font-family:Merriweather,Georgia,serif; font-size:1rem; line-height:1.7; }
:where(.home-review-card) h4 { margin-top:auto; color:#17342e; font-size:.72rem; }
:where(.home-faq-section) { align-items:center; }
:where(.home-faq-section) > .elementor-widget-accordion { width:min(100%,900px); margin-top:30px; }
:where(.home-faq-section) .elementor-accordion-item { margin-bottom:9px; border:1px solid #dfe6e2; }
:where(.home-faq-section) .elementor-tab-title { padding:20px; color:#17342e; font-weight:750; }
:where(.home-faq-section) .elementor-tab-content { color:#61716a; border-top:1px solid #e7ece9; }
:where(.home-final-cta) { padding:90px 24px; }
:where(.home-final-cta) h6 { color:#ffe1b4; letter-spacing:.13em; }
:where(.home-final-cta) p { max-width:680px; color:#fff; }
@media (max-width:900px) {
  :where(.home-metrics),:where(.home-benefits-grid) { grid-template-columns:1fr 1fr; }
  :where(.home-destinations-grid),:where(.home-steps),:where(.home-reviews-grid) { grid-template-columns:1fr; }
  :where(.home-destination-card) { min-height:380px; }
}
@media (max-width:560px) {
  :where(.home-pro-actions) { align-items:stretch; flex-direction:column; }
  :where(.home-metrics) { grid-template-columns:1fr 1fr; padding:0 12px; }
  :where(.home-metric) { min-height:110px; padding:20px 12px; }
  :where(.home-benefits-grid) { grid-template-columns:1fr; }
  :where(.home-destinations-section),:where(.home-process-section),:where(.home-reviews-section),:where(.home-faq-section) { padding:70px 20px; }
}

/* Corrección estructural para contenedores boxed generados por Elementor */
:where(.home-pro-hero),:where(.home-metrics),:where(.home-pro-tours),:where(.home-destinations-section),:where(.home-benefits),:where(.home-process-section),:where(.home-reviews-section),:where(.home-faq-section),:where(.home-final-cta) {
  --width:100%;
  width:100%;
  max-width:none;
  margin-right:0;
  margin-left:0;
}
:where(.home-pro-hero) > .e-con-inner,:where(.home-pro-tours) > .e-con-inner,:where(.home-destinations-section) > .e-con-inner,:where(.home-benefits) > .e-con-inner,:where(.home-process-section) > .e-con-inner,:where(.home-reviews-section) > .e-con-inner,:where(.home-faq-section) > .e-con-inner,:where(.home-final-cta) > .e-con-inner {
  width:min(100%,1200px);
  max-width:1200px;
  margin-inline:auto;
}
:where(.home-metrics) { display:block; }
:where(.home-metrics) > .e-con-inner { width:min(100%,1200px); max-width:1200px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-inline:auto; }
:where(.home-destinations-grid),:where(.home-benefits-grid),:where(.home-steps),:where(.home-reviews-grid) { display:block; width:100%; max-width:none; }
:where(.home-destinations-grid) > .e-con-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
:where(.home-benefits-grid) > .e-con-inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
:where(.home-steps) > .e-con-inner,:where(.home-reviews-grid) > .e-con-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
:where(.home-metrics) > .e-con-inner > .e-con,:where(.home-destinations-grid) > .e-con-inner > .e-con,:where(.home-benefits-grid) > .e-con-inner > .e-con,:where(.home-steps) > .e-con-inner > .e-con,:where(.home-reviews-grid) > .e-con-inner > .e-con {
  --width:100%;
  width:100%;
  max-width:none;
}
@media (max-width:900px) {
  :where(.home-metrics) > .e-con-inner,:where(.home-benefits-grid) > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :where(.home-destinations-grid) > .e-con-inner,:where(.home-steps) > .e-con-inner,:where(.home-reviews-grid) > .e-con-inner { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  :where(.home-benefits-grid) > .e-con-inner { grid-template-columns:1fr; }
  :where(.home-metrics) > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .tour-panels-with-booking { grid-template-columns:1fr; }
  .tour-panels-with-booking .tour-booking-card { position:static; width:100%; max-width:440px; }
}
.elementor-tour-content-preview { overflow:hidden; color:#17342e; border:1px solid #dce5e0; border-radius:8px; background:#fff; box-shadow:0 14px 36px rgba(17,48,40,.1); }
.tour-preview-heading { display:grid; gap:5px; padding:25px 28px; color:#fff; background:#17342e; }
.tour-preview-heading > span { color:#efa248; font-size:.65rem; font-weight:800; letter-spacing:.12em; }
.tour-preview-heading > strong { font-family:Merriweather,Georgia,serif; font-size:1.45rem; }
.tour-preview-heading > small { color:#cbd7d2; }
.tour-preview-tabs { display:grid; grid-template-columns:repeat(5,1fr); border-bottom:1px solid #dfe7e3; background:#fff; }
.tour-preview-tabs > div { position:relative; display:flex; align-items:center; justify-content:center; gap:7px; min-height:68px; padding:10px 7px; color:#53655e; border-right:1px solid #e5ebe8; text-align:center; }
.tour-preview-tabs > div:last-child { border-right:0; }
.tour-preview-tabs > div.is-active { color:#fff; background:#cf711e; }
.tour-preview-tabs b { display:grid; place-items:center; width:23px; height:23px; color:inherit; border:1px solid currentColor; border-radius:50%; font-size:.56rem; }
.tour-preview-tabs span { font-size:.62rem; font-weight:800; text-transform:uppercase; }
.tour-preview-tabs i { position:absolute; top:8px; right:8px; width:7px; height:7px; border-radius:50%; background:#27a56b; }
.tour-preview-message { display:grid; gap:4px; min-height:120px; place-content:center; padding:25px; color:#56675f; background:#f8faf9; text-align:center; }
.tour-preview-message strong { color:#17342e; font-family:Merriweather,Georgia,serif; font-size:1.15rem; }
.tour-preview-message span { font-size:.72rem; }
@media (max-width:700px) {
  .tour-preview-tabs { grid-template-columns:1fr 1fr; }
  .tour-preview-tabs > div { border-bottom:1px solid #e5ebe8; }
}
@media (max-width:900px) {
  .tour-detail-simple .tour-specbar .site-container { grid-template-columns:1fr 1fr; }
  .tour-detail-simple .tour-specbar .site-container > a { grid-column:span 2; }
  .tour-summary-layout { grid-template-columns:1fr; }
  .tour-panels .tour-booking-card { position:static; max-width:420px; }
  .tour-tabs--simple .site-container { display:flex; overflow-x:auto; scrollbar-width:thin; }
  .tour-tabs--simple a { min-width:125px; flex:1 0 125px; }
}
@media (max-width:560px) {
  .tour-detail-simple .tour-detail-hero { min-height:390px; }
  .tour-detail-simple .tour-detail-hero__inner { padding-bottom:38px; }
  .tour-detail-simple .tour-specbar .site-container { width:100%; }
  .tour-detail-simple .tour-specbar .site-container > div { padding:13px 15px; }
  .tour-breadcrumb { overflow:hidden; white-space:nowrap; }
  .tour-tabs--simple { margin-top:18px; border-right:0; border-left:0; border-radius:0; }
  .tour-panels { padding-top:32px; padding-bottom:60px; }
  .tour-contact-panel { padding:30px 20px; }
  .tour-contact-actions { flex-direction:column; }
}

/* Desplegables de categorías y tours del header. */
.eh-tour-dropdown .eh-tour-submenu { right:auto; left:50%; width:320px; grid-template-columns:1fr; transform:translate(-50%,10px); }
.eh-tour-dropdown:hover .eh-tour-submenu,.eh-tour-dropdown:focus-within .eh-tour-submenu { transform:translate(-50%,0); }
.eh-tour-submenu > div { padding:20px 24px; }
.eh-tour-submenu > div:first-child { border-right:0; }
.eh-tour-submenu .eh-view-category { margin-top:8px; color:var(--flowers-olive); font-weight:800; text-transform:uppercase; }
@media (max-width:700px) {
  .eh-tour-dropdown .eh-tour-submenu,.eh-tour-dropdown:hover .eh-tour-submenu,.eh-tour-dropdown:focus-within .eh-tour-submenu { width:100%; transform:none; }
}

/* El primer y los últimos desplegables nunca deben salir del viewport. */
@media (min-width:1051px) {
  .elementor-global-header .eh-nav,.elementor-global-header .eh-nav > .e-con-inner { overflow:visible !important; }
  .elementor-global-header .eh-nav-menu-widget:first-child .eh-tour-submenu { right:auto; left:0; transform:translateY(10px); }
  .elementor-global-header .eh-nav-menu-widget:first-child .eh-tour-dropdown:hover .eh-tour-submenu,
  .elementor-global-header .eh-nav-menu-widget:first-child .eh-tour-dropdown:focus-within .eh-tour-submenu { transform:none; }
  .elementor-global-header .eh-nav-menu-widget:nth-last-child(-n+3) .eh-tour-submenu { right:0; left:auto; transform:translateY(10px); }
  .elementor-global-header .eh-nav-menu-widget:nth-last-child(-n+3) .eh-tour-dropdown:hover .eh-tour-submenu,
  .elementor-global-header .eh-nav-menu-widget:nth-last-child(-n+3) .eh-tour-dropdown:focus-within .eh-tour-submenu { transform:none; }
}

/* Tablet y móvil comparten navegación compacta para evitar recortes horizontales. */
@media (max-width:1050px) {
  body.elementor-global-header .eh-main { min-height:64px !important; height:64px !important; padding:6px 18px; }
  body.elementor-global-header .eh-main > .e-con-inner { min-height:52px !important; height:52px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; flex-flow:row nowrap !important; gap:10px !important; }
  body.elementor-global-header .eh-logo-wrap { width:auto; min-width:0; flex:0 1 160px; }
  body.elementor-global-header .eh-logo-image,body.elementor-global-header .eh-logo-image img { width:145px; height:48px; }
  body.elementor-global-header .eh-whatsapp { width:auto !important; flex:0 0 auto !important; }
  body.elementor-global-header .eh-quote { display:none !important; }
  .eh-mobile-toggle { width:42px; height:42px; display:flex; align-items:center; justify-content:center; flex-direction:column; flex:0 0 42px; gap:5px; padding:0; color:#fff; border:1px solid #737e2e; border-radius:5px; background:var(--flowers-olive); }
  .eh-mobile-toggle span { width:19px; height:2px; display:block; background:currentColor; }
  body.elementor-global-header .eh-nav { display:none !important; height:auto !important; min-height:0 !important; padding:10px 18px 16px; overflow:visible; }
  body.elementor-global-header.is-mobile-menu-open .eh-nav { display:block !important; }
  body.elementor-global-header .eh-nav > .e-con-inner { width:100% !important; height:auto !important; min-height:0 !important; display:flex !important; align-items:stretch !important; flex-direction:column !important; gap:0 !important; overflow:visible !important; }
  body.elementor-global-header .eh-nav-menu-widget { width:100% !important; border-bottom:1px solid rgba(255,255,255,.1); }
  .eh-nav-parent { width:100% !important; height:48px !important; justify-content:space-between !important; padding:0 6px; font-size:.72rem; }
  .eh-submenu,.eh-tour-dropdown .eh-tour-submenu { visibility:visible; position:static; width:100%; display:none; grid-template-columns:1fr; opacity:1; border:0; border-radius:0; box-shadow:none; transform:none; }
  .eh-nav-dropdown.is-submenu-open .eh-submenu,.eh-nav-dropdown:focus-within .eh-submenu { display:grid; }
  .eh-submenu > div { padding:14px 18px; }
  .eh-submenu > div:first-child { border-right:0; }
  .eh-submenu .eh-submenu-footer { display:none; }
  .eh-nav-dropdown.is-submenu-open .eh-nav-parent span { margin-top:4px; transform:rotate(225deg); }
}

/* Override responsive definitivo (debe permanecer al final del archivo). */
@media (max-width:700px) {
  body.elementor-global-header .eh-main { min-height:64px !important; height:64px !important; padding:6px 18px; background:#fff; }
  body.elementor-global-header .eh-main > .e-con-inner { position:relative; min-height:52px !important; height:52px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; flex-flow:row nowrap !important; gap:10px !important; }
  body.elementor-global-header .eh-logo-wrap { width:auto; min-width:0; flex:0 1 145px; }
  body.elementor-global-header .eh-logo-image,body.elementor-global-header .eh-logo-image img { width:138px; height:48px; }
  body.elementor-global-header .eh-whatsapp { width:auto !important; flex:0 0 auto !important; }
  body.elementor-global-header .eh-whatsapp .elementor-button { min-height:39px; padding:10px 12px; font-size:0; }
  body.elementor-global-header .eh-whatsapp .elementor-button-icon { margin:0; font-size:17px; }
  body.elementor-global-header .eh-quote { display:none !important; }
  body.elementor-global-header .eh-nav { display:none !important; height:auto !important; min-height:0 !important; padding:10px 18px 16px; }
  body.elementor-global-header.is-mobile-menu-open .eh-nav { display:block !important; }
  body.elementor-global-header .eh-nav > .e-con-inner { width:100% !important; height:auto !important; min-height:0 !important; display:flex !important; align-items:stretch !important; flex-direction:column !important; gap:0 !important; overflow:visible !important; }
  body.elementor-global-header .eh-nav-link,body.elementor-global-header .eh-nav-menu-widget { width:100% !important; border-bottom:1px solid rgba(255,255,255,.1); }
  body.elementor-global-header .eh-nav-link .elementor-button,.eh-nav-parent { width:100% !important; height:46px !important; justify-content:space-between !important; padding:0 4px; font-size:.72rem; }
  .eh-submenu { visibility:visible; position:static; width:100%; display:none; grid-template-columns:1fr; opacity:1; border:0; border-radius:0; box-shadow:none; transform:none; }
  .eh-nav-dropdown:focus-within .eh-submenu { display:grid; }
  .eh-submenu > div { padding:15px 18px; }
  .eh-submenu > div:first-child { border-right:0; }
  .eh-submenu .eh-submenu-footer { display:none; }
  .agency-home-slider { min-height:clamp(500px,72svh,620px); }
  .agency-slide { background-position:center; transform:none; }
  .agency-slide-content { width:calc(100% - 40px); max-width:none; min-height:inherit; display:flex; justify-content:center; flex-direction:column; padding:44px 0 90px; }
  .agency-slide-content h1 { max-width:100%; margin:10px 0 14px; font-size:clamp(2rem,10vw,3.15rem); line-height:1.05; overflow-wrap:anywhere; }
  .agency-slide-content p { max-width:100%; margin:0; font-size:.92rem; line-height:1.55; }
  .agency-slide-actions { width:100%; align-items:stretch; flex-direction:column; gap:9px; margin-top:22px; }
  .agency-slide-actions a { min-height:44px; display:flex; align-items:center; justify-content:center; padding:11px 16px; text-align:center; }
  .agency-slider-arrow { top:auto; bottom:22px; width:40px; height:40px; border-radius:50%; transform:none; }
  .agency-slider-arrow svg { width:19px; height:19px; }
  .agency-slider-arrow.is-prev { left:18px; }.agency-slider-arrow.is-next { right:18px; }
  .agency-slider-dots { bottom:38px; }
}

/* Prioridad final del mega menú frente a las reglas antiguas del desplegable. */
@media (min-width:1051px) {
  .elementor-global-header .eh-nav > .e-con-inner { position:relative !important; }
  .elementor-global-header .eh-nav-menu-widget,.elementor-global-header .eh-mega-dropdown { position:static !important; }
  .elementor-global-header .eh-nav-menu-widget { height:68px !important; display:flex; align-items:center; }
  .eh-tour-dropdown .eh-mega-menu,.elementor-global-header .eh-nav-menu-widget:first-child .eh-mega-menu,.elementor-global-header .eh-nav-menu-widget:nth-last-child(-n+3) .eh-mega-menu { right:0 !important; left:0 !important; width:100% !important; min-height:380px; grid-template-columns:1.02fr 1.22fr .82fr !important; transform:translateY(10px); }
  .eh-mega-dropdown:hover .eh-mega-menu,.eh-mega-dropdown:focus-within .eh-mega-menu,.elementor-global-header .eh-nav-menu-widget:first-child .eh-mega-dropdown:hover .eh-mega-menu,.elementor-global-header .eh-nav-menu-widget:nth-last-child(-n+3) .eh-mega-dropdown:hover .eh-mega-menu { transform:none; }
  .eh-mega-menu > div { padding:38px 40px 34px; }
}

/* Apariencia exterior del header inspirada en una operadora turística internacional. */
.elementor-global-header { position:relative; z-index:999; font-family:Poppins,Montserrat,sans-serif; }
.elementor-global-header a,.elementor-global-header p,.elementor-global-header span,.elementor-global-header strong,.elementor-global-header .elementor-button { font-family:Poppins,Montserrat,sans-serif; }
@media (min-width:1051px) {
  .elementor-global-header .eh-promo { min-height:42px !important; padding:7px 24px; background:#303130; }
  .elementor-global-header .eh-promo > .e-con-inner { min-height:28px !important; }
  .elementor-global-header .eh-promo p {  font-size:clamp(.78rem,.88vw,.98rem); font-weight:400; line-height:1.65; letter-spacing:-.015em; }
  .elementor-global-header .eh-promo a {  font-weight:700; text-decoration:underline; text-underline-offset:2px; }
  body.elementor-global-header .eh-utility,.elementor-global-header .eh-utility { min-height:42px !important; display:flex; padding:8px max(28px,calc((100vw - 1500px)/2)) 2px; background:#fff; }
  .elementor-global-header .eh-utility > .e-con-inner { width:100%; max-width:1500px; min-height:32px !important; display:flex; align-items:center; justify-content:flex-end; gap:22px; }
  .elementor-global-header .eh-utility p,.elementor-global-header .eh-utility a {  font-size:.7rem; font-weight:400; }
  .elementor-global-header .eh-utility strong {  font-weight:700; }
  body.elementor-global-header .eh-main,.elementor-global-header .eh-main { min-height:108px !important; height:108px !important; padding:4px max(28px,calc((100vw - 1500px)/2)) 14px; background:#fff; }
  body.elementor-global-header .eh-main > .e-con-inner,.elementor-global-header .eh-main > .e-con-inner { width:100%; max-width:1500px; min-height:90px !important; height:90px !important; gap:24px; }
  .elementor-global-header .eh-logo-wrap { width:34%; min-width:245px; margin-top:-35px; align-self:center; }
  .elementor-global-header .eh-logo-image img { width:220px; height:112px; object-fit:contain; object-position:left center; }
  .elementor-global-header .eh-contact { width:auto !important; flex:0 1 auto !important; }
  .elementor-global-header .eh-contact .elementor-icon-box-wrapper { display:flex !important; align-items:center !important; gap:10px !important; }
  .elementor-global-header .eh-contact .elementor-icon {  font-size:23px; }
  .elementor-global-header .eh-contact .elementor-icon-box-title { margin:0 0 3px;  font-size:.82rem; font-weight:500; }
  .elementor-global-header .eh-contact .elementor-icon-box-description {  font-size:.62rem; }
  .elementor-global-header .eh-whatsapp .elementor-button,.elementor-global-header .eh-quote .elementor-button { min-height:50px !important; padding:15px 21px; border-radius:7px; font-size:.75rem; font-weight:700; }
  .elementor-global-header .eh-whatsapp .elementor-button { background:#71801c; }
  .elementor-global-header .eh-quote .elementor-button { background:#222723; }
  body.elementor-global-header .eh-nav,.elementor-global-header .eh-nav { min-height:68px !important; height:68px !important; padding:0 max(24px,calc((100vw - 1600px)/2)); background:#050605; }
  body.elementor-global-header .eh-nav > .e-con-inner,.elementor-global-header .eh-nav > .e-con-inner { width:100% !important; max-width:1600px !important; min-height:68px !important; height:68px !important; justify-content:space-between !important; gap:16px !important; }
  .elementor-global-header .eh-nav-menu-widget { height:68px !important; }
  .elementor-global-header .eh-nav-parent { height:68px !important; padding:0 5px;  font-size:clamp(.68rem,.76vw,.84rem); font-weight:500; letter-spacing:.015em; }
  .elementor-global-header .eh-nav-parent:hover,.elementor-global-header .eh-nav-dropdown:focus-within > .eh-nav-parent {  }
  .elementor-global-header .eh-nav-parent:before { content:''; position:absolute; right:50%; bottom:0; left:50%; height:3px; background:#91a02d; transition:left .2s ease,right .2s ease; }
  .elementor-global-header .eh-nav-dropdown:hover > .eh-nav-parent:before,.elementor-global-header .eh-nav-dropdown:focus-within > .eh-nav-parent:before { right:0; left:0; }
  .elementor-global-header .eh-nav-parent span { width:6px; height:6px; margin-top:-4px; border-width:0 1.5px 1.5px 0; border-style:solid; border-color:#b6c64d; }
  .elementor-global-header .eh-mega-menu { font-family:Poppins,Montserrat,sans-serif; }
}
@media (min-width:1051px) and (max-width:1280px) {
  .elementor-global-header .eh-nav-parent { font-size:.64rem; }
  .elementor-global-header .eh-logo-wrap { width:25%; min-width:190px; }
  .elementor-global-header .eh-logo-image img { width:185px; }
  .elementor-global-header .eh-contact .elementor-icon-box-description { display:none; }
}

/* Compactación final del encabezado de escritorio. */
@media (min-width:1051px) {
  .elementor-global-header .eh-promo { min-height:32px !important; height:32px !important; padding:3px 24px; }
  .elementor-global-header .eh-promo > .e-con-inner { min-height:26px !important; height:26px !important; }
  .elementor-global-header .eh-promo p { font-size:clamp(.72rem,.78vw,.86rem); line-height:1.35; }
  body.elementor-global-header .eh-utility,.elementor-global-header .eh-utility { min-height:30px !important; height:30px !important; padding:3px max(28px,calc((100vw - 1500px)/2)) 0; }
  .elementor-global-header .eh-utility > .e-con-inner { min-height:27px !important; height:27px !important; }
  body.elementor-global-header .eh-main,.elementor-global-header .eh-main { min-height:78px !important; height:78px !important; padding:3px max(28px,calc((100vw - 1500px)/2)) 7px; }
  body.elementor-global-header .eh-main > .e-con-inner,.elementor-global-header .eh-main > .e-con-inner { min-height:68px !important; height:68px !important; }
  .elementor-global-header .eh-logo-wrap { margin-top:-25px; min-width:205px; }
  .elementor-global-header .eh-logo-image img { width:185px; height:88px; }
  .elementor-global-header .eh-contact .elementor-icon { font-size:20px; }
  .elementor-global-header .eh-contact .elementor-icon-box-title { font-size:.75rem; }
  .elementor-global-header .eh-contact .elementor-icon-box-description { font-size:.57rem; }
  .elementor-global-header .eh-whatsapp .elementor-button,.elementor-global-header .eh-quote .elementor-button { min-height:43px !important; padding:12px 18px; font-size:.7rem; }
  body.elementor-global-header .eh-nav,.elementor-global-header .eh-nav,body.elementor-global-header .eh-nav > .e-con-inner,.elementor-global-header .eh-nav > .e-con-inner { min-height:62px !important; height:62px !important; }
  .elementor-global-header .eh-nav-menu-widget,.elementor-global-header .eh-nav-parent { height:62px !important; }
  .elementor-global-header .eh-nav-parent { font-size:clamp(.75rem,.82vw,.92rem); font-weight:500; }
}

/* Ajuste fino: menos altura superior y botones sin deformación. */
@media (min-width:1051px) {
  .elementor-global-header .eh-promo { min-height:29px !important; height:29px !important; padding:2px 24px; }
  .elementor-global-header .eh-promo > .e-con-inner { min-height:25px !important; height:25px !important; }
  .elementor-global-header .eh-promo p { font-size:clamp(.68rem,.74vw,.8rem); }
  body.elementor-global-header .eh-utility,.elementor-global-header .eh-utility { min-height:27px !important; height:27px !important; padding-top:2px; }
  .elementor-global-header .eh-utility > .e-con-inner { min-height:24px !important; height:24px !important; }
  body.elementor-global-header .eh-main,.elementor-global-header .eh-main { min-height:72px !important; height:72px !important; padding-top:2px; padding-bottom:5px; }
  body.elementor-global-header .eh-main > .e-con-inner,.elementor-global-header .eh-main > .e-con-inner { min-height:64px !important; height:64px !important; }
  .elementor-global-header .eh-logo-wrap { margin-top:-22px; }
  .elementor-global-header .eh-logo-image img { height:82px; }
  .elementor-global-header .eh-whatsapp,.elementor-global-header .eh-quote { width:auto !important; min-width:max-content !important; flex:0 0 auto !important; }
  .elementor-global-header .eh-whatsapp .elementor-widget-container,.elementor-global-header .eh-quote .elementor-widget-container { width:auto !important; margin:0; }
  .elementor-global-header .eh-whatsapp .elementor-button,.elementor-global-header .eh-quote .elementor-button { width:auto !important; min-width:138px !important; height:42px !important; min-height:42px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; padding:0 17px; border:0; border-radius:5px; line-height:1; white-space:nowrap !important; box-shadow:none; }
  .elementor-global-header .eh-whatsapp .elementor-button { min-width:172px !important; }
  .elementor-global-header .eh-whatsapp .elementor-button-content-wrapper,.elementor-global-header .eh-quote .elementor-button-content-wrapper { display:flex !important; align-items:center !important; justify-content:center !important; gap:7px !important; line-height:1; }
  .elementor-global-header .eh-whatsapp .elementor-button-text,.elementor-global-header .eh-quote .elementor-button-text { line-height:1; white-space:nowrap !important; }
}

/* Escala legible del título principal del slider. */
.agency-home-slider .agency-slide-content h1 { max-width:780px !important; font-size:clamp(2.8rem,4.25vw,4.25rem); line-height:1.06; letter-spacing:-.035em; overflow-wrap:normal; }
@media (max-width:1024px) {
  .agency-home-slider .agency-slide-content h1 { max-width:680px !important; font-size:clamp(2.55rem,5.8vw,3.45rem); }
}

/* Interacciones suaves de los enlaces dentro de los submenús. */
@media (min-width:1051px) {
  .elementor-global-header .eh-submenu { transform-origin:top center; transition:opacity .24s ease,transform .28s cubic-bezier(.2,.75,.25,1),visibility .24s; }
  .elementor-global-header .eh-submenu > div > a,.elementor-global-header .eh-mega-tours > a { position:relative; overflow:hidden; padding-left:10px; padding-right:26px; transform:none; transition:color .22s ease,background-color .22s ease,border-color .22s ease; }
  .elementor-global-header .eh-submenu > div > a:before,.elementor-global-header .eh-mega-tours > a:before { content:''; position:absolute; top:0; bottom:0; left:0; width:3px; background:#91a02d; transform:scaleY(0); transform-origin:center; transition:transform .22s ease; }
  .elementor-global-header .eh-submenu > div > a:after { right:11px; opacity:.45; transition:right .22s ease,opacity .22s ease,border-color .22s ease; }
  .elementor-global-header .eh-submenu > div > a:hover,.elementor-global-header .eh-submenu > div > a:focus-visible,.elementor-global-header .eh-mega-tours > a:hover,.elementor-global-header .eh-mega-tours > a:focus-visible { padding-left:10px; color:#637119; border-color:#e1e6dc; background:linear-gradient(90deg,rgba(145,160,45,.1),rgba(145,160,45,.025)); outline:0; }
  .elementor-global-header .eh-submenu > div > a:hover:before,.elementor-global-header .eh-submenu > div > a:focus-visible:before,.elementor-global-header .eh-mega-tours > a:hover:before,.elementor-global-header .eh-mega-tours > a:focus-visible:before { transform:scaleY(1); }
  .elementor-global-header .eh-submenu > div > a:hover:after,.elementor-global-header .eh-submenu > div > a:focus-visible:after { right:8px; opacity:1; border-color:#91a02d; }
  .elementor-global-header .eh-mega-tours .eh-view-category:hover { color:#4e5b0d; background:rgba(145,160,45,.12); }
  @media (prefers-reduced-motion:reduce) {
    .elementor-global-header .eh-submenu,.elementor-global-header .eh-submenu a,.elementor-global-header .eh-submenu a:before,.elementor-global-header .eh-submenu a:after { transition:none; }
  }
}

/* Solo la mecánica responsive permanece protegida; la apariencia la controla Elementor. */
@media (max-width:1050px) {
  body.elementor-global-header .eh-utility,body.elementor-global-header .eh-contact,body.elementor-global-header .eh-quote { display:none !important; }
  body.elementor-global-header .eh-main > .e-con-inner { display:flex !important; align-items:center !important; justify-content:space-between !important; flex-flow:row nowrap !important; }
  body.elementor-global-header .eh-nav { display:none !important; }
  body.elementor-global-header.is-mobile-menu-open .eh-nav { display:block !important; }
  body.elementor-global-header .eh-nav > .e-con-inner { display:flex !important; align-items:stretch !important; flex-direction:column !important; overflow:visible !important; }
  body.elementor-global-header .eh-nav-menu-widget { width:100% !important; }
  body.elementor-global-header .eh-submenu { visibility:visible !important; position:static !important; width:100% !important; display:none !important; grid-template-columns:1fr !important; opacity:1 !important; transform:none !important; }
  body.elementor-global-header .eh-nav-dropdown.is-submenu-open .eh-submenu,body.elementor-global-header .eh-nav-dropdown:focus-within .eh-submenu { display:grid !important; }
}

:where(.home-elementor-tour-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; width:100%; }
:where(.home-elementor-tour-grid) .tour-card,:where(.home-elementor-tour-grid) .tour-card:nth-child(4),:where(.home-elementor-tour-grid) .tour-card:nth-child(5) { grid-column:span 1; min-width:0; }
@media (max-width:900px) { :where(.home-elementor-tour-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { :where(.home-elementor-tour-grid) { grid-template-columns:1fr; } }
@media (min-width:1051px) {
  body.elementor-global-header .eh-nav,body.elementor-global-header .eh-nav > .e-con-inner { overflow:visible !important; }
  body.elementor-global-header .eh-nav > .e-con-inner { position:relative !important; }
  body.elementor-global-header .eh-nav-menu-widget,body.elementor-global-header .eh-mega-dropdown { position:static !important; }
  body.elementor-global-header .eh-mega-menu { right:0 !important; left:0 !important; width:100% !important; grid-template-columns:1.02fr 1.22fr .82fr !important; }
}
@media (max-width:650px) {
  .agency-home-slider .agency-slide-content h1 { max-width:100% !important; font-size:clamp(2rem,9vw,2.65rem); line-height:1.08; letter-spacing:-.025em; overflow-wrap:anywhere; }
}

/* Full-bleed estructural del slider; el diseño interno continúa editable. */
body.home .site-main,body.home .site-main > .elementor { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; overflow:hidden; }
body.home .home-slider-shell,body.home .home-slider-shell > .e-con-inner,body.home .home-slider-shell .elementor-widget-agencia-home-slider,body.home .home-slider-shell .elementor-widget-container { --width:100% !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; }
body.home .home-slider-shell { left:auto !important; right:auto !important; }
body.home .agency-home-slider { width:100% !important; max-width:none !important; margin:0 !important; border:0 !important; border-radius:0 !important; }
body.home .agency-home-slider[data-fullscreen="true"] { height:var(--agency-slider-height,calc(100svh - 160px)); }
body.home .agency-home-slider[data-fullscreen="true"] .agency-slide-content { min-height:var(--agency-slider-height,calc(100svh - 160px)); display:flex; justify-content:center; flex-direction:column; padding-top:clamp(46px,8vh,100px); padding-bottom:clamp(64px,9vh,110px); }
@media(max-width:1050px){body.home .agency-home-slider[data-fullscreen="true"]{height:var(--agency-slider-height,calc(100svh - 93px))}body.home .agency-home-slider[data-fullscreen="true"] .agency-slide-content{min-height:var(--agency-slider-height,calc(100svh - 93px));padding-top:clamp(32px,6vh,70px);padding-bottom:82px}}
@media(max-width:700px){body.home .agency-home-slider[data-fullscreen="true"] .agency-slide-content{padding-right:8px;padding-left:8px}.agency-home-slider .agency-slide-content h1{font-size:clamp(2rem,9vw,3rem)}.agency-home-slider .agency-slide-content p{font-size:clamp(.84rem,3.6vw,1rem)}}
@media(max-height:600px) and (orientation:landscape){body.home .agency-home-slider[data-fullscreen="true"] .agency-slide-content{padding-top:20px;padding-bottom:58px}.agency-home-slider .agency-slide-content>span{font-size:.58rem}.agency-home-slider .agency-slide-content h1{margin:6px 0 9px;font-size:clamp(1.65rem,5vw,2.35rem)}.agency-home-slider .agency-slide-content p{font-size:.78rem;line-height:1.4}.agency-slide-actions{margin-top:12px}.agency-slide-primary,.agency-slide-secondary{padding:10px 15px}.agency-slider-dots{bottom:22px}}

/* Colores predeterminados de baja prioridad: cualquier control de Elementor los reemplaza. */
:where(.elementor-global-header .eh-promo) { color:#fff; }
:where(.elementor-global-header .eh-promo a) { color:#91a02d; }
:where(.elementor-global-header .eh-utility) { color:#6b706e; }
:where(.elementor-global-header .eh-utility a) { color:inherit; }
:where(.elementor-global-header .eh-utility strong) { color:#121513; }
:where(.elementor-global-header .eh-contact .elementor-icon) { color:#91a02d; }
:where(.elementor-global-header .eh-contact .elementor-icon-box-title) { color:#111; }
:where(.elementor-global-header .eh-contact .elementor-icon-box-description) { color:#7d817f; }
:where(.elementor-global-header .eh-whatsapp .elementor-button),:where(.elementor-global-header .eh-quote .elementor-button) { color:#fff; }
:where(.elementor-global-header .eh-nav) { color:#fff; }
:where(.elementor-global-header .eh-nav-link .elementor-button),:where(.elementor-global-header .eh-nav-parent) { color:inherit; }
:where(.elementor-global-header .eh-nav-link .elementor-button:hover),:where(.elementor-global-header .eh-nav-parent:hover),:where(.elementor-global-header .eh-nav-dropdown:focus-within>.eh-nav-parent) { color:#b0c143; }

.home-icon-carousel-shell,.home-icon-carousel-shell>.e-con-inner,.home-icon-carousel-shell .elementor-widget-agencia-icon-carousel { width:100%; max-width:none; margin:0; padding:0; }
.agency-icon-carousel { position:relative; width:100%; padding:18px 62px; border-top:1px solid #e5e9e6; border-bottom:1px solid #e5e9e6; background:#fff; }
.agency-icon-carousel__viewport { overflow:hidden; }
.agency-icon-carousel__track { display:flex; transition:transform .75s cubic-bezier(.2,.7,.2,1); }
.agency-icon-card { position:relative; isolation:isolate; flex:0 0 calc(100% / var(--items-desktop)); min-width:0; min-height:155px; display:flex; align-items:center; justify-content:center; flex-direction:column; overflow:hidden; padding:20px 24px; border-right:1px solid #e4e8e5; text-align:center; transition:transform .42s cubic-bezier(.22,1,.36,1),background .35s ease,box-shadow .42s ease,border-color .32s ease; }
.agency-icon-card::before { content:""; position:absolute; z-index:2; top:0; left:18%; width:64%; height:3px; border-radius:0 0 8px 8px; background:#9cad32; transform:scaleX(0); transform-origin:center; transition:transform .38s cubic-bezier(.22,1,.36,1); }
.agency-icon-card:last-child { border-right:0; }
.agency-icon-card__title { margin:0 0 11px; color:#192d27; font-family:Merriweather,Georgia,serif; font-size:1rem; transition:color .3s ease,transform .38s cubic-bezier(.22,1,.36,1); }
.agency-icon-card__icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:10px; color:#7d8e20; border:1px solid rgba(125,142,32,.12); border-radius:50%; background:#f1f3e7; box-shadow:0 5px 16px rgba(25,45,39,.06); font-size:20px; transition:transform .38s cubic-bezier(.22,1,.36,1),background-color .3s ease,color .3s ease,box-shadow .38s ease; }
.agency-icon-card__icon svg { width:1em; height:1em; color:inherit; fill:currentColor; }
.agency-icon-card__icon svg path { fill:currentColor; }
.agency-icon-card__description { max-width:220px; color:#6b7772; font-size:.68rem; line-height:1.5; transition:color .3s ease,transform .38s cubic-bezier(.22,1,.36,1); }
.agency-icon-card:hover { z-index:3; background:linear-gradient(135deg,#253a32 0%,#111e1a 100%); border-color:transparent; box-shadow:0 20px 46px rgba(17,30,26,.28); transform:translateY(-7px); }
.agency-icon-card:hover::before { transform:scaleX(1); }
.agency-icon-card:hover .agency-icon-card__title { color:#fff; transform:translateY(-2px); }
.agency-icon-card:hover .agency-icon-card__icon { color:#fff; border-color:transparent; background:transparent; box-shadow:none; transform:translateY(-4px) scale(1.12); }
.agency-icon-card:hover .agency-icon-card__icon svg,.agency-icon-card:hover .agency-icon-card__icon svg path { color:inherit; fill:currentColor !important; }
.agency-icon-card:hover .agency-icon-card__description { color:#dfe8e4; transform:translateY(1px); }
.agency-icon-carousel__nav { position:absolute; z-index:2; top:50%; width:34px; height:34px; display:grid; place-items:center; padding:0; color:#192d27; border:1px solid #192d27; border-radius:50%; background:#fff; font-size:1.3rem; cursor:pointer; transform:translateY(-50%); }
.agency-icon-carousel__nav.is-prev { left:17px; }.agency-icon-carousel__nav.is-next { right:17px; }
@media(max-width:1024px){.agency-icon-card{flex-basis:calc(100% / var(--items-tablet));}}
@media(max-width:600px){.agency-icon-carousel{padding:14px 42px}.agency-icon-card{flex-basis:calc(100% / var(--items-mobile));min-height:145px;padding:16px 10px}.agency-icon-carousel__nav{width:29px;height:29px}.agency-icon-carousel__nav.is-prev{left:7px}.agency-icon-carousel__nav.is-next{right:7px}}
@media(hover:none){.agency-icon-card:hover{box-shadow:none;transform:none}.agency-icon-card:hover::before{transform:scaleX(0)}.agency-icon-card:hover .agency-icon-card__icon,.agency-icon-card:hover .agency-icon-card__title,.agency-icon-card:hover .agency-icon-card__description{transform:none}}
@media(prefers-reduced-motion:reduce){.agency-icon-card,.agency-icon-card::before,.agency-icon-card__title,.agency-icon-card__icon,.agency-icon-card__description{transition:none}}
