/* ============================================================================
   Perú Inkas Top — Design System v2 (línea plana/self-contained)
   Fuente: excursiones/index.html + misterios-del-peru-13-dias.html
           + index-3.html + machu-picchu-express.html
   Uso: archivo compartido v3: cada página enlaza con <link rel="stylesheet">.
   Documentación: ../peruinkastop-v2/STYLEGUIDE-V2.md
   ============================================================================ */

:root{
  --brand:#a20449; --berry:#a20449; --berry-d:#7d0036; --berry-l:#c3567f;
  --amber:#fd920e; --amber-d:#e07f00; --amber-l:#ffbe70; --accent:#fd920e;
  --ink:#16120f;  --ink-2:#241d18;   --paper:#faf6f0; --paper-2:#f1e9df;
  --line:#e5dcd0;
  --white:#ffffff; --muted:#7a6f63;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Poppins","Helvetica Neue",Arial,sans-serif;
  --shadow:0 22px 50px rgba(36,20,12,.14);
  --shadow-sm:0 8px 22px rgba(36,20,12,.10);
  --radius:20px;
  --ease:cubic-bezier(.22,.68,.29,.99);
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

img{max-width:100%;display:block}

a{text-decoration:none;color:inherit}

ul{list-style:none}

button{font-family:var(--sans)}

.container{width:min(1240px,92%);margin-inline:auto}

section{position:relative;scroll-margin-top:92px}

h1,h2,h3,.serif{font-family:var(--serif);line-height:1.08;font-weight:700}

.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--berry)}

.eyebrow::before{content:"";width:28px;height:2px;background:var(--amber);display:inline-block}

.sec-head{max-width:760px;margin:0 auto clamp(2.2rem,5vw,3.4rem);text-align:center}

.sec-head h2{font-size:clamp(1.9rem,4vw,2.9rem);margin:.6rem 0 .5rem}

.sec-head p{color:var(--muted);font-size:1.02rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.7rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:.35s var(--ease);cursor:pointer;border:0;font-family:var(--sans)}

.btn--amber{background:var(--amber);color:#3a2100}

.btn--amber:hover{background:var(--berry);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-sm)}

.btn--burgundy{background:var(--berry);color:#fff}

.btn--burgundy:hover{background:var(--amber);color:#3a2100;transform:translateY(-3px);box-shadow:var(--shadow-sm)}

.btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}

.btn--ghost:hover{background:#fff;color:var(--berry);transform:translateY(-3px)}

.btn--line{background:transparent;color:var(--berry);border:1.5px solid var(--berry)}

.btn--line:hover{background:var(--berry);color:#fff;transform:translateY(-3px)}

.btn--block{width:100%}

.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}

.js .reveal{opacity:0;transform:translateY(30px)}

.js .reveal.in{opacity:1;transform:none}

/* ---------- Topbar ---------- */
.topbar{background:var(--ink);color:#d9cdc0;font-size:.8rem}

.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:1rem;flex-wrap:wrap}

.topbar a{opacity:.85;transition:.25s}

.topbar a:hover{opacity:1;color:var(--amber)}

.topbar .tb-l{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap}

.topbar i{color:var(--amber);margin-right:.35rem}

.tb-r{display:flex;gap:.85rem;align-items:center}

.tb-r a{font-size:1rem}

.tb-lang{display:flex;gap:.35rem;border-left:1px solid rgba(255,255,255,.25);padding-left:1rem}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:60;background:linear-gradient(180deg,rgba(22,18,15,.38),rgba(22,18,15,.04));backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.16);transition:.35s var(--ease)}

.header.scrolled{background:rgba(250,246,240,.96);border-bottom-color:var(--line);box-shadow:0 8px 26px rgba(36,20,12,.08)}

.header .container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:78px}

.brand{display:flex;align-items:center;flex:none}

.brand img{height:48px;width:auto;filter:brightness(0) invert(1);transition:filter .3s var(--ease)}

.header.scrolled .brand img{filter:none}

.main-nav{display:flex;align-items:center;gap:.1rem;flex:1;justify-content:center;min-width:0}

.main-nav>a,.main-nav .nav-item>a{font-size:.86rem;font-weight:500;color:#fff;padding:.5rem .72rem;border-radius:999px;transition:.25s;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}

.main-nav>a:hover,.main-nav .nav-item>a:hover{color:var(--amber-l);background:rgba(255,255,255,.18)}

.header.scrolled .main-nav>a,.header.scrolled .main-nav .nav-item>a{color:var(--ink)}

.header.scrolled .main-nav>a:hover,.header.scrolled .main-nav .nav-item>a:hover{color:var(--berry);background:var(--paper-2)}

.main-nav .caret{font-size:.58rem;opacity:.6}

.nav-item{position:relative}

.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}

.dropdown{position:absolute;top:calc(100% + 12px);left:0;z-index:70;display:flex;flex-direction:column;gap:.1rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;box-shadow:var(--shadow);max-width:calc(100vw - 1.5rem);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease)}

.dropdown a{display:flex;gap:.55rem;align-items:center;font-size:.83rem;padding:.5rem .65rem;border-radius:10px;color:var(--ink)}

.dropdown a:hover{background:var(--paper-2);color:var(--berry)}

.dropdown a>i{color:var(--amber);width:16px;text-align:center;flex:none}

.dropdown .dd-meta{margin-left:auto;flex:none;font-size:.66rem;font-weight:600;color:var(--muted);background:var(--paper-2);padding:.13rem .5rem;border-radius:99px}

.nav-item>.dropdown.dd-right{right:0;left:auto}

.dd-mega{width:min(clamp(560px,48vw,700px),calc(100vw - 2rem));padding:.95rem}

.dd-mp{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:1.05rem}

.dd-cols{display:grid;gap:.1rem .5rem}

.dd-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.dd-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.dd-col{display:flex;flex-direction:column;min-width:0}

.dd-title{display:flex;align-items:center;gap:.45rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--berry);padding:.45rem .65rem .3rem}

