/* ===== Perú Aventura Tours — Design System ===== */
:root{
  --teal:#0e5157; --teal-d:#0b3f45; --teal-dd:#0a343a; --teal-l:#12727a;
  --coral:#f0632f; --coral-d:#d64f22; --coral-soft:#fdeae2;
  --gold:#f4a62a; --gold-d:#e08d10;
  --price:#e94f2e;
  --ink:#17303a; --ink-2:#33474f; --muted:#647680; --muted-l:#8a99a1;
  --line:#e4ebed; --line-2:#eef3f4; --bg:#ffffff; --bg-soft:#f5f8f8; --bg-soft2:#eef4f4;
  --wa:#25d366; --star:#f6a723;
  --shadow:0 18px 40px rgba(11,63,69,.12); --shadow-sm:0 8px 22px rgba(11,63,69,.08);
  --radius:14px; --radius-sm:10px; --maxw:1240px;
  --head:'Poppins',system-ui,Arial,sans-serif; --body:'Inter',system-ui,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--head);margin:0;line-height:1.12;color:var(--ink);font-weight:800}
button{font:inherit;cursor:pointer;border:0;background:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:66px 0}
.eyebrow{color:var(--gold-d);font-weight:800;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 8px}
.center{text-align:center}
.title-underline{position:relative;display:inline-block;padding-bottom:12px;margin-bottom:6px}
.title-underline::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;border-radius:3px;background:var(--gold)}
.center .title-underline::after{left:50%;transform:translateX(-50%)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:9px;justify-content:center;font-family:var(--head);font-weight:700;font-size:14px;padding:13px 22px;border-radius:10px;transition:.18s;white-space:nowrap;cursor:pointer;border:1px solid transparent}
.btn-coral{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn-coral:hover{background:var(--coral-d);transform:translateY(-1px)}
.btn-teal{background:var(--teal);color:#fff;border-color:var(--teal)}
.btn-teal:hover{background:var(--teal-d)}
.btn-ghost{background:#fff;color:var(--teal);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-outline-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-outline-w:hover{background:#fff;color:var(--teal)}
.btn-sm{padding:10px 16px;font-size:13px}
.btn-block{width:100%}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line-2);box-shadow:0 2px 14px rgba(11,63,69,.05)}
.header-inner{display:flex;align-items:center;gap:20px;height:76px;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.brand img{height:44px;width:auto}
.main-nav{display:flex;gap:24px;margin-left:auto}
.main-nav a{font-family:var(--head);font-weight:600;font-size:14.5px;color:var(--ink-2);position:relative;padding:6px 0}
.main-nav a:hover,.main-nav a.active{color:var(--coral)}
.main-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--coral)}
.header-cta{margin-left:8px}
.nav-toggle{display:none;margin-left:auto;font-size:26px;color:var(--teal);width:44px;height:44px}
@media(max-width:960px){
  .main-nav{position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 0;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none;margin:0;z-index:70}
  .main-nav.open{display:flex}
  .main-nav a{padding:14px 24px;border-bottom:1px solid var(--line-2)}
  .nav-toggle{display:block}
  .header-cta{display:none}
}

