/* Public editorial layout, 27 September 2026. Keeps the official brand and live controls. */
:root{--editorial-cream:#fcfaf5;--editorial-navy:#111a3f;--editorial-gold:#e4ad29;--editorial-ink:#172348;--editorial-line:#e9e4da}
body.app-site{background:var(--editorial-cream);color:var(--editorial-ink)}
body.app-site h1,body.app-site h2,body.app-site .card h3,body.app-site .tl-card h3,body.app-site .pkg-card h3,body.app-site .ddc h4{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.025em}
body.app-site h2{color:var(--editorial-navy)}

/* The page hero continues underneath transparent navigation.
   29-09-2026: sin raya inferior y sin quedarse fija al bajar (se va con la página). */
.app-site .site-header,.app-site .site-header.is-scrolled{position:relative;top:auto;background:transparent!important;background-image:none!important;border-bottom:0;box-shadow:none;backdrop-filter:none}
.app-site .site-header{margin-bottom:-76px}
.app-site .site-header::before,.app-site .site-header.is-scrolled::before{content:none!important;display:none!important}
/* 29-09-2026: logo más grande y cabecera más alta. Sobre una portada, la cabecera la cubre entera;
   en páginas sin portada conserva el desplazamiento anterior (el contenido baja, nunca queda tapado). */
/* 30-09-2026: logo aún más grande (pedido de la clienta: «que el logo se aprecie mejor, somos empresa nueva»).
   Antes 89/74/63 px de logo con cabecera de 96/84/74. */
:root{--mpt-header-h:124px;--mpt-logo-h:118px}
.app-site .site-header .header-inner{max-width:1530px;height:var(--mpt-header-h,76px);gap:15px}
.app-site #root:has(.hero,.page-hero,.detail-hero,.dest-hero) .site-header{margin-bottom:calc(-1 * var(--mpt-header-h,76px))}
/* Logotipo sin caja blanca: PNG con fondo transparente derivado de logo-oficial.jpg. */
.app-site .brand-official img{width:auto;height:var(--mpt-logo-h,62px);padding:0;background:none;border:0;border-radius:0;box-shadow:none;object-fit:contain}
.app-site .main-nav{gap:clamp(8px,1.1vw,19px)}
.app-site .main-nav a,.app-site .site-header.is-scrolled .main-nav a{color:#fff;font-size:12px;text-shadow:0 1px 7px rgba(0,0,0,.35)}
/* Menú de escritorio junto al logo (antes quedaba pegado a la derecha) y con letra más grande.
   Va DESPUÉS de las dos reglas de arriba: misma especificidad, gana la última. */
@media(min-width:1101px){
  .app-site .main-nav{margin-left:clamp(18px,2.4vw,44px);margin-right:auto;gap:clamp(12px,1.35vw,24px)}
  .app-site .main-nav a,.app-site .site-header.is-scrolled .main-nav a{font-size:14px}
}
.app-site .main-nav a:hover,.app-site .main-nav a.active,.app-site .site-header.is-scrolled .main-nav a:hover,.app-site .site-header.is-scrolled .main-nav a.active{color:#ffe48c}
.app-site .site-header .header-language,.app-site .site-header.is-scrolled .header-language{color:#fff}
.app-site .site-header .header-language button,.app-site .site-header.is-scrolled .header-language button{color:#fff;border-color:rgba(255,255,255,.8)}
.app-site .site-header .header-language button[aria-pressed=true]{background:#f7bd22;border-color:#f7bd22}
.app-site .site-header .header-account,.app-site .site-header.is-scrolled .header-account{color:#fff;border-color:rgba(255,255,255,.8)}
.app-site .site-header .nav-toggle,.app-site .site-header.is-scrolled .nav-toggle{color:#fff}
.app-site .site-header.is-scrolled .main-nav a{color:#202868;text-shadow:none}
.app-site .site-header.is-scrolled .main-nav a:hover,.app-site .site-header.is-scrolled .main-nav a.active{color:#76530b}
.app-site .site-header.is-scrolled .header-language button,.app-site .site-header.is-scrolled .header-account,.app-site .site-header.is-scrolled .nav-toggle{color:#202868;border-color:#8b94bd}
.app-site .header-cta{background:#f7bd22;border:0;color:#14204d;padding-inline:20px;box-shadow:0 7px 16px rgba(0,0,0,.18)}

/* Visible flags replace the language caption; button names remain available to screen readers. */
.app-site .site-header .header-language span,body:not(.app-site) .top .language-control span{display:none}
.app-site .site-header .header-language button,body:not(.app-site) .top .language-control button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:28px;min-width:34px;padding:3px;font-size:0;line-height:0}
.app-site .site-header .header-language button::before,body:not(.app-site) .top .language-control button::before{content:"";display:block;width:22px;height:15px;background:center/contain no-repeat;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.app-site .site-header .header-language button:first-of-type::before,body:not(.app-site) .top .language-control button:first-of-type::before{background-image:url('/flag-es.svg')}
.app-site .site-header .header-language button:last-of-type::before,body:not(.app-site) .top .language-control button:last-of-type::before{background-image:url('/flag-en.svg')}

/* Unified photography and readable, left-aligned headings on every public route. */
.app-site .hero,.app-site .page-hero,.app-site .detail-hero,.app-site .dest-hero{
  background:linear-gradient(90deg,rgba(7,20,43,.84) 0%,rgba(12,27,51,.63) 36%,rgba(12,27,51,.08) 77%),var(--cms-image-url,url('/hero-editorial-20260927.webp')) center 47%/cover no-repeat !important;
  color:#fff;text-align:left
}
.app-site .hero{min-height:535px;align-items:center}
.app-site .hero .container{padding-top:135px;padding-bottom:140px}
.app-site .hero h1,.app-site .page-hero h1,.app-site .detail-hero h1,.app-site .dest-hero h1{font-family:'Playfair Display',Georgia,serif;color:#fff;font-weight:700;letter-spacing:-.045em;line-height:1.04;text-shadow:0 3px 18px rgba(0,0,0,.18)}
.app-site .hero h1{font-size:clamp(42px,5.6vw,76px);max-width:660px}
.app-site .hero .lead{font-size:clamp(15px,1.4vw,19px);line-height:1.55;max-width:530px}

/* Portada rotativa de inicio (hero-slides.js, 29-09-2026). La capa va detrás del texto, no recibe
   clics y solo existe en la portada de inicio; sin JavaScript queda la imagen fija de siempre. */
.app-site .hero{isolation:isolate}
.app-site .hero .mpt-hero-slides{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.app-site .hero .mpt-hero-slide{position:absolute;inset:0;background:var(--mpt-slide-wide) center/cover no-repeat;opacity:0;transition:opacity 1.2s ease}
.app-site .hero .mpt-hero-slide.is-active{opacity:1}
.app-site .hero .mpt-hero-slide[data-slide=machu-picchu]{background-position:center 47%}
.app-site .hero .mpt-hero-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,43,.6) 0,rgba(7,20,43,0) 28%),linear-gradient(90deg,rgba(7,20,43,.86) 0%,rgba(12,27,51,.68) 38%,rgba(12,27,51,.22) 72%,rgba(12,27,51,.1) 100%)}
.app-site .hero .container:has(>.mpt-hero-controls){padding-bottom:98px}
.app-site .hero .mpt-hero-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:28px}
.app-site .hero .mpt-hero-dots{display:flex;align-items:center;gap:2px}
.app-site .hero .mpt-hero-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:transparent;cursor:pointer;transition:width .3s ease}
.app-site .hero .mpt-hero-dot::before{content:"";width:10px;height:10px;border-radius:99px;background:rgba(255,255,255,.62);box-shadow:0 1px 4px rgba(0,0,0,.35);transition:width .3s ease,background-color .3s ease}
.app-site .hero .mpt-hero-dot[aria-current=true]{width:40px}
.app-site .hero .mpt-hero-dot[aria-current=true]::before{width:28px;background:#f7bd22}
.app-site .hero .mpt-hero-dot:hover::before{background:#fff}
.app-site .hero .mpt-hero-dot[aria-current=true]:hover::before{background:#ffd35c}
.app-site .hero .mpt-hero-pause{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(7,20,43,.35);color:#fff;cursor:pointer}
.app-site .hero .mpt-hero-pause::before{content:"";box-sizing:border-box;width:10px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.app-site .hero .mpt-hero-pause.is-paused::before{width:0;height:0;margin-left:3px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.app-site .hero .mpt-hero-pause:hover{background:rgba(7,20,43,.62)}
.app-site .hero .mpt-hero-caption{color:rgba(255,255,255,.92);font:600 12px/1.35 Inter,Arial,sans-serif;letter-spacing:.03em;text-shadow:0 1px 6px rgba(0,0,0,.45)}
@media(prefers-reduced-motion:reduce){.app-site .hero .mpt-hero-slide,.app-site .hero .mpt-hero-dot,.app-site .hero .mpt-hero-dot::before{transition:none}}
.app-site .page-hero{min-height:390px}
.app-site .page-hero .container{width:100%;text-align:left}
.app-site .page-hero h1{font-size:clamp(38px,4.8vw,65px);max-width:760px}
.app-site .page-hero p{font-size:17px;line-height:1.6;max-width:590px;margin:15px 0 0}
.app-site .detail-hero{min-height:410px}
.app-site .dest-hero{min-height:390px;overflow:hidden}
.app-site .dest-hero::before,.app-site .dest-hero .tex{display:none!important}
.app-site .dest-hero .dh-inner{max-width:1320px;min-height:390px;padding:48px 24px;grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
.app-site .dest-hero .dh-left h1{font-size:clamp(38px,4.8vw,65px);max-width:660px}
.app-site .dest-hero .dh-left p{font-size:17px;max-width:570px}
.app-site .dest-hero .dh-map{display:none}
.app-site .dest-hero .dh-list{grid-template-rows:repeat(5,auto);gap:11px 18px;background:rgba(9,27,45,.45);padding:23px 26px;border:1px solid #ffffff52;border-radius:18px;backdrop-filter:blur(8px)}
.app-site .dest-hero .dh-list li{font-size:13px}
.app-site .dest-hero .dh-compass{opacity:.32}

/* The search and filter forms retain their existing handlers. */
.app-site .search-bar{max-width:1180px;bottom:-39px;border:1px solid #e9e5db;border-radius:18px;box-shadow:0 20px 45px rgba(16,26,55,.14)}
.app-site .search-bar .field{padding:19px 22px}
.app-site .search-bar .field .ico{color:#bd8c23}
.app-site .search-bar .btn,.app-site .filters .btn{background:#073f42;color:#fff}
.app-site .search-bar .btn:hover,.app-site .filters .btn:hover{background:#07555a}
.app-site .filters{background:#fff;border:1px solid var(--editorial-line);border-radius:16px;box-shadow:0 12px 28px rgba(20,27,78,.09)}
.app-site .filters .fcell{border-right:1px solid var(--editorial-line)}
.app-site .filters .fcell label{color:#5b6072}
.app-site .filters .fcell select,.app-site .filters .fcell input{color:var(--editorial-ink)}
.app-site .filters .fcell select option{color:var(--editorial-ink)}

/* Editorial cards, with large imagery and comfortable reading space. */
.app-site .section{padding-top:62px;padding-bottom:62px}
.app-site .section.bg-soft{background:#f3f1ea}
.app-site .title-underline::after{background:var(--editorial-gold)}
.app-site .card,.app-site .tl-card,.app-site .pkg-card,.app-site .ddc,.app-site .blog-card,.app-site .ofr-card,.app-site .form-card{border:1px solid var(--editorial-line);border-radius:16px;box-shadow:0 8px 28px rgba(20,27,78,.07);overflow:hidden}
.app-site .card:hover,.app-site .tl-card:hover,.app-site .pkg-card:hover,.app-site .ddc:hover{box-shadow:0 18px 35px rgba(20,27,78,.13);transform:translateY(-3px)}
.app-site .card-img{aspect-ratio:16/9}
.app-site .card-body,.app-site .pkg-body{padding:20px}
.app-site .card h3{font-size:21px;line-height:1.23}
.app-site .card-cta{background:#f3ead2;color:#694806}
.app-site .card-cta:hover{background:var(--editorial-gold);color:#172348}
.app-site .price-foot .soles,.app-site .pkg-foot .soles,.app-site .tl-card .pr .soles{color:#6f4d08}
.app-site .tour-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.app-site .tl-card{display:flex;flex-direction:column;min-width:0}
.app-site .tl-card .thumb{width:100%;height:190px;flex:none}
.app-site .tl-card .info{padding:18px 20px;display:flex;flex-direction:column}
.app-site .tl-card h3{font-size:22px;line-height:1.22}
.app-site .tl-card .pr{margin-top:auto;padding-top:13px}
.app-site .pkg-card .pimg{aspect-ratio:16/9}
.app-site .pkg-body h3{font-size:23px;line-height:1.2;color:var(--editorial-navy)}
.app-site .dest-chip{aspect-ratio:1.32;border-radius:14px}
.app-site .dest-chip span{font-family:'Playfair Display',Georgia,serif;font-size:22px}
.app-site .dest-row{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 70px)/6);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.app-site .dest-row::-webkit-scrollbar{display:none}
.app-site .dest-row .dest-chip{min-width:0;scroll-snap-align:start}
.app-site .dest-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.app-site .ddc .ddimg{aspect-ratio:4/3}
.app-site .ddc .ddbody{padding:17px}
.app-site .ddc h4{font-size:20px!important}
.app-site .ddc .ddmeta{flex-wrap:wrap;gap:8px}
.app-site .feature-strip{background:#f7f4eb;border:1px solid #eee8da}
.app-site .feat .fi{color:#b17d17}
.app-site .cta-box,.app-site .wa-band{background:linear-gradient(105deg,#073e3f,#10234b)}
.app-site .site-footer{background:#073938}
.app-site .footer-top{gap:24px;padding-top:44px}
.app-site .footer-brand>img{width:155px}
.app-site .footer-photo-credits{display:block;color:#d7ddf4;font-size:12px;text-decoration:underline;text-underline-offset:3px;margin:9px 0}
.app-site .footer-col a:hover{color:#f4c65a}
.app-site .footer-newsletter label a{display:inline;margin:0}
.app-site .footer-bottom{border-color:#ffffff36}

/* Actual destination imagery. Each derivative is credited on /creditos-fotograficos.html. */
.app-site :is(.dest-chip,.card-img,.thumb,.pimg,.ddimg,.exp-card,.oimg,.bimg)[style*="photo-1580619305218-8423a7ef79b4"]{background-image:var(--cms-image-url,url('/destino-cusco-20260927.webp'))!important}
.app-site :is(.dest-chip,.card-img,.thumb,.pimg,.ddimg,.exp-card,.oimg,.bimg)[style*="photo-1534447677768-be436bb09401"]{background-image:var(--cms-image-url,url('/destino-arequipa-20260927.webp'))!important}
.app-site :is(.dest-chip,.card-img,.thumb,.pimg,.ddimg,.exp-card,.oimg,.bimg)[style*="photo-1548013146-72479768bada"]{background-image:var(--cms-image-url,url('/destino-puno-20260927.webp'))!important}
.app-site :is(.dest-chip,.card-img,.thumb,.pimg,.ddimg,.exp-card,.oimg,.bimg)[style*="photo-1500530855697-b586d89ba3ee"]{background-image:var(--cms-image-url,url('/destino-ica-20260927.webp'))!important}
.app-site :is(.dest-chip,.card-img,.thumb,.pimg,.ddimg,.exp-card,.oimg,.bimg)[style*="photo-1526397751294-331021109fbd"]{background-image:var(--cms-image-url,url('/destino-paracas-20260927.webp'))!important}

/* Blog page uses content, search and category filters without fabricated reviews. */
.mpt-blog-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:30px}
.mpt-blog-tools input{max-width:400px;background:#fff}
.mpt-blog-tools button{padding:10px 16px;border:1px solid #d9d9d4;border-radius:99px;background:#fff;color:#1b3150;font-weight:650;cursor:pointer}
.mpt-blog-tools button[aria-pressed=true]{background:#073f42;color:#fff;border-color:#073f42}
.mpt-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mpt-blog-card{background:#fff;border:1px solid var(--editorial-line);border-radius:17px;overflow:hidden;box-shadow:0 8px 24px #10234612}
.mpt-blog-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.mpt-blog-card>div{padding:22px}
.mpt-blog-card small{display:block;color:#976d11;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.mpt-blog-card h2{font-size:25px;line-height:1.18;margin:8px 0 12px}
.mpt-blog-card p{font-size:14px;line-height:1.65;color:#4c556e}
.mpt-blog-card details{border-top:1px solid var(--editorial-line);margin-top:15px;padding-top:13px}
.mpt-blog-card summary{cursor:pointer;color:#075053;font-weight:750;list-style:none}
.mpt-blog-card summary::after{content:' ↗'}
.mpt-blog-card details p{margin:12px 0}
.mpt-blog-card details a{color:#075053;font-weight:700;text-decoration:underline}
.mpt-blog-note{margin:28px 0 0;color:#656d7e;font-size:13px}
.auth-card a>img[src="/logo-oficial.jpg"]{height:100px!important;width:auto;max-width:100%;object-fit:contain;display:block;margin:0 auto 22px!important}

/* Buscador de la portada (29-09-2026): /tours muestra la fecha y los viajeros elegidos,
   y /reserva permite elegir el tour, paquete u oferta. */
.app-site .mpt-busqueda{margin:0 0 20px;padding:12px 16px;border:1px solid #f1d48a;border-radius:12px;background:#fff6dc;color:#4a3a0b;font-size:14px;line-height:1.5}
.app-site .mpt-producto select{font-size:16px;font-weight:600;border:2px solid var(--editorial-gold);border-radius:10px;background:#fff;color:var(--editorial-ink)}
.app-site .mpt-producto-ayuda{display:block;margin-top:6px;color:#6b5a1e;font-size:12.5px;line-height:1.45}

/* Legal, ESNNA and complaints pages keep their official content and forms. */
body:not(.app-site){background:var(--editorial-cream);color:var(--editorial-ink)}
body.static-public{container-type:inline-size}
body:not(.app-site) .top,body:not(.app-site) .top.is-scrolled{background:transparent;background-image:none!important;color:#fff;border-bottom:1px solid rgba(255,255,255,.58);box-shadow:none}
body:not(.app-site) .top a,body:not(.app-site) .top.is-scrolled a{color:#fff}
body:not(.app-site) .top .language-control{color:#fff}
body:not(.app-site) .top .language-control button,body:not(.app-site) .top.is-scrolled .language-control button{border-color:rgba(255,255,255,.8)}
body:not(.app-site) .wrap>.hero{position:relative;isolation:isolate;background:none!important;border:0;min-height:270px;display:flex;flex-direction:column;justify-content:center;color:#fff;border-radius:0;padding:38px 42px}
body:not(.app-site) .wrap>.hero::before{content:"";position:absolute;z-index:-1;top:-32px;bottom:0;left:50%;width:100cqw;transform:translateX(-50%);background:linear-gradient(90deg,#07142bd9,#0c1b33a1 52%,#0c1b3312),var(--cms-image-url,url('/hero-editorial-20260927.webp')) center/cover no-repeat}
body:not(.app-site) .wrap>.hero h1{font-family:'Playfair Display',Georgia,serif;color:#fff;line-height:1.08;font-size:clamp(34px,4.5vw,56px)}
body:not(.app-site) .wrap>.hero .eyebrow{color:#ffdb83}
body:not(.app-site) .wrap>.hero p{color:#f8f9ff}
body:not(.app-site) .wrap>.card{border-color:var(--editorial-line);box-shadow:0 8px 24px #10234612}
@media print{body:not(.app-site) .wrap>.hero{background:none!important;color:#111;min-height:0;padding:0}body:not(.app-site) .wrap>.hero h1,body:not(.app-site) .wrap>.hero p{color:#111}}

/* Cajas informativas de Paquetes: con 3 columnas (más de 1000 px) la dorada se salía 83 px a 1024. */
@media(min-width:1001px){
  .app-site .info-boxes{grid-template-columns:minmax(0,1.15fr) minmax(0,1.3fr) minmax(0,1.1fr)}
  .app-site .info-boxes .ibox>div{min-width:0;flex:1}
  .app-site .info-boxes .ibox .btn{max-width:100%;white-space:normal;text-align:center}
}
@media(max-width:1100px){
  :root{--mpt-header-h:106px;--mpt-logo-h:96px}
  .app-site .site-header .main-nav{background:#fff;max-height:calc(100dvh - var(--mpt-header-h,76px));overflow-y:auto}
  .app-site .site-header .main-nav.open a.active,.app-site .site-header .main-nav.open a:hover{color:#76530b;text-shadow:none}
  .app-site .dest-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-site .tour-list,.mpt-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-site .dest-hero .dh-inner{grid-template-columns:1fr}
  .app-site .dest-hero .dh-right{justify-content:flex-start}
  .app-site .dest-hero .dh-list{grid-template-columns:repeat(5,auto);grid-template-rows:none;grid-auto-flow:row}
  .app-site .dest-row{grid-auto-columns:calc((100% - 28px)/3)}
}
@media(max-width:760px){
  .app-site .hero{min-height:0}
  .app-site .hero .container{padding:135px 24px 34px}
  .app-site .hero .container:has(>.mpt-hero-controls){padding-bottom:26px}
  .app-site .hero .mpt-hero-slide{background-image:var(--mpt-slide-tall)}
  .app-site .hero .mpt-hero-slides::after{background:linear-gradient(180deg,rgba(7,20,43,.8) 0%,rgba(7,20,43,.62) 48%,rgba(7,20,43,.42) 100%)}
  .app-site .hero .mpt-hero-controls{margin-top:18px;gap:2px 8px}
  .app-site .hero .mpt-hero-dot{width:44px;height:44px}
  .app-site .hero .mpt-hero-dot[aria-current=true]{width:52px}
  .app-site .hero .mpt-hero-pause{width:44px;height:44px}
  .app-site .hero .mpt-hero-caption{flex-basis:100%}
  .app-site .hero h1{font-size:clamp(39px,9vw,56px)}
  .app-site .hero .lead{font-size:15px}
  .app-site .page-hero{min-height:320px}
  .app-site .page-hero .container{padding:55px 24px}
  .app-site .page-hero h1,.app-site .dest-hero .dh-left h1{font-size:clamp(35px,8vw,52px)}
  .app-site .page-hero p,.app-site .dest-hero .dh-left p{font-size:15px}
  .app-site .dest-hero .dh-inner{min-height:330px;padding:54px 24px;display:block}
  .app-site .dest-hero .dh-right{display:none}
  .app-site .dest-hero .dh-deco{margin:14px 0}
  .app-site .dest-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-site .section{padding-top:46px;padding-bottom:46px}
  .app-site .tour-list,.mpt-blog-grid{grid-template-columns:1fr}
  .app-site .tl-card .thumb{height:210px}
  .app-site .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-site .filters .btn{grid-column:1/-1;min-height:48px}
}
@media(max-width:600px){
  .app-site .section.container{padding-left:24px;padding-right:24px}
  .app-site .info-boxes .ibox>div{min-width:0;flex:1}
  .app-site .info-boxes .ibox .btn{max-width:100%;white-space:normal;text-align:center}
  :root{--mpt-header-h:88px;--mpt-logo-h:78px}
  .app-site .site-header .header-inner{height:var(--mpt-header-h,68px);padding:0 14px}
  .app-site .site-header{margin-bottom:-68px}
  .app-site .brand-official img{width:auto;height:var(--mpt-logo-h,52px)}
  .app-site .site-header .header-language button{padding:6px}
  .app-site .hero,.app-site .page-hero,.app-site .dest-hero{background-position:61% center!important}
  .app-site .hero .mpt-hero-slide[data-slide=machu-picchu]{background-position:61% center}
  .app-site .search-bar{margin:0 16px 26px;border-radius:15px}
  .app-site .search-bar .field{padding:14px 17px}
  .app-site .dest-row{grid-auto-columns:calc((100% - 14px)/2)}
  .app-site .dest-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-site .ddc .ddbody{padding:12px}
  .app-site .ddc h4{font-size:17px!important}
  .app-site .ddc .ddmeta{font-size:10px}
  .app-site .footer-top{grid-template-columns:minmax(0,1fr);gap:25px}
  .app-site .footer-top>*{min-width:0;overflow-wrap:anywhere}
  .app-site .footer-brand,.app-site .footer-newsletter{grid-column:1/-1}
  .mpt-blog-tools input{max-width:100%}
  /* Ofertas de la portada: la columna no puede ser más ancha que la pantalla (desbordaba a 360 px). */
  .app-site .offers-grid{grid-template-columns:minmax(0,1fr)}
  .app-site .offer-card,.app-site .offer-card>div:not(.oimg){min-width:0}
  .app-site .offer-card .flex.between{flex-wrap:wrap;gap:8px}
  /* Paginación de listados: a 360 px se salía de la pantalla y cortaba «« Anterior» / «Siguiente »». */
  .app-site .pagination{flex-wrap:wrap}
  .app-site .pagination a{min-width:44px;height:44px}
  .app-site .pagination a.pag-nav{white-space:nowrap}
}
@media(max-width:380px){
  .app-site .offer-card{flex-direction:column}
  .app-site .offer-card .oimg{width:100%;flex:0 0 auto;min-height:150px}
}

/* 29-09-2026 franja de la cabecera (logo de 84 px y menú junto al logo): ningún texto de la página queda debajo.
   Sin portada (ficha de tour o paquete, cuenta) la cabecera empuja el contenido en vez de taparlo;
   con portada, las que tienen más texto (reserva, destinos) reservan la franja arriba. */
.app-site #root:not(:has(.hero,.page-hero,.detail-hero,.dest-hero)) .site-header{margin-bottom:0}
@media(max-width:600px){.app-site .page-hero .container{padding-top:calc(var(--mpt-header-h,74px) + 8px)}}
.app-site .checkout-hero .container{padding-top:calc(var(--mpt-header-h,76px) + 16px);padding-bottom:32px}
.app-site .dest-hero .dh-inner{padding-top:calc(var(--mpt-header-h,76px) + 22px)}
/* Tarjetas de destino: los tres datos iban en 3 columnas de 13 px (celular) a 36 px (escritorio) y se pisaban
   y cortaban («Tempera…», «Tours dispo…»). Cada dato va en su renglón: rótulo a la izquierda, valor a la derecha. */
.app-site .ddc .ddmeta{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.app-site .ddc .ddmeta .m{align-items:center;gap:7px}
.app-site .ddc .ddmeta .m>div{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1px 8px}
.app-site .ddc .ddmeta .m>div span{font-size:11px}
.app-site .ddc .ddmeta .m>div b{font-size:12px}
/* Nosotros y Contacto se salían 12-13 px a 360 (grilla 1fr con una palabra grande o el correo sin cortes). */
.app-site .contact-grid>*,.app-site .ci-row>div,.app-site .stat{min-width:0}
.app-site .ci-row p,.app-site .ci-row a{overflow-wrap:anywhere}
@media(max-width:900px){.app-site .contact-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .app-site .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-site .stat{padding:22px 10px}
  .app-site .stat b{font-size:28px}
}
/* 29-09-2026 «Travel» en blanco sobre foto (pedido del usuario: el gris no se leía). logo-header-blanco.png tiene
   la misma forma que el gris; las alturas de arriba (89/74/63) compensan que «Travel» ahora es 1,45 veces más grande
   y el emblema queda del mismo tamaño. Solo con el src de fábrica: si se sube otro logo desde el editor, se ve el suyo.
   En páginas sin foto arriba (fichas de tour y paquete) queda el gris, que sí se lee sobre el crema. */
/* 30-09-2026 versión para fondo oscuro: también «MACHU» en blanco (el azul marino desaparecía sobre la foto) y
   una sombra suave para que se lea sobre las cuatro fotos de la portada. PICTURE y el emblema no cambian.
   Sale de scripts/build-logo-fondo-oscuro.py; logo-header-blanco.png queda en el servidor para volver atrás. */
.app-site #root:has(.hero,.page-hero,.detail-hero,.dest-hero) .site-header .brand-official img[src="/logo-header-transparente.png"]{content:url('/logo-header-oscuro-20260930.png');filter:drop-shadow(0 2px 7px rgba(4,12,30,.55))}
/* 30-09-2026 con la cabecera de 124 px, el título de las portadas cortas (tours, blog, ofertas, contacto) quedaba
   debajo del logo en escritorio: esas portadas reservan la franja, igual que ya hacían en el celular. */
@media(min-width:1101px){.app-site .page-hero .container{padding-top:calc(var(--mpt-header-h,124px) + 8px)}}
/* 02-10-2026: datos de la empresa según la Ficha RUC de SUNAT, en Nosotros (pedido de la clienta: «que tenga más
   vistosidad, se ve oculto»). Reemplaza la franja gris «cert-band»; va dentro de .container para alinearse con el
   resto de la página (la franja vieja quedaba 24 px más ancha a cada lado). Colores de la marca. */
.app-site .agency-id-sec{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.app-site .agency-id{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);grid-template-areas:"head data" "actions actions" "note note";column-gap:clamp(28px,3.6vw,52px);row-gap:22px;padding:clamp(34px,4vw,54px);border-radius:24px;color:#fff;background:radial-gradient(circle at 0 0,rgba(228,173,41,.24),transparent 44%),radial-gradient(circle at 100% 100%,rgba(87,120,214,.28),transparent 46%),linear-gradient(135deg,#111a3f 0%,#1b2a63 100%);box-shadow:0 28px 60px -26px rgba(17,26,63,.6)}
.app-site .agency-id::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#e4ad29,#f6d272 55%,#e4ad29)}
.app-site .agency-id-head{grid-area:head;display:flex;flex-direction:column;gap:14px;min-width:0}
.app-site .agency-id-eyebrow{font:700 12px/1.3 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f3c552}
.app-site .agency-id h3{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(30px,3.2vw,42px);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:#fff}
.app-site .agency-id-head>p{margin:0;max-width:44ch;color:#dbe1f5;font-size:15.5px;line-height:1.6}
.app-site .agency-id-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;padding:8px 15px 8px 9px;border-radius:999px;background:#e8f7ee;color:#11603a;font:700 13.5px/1.2 Inter,system-ui,sans-serif}
.app-site .agency-id-badge i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#1f9d5a;color:#fff;font-style:normal;font-size:13px;line-height:1}
.app-site .agency-id-ruc{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:18px 22px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(228,173,41,.5)}
.app-site .agency-id-ruc span{font:700 12px/1 Inter,system-ui,sans-serif;letter-spacing:.18em;color:#f3c552}
.app-site .agency-id-ruc strong{font:800 clamp(30px,3.3vw,40px)/1.05 Inter,system-ui,sans-serif;letter-spacing:.05em;color:#fff;font-variant-numeric:tabular-nums}
.app-site .agency-id-data{grid-area:data;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.app-site .agency-id-data>div{min-width:0;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.app-site .agency-id-data>.full{grid-column:1/-1}
.app-site .agency-id-data dt{margin:0 0 7px;font:700 11.5px/1.25 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f3c552}
.app-site .agency-id-data dd{margin:0;color:#fff;font:600 15.5px/1.45 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
.app-site .agency-id-data dd a{color:#fff;text-decoration:underline;text-decoration-color:rgba(243,197,82,.75);text-underline-offset:3px}
.app-site .agency-id-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:12px}
.app-site .agency-id-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;font:700 14.5px/1.25 Inter,system-ui,sans-serif;text-align:center;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.app-site .agency-id-btn.primary{background:#e4ad29;color:#111a3f;box-shadow:0 12px 26px -12px rgba(228,173,41,.95)}
.app-site .agency-id-btn.primary:hover{background:#f3c552;transform:translateY(-1px)}
.app-site .agency-id-btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.app-site .agency-id-btn.ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.app-site .agency-id-btn:focus-visible{outline:3px solid #f3c552;outline-offset:3px}
.app-site .agency-id-note{grid-area:note;margin:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);color:#c3cae8;font-size:13.5px;line-height:1.55}
.app-site .agency-id-note strong{color:#fff;letter-spacing:.03em}
.app-site .footer-bottom .footer-ruc{display:inline;color:inherit}
@media(max-width:900px){.app-site .agency-id{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "data" "actions" "note"}}
@media(max-width:560px){.app-site .agency-id{border-radius:20px;padding:30px 22px}.app-site .agency-id-data{grid-template-columns:minmax(0,1fr)}.app-site .agency-id-btn{width:100%}.app-site .agency-id-ruc{padding:16px 18px}.app-site .agency-id-ruc strong{font-size:27px;letter-spacing:.03em}}
/* 05-10-2026: redes sociales con sus logos oficiales (Facebook e Instagram), en el pie de todas las páginas y en
   Nosotros. Reemplaza el enlace de texto «Facebook oficial…». Logos: Simple Icons (CC0). */
.site-footer .footer-redes{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:6px 0 14px}
.site-footer .footer-redes-label{font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;margin-right:2px}
.social-link{display:inline-flex;border-radius:50%;line-height:0;transition:transform .15s,box-shadow .15s}
.social-link:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(0,0,0,.55)}
.social-link:focus-visible{outline:3px solid #f7bd22;outline-offset:3px}
.social-ico{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;overflow:hidden}
.social-ico svg{display:block}
/* Facebook: el logo es un círculo azul con la «f» calada; el fondo blanco es la «f». Se agranda un poco para que
   el blanco no asome en el borde. */
.social-ico.fb{background:#fff}
.social-ico.fb svg{width:108%;height:108%;fill:#0866ff}
/* Instagram: glifo blanco sobre el degradado oficial. */
.social-ico.ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.social-ico.ig svg{width:56%;height:56%;fill:#fff}
.social-ico.sm{width:24px;height:24px}
.btn .social-ico.sm{margin-left:-4px}
.app-site .about-instagram{margin:8px 0 0 10px}
@media(max-width:760px){.social-ico{width:44px;height:44px}.social-ico.sm{width:24px;height:24px}}
@media(max-width:600px){.app-site .about-instagram{margin-left:0}}
