/* Lanka Hela Tours: single Tour Package template */

@font-face{font-family:'Archivo';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/archivo-300.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/archivo-400.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/archivo-500.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/archivo-700.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/playfair-display-400.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/playfair-display-500.woff2') format('woff2')}

/* ---------- Tokens (overridden inline from Template Settings) ---------- */
.lht{
  --lht-primary:#00a8ea;
  --lht-secondary:#ff1744;
  --lht-tips-bg:#fde2e1;
  --lht-heading:#111;
  --lht-text:#1f1f1f;
  --lht-bg:#fff;
  --lht-font-display:'Playfair Display',Georgia,serif;
  --lht-font-body:'Archivo','Helvetica Neue',Arial,sans-serif;
  --lht-title-size:64px;
  --lht-radius:15px;
  --lht-sticky-top:0px;
  --lht-adminbar:0px;
  --lht-shadow:0 2px 10px rgba(0,0,0,.14);
  --lht-shadow-lg:0 4px 22px rgba(0,0,0,.13);
  --lht-container:1180px;
  --lht-gutter:clamp(16px,4vw,40px);
  --lht-nav-h:72px;

  display:block;
  background:var(--lht-bg);
  color:var(--lht-text);
  font-family:var(--lht-font-body);
  font-size:16px;
  font-weight:300;
  line-height:1.65;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
body.lht-body{margin:0;background:var(--lht-bg,#fff)}

/* Neutral resets, zero specificity so component rules always win */
:where(.lht) :where(*,*::before,*::after){box-sizing:border-box}
:where(.lht) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0;padding:0}
:where(.lht) :where(img){max-width:100%;height:auto;display:block}
:where(.lht) :where(a){color:inherit}

.lht-container{width:100%;max-width:calc(var(--lht-container) + var(--lht-gutter)*2);margin-inline:auto;padding-inline:var(--lht-gutter)}

.lht-icon{width:1.25em;height:1.25em;flex:none}

/* ---------- Type ---------- */
.lht .lht-hero__title,
.lht .lht-h2,
.lht .lht-day__title,
.lht .lht-faq__q{
  font-family:var(--lht-font-display);
  font-weight:500;
  color:var(--lht-heading);
  letter-spacing:-.005em;
}
.lht .lht-h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1;margin-bottom:22px}
.lht .lht-h2--sm{font-size:clamp(26px,2.6vw,32px)}

.lht-rich > * + *{margin-top:1em}
.lht-rich a{color:var(--lht-primary);text-decoration:underline;text-underline-offset:2px}
.lht-rich strong,.lht-rich b{font-weight:600}
.lht-rich ul,.lht-rich ol{padding-left:1.2em}

/* ---------- Buttons ---------- */
.lht .lht-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 30px;border-radius:50px;border:0;
  font-family:var(--lht-font-body);font-size:13px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;text-decoration:none;line-height:1.2;color:#fff;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.lht .lht-btn .lht-icon{width:18px;height:18px}
.lht .lht-btn--primary{background:var(--lht-primary)}
.lht .lht-btn--secondary{background:var(--lht-secondary)}
.lht .lht-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15);filter:brightness(1.05)}
.lht .lht-btn:focus-visible{outline:3px solid var(--lht-heading);outline-offset:3px}