.dd-feature{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:0!important;background:linear-gradient(165deg,#2f1c10,#17110b);border-radius:14px;overflow:hidden;color:#f6efe4}

.dd-feature img{width:100%;height:126px;object-fit:cover}

.dd-feature b{font-family:var(--serif);font-size:1.02rem;color:#fff;padding:0 .85rem}

.dd-feature small{display:block;color:#e4d6bf;font-size:.77rem;line-height:1.5;padding:0 .85rem}

.dd-feature .fa-arrow-right{margin:.1rem .85rem .8rem;color:var(--amber);width:auto;font-size:.9rem}

.dd-feature:hover{background:linear-gradient(165deg,#3a2414,#1d150c);color:#fff}

.dd-mini{min-width:276px;width:276px}

.dd-dark{min-width:320px;width:320px;background:linear-gradient(165deg,#2b1c11,#160f0a);border-color:#3a2b19}

.dd-dark a{color:#f4ecdd}

.dd-dark a:hover{background:rgba(253,146,14,.13);color:var(--amber-l)}

.dd-dark .dd-meta{background:rgba(253,146,14,.16);color:var(--amber-l)}

.dd-dark-tag{display:flex;align-items:center;gap:.5rem;font-size:.69rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--amber);padding:.4rem .65rem .6rem;border-bottom:1px solid rgba(253,146,14,.22);margin:0 .1rem .45rem}

.dd-dark-tag i{color:var(--amber)}

.dropdown .dd-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.65rem;padding:.7rem .6rem .15rem;border-top:1px solid var(--line)}

.dropdown .dd-foot span{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--muted)}

.dropdown .dd-foot a{display:inline-flex;padding:0;color:var(--berry);font-weight:600;font-size:.8rem}

.dropdown .dd-foot a:hover{background:none;color:var(--amber-d)}

.dd-peru{width:min(clamp(620px,56vw,820px),calc(100vw - 2rem))}

.header-cta{display:flex;align-items:center;gap:1rem;flex:none}

.lang{position:relative}

.lang-btn{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);padding:.5rem .9rem;border-radius:999px;font-family:var(--sans);font-size:.82rem;font-weight:600;color:#fff;cursor:pointer;transition:.25s}

.lang-btn:hover{border-color:var(--amber-l);color:var(--amber-l)}

.header.scrolled .lang-btn{background:var(--paper-2);border-color:var(--line);color:var(--ink)}

.header.scrolled .lang-btn:hover{border-color:var(--amber);color:var(--berry)}

.lang-btn img{height:16px;border-radius:3px}

.lang-btn .caret{font-size:.6rem;opacity:.55}

.lang:hover .lang-menu,.lang:focus-within .lang-menu{opacity:1;visibility:visible;transform:translateY(0)}

.lang-menu{position:absolute;top:calc(100% + 10px);right:0;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.45rem;min-width:158px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease);z-index:70}

.lang-menu a{display:flex;align-items:center;gap:.55rem;font-size:.85rem;font-weight:500;color:var(--ink);padding:.5rem .6rem;border-radius:9px}

.lang-menu a:hover{background:var(--paper-2);color:var(--berry)}

.lang-menu a.is-active{color:var(--berry);font-weight:600}

.lang-menu img{height:15px;border-radius:3px}

.burger{display:none;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);color:#fff;width:46px;height:46px;border-radius:12px;font-size:1.1rem;cursor:pointer;transition:.25s}

.burger:hover{background:var(--amber);color:var(--ink)}

.header.scrolled .burger{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- Mobile menu ---------- */
.m-menu{position:fixed;inset:0;background:var(--ink);color:#fff;z-index:80;transform:translateX(100%);transition:.45s var(--ease);overflow:auto;padding:2rem 1.5rem}

.m-menu.open{transform:none}

.m-menu .mm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}

.m-menu .mm-close{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);width:44px;height:44px;border-radius:12px;font-size:1.1rem;cursor:pointer}

.m-menu .mm-sub{border-bottom:1px solid rgba(255,255,255,.1)}

.m-menu .mm-tgl{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;background:none;border:0;padding:1rem 0;cursor:pointer;font-family:var(--serif);font-size:1.26rem;color:#fff;text-align:left}

.m-menu .mm-tgl i{color:var(--amber);font-size:.8rem;transition:.3s var(--ease)}

.m-menu .mm-sub.open .mm-tgl i{transform:rotate(180deg)}

.m-menu .mm-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}

.m-menu .mm-body a{display:block;color:#cfc3b4;padding:.42rem 0 .42rem .95rem;font-size:.92rem}

.m-menu .mm-body a:hover{color:var(--amber-l)}

.m-menu .mm-cta{position:sticky;bottom:-2rem;margin-top:1.4rem;padding:1.1rem 0 .4rem;background:linear-gradient(180deg,rgba(24,15,9,0),var(--ink) 55%)}

/* ---------- Tour hero ---------- */
.page-hero{min-height:clamp(540px,76vh,760px);display:flex;align-items:flex-end;color:#fff;background:var(--ink);overflow:hidden;margin-top:-79px}

.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,18,15,.14) 0%,rgba(22,18,15,.3) 45%,rgba(22,18,15,.96) 100%)}

.ph-inner{position:relative;z-index:2;width:min(1240px,92%);margin-inline:auto;padding:calc(6rem + 79px) 0 3.4rem}

.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.78rem;color:#d9cdc0;margin-bottom:1.4rem}

.crumbs a:hover{color:var(--amber-l)}

.crumbs i{font-size:.6rem;color:var(--amber-l)}

.ph-kicker{display:inline-flex;align-items:center;gap:.6rem;background:rgba(253,146,14,.16);border:1px solid rgba(253,146,14,.5);color:var(--amber-l);padding:.45rem 1.1rem;border-radius:999px;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;backdrop-filter:blur(4px)}

.page-hero h1{font-size:clamp(2.5rem,6vw,4.6rem);margin:1.3rem 0 .8rem;max-width:18ch}

.page-hero p.lead{max-width:60ch;font-size:clamp(1rem,1.5vw,1.15rem);color:#e3d9cc}

.info-chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}

.info-chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:.5rem .95rem;border-radius:999px;font-size:.8rem;backdrop-filter:blur(4px)}

.info-chip i{color:var(--amber-l);font-size:.85rem}

/* Route map */
.route-map{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin:2.4rem 0 .6rem}

.rm-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;flex:1;min-width:76px;z-index:1}

.rm-ic{width:54px;height:54px;border-radius:50%;background:var(--paper-2);color:var(--berry);display:grid;place-items:center;font-size:1.1rem;border:2px solid var(--amber);margin-bottom:.55rem;position:relative;z-index:2}

.rm-line{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--amber) 0 7px,transparent 7px 13px);margin:27px -1.2rem 0;min-width:26px}

.rm-step b{font-size:.74rem;line-height:1.2}

.rm-step span{font-size:.66rem;color:var(--muted)}

/* ---------- Breadcrumb main ---------- */
.crumb-line{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.78rem;color:var(--muted);padding:1.6rem 0 0}

.crumb-line a:hover{color:var(--berry)}

.crumb-line i{font-size:.6rem;color:var(--amber-d)}

/* ---------- Tour layout ---------- */
.tour{padding-bottom:clamp(3rem,7vw,5rem)}

.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2.6rem;align-items:start;margin-top:1.4rem}

.tour-main{min-width:0}

.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0 2.6rem}

.spec{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.1rem;display:flex;gap:.9rem;align-items:center}

.spec i{font-size:1.25rem;color:var(--berry);background:var(--paper-2);width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:14px}

.spec b{font-size:.9rem;display:block;line-height:1.25}

.spec span{font-size:.76rem;color:var(--muted)}

/* Overview del tour */
.ov-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem clamp(1.2rem,2.6vw,2.4rem);margin-bottom:2.8rem}

.ov-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem;flex-wrap:wrap}

.ov-intro{min-width:0;max-width:62ch}

.ov-intro p{color:var(--muted);font-size:.95rem;line-height:1.6;margin-top:.55rem}

.ov-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--paper-2);border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:.85rem;padding:.75rem 1.15rem;border-radius:999px;cursor:pointer;transition:.25s;flex:none;margin-top:.4rem}

.ov-btn:hover{border-color:var(--amber);background:var(--amber-l);color:#3a2100}

.ov-btn i{color:var(--amber-d)}

.ov-btn span{color:var(--muted);font-size:.78rem}

.ov-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem;margin:1.5rem 0 0;padding:1.2rem;background:var(--paper);border:1px solid var(--line);border-radius:14px}

.ov-list button{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:none;border:0;padding:.42rem .5rem;border-radius:10px;cursor:pointer;font-family:inherit;font-size:.88rem;color:var(--ink);transition:background .2s}

.ov-list button:hover{background:#fff}

.ov-list b{flex:none;width:30px;height:30px;border-radius:50%;background:var(--berry);color:#fff;display:grid;place-items:center;font-size:.7rem}

/* Itinerario por día */
.itin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem clamp(1.2rem,2.6vw,2.4rem);margin-bottom:2.8rem}

.day-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);margin-top:.7rem}

.day-item.open{border-color:var(--berry-l);box-shadow:var(--shadow-sm)}

