/* ============================================================
   AX Gen 2 — Cold Lava theme override (Home page)
   Design source: coldlavaai/ax-architecture
   Type: Instrument Serif (display) · Inter (body) · JetBrains Mono (labels)
   Palette: navy #25326C · green #56AD6D · orange #F9612F · blue #029ACB
   Premium-restrained, warm, editorial.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --ax-navy:#25326C; --ax-navy-mid:#364184; --ax-navy-deep:#084975;
  --ax-green:#56AD6D; --ax-green-dark:#377347; --ax-green-deep:#1E5B2E;
  --ax-orange:#F9612F; --ax-orange-deep:#C13E1B;
  --ax-blue:#029ACB; --ax-ink:#25326C; --ax-muted:#666; --ax-faint:#B5B0A6;
  --ax-bg:#FFFFFF; --ax-bg-2:#FAFAFA; --ax-surface:#F5F5F5; --ax-border:#E5E4DF;
  --ax-display:"Instrument Serif",Georgia,serif;
  --ax-sans:"Inter",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --ax-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}

/* ---- Base type ---- */
body{
  font-family:var(--ax-sans)!important;
  color:var(--ax-ink);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.005em;
}
p,li,td,th,span,a,div,label,input,button,select,textarea{font-family:var(--ax-sans);}
p{line-height:1.6;color:var(--ax-muted);}

/* ---- Headings → Instrument Serif (also catches inline georgia) ---- */
h1,h2,h3,h4,h5,
[style*="georgia"],[style*="Georgia"]{
  font-family:var(--ax-display)!important;
  letter-spacing:-0.02em;
  line-height:1.1;
  font-weight:400;
}
h1{font-size:clamp(2.4rem,4.6vw,3.6rem);}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);}
h3{font-size:clamp(1.4rem,2.4vw,1.85rem);}

/* keep the brand green headings, deepen for contrast on white */
[style*="color:#56ad6d"],[style*="color:#56AD6D"],[style*="color: #56ad6d"]{
  color:var(--ax-green-dark)!important;
}

/* ---- Links ---- */
a{color:var(--ax-blue);transition:color .2s ease;}
a:hover,a:focus{color:var(--ax-navy-deep);}

/* ---- Buttons: symmetric padding, restrained, AX palette ---- */
.btn{
  font-family:var(--ax-sans)!important;
  font-weight:600!important;
  letter-spacing:.01em;
  border-radius:8px!important;
  padding:.72em 1.6em!important;          /* symmetric, generous */
  border:1px solid transparent!important;
  transition:background-color .2s ease,border-color .2s ease,transform .15s ease;
  box-shadow:none!important;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary,.btn-success{
  background:var(--ax-green)!important;
  border-color:var(--ax-green)!important;
  color:#fff!important;
}
.btn-primary:hover,.btn-success:hover{
  background:var(--ax-green-dark)!important;border-color:var(--ax-green-dark)!important;
}
.btn-default{
  background:#fff!important;color:var(--ax-navy)!important;
  border-color:var(--ax-border)!important;
}
.btn-default:hover{border-color:var(--ax-navy)!important;color:var(--ax-navy)!important;}
/* keep small +/- incrementors compact */
.btn-xs,.btn-circle{padding:.2em .55em!important;border-radius:6px!important;}

/* ---- Collapse empty placeholder rows (the source of big white voids) ---- */
.cms-template-ph:empty,.cms-template-phfw:empty,.pax-row:empty{padding:0!important;margin:0!important;min-height:0!important;height:0!important;}
.cms-template-phfw>.container-fluid:empty,.cms-template-ph>.container:empty{display:none!important;}

/* ============================================================
   PREMIUM PINE HEADER (sitewide) — AX Gen 2 template, done properly.
   Three tiers: utility strip · logo+phone row · nav.
   ============================================================ */
:root{--ax-pine:#00302B;--ax-pine-2:#00251F;}
.mp-site-header,.mp-site-header.container,.mp-site-header-nav-container,
.mp-site-header-nav,.mp-site-header-container,
.mp-site-navigation,.navbar-default,.mp-site-menu,#site-menu,header{
  background:var(--ax-pine)!important;border:none!important;
}

/* --- top utility strip (Sign In · Follow Us) --- */
.mp-site-header-nav-container{background:var(--ax-pine-2)!important;}
.mp-site-header-nav{padding:7px 0!important;}
.mp-site-header-nav-container a,.mp-site-headeritem,.mp-site-headeritem a,
.mp-site-headeritem span,.mp-site-header-nav-container span{
  color:rgba(255,255,255,.6)!important;font-size:11.5px;font-weight:500;letter-spacing:.01em;
}
.mp-site-header-nav-container a:hover{color:#fff!important;}
.header-socialmedia{margin-left:20px;}
.header-socialmedia a{color:rgba(255,255,255,.6)!important;margin:0 5px;font-size:13px;}
.header-socialmedia a:hover{color:var(--ax-green)!important;}

/* --- logo + phone row --- */
.mp-site-header.container{padding-top:15px!important;padding-bottom:15px!important;}
#cms-headersection-left{visibility:hidden;}            /* ATOL/PTS badges → footer */
/* logo.png ships with an opaque white bg, so swap in a transparent white wordmark */
.cms-headersection-logo a{
  display:inline-block;line-height:0;width:250px;max-width:62vw;height:46px;
  background:url(/assets/images/logo-white.png) center center/contain no-repeat;
}
.cms-headersection-logo a img{opacity:0;height:46px;width:auto;}
#AffLogo1{filter:brightness(0) invert(1);background:none!important;padding:0!important;border-radius:0!important;max-height:42px;width:auto;}
#cms-headersection-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;}
#cms-headersection-right p{
  color:rgba(255,255,255,.55)!important;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;margin:0!important;font-weight:600;
}
#cms-headersection-right h2{margin:3px 0 0!important;}
#cms-headersection-right h2,#cms-headersection-right h2 a,
#cms-headersection-right h2 i,#cms-headersection-right h2 b{
  font-family:var(--ax-sans)!important;color:#fff!important;font-size:22px!important;
  font-weight:700!important;font-style:normal!important;letter-spacing:.01em;line-height:1.1;
}

