/* ===================================================================
   BLOOM — trip page, registration, payment and confirmation.
   Loads after bloom-trip.css and uses the same palette and type.
   Everything here is RTL-first and mobile-first-safe.
   =================================================================== */
:root{
  --lt-cream:#FDF9F5; --lt-sand:#F7EFE7; --lt-blush:#FBEDE7; --lt-peach:#FDF3EE;
  --lt-coral:#D4785A; --lt-coral-ink:#9C4A28; --lt-olive:#7B8465;
  --lt-ink:#211913; --lt-body:#372E27; --lt-quiet:#63584F;
  --lt-line:rgba(33,25,19,.11); --lt-line2:rgba(212,120,90,.28);
  --lt-serif:'Frank Ruhl Libre',Georgia,serif;
  --lt-sans:Assistant,-apple-system,'Segoe UI',sans-serif;
  --lt-shadow:0 18px 50px rgba(33,25,19,.09);
}

.lt{direction:rtl;text-align:right;background:#fff;overflow-x:clip}
.lt *{box-sizing:border-box}
.lt-wrap{width:min(1180px,100% - 56px);margin-inline:auto}
.lt-wrap--mid{width:min(920px,100% - 56px);margin-inline:auto}
.lt-wrap--narrow{width:min(780px,100% - 56px);margin-inline:auto}
.lt-center{text-align:center}
.lt-sec{padding:92px 0}

/* ---------- type ---------- */
.lt-h2{font-family:var(--lt-serif);font-weight:400;color:var(--lt-ink);
  font-size:clamp(29px,3.4vw,46px);line-height:1.2;letter-spacing:-.01em;margin:0 0 26px}
.lt-h2.lt-center{margin-bottom:34px}
.lt-h2.lt-center::after{content:"";display:block;width:58px;height:2px;background:var(--lt-coral);
  border-radius:2px;margin:22px auto 0}
.lt-h3{font-family:var(--lt-serif);font-weight:400;color:var(--lt-ink);font-size:24px;line-height:1.3;margin:0 0 14px}
.lt-prose{font-family:var(--lt-sans);font-size:19px;line-height:1.95;color:var(--lt-body)}
.lt-prose p{margin:0 0 1.1em}
.lt-prose p:last-child{margin-bottom:0}
.lt-prose--lead{font-size:20.5px;line-height:2}
.lt-note{font-family:var(--lt-sans);font-size:17px;line-height:1.8;color:var(--lt-quiet);
  margin:38px auto 0;max-width:660px}

/* ---------- buttons ---------- */
.lt-btn{display:inline-block;background:var(--lt-coral);color:#fff;border:1px solid var(--lt-coral);
  border-radius:100px;padding:16px 44px;font-family:var(--lt-sans);font-size:18px;font-weight:600;
  text-decoration:none;cursor:pointer;
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.lt-btn:hover,.lt-btn:focus-visible{background:var(--lt-coral-ink);border-color:var(--lt-coral-ink);
  color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(156,74,40,.26)}
.lt-btn--big{padding:19px 56px;font-size:20px}
.lt-btn--hero{margin-top:32px;font-size:19px;padding:18px 50px;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.lt-btn--ghost{background:transparent;color:var(--lt-coral-ink);border-color:var(--lt-line2)}
.lt-btn--ghost:hover{background:var(--lt-peach);color:var(--lt-coral-ink);border-color:var(--lt-coral)}

/* ---------- 1. hero ---------- */
.lt-hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;
  justify-content:center;overflow:hidden;background:var(--lt-ink)}
.lt-hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;
  transform:scale(1.04);animation:lt-drift 22s ease-out forwards}
@keyframes lt-drift{to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.lt-hero-bg{animation:none;transform:none}}
.lt-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(20,14,10,.74) 0%,rgba(20,14,10,.34) 42%,rgba(20,14,10,.16) 100%)}
.lt-hero-in{position:relative;z-index:2;width:min(880px,100% - 48px);text-align:center;
  color:#fff;padding:0 0 96px}
.lt-hero-kick{margin:0 0 16px;font-family:var(--lt-sans);font-size:15px;font-weight:700;
  letter-spacing:.22em;text-transform:none;color:rgba(255,255,255,.9)}
.lt-hero-title{margin:0;font-family:var(--lt-serif);font-weight:400;color:#fff;
  font-size:clamp(38px,6.2vw,78px);line-height:1.08;letter-spacing:-.02em;
  text-shadow:0 2px 30px rgba(0,0,0,.32)}
.lt-hero-dates{margin:20px 0 0;font-family:var(--lt-sans);font-size:clamp(19px,2.2vw,25px);
  font-weight:600;color:#fff}
.lt-hero-dates::before,.lt-hero-dates::after{content:"";display:inline-block;width:26px;height:1px;
  background:rgba(255,255,255,.55);vertical-align:middle;margin:0 14px}
.lt-hero-meta{margin:12px 0 0;font-family:var(--lt-sans);font-size:17px;color:rgba(255,255,255,.86)}
.lt-hero-cue{position:absolute;bottom:34px;inset-inline-start:50%;transform:translateX(50%);
  width:1px;height:44px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.8));z-index:2}