.day-q{width:100%;display:flex;align-items:center;gap:.9rem;text-align:left;padding:1rem 1.3rem;background:var(--paper);border:0;cursor:pointer;box-shadow:inset 0 -1px 0 var(--line);transition:background .3s var(--ease),box-shadow .3s var(--ease)}

.day-q:hover{background:var(--paper-2)}

.day-item.open .day-q{background:var(--paper-2);box-shadow:inset 0 -1px 0 var(--amber)}

.day-num{flex:none;width:42px;height:42px;border-radius:50%;background:var(--paper-2);color:var(--berry);display:flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:700;transition:background .3s var(--ease),color .3s var(--ease)}

.day-item.open .day-num{background:var(--berry);color:#fff}

.day-txt{flex:1;min-width:0}

.day-title{display:block;font-weight:600;font-size:.95rem;line-height:1.32;color:var(--ink)}

.day-title span{display:block;font-size:.76rem;color:var(--muted);font-weight:400;margin-top:.1rem;line-height:1.35}

.day-q .ic{flex:none;width:28px;height:28px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-size:.78rem;color:var(--berry);transition:.3s}

.day-item.open .ic{background:var(--berry);color:#fff;transform:rotate(45deg)}

.day-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}

.day-item.open .day-a{max-height:1200px}

.day-a .in{padding:1.1rem 1.3rem 0;background:#fff}

.day-a p{font-size:.92rem;color:var(--muted)}

.day-mm{overflow:hidden}

.day-mm img{float:left;width:150px;height:150px;object-fit:cover;border-radius:12px;margin:0 1.1rem .55rem 0}

.day-mm p{margin-bottom:.55rem}

.day-mm p:last-child{margin-bottom:0}

.day-foot{background:var(--paper);margin:1.1rem calc(-1.3rem) 0;padding:1rem 1.3rem;border-top:1px solid var(--line)}

.day-foot__title{display:block;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--amber-d);margin-bottom:.55rem}

.day-foot__list{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem 1.2rem}

.day-foot__list li{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:#4c443b}

.day-foot__list li i{color:var(--berry);font-size:.8rem}

.btn-day-all{margin-top:1.2rem;font-size:.82rem;color:var(--berry);background:none;border:0;cursor:pointer;font-weight:600;display:inline-flex;gap:.45rem;align-items:center}

.btn-day-all:hover{color:var(--amber-d)}

/* Incluye */
.inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:2.8rem}

.inc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.7rem}

.inc-card h3{font-size:1.2rem;margin:.4rem 0 1rem;display:flex;align-items:center;gap:.6rem}

.inc-card h3 i{color:var(--amber-d)}

.inc-list li{display:flex;gap:.7rem;padding:.42rem 0;font-size:.9rem;color:#4c443b;align-items:flex-start}

.inc-list li i{margin-top:.2rem;font-size:.85rem}

.inc-list .chk{color:var(--berry)}

.inc-list .x{color:#b3442f}

/* Precios — tabla */
.prices{background:var(--paper-2);border-radius:var(--radius);padding:2.2rem clamp(1.2rem,3vw,2.4rem);margin-bottom:2.8rem}

.pt-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 1.1rem}

.tab-btn{padding:.55rem 1.05rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:.82rem;font-weight:600;color:var(--ink);cursor:pointer;transition:.25s}

.tab-btn.on, .tab-btn:hover{background:var(--berry);border-color:var(--berry);color:#fff}

.pt-table-wrap{display:none}

.pt-table-wrap.on{display:block;animation:fade .4s var(--ease)}

@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.pt-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:.9rem;box-shadow:var(--shadow-sm)}

.pt-table th{background:var(--ink);color:#fff;padding:.9rem 1rem;text-align:center;font-weight:600;font-size:.85rem}

.pt-table th:first-child{text-align:left;background:var(--berry)}

.pt-table td{padding:.85rem 1rem;border-top:1px solid var(--line);color:#4c443b}

.pt-table td:first-child{font-weight:600;color:var(--ink)}

.pt-table td b{font-family:var(--serif);color:var(--berry);font-size:1.1rem}

.pt-table tbody tr:hover{background:var(--paper-2)}

.price-note{font-size:.8rem;color:var(--muted);margin-top:1.3rem}

/* Hoteles por destino */
.pt-hotels{display:grid;grid-template-columns:1fr;gap:.9rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem;box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}

.pt-shots{position:relative}

.pt-shots .hs-track{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.15rem .15rem}

.pt-shots .hs-track::-webkit-scrollbar{display:none}

.pt-shots .hs-card{flex:0 0 calc(33.333% - (2*.7rem)/3);scroll-snap-align:start;position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow-sm)}

.pt-shots .hs-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;cursor:zoom-in}

.pt-shots .hs-card figcaption{position:absolute;left:.6rem;top:.6rem;background:rgba(20,16,13,.72);color:#fff;font-size:.75rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;display:inline-flex;align-items:center;gap:.4rem}

.pt-shots .hs-card figcaption i{color:var(--amber)}

.hs-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(20,16,13,.55);color:#fff;font-size:.95rem;cursor:pointer;display:grid;place-items:center;padding:0;transition:.2s}

.hs-btn:hover{background:var(--berry)}

.hs-prev{left:.55rem}

.hs-next{right:.55rem}

/* Lightbox (galería dentro del slider de hoteles; imagen única en lo demás) */
.lb-item{cursor:zoom-in}

.lb-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,8,6,.94);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}

.lb-overlay.open{opacity:1;visibility:visible}

.lb-img{max-width:min(92vw,1100px);max-height:88vh;object-fit:contain;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.65)}

.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;font-size:1.15rem;cursor:pointer;transition:.25s;z-index:1001;display:grid;place-items:center;padding:0}

.lb-btn:hover{background:var(--berry);border-color:var(--berry)}

.lb-prev{left:1.2rem}

.lb-next{right:1.2rem}

.lb-close{position:absolute;top:1.2rem;right:1.4rem;background:rgba(255,255,255,.12);border:0;color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:.25s;z-index:1001;display:grid;place-items:center;padding:0}

.lb-close:hover{background:var(--berry)}

.lb-count{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.9rem;font-weight:600;letter-spacing:.06em}

/* FAQ */
.faq{max-width:860px}

.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.3s}

.faq-item.open{border-color:var(--berry-l);box-shadow:var(--shadow-sm)}

.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;padding:1.2rem 1.4rem;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:1rem;font-weight:600;color:var(--ink)}

.faq-q .ic{flex:none;width:30px;height:30px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-size:.8rem;color:var(--berry);transition:.3s}

.faq-item.open .ic{background:var(--berry);color:#fff;transform:rotate(45deg)}

.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}

.faq-a p{padding:0 1.4rem 1.3rem;color:var(--muted);font-size:.94rem}

/* Cómo reservar */
.how{padding:clamp(3rem,7vw,5rem) 0;background:var(--ink);color:#fff}

.how .eyebrow{color:var(--amber-l)}

.how .sec-head p{color:#b9ab9d}

.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:step}

.how-step{position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:2rem 1.6rem;backdrop-filter:blur(4px)}

.how-step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--serif);font-size:3rem;color:var(--amber);display:block;line-height:1}

.how-step h3{font-size:1.12rem;margin:.7rem 0 .4rem}

.how-step p{font-size:.88rem;color:#cdc1b4}

.pay-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem;align-items:stretch}