/* ===== Hero (home) ===== */
.hero{position:relative;color:#fff;min-height:440px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,40,45,.82),rgba(8,40,45,.28) 62%,rgba(8,40,45,.05)),var(--hero,url('https://images.unsplash.com/photo-1526392060635-9d6019884377?auto=format&fit=crop&w=2000&q=80')) center/cover}
.hero .container{padding-top:56px;padding-bottom:120px}
.hero h1{font-size:clamp(34px,4.6vw,58px);max-width:640px;color:#fff;line-height:1.06}
.hero .lead{font-size:18px;max-width:520px;margin:16px 0 0;color:rgba(255,255,255,.92)}
.search-bar{position:absolute;left:24px;right:24px;bottom:-36px;max-width:calc(var(--maxw) - 48px);margin:0 auto;background:#fff;border-radius:14px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr) auto;gap:0;overflow:hidden}
.search-bar .field{display:flex;align-items:center;gap:12px;padding:16px 18px;border-right:1px solid var(--line)}
.search-bar .field .ico{color:var(--coral);font-size:20px}
.search-bar .field label{display:block;font-size:11px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.5px}
.search-bar .field input,.search-bar .field select{border:0;padding:2px 0;font-size:13px;color:var(--muted);width:100%;outline:none;background:none;font-family:var(--body)}
.search-bar .btn{border-radius:0;padding:0 26px;font-size:14px}
@media(max-width:820px){.hero{display:block}.hero .container{padding-bottom:22px}.search-bar{position:static;grid-template-columns:1fr;margin:0 24px 30px;max-width:none;border-radius:12px}.search-bar .field{border-right:0;border-bottom:1px solid var(--line)}.search-bar .btn{padding:16px}}

/* ===== Destinos populares (chips row) ===== */
.dest-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.dest-chip{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1/1.05;color:#fff;display:flex;align-items:flex-end;padding:14px;background-size:cover;background-position:center;transition:.2s}
.dest-chip::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,30,34,.78),rgba(6,30,34,.05) 60%)}
.dest-chip span{position:relative;font-family:var(--head);font-weight:700;font-size:15px}
.dest-chip:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

/* ===== Cards ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s;display:flex;flex-direction:column}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card-img{position:relative;aspect-ratio:16/10;background-size:cover;background-position:center}
.card-badge{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-family:var(--head);font-weight:700;font-size:11px;padding:5px 10px;border-radius:6px}
.card-badge.teal{background:var(--teal)}
.card-badge.gold{background:var(--gold);color:#5a3d00}
.card-heart{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--coral);font-size:18px;transition:.15s}
.card-heart.on{background:var(--coral);color:#fff}
.card-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.card-place{color:var(--coral);font-weight:700;font-size:12px;margin:0 0 4px}
.card h3{font-size:17px;font-weight:700}
.tour-metrics{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:13px;color:var(--muted)}
.tour-metrics .row{display:flex;align-items:center;gap:8px}
.stars{color:var(--star);font-weight:700}
.price-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line-2)}
.price-foot .from{font-size:11px;color:var(--muted)}
.price-foot .soles{font-family:var(--head);font-weight:800;font-size:20px;color:var(--price)}
.price-foot .usd{font-size:11px;color:var(--muted);font-weight:600}
.card-cta{background:var(--coral-soft);color:var(--coral-d);font-family:var(--head);font-weight:700;font-size:12.5px;padding:9px 14px;border-radius:8px;transition:.15s}
.card-cta:hover{background:var(--coral);color:#fff}

/* Compact list tour card */
.tour-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tl-card{display:flex;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.2s}
.tl-card:hover{box-shadow:var(--shadow-sm)}
.tl-card .thumb{width:112px;flex:0 0 112px;background-size:cover;background-position:center}
.tl-card .info{padding:12px 14px;flex:1;min-width:0}
.tl-card h3{font-size:15px;font-weight:700;margin-bottom:8px}
.tl-card .m{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin:4px 0}
.tl-card .pr{margin-top:8px}
.tl-card .pr .soles{font-family:var(--head);font-weight:800;color:var(--price);font-size:17px}
.tl-card .pr .usd{font-size:11px;color:var(--muted)}

/* ===== Feature strip ===== */
.feature-strip{background:var(--bg-soft);border-radius:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:30px 26px}
.feat{display:flex;gap:14px;align-items:flex-start}
.feat .fi{flex:0 0 44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--teal);font-size:22px;box-shadow:var(--shadow-sm)}
.feat h4{font-size:15px;font-weight:700;margin-bottom:4px}
.feat p{margin:0;font-size:13px;color:var(--muted)}