/* ---------- 2. fact bar ---------- */
.lt-bar{background:var(--lt-sand);border-bottom:1px solid var(--lt-line)}
.lt-bar-in{display:flex;flex-wrap:wrap;justify-content:center}
.lt-bar-cell{flex:1 1 165px;text-align:center;padding:26px 16px}
.lt-bar-cell + .lt-bar-cell{border-inline-start:1px solid var(--lt-line2)}
.lt-bar-k{display:block;font-family:var(--lt-sans);font-size:13.5px;font-weight:700;
  letter-spacing:.14em;color:var(--lt-coral-ink);margin-bottom:7px}
.lt-bar-v{display:block;font-family:var(--lt-sans);font-size:18.5px;font-weight:600;
  color:var(--lt-ink);line-height:1.45}

/* ---------- 3. rhythm ---------- */
.lt-sec--rhythm{padding:100px 0 88px}
.lt-sec--rhythm .lt-prose{text-align:center}
.lt-marks{list-style:none;margin:52px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.lt-mark{display:flex;align-items:flex-start;gap:16px;background:var(--lt-peach);
  border:1px solid var(--lt-line2);border-radius:10px;padding:22px 24px;text-align:right}
.lt-mark svg{flex:0 0 auto;width:26px;height:26px;color:var(--lt-coral);margin-top:2px}
.lt-mark b{display:block;font-family:var(--lt-sans);font-size:17.5px;font-weight:700;color:var(--lt-ink)}
.lt-mark span{display:block;font-family:var(--lt-sans);font-size:16.5px;line-height:1.7;
  color:var(--lt-body);margin-top:4px}

/* ---------- 4. full-bleed band ---------- */
.lt-band{line-height:0;background:var(--lt-sand)}
.lt-band img{width:100%;height:clamp(260px,42vw,520px);object-fit:cover;display:block;
  max-height:none!important;border-radius:0!important}

/* ---------- 5. technical cards ---------- */
.lt-sec--tech{background:var(--lt-cream)}
.lt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.lt-card{background:#fff;border:1px solid var(--lt-line);border-radius:12px;padding:34px 30px 32px;
  transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.lt-card:hover{border-color:var(--lt-line2);transform:translateY(-3px);box-shadow:var(--lt-shadow)}
.lt-card-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:50%;background:var(--lt-peach);color:var(--lt-coral);margin-bottom:18px}
.lt-card-ic svg{width:26px;height:26px}
.lt-card-h{margin:0 0 12px;font-family:var(--lt-serif);font-weight:400;font-size:25px;color:var(--lt-ink)}
.lt-card-b{font-family:var(--lt-sans);font-size:17.5px;line-height:1.85;color:var(--lt-body)}
.lt-card-b p{margin:0 0 .9em}
.lt-card-b p:last-child{margin-bottom:0}

/* ---------- 6. split (stay / leader) ---------- */
.lt-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.lt-split--tight{gap:44px;grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}
.lt-split-media{line-height:0;border-radius:14px;overflow:hidden;background:var(--lt-blush)}
.lt-split-media img{width:100%;height:clamp(300px,38vw,470px);object-fit:cover;display:block;
  max-height:none!important;border-radius:0!important}
.lt-split-media--portrait img{height:clamp(280px,32vw,420px);object-position:50% 32%}
.lt-sec--leader{background:var(--lt-cream)}
.lt-sec--leader .lt-prose{font-size:18.5px}

/* ---------- 6b. "מי אני?" on the home page ----------
   Deliberately smaller than the trip-page version: on the home page this is an
   introduction between other blocks, not a section of its own. */
.lt-sec--about{background:transparent;padding:54px 0}
.lt-sec--about .lt-split--tight{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:38px}
.lt-sec--about .lt-split-media{border-radius:12px}
.lt-sec--about .lt-split-media--portrait img{height:clamp(210px,19vw,290px)}
.lt-sec--about .lt-h2{font-size:clamp(23px,2.3vw,31px);margin-bottom:16px}
.lt-sec--about .lt-prose{font-size:16.5px;line-height:1.85}
.lt-about-cta{margin:22px 0 0}
.lt-sec--about .lt-btn{padding:12px 30px;font-size:16px}

/* ---------- 7. day timeline ---------- */
.lt-sec--plan{background:var(--lt-peach)}
.lt-days{list-style:none;margin:0;padding:0;position:relative}
.lt-days::before{content:"";position:absolute;top:14px;bottom:14px;inset-inline-start:22px;
  width:2px;background:linear-gradient(var(--lt-line2),rgba(212,120,90,.12))}
.lt-day{position:relative;display:flex;gap:26px;padding:0 0 34px}
.lt-day:last-child{padding-bottom:0}
.lt-day-mark{flex:0 0 46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--lt-coral);
  display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.lt-day-mark span{font-family:var(--lt-sans);font-size:18px;font-weight:700;color:var(--lt-coral-ink)}
.lt-day-body{flex:1 1 auto;background:#fff;border:1px solid var(--lt-line);border-radius:12px;
  padding:24px 28px 26px;transition:border-color .25s ease,box-shadow .25s ease}
.lt-day-body:hover{border-color:var(--lt-line2);box-shadow:var(--lt-shadow)}
.lt-day-h{margin:0 0 10px;font-family:var(--lt-serif);font-weight:400;font-size:24px;color:var(--lt-ink);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}
.lt-day-h em{font-family:var(--lt-sans);font-style:normal;font-size:15px;font-weight:700;
  letter-spacing:.06em;color:var(--lt-coral-ink);background:var(--lt-peach);
  border-radius:100px;padding:5px 14px}
.lt-day-t{margin:0;font-family:var(--lt-sans);font-size:17.5px;line-height:1.9;color:var(--lt-body)}

/* ---------- 8. gallery ---------- */
.lt-sec--gal{padding:0 0 92px}
.lt-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lt-gal-i{margin:0;line-height:0;border-radius:12px;overflow:hidden;background:var(--lt-blush)}
.lt-gal-i img{width:100%;height:250px;object-fit:cover;display:block;
  max-height:none!important;border-radius:0!important;transition:transform .6s ease}
.lt-gal-i:hover img{transform:scale(1.04)}
.lt-gal-i img{height:clamp(210px,19vw,268px)}

/* ---------- 9. price & terms ---------- */
.lt-sec--pay{background:var(--lt-cream)}
.lt-bigprice{margin:0 0 40px;text-align:center;font-family:var(--lt-serif);font-weight:400;
  font-size:clamp(24px,3vw,34px);line-height:1.5;color:var(--lt-ink)}
.lt-inc{background:#fff;border:1px solid var(--lt-line);border-radius:12px;padding:30px 32px;margin:0 0 24px}
.lt-ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 26px}
.lt-ul li{position:relative;padding-inline-start:28px;font-family:var(--lt-sans);font-size:17.5px;
  line-height:1.7;color:var(--lt-body)}
.lt-ul li::before{content:"";position:absolute;inset-inline-start:0;top:9px;width:14px;height:8px;
  border-inline-start:2px solid var(--lt-olive);border-bottom:2px solid var(--lt-olive);
  transform:rotate(-45deg)}
.lt-ul.is-no li::before{border:0;top:11px;width:12px;height:2px;background:var(--lt-quiet);transform:none}

.lt-boxed{background:#fff;border:1px solid var(--lt-line);border-inline-start:3px solid var(--lt-coral);
  border-radius:12px;padding:26px 30px;font-size:17.5px;line-height:1.9}

.lt-sec--terms{padding-top:0;background:var(--lt-cream)}
.lt-term{background:#fff;border:1px solid var(--lt-line);border-radius:12px;
  padding:30px 32px 32px;margin:0 0 20px}
.lt-term header{display:flex;align-items:center;gap:14px;margin:0 0 14px}
.lt-term header svg{width:26px;height:26px;color:var(--lt-coral);flex:0 0 auto}
.lt-term header h3{margin:0;font-family:var(--lt-serif);font-weight:400;font-size:25px;color:var(--lt-ink)}
.lt-term .lt-prose{font-size:17.5px;line-height:1.9}

.lt-acc{margin-top:6px}
.lt-acc-i{border:1px solid var(--lt-line);border-radius:12px;background:#fff;margin:0 0 12px;overflow:hidden}
.lt-acc-i summary{list-style:none;cursor:pointer;padding:22px 28px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;font-family:var(--lt-serif);font-size:22px;color:var(--lt-ink)}
.lt-acc-i summary::-webkit-details-marker{display:none}
.lt-acc-i summary::after{content:"";flex:0 0 auto;width:10px;height:10px;
  border-inline-end:2px solid var(--lt-coral);border-bottom:2px solid var(--lt-coral);
  transform:rotate(45deg);transition:transform .25s ease;margin-top:-4px}
.lt-acc-i[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.lt-acc-i summary:hover{background:var(--lt-peach)}
.lt-acc-b{padding:0 28px 26px;font-size:17px;line-height:1.9}

/* ---------- 11a. what past travellers wrote ---------- */
.lt-sec--says{background:var(--lt-peach);padding:88px 0}
.lt-says-box{position:relative}
.lt-says-box.is-clipped{max-height:920px;overflow:hidden}
.lt-says-box.is-clipped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:190px;
  background:linear-gradient(rgba(253,243,238,0),var(--lt-peach) 88%);pointer-events:none}
.lt-says{columns:3;column-gap:22px}
.lt-say{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;
  margin:0 0 22px;background:#fff;border:1px solid var(--lt-line);
  border-radius:18px 18px 18px 4px;padding:22px 24px 18px;
  box-shadow:0 4px 16px rgba(33,25,19,.05)}
.lt-say-t{margin:0;font-family:var(--lt-sans);font-size:17px;line-height:1.72;color:var(--lt-body)}
.lt-say-c{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--lt-line);
  font-family:var(--lt-sans);font-size:15.5px;font-weight:700;color:var(--lt-coral-ink)}
.lt-say-c::before{content:"— ";opacity:.55}
/* An unfilled example can never be mistaken for a real message. */
.lt-say.is-demo{background:#FFFBF2;border:1px dashed #E0C489}
.lt-say-flag{display:block;margin:0 0 12px;font-family:var(--lt-sans);font-size:13px;
  font-weight:700;letter-spacing:.04em;color:#8A6210}
.lt-sec--says .lt-btn{margin-top:30px}

/* ---------- 11b. the invitation ---------- */
.lt-sec--invite{background:var(--lt-blush);text-align:center;padding:84px 0}
.lt-invite-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
  border-radius:50%;background:#fff;color:var(--lt-coral);margin:0 0 26px;
  box-shadow:0 6px 20px rgba(33,25,19,.07)}
.lt-invite-mark svg{width:26px;height:26px}
.lt-invite{font-family:var(--lt-serif);font-weight:400;color:var(--lt-ink);
  font-size:clamp(25px,3.1vw,38px);line-height:1.5;letter-spacing:-.01em}
.lt-invite p{margin:0 0 .45em}
.lt-invite p:last-child{margin-bottom:0}
.lt-invite p + p{font-family:var(--lt-sans);font-size:clamp(18px,1.9vw,21px);
  line-height:1.75;color:var(--lt-body);margin-top:18px}
.lt-sec--invite .lt-btn{margin-top:36px}

/* ---------- registration closed ---------- */
.lt-full{display:inline-block;margin:26px 0 0;padding:13px 30px;border-radius:100px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.5);color:#fff;
  font-family:var(--lt-sans);font-size:17.5px;font-weight:600}
.lt-full--ink{background:#EFEAE5;border-color:var(--lt-line);color:var(--lt-quiet)}
.lt-full-note{margin:14px auto 0;max-width:520px;font-family:var(--lt-sans);font-size:16px;
  line-height:1.7;color:var(--lt-quiet)}

/* ---------- 12. price card ---------- */
.lt-sec--price{background:var(--lt-sand)}
.lt-price{background:#fff;border:1px solid var(--lt-line2);border-radius:16px;overflow:hidden;
  box-shadow:0 24px 60px rgba(33,25,19,.10)}
.lt-price-head{background:var(--lt-coral);color:#fff;text-align:center;padding:26px 28px}
.lt-price-brand{display:block;font-family:var(--lt-serif);font-size:clamp(24px,3vw,32px);
  letter-spacing:.02em}
.lt-price-brand i{font-style:normal;opacity:.6;margin:0 12px;font-weight:300}
.lt-price-dates{display:block;margin-top:8px;font-family:var(--lt-sans);font-size:17.5px;
  font-weight:500;opacity:.95}
.lt-price-body{padding:40px 32px 44px;text-align:center}
.lt-price-meta{margin:0;font-family:var(--lt-sans);font-size:17px;font-weight:600;
  letter-spacing:.05em;color:var(--lt-quiet)}
.lt-price-v{margin:18px 0 0;font-family:var(--lt-serif);font-weight:400;
  font-size:clamp(44px,6vw,66px);line-height:1.05;color:var(--lt-ink)}
.lt-price-v span{display:block;margin-top:8px;font-family:var(--lt-sans);font-size:18px;
  font-weight:500;color:var(--lt-quiet)}
.lt-price-pay{margin:16px 0 0;font-family:var(--lt-sans);font-size:18px;color:var(--lt-body)}
.lt-price-body .lt-btn{margin-top:30px}
.lt-price-note{margin:18px 0 0;font-family:var(--lt-sans);font-size:16px;color:var(--lt-quiet)}
.lt-sec--more{background:var(--lt-cream)}

/* ===================================================================
   Registration · payment · confirmation
   =================================================================== */
.bsx{direction:rtl;text-align:right;font-family:var(--lt-sans);color:var(--lt-body)}
.bsx-wrap{width:min(880px,100% - 40px);margin-inline:auto;padding:56px 0 84px}
.bsx-wrap--wide{width:min(1040px,100% - 40px)}
.bsx h2{font-family:var(--lt-serif);font-weight:400;color:var(--lt-ink);
  font-size:clamp(26px,3vw,36px);line-height:1.25;margin:0 0 8px}
.bsx-sub{margin:0 0 30px;font-size:18px;line-height:1.8;color:var(--lt-quiet)}

/* steps */
.bsx-steps{display:flex;gap:10px;margin:0 0 30px;list-style:none;padding:0}
.bsx-steps li{flex:1;text-align:center;padding:13px 8px;border-radius:100px;
  border:1px solid var(--lt-line);background:#fff;font-size:15.5px;font-weight:600;color:var(--lt-quiet)}
.bsx-steps .is-on{background:var(--lt-coral);border-color:var(--lt-coral);color:#fff}
.bsx-steps .is-done{background:var(--lt-peach);border-color:var(--lt-line2);color:var(--lt-coral-ink)}

/* trip summary strip */
.bsx-trip{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:0;
  background:#fff;border:1px solid var(--lt-line);border-radius:14px;overflow:hidden;margin:0 0 26px}
.bsx-trip-img{line-height:0}
.bsx-trip-img img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;
  max-height:none!important;border-radius:0!important}
.bsx-trip-txt{padding:26px 30px}
.bsx-kick{margin:0 0 6px;font-size:13.5px;font-weight:700;letter-spacing:.14em;color:var(--lt-coral-ink)}
.bsx-trip-title{margin:0 0 14px;font-family:var(--lt-serif);font-weight:400;font-size:29px;
  line-height:1.25;color:var(--lt-ink)}
.bsx-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 30px}
.bsx-facts li{display:flex;flex-direction:column}
.bsx-facts span{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--lt-coral-ink)}
.bsx-facts b{font-size:17.5px;color:var(--lt-ink);font-weight:600}
.bsx-back{margin:16px 0 0}
.bsx-back a{color:var(--lt-coral-ink);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}

/* form */
.bsx-panel{background:#fff;border:1px solid var(--lt-line);border-radius:14px;padding:38px 40px 40px}
.bsx-legend{margin:0 0 6px;font-family:var(--lt-serif);font-weight:400;font-size:26px;color:var(--lt-ink)}
.bsx-req{margin:0 0 26px;font-size:15.5px;color:var(--lt-quiet)}
.bsx-req i{color:var(--lt-coral);font-style:normal;font-weight:700}
.bsx-field{margin:0 0 24px}
.bsx-label{display:block;margin:0 0 8px;font-size:17.5px;font-weight:600;color:var(--lt-ink);line-height:1.55}
.bsx-label i{color:var(--lt-coral);font-style:normal;margin-inline-start:2px}
.bsx-hint{display:block;margin:4px 0 0;font-size:15px;font-weight:400;color:var(--lt-quiet)}
.bsx input[type=text],.bsx input[type=tel],.bsx input[type=email],.bsx input[type=number],.bsx textarea{
  width:100%;padding:14px 16px;border:1px solid var(--lt-line);border-radius:10px;background:#fff;
  font-family:var(--lt-sans);font-size:17.5px;color:var(--lt-ink);line-height:1.6;
  transition:border-color .2s ease,box-shadow .2s ease}
.bsx textarea{min-height:104px;resize:vertical}
.bsx input:focus,.bsx textarea:focus{outline:none;border-color:var(--lt-coral);
  box-shadow:0 0 0 3px rgba(212,120,90,.16)}
.bsx input:invalid:not(:placeholder-shown){border-color:#C97A5E}
.bsx-check{display:flex;align-items:flex-start;gap:12px;background:var(--lt-peach);
  border:1px solid var(--lt-line2);border-radius:10px;padding:18px 20px;margin:28px 0 0;cursor:pointer}
.bsx-check input{accent-color:var(--lt-coral);width:20px;height:20px;flex:0 0 auto;margin-top:2px}
.bsx-check span{font-size:17px;line-height:1.65;color:var(--lt-ink)}
.bsx-check a{color:var(--lt-coral-ink);font-weight:600}
.bsx-submit{display:block;width:100%;margin:28px 0 0;background:var(--lt-coral);color:#fff;
  border:1px solid var(--lt-coral);border-radius:100px;padding:18px 30px;font-family:var(--lt-sans);
  font-size:19px;font-weight:600;cursor:pointer;
  transition:background-color .25s ease,transform .2s ease,box-shadow .25s ease}
.bsx-submit:hover{background:var(--lt-coral-ink);border-color:var(--lt-coral-ink);transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(156,74,40,.25)}
.bsx-submit[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none}
.bsx-foot{margin:16px 0 0;font-size:15.5px;line-height:1.7;color:var(--lt-quiet);text-align:center}
.bsx-err{background:#FCEDE8;border:1px solid #E3A88F;color:#8E3D1D;border-radius:10px;
  padding:16px 20px;margin:0 0 22px;font-size:17px;font-weight:600}
.bsx-terms{margin:30px 0 0}
.bsx-terms h3{font-family:var(--lt-serif);font-weight:400;font-size:23px;color:var(--lt-ink);margin:0 0 10px}
.bsx-termsbox{max-height:230px;overflow-y:auto;background:var(--lt-cream);border:1px solid var(--lt-line);
  border-radius:10px;padding:20px 24px;font-size:16px;line-height:1.85}
.bsx-termsbox h4{margin:18px 0 6px;font-size:16px;font-weight:700;color:var(--lt-coral-ink)}
.bsx-termsbox h4:first-child{margin-top:0}
.bsx-termsbox p{margin:0 0 .9em}
.bsx-empty{text-align:center;padding:70px 20px;font-size:19px}

/* the "details received" flash between form and payment */
.bsx-flash{position:fixed;inset:0;z-index:9999;background:var(--lt-cream);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;
  animation:bsx-out .5s ease 2.4s forwards}
.bsx-flash-in{max-width:560px}
.bsx-flash-mark{width:76px;height:76px;margin:0 auto 26px;border-radius:50%;background:var(--lt-coral);
  display:flex;align-items:center;justify-content:center;
  animation:bsx-pop .5s cubic-bezier(.2,1.3,.5,1) both}
.bsx-flash-mark svg{width:36px;height:36px;color:#fff}
.bsx-flash-t{margin:0;font-family:var(--lt-serif);font-weight:400;font-size:clamp(25px,3.6vw,36px);
  line-height:1.35;color:var(--lt-ink)}
.bsx-flash-s{margin:14px 0 0;font-family:var(--lt-sans);font-size:18px;color:var(--lt-quiet)}
.bsx-dots{display:inline-flex;gap:5px;margin-top:22px}
.bsx-dots i{width:7px;height:7px;border-radius:50%;background:var(--lt-coral);opacity:.35;
  animation:bsx-blink 1.1s infinite}
.bsx-dots i:nth-child(2){animation-delay:.16s}
.bsx-dots i:nth-child(3){animation-delay:.32s}
@keyframes bsx-blink{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes bsx-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes bsx-out{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){
  .bsx-flash{animation-delay:1.4s}
  .bsx-flash-mark{animation:none}
}

/* ---------- demo payment ---------- */
.bsx-demo{display:inline-flex;align-items:center;gap:8px;background:#FFF6E8;border:1px solid #E8C68C;
  color:#8A6210;border-radius:100px;padding:8px 18px;font-size:14.5px;font-weight:700;margin:0 0 22px}
.bsx-demo::before{content:"";width:8px;height:8px;border-radius:50%;background:#D9A13B}
.bsx-pay{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;align-items:start}
.bsx-order{background:#fff;border:1px solid var(--lt-line);border-radius:14px;padding:30px 32px;
  position:sticky;top:24px}
.bsx-order h3{margin:0 0 18px;font-family:var(--lt-serif);font-weight:400;font-size:24px;color:var(--lt-ink)}
.bsx-rows{list-style:none;margin:0;padding:0}
.bsx-rows li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;font-size:17px;
  border-bottom:1px solid var(--lt-line)}
.bsx-rows li:last-child{border-bottom:0}
.bsx-rows span{color:var(--lt-quiet)}
.bsx-rows b{color:var(--lt-ink);font-weight:600;text-align:start}
.bsx-total{margin:18px 0 0;padding:20px 0 0;border-top:2px solid var(--lt-line2);
  display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.bsx-total span{font-size:17px;font-weight:600;color:var(--lt-ink)}
.bsx-total b{font-family:var(--lt-serif);font-weight:400;font-size:38px;color:var(--lt-ink);line-height:1}
.bsx-plan{margin:16px 0 0;background:var(--lt-peach);border-radius:10px;padding:16px 18px;
  font-size:16.5px;line-height:1.7;color:var(--lt-body)}
.bsx-plan b{color:var(--lt-coral-ink)}

.bsx-cardbox{background:#fff;border:1px solid var(--lt-line);border-radius:14px;padding:30px 32px 34px}
.bsx-cardbox h3{margin:0 0 6px;font-family:var(--lt-serif);font-weight:400;font-size:24px;color:var(--lt-ink)}
.bsx-cardbox .bsx-sub{margin-bottom:22px;font-size:16px}
.bsx-brands{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.bsx-brands span{border:1px solid var(--lt-line);border-radius:6px;padding:6px 12px;font-size:13px;
  font-weight:700;letter-spacing:.06em;color:var(--lt-quiet);background:var(--lt-cream)}
.bsx-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bsx-card-grid .is-full{grid-column:1 / -1}
.bsx-card-f label{display:block;margin:0 0 7px;font-size:15.5px;font-weight:600;color:var(--lt-ink)}
.bsx-card-f input{width:100%;padding:13px 15px;border:1px dashed var(--lt-line2);border-radius:10px;
  background:var(--lt-cream);font-family:var(--lt-sans);font-size:17px;color:var(--lt-quiet);
  letter-spacing:.04em}
.bsx-card-f input:focus{outline:none}
.bsx-lock{display:flex;align-items:center;justify-content:center;gap:8px;margin:22px 0 0;
  font-size:15px;color:var(--lt-quiet)}
.bsx-lock svg{width:16px;height:16px;color:var(--lt-olive)}
.bsx-paybtn{display:block;width:100%;margin:20px 0 0;background:var(--lt-coral);color:#fff;
  border:1px solid var(--lt-coral);border-radius:100px;padding:19px 30px;font-family:var(--lt-sans);
  font-size:19.5px;font-weight:600;cursor:pointer;
  transition:background-color .25s ease,transform .2s ease,box-shadow .25s ease}
.bsx-paybtn:hover{background:var(--lt-coral-ink);border-color:var(--lt-coral-ink);transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(156,74,40,.25)}
.bsx-paybtn[disabled]{opacity:.7;cursor:progress;transform:none}
.bsx-demonote{margin:16px 0 0;background:#FFFBF2;border:1px solid #EEDCB6;border-radius:10px;
  padding:14px 18px;font-size:15.5px;line-height:1.7;color:#7A5A18}

/* ---------- confirmation ---------- */
.bsx-done{background:#fff;border:1px solid var(--lt-line);border-radius:16px;
  padding:56px 40px 48px;text-align:center;box-shadow:var(--lt-shadow)}
.bsx-done-mark{width:88px;height:88px;margin:0 auto 28px;border-radius:50%;background:var(--lt-peach);
  border:2px solid var(--lt-coral);display:flex;align-items:center;justify-content:center}
.bsx-done-mark svg{width:40px;height:40px;color:var(--lt-coral)}
.bsx-done h2{font-size:clamp(29px,4vw,42px);margin:0 0 12px}
.bsx-done-sub{margin:0 0 34px;font-size:19px;color:var(--lt-body)}
.bsx-sumcard{background:var(--lt-sand);border-radius:14px;padding:30px 28px;margin:0 auto 32px;
  max-width:460px}
.bsx-sumcard-brand{display:block;font-family:var(--lt-serif);font-size:27px;color:var(--lt-ink)}
.bsx-sumcard-brand i{font-style:normal;opacity:.5;margin:0 10px}
.bsx-sumcard-d{display:block;margin-top:10px;font-size:19px;font-weight:600;color:var(--lt-coral-ink);
  direction:ltr;unicode-bidi:isolate}
.bsx-sumcard-m{display:block;margin-top:6px;font-size:16.5px;color:var(--lt-quiet)}
.bsx-next{text-align:right;max-width:520px;margin:0 auto 32px;background:var(--lt-cream);
  border:1px solid var(--lt-line);border-radius:12px;padding:24px 28px}
.bsx-next h3{margin:0 0 12px;font-family:var(--lt-serif);font-weight:400;font-size:21px;color:var(--lt-ink)}
.bsx-next ol{margin:0;padding-inline-start:20px;font-size:17px;line-height:1.9;color:var(--lt-body)}

/* ===================================================================
   Responsive
   =================================================================== */
@media (max-width:1000px){
  .lt-cards{grid-template-columns:1fr 1fr}
  .lt-says{columns:2}
  .lt-split,.lt-split--tight{grid-template-columns:1fr;gap:28px}
  .lt-split-media img{height:clamp(240px,54vw,380px)}
  .bsx-pay{grid-template-columns:1fr}
  .bsx-order{position:static;order:2}
}
@media (max-width:820px){
  .lt-sec{padding:64px 0}
  .lt-wrap,.lt-wrap--mid,.lt-wrap--narrow{width:calc(100% - 40px)}
  .lt-hero{min-height:74vh}
  .lt-hero-in{padding-bottom:72px}
  .lt-cards{grid-template-columns:1fr}
  .lt-says{columns:1}
  .lt-says-box.is-clipped{max-height:760px}
  .lt-gal{grid-template-columns:1fr 1fr}

  .lt-gal-i img{height:210px}
  .lt-bar-cell{flex:1 1 50%;padding:20px 12px}
  .lt-bar-cell + .lt-bar-cell{border-inline-start:0}
  .lt-bar-cell:nth-child(odd){border-inline-end:1px solid var(--lt-line2)}
  .bsx-trip{grid-template-columns:1fr}
  .bsx-trip-img img{height:220px;min-height:0}
  .bsx-panel,.bsx-cardbox,.bsx-order{padding:28px 22px 30px}
  .bsx-wrap{padding:36px 0 64px}
}
@media (max-width:600px){
  .lt-sec{padding:52px 0}
  .lt-wrap,.lt-wrap--mid,.lt-wrap--narrow{width:calc(100% - 32px)}
  .lt-hero-dates::before,.lt-hero-dates::after{width:16px;margin:0 8px}
  .lt-days::before{inset-inline-start:18px}
  .lt-day{gap:16px}
  .lt-day-mark{flex-basis:38px;height:38px}
  .lt-day-body{padding:20px 20px 22px}
  .lt-day-h{font-size:21px;gap:8px}
  .lt-gal{grid-template-columns:1fr}
  .lt-inc,.lt-term,.lt-boxed{padding:24px 20px}
  .lt-sec--about{padding:40px 0}
  .lt-sec--invite{padding:56px 0}
  .lt-invite-mark{width:48px;height:48px;margin-bottom:20px}
  .lt-btn{padding:15px 32px;font-size:17px}
  .lt-btn--big{padding:17px 36px;font-size:18px}
  .lt-price-body{padding:32px 20px 36px}
  .bsx-steps{gap:6px}
  .bsx-steps li{font-size:13.5px;padding:11px 4px}
  .bsx-card-grid{grid-template-columns:1fr}
  .bsx-done{padding:40px 22px 36px}
  .bsx-next{padding:20px 20px}
}

/* ===================================================================
   Trip card grids, made to fit narrow screens
   -------------------------------------------------------------------
   The grid was three fixed columns (repeat(3,1fr)). A 1fr track will
   not shrink below its content's minimum, so on a window narrower than
   about 1220px the whole row pushed past the screen and the page
   scrolled sideways. minmax(0,...) lets the tracks shrink, and auto-fit
   drops to two columns and then one on its own.
   =================================================================== */
.bt-cards {
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	min-width: 0;
}
.bt-cards > * { min-width: 0; }
.bt-card { min-width: 0; }
.bt-card-title,
.bt-card-meta,
.bt-card-sub { overflow-wrap: anywhere; }

/* The same shrink guard for the other tile grids on these pages. */
.bt-gal, .bt-inc, .bt-leader { min-width: 0; }
.bt-gal > *, .bt-inc > *, .bt-leader > * { min-width: 0; }

@media (max-width: 1100px) {
	.bt-cards { gap: 26px; }
}

/* The opening line under the welcome heading on the home page. */
.lt-sec--about .lt-about-lead {
	margin: -6px 0 16px;
	font-family: 'Assistant', system-ui, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .01em;
	color: #9C4A28;
}
@media (max-width: 767px) {
	.lt-sec--about .lt-about-lead { font-size: 15.5px; }
}

/* ===================================================================
   The repeated sign-up invitation on a trip page
   -------------------------------------------------------------------
   A trip page runs past thirteen thousand pixels, so a reader halfway
   down is a long way from either button. This is a slim band that sits
   between sections - four of them on the way down - carrying one line
   and the same button as the hero. It is deliberately quiet: a sand
   ground, hairlines top and bottom, no card and no shadow, so it reads
   as a pause between sections rather than a banner.
   =================================================================== */
.lt-again {
	background: #F7EFE7;
	border-top: 1px solid rgba(196, 168, 130, .35);
	border-bottom: 1px solid rgba(196, 168, 130, .35);
	padding: 22px 20px;
	margin: 0;
}

.lt-again-in {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px 22px;
	text-align: center;
}

.lt-again-t {
	margin: 0;
	font-family: 'Frank Ruhl Libre', serif;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.4;
	color: #4A3728;
}

/* The button keeps the site's own shape and colour - it is the same
   button as at the top of the page, only a little smaller. */
.lt-again-b {
	flex: 0 0 auto;
	padding: 11px 26px;
	font-size: 16px;
	white-space: nowrap;
}

/* On a narrow screen the line sits above the button rather than beside
   it, and the button stretches to something comfortable to tap. */
@media (max-width: 560px) {
	.lt-again { padding: 20px 16px; }
	.lt-again-in { flex-direction: column; gap: 12px; }
	.lt-again-b { width: 100%; max-width: 320px; text-align: center; }
}