.pay-pill{flex:1 1 220px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:1.2rem 1.3rem;font-size:.86rem;color:#d9cdc0;display:flex;gap:.8rem;align-items:center}

.pay-pill i{color:var(--amber);font-size:1.3rem;flex:none;width:30px;text-align:center}

.pay-pill b{display:block;color:#fff;font-size:.92rem}

/* Relacionados */
.related{background:var(--ink);color:#fff;padding:clamp(3.5rem,8vw,6rem) 0}

.related .eyebrow{color:var(--amber-l)}

.related .sec-head p{color:#b9ab9d}

.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.cat-item{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.35s var(--ease);backdrop-filter:blur(6px)}

.cat-item:hover{transform:translateY(-6px);border-color:rgba(253,146,14,.55);box-shadow:0 18px 40px rgba(0,0,0,.4)}

.cat-media{position:relative;overflow:hidden;aspect-ratio:16/10}

.cat-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,6,0) 45%,rgba(10,8,6,.28))}

.cat-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}

.cat-item:hover .cat-media img{transform:scale(1.07)}

.cat-days{position:absolute;top:.8rem;left:.8rem;z-index:2;background:var(--amber);color:#3a2100;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.32rem .7rem;border-radius:999px}

.cat-body{padding:1.15rem 1.25rem 1.25rem;display:flex;flex-direction:column;flex:1;color:#fff}

.cat-body h3{font-size:1.12rem;line-height:1.25;margin-bottom:.35rem}

.cat-route{font-size:.78rem;color:#b9ab9d;margin-bottom:.85rem;display:flex;align-items:center;gap:.45rem}

.cat-route i{color:var(--amber-l);font-size:.7rem}

.cat-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid rgba(255,255,255,.12);padding-top:.9rem}

.cat-price{font-size:.76rem;color:#b9ab9d;line-height:1.15}

.cat-price b{display:block;font-family:var(--serif);color:var(--amber);font-size:1.3rem}

.cat-foot .go{color:var(--amber-l);font-size:.85rem;background:rgba(253,146,14,.12);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;transition:.3s;flex:none}

.cat-item:hover .cat-foot .go{background:var(--amber);color:var(--ink)}

/* Booking card (sticky, sin scroll interno: no captura el scroll de la página) */
.booking-card{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}

@media(max-height:760px){
  .booking-card{top:76px}
}

.booking-card .bc-head{background:var(--berry);color:#fff;padding:1.1rem 1.5rem;font-family:var(--serif);font-size:1.05rem;display:flex;align-items:center;gap:.6rem}

.booking-card .bc-head i{color:var(--amber-l)}

.bc-body{padding:1.5rem 1.5rem 1.6rem}

.bc-from{font-size:.78rem;color:var(--muted);letter-spacing:.04em}

.bc-price{font-family:var(--serif);font-size:2.9rem;color:var(--berry);line-height:1;margin:.4rem 0 .6rem}

.bc-price small{font-family:var(--sans);font-size:.9rem;color:var(--muted);font-weight:500}

.bc-config{font-size:.78rem;color:var(--muted);margin-bottom:.3rem;min-height:1.2em}

.sel-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;margin:.85rem 0 .4rem}

.pill-row{display:flex;gap:.4rem;flex-wrap:wrap}

.pill{flex:1;min-width:0;padding:.55rem .6rem;border:1.5px solid var(--line);border-radius:11px;background:none;cursor:pointer;font-size:.76rem;font-weight:600;color:var(--ink);transition:.2s}

.pill.on,.pill:hover{background:var(--berry);border-color:var(--berry);color:#fff}

.bc-points{margin:1.3rem 0 1.4rem}

.bc-points li{display:flex;gap:.6rem;font-size:.84rem;color:#4c443b;padding:.3rem 0}

.bc-points li i{color:var(--berry);margin-top:.18rem;font-size:.82rem}

.bc-note{font-size:.76rem;color:var(--muted);text-align:center;margin-top:1rem;line-height:1.5}

/* CTA */
.ctaband{background:linear-gradient(120deg,var(--ink) 0%,var(--ink-2) 60%,#5a2a16 130%);color:#fff;padding:clamp(4rem,9vw,7rem) 0;overflow:hidden}

.cta-inner{max-width:820px;margin-inline:auto;text-align:center}

.cta-inner h2{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:1rem}

.cta-inner p{color:#cbbfb2;font-size:1.05rem;max-width:60ch;margin-inline:auto;margin-bottom:2rem}

.cta-arch{width:160px;height:80px;margin:0 auto 1.6rem}

.cta-arch div{width:100%;height:100%;border:2px solid var(--amber);border-bottom:0;border-radius:160px 160px 0 0}

/* ---------- Foot ---------- */
.foot{background:var(--ink);color:#cbbfb2;padding:clamp(3.5rem,7vw,5rem) 0 0}

.foot .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:2.6rem}

.foot h4{color:#fff;font-family:var(--serif);font-size:1.05rem;margin-bottom:1rem}

.foot a{display:block;font-size:.86rem;padding:.28rem 0;color:#b8aa9c;transition:.2s}

.foot a:hover{color:var(--amber)}

.foot li{display:flex;align-items:center;gap:.55rem;font-size:.86rem;padding:.2rem 0;color:#b8aa9c}

.foot li i{color:var(--amber);width:16px;flex:none;text-align:center}

.foot li a{display:inline;padding:0;color:#b8aa9c}

.foot .f-brand .brand img{filter:brightness(0) invert(1);height:44px}

.foot .f-brand p{font-size:.87rem;margin:1rem 0 1.2rem}

.f-social{display:flex;gap:.6rem}

.f-social a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:1rem;color:#fff}

.f-social a:hover{background:var(--amber);color:var(--ink)}

.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.3rem 0;font-size:.78rem}

.foot-bottom .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:0}

.foot-bottom a{display:inline;padding:0 .4rem;color:#cbbfb2}

.wafloat{position:fixed;bottom:22px;right:22px;z-index:70;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;font-size:1.6rem;color:#fff;box-shadow:0 12px 30px rgba(37,211,102,.4);transition:.3s}

.wafloat:hover{transform:translateY(-4px) rotate(6deg)}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .specs{grid-template-columns:repeat(2,1fr)}
  .foot .container{grid-template-columns:1fr 1fr}
}

@media(max-width:980px){
  .tour-layout{grid-template-columns:1fr}
  .booking-card{position:static;order:-1}
  .pt-shots .hs-card{flex:0 0 calc(50% - (1*.7rem)/2)}
}

@media(max-width:1280px){
  .main-nav>a,.main-nav .nav-item>a{font-size:.78rem;padding:.45rem .5rem}
  .dd-mega,.dd-peru{width:min(620px,calc(100vw - 2rem))}
  .header .container{gap:1rem}
}

@media(max-width:1200px){
  .header .main-nav{display:none}
  .burger{display:grid;place-items:center}
}

@media(max-width:1024px){
  .lang{display:none}
}

@media(max-width:880px){
  .inc-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:repeat(2,1fr)}
  .topbar .tb-l span.hide-sm{display:none}
}

@media(max-width:620px){
.catalog-grid,.specs,.inc-grid,.how-grid{grid-template-columns:1fr}
.ov-list{grid-template-columns:1fr}
.day-mm img{float:none;width:100%;height:180px;margin:0 0 .8rem}
.pt-shots .hs-card{flex:0 0 100%}
.crumb-line{display:none}
.foot .container{grid-template-columns:1fr}
.topbar{display:none}
.header .container{gap:.6rem;min-height:64px}
.brand img{height:38px}
.header-cta{gap:.5rem}
.burger{width:40px;height:40px;font-size:1rem}
.header-cta .btn{padding:.62rem .95rem;font-size:.84rem;gap:.45rem}
}

@media(max-width:400px){
.header .container{gap:.45rem}
.brand img{height:31px}
.header-cta{gap:.4rem}
.burger{width:38px;height:38px}
.header-cta .btn{padding:.56rem .75rem;font-size:.8rem;gap:.35rem}
}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---------- Filtros de tours ---------- */
.filter-wrap{background:var(--ink);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:2.4rem}

.filter-bar{display:flex;gap:8px;overflow-x:auto;padding:16px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}

.filter-bar::-webkit-scrollbar{display:none}

.filter-pill{flex-shrink:0;padding:8px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#cfc8bf;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .25s ease;font-family:inherit}

.filter-pill:hover{background:rgba(255,255,255,.14);color:#fff}

.filter-pill.active{background:var(--accent);color:#1c1c1c;border-color:var(--accent);font-weight:600}

/* ---------- Listado de tours ---------- */
.exc-list{padding:clamp(2.5rem,6vw,4rem) 0 clamp(3rem,8vw,5.5rem)}

.tours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.tour-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.35s var(--ease)}

.tour-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(253,146,14,.55)}

.t-media{position:relative;aspect-ratio:16/10;overflow:hidden}

.t-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,6,0) 45%,rgba(10,8,6,.28))}

.t-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}

.tour-card:hover .t-media img{transform:scale(1.07)}

.t-badge{position:absolute;top:.8rem;left:.8rem;z-index:2;background:var(--amber);color:#3a2100;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.32rem .7rem;border-radius:999px}

.t-badge--offer{background:var(--berry);color:#fff}

.t-body{padding:1.15rem 1.25rem 1.1rem;display:flex;flex-direction:column;flex:1;color:var(--ink)}

.t-body h3{font-size:1.12rem;line-height:1.25;margin-bottom:.35rem}

.t-route{font-size:.78rem;color:var(--muted);margin-bottom:.85rem;display:flex;align-items:center;gap:.45rem}

.t-route i{color:var(--amber-d);font-size:.7rem}

.t-meta{display:flex;align-items:center;gap:1.1rem;font-size:.78rem;color:var(--muted);margin-bottom:.9rem}

.t-meta span{display:inline-flex;align-items:center;gap:.42rem}

.t-meta i{color:var(--berry);font-size:.85rem}

.t-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid var(--line);padding-top:.9rem}

.t-price{font-size:.76rem;color:var(--muted);line-height:1.15}

.t-price b{display:block;font-family:var(--serif);color:var(--berry);font-size:1.3rem}

.t-go{color:var(--berry);font-size:.85rem;background:var(--paper-2);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;transition:.3s;flex:none}

.tour-card:hover .t-go{background:var(--amber);color:var(--ink)}

.pager{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2.4rem;flex-wrap:wrap}

.pager-info{font-size:.82rem;color:var(--muted);margin-right:.4rem}

.pager-btn{min-width:42px;height:42px;padding:0 .9rem;border-radius:12px;border:1.5px solid rgba(255,255,255,.18);background:var(--ink);color:#cfc8bf;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;font-family:inherit;display:grid;place-items:center}

.pager-btn:hover:not(:disabled){background:rgba(255,255,255,.14);color:#fff}

.pager-btn.active{background:var(--accent);color:#1c1c1c;border-color:var(--accent)}

.pager-btn:disabled{opacity:.35;cursor:not-allowed}

/* ---------- Contacto ---------- */
.contact-strip{background:var(--paper-2);border-top:1px solid var(--line);padding:2.2rem 0}

.contact-strip .container{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.cs-item{display:flex;gap:1rem;align-items:center;justify-content:flex-start;text-align:left}

.cs-item i{font-size:1.4rem;color:var(--berry);background:#fff;width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:14px;border:1px solid var(--line)}

.cs-item b{display:block;font-size:.92rem;color:var(--ink)}

.cs-item span,.cs-item a{font-size:.82rem;color:var(--muted)}

.cs-item a:hover{color:var(--berry)}

@media(max-width:1080px){.tours-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:880px){.contact-strip .container{grid-template-columns:1fr;gap:1.4rem}.cs-item{justify-content:flex-start}}

@media(max-width:620px){.tours-grid{grid-template-columns:1fr}}

.sec-head{max-width:680px;margin:0 auto clamp(2.2rem,5vw,3.4rem);text-align:center}

.btn--ink{background:var(--ink);color:#fff}

.btn--ink:hover{background:var(--berry);transform:translateY(-3px)}

/* reveal animation */
.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}

.js .reveal{opacity:0;transform:translateY(30px)}

.js .reveal.in{opacity:1;transform:none}

.main-nav{display:flex;align-items:center;gap:.15rem;flex:1;justify-content:center}

.main-nav a{font-size:.86rem;font-weight:500;color:#fff;padding:.5rem .8rem;border-radius:999px;transition:.25s;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}

.main-nav a:hover{color:var(--amber-l);background:rgba(255,255,255,.18)}

.header.scrolled .main-nav a{color:var(--ink)}

.header.scrolled .main-nav a:hover{color:var(--berry);background:var(--paper-2)}

.main-nav .caret{font-size:.6rem;opacity:.6}

.dropdown{position:absolute;top:calc(100% + 10px);left:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;min-width:280px;box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease);z-index:70}

.dropdown a{display:flex;gap:.55rem;align-items:center;font-size:.84rem;padding:.55rem .7rem;border-radius:10px;color:var(--ink)}

.dropdown i{color:var(--amber);width:16px;text-align:center}

.m-menu .mm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}

.m-menu a.mm-link{display:block;font-family:var(--serif);font-size:1.35rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.1)}

.m-menu .mm-sub{margin:.3rem 0 1.2rem}

.m-menu .mm-sub a{display:block;color:#cbbfb2;padding:.35rem 0 .35rem 1rem;font-size:.92rem}

.m-menu .mm-sub a:hover{color:var(--amber)}

.mm-cta{margin-top:1.8rem}

/* ---------- Hero ---------- */
.hero{min-height:100svh;display:grid;place-items:center;color:#fff;background:var(--ink);overflow:hidden;margin-top:-79px}

.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transform:scale(1.02)}

.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,18,15,.35),rgba(22,18,15,.9) 100%)}

.hero-inner{position:relative;z-index:2;width:min(1240px,92%);margin-inline:auto;padding:calc(clamp(6rem,14vh,9rem) + 79px) 0 clamp(4rem,9vh,7rem)}

.hero .kicker{display:inline-flex;align-items:center;gap:.6rem;background:rgba(253,146,14,.16);border:1px solid rgba(253,146,14,.5);color:var(--amber-l);padding:.45rem 1.1rem;border-radius:999px;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;backdrop-filter:blur(4px)}

.hero h1{font-size:clamp(2.6rem,7vw,5.3rem);margin:1.4rem 0 1.2rem;max-width:17ch}

.hero h1 em{color:var(--amber);font-style:italic}

.hero p.lead{max-width:56ch;font-size:clamp(1rem,1.6vw,1.18rem);color:#ded3c6}

.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0 2.4rem}

/* ---------- Ticker ---------- */
.ticker{background:var(--berry);color:#fff;overflow:hidden;padding:.8rem 0;white-space:nowrap}

.ticker-track{display:inline-block;animation:marquee 34s linear infinite}

.ticker span,.ticker a{font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;margin-right:2.6rem;font-weight:500}
.ticker a{color:#fff;text-decoration:none;transition:color .25s}
.ticker a:hover,.ticker a:focus-visible{color:var(--amber-l)}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}

.ticker i{color:var(--amber-l);margin-right:.5rem;font-style:normal}

@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- About ---------- */
.about{padding:clamp(4rem,9vw,7rem) 0}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.4rem,6vw,5rem);align-items:center}

.about .num{font-family:var(--serif);color:var(--amber);font-size:3.4rem;line-height:1}

.about h2{font-size:clamp(1.9rem,4vw,2.9rem);margin:.7rem 0 1rem}

.about p{color:var(--muted);margin-bottom:1rem}

.check{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.7rem}

.check i{color:var(--berry);margin-top:.25rem}

.check b{font-weight:600}

.about-media{position:relative}

.about-media .m-main{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;width:82%}

.about-media .m-float{position:absolute;right:0;bottom:-2rem;width:46%;border-radius:var(--radius);box-shadow:var(--shadow);border:6px solid var(--paper);aspect-ratio:1/1;object-fit:cover}

.badge-cap{position:absolute;top:1.4rem;left:-1rem;background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:14px;font-size:.8rem;line-height:1.35;box-shadow:var(--shadow)}

.badge-cap b{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--amber)}

/* ---------- Categories ---------- */
.cats{padding:clamp(4rem,8vw,6rem) 0;background:var(--paper-2)}

.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}

.cat-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;display:block;box-shadow:var(--shadow-sm);isolation:isolate}

.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}

.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(125,0,54,0) 30%,rgba(22,18,15,.88));z-index:1}

.cat-card:hover img{transform:scale(1.08)}

.cat-meta{position:absolute;z-index:2;left:1.4rem;right:1.4rem;bottom:1.4rem;color:#fff}

.cat-meta .tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-l);font-weight:600}

.cat-meta h3{font-size:1.5rem;margin:.2rem 0 .35rem}

.cat-meta .go{display:inline-flex;gap:.5rem;align-items:center;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.2rem;transition:.25s}

.cat-card:hover .go{color:var(--amber-l);border-color:var(--amber)}

.cat--span2{grid-column:span 2;aspect-ratio:2/1.3}

/* ---------- Featured ---------- */
.featured{padding:clamp(4rem,8vw,6rem) 0}

.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}

