/* ============================================================================
   /retreats hub + /retreats/<slug> single retreat.
   Hub hero reuses .pv-hero (prana-vinyasa.css) + prana-vinyasa.js slider.
   Single tabs reuse .page-tabs (media.css) + media.js. Brand: bone/terracotta.
   ========================================================================== */

/* ---------- BAUL QUOTE (hub) ---------- */
.rt-intro{background:var(--bone);color:var(--ink);text-align:center;
  padding:clamp(3.4rem,9vh,6.5rem) 0 clamp(1.6rem,4vh,3rem)}
.rt-intro__quote{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;
  font-size:clamp(1.55rem,4vw,2.8rem);line-height:1.3;color:var(--ink);max-width:22ch;margin:0 auto .7rem}
.rt-intro__by{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;
  letter-spacing:.22em;font-size:.7rem;color:#B5652C}
.pv-hero__slide{
  background-position: top;
}

/* ---------- RETREAT CARDS (hub) ---------- */
.rt-list{background:var(--bone);color:var(--ink);padding:clamp(1.4rem,4vh,2.6rem) 0 clamp(3rem,8vh,5.5rem)}
.rt-list + .rt-list{padding-top:0}                 /* second list section hugs the first */
.rt-list__h{font-family:"Cinzel",serif;font-weight:500;font-size:clamp(1.22rem,2.6vw,1.85rem);
  letter-spacing:.05em;text-align:center;color:#B5652C;margin:0 0 clamp(1.3rem,3.5vh,2.3rem)}
.rt-grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(.9rem,1.8vw,1.5rem)}
.rt-grid--two{grid-template-columns:repeat(2,1fr)}
.rt-card{position:relative;margin:0}
.rt-card__link{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(270px,40vh,400px);border-radius:18px;overflow:hidden;isolation:isolate;
  text-decoration:none;color:#fff;
  box-shadow:0 24px 54px -30px rgba(58,42,30,.6)}
.rt-card--wide .rt-card__link{min-height:clamp(320px,46vh,460px)}
.rt-card__link::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--bg);
  background-size:cover;background-position:center;transform:scale(1.04);transition:transform .7s var(--ease)}
.rt-card__link:hover::before{transform:scale(1.12)}
.rt-card__veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(8,7,11,.04) 0%,rgba(8,7,11,.16) 40%,rgba(8,7,11,.8) 100%);
  transition:background .4s var(--ease)}