/* --- nav bar --- */
/* eVolve ships a green linear-gradient on .navbar-nav — kill it so pine shows */
.navbar-default .navbar-nav,.mp-site-menu .navbar-nav,.nav.navbar-nav{
  background:transparent!important;background-image:none!important;
}
.mp-site-menu .navbar-nav{float:none;text-align:center;}
.mp-site-menu .navbar-nav>li{float:none;display:inline-block;}
.navbar-default .navbar-nav>li>a{
  font-family:var(--ax-sans)!important;font-weight:600!important;color:#fff!important;
  letter-spacing:.07em;text-transform:uppercase;font-size:11.5px;white-space:nowrap;
}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li.active>a{
  color:#fff!important;background:transparent!important;
}
/* dropdown submenus: clean white panel */
.navbar-default .dropdown-menu{
  background:#fff!important;border:none!important;border-radius:10px!important;
  box-shadow:0 18px 44px -12px rgba(0,0,0,.35)!important;padding:8px!important;margin-top:0;
}
.navbar-default .dropdown-menu>li>a{
  color:var(--ax-navy)!important;text-transform:none!important;font-size:13px;
  border-radius:6px;padding:8px 12px!important;
}
.navbar-default .dropdown-menu>li>a:hover{background:var(--ax-surface)!important;color:var(--ax-green-dark)!important;}

/* ---- Banner captions: keep legible, refine type ---- */
.banner-caption h1,.banner-caption h2,.banner-caption h3,.banner-caption *{
  font-family:var(--ax-display)!important;
}

/* ---- Eyebrow / kicker labels in mono ---- */
.ax-eyebrow{
  font-family:var(--ax-mono)!important;text-transform:uppercase;
  letter-spacing:.24em;font-size:11px;color:var(--ax-orange);
  font-weight:500;display:inline-block;margin-bottom:.6em;
}

/* ---- Orange accent rule under section headings (subtle editorial mark) ---- */
.ax-accent{color:var(--ax-orange)!important;}

/* ============================================================
   PREMIUM LAYER v2 — depth, rhythm, micro-motion (sitewide)
   ============================================================ */

/* ---- Smooth everything ---- */
*{scroll-behavior:smooth;}
img{image-rendering:auto;}

/* ---- Header / nav: sticky pine + animated underline ---- */
.mp-site-navigation{position:sticky;top:0;z-index:1000;border-top:1px solid rgba(255,255,255,.08)!important;box-shadow:0 2px 16px rgba(0,0,0,.18);}
.navbar-default .navbar-nav>li>a{padding:16px 14px!important;position:relative;}
.navbar-default .navbar-nav>li>a:after{
  content:"";position:absolute;left:50%;right:50%;bottom:9px;height:2px;
  background:var(--ax-green);transition:left .22s ease,right .22s ease;border-radius:2px;
}
.navbar-default .navbar-nav>li>a:hover:after,.navbar-default .navbar-nav>li.active>a:after{left:14px;right:14px;}