.feat-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.45s var(--ease);border:1px solid var(--line)}

.feat-card:hover{transform:translateY(-10px);box-shadow:var(--shadow)}

.feat-media{position:relative;overflow:hidden;aspect-ratio:16/10}

.feat-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}

.feat-card:hover .feat-media img{transform:scale(1.07)}

.feat-flag{position:absolute;top:1rem;left:1rem;z-index:2;background:var(--amber);color:#3a2100;font-weight:700;font-size:.72rem;letter-spacing:.08em;padding:.35rem .8rem;border-radius:999px}

.feat-body{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}

.feat-body .route{font-size:.82rem;color:var(--muted);margin:.4rem 0 1rem;letter-spacing:.02em}

.feat-body h3{font-size:1.35rem}

.feat-foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;border-top:1px dashed var(--line);padding-top:1rem}

.feat-price{font-size:.8rem;color:var(--muted)}

.feat-price b{font-family:var(--serif);color:var(--berry);font-size:1.55rem;margin-left:.25rem}

.feat-price small{font-size:.75rem}

.feat-foot .btn--line{font-size:.8rem;padding:.55rem 1.1rem}

/* ---------- Experiences ---------- */
.experiences{background:var(--ink);color:#fff;padding:clamp(4rem,9vw,7rem) 0;overflow:hidden}

.experiences .eyebrow{color:var(--amber-l)}

.experiences .sec-head p{color:#b9ab9d}

.exp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:clamp(2rem,4vw,3rem);flex-wrap:wrap}

.cat-days--off{background:rgba(255,255,255,.92);color:var(--ink)}

/* ---------- Why ---------- */
.why{padding:clamp(4rem,8vw,6rem) 0}

.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}

