/* ==========================================================================
   Tour pages — built from sections edited in Admin → Tours.
   Light version of the honeymoon tour layout, using the site tokens
   (1100px content, Playfair headings, brush-script small lines).
   ========================================================================== */

/* ---------------------------------------------------------------- hero */
.tr-hero{position:relative;min-height:min(84vh,780px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;
  padding:7rem 0 4.5rem;background:var(--dawn,#F7F1E6);}
.tr-hero__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.tr-hero::before{content:'';position:absolute;inset:0;z-index:-1;}
.tr-hero{--v:.55;}
.tr-hero--veil::before{background:linear-gradient(90deg, rgba(255,255,255,calc(.92*var(--v))) 0%, rgba(255,255,255,calc(.74*var(--v))) 32%, rgba(255,255,255,0) 62%);}
.tr-hero--veil h1,.tr-hero--veil .tr-hero__text,.tr-hero--veil .dz-eyebrow{text-shadow:0 1px 2px rgba(255,255,255,.45),0 0 22px rgba(255,255,255,.7);}
.tr-hero--shade::before{background:linear-gradient(180deg, rgba(10,18,15,calc(.1*var(--v))) 0%, rgba(10,18,15,calc(.15*var(--v))) 40%, rgba(10,18,15,calc(.85*var(--v) + .1)) 100%);}
.tr-hero--shade h1,.tr-hero--shade .tr-hero__text{text-shadow:0 2px 18px rgba(0,0,0,.45);}
.tr-hero--noimg::before{background:
  radial-gradient(circle at 18% 30%, rgba(197,160,89,.18), transparent 50%),
  repeating-radial-gradient(circle at 78% 70%, rgba(27,48,34,.06) 0 1px, transparent 1px 26px);}
.tr-hero__inner{width:100%;}
.tr-hero h1{font-size:clamp(2.6rem,6.5vw,4.8rem);line-height:.98;letter-spacing:-.03em;font-weight:600;margin:0 0 1.2rem;max-width:14ch;color:var(--ink);}
.tr-hero__text{max-width:56ch;font-size:1.08rem;line-height:1.75;color:var(--ink-soft,#3B4A3F);margin:0 0 1.6rem;}
.tr-pills{list-style:none;margin:0 0 1.8rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;}
.tr-pills li{padding:.5rem .95rem;border:1px solid rgba(27,48,34,.22);background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);}
.tr-hero--shade h1,.tr-hero--shade .tr-hero__text{color:#fff;}
.tr-hero--shade .dz-eyebrow{color:#F1D9A6 !important;}
.tr-hero--shade .tr-pills li{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1);}

/* ---------------------------------------------------------------- shared backgrounds */
.tr-bg--sand{background:var(--dawn,#F7F1E6);}
.tr-bg--white{background:var(--paper,#fff);}
.tr-bg--mist{background:var(--mist,#EEF2EA);}

/* ---------------------------------------------------------------- two-column heading + text */
.tr-split__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.tr-split h2{margin:0;}
.tr-split__copy p{font-size:1rem;line-height:1.9;color:#4E5752;margin:0 0 1.1rem;}
.tr-split__copy p:last-child{margin-bottom:0;}

/* ---------------------------------------------------------------- route timeline */
.tr-route{background:var(--mist,#EEF2EA);}
.tr-route__head{max-width:620px;margin-bottom:var(--space-head,2.5rem);}
.tr-route__head h2{margin-bottom:.8rem;}
.tr-route__line{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(var(--stops,5),1fr);}
.tr-route__line::before{content:'';position:absolute;top:8px;left:0;right:0;height:1px;background:rgba(27,48,34,.2);}
.tr-route__line li{position:relative;padding:2rem 1.2rem 0 0;}
.tr-route__line li::before{content:'';position:absolute;top:3px;left:0;width:11px;height:11px;border-radius:50%;
  background:var(--gold);border:3px solid var(--mist,#EEF2EA);box-shadow:0 0 0 1px var(--gold);}
.tr-route__day{display:block;margin-bottom:.35rem;color:var(--gold-ink,#8A6627);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.tr-route__line strong{display:block;font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--ink);margin-bottom:.2rem;}
.tr-route__note{color:var(--muted);font-size:.88rem;}

/* ---------------------------------------------------------------- centred heading */
.tr-center{padding-bottom:calc(var(--space-section,5rem) * .55);}
.tr-center__head{max-width:700px;margin-bottom:0;}

/* ---------------------------------------------------------------- itinerary day */
.tr-day{padding:calc(var(--space-section,5rem) * .9) 0;border-top:1px solid var(--line);background:var(--paper,#fff);}
.tr-day--alt{background:#FBF8F2;}
.tr-day__top{display:grid;grid-template-columns:110px 1fr;gap:2rem;align-items:start;margin-bottom:2rem;}
.tr-day__no{font-family:var(--font-serif);font-size:3.4rem;line-height:1;color:var(--gold);padding-top:.25rem;}
.tr-day h2{margin:0;font-size:clamp(1.8rem,3.2vw,2.5rem);}
.tr-day__sub{margin:.6rem 0 0;color:var(--muted);font-size:.92rem;letter-spacing:.02em;}
.tr-day__content{max-width:820px;margin-left:calc(110px + 2rem);}
.tr-day__content p{margin:0 0 1.05rem;color:#4E5752;font-size:1rem;line-height:1.9;}
.tr-day__content p:last-child{margin-bottom:0;}
.tr-day__content .tr-day__lead{font-family:var(--font-serif);font-size:1.3rem;line-height:1.55;color:var(--ink);}
.tr-day__details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:2.4rem 0 0;background:var(--line);border:1px solid var(--line);}
.tr-day__details--1{grid-template-columns:1fr;}
.tr-day__details--2{grid-template-columns:repeat(2,1fr);}
.tr-day__details > div{background:var(--paper,#fff);padding:1.4rem 1.5rem;min-height:110px;}
.tr-day--alt .tr-day__details > div{background:#FBF8F2;}
.tr-day__details dt{margin:0 0 .45rem;color:var(--gold-ink,#8A6627);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.tr-day__details dd{margin:0;font-family:var(--font-serif);font-size:1.08rem;line-height:1.45;color:var(--ink);}

/* day photo layouts */
.tr-gallery{display:grid;gap:8px;margin-top:2.6rem;}
.tr-gallery__item{position:relative;display:block;overflow:hidden;background:var(--mist-2,#E3EADF);min-height:240px;}
a.tr-gallery__item{cursor:zoom-in;}
.tr-gallery__item img,.tr-gallery__item .dz-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;min-height:0;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
a.tr-gallery__item:hover img{transform:scale(1.035);}
.tr-gallery--cinematic{grid-template-columns:1fr;}
.tr-gallery--cinematic .tr-gallery__item{min-height:clamp(300px,42vw,520px);}
.tr-gallery--feature{grid-template-columns:2fr 1fr;grid-template-rows:230px 230px;}
.tr-gallery--feature .tr-gallery__item:first-child{grid-row:1 / span 2;}
.tr-gallery--three{grid-template-columns:repeat(3,1fr);}
.tr-gallery--three .tr-gallery__item{min-height:360px;}
.tr-gallery--editorial{grid-template-columns:1.4fr 1fr 1fr;}
.tr-gallery--editorial .tr-gallery__item{min-height:320px;}
.tr-caption{position:absolute;left:14px;bottom:14px;padding:.35rem .65rem;background:rgba(255,255,255,.88);color:var(--ink);
  font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}

/* ---------------------------------------------------------------- lodge cards */
.tr-stays{background:var(--paper,#fff);}
.tr-stays__head{max-width:620px;margin-bottom:var(--space-head,2.5rem);}
.tr-stays__head h2{margin-bottom:.8rem;}
.tr-stays__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.tr-stays__grid--1{grid-template-columns:minmax(0,420px);}
.tr-stays__grid--2{grid-template-columns:repeat(2,1fr);}
.tr-stay{border:1px solid var(--line);background:var(--paper,#fff);overflow:hidden;}
.tr-stay__img{height:260px;overflow:hidden;margin:0;}
.tr-stay__img img,.tr-stay__img .dz-ph{width:100%;height:100%;object-fit:cover;min-height:0;transition:transform .7s ease;}
.tr-stay:hover .tr-stay__img img{transform:scale(1.04);}
.tr-stay__body{padding:1.5rem 1.6rem 1.7rem;}
.tr-stay__loc{margin:0 0 .4rem;color:var(--gold-ink,#8A6627);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.tr-stay h3{font-size:1.35rem;margin:0 0 .5rem;}
.tr-stay__body > p:last-child{margin:0;color:var(--muted);font-size:.9rem;line-height:1.75;}

/* ---------------------------------------------------------------- included / not included */
.tr-includes{background:var(--mist,#EEF2EA);}
.tr-includes__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,4.5rem);}
.tr-includes h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:1.2rem;}
.tr-list{list-style:none;margin:0;padding:0;}
.tr-list li{position:relative;padding:.85rem 0 .85rem 1.7rem;border-bottom:1px solid rgba(27,48,34,.12);color:var(--ink-soft,#3B4A3F);font-size:.95rem;}
.tr-list li::before{position:absolute;left:0;top:.85rem;font-weight:700;}
.tr-list--yes li::before{content:'\2713';color:var(--gold-ink,#8A6627);}
.tr-list--no li::before{content:'\2715';color:#A0A59E;font-size:.85rem;}

/* ---------------------------------------------------------------- booking */
.tr-booking{background:var(--dawn,#F7F1E6);}
.tr-booking__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,6vw,4.5rem);align-items:start;}
.tr-booking__intro h2{margin-bottom:1.1rem;}
.tr-booking__intro p{color:#555E59;line-height:1.85;margin:0 0 1rem;}
.tr-booking__note{margin-top:1.4rem !important;padding:1.1rem 1.25rem;border-left:2px solid var(--gold);background:rgba(255,255,255,.6);font-size:.88rem;}
.tr-form{background:var(--paper,#fff);border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:0 20px 60px -30px rgba(27,48,34,.35);}
.tr-form__title{font-size:1.5rem;margin:0 0 1.5rem;}
.tr-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.tr-field{display:flex;flex-direction:column;gap:.4rem;margin:0;}
.tr-field--full{grid-column:1 / -1;}
.tr-field > span{color:var(--ink);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.tr-field input,.tr-field select,.tr-field textarea{width:100%;padding:.8rem .9rem;border:1px solid #D9D4C7;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:.92rem;}
.tr-field textarea{min-height:130px;resize:vertical;}
.tr-field input:focus,.tr-field select:focus,.tr-field textarea:focus{outline:2px solid rgba(197,160,89,.35);outline-offset:0;border-color:var(--gold);}
.tr-submit{width:100%;margin-top:1.3rem;padding:1rem 1.4rem;border:0;border-radius:0;background:var(--ink);color:#fff;cursor:pointer;
  font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .2s;}
.tr-submit:hover{background:#274539;}
.tr-form__sent{text-align:center;padding:2rem 1rem;}
.tr-form__sent h3{font-size:1.4rem;margin-bottom:.6rem;}
.tr-form__sent p{color:var(--muted);margin:0;}

/* ---------------------------------------------------------------- responsive */
@media (max-width:900px){
  .tr-split__grid,.tr-booking__grid,.tr-includes__grid{grid-template-columns:1fr;gap:2.2rem;}
  .tr-route__line{grid-template-columns:1fr;gap:1.5rem;}
  .tr-route__line::before{left:5px;right:auto;top:10px;bottom:10px;width:1px;height:auto;}
  .tr-route__line li{padding:0 0 0 2rem;}
  .tr-route__line li::before{top:5px;}
  .tr-day__top{grid-template-columns:70px 1fr;gap:1.2rem;}
  .tr-day__no{font-size:2.6rem;}
  .tr-day__content{margin-left:0;}
  .tr-day__details,.tr-day__details--2{grid-template-columns:1fr;}
  .tr-day__details > div{min-height:0;}
  .tr-stays__grid,.tr-stays__grid--2{grid-template-columns:1fr 1fr;}
  .tr-gallery--feature{grid-template-columns:1fr 1fr;grid-template-rows:280px 200px;}
  .tr-gallery--feature .tr-gallery__item:first-child{grid-column:1 / -1;grid-row:auto;}
  .tr-gallery--editorial{grid-template-columns:1fr 1fr;}
  .tr-gallery--editorial .tr-gallery__item:first-child{grid-column:1 / -1;}
  .tr-gallery--three{grid-template-columns:1fr 1fr;}
  .tr-gallery--three .tr-gallery__item:first-child{grid-column:1 / -1;}
}
@media (max-width:600px){
  .tr-hero{min-height:78vh;padding:5rem 0 3rem;}
  .tr-hero--veil::before{background:linear-gradient(0deg, rgba(255,255,255,calc(.92*var(--v))) 0%, rgba(255,255,255,calc(.75*var(--v))) 55%, rgba(255,255,255,calc(.4*var(--v))) 100%);}
  .tr-day__top{grid-template-columns:1fr;gap:.3rem;}
  .tr-day__content .tr-day__lead{font-size:1.15rem;}
  .tr-stays__grid,.tr-stays__grid--2{grid-template-columns:1fr;}
  .tr-gallery--feature,.tr-gallery--editorial,.tr-gallery--three{grid-template-columns:1fr;grid-template-rows:auto;}
  .tr-gallery--feature .tr-gallery__item,.tr-gallery--editorial .tr-gallery__item,.tr-gallery--three .tr-gallery__item{min-height:240px;}
  .tr-form__grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){.tr-gallery__item img,.tr-stay__img img{transition:none;}}

/* dark-shade hero (default): very slight overlay, bright white text */
.tr-hero--shade::before{background:
  linear-gradient(90deg, rgba(8,18,13,calc(.62*var(--v))) 0%, rgba(8,18,13,calc(.32*var(--v))) 50%, rgba(8,18,13,calc(.1*var(--v))) 100%),
  linear-gradient(0deg, rgba(8,18,13,calc(.55*var(--v))) 0%, rgba(8,18,13,0) 45%);}
.tr-hero--shade h1,.tr-hero--shade .tr-hero__text{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35);}
.tr-hero--shade .dz-eyebrow{color:#F6E3B4 !important;text-shadow:0 1px 10px rgba(0,0,0,.5);}
.tr-hero--shade .tr-pills li{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.12);}
/* no photo yet: keep the light look with dark text so the heading stays readable */
.tr-hero--noimg.tr-hero--shade::before{background:radial-gradient(circle at 18% 30%, rgba(197,160,89,.18), transparent 50%),repeating-radial-gradient(circle at 78% 70%, rgba(27,48,34,.06) 0 1px, transparent 1px 26px);}
.tr-hero--noimg.tr-hero--shade h1,.tr-hero--noimg.tr-hero--shade .tr-hero__text{color:var(--ink);text-shadow:none;}
.tr-hero--noimg.tr-hero--shade .tr-hero__text{color:var(--ink-soft,#3B4A3F);}
.tr-hero--noimg.tr-hero--shade .dz-eyebrow{color:var(--gold-ink,#8A6627) !important;text-shadow:none;}
.tr-hero--noimg.tr-hero--shade .tr-pills li{color:var(--ink);border-color:rgba(27,48,34,.22);background:rgba(255,255,255,.55);}
