:root{
  --es-red:#ED1C24;
  --es-burgundy:#A51F2D;
  --es-green:#0B6F63;
  --es-ink:#14211C;
  --es-muted:#68736E;
  --es-line:#E8E3DF;
  --es-soft:#FFF8F5;
  --es-soft-red:#FFF2F2;
}

body.single-trip,
body.single-trip button,
body.single-trip input,
body.single-trip select,
body.single-trip textarea{
  font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
body.single-trip{color:var(--es-ink);font-size:17px;line-height:1.62}
body.single-trip h1{font-size:clamp(34px,4vw,54px)!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:850!important;color:var(--es-ink)!important}
body.single-trip h2{font-size:clamp(28px,2.6vw,38px)!important;line-height:1.16!important;letter-spacing:-.025em!important;color:var(--es-ink)!important}
body.single-trip h3{font-size:22px!important;line-height:1.3!important;color:var(--es-ink)!important}
body.single-trip p,body.single-trip li{font-size:16.5px;line-height:1.65}

/* Trip facts: keep all WTE data, but make the visual language smaller, cleaner and friendlier. */
body.single-trip .es-trip-facts-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 22px!important;align-items:stretch}
body.single-trip .es-trip-fact{position:relative!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;column-gap:10px!important;align-items:center!important;min-height:66px!important;padding:8px 2px!important;margin:0!important;background:transparent!important;border:0!important}
body.single-trip .es-trip-fact i,
body.single-trip .es-trip-fact svg,
body.single-trip .es-trip-fact img,
body.single-trip .es-trip-fact [class*="icon"]{
  grid-column:1!important;width:18px!important;max-width:18px!important;height:18px!important;max-height:18px!important;font-size:17px!important;line-height:18px!important;color:var(--es-red)!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;object-fit:contain!important;margin:0!important;padding:9px!important;box-sizing:content-box!important;border-radius:50%!important;background:var(--es-soft-red)!important;border:1px solid #FFD9DA!important;box-shadow:none!important
}
body.single-trip .es-trip-fact strong,
body.single-trip .es-trip-fact b,
body.single-trip .es-trip-fact .title,
body.single-trip .es-trip-fact .label,
body.single-trip .es-trip-fact [class*="title"]{font-size:12.5px!important;line-height:1.2!important;font-weight:600!important;color:#7A8580!important;letter-spacing:.015em!important}
body.single-trip .es-trip-fact{font-size:16.5px!important;line-height:1.35!important;font-weight:750!important;color:var(--es-ink)!important}
body.single-trip .es-trip-fact a{color:var(--es-green)!important;text-decoration:none!important;font-weight:750!important}
body.single-trip .es-trip-fact a:hover{text-decoration:underline!important;text-underline-offset:3px!important}

/* Tabs and long-form content: larger hit targets and stronger reading rhythm. */
body.single-trip .wpte-tab-nav,
body.single-trip [class*="trip-tabs"]{font-size:15.5px!important}
body.single-trip .wpte-tab-nav a,
body.single-trip [class*="trip-tabs"] a{min-height:48px!important;padding:13px 16px!important;font-weight:750!important}

/* Native booking/pricing stays intact; only the shell is upgraded. */
body.single-trip .es-single-booking-card{
  border:1px solid var(--es-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(31,42,37,.09)!important;
  overflow:hidden!important;
  padding:24px!important;
}
/* Native WTE Adult/Child pricing is deliberately left untouched. */

/* Conversion reassurance directly under the native Adult/Child price rows. */
body.single-trip .es-single-trust{display:grid;gap:11px;margin:18px 0 20px;padding:18px 0;border-top:1px solid #EEE8E4;border-bottom:1px solid #EEE8E4}
body.single-trip .es-single-trust>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}
body.single-trip .es-single-trust svg{width:22px;height:22px;padding:3px;border-radius:6px;background:#EAF8F2;color:#159665;stroke:currentColor;fill:none;stroke-width:2.1}
body.single-trip .es-single-trust span{display:flex;flex-direction:column;gap:1px}
body.single-trip .es-single-trust strong{font-size:15px;line-height:1.35;color:#26342E;font-weight:750}
body.single-trip .es-single-trust small{font-size:12.5px;line-height:1.4;color:#7B8580}

body.single-trip .es-single-book-now{
  width:100%!important;min-height:56px!important;border:0!important;border-radius:10px!important;background:var(--es-red)!important;color:#fff!important;font-size:17px!important;font-weight:850!important;letter-spacing:0!important;box-shadow:0 10px 22px rgba(237,28,36,.18)!important;cursor:pointer!important
}
body.single-trip .es-single-book-now:hover{background:#D5161D!important;transform:translateY(-1px)}
body.single-trip .es-single-help-link{display:block;width:100%;border:0;background:transparent;color:#7A8580;font-size:13.5px;line-height:1.4;text-align:center;margin:13px 0 0;padding:0;cursor:pointer}
body.single-trip .es-single-help-link strong{color:var(--es-green);font-weight:750}
body.single-trip .es-single-help-link:hover strong{text-decoration:underline;text-underline-offset:3px}

/* Premium WhatsApp popup – deliberately larger and simpler than the archive modal. */
.es-booking-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:24px}
.es-booking-modal[aria-hidden="false"]{display:flex}
.es-booking-modal__backdrop{position:absolute;inset:0;background:rgba(10,21,17,.74);backdrop-filter:blur(5px)}
.es-booking-modal__dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(90vh,780px);overflow:auto;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;padding:32px;box-shadow:0 32px 100px rgba(0,0,0,.32)}
.es-booking-modal__close{position:absolute;right:17px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#F4F5F4;color:#34423C;font-size:26px;line-height:1;cursor:pointer}
.es-booking-kicker{display:inline-flex;margin-bottom:8px;color:var(--es-red);font-size:11.5px;font-weight:850;letter-spacing:.09em}
.es-booking-modal__dialog h2{margin:0 42px 8px 0!important;font-size:32px!important;line-height:1.15!important}
.es-booking-subtitle{margin:0 0 14px!important;color:#66736D;font-size:15.5px!important;line-height:1.55!important}
.es-booking-expert{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 13px;border:1px solid #E2EBE6;border-radius:12px;background:#F7FBF9}
.es-booking-expert__dot{width:9px;height:9px;border-radius:50%;background:#20A56E;box-shadow:0 0 0 4px #DDF5E9;flex:0 0 9px}
.es-booking-expert>div{display:flex;flex-direction:column;gap:1px}.es-booking-expert strong{font-size:14px}.es-booking-expert small{font-size:12px;color:#718079}
.es-booking-trip{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 17px;padding:13px 14px;border-radius:11px;background:var(--es-soft);font-size:14px;color:#56635E}.es-booking-trip strong{color:var(--es-ink);font-size:15px}.es-booking-trip span{color:var(--es-burgundy);font-weight:800;white-space:nowrap}
.es-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.es-form-field{display:flex;flex-direction:column}.es-form-field--full{grid-column:1/-1}.es-form-field--split{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.es-form-field--split>div{display:flex;flex-direction:column}.es-form-field label,.es-form-field--split label{margin-bottom:6px;color:#46534D;font-size:13.5px;font-weight:750}.es-form-field input,.es-form-field textarea,.es-form-field--split input{width:100%;min-height:50px;border:1px solid #DCE3DF;border-radius:10px;background:#fff;padding:12px 13px;color:var(--es-ink);font-size:16px;outline:none}.es-form-field textarea{resize:vertical;min-height:92px}.es-form-field input:focus,.es-form-field textarea:focus,.es-form-field--split input:focus{border-color:#C5A35B;box-shadow:0 0 0 3px rgba(197,163,91,.12)}
.es-booking-submit{grid-column:1/-1;min-height:56px;border:0;border-radius:11px;background:var(--es-red);color:#fff;font-size:17px;font-weight:850;cursor:pointer;box-shadow:0 10px 22px rgba(237,28,36,.17)}.es-booking-submit:hover{background:#D5161D}.es-booking-help{grid-column:1/-1;text-align:center;color:#718079;font-size:12.5px}.es-modal-open{overflow:hidden}

/* Sticky conversion rail appears only after the native booking card scrolls away. */
.es-single-sticky-booking{position:fixed;left:0;right:0;bottom:0;z-index:99980;pointer-events:none;transform:translateY(115%);opacity:0;transition:transform .22s ease,opacity .22s ease;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);border-top:1px solid #E7E1DC;box-shadow:0 -12px 34px rgba(19,32,26,.10);backdrop-filter:blur(12px)}
.es-single-sticky-booking.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.es-single-sticky-booking__inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:18px}
.es-single-sticky-booking__summary{display:grid;grid-template-columns:auto auto auto;column-gap:5px;align-items:baseline}.es-single-sticky-booking__summary span{font-size:12px;color:#7B8580}.es-single-sticky-booking__summary strong{font-size:28px;line-height:1;color:var(--es-burgundy);font-weight:850}.es-single-sticky-booking__summary small{font-size:13px;color:#7B8580}
.es-single-sticky-booking__button{min-width:190px;min-height:50px;border:0;border-radius:10px;background:var(--es-red);color:#fff;font-size:16px;font-weight:850;cursor:pointer;box-shadow:0 8px 20px rgba(237,28,36,.18)}

@media(max-width:980px){
  body.single-trip .es-trip-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.single-trip .es-single-booking-card{padding:20px!important}
}
@media(max-width:767px){
  body.single-trip{font-size:16px;line-height:1.6}
  body.single-trip h1{font-size:34px!important}
  body.single-trip h2{font-size:28px!important}
  body.single-trip p,body.single-trip li{font-size:16px}
  body.single-trip .es-trip-facts-grid{grid-template-columns:1fr 1fr;gap:8px 12px!important}
  body.single-trip .es-trip-fact{grid-template-columns:34px minmax(0,1fr)!important;min-height:58px!important}.es-trip-fact i,.es-trip-fact svg,.es-trip-fact img{width:16px!important;height:16px!important;padding:7px!important}
  .es-booking-modal{padding:10px}.es-booking-modal__dialog{padding:25px 17px;border-radius:17px}.es-booking-modal__dialog h2{font-size:26px!important}.es-booking-subtitle{font-size:14.5px!important}.es-booking-form{grid-template-columns:1fr}.es-form-field--split{grid-template-columns:1fr 1fr}.es-booking-trip{align-items:flex-start;flex-direction:column;gap:3px}.es-form-field input,.es-form-field textarea,.es-form-field--split input{font-size:16px}
  .es-single-sticky-booking{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.es-single-sticky-booking__inner{justify-content:space-between;gap:10px}.es-single-sticky-booking__summary{grid-template-columns:auto auto;column-gap:4px}.es-single-sticky-booking__summary span{grid-column:1/-1;font-size:10.5px}.es-single-sticky-booking__summary strong{font-size:24px}.es-single-sticky-booking__summary small{font-size:11.5px}.es-single-sticky-booking__button{min-width:145px;min-height:48px;font-size:15.5px}
}
@media(max-width:430px){
  body.single-trip .es-trip-facts-grid{grid-template-columns:1fr}
  .es-form-field--split{grid-template-columns:1fr 1fr}
}