/* ---- Hero / banner: full-bleed, cinematic, refined caption ---- */
.mod-bannerslider,.banner-item{position:relative;}
.banner-item:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(37,50,108,.05) 0%,rgba(37,50,108,0) 30%,rgba(37,50,108,.18) 100%);
}
.banner-caption{text-shadow:0 2px 24px rgba(0,0,0,.35);}
.banner-caption h1,.banner-caption h2{font-size:clamp(2.2rem,4.5vw,4rem)!important;line-height:1.05!important;color:#fff!important;}

/* ---- Section headings: editorial, with hairline accent ---- */
.cms-template-ph h2,.cms-template-ph h3{position:relative;}
h2,h3{color:var(--ax-navy);}

/* ---- Cards / tiles: premium shadow + hover lift ---- */
.panel,.thumbnail,.card,[class*="tile"],.cms-template-phsw .col-sm-6,.cms-template-phsw .col-sm-4{
  border-radius:12px!important;
  overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease;
}
.panel,.thumbnail{border:1px solid var(--ax-border)!important;box-shadow:0 1px 2px rgba(37,50,108,.04);}
.panel:hover,.thumbnail:hover,[class*="tile"]:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px -12px rgba(37,50,108,.22);
}
/* image zoom-on-hover inside tiles */
.thumbnail img,[class*="tile"] img,.panel img{transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.thumbnail:hover img,[class*="tile"]:hover img,.panel:hover img{transform:scale(1.05);}

/* ---- Buttons: premium weight + subtle shadow on primary ---- */
.btn-primary,.btn-success{box-shadow:0 6px 18px -8px rgba(86,173,109,.7)!important;}
.btn-lg{padding:.95em 2.2em!important;font-size:15px!important;}

/* ---- Price emphasis (tour pages) in navy serif ---- */
.tour-price,[class*="price"] .amount,.price-from{font-family:var(--ax-display)!important;color:var(--ax-navy)!important;}

/* ---- Tables: clean, airy ---- */
.table>thead>tr>th{border-bottom:2px solid var(--ax-border)!important;color:var(--ax-navy)!important;font-weight:600;letter-spacing:.01em;}
.table>tbody>tr>td{border-top:1px solid var(--ax-border)!important;}

/* ---- Footer: deep navy, calm ---- */
footer,.mp-site-footer,.site-footer{background:var(--ax-navy)!important;}
footer a,.mp-site-footer a{color:rgba(255,255,255,.85)!important;}
footer a:hover{color:#fff!important;}

/* ---- Links: refined underline on hover for body links ---- */
.cms-template-ph a:not(.btn):hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}

/* ---- Disable the dead dynamic search (needs the retired backend; per brief) ---- */
.mod-tsbv2-container,.travelsearchbox,#travelsearchbox,.mod-travelsearch{display:none!important;}

/* ---- Cookie banner: refined ---- */
#euCookieNotify{
  background:var(--ax-navy)!important;color:#fff!important;border-radius:12px!important;
  box-shadow:0 18px 50px -12px rgba(0,0,0,.5)!important;padding:16px 20px!important;
  max-width:560px;left:24px!important;bottom:24px!important;font-size:12.5px;line-height:1.5;
}
#euCookieNotify a.euCookieNotifyBtn{border-radius:8px!important;}

/* ---- "Learn more" / card CTAs: refined, not heavy full-width blocks ---- */
.btn-success,.btn-primary{font-weight:600!important;}
a.btn-success[href*="/tours/"],a.btn-primary[href*="/tours/"],.panel .btn-success,.thumbnail .btn-success{
  border-radius:9px!important;padding:.62em 1.2em!important;font-size:13px!important;letter-spacing:.02em;
}

/* ============================================================
   PREMIUM CARDS v3 — featured-holiday panels + trip lists
   ============================================================ */
