/*
Theme Name: Blocksy Child - Lanara Travel
Theme URI: https://lanara.co.ke
Description: Lightweight child theme for Lanara Travel. Blocksy remains the framework and keeps control of header, footer, navigation, colours, typography and global layout. Elementor Free keeps control of all normal pages and landing pages. This child theme only supplies what Elementor Free cannot: dynamic single templates for custom post types, destination hub templates and ACF field rendering.
Author: Zuhri Web Developers
Template: blocksy
Version: 1.0.0
Text Domain: blocksy-child
*/

.lanara {
  --lan-navy:#012245; --lan-purple:#341390; --lan-gold:#C39540; --lan-sand:#F5EBE4;
  --lan-white:#FFFFFF; --lan-ink:#222222; --lan-muted:#5A6472; --lan-line:#E3E7EC; --lan-offwhite:#FAFBFC;
  --lan-radius:14px; --lan-shadow:0 2px 4px rgba(1,34,69,.04),0 12px 32px rgba(1,34,69,.07);
  --lan-head:'Nunito',system-ui,sans-serif; --lan-body:'Open Sans',system-ui,sans-serif;
}
.lanara *,.lanara *::before,.lanara *::after{box-sizing:border-box}
.lanara{font-family:var(--lan-body);color:var(--lan-ink)}
.lanara h1,.lanara h2,.lanara h3,.lanara h4{font-family:var(--lan-head);font-weight:700;color:var(--lan-navy);line-height:1.2;margin:0 0 .5em}
.lanara p{line-height:1.7}
.lanara__wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:20px}
.lan-eyebrow{font-family:var(--lan-head);font-weight:700;font-size:13px;letter-spacing:1.6px;text-transform:uppercase}
.lan-crumbs{font-size:13px;margin-bottom:18px;color:rgba(255,255,255,.75)}
.lan-crumbs a{color:rgba(255,255,255,.85);text-decoration:none}
.lan-crumbs a:hover{color:var(--lan-gold);text-decoration:underline}
.lan-crumbs .sep{padding:0 7px;opacity:.5}
.lan-hero{position:relative;background:var(--lan-navy);color:#fff;overflow:hidden}
.lan-hero__bg{position:absolute;inset:0}
.lan-hero__bg img{width:100%;height:100%;object-fit:cover;display:block}
.lan-hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,34,69,.72) 0%,rgba(1,34,69,.88) 100%)}
.lan-hero__inner{position:relative;padding:40px 0 34px}
.lan-hero .lan-eyebrow{color:var(--lan-gold);margin-bottom:10px;display:block}
.lan-hero h1{color:#fff;font-size:30px;margin-bottom:12px}
.lan-hero__route{font-size:15px;color:rgba(255,255,255,.85);margin:0}
.lan-facts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.lan-facts li{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 14px;font-size:13px;color:#fff}
.lan-facts svg{width:15px;height:15px;flex:none;stroke:var(--lan-gold);fill:none;stroke-width:1.8}
.lan-body{background:var(--lan-offwhite);padding:28px 0 56px}
.lan-grid{display:grid;gap:24px;grid-template-columns:1fr}
.lan-card{background:#fff;border:1px solid var(--lan-line);border-radius:var(--lan-radius);padding:22px;margin-bottom:20px}
.lan-card>h2{font-size:20px;margin-bottom:14px}
.lan-card>*:last-child{margin-bottom:0}
.lan-route{display:grid;grid-template-columns:1fr;gap:14px}
.lan-route__pt{background:var(--lan-sand);border-radius:10px;padding:14px 16px}
.lan-route__lab{display:block;font-family:var(--lan-head);font-weight:700;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--lan-purple);margin-bottom:4px}
.lan-route__val{font-weight:600;color:var(--lan-navy);font-size:15px}
.lan-route__arrow{display:none}
.lan-specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--lan-line);border:1px solid var(--lan-line);border-radius:10px;overflow:hidden;margin:0}
.lan-specs>div{background:#fff;padding:13px 14px}
.lan-specs dt{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--lan-muted);font-family:var(--lan-head);font-weight:700;margin-bottom:3px}
.lan-specs dd{margin:0;font-weight:600;color:var(--lan-navy);font-size:15px}
.lan-list{list-style:none;margin:0;padding:0}
.lan-list li{position:relative;padding-left:28px;margin-bottom:10px;line-height:1.6}
.lan-list li::before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--lan-sand)}
.lan-list li::after{content:'';position:absolute;left:6px;top:8px;width:6px;height:3px;border-left:2px solid var(--lan-gold);border-bottom:2px solid var(--lan-gold);transform:rotate(-45deg)}
.lan-list--plain li::after{display:none}
.lan-list--plain li::before{background:var(--lan-gold);width:6px;height:6px;top:9px;left:6px}
.lan-note{background:var(--lan-sand);border-left:3px solid var(--lan-gold);border-radius:0 10px 10px 0;padding:16px 18px}
.lan-note p{margin:0 0 8px;font-size:14.5px}
.lan-note p:last-child{margin:0}
.lan-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(52,19,144,.06);border:1px solid rgba(52,19,144,.16);color:var(--lan-purple);border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px;font-family:var(--lan-head)}
.lan-badge svg{width:16px;height:16px;stroke:var(--lan-purple);fill:none;stroke-width:1.8}
.lan-book{background:var(--lan-navy);color:#fff;border-radius:var(--lan-radius);padding:24px}
.lan-book h2{color:#fff;font-size:18px;margin-bottom:4px}
.lan-book__from{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.6);font-family:var(--lan-head);font-weight:700}
.lan-book__amt{font-family:var(--lan-head);font-weight:700;font-size:34px;color:var(--lan-gold);line-height:1.1;margin:4px 0 2px}
.lan-book__unit{font-size:14px;color:rgba(255,255,255,.8)}
.lan-book__note{font-size:13px;color:rgba(255,255,255,.6);margin:10px 0 0}
.lan-book hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:18px 0}
.lan-btn{display:block;width:100%;text-align:center;background:var(--lan-gold);color:var(--lan-navy);font-family:var(--lan-head);font-weight:700;font-size:15px;padding:14px 20px;border-radius:10px;text-decoration:none;transition:background .2s ease,transform .2s ease}
.lan-btn:hover{background:#D8AB52;color:var(--lan-navy);transform:translateY(-1px)}
.lan-btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);margin-top:10px}
.lan-btn--ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.lan-book__list{list-style:none;margin:16px 0 0;padding:0;font-size:13.5px;color:rgba(255,255,255,.8)}
.lan-book__list li{padding-left:20px;position:relative;margin-bottom:7px}
.lan-book__list li::before{content:'';position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--lan-gold)}
.lan-map{position:relative;padding-top:62%;border-radius:10px;overflow:hidden;border:1px solid var(--lan-line)}
.lan-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lan-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.lan-gal a{display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/3}
.lan-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.lan-gal a:hover img{transform:scale(1.05)}
.lan-itin{list-style:none;margin:0;padding:0}
.lan-itin li{position:relative;padding:0 0 22px 30px;border-left:2px solid var(--lan-line)}
.lan-itin li:last-child{border-left-color:transparent;padding-bottom:0}
.lan-itin li::before{content:'';position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--lan-gold);border:3px solid #fff;box-shadow:0 0 0 1px var(--lan-line)}
.lan-itin__day{display:block;font-family:var(--lan-head);font-weight:700;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--lan-purple)}
.lan-itin__title{display:block;font-family:var(--lan-head);font-weight:700;font-size:17px;color:var(--lan-navy);margin:2px 0 5px}
.lan-itin p{margin:0;font-size:15px}
.lan-rel{display:grid;grid-template-columns:1fr;gap:16px}
.lan-rel__card{background:#fff;border:1px solid var(--lan-line);border-radius:var(--lan-radius);overflow:hidden;text-decoration:none;display:block;transition:box-shadow .25s ease,transform .25s ease}
.lan-rel__card:hover{box-shadow:var(--lan-shadow);transform:translateY(-3px)}
.lan-rel__img{aspect-ratio:16/10;background:var(--lan-sand);overflow:hidden}
.lan-rel__img img{width:100%;height:100%;object-fit:cover;display:block}
.lan-rel__b{padding:16px 18px 18px}
.lan-rel__b h3{font-size:17px;margin-bottom:6px}
.lan-rel__meta{font-size:13px;color:var(--lan-muted);margin:0 0 10px}
.lan-rel__price{font-family:var(--lan-head);font-weight:700;color:var(--lan-gold);font-size:15px}
.lan-demo{background:#FFF4D6;border:1px solid #E8C55C;color:#6B4E00;border-radius:10px;padding:12px 16px;font-size:14px;margin-bottom:20px}
.lan-sec-h{margin:34px 0 16px}
.lan-sec-h h2{font-size:22px;margin:0}
.lan-hub__intro{max-width:760px}
@media (min-width:768px){
  .lan-hero__inner{padding:60px 0 52px}
  .lan-hero h1{font-size:42px}
  .lan-hero__route{font-size:17px}
  .lan-card{padding:28px}
  .lan-specs{grid-template-columns:repeat(4,1fr)}
  .lan-route{grid-template-columns:1fr auto 1fr;align-items:center}
  .lan-route__arrow{display:flex;align-items:center;justify-content:center}
  .lan-route__arrow svg{width:26px;height:26px;stroke:var(--lan-gold);fill:none;stroke-width:2}
  .lan-gal{grid-template-columns:repeat(3,1fr)}
  .lan-rel{grid-template-columns:repeat(3,1fr)}
  .lan-body{padding:40px 0 72px}
}
@media (min-width:1025px){
  .lan-grid{grid-template-columns:minmax(0,1fr) 350px;gap:34px;align-items:start}
  .lan-aside{position:sticky;top:30px}
  .lan-hero h1{font-size:46px}
}
@media (prefers-reduced-motion:reduce){
  .lanara *{transition:none !important}
}
/* ---------- Quote fallback in booking card ---------- */
.lan-book__amt--quote{font-size:24px;line-height:1.25}

/* ---------- Lightbox ---------- */
.lan-lb{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(1,34,69,.94);padding:64px 16px 76px}
.lan-lb.is-open{display:flex}
.lan-lb__fig{margin:0;max-width:1120px;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.lan-lb__img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:8px;display:block;animation:lanLbIn .25s ease}
.lan-lb--noanim .lan-lb__img{animation:none}
@keyframes lanLbIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
.lan-lb__cap{color:rgba(255,255,255,.85);font-family:'Open Sans',system-ui,sans-serif;font-size:14px;text-align:center;max-width:60ch;margin:0}
.lan-lb__count{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-size:13px;font-family:'Nunito',system-ui,sans-serif;margin:0}
.lan-lb__btn{position:absolute;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.25);color:#fff;width:46px;height:46px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s ease}
.lan-lb__btn:hover{background:var(--lan-gold,#C39540);border-color:var(--lan-gold,#C39540);color:#012245}
.lan-lb__btn:focus-visible{outline:3px solid #C39540;outline-offset:3px}
.lan-lb__close{top:16px;right:16px}
.lan-lb__prev{left:12px;top:50%;transform:translateY(-50%)}
.lan-lb__next{right:12px;top:50%;transform:translateY(-50%)}
.lan-lb__btn[hidden]{display:none}
body.lan-lb-open{overflow:hidden}
@media (min-width:768px){
  .lan-lb{padding:80px 80px 80px}
  .lan-lb__prev{left:24px}
  .lan-lb__next{right:24px}
  .lan-lb__img{max-height:78vh}
}
@media (prefers-reduced-motion:reduce){
  .lan-lb__img{animation:none}
}

/* ---------- Enquiry form (WPForms) ---------- */
.lan-field-hidden{display:none !important}