.rt-card__link:hover .rt-card__veil{background:linear-gradient(180deg,rgba(8,7,11,.16) 0%,rgba(8,7,11,.38) 42%,rgba(8,7,11,.86) 100%)}
.rt-card__in{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:clamp(1.3rem,2.5vw,2rem)}
.rt-card__loc{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.2em;
  font-size:.6rem;color:#F2BE7E}
.rt-card__title{font-family:"Cinzel",serif;font-weight:600;font-size:clamp(1.3rem,2.4vw,1.85rem);
  line-height:1.16;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.rt-card__date{font-family:"Cormorant Garamond",serif;font-size:clamp(1.02rem,1.7vw,1.2rem);
  color:rgba(255,255,255,.85)}

/* ============================================================================
   SINGLE RETREAT  /retreats/<slug>
   ========================================================================== */
.rt-single{--nav-h:76px;background:var(--bone);color:var(--ink)}

/* ---------- hero ---------- */
.rt-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:82svh;overflow:hidden;background:var(--black)}
.rt-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translateZ(0)}
.rt-hero__veil{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,7,11,.58) 0%,rgba(8,7,11,.26) 26%,rgba(8,7,11,.34) 52%,rgba(8,7,11,.88) 100%)}
.rt-hero__in{position:relative;z-index:2;padding-top:calc(var(--nav-h) + 1.5rem);
  padding-bottom:clamp(2.6rem,7vh,5rem);color:#fff;max-width:46rem}
.rt-back{display:inline-flex;align-items:center;gap:.5em;color:rgba(255,255,255,.8);
  font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.64rem;
  text-decoration:none;margin-bottom:clamp(1rem,3vh,1.8rem);transition:color .3s var(--ease),gap .3s var(--ease)}
.rt-back:hover{color:#fff;gap:.8em}
.rt-hero__kick{color:#fff;margin-bottom:.5rem}
.rt-hero__h{font-family:"Cinzel",serif;font-weight:600;color:#fff;
  font-size:clamp(2.3rem,5.8vw,4.4rem);line-height:1.04;letter-spacing:.01em;margin:.1em 0 .35em}
.rt-hero__tag{font-family:"Cormorant Garamond",serif;font-size:clamp(1.2rem,2.2vw,1.6rem);
  line-height:1.4;color:rgba(255,255,255,.9);margin-bottom:1.4rem;max-width:34rem}
.rt-hero__meta{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin:0;padding:0}
.rt-hero__meta li{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.14em;
  font-size:.68rem;color:rgba(255,255,255,.92)}
.rt-hero__badge{color:#0f0b07!important;background:#F2BE7E;border-radius:999px;padding:.35em .9em;letter-spacing:.12em}
.rt-hero__cue{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.85);animation:rt-bob 2.4s var(--ease) infinite}
@keyframes rt-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}

/* ---------- HERO EXPERIMENT: centred composition (mockup style) ---------- */
.rt-hero{justify-content:center}                 /* vertical-centre the centred variant */
.rt-hero__in--center{max-width:60rem;margin-inline:auto;text-align:center;
  padding-bottom:clamp(3.2rem,9vh,6rem)}
.rt-hero__in--center .rt-back{display:inline-flex;margin:0 auto clamp(1rem,3vh,1.6rem)}
.rt-hero__in--center .rt-hero__tag{margin-inline:auto;color:rgba(255,255,255,.92)}
.rt-hero__date{font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(1.02rem,1.8vw,1.3rem);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.92);margin:.3rem 0 1.3rem;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.rt-hero__facts{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.55rem;margin:0 0 1.7rem;padding:0}
.rt-hero__fact{display:inline-flex;align-items:center;gap:.55em;
  font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;
  color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:999px;padding:.55em 1.05em}
.rt-hero__ficon{display:inline-flex;width:14px;height:14px;color:#F2BE7E}
.rt-hero__ficon svg{width:100%;height:100%}
.rt-hero__fact--badge{background:#F2BE7E;border-color:#F2BE7E;color:#0f0b07;letter-spacing:.14em}
.rt-hero__cta-row{display:flex;justify-content:center;align-items:center;gap:.85rem;flex-wrap:wrap}
.rt-hero__book{display:inline-block;padding:1.05em 2.5em;border-radius:999px;
  font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;
  color:#0f0b07;background:#F2BE7E;text-decoration:none;
  box-shadow:0 16px 38px -16px rgba(242,190,126,.85);
  transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.rt-hero__book:hover{background:#f6cd95;color:#0f0b07;transform:translateY(-2px);box-shadow:0 22px 46px -16px rgba(242,190,126,.95)}
.rt-hero__save{width:52px;height:52px;flex:0 0 auto;border-radius:999px;display:inline-flex;
  align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.3);cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.rt-hero__save svg{width:22px;height:22px;transition:fill .2s var(--ease)}
.rt-hero__save:hover{background:rgba(255,255,255,.2);color:#F2BE7E;transform:translateY(-2px)}
.rt-hero__save.is-saved{background:#F2BE7E;border-color:#F2BE7E;color:#0f0b07}
.rt-hero__save.is-saved svg{fill:currentColor}

/* ---------- tabs (page-tabs from media.css; brand restyle here) ---------- */
.rt-tabs{background:var(--bone);padding:clamp(2rem,5vh,3.5rem) 0 clamp(3rem,8vh,5.5rem)}
.rt-tabs .page-tabs{max-width:62rem;margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.rt-tabs .tab-links ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;list-style:none;margin:0 0 clamp(1.6rem,4vh,2.6rem);padding:0;
  border-bottom:1px solid rgba(58,42,30,.16)}
.rt-tabs .tab-links li{margin:0}
.rt-tabs .tab-links a{display:inline-block;font-family:"Julius Sans One",sans-serif;text-transform:uppercase;
  letter-spacing:.14em;font-size:.66rem;color:rgba(58,42,30,.6);text-decoration:none;
  background:none;border:0;border-radius:0;border-bottom:2px solid transparent;box-shadow:none;
  padding:.7em 1.05em;transition:color .25s var(--ease),border-color .25s var(--ease)}
.rt-tabs .tab-links a:hover,.rt-tabs .tab-links a:focus-visible{background:none;color:var(--ink);border-color:transparent;border-bottom-color:rgba(181,101,44,.45)}
.rt-tabs .tab-links li.selected a,.rt-tabs .tab-links li.selected a:hover{background:none;color:#B5652C;border-color:transparent;border-bottom-color:#B5652C;box-shadow:none}
.rt-tabs .tab-content{display:none}
.rt-tabs .tab-content.tab-active{display:block;animation:rt-fade .4s var(--ease)}
@keyframes rt-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rt-tabs .headings{font-family:"Cinzel Decorative",serif;font-weight:400;color:#DC915B;
  font-size:clamp(1.4rem,3vw,2.1rem);text-align:center;letter-spacing:.02em;margin:0 0 clamp(1.2rem,3vh,2rem)}

/* tab body copy — Cormorant Garamond for readable long-form prose (site's body serif) */
.rt-tab{font-family:"Cormorant Garamond",Georgia,serif;color:#2a2018;max-width:44rem;margin-inline:auto;text-align:left}
.rt-tab p{font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.62;margin:0 0 1.05rem}
.rt-tab strong{font-weight:600;color:#1a1410}
.rt-tab ul{margin:0 0 1.4rem;padding-left:1.4em;list-style:disc}
.rt-tab li{font-size:clamp(1.06rem,1.6vw,1.24rem);line-height:1.5;margin-bottom:.5rem}
.rt-tab li::marker{color:#C9924E}
.rt-tab a{color:#B5652C;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.rt-tab a:hover{color:#C95122}
.rt-tab__img{margin:0 0 1.6rem;line-height:0}
.rt-tab__img img{display:block;width:100%;height:auto;border-radius:14px}
/* inline content images (verbatim from the archive) — centred, responsive */
.rt-tab__im{display:block;margin:1.4rem auto;max-width:100%;height:auto;border-radius:12px;
  box-shadow:0 18px 42px -28px rgba(58,42,30,.55)}
.rt-tab p > .rt-tab__im,.rt-tab strong > .rt-tab__im{margin:1.4rem auto}

/* ---------- branded "Book this retreat" button (replaces the old purple image) ---------- */
.rt-tab .rt-book-btn{display:inline-block;margin:1.3rem auto;padding:.85em 2.1em;border-radius:999px;
  font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;
  color:#fff;background:#B5652C;text-decoration:none;border:0;
  box-shadow:0 14px 30px -14px rgba(181,101,44,.7);transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.rt-tab .rt-book-btn:hover{background:#9c5526;color:#fff;transform:translateY(-2px);box-shadow:0 18px 38px -14px rgba(181,101,44,.8)}

/* ---------- GALLERY (Greece) — grid of thumbs → lightbox ---------- */
/* .rt-tab prefix beats `.rt-tab ul{list-style:disc}` so no list bullets bleed through */
.rt-tab .rt-gallery{list-style:none;margin:.4rem 0 0;padding-left:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem}
.rt-tab .rt-gallery__item{margin:0;list-style:none}
.rt-gallery__a{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:12px;
  cursor:zoom-in;box-shadow:0 14px 34px -24px rgba(58,42,30,.55)}
.rt-gallery__a img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s var(--ease)}
.rt-gallery__a:hover img{transform:scale(1.07)}
@media (max-width:520px){
  .rt-tab .rt-gallery{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================================
   CLOSING CTA — self-contained so it renders on the hub too (same as /about)
   ========================================================================== */
.ab-final{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black)}
.ab-final__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-final__veil{position:absolute;inset:0;background:linear-gradient(180deg,var(--black) 0%,rgba(8,7,11,.7) 16%,rgba(8,7,11,.42) 42%,rgba(8,7,11,.72) 74%,#08070b 100%)}
.ab-final__in{position:relative;z-index:2;text-align:center;color:#fff;padding-top:10vh;padding-bottom:10vh}
.ab-final__logo{margin:0 auto 12px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.ab-final .kicker{color:rgba(255,255,255,.92);font-weight:600;font-size:.8rem;letter-spacing:.3em;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.ab-final__h{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.1rem,5.4vw,4rem);line-height:1.1;margin-top:1rem;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.ab-final__sub{margin-top:1.1rem;font-weight:300;font-size:clamp(.95rem,1.5vw,1.12rem);letter-spacing:.04em;color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.ab-final__cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2rem}
.ab-curve{line-height:0;margin-top:-1px;margin-bottom:-1px;background:#08070b}
.ab-curve svg{display:block;width:100%;height:clamp(66px,7.6vw,120px)}

/* ---------- responsive ---------- */
@media (max-width:760px){
  .rt-grid--two{grid-template-columns:1fr}
  .rt-hero__in{max-width:none}
}
@media (max-width:520px){
  .rt-grid{grid-template-columns:1fr}
  .rt-tabs .tab-links ul{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .rt-tabs .tab-links a{white-space:nowrap}
}