.why-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.5rem;transition:.35s var(--ease)}

.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);border-color:var(--amber-l)}

.why-card i{font-size:1.9rem;color:var(--berry);background:var(--paper-2);width:64px;height:64px;display:grid;place-items:center;border-radius:18px;margin-bottom:1.1rem}

.why-card h3{font-size:1.12rem;margin-bottom:.45rem}

.why-card p{font-size:.9rem;color:var(--muted)}

/* ---------- Steps ---------- */
.steps{background:var(--berry);color:#fff;padding:clamp(4rem,8vw,6rem) 0;overflow:hidden}

.steps .eyebrow{color:var(--amber-l)}

.steps .sec-head p{color:#f0cfdd}

.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:step}

.step{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:2rem 1.6rem;backdrop-filter:blur(4px);transition:.3s}

.step:hover{background:rgba(255,255,255,.13);transform:translateY(-6px)}

.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--serif);font-size:3rem;color:var(--amber);display:block;line-height:1}

.step i{position:absolute;top:1.8rem;right:1.6rem;font-size:1.4rem;opacity:.25}

.step h3{font-size:1.1rem;margin:.7rem 0 .4rem}

.step p{font-size:.88rem;color:#f0cfdd}

/* ---------- Reviews ---------- */
.reviews{padding:clamp(4rem,8vw,6rem) 0}

.rv-wrap{position:relative;max-width:980px;margin-inline:auto}

.rv-track{display:flex;gap:1.5rem;overflow:hidden;scroll-snap-type:x mandatory}

.rv-card{flex:0 0 calc(33.333% - 1rem);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:270px;transition:.3s}

.rv-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}

.rv-head img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--amber)}

.rv-head b{font-size:.95rem;display:block;line-height:1.2}

.rv-head span{font-size:.72rem;color:var(--muted)}

.stars{color:var(--amber);letter-spacing:.12em;font-size:.9rem;margin-bottom:.6rem}

.rv-card p{font-size:.86rem;color:#5d5348;flex:1}

.rv-src{margin-top:1rem;font-size:.72rem;color:var(--berry);font-weight:600}

.rv-nav{display:flex;justify-content:center;gap:.6rem;margin-top:2rem}

.rv-nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--berry);cursor:pointer;transition:.25s;font-size:.95rem}

.rv-nav button:hover{background:var(--berry);color:#fff;border-color:var(--berry)}

.rv-badges{display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap;margin-top:2.4rem;align-items:center}

.rv-badges img{height:74px;width:auto;border-radius:12px}

/* ---------- Blog ---------- */
.blog{padding:clamp(4rem,8vw,6rem) 0;background:var(--paper-2)}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}

.blog-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:.4s var(--ease);display:block}

.blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}

.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1s var(--ease)}

.blog-card:hover img{transform:scale(1.05)}

.blog-body{padding:1.4rem 1.5rem 1.7rem}

.blog-body .cat{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-d);font-weight:600}

.blog-body h3{font-size:1.12rem;margin:.45rem 0 .6rem;line-height:1.3}

.blog-body p{font-size:.85rem;color:var(--muted)}

.blog-body .more{font-size:.8rem;font-weight:600;color:var(--berry);display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem}

/* ---------- FAQ ---------- */
.faq{padding:clamp(4rem,8vw,6rem) 0}

.faq-grid{max-width:1040px;margin-inline:auto;display:flex;gap:1.4rem;align-items:flex-start}

.faq-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.9rem}

/* ---------- CTA ---------- */
.ctaband{background:linear-gradient(120deg,var(--ink) 0%,var(--ink-2) 60%,#5a2a16 130%);color:#fff;padding:clamp(4rem,9vw,7rem) 0;overflow:hidden}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .cat--span2{grid-column:span 1;aspect-ratio:4/5}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .foot .container{grid-template-columns:1fr 1fr}
}

@media(max-width:880px){
  .main-nav,.lang{display:none}
  .burger{display:grid;place-items:center}
  .about-grid{grid-template-columns:1fr}
  .about-media{max-width:460px}
  .blog-grid{grid-template-columns:1fr 1fr}
  .rv-card{flex-basis:calc(50% - .75rem)}
  .topbar .tb-l span.hide-sm{display:none}
  .faq-grid{flex-direction:column}
}

@media(max-width:620px){
  .cat-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .cat-card{aspect-ratio:4/3.4}
  .cat-meta{left:1rem;right:1rem;bottom:1rem}
  .cat-meta .tag{font-size:.56rem;letter-spacing:.1em}
  .cat-meta h3{font-size:1.02rem;margin:.15rem 0 .25rem}
  .cat-meta .go{font-size:.7rem}
  .feat-grid,.blog-grid,.why-grid,.steps-grid{grid-template-columns:1fr}
  .cat--span2{grid-column:span 1}
  .catalog-grid{grid-template-columns:1fr}
  .rv-card{flex-basis:100%}
  .foot .container{grid-template-columns:1fr}
  .topbar{display:none}
}

.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,18,15,.18) 0%,rgba(22,18,15,.32) 45%,rgba(22,18,15,.95) 100%)}