/* the panel card itself: clean, rounded, soft shadow, crop heading to radius */
.panel.panel-default{
  border:1px solid var(--ax-border)!important;border-radius:14px!important;overflow:hidden!important;
  box-shadow:0 2px 10px rgba(37,50,108,.05)!important;background:#fff!important;
}
.panel.panel-default:hover{box-shadow:0 22px 48px -16px rgba(37,50,108,.28)!important;transform:translateY(-4px);}
/* heading bar → refined pine, clean sans, ties to the header */
.panel-heading,.panel-heading.cms-bgr1{
  background:var(--ax-pine)!important;color:#fff!important;border:none!important;
  padding:14px 18px!important;border-radius:0!important;
}
.panel-heading,.panel-heading *,.panel-heading.cms-bgr1 *{
  font-family:var(--ax-sans)!important;color:#fff!important;font-weight:600!important;
  font-size:15px!important;letter-spacing:.005em;
}
.panel-body{padding:16px 18px!important;}
.panel-footer{background:#fff!important;border-top:none!important;padding:0 18px 18px!important;}
/* price badge → clean green pill */
.offer-price.cms-bgr1{
  background:var(--ax-green)!important;color:#fff!important;border-radius:999px!important;
  padding:5px 14px!important;display:inline-block;font-weight:700!important;
}
.offer-price.cms-bgr1 *{color:#fff!important;}
/* card CTA: refined full-width pill */
.panel-footer .btn-block{
  border-radius:10px!important;padding:.78em 1.2em!important;font-size:13.5px!important;
  letter-spacing:.04em;text-transform:uppercase;font-weight:600!important;
}
/* trip-list rows: airy, subtle hover */
.offer-price.cms-txt2{color:var(--ax-navy)!important;font-weight:700!important;font-family:var(--ax-sans)!important;}

/* ============================================================
   MODERN TOUR PAGE v4 — itinerary, tabs, media, rhythm
   ============================================================ */
/* readable editorial column + rhythm */
.tb-flowstage1 .cms-template-ph p,.tb-overview p{font-size:15.5px;line-height:1.72;color:#3a4744;margin:0 0 16px;}
.tb-flowstage1{font-size:15.5px;}

/* content images → rounded, contained, cinematic (not full-bleed stacked) */
.tb-flowstage1 img[style*="width:100%"],.tb-flowstage1 img[style*="width: 100%"],
.cms-template-ph img[style*="width:100%"],.cms-template-ph img[style*="width: 100%"]{
  border-radius:14px!important;margin:22px 0!important;max-height:540px;object-fit:cover;
  box-shadow:0 14px 34px -18px rgba(0,32,28,.35);
}

/* soften the many <hr> dividers */
.tb-flowstage1 hr,.cms-template-ph hr,.tb-overview hr{
  border:none!important;border-top:1px solid var(--ax-border)!important;margin:30px 0!important;opacity:.7;
}
.tb-flowstage1 p>hr{margin:30px 0!important;}

/* day headings → premium editorial markers */
.tb-flowstage1 h3,.tb-overview h3{
  font-family:var(--ax-display)!important;color:var(--ax-pine)!important;
  font-size:1.7rem!important;margin:34px 0 14px!important;padding-top:18px;
  border-top:2px solid var(--ax-border);
}
.tb-flowstage1 h3:first-of-type{border-top:none;padding-top:0;}

/* "What makes this experience awesome" + bullet lists → green check list */
.tb-flowstage1 ul,.tb-overview ul,.cms-template-ph ul{list-style:none;padding-left:0;margin:14px 0 22px;}
.tb-flowstage1 ul>li,.tb-overview ul>li,.cms-template-ph ul>li{
  position:relative;padding-left:30px;margin-bottom:11px;line-height:1.6;color:#3a4744;font-size:15px;
}
.tb-flowstage1 ul>li:before,.tb-overview ul>li:before,.cms-template-ph ul>li:before{
  content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;
  background:var(--ax-green) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24'><path d='M5 13l4 4L19 7' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/10px no-repeat;
}

/* map iframe → contained, rounded */
iframe[src*="maps"],iframe[src*="youtube"]{
  border-radius:14px!important;border:1px solid var(--ax-border)!important;
  box-shadow:0 14px 34px -18px rgba(0,32,28,.3);max-width:100%;
}

/* tabordion tabs → modern segmented control */
.tabordion-tab-container{display:flex;flex-wrap:wrap;gap:8px;border:none!important;margin:26px 0 8px;}
.tabordion-tab{
  font-family:var(--ax-sans)!important;font-weight:600!important;font-size:13px!important;
  letter-spacing:.03em;color:var(--ax-pine)!important;background:var(--ax-surface)!important;
  border:1px solid var(--ax-border)!important;border-radius:999px!important;
  padding:9px 18px!important;cursor:pointer;transition:.15s;
}
.tabordion-tab:hover{border-color:var(--ax-green)!important;}
.tabordion-tab.tabordion-tab-selected{background:var(--ax-pine)!important;color:#fff!important;border-color:var(--ax-pine)!important;}

/* signup band → premium pine, not a raw green block */
.mod-signup-fullwidth.cms-bgr1,.mod-signup-fullwidth{
  background:var(--ax-pine)!important;border-radius:16px!important;padding:28px 26px!important;margin:8px 0!important;
}
.mod-signup-fullwidth *,.mod-signup-fullwidth h2,.mod-signup-fullwidth h3{color:#fff!important;}
.mod-signup-fullwidth input[type="text"],.mod-signup-fullwidth input[type="email"]{
  border-radius:9px!important;border:none!important;padding:12px 14px!important;
}

/* dead empty itinerary buttons (label came from the retired knockout dictionary) */
input.btn[onclick*="fnShowFullItinerary"],input.btn[data-bind*="Itinerary"],
.tb-flowstage1 input.btn-primary:not([value]),.tb-flowstage1 input.btn-primary[value=""]{display:none!important;}