/* ---------- Hero ---------- */
.lht-hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;min-height:min(86vh,780px);
}
.lht-hero__media{position:relative;align-self:stretch;min-height:520px}
.lht-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lht--shape-curve .lht-hero__img{clip-path:url(#lht-curve)}
.lht--shape-rounded .lht-hero__media{margin:24px 0 24px var(--lht-gutter)}
.lht--shape-rounded .lht-hero__img{border-radius:calc(var(--lht-radius)*2)}
.lht-defs{position:absolute;width:0;height:0;overflow:hidden}

.lht-hero__body{padding:60px var(--lht-gutter) 60px clamp(24px,5vw,72px);text-align:center;max-width:680px;justify-self:center}
.lht .lht-hero__title{font-size:var(--lht-title-size);line-height:1.05;margin-bottom:22px}
.lht-hero__intro{font-size:15px;line-height:1.7;max-width:560px;margin-inline:auto}
.lht-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 26px;margin-top:40px}

/* ---------- Overview ---------- */
.lht-overview{text-align:center;padding-top:56px;padding-bottom:24px}
.lht-overview__text{font-size:16px;line-height:1.75}
.lht-overview__note{margin-top:22px;font-size:14px;line-height:1.7;opacity:.9}

/* ---------- Section menu ---------- */
.lht-nav{background:var(--lht-bg);z-index:30;margin-top:28px}
.lht--sticky .lht-nav{position:sticky;top:calc(var(--lht-sticky-top) + var(--lht-adminbar))}
.lht-nav.is-stuck{box-shadow:0 6px 14px -10px rgba(0,0,0,.25)}
.lht-nav__inner{
  display:flex;justify-content:center;gap:clamp(14px,3vw,34px);
  max-width:calc(var(--lht-container) + var(--lht-gutter)*2);margin-inline:auto;
  padding:14px var(--lht-gutter);overflow-x:auto;scrollbar-width:none;
}
.lht-nav__inner::-webkit-scrollbar{display:none}
.lht .lht-nav__link{
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  font-family:var(--lht-font-display);font-size:20px;font-weight:500;color:var(--lht-heading);
  text-decoration:none;padding:8px 4px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.lht .lht-nav__link .lht-icon{width:30px;height:30px;padding:5px;border-radius:50%;background:color-mix(in srgb,var(--lht-primary) 12%,transparent);color:var(--lht-primary)}
.lht .lht-nav__link:hover,.lht .lht-nav__link.is-active{color:var(--lht-primary);border-bottom-color:var(--lht-primary)}

/* ---------- Itinerary ---------- */
.lht-itinerary{padding-top:80px;padding-bottom:40px}
.lht-itinerary__heading{text-align:center;margin-bottom:70px}
.lht-itinerary,.lht-duo{scroll-margin-top:calc(var(--lht-nav-h) + var(--lht-sticky-top) + var(--lht-adminbar) + 20px)}

.lht-day{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;
  max-width:1060px;margin:0 auto 90px;padding:30px;
  background:var(--lht-bg);border-radius:var(--lht-radius);box-shadow:var(--lht-shadow);
  scroll-margin-top:calc(var(--lht-nav-h) + var(--lht-sticky-top) + var(--lht-adminbar) + 70px);
}
.lht-day:last-child{margin-bottom:40px}
.lht-day--no-places{grid-template-columns:1fr}
.lht-day__badge{
  position:absolute;top:-50px;left:-50px;width:104px;height:104px;border-radius:50%;
  background:var(--lht-primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--lht-font-display);line-height:1.1;text-align:center;padding:10px;box-shadow:0 6px 18px color-mix(in srgb,var(--lht-primary) 35%,transparent);
}
.lht-day__badge span{font-size:17px}
.lht-day__badge strong{font-weight:500;font-size:20px;margin-top:2px}
.lht-day__body{padding:6px 0 0 54px}
.lht .lht-day__title{font-size:26px;line-height:1.2;margin-bottom:14px}
.lht-day__text{font-size:15px;line-height:1.75}

.lht-day__places{display:grid;gap:16px;align-content:start}
.lht-day__places--1{grid-template-columns:minmax(0,1fr)}
.lht-day__places--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lht-day__places--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lht-day__places--4{grid-template-columns:repeat(2,minmax(0,1fr))}

.lht .lht-place{position:relative;display:block;overflow:hidden;aspect-ratio:475/600;text-decoration:none;background:#eef3f6;border-radius:2px}
.lht-day__places--1 .lht-place{aspect-ratio:4/3}
.lht-day__places--4 .lht-place{aspect-ratio:1/1}
.lht .lht-place__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lht .lht-place:hover .lht-place__img{transform:scale(1.06)}
.lht .lht-place__name{
  position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:6px;
  padding:34px 12px 12px;color:#fff;font-size:13px;font-weight:500;letter-spacing:.02em;line-height:1.25;
  background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0));
}
.lht .lht-place__name .lht-icon{width:15px;height:15px}
.lht .lht-place:focus-visible{outline:3px solid var(--lht-primary);outline-offset:3px}

.lht-placeholder{
  display:flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--lht-primary) 70%,#fff);
  background:linear-gradient(140deg,color-mix(in srgb,var(--lht-primary) 18%,#fff),color-mix(in srgb,var(--lht-primary) 40%,#fff));
}
.lht-placeholder .lht-icon{width:44px;height:44px;opacity:.8}

/* ---------- Cards / duo rows ---------- */
.lht-card{background:var(--lht-bg);border-radius:var(--lht-radius);box-shadow:var(--lht-shadow-lg);padding:clamp(28px,3.4vw,44px)}

.lht-list{list-style:square;padding-left:1.1em}
.lht-list li{font-size:15px;line-height:1.6}
.lht-list li + li{margin-top:12px}
.lht-list li::marker{color:var(--lht-heading);font-size:.8em}
.lht-list strong{font-weight:600}

.lht-duo{display:grid;align-items:start;padding-top:70px;padding-bottom:30px}
.lht-duo--single{grid-template-columns:minmax(0,820px);justify-content:center}

.lht-duo--map{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}
.lht-map{position:relative;border-radius:var(--lht-radius);overflow:hidden;background:#e9eef1;min-height:560px;align-self:stretch;box-shadow:var(--lht-shadow)}
.lht-map iframe,.lht-map .lht-map__img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.lht-duo--map .lht-highlights{margin:24px 0 0 -20px;position:relative;z-index:1}
.lht-duo--single .lht-highlights{margin:0}
.lht-duo--single .lht-map{min-height:460px}

.lht-duo--faq{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);max-width:1100px}
.lht-tips{background:var(--lht-tips-bg);border-radius:var(--lht-radius);box-shadow:var(--lht-shadow-lg);padding:clamp(28px,3.4vw,44px);padding-right:clamp(40px,5vw,72px);margin-top:28px}
.lht-duo--faq .lht-faq{margin-left:-24px;position:relative;z-index:1}
.lht-duo--faq.lht-duo--single .lht-faq,.lht-duo--faq.lht-duo--single .lht-tips{margin:0}
.lht-faq__item + .lht-faq__item{margin-top:22px}
.lht .lht-faq__q{font-size:19px;line-height:1.3;margin-bottom:6px}
.lht-faq__a{font-size:15px;line-height:1.6}

.lht > :last-child{padding-bottom:90px}

/* ---------- Reveal (only when JS runs, never hides content otherwise) ---------- */
.lht-js .lht--animate .lht-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.lht-js .lht--animate .lht-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .lht-js .lht--animate .lht-reveal{opacity:1;transform:none;transition:none}
  .lht .lht-btn,.lht .lht-place__img{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .lht-day{margin-left:40px}
}
@media (max-width:900px){
  .lht-hero{grid-template-columns:1fr;min-height:0}
  .lht-hero__media{min-height:0;aspect-ratio:4/3.2}
  .lht--shape-curve .lht-hero__img{clip-path:none;border-radius:0 0 50% 50% / 0 0 14% 14%}
  .lht--shape-rounded .lht-hero__media{margin:16px var(--lht-gutter) 0}
  .lht-hero__body{padding:36px var(--lht-gutter) 10px;max-width:none}
  .lht .lht-hero__title{font-size:clamp(34px,8vw,52px)}
  .lht-hero__actions{margin-top:28px}

  .lht-nav{margin-top:16px}
  .lht-nav__inner{justify-content:flex-start}
  .lht .lht-nav__link{font-size:17px}

  .lht-day{grid-template-columns:1fr;margin:0 0 70px;padding:58px 22px 22px}
  .lht-day__badge{top:-36px;left:22px;width:80px;height:80px}
  .lht-day__badge span{font-size:14px}
  .lht-day__badge strong{font-size:17px}
  .lht-day__body{padding:0}
  .lht .lht-day__title{font-size:23px}
  .lht-itinerary{padding-top:64px}

  .lht-duo--map,.lht-duo--faq{grid-template-columns:1fr;gap:0}
  .lht-map{min-height:380px}
  .lht-duo--map .lht-highlights{margin:-28px 12px 0;}
  .lht-tips{margin-top:0;padding-right:clamp(28px,3.4vw,44px)}
  .lht-duo--faq .lht-faq{margin:-20px 12px 0}
}
@media (max-width:520px){
  .lht .lht-btn{padding:14px 22px;font-size:12px}
  .lht-hero__actions{gap:12px}
  .lht-day__places--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lht-day__places{gap:10px}
  .lht-duo--map .lht-highlights,.lht-duo--faq .lht-faq{margin-inline:0}
}