.page-hero h1{font-size:clamp(2.5rem,6vw,4.6rem);margin:1.3rem 0 .8rem;max-width:16ch}

.page-hero p.lead{max-width:58ch;font-size:clamp(1rem,1.5vw,1.15rem);color:#e3d9cc}

/* Specs strip */
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.6rem 0 2.6rem}

/* Gallery */
.gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-auto-rows:230px;gap:.9rem;margin-bottom:2.8rem}

.g-item{position:relative;overflow:hidden;border-radius:var(--radius)}

.g-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}

.g-item:hover img{transform:scale(1.06)}

.g-main{grid-row:span 2}

/* Itinerario */
.itin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem clamp(1.4rem,3vw,2.4rem);margin-bottom:2.8rem}

.tl{position:relative;margin:1.6rem 0 0;padding-left:1.7rem}

.tl::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}

.tl-item{position:relative;padding-bottom:1.7rem}

.tl-item:last-child{padding-bottom:0}

.tl-item::before{content:"";position:absolute;left:-1.7rem;top:5px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--amber)}

.tl-item b{font-size:1rem;font-family:var(--sans);font-weight:600;display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem}

.tl-item b i{color:var(--amber-d);font-size:.85rem}

.tl-item p{font-size:.92rem;color:var(--muted)}

.tl-item em{font-style:normal;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--berry);font-weight:600;margin-right:.6rem}

/* Precios */
.prices{background:var(--paper-2);border-radius:var(--radius);padding:2.2rem clamp(1.4rem,3vw,2.4rem);margin-bottom:2.8rem}

.price-opts{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.4rem}

.price-opt{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.5rem;transition:.3s var(--ease);position:relative}

.price-opt.hot{border-color:var(--amber)}

.price-opt .flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--amber);color:#3a2100;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .85rem;border-radius:999px;white-space:nowrap}

.price-opt h4{font-family:var(--sans);font-weight:600;font-size:.98rem}

.price-opt .sub{font-size:.8rem;color:var(--muted);margin:.15rem 0 1rem}

.price-opt .amt{font-family:var(--serif);font-size:2.6rem;color:var(--berry);line-height:1}

.price-opt .amt small{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-weight:500}

.price-opt ul{margin-top:1rem}

.price-opt li{font-size:.84rem;color:#4c443b;padding:.28rem 0;display:flex;gap:.55rem;align-items:flex-start}

.price-opt li i{color:var(--berry);font-size:.8rem;margin-top:.2rem}

/* Booking card */
.booking-card{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:visible}

.bc-price{font-family:var(--serif);font-size:3rem;color:var(--berry);line-height:1;margin:.4rem 0 .5rem}

.opt-row{display:flex;align-items:center;gap:.8rem;border:1.5px solid var(--line);border-radius:14px;padding:.7rem .95rem;margin-top:.7rem;cursor:pointer;transition:.25s;font-family:var(--sans);background:none;width:100%;text-align:left}

.opt-row.on,.opt-row:hover{border-color:var(--amber)}

.opt-row .dot{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;transition:.2s}

.opt-row.on .dot{border-color:var(--amber)}

.opt-row.on .dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}

.opt-row b{font-size:.9rem;display:block;line-height:1.2}

.opt-row span{font-size:.76rem;color:var(--muted)}

.opt-row .amt{margin-left:auto;font-family:var(--serif);color:var(--berry);font-size:1.25rem}

@media(max-width:980px){
  .tour-layout{grid-template-columns:1fr}
  .booking-card{position:static;order:-1}
}

@media(max-width:880px){
  .main-nav,.lang{display:none}
  .burger{display:grid;place-items:center}
  .gallery{grid-template-columns:1fr 1fr}
  .inc-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:repeat(2,1fr)}
  .topbar .tb-l span.hide-sm{display:none}
}

@media(max-width:620px){
  .catalog-grid,.specs,.inc-grid,.how-grid,.price-opts{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr;grid-auto-rows:200px}
  .crumb-line{display:none}
  .foot .container{grid-template-columns:1fr}
  .topbar{display:none}
}

/* ---- V3-PHP: estados activos de nav/menu movil (no regenerar con merge-v3.js) ---- */
.main-nav .nav-item>a.is-on,
.main-nav .nav-item>a.is-on:hover{color:var(--amber-l);background:rgba(255,255,255,.22)}
.header.scrolled .main-nav .nav-item>a.is-on,
.header.scrolled .main-nav .nav-item>a.is-on:hover{color:var(--berry);background:var(--paper-2);font-weight:600}
.main-nav .dropdown a.is-active,
.main-nav .dropdown a.is-active:hover{color:var(--berry);font-weight:600;background:var(--paper-2)}
.main-nav .dropdown a.is-active>i{color:var(--berry)}
.m-menu .mm-body a.is-active{color:var(--amber-l);font-weight:600;box-shadow:inset 3px 0 0 var(--amber)}

/* ---------- Fuente oculta del lightbox (machu-picchu-express) ---------- */
.gallery-src{display:none}