/* ===== Ofertas + Testimonios (home) ===== */
.offers-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:22px;align-items:start}
.countdown{display:flex;gap:10px;margin:16px 0}
.cd-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center;min-width:56px}
.cd-box b{font-family:var(--head);font-size:22px;color:var(--ink);display:block}
.cd-box span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.offer-card{display:flex;gap:14px;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px;background:#fff}
.offer-card .oimg{width:120px;flex:0 0 120px;border-radius:9px;background-size:cover;background-position:center;position:relative;min-height:104px}
.offer-tag{position:absolute;top:8px;left:8px;background:var(--coral);color:#fff;font-family:var(--head);font-weight:700;font-size:10px;padding:3px 7px;border-radius:5px}
.offer-card h4{font-size:15px;font-weight:700;margin-bottom:6px}
.offer-card ul{margin:0;padding-left:16px;font-size:12px;color:var(--muted)}
.offer-price .soles{font-family:var(--head);font-weight:800;color:var(--price);font-size:18px}
.offer-price .usd{font-size:11px;color:var(--muted)}
.testi{background:var(--bg-soft);border-radius:14px;padding:22px}
.testi .quote{font-style:italic;color:var(--ink-2);line-height:1.6;font-size:14px}
.testi .who{display:flex;align-items:center;gap:12px;margin-top:14px}
.testi .who img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.testi .who b{display:block;font-family:var(--head);font-size:14px}
.testi .who span{font-size:12px;color:var(--muted)}
.dots{display:flex;gap:6px;justify-content:center;margin-top:14px}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:block}
.dots i.on{background:var(--gold)}

/* Galería + blog */
.gallery{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.gallery a{aspect-ratio:1;border-radius:8px;background-size:cover;background-position:center}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blog-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.blog-card .bimg{aspect-ratio:16/9;background-size:cover;background-position:center}
.blog-card .bbody{padding:14px}
.blog-card h4{font-size:15px;font-weight:700}
.blog-card a.more{color:var(--coral);font-weight:700;font-size:13px;margin-top:8px;display:inline-block}

/* ===== WhatsApp CTA band ===== */
.wa-band{background:var(--teal);color:#fff}
.wa-band .container{display:flex;align-items:center;gap:20px;padding:26px 24px;flex-wrap:wrap}
.wa-band .wa-ic{width:52px;height:52px;border-radius:50%;background:var(--wa);display:grid;place-items:center;flex:0 0 52px}
.wa-band .wa-ic svg{width:30px;height:30px;fill:#fff}
.wa-band h3{color:#fff;font-size:20px}
.wa-band p{margin:2px 0 0;color:rgba(255,255,255,.82);font-size:14px}
.wa-band .btn{margin-left:auto;background:var(--wa);color:#fff;border-color:var(--wa)}

/* ===== Footer ===== */
.site-footer{background:var(--teal-dd);color:#cfe0e0}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr 1.2fr;gap:32px;padding:52px 0 34px}
.footer-brand img{height:44px;margin-bottom:14px;filter:brightness(0) invert(1)}
.footer-brand p{font-size:13px;line-height:1.6;color:#a9c3c3}
.footer-social{display:flex;gap:10px;margin-top:14px}
.footer-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#fff;font-size:15px;transition:.15s}
.footer-social a:hover{background:var(--coral)}
.site-footer h4{color:#fff;font-size:15px;margin-bottom:14px}
.footer-col a,.footer-col p{display:block;font-size:13px;color:#a9c3c3;margin:9px 0}
.footer-col a:hover{color:#fff}
.pay-methods{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pay-methods span{background:#fff;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:800;color:#333;font-family:var(--head)}
.footer-newsletter input{width:100%;border:0;border-radius:8px;padding:11px 12px;margin-bottom:8px;font-family:var(--body)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:12px;color:#9fb8b8;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-bottom a{color:#9fb8b8}
.by-datxale{color:#8fb0b0}
.by-datxale a{color:var(--gold);font-weight:600}

/* ===== Floating WhatsApp ===== */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:80;width:56px;height:56px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 26px rgba(37,211,102,.5);transition:.15s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* ===== Page hero (inner) ===== */
.page-hero{position:relative;color:#fff;min-height:280px;display:flex;align-items:center;text-align:center;background:linear-gradient(rgba(8,40,45,.55),rgba(8,40,45,.6)),var(--phero,url('https://images.unsplash.com/photo-1526392060635-9d6019884377?auto=format&fit=crop&w=2000&q=80')) center/cover}
.page-hero h1{color:#fff;font-size:clamp(30px,4vw,48px)}
.page-hero p{color:rgba(255,255,255,.9);font-size:16px;margin-top:10px;max-width:640px;margin-left:auto;margin-right:auto}

/* ===== Filters bar ===== */
.filters{background:var(--teal);border-radius:14px;display:grid;grid-template-columns:repeat(5,1fr) auto;gap:0;overflow:hidden;box-shadow:var(--shadow)}
.filters .fcell{padding:12px 16px;border-right:1px solid rgba(255,255,255,.14)}
.filters .fcell label{display:block;color:rgba(255,255,255,.7);font-size:11px;font-weight:600;margin-bottom:3px}
.filters .fcell select,.filters .fcell input{border:0;background:none;color:#fff;width:100%;font-size:13px;outline:none;font-family:var(--body)}
.filters .fcell select option{color:#333}
.filters .btn{border-radius:0;padding:0 24px}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.filters .btn{grid-column:1/-1;padding:14px}}

/* Pagination */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:30px}
.pagination a{min-width:38px;height:38px;padding:0 10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;font-weight:600;font-size:13px;color:var(--ink-2)}
.pagination a.on{background:var(--teal);color:#fff;border-color:var(--teal)}

/* FAQ / accordion */
.accordion .ac-item{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.accordion .ac-q{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;width:100%;text-align:left;color:var(--ink)}
.accordion .ac-a{padding:0 16px;max-height:0;overflow:hidden;transition:.25s;color:var(--muted);font-size:13.5px}
.accordion .ac-item.open .ac-a{max-height:260px;padding:0 16px 16px}
.accordion .ac-item.open .ac-q .pm{transform:rotate(45deg)}
.ac-q .pm{transition:.2s;color:var(--coral);font-size:20px}

/* CTA teal box */
.cta-box{background:linear-gradient(100deg,var(--teal-d),var(--teal-l));border-radius:16px;color:#fff;padding:34px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}
.cta-box h2{color:#fff;font-size:26px}
.cta-box p{color:rgba(255,255,255,.85);margin:10px 0 18px}
.cta-feats{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cta-feats .cf{display:flex;gap:10px;align-items:flex-start;font-size:13px}
.cta-feats .cf b{display:block;font-family:var(--head);font-size:14px}
.cta-feats .cf span{color:rgba(255,255,255,.8)}
.cta-feats .cf .ci{color:var(--gold);font-size:20px}
@media(max-width:760px){.cta-box{grid-template-columns:1fr}}

/* ===== Package cards ===== */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pkg-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.pkg-card .pimg{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative}
.pkg-body{padding:16px;display:flex;flex-direction:column;flex:1}
.pkg-body h3{color:var(--teal);font-size:18px;font-weight:800}
.pkg-days{color:var(--muted);font-size:13px;margin:2px 0 10px}
.pkg-inc{font-size:12.5px;color:var(--ink-2);margin:0 0 12px;padding:0}
.pkg-inc li{list-style:none;padding-left:20px;position:relative;margin:5px 0}
.pkg-inc li::before{content:"✓";position:absolute;left:0;color:var(--teal-l);font-weight:800}
.pkg-foot{margin-top:auto}
.pkg-foot .prow{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.pkg-foot .soles{font-family:var(--head);font-weight:800;color:var(--teal);font-size:22px}
.pkg-foot .usd{font-size:12px;color:var(--muted)}

/* ===== Tour detail ===== */
.detail-hero{position:relative;color:#fff;min-height:420px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,40,45,.7),rgba(8,40,45,.15)),var(--dhero) center/cover}
.detail-hero h1{color:#fff;font-size:clamp(30px,4vw,46px);max-width:600px}
.detail-cols{display:grid;grid-template-columns:1.5fr .9fr;gap:30px;align-items:start}
.booking-widget{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:20px;color:var(--ink);position:sticky;top:90px}
.gallery-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.gallery-strip div{aspect-ratio:4/3;border-radius:10px;background-size:cover;background-position:center}
.detail-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);overflow-x:auto}
.detail-tabs button{padding:12px 0;font-family:var(--head);font-weight:600;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.detail-tabs button.on{color:var(--teal);border-color:var(--coral)}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:0 0 20px 20px;border-left:2px solid #cfe0df;margin-left:6px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--teal)}
.timeline time{font-size:12.5px;font-weight:700;color:var(--teal)}
.timeline b{font-size:14px;display:block}
.timeline span{font-size:13px;color:var(--muted)}
.inc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inc-list li{padding-left:24px;position:relative;font-size:14px;color:var(--ink-2)}
.inc-list li::before{content:"✓";position:absolute;left:0;color:#1a9e6b;font-weight:800}
.inc-list.no li::before{content:"✕";color:#c0392b}

/* ===== Stepper (checkout) ===== */
.stepper{display:flex;gap:8px;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.7);font-weight:600}
.step .num{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:12px}
.step.on{color:#fff}
.step.on .num{background:var(--coral)}
.checkout-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:26px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
.field-l{display:block}
.field-l>span{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}
.pay-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pay-opt{border:1.5px solid var(--line);border-radius:10px;padding:12px;font-size:12.5px;cursor:pointer;transition:.15s}
.pay-opt.on{border-color:var(--teal);background:var(--bg-soft2)}
.pay-opt b{display:block;font-family:var(--head);font-size:13px}
.summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}
.summary .srow{display:flex;justify-content:space-between;font-size:13.5px;padding:6px 0;color:var(--ink-2)}
.summary .srow.total{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-family:var(--head);font-weight:800;font-size:16px;color:var(--teal)}
.summary .srow .price{color:var(--price)}

/* ===== Inputs ===== */
input,select,textarea{font-family:var(--body);font-size:14px;color:var(--ink);width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:#fff;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--teal-l);box-shadow:0 0 0 3px rgba(18,114,122,.12)}

/* ===== Experience / destinos ===== */
.exp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.exp-card{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1/1.3;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background-size:cover;background-position:center}
.exp-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,30,34,.85),rgba(6,30,34,.2))}
.exp-card h4{position:relative;color:#fff;font-size:16px}
.exp-card p{position:relative;font-size:11px;color:rgba(255,255,255,.85);margin:4px 0 0}
.guide-row{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.guide-item .gi{color:var(--teal);font-size:26px;margin-bottom:8px}
.guide-item b{font-family:var(--head);font-size:14px;display:block;margin-bottom:4px}
.guide-item p{font-size:12px;color:var(--muted);margin:0}
.dest-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.ddc{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ddc .ddimg{aspect-ratio:16/10;background-size:cover;background-position:center}
.ddc .ddbody{padding:14px}
.ddc h4{font-size:15px;display:flex;align-items:center;gap:6px}
.ddc .ddmeta{display:flex;gap:12px;font-size:11px;color:var(--muted);margin:10px 0}
.ddc .ddmeta b{display:block;color:var(--ink);font-size:11px}

/* ===== Auth / demo login ===== */
.auth-wrap{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:40px 20px;background:linear-gradient(135deg,#0b3f45,#12727a)}
.auth-card{background:#fff;border-radius:16px;box-shadow:var(--shadow);width:100%;max-width:430px;padding:30px}
.auth-card h1{font-size:24px;text-align:center}
.auth-card .sub{text-align:center;color:var(--muted);font-size:13px;margin:6px 0 20px}
.demo-access{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:18px}
.demo-access h4{font-size:13px;color:var(--teal);margin-bottom:10px}
.cred{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:5px 0}
.cred .k{color:var(--muted)}
.cred .v{font-weight:700;font-family:var(--head)}
.cred button{color:var(--teal-l);font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.demo-block{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
.demo-block:last-child{border:0;margin:0;padding:0}
.demo-block .use{color:var(--coral);font-size:12px;font-weight:700;margin-top:6px;display:inline-block}

/* ===== Dashboard shell ===== */
.dash{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.dash-side{background:var(--teal-dd);color:#cfe0e0;padding:20px 0;position:sticky;top:0;height:100vh;overflow:auto}
.dash-side .brand-mini{padding:0 20px 18px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:14px}
.dash-side .brand-mini img{height:34px;filter:brightness(0) invert(1)}
.dash-nav a{display:flex;align-items:center;gap:11px;padding:12px 20px;color:#a9c3c3;font-size:14px;font-weight:600;cursor:pointer;border-left:3px solid transparent}
.dash-nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.dash-nav a.on{background:rgba(255,255,255,.08);color:#fff;border-left-color:var(--coral)}
.dash-main{background:var(--bg-soft);min-height:100vh}
.dash-top{background:#fff;border-bottom:1px solid var(--line);padding:14px 26px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}
.dash-top h2{font-size:18px;margin-right:auto}
.dash-body{padding:26px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.kpi .kl{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.kpi .kv{font-family:var(--head);font-weight:800;font-size:26px;margin-top:6px}
.kpi .kd{font-size:11px;margin-top:4px}
.kpi .kd.up{color:#1a9e6b}.kpi .kd.down{color:#c0392b}
.mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mkpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.mkpi .l{font-size:11px;color:var(--muted)}
.mkpi .v{font-family:var(--head);font-weight:700;font-size:18px;margin-top:2px}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.panel h3{font-size:15px;margin-bottom:14px}
.dash-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.dash-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{text-align:left;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:10px 12px;border-bottom:1px solid var(--line)}
.data-table td{padding:11px 12px;border-bottom:1px solid var(--line-2)}
.data-table tr:hover td{background:var(--bg-soft)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge.green{background:#e3f6ec;color:#1a7a4d}.badge.orange{background:#fdeee0;color:#b5701a}
.badge.blue{background:#e4eef8;color:#2b6cb0}.badge.red{background:#fce4e2;color:#c0392b}.badge.gray{background:#eef1f2;color:#5a6a70}
.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);display:inline-grid;place-items:center;color:var(--ink-2);font-size:14px}
.icon-btn:hover{background:var(--bg-soft);color:var(--teal)}
.editor-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:20px;align-items:start}
.chart-svg{width:100%;height:auto;display:block}
.chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:10px}
.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}
.dash-main{min-width:0}.panel{min-width:0}
@media(max-width:900px){.dash{grid-template-columns:1fr}.dash-side{position:fixed;left:-260px;transition:.2s;z-index:90;width:250px}.dash-side.open{left:0}.kpis,.mini-kpis,.dash-grid-2,.dash-grid-3,.editor-grid{grid-template-columns:1fr}.dash-top{flex-wrap:wrap}.dash-body{padding:16px}}
@media(max-width:520px){.kpis,.mini-kpis{grid-template-columns:1fr 1fr}}

/* ===== Utilities ===== */
.flex{display:flex}.between{justify-content:space-between}.items-center{align-items:center}.gap{gap:14px}
.mt{margin-top:16px}.mt-lg{margin-top:30px}.mb{margin-bottom:16px}.hidden{display:none!important}
.form-msg{font-size:13px;margin:10px 0 0;min-height:18px}
.form-msg.ok{color:#138051}.form-msg.err{color:#c0392b}
.bg-soft{background:var(--bg-soft)}
.rich-text p{margin:0 0 12px;color:var(--ink-2);line-height:1.7}
@media(max-width:1000px){
  .grid-3,.tour-list,.pkg-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .dest-row,.exp-grid{grid-template-columns:repeat(3,1fr)}
  .feature-strip,.footer-top{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .offers-grid,.checkout-grid,.detail-cols{grid-template-columns:1fr}
  .guide-row{grid-template-columns:repeat(3,1fr)}
  .dest-detail-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-strip{grid-template-columns:repeat(3,1fr)}
  .pay-options{grid-template-columns:1fr 1fr}
  .booking-widget{position:static}
}
@media(max-width:600px){
  .grid-3,.grid-2,.tour-list,.pkg-grid,.blog-grid,.dest-row,.exp-grid,.feature-strip,.footer-top,.form-grid,.guide-row,.dest-detail-grid,.inc-list{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .hero .container{padding-bottom:40px}
  .section{padding:44px 0}
  .cta-feats{grid-template-columns:1fr}
}

/* ===== React additions: header account, chat, clickable cards, payment ===== */
.header-account{font-family:var(--head);font-weight:600;font-size:13.5px;color:var(--teal);display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:8px;border:1px solid var(--line)}
.header-account:hover{border-color:var(--teal);background:var(--bg-soft)}
@media(max-width:960px){.header-account{display:none}}
.card[data-clickable]{cursor:pointer}
.card-media-link{display:block;color:inherit}
.card h3 a{color:inherit}
.card h3 a:hover{color:var(--coral)}

/* Chat widget */
.chat-fab{position:fixed;left:20px;bottom:20px;z-index:80;width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;font-size:24px;display:grid;place-items:center;box-shadow:0 10px 26px rgba(14,81,87,.45);transition:.15s}
.chat-fab:hover{transform:scale(1.06)}
.chat-panel{position:fixed;left:20px;bottom:86px;z-index:80;width:340px;max-width:calc(100vw - 40px);background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line)}
.chat-head{background:var(--teal);color:#fff;padding:14px 16px}
.chat-head b{display:block;font-family:var(--head);font-size:15px}
.chat-head span{font-size:11px;color:rgba(255,255,255,.8)}
.chat-body{padding:14px;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;background:var(--bg-soft)}
.chat-msg{max-width:82%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.45}
.chat-msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:3px}
.chat-msg.user{background:var(--coral);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
.chat-input input{flex:1}
.chat-wa{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;background:var(--wa);color:#fff;font-size:12.5px;font-weight:700}
.chat-wa svg{fill:#fff}
@media(max-width:520px){.chat-fab{left:auto;right:20px;bottom:84px}.chat-panel{left:12px;right:12px;bottom:150px;width:auto}}

/* Payment step (checkout) */
.pay-panel{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:16px;background:var(--bg-soft)}
.pay-qr{width:180px;height:180px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;margin:0 auto}
.pay-qr svg{width:150px;height:150px}
.pay-note{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}
.upload-box{border:2px dashed var(--line);border-radius:12px;padding:22px;text-align:center;cursor:pointer;transition:.15s;background:#fff}
.upload-box:hover{border-color:var(--teal-l);background:var(--bg-soft2)}
.upload-box.has{border-style:solid;border-color:#1a9e6b}
.bank-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.bank-line b{font-family:var(--head)}
.success-panel{text-align:center;padding:20px}
.success-check{width:76px;height:76px;border-radius:50%;background:#e3f6ec;color:#1a9e6b;font-size:40px;display:grid;place-items:center;margin:0 auto 16px}
