
/* eTrails Booking Platform — front-end, scoped and Divi-safe */
body.etrbp-booking-page #main-content .container{width:100%!important;max-width:none!important;padding:0!important}
body.etrbp-booking-page #main-content .container:before{display:none!important}
body.etrbp-booking-page #left-area{width:100%!important;padding:0!important;float:none!important}
body.etrbp-booking-page #sidebar{display:none!important}
body.etrbp-booking-page article.page{margin:0!important;padding:0!important}
body.etrbp-booking-page .entry-title{display:none!important}
body.etrbp-booking-page .entry-content{padding:0!important}

.etrbp-shell{
  --etrbp-teal:var(--etr-teal,#4fa69f);--etrbp-teal-dark:var(--etr-teal-dark,#3f8f89);
  --etrbp-lagoon:var(--etr-lagoon,#103e3a);--etrbp-lagoon-deep:var(--etr-lagoon-deep,#0a302d);
  --etrbp-shell:var(--etr-shell,#f3eee3);--etrbp-shell-light:var(--etr-shell-light,#faf7f0);
  --etrbp-charcoal:var(--etr-charcoal,#171817);--etrbp-soft:var(--etr-text-soft,#595c57);
  --etrbp-border:var(--etr-border,rgba(23,24,23,.12));--etrbp-font:var(--etr-font-body,"Helvetica Neue",Arial,sans-serif);
  --etrbp-display:var(--etr-font-display,"Arial Narrow","Helvetica Neue",Arial,sans-serif);
  width:100%;padding:clamp(40px,5vw,68px) 0 clamp(54px,6vw,84px);background:var(--etrbp-shell-light);color:var(--etrbp-charcoal);font-family:var(--etrbp-font)
}
.etrbp-inner{width:calc(100% - (clamp(20px,4vw,64px)*2));max-width:1240px;margin:0 auto}
.etrbp-staging-banner{margin:0 0 24px;padding:11px 15px;border:1px solid rgba(201,103,67,.28);border-radius:10px;background:#f1ddd4;color:#6a301f;font-size:.82rem}
.etrbp-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--etrbp-teal-dark);font-size:.69rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.etrbp-kicker:before{content:"";width:22px;height:2px;background:currentColor}
.etrbp-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin:0 0 26px;padding-bottom:22px;border-bottom:1px solid var(--etrbp-border)}
.etrbp-head h1{margin:0!important;color:var(--etrbp-charcoal)!important;font-family:var(--etrbp-display)!important;font-size:clamp(2.75rem,5.2vw,5.4rem)!important;line-height:.9!important;letter-spacing:-.055em!important}
.etrbp-head__aside{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.etrbp-head__aside strong{font-size:1rem}.etrbp-head__aside span{color:var(--etrbp-soft);font-size:.82rem}

.etrbp-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.etrbp-route{position:relative;display:flex;width:100%;min-height:210px;flex-direction:column;justify-content:space-between;padding:22px 22px 20px;border:1px solid var(--etrbp-border);border-radius:18px;background:var(--etrbp-shell);color:inherit!important;font:inherit;text-align:left;text-decoration:none!important;overflow:hidden;cursor:pointer;appearance:none;-webkit-appearance:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}
.etrbp-route:before{content:"";position:absolute;right:-70px;bottom:-90px;width:210px;height:210px;border-radius:50%;background:rgba(79,166,159,.08);pointer-events:none}
.etrbp-route:hover{transform:translateY(-2px);border-color:rgba(79,166,159,.62);box-shadow:0 14px 34px rgba(11,37,34,.08)}
.etrbp-route.is-selected{border-color:var(--etrbp-teal-dark);background:#fff;box-shadow:0 15px 38px rgba(11,37,34,.08)}
.etrbp-route.is-disabled,.etrbp-route:disabled{opacity:.45;pointer-events:none;cursor:not-allowed}
.etrbp-route__top,.etrbp-route__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.etrbp-route__index,.etrbp-route__eyebrow,.etrbp-route__foot{font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.etrbp-route__index{color:var(--etrbp-teal-dark)}.etrbp-route__eyebrow{color:var(--etrbp-soft)}
.etrbp-route__body{position:relative;z-index:1;padding:24px 0 20px}
.etrbp-route h3{margin:0 0 12px!important;color:var(--etrbp-charcoal)!important;font-family:var(--etrbp-display)!important;font-size:clamp(2rem,3.2vw,3.4rem)!important;line-height:.92!important;letter-spacing:-.045em!important}
.etrbp-route__meta{display:flex;flex-wrap:wrap;gap:7px}
.etrbp-route__meta span{display:inline-flex;padding:6px 9px;border:1px solid var(--etrbp-border);border-radius:999px;background:rgba(255,255,255,.5);color:var(--etrbp-soft);font-size:.68rem;font-weight:700;line-height:1}
.etrbp-route__foot{padding-top:14px;border-top:1px solid var(--etrbp-border)}.etrbp-route__arrow{font-size:1.2rem;line-height:1}

.etrbp-engine{padding:0;border:1px solid var(--etrbp-border);border-radius:18px;background:#fff;box-shadow:0 18px 52px rgba(11,37,34,.07);overflow:hidden}
.etrbp-engine__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--etrbp-border);background:var(--etrbp-shell)}
.etrbp-engine__step{display:block;margin-bottom:2px;color:var(--etrbp-teal-dark);font-size:.63rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.etrbp-engine__head h2{margin:0!important;color:var(--etrbp-charcoal)!important;font-family:var(--etrbp-display)!important;font-size:clamp(1.8rem,3vw,2.8rem)!important;line-height:.95!important;letter-spacing:-.04em!important}
.etrbp-engine__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.etrbp-engine__meta span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--etrbp-border);font-size:.69rem;font-weight:700;color:var(--etrbp-soft)}
.etrbp-amelia-host{padding:clamp(14px,2vw,24px)}
.etrbp-amelia-popup-forms{height:0;min-height:0;margin:0;padding:0;overflow:visible}
.etrbp-select-prompt{display:flex;align-items:center;justify-content:center;gap:16px;min-height:170px;padding:30px;text-align:left}
.etrbp-select-prompt__number{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:var(--etrbp-lagoon);color:#fff;font-size:.72rem;font-weight:800}
.etrbp-select-prompt strong{display:block;margin-bottom:4px;font-size:1rem}.etrbp-select-prompt span:not(.etrbp-select-prompt__number){display:block;color:var(--etrbp-soft);font-size:.86rem}
.etrbp-setup-needed{padding:clamp(28px,5vw,60px);text-align:center}.etrbp-setup-needed h3{max-width:760px;margin:0 auto 16px!important;font-family:var(--etrbp-display)!important;font-size:clamp(2rem,3.5vw,3.6rem)!important;line-height:.98!important}.etrbp-setup-needed p{max-width:760px;margin:10px auto;color:var(--etrbp-soft)}

.etrbp-before{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;border:1px solid var(--etrbp-border);border-radius:14px;overflow:hidden;background:var(--etrbp-border)}
.etrbp-before>div{background:var(--etrbp-shell);padding:16px 18px}.etrbp-before strong{display:block;margin-bottom:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.etrbp-before span{display:block;color:var(--etrbp-soft);font-size:.84rem;line-height:1.45}
.etrbp-public-hold{max-width:720px;padding:50px 0}.etrbp-public-hold h2{font-family:var(--etrbp-display)!important}.etrbp-public-hold p{color:var(--etrbp-soft)}

html.etrbp-modal-open{overflow:hidden}.etrbp-modal{position:fixed;inset:0;z-index:1000000}.etrbp-modal[hidden]{display:none!important}.etrbp-modal__backdrop{position:absolute;inset:0;background:rgba(10,48,45,.74);backdrop-filter:blur(4px)}.etrbp-modal__panel{position:absolute;top:4vh;bottom:4vh;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 28px));overflow:auto;padding:clamp(24px,4vw,46px);border-radius:24px;background:var(--etrbp-shell-light);box-shadow:0 28px 80px rgba(0,0,0,.25);font-family:var(--etrbp-font);color:var(--etrbp-charcoal)}.etrbp-modal__panel h2{font-family:var(--etrbp-display)!important;font-size:clamp(2.4rem,5vw,4.5rem)!important;margin-bottom:12px!important}.etrbp-modal__intro{margin:0 0 22px;color:var(--etrbp-soft)}.etrbp-modal__close{position:sticky;top:0;float:right;z-index:2;border:0;background:#fff;width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.08)}.etrbp-legal-note{padding:15px 17px;border-radius:12px;margin-bottom:18px;font-size:.9rem;line-height:1.55;white-space:pre-line}.etrbp-legal-note.is-placeholder{background:#f4e9c9;border:1px solid rgba(185,137,31,.3)}.etrbp-legal-note.is-approved{background:#dfe4d7;border:1px solid rgba(80,97,62,.24)}.etrbp-rider-card{padding:20px;margin:0 0 14px;border:1px solid var(--etrbp-border);border-radius:16px;background:#fff}.etrbp-rider-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.etrbp-rider-card__head small{font-size:.66rem;color:var(--etrbp-teal-dark)}.etrbp-field{display:block;margin-bottom:16px}.etrbp-field>span,.etrbp-signature-label{display:block;margin-bottom:7px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.etrbp-field input{width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(23,24,23,.16);border-radius:9px;background:var(--etrbp-shell-light);font:inherit}.etrbp-declarations{display:grid;gap:9px;margin:14px 0 18px}.etrbp-declarations label{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;color:#343633;font-size:.9rem;line-height:1.4}.etrbp-declarations input{margin-top:3px}.etrbp-signature{display:block;width:100%;height:auto;aspect-ratio:520/180;border:1px dashed rgba(23,24,23,.34);border-radius:10px;background:#fbfaf6;touch-action:none}.etrbp-signature-tools{display:flex;justify-content:space-between;align-items:center;margin-top:6px;color:#757971;font-size:.75rem}.etrbp-signature-tools button{border:0;background:transparent;color:#aa5033;font:inherit;font-weight:800}.etrbp-modal__error{min-height:22px;margin:10px 0;color:#aa5033;font-size:.88rem;font-weight:700}.etrbp-action{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:14px 24px;border:0;border-radius:999px;background:var(--etrbp-teal);color:#fff;font:700 .78rem/1 var(--etrbp-font);letter-spacing:.065em;text-transform:uppercase}.etrbp-action:disabled{opacity:.6}

/* Keep Amelia overrides shallow and upgrade-safe. */
.etrbp-engine .amelia-app-booking,.etrbp-engine [class*="am-"]{font-family:var(--etrbp-font)}

@media(max-width:980px){.etrbp-head{grid-template-columns:1fr;gap:14px}.etrbp-head__aside{align-items:flex-start;text-align:left}.etrbp-route-grid{grid-template-columns:1fr}.etrbp-engine__head{align-items:flex-start;flex-direction:column}.etrbp-engine__meta{justify-content:flex-start}}
@media(max-width:767px){.etrbp-shell{padding:34px 0 54px}.etrbp-inner{width:calc(100% - 36px)}.etrbp-head h1{font-size:clamp(2.65rem,14vw,4.2rem)!important}.etrbp-route{min-height:185px;padding:18px}.etrbp-route__body{padding:18px 0}.etrbp-route h3{font-size:2.35rem!important}.etrbp-amelia-host{padding:10px}.etrbp-before{grid-template-columns:1fr}.etrbp-select-prompt{justify-content:flex-start;min-height:140px;padding:22px}.etrbp-modal__panel{top:10px;bottom:10px;width:calc(100% - 20px);padding:22px 16px}.etrbp-rider-card{padding:16px}}


/* Amelia popup integration — deliberately shallow selectors only. */
body.etrbp-booking-page .amelia-app-booking,
body.etrbp-booking-page [class*="amelia-app-booking"]{
  font-family:var(--etrbp-font)!important;
}

body.etrbp-booking-page .el-overlay{
  backdrop-filter:blur(5px);
}

body.etrbp-booking-page .el-dialog{
  border-radius:20px!important;
  overflow:hidden;
}


/* v1.3 recovery: visual skin only. No Amelia dialog sizing/layout overrides. */
body.etrbp-booking-page .amelia-v2-booking #amelia-container.am-fs__wrapper,
body.etrbp-booking-page .amelia-v2-booking .am-fs__wrapper{
  --am-c-primary:#4fa69f!important;
  --am-c-success:#667b4e!important;
  --am-c-error:#c96743!important;
  --am-c-warning:#d9a72e!important;
  --am-c-main-bgr:#faf7f0!important;
  --am-c-main-heading-text:#171817!important;
  --am-c-main-text:#343633!important;
  --am-c-sb-bgr:#103e3a!important;
  --am-c-sb-text:#fbfaf6!important;
  --am-c-inp-bgr:#ffffff!important;
  --am-c-inp-border:#d8d4ca!important;
  --am-c-inp-text:#171817!important;
  --am-c-inp-placeholder:#757971!important;
  --am-c-btn-prim:#4fa69f!important;
  --am-c-btn-prim-text:#ffffff!important;
  --am-c-btn-sec:#f3eee3!important;
  --am-c-btn-sec-text:#103e3a!important;
}
body.etrbp-booking-page .amelia-v2-booking .am-fs-sb{background:#103e3a!important}
body.etrbp-booking-page .amelia-v2-booking .am-button--primary{
  background:#4fa69f!important;
  border-color:#4fa69f!important;
  color:#fff!important;
}

/* Legal staging UI */
.etrbp-draft-warning{
  display:grid;gap:4px;margin:0 0 16px;padding:14px 16px;
  border:1px solid rgba(201,103,67,.28);border-radius:12px;
  background:#f1ddd4;color:#171817
}
.etrbp-draft-warning strong{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.etrbp-draft-warning span{font-size:.84rem;line-height:1.45;color:#595c57}
.etrbp-legal-block{
  margin:0 0 14px;border:1px solid rgba(23,24,23,.12);
  border-radius:14px;overflow:hidden;background:#fff
}
.etrbp-legal-block__head{
  display:flex;justify-content:space-between;gap:12px;padding:12px 15px;
  border-bottom:1px solid rgba(23,24,23,.12);background:#f3eee3
}
.etrbp-legal-block__head strong{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.etrbp-legal-block__head span{color:#3f8f89;font-size:.67rem;font-weight:800;text-transform:uppercase}
.etrbp-legal-copy{
  max-height:190px;overflow:auto;padding:15px 17px;
  color:#343633;font-size:.86rem;line-height:1.6;white-space:pre-line
}
.etrbp-terms-accept{
  display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;
  margin:18px 0 4px;padding:16px;border:1px solid rgba(79,166,159,.32);
  border-radius:13px;background:rgba(220,235,234,.5)
}
.etrbp-terms-accept input{width:18px;height:18px;margin-top:2px}
.etrbp-terms-accept strong{display:block;margin-bottom:3px;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
.etrbp-terms-accept span{font-size:.88rem;line-height:1.45;color:#343633}
.etrbp-modal{z-index:10000000!important}


/* =========================================================
   v1.3.1 — LEGAL STEP ABOVE AMELIA
   Booking engine itself is untouched.
   ========================================================= */

#etrbp-waiver-modal[hidden]{
  display:none!important;
}

#etrbp-waiver-modal.etrbp-modal--foreground{
  position:fixed!important;
  inset:0!important;
  z-index:2147483600!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:clamp(10px,2vw,24px)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

#etrbp-waiver-modal.etrbp-modal--foreground .etrbp-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background:rgba(6,24,22,.82)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

#etrbp-waiver-modal.etrbp-modal--foreground .etrbp-modal__panel{
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  display:block!important;
  width:min(920px,100%)!important;
  max-width:920px!important;
  height:auto!important;
  max-height:calc(100vh - clamp(20px,4vw,48px))!important;
  margin:0!important;
  padding:clamp(22px,3vw,36px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border:1px solid rgba(23,24,23,.1)!important;
  border-radius:22px!important;
  background:#faf7f0!important;
  box-shadow:0 34px 120px rgba(0,0,0,.45)!important;
  color:#171817!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  outline:none!important;
}

#etrbp-waiver-modal.etrbp-modal--foreground .etrbp-modal__close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:3!important;
  display:flex!important;
  width:40px!important;
  height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(23,24,23,.1)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#171817!important;
  font-size:1.3rem!important;
  line-height:1!important;
  cursor:pointer!important;
}

#etrbp-waiver-modal.etrbp-modal--foreground .etrbp-action{
  position:sticky!important;
  bottom:-1px!important;
  z-index:2!important;
  width:100%!important;
  margin-top:18px!important;
  padding:14px 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:#4fa69f!important;
  color:#fff!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:0 -14px 28px rgba(250,247,240,.95)!important;
}

#etrbp-waiver-modal.etrbp-modal--foreground .etrbp-action:hover{
  background:#3f8f89!important;
}

html.etrbp-modal-open,
body.etrbp-modal-open{
  overflow:hidden!important;
}

@media(max-width:767px){
  #etrbp-waiver-modal.etrbp-modal--foreground{
    padding:8px!important;
    align-items:stretch!important;
  }

  #etrbp-waiver-modal.etrbp-modal--foreground .etrbp-modal__panel{
    width:100%!important;
    max-width:none!important;
    max-height:calc(100vh - 16px)!important;
    padding:20px 16px!important;
    border-radius:16px!important;
  }
}