/* ---------- Modal cotizar (sistema de formularios compartido) ---------- */
.c-mod-overlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:1rem;background:rgba(23,18,15,.62);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.28s var(--ease)}
.c-mod-overlay.open{opacity:1;visibility:visible}
.c-mod{width:min(660px,100%);max-height:calc(100dvh - 2rem);overflow:auto;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);transform:translateY(14px);transition:.3s var(--ease)}
.c-mod-overlay.open .c-mod{transform:translateY(0)}
.c-mod-head{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.3rem;background:var(--ink);color:#fff;position:sticky;top:0;z-index:3}
.c-mod-logo{width:46px;height:46px;border-radius:12px;object-fit:contain;background:#fff;padding:4px}
.c-mod-head-txt{flex:1;min-width:0}
.c-mod-eyebrow{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-l)}
.c-mod-head h3{margin:0;font-family:var(--serif);font-size:1.15rem;line-height:1.2}
.c-mod-close{margin-left:auto;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1rem;cursor:pointer;transition:.25s var(--ease);flex:0 0 auto}
.c-mod-close:hover{background:var(--berry)}
.c-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.9rem 1.3rem 0}
.c-tab{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem .5rem;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-weight:600;font-size:.88rem;cursor:pointer;transition:.28s var(--ease)}
.c-tab:hover{border-color:var(--amber)}
.c-tab.on{background:var(--berry);border-color:var(--berry);color:#fff}
.c-tab.on i{color:var(--amber-l)}
.c-pane{display:none;padding:1rem 1.3rem 1.3rem}
.c-pane.on{display:block}
.c-field{display:block;margin-bottom:.85rem}
.c-field>span{display:flex;align-items:baseline;gap:.4rem;font-weight:600;font-size:.86rem;color:var(--ink-2);margin-bottom:.3rem}
.c-field small{color:var(--muted);font-weight:400}
.c-field input,.c-field select,.c-field textarea{width:100%;padding:.72rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-family:var(--sans);font-size:.95rem;color:var(--ink);transition:.25s var(--ease)}
.c-field input:focus,.c-field select:focus,.c-field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(253,146,14,.18)}
.c-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.c-wa{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem}
.c-wa-tel{display:flex;align-items:stretch;min-width:0;border:1.5px solid var(--line);border-radius:12px;background:#fff;transition:.25s var(--ease)}
.c-wa-tel:focus-within{border-color:var(--amber);box-shadow:0 0 0 3px rgba(253,146,14,.18)}
.c-wa-plus{display:inline-flex;align-items:center;padding-left:.9rem;color:var(--ink);font-size:1rem;font-weight:600;user-select:none;pointer-events:none}
.c-wa-tel input{width:100%;min-width:0;border:0;background:transparent;padding:.72rem .9rem;font-family:var(--sans);font-size:.95rem;color:var(--ink);outline:none}
.c-hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;opacity:0}
.c-note{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin:.35rem 0 .7rem}
.c-note a{color:var(--berry);font-weight:600}
.c-status{min-height:1.2em;font-size:.9rem;font-weight:600;margin:.6rem 0 0;text-align:center}
.c-status.err{color:#b3261e}
.c-status.ok{color:#1e7d3a}
/* Pestaña WhatsApp (chat) */
.c-wa-chat{display:flex;flex-direction:column;gap:.7rem;background:var(--paper);border:1.5px solid var(--line);border-radius:16px;padding:.9rem}
.c-wa-profile{display:flex;align-items:center;gap:.7rem}
.c-wa-avatar{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#fff;padding:3px;border:1px solid var(--line)}
.c-wa-profilenm{display:flex;flex-direction:column;line-height:1.15}
.c-wa-profilenm b{font-size:.95rem}
.c-wa-profilenm span{font-size:.75rem;color:#1e7d3a}
.c-wa-msgs{display:flex;justify-content:flex-end}
.c-wa-bubble{max-width:88%;background:#d9fdd3;color:#241d18;padding:.7rem .9rem;border-radius:14px 14px 4px 14px;font-size:.9rem;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-sm)}
.c-wa-link{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;padding:.4rem;margin-bottom:.55rem;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.c-wa-link img{width:56px;height:56px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.c-wa-link-meta{min-width:0}
.c-wa-link-meta b{display:block;font-size:.84rem;line-height:1.25;color:#241d18}
.c-wa-link-meta span{display:block;font-size:.7rem;color:#6b645c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.c-wa-txt{white-space:pre-wrap;word-break:break-word;font-size:.9rem}
.c-wa-send{display:flex;flex-direction:column;gap:.55rem}
.c-wa-send textarea{width:100%;padding:.72rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-family:var(--sans);font-size:.95rem;resize:vertical}
.c-wa-send textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(253,146,14,.18)}
/* Dropdowns de países (banderas) */
.c-drop{position:relative}
.c-drop-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--ink);transition:.25s var(--ease)}
.c-drop-btn:hover,.c-drop.open .c-drop-btn{border-color:var(--amber)}
.c-drop-val{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}
.c-field>.c-drop{width:100%}
.c-field>.c-drop .c-drop-btn{width:100%}
.c-wa .c-drop-btn{height:100%;padding:.72rem .62rem;font-size:.95rem}
.c-field>.c-drop .c-drop-val{min-width:0;overflow:hidden;text-overflow:ellipsis}
.c-drop-list{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:230px;max-height:230px;overflow:auto;background:#fff;border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);list-style:none;margin:0;padding:.35rem;display:none}
.c-drop.open .c-drop-list{display:block}
.c-drop-item{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:9px;cursor:pointer;font-size:.9rem;white-space:nowrap}
.c-drop-item:hover{background:var(--paper-2)}
.c-drop-item.on{background:var(--berry);color:#fff}
.c-drop-item.on .c-flag-txt{color:#fff}
.c-flag{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:16px;border-radius:3px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.c-flag img{width:22px;height:16px;object-fit:cover}
.c-flag-txt{font-size:.7rem;font-weight:700;letter-spacing:.03em;line-height:1}
.c-drop-ic{font-size:.72rem;color:var(--muted)}
@media (max-width:620px){.c-row{grid-template-columns:1fr}}
@media (max-width:560px){.c-mod{max-height:calc(100dvh - 1rem)}.c-tab span{display:none}.c-tab{padding:.7rem}.c-wa{grid-template-columns:auto minmax(0,1fr)}.c-drop-list{min-width:200px}}

/* ---------- Botón "Subir" (ola desde abajo en scroll hacia arriba) ---------- */
.to-top{position:fixed;left:50%;bottom:1.3rem;z-index:72;border:0;cursor:pointer;background:var(--berry);color:#fff;padding:.85rem 1.35rem;border-radius:999px;font-family:var(--sans);font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:.55rem;box-shadow:0 16px 34px rgba(162,4,73,.42);transform:translate(-50%,180%);opacity:0;pointer-events:none;transition:transform .6s cubic-bezier(.18,.89,.32,1.22),opacity .35s var(--ease)}
.to-top.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.to-top::before,.to-top::after{content:"";position:absolute;left:50%;top:50%;width:96%;height:96%;transform:translate(-50%,-50%);border:2px solid rgba(253,146,14,.85);border-radius:999px;opacity:0;pointer-events:none}
.to-top.show::before{animation:tt-wave 2.3s var(--ease) .25s infinite}
.to-top.show::after{animation:tt-wave 2.3s var(--ease) 1.15s infinite}
@keyframes tt-wave{0%{width:96%;height:96%;opacity:.95}70%{opacity:.3}100%{width:235%;height:235%;opacity:0}}
.to-top:hover{background:#8a003c;transform:translate(-50%,-3px)}
@media (max-width:560px){.to-top{font-size:.8rem;padding:.72rem 1.1rem}}

/* ---------- Booking card: scroll interno SOLO en PC (>=981px) ----------
   El scroll llega hasta el final de la tarjeta y luego sigue el de la página
   (sin overscroll-behavior:contain para no bloquear el scroll del cuerpo). */
@media (min-width:981px){
  .booking-card{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--paper-2) transparent}
  .booking-card::-webkit-scrollbar{width:8px}
  .booking-card::-webkit-scrollbar-thumb{background:var(--paper-2);border-radius:99px}
}
@media (min-width:981px) and (max-height:760px){
  .booking-card{max-height:calc(100vh - 92px)}
}

/* ---------- Home: sección FAQ centrada ---------- */
section.faq{margin-inline:auto}

/* ---------- Menú móvil: logo blanco sobre fondo oscuro ---------- */
.m-menu .mm-head img{filter:brightness(0) invert(1)}

/* ---------- Topbar: SVG TripAdvisor igual a los iconos fab ---------- */
.topbar svg{width:.8rem;height:.8rem;margin-right:.35rem;flex:none;color:var(--amber)}

/* ---------- Nav Machu Picchu: sin imagen destacada, columnas a todo el ancho ---------- */
.dd-mp{display:block}

/* ---------- Nav: tags de días pegados al título en todos los submenús ---------- */
.dropdown .dd-meta{margin-left:0}

/* ---------- Pagina 404: encuadre centrado sobre el hero ---------- */
.err404 .ph-inner{text-align:center;padding-block:clamp(4rem,12vh,7rem) clamp(3.5rem,10vh,6rem)}
.err404 h1{font-size:clamp(2.2rem,6vw,3.6rem);margin:.6rem 0 .8rem;max-width:22ch;margin-inline:auto}
.err404 .lead{max-width:62ch;margin:0 auto 2rem;font-size:1.05rem}
.err404 .err404-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.err404 .err404-body{background:var(--white);padding-block:clamp(3rem,7vw,5rem)}