
.efn-mada{--bg:#f8f5ed;--ink:#172019;--muted:#667068;--line:rgba(21,32,24,.13);--deep:#193021;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.efn-mada *{box-sizing:border-box}.efn-hp{position:absolute!important;left:-99999px!important;opacity:0!important}
.efn-progress{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);background:#fff}
.efn-progress-item{min-width:0;padding:15px 10px;text-align:center;color:#899189;border-right:1px solid var(--line);font-size:11px}.efn-progress-item:last-child{border-right:0}
.efn-progress-item span{display:block;width:25px;height:25px;margin:0 auto 5px;line-height:25px;border-radius:50%;background:#eceee9;color:#6f776f;font-weight:800}
.efn-progress-item b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.efn-progress-item.is-active span,.efn-progress-item.is-complete span{background:#23382a;color:#fff}
.efn-form{padding:46px 42px 38px;background:var(--bg)}.efn-step{display:none}.efn-step.is-active{display:block}
.efn-kicker{margin:0 0 8px;color:#6c7d6d;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}
.efn-step h3,.efn-modal h3{margin:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(29px,4vw,43px);line-height:1.08}
.efn-intro{max-width:800px;margin:14px 0 28px;color:var(--muted);font-size:15px;line-height:1.65}
.efn-grid{display:grid;gap:16px}.efn-grid-2{grid-template-columns:1fr 1fr}.efn-grid-3{grid-template-columns:repeat(3,1fr)}
.efn-field{display:block;margin:0 0 20px}.efn-field>span,.efn-label{display:block;margin-bottom:8px;color:#2d382f;font-size:13px;font-weight:800}.efn-field small{display:block;margin-top:7px;color:#7d857f;font-size:11px;line-height:1.45}
.efn-field input,.efn-field select,.efn-field textarea{width:100%;padding:14px 15px;border:1px solid #cfd4cf;border-radius:3px;background:#fff;color:#18211a;font:inherit;outline:none}.efn-field textarea{resize:vertical}
.efn-field input:focus,.efn-field select:focus,.efn-field textarea:focus{border-color:#6e806f;box-shadow:0 0 0 2px rgba(80,106,84,.10)}.efn-topgap{margin-top:24px}
.efn-question{margin:27px 0}.efn-choice-grid{display:grid;gap:11px}.efn-choice-grid-2{grid-template-columns:1fr 1fr}.efn-choice-grid-3{grid-template-columns:repeat(3,1fr)}.efn-choice-grid-4{grid-template-columns:repeat(4,1fr)}
.efn-choice{display:block;position:relative;cursor:pointer}.efn-choice input{position:absolute;opacity:0;pointer-events:none}.efn-choice span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 14px;background:#fff;border:1px solid var(--line);color:#344039;font-size:13px;text-align:center;transition:.15s}
.efn-choice-big span{min-height:98px;display:block;text-align:left;padding:20px}.efn-choice-big b{display:block;color:#1e2a20;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400}.efn-choice-big small{display:block;margin-top:5px;color:#7a827b;font-size:12px;line-height:1.45}
.efn-choice input:checked+span{background:#1c2c21;border-color:#1c2c21;color:#fff}.efn-choice input:checked+span b,.efn-choice input:checked+span small{color:#fff}
.efn-check-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;padding:18px;background:#fff;border:1px solid var(--line)}.efn-check-list label{font-size:13px;color:#3d473f}.efn-check-list input{margin-right:5px}
.efn-info-card,.efn-trip-summary,.efn-logistics-summary{padding:16px 18px;background:#fff;border:1px solid var(--line);color:#4e5a51;font-size:13px;line-height:1.55}.efn-info-card strong,.efn-trip-summary strong,.efn-logistics-summary strong{display:block;color:#1f2d22;font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:400;margin-bottom:3px}.efn-trip-summary:empty,.efn-logistics-summary:empty{display:none}
.efn-availability{margin:18px 0}.efn-avail-ok,.efn-avail-no{padding:15px 17px;border-radius:3px;font-size:14px}.efn-avail-ok{background:#e8efe8;color:#244329}.efn-avail-no{background:#f4eee2;color:#644f25}.efn-alt-dates{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.efn-alt-date{border:1px solid #967b4c;background:#fff;color:#5a4727;padding:8px 10px;border-radius:999px;cursor:pointer;font-weight:700}
.efn-party-details{margin-top:26px}.efn-child-ages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.efn-camping-note{margin-top:8px;color:#875d29;font-size:12px}
.efn-consent{display:flex;gap:10px;align-items:flex-start;margin:22px 0;padding:16px;background:#fff;border:1px solid var(--line);color:#566158;font-size:12px;line-height:1.55}.efn-consent input{margin-top:3px}.efn-consent a{color:#31553a;text-decoration:underline}
.efn-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}.efn-nav button,.efn-result-actions button,.efn-result-actions a,.efn-contact-option{appearance:none;border:0;border-radius:999px;min-height:50px;padding:0 22px;cursor:pointer;font-weight:800;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.efn-next,.efn-generate,.efn-pay,.efn-contact-option-primary{background:#17291d;color:#fff}.efn-back{background:transparent;color:#48544b;border:1px solid #bdc4bd!important}.efn-generate[disabled],.efn-next[disabled]{opacity:.55;cursor:wait}
.efn-error{margin:14px 0;color:#9a2e2e;font-size:13px;font-weight:700}.efn-field-error{outline:2px solid #b74b4b!important;outline-offset:1px}
.efn-result{padding:0;background:#f8f5ed}.efn-result-head{padding:42px;background:#18231b;color:#fff}.efn-result-head .efn-kicker{color:#bac9bb}.efn-result-head h3{margin:0;color:#fff;font-family:Georgia,serif;font-size:38px;font-weight:400}.efn-result-head p{margin:12px 0 0;color:#cbd2cc}
.efn-quote-strip{display:grid;grid-template-columns:1fr 1fr 1fr;background:#fff;border-bottom:1px solid var(--line)}.efn-quote-cell{padding:21px 25px;border-right:1px solid var(--line)}.efn-quote-cell:last-child{border-right:0}.efn-quote-cell span{display:block;color:#7d857e;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.efn-quote-cell strong{display:block;margin-top:3px;color:#1e2a20;font-family:Georgia,serif;font-size:22px;font-weight:400}
.efn-result-summary{padding:24px 42px 0}.efn-result-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.efn-result-summary-card{padding:16px;background:#fff;border:1px solid var(--line);font-size:13px;color:#59645b}.efn-result-summary-card strong{display:block;color:#1e2a20;margin-bottom:4px}
.efn-itinerary{padding:35px 42px}.efn-itinerary h4{margin:0 0 19px;font-family:Georgia,serif;font-size:28px;font-weight:400}.efn-day{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.efn-day:last-child{border-bottom:1px solid var(--line)}.efn-day-label{color:#8b7144;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.efn-day h5{margin:0;color:#1f2921;font-family:Georgia,serif;font-weight:400;font-size:20px}.efn-day p{margin:7px 0 0;color:#667068;font-size:13px;line-height:1.62}.efn-result-note{margin-top:22px;padding:18px;background:#eeece5;color:#596159;font-size:12px;line-height:1.6}
.efn-result-actions{padding:0 42px 42px}.efn-result-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.efn-consult-toggle{border:1px solid #617064!important;color:#28362b;background:#fff!important}.efn-terms-confirm{display:flex;gap:9px;align-items:flex-start;margin:4px 0 16px;padding:14px;background:#fff;border:1px solid var(--line);font-size:12px;color:#5f685f}.efn-terms-link{background:none!important;border:0!important;padding:0!important;min-height:0!important;color:#31553a!important;text-decoration:underline;font:inherit!important;cursor:pointer}
.efn-payment-disabled{margin-top:12px;padding:14px 16px;background:#ece8dc;color:#5f5b4f;font-size:12px}.efn-save-note{margin-top:14px;color:#6d756e;font-size:12px;text-align:center}
.efn-contact-panel{margin-top:16px;padding:20px;background:#fff;border:1px solid var(--line)}.efn-contact-panel h4{margin:0 0 12px;font-family:Georgia,serif;font-size:22px;font-weight:400}.efn-contact-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.efn-contact-option{border:1px solid #ccd2cc;background:#fafafa;color:#29362d;border-radius:4px;min-height:54px}.efn-contact-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.efn-contact-form[hidden]{display:none!important}.efn-contact-success{padding:14px;background:#e7efe7;color:#29482f;font-size:13px}
.efn-modal[hidden]{display:none!important}.efn-modal{position:fixed;inset:0;z-index:999999}.efn-modal-backdrop{position:absolute;inset:0;background:rgba(4,8,5,.78);backdrop-filter:blur(3px)}.efn-modal-panel{position:relative;width:min(880px,calc(100% - 32px));max-height:90vh;margin:5vh auto;background:#f7f4ec;color:#1d281f;display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.45)}.efn-modal-x{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#465349;font-size:30px;cursor:pointer;z-index:2}
.efn-modal-head{padding:30px 34px 22px;border-bottom:1px solid var(--line)}.efn-modal-head h3{font-size:31px}.efn-modal-head p{margin:8px 0 0;color:#667068;font-size:13px}.efn-modal-scroll{overflow:auto;padding:24px 34px}.efn-modal-scroll h4{margin:24px 0 7px;font-family:Georgia,serif;font-size:21px;font-weight:400}.efn-modal-scroll h4:first-child{margin-top:0}.efn-modal-scroll p{margin:0 0 12px;color:#58635b;font-size:13px;line-height:1.65}.efn-terms-table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:12px}.efn-terms-table td{padding:9px;border-bottom:1px solid var(--line)}.efn-terms-table td:last-child{text-align:right;font-weight:800}.efn-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 34px;border-top:1px solid var(--line);background:#fff}.efn-modal-actions button{min-height:46px;padding:0 18px;border-radius:999px;font-weight:800;cursor:pointer}.efn-modal-secondary{background:#fff;border:1px solid #bdc4bd;color:#435047}.efn-modal-accept{background:#17291d;border:1px solid #17291d;color:#fff}
@media(max-width:950px){.efn-progress{grid-template-columns:repeat(3,1fr)}.efn-choice-grid-4,.efn-choice-grid-3,.efn-grid-3{grid-template-columns:1fr 1fr}.efn-contact-choices{grid-template-columns:1fr}}
@media(max-width:650px){.efn-form{padding:30px 18px}.efn-progress{grid-template-columns:1fr 1fr}.efn-grid-2,.efn-grid-3,.efn-choice-grid-2,.efn-choice-grid-3,.efn-choice-grid-4,.efn-check-list,.efn-child-ages,.efn-result-summary-grid{grid-template-columns:1fr}.efn-quote-strip{grid-template-columns:1fr}.efn-quote-cell{border-right:0;border-bottom:1px solid var(--line)}.efn-itinerary{padding:28px 19px}.efn-result-summary{padding:20px 19px 0}.efn-day{grid-template-columns:1fr;gap:5px}.efn-result-head{padding:30px 20px}.efn-result-actions{padding:0 19px 30px}.efn-result-buttons{grid-template-columns:1fr}.efn-modal-head,.efn-modal-scroll,.efn-modal-actions{padding-left:20px;padding-right:20px}.efn-modal-actions{flex-direction:column}}


/* V3.2 — premium UK-format travel-window controls */
.efn-step[data-step="1"] .efn-intro{
  margin-bottom:40px;
  max-width:980px;
}
.efn-step[data-step="1"] .efn-grid-2{
  gap:32px;
  align-items:start;
}
.efn-step[data-step="1"] .efn-date-field{
  margin-bottom:28px;
}
.efn-step[data-step="1"] .efn-date-field>span{
  margin-bottom:13px;
  color:#96784b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.2;
  font-weight:400;
}
.efn-date-control{
  display:grid;
  grid-template-columns:1fr auto;
  background:#fff;
  border:1px solid #c7cbc5;
  min-height:72px;
  transition:.15s ease;
}
.efn-date-control:focus-within{
  border-color:#96784b;
  box-shadow:0 0 0 3px rgba(150,120,75,.10);
}
.efn-date-control .efn-date-display{
  min-width:0;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:18px 20px!important;
  font-size:20px!important;
  line-height:1.2!important;
  color:#1d281f!important;
  letter-spacing:.01em;
}
.efn-date-control .efn-date-display::placeholder{
  color:#a5aaa5;
}
.efn-calendar-button{
  width:100px;
  border:0;
  border-left:1px solid #dedfd9;
  background:#f2efe7;
  color:#59635a;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.efn-calendar-button:hover{background:#ebe6da}
.efn-step[data-step="1"] .efn-date-field small{
  margin-top:11px;
  color:#7c847d;
  font-size:12px;
  line-height:1.55;
}
.efn-step[data-step="1"] .efn-trip-summary{
  margin:4px 0 34px;
}
.efn-step[data-step="1"] .efn-question{
  margin-top:8px;
}

/* Custom date picker: avoids browser/US date formatting */
.efn-date-picker[hidden]{display:none!important}
.efn-date-picker{position:fixed;inset:0;z-index:999998}
.efn-date-picker-backdrop{position:absolute;inset:0;background:rgba(5,10,6,.62);backdrop-filter:blur(2px)}
.efn-date-picker-panel{
  position:relative;
  width:min(410px,calc(100% - 28px));
  margin:12vh auto 0;
  background:#fbf9f3;
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 28px 80px rgba(0,0,0,.35);
  padding:24px;
}
.efn-date-picker-head{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
}
.efn-date-picker-head strong{
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:400;
  color:#1f2c22;
}
.efn-date-nav{
  width:40px;height:40px;
  border:1px solid #d5d8d2;
  background:#fff;
  color:#26342a;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.efn-date-weekdays,.efn-date-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
}
.efn-date-weekdays{margin-bottom:6px}
.efn-date-weekdays span{
  text-align:center;
  color:#858c85;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.efn-date-day{
  aspect-ratio:1;
  border:0;
  background:#fff;
  color:#2b372e;
  cursor:pointer;
  font-size:13px;
}
.efn-date-day:hover{background:#e9ece6}
.efn-date-day.is-selected{background:#1b3022;color:#fff;font-weight:800}
.efn-date-day.is-disabled{color:#c5c9c4;background:#f6f4ef;cursor:not-allowed}
.efn-date-day.is-outside{visibility:hidden}
.efn-date-picker-foot{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #dfdfd8;
}
.efn-date-close{
  border:1px solid #c9cdc8;
  background:#fff;
  color:#445047;
  padding:9px 16px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
}
@media(max-width:650px){
  .efn-step[data-step="1"] .efn-intro{margin-bottom:30px}
  .efn-step[data-step="1"] .efn-date-field>span{font-size:19px}
  .efn-date-control{min-height:64px;grid-template-columns:1fr 78px}
  .efn-date-control .efn-date-display{padding:15px!important;font-size:18px!important}
  .efn-calendar-button{width:78px;font-size:11px}
  .efn-date-picker-panel{margin-top:8vh;padding:18px}
}


/* V3.3 — consistent premium selection tiles */
.efn-choice-grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}
.efn-choice{
  height:100%;
}
.efn-choice span{
  height:100%;
  min-height:64px;
  border-radius:12px;
  padding:16px 18px;
  border:1px solid rgba(27,48,34,.16);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.efn-choice-big span{
  min-height:116px;
  border-radius:12px;
  padding:21px 20px;
}
.efn-choice input:checked+span{
  box-shadow:0 8px 22px rgba(20,40,27,.10);
}
.efn-check-list label.is-disabled{
  opacity:.38;
  cursor:not-allowed;
}
.efn-check-list label.is-disabled input{
  cursor:not-allowed;
}

/* V3.3 — privacy policy popup */
.efn-privacy-link{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  min-height:0!important;
  color:#31553a!important;
  text-decoration:underline;
  font:inherit!important;
  font-weight:700!important;
  cursor:pointer;
}
.efn-privacy-consent input:disabled{
  opacity:.55;
}
.efn-privacy-modal[hidden]{display:none!important}
.efn-privacy-modal{
  position:fixed;
  inset:0;
  z-index:1000000;
}
.efn-privacy-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,8,5,.78);
  backdrop-filter:blur(3px);
}
.efn-privacy-panel{
  position:relative;
  width:min(980px,calc(100% - 32px));
  height:min(88vh,900px);
  margin:6vh auto;
  background:#f7f4ec;
  display:flex;
  flex-direction:column;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.efn-privacy-frame-wrap{
  flex:1;
  min-height:0;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.efn-privacy-frame{
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}
.efn-privacy-done{
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid #17291d;
  background:#17291d;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}


/* V4.0.1 — searchable country autocomplete */
.efn-country-wrap{position:relative}
.efn-country-wrap>input{margin:0}
.efn-country-suggestions{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:1000;background:#fff;border:1px solid #cfd4cf;border-radius:10px;box-shadow:0 18px 42px rgba(19,36,25,.16);padding:6px;max-height:300px;overflow:auto}
.efn-country-suggestions[hidden]{display:none!important}
.efn-country-option{display:block;width:100%;padding:11px 13px;border:0;border-radius:7px;background:#fff;color:#26342b;text-align:left;font:inherit;font-size:14px;cursor:pointer}
.efn-country-option:hover,.efn-country-option.is-active{background:#edf0e9;color:#17291d}
.efn-country-field small{margin-top:9px}

/* =========================================================
   V4.1 — FLOATING / FULL-SCREEN PREMIUM BUILDER
   The shortcode remains in the page. The working form opens
   in a dedicated viewport overlay so the page cannot wander
   underneath the customer while they configure the trip.
   ========================================================= */
html.efn-builder-scroll-lock,
body.efn-builder-scroll-lock{
  overflow:hidden!important;
  overscroll-behavior:none;
}

/* In-page launcher only */
.efn-builder-launcher{
  padding:42px 38px;
  text-align:center;
  background:linear-gradient(145deg,#fbfaf6 0%,#f1ede3 100%);
  border:1px solid rgba(33,54,39,.14);
}
.efn-builder-launcher .efn-kicker{
  margin-bottom:9px;
  color:#907141;
}
.efn-builder-launcher h3{
  max-width:760px;
  margin:0 auto;
  color:#203426;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,3.5vw,45px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.025em;
}
.efn-builder-launcher>p:not(.efn-kicker){
  max-width:720px;
  margin:15px auto 0;
  color:#667168;
  font-size:14px;
  line-height:1.65;
}
.efn-open-builder{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  margin-top:25px;
  padding:0 27px;
  border:0;
  border-radius:999px;
  background:#193021;
  color:#fff;
  box-shadow:0 12px 28px rgba(25,48,33,.16);
  cursor:pointer;
  font-size:14px;
  font-weight:800;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.efn-open-builder:hover{
  transform:translateY(-1px);
  background:#223d2b;
  box-shadow:0 15px 32px rgba(25,48,33,.20);
}
.efn-launcher-state{
  min-height:18px;
  margin-top:13px;
  color:#778078;
  font-size:11px;
}

/* Viewport overlay */
.efn-builder-overlay{
  position:fixed;
  inset:0;
  z-index:999900;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3.5vh 2.4vw;
  opacity:0;
  transition:opacity .2s ease;
}
.efn-builder-overlay.is-open{opacity:1}
.efn-builder-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,14,9,.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.efn-builder-window{
  position:relative;
  z-index:1;
  width:min(1480px,95vw);
  height:min(93vh,980px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.20);
  border-radius:20px;
  background:#f8f5ed;
  box-shadow:0 34px 110px rgba(0,0,0,.48);
  transform:translateY(12px) scale(.992);
  transition:transform .22s ease;
  outline:none;
}
.efn-builder-overlay.is-open .efn-builder-window{
  transform:translateY(0) scale(1);
}

/* Fixed builder chrome */
.efn-builder-chrome{
  flex:0 0 auto;
  min-height:82px;
  padding:17px 24px 16px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#14251a;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.efn-builder-brand span{
  display:block;
  margin-bottom:3px;
  color:#b9c7ba;
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.efn-builder-brand strong{
  display:block;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  line-height:1.15;
  font-weight:400;
}
.efn-builder-chrome-actions{
  display:flex;
  align-items:center;
  gap:13px;
  white-space:nowrap;
}
.efn-builder-step-status{
  color:#c5cec7;
  font-size:11px;
  font-weight:700;
}
.efn-close-builder{
  appearance:none;
  min-height:40px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
}
.efn-close-builder:hover{background:rgba(255,255,255,.12)}

/* Progress never scrolls away */
.efn-builder-progress-wrap{
  flex:0 0 auto;
  padding:12px 15px;
  background:#eef0e9;
  border-bottom:1px solid rgba(21,32,24,.12);
}
.efn-builder-overlay .efn-progress{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  border:0;
  background:transparent;
}
.efn-builder-overlay .efn-progress-item{
  min-width:0;
  padding:8px 9px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:8px;
  text-align:left;
  border:1px solid rgba(28,44,33,.11);
  border-radius:11px;
  background:rgba(255,255,255,.72);
  color:#788079;
  font-size:10px;
}
.efn-builder-overlay .efn-progress-item span{
  width:28px;
  height:28px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.efn-builder-overlay .efn-progress-item b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.efn-builder-overlay .efn-progress-item.is-active{
  border-color:rgba(31,59,39,.30);
  background:#fff;
  color:#26362b;
  box-shadow:0 5px 16px rgba(29,49,35,.06);
}

/* Only this area scrolls */
.efn-builder-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  background:#f8f5ed;
}
.efn-builder-overlay .efn-form{
  width:min(1180px,100%);
  margin:0 auto;
  padding:40px 42px 28px;
  background:transparent;
}
.efn-builder-overlay .efn-result{
  width:min(1180px,100%);
  margin:0 auto;
}

/* Keep navigation comfortably reachable during long steps */
.efn-builder-overlay .efn-nav{
  position:sticky;
  bottom:-1px;
  z-index:20;
  margin:36px -42px -28px;
  padding:17px 42px 18px;
  background:rgba(248,245,237,.96);
  border-top:1px solid rgba(21,32,24,.12);
  box-shadow:0 -12px 28px rgba(28,44,33,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.efn-builder-overlay .efn-step{
  min-height:calc(93vh - 190px);
  padding-bottom:74px;
}

/* Results remain in the same dedicated workspace */
.efn-builder-overlay .efn-result-head{
  border-radius:0;
}
.efn-builder-overlay .efn-result-actions{
  padding-bottom:60px;
}

/* Child overlays sit above the builder */
.efn-builder-overlay~.efn-date-picker{z-index:999998}
.efn-builder-overlay~.efn-modal{z-index:999999}
.efn-builder-overlay~.efn-privacy-modal{z-index:1000000}

/* Tablet */
@media(max-width:980px){
  .efn-builder-overlay{padding:2vh 14px}
  .efn-builder-window{width:100%;height:96vh;border-radius:16px}
  .efn-builder-overlay .efn-progress{grid-template-columns:repeat(3,1fr)}
  .efn-builder-overlay .efn-step{min-height:auto}
}

/* Mobile becomes a true full-screen app-like experience */
@media(max-width:650px){
  .efn-builder-launcher{padding:34px 19px}
  .efn-builder-overlay{padding:0}
  .efn-builder-window{
    width:100vw;
    height:100dvh;
    max-height:none;
    border:0;
    border-radius:0;
  }
  .efn-builder-chrome{
    min-height:70px;
    padding:12px 14px 11px 17px;
    gap:12px;
  }
  .efn-builder-brand span{display:none}
  .efn-builder-brand strong{font-size:19px}
  .efn-builder-step-status{display:none}
  .efn-close-builder{min-height:38px;padding:0 14px}
  .efn-builder-progress-wrap{padding:8px 9px}
  .efn-builder-overlay .efn-progress{
    grid-template-columns:repeat(6,1fr);
    gap:5px;
  }
  .efn-builder-overlay .efn-progress-item{
    display:flex;
    justify-content:center;
    padding:5px;
    border-radius:9px;
  }
  .efn-builder-overlay .efn-progress-item b{display:none}
  .efn-builder-overlay .efn-progress-item span{width:27px;height:27px}
  .efn-builder-overlay .efn-form{padding:27px 18px 20px}
  .efn-builder-overlay .efn-nav{
    margin:29px -18px -20px;
    padding:13px 18px calc(13px + env(safe-area-inset-bottom));
  }
  .efn-builder-overlay .efn-result{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .efn-builder-overlay,
  .efn-builder-window,
  .efn-open-builder{transition:none!important}
}

/* V4.2 — PayPal secure checkout states */
.efn-pay{
  appearance:none;
  border:0;
  border-radius:999px;
  min-height:50px;
  padding:0 24px;
  cursor:pointer;
  font-weight:800;
  font-size:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#17291d,#2e4b37);
  color:#fff;
  box-shadow:0 12px 28px rgba(23,41,29,.14);
}
.efn-pay:hover{transform:translateY(-1px)}
.efn-pay:disabled{opacity:.62;cursor:wait;transform:none}
.efn-payment-error{
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid #ddbcbc;
  background:#fff3f1;
  color:#7c3030;
  font-size:13px;
}
.efn-payment-return{
  max-width:760px;
  margin:42px auto;
  padding:42px;
  background:#fff;
  border:1px solid rgba(38,63,46,.14);
  box-shadow:0 24px 60px rgba(24,45,31,.11);
  color:#465148;
}
.efn-payment-return h3{
  margin:7px 0 16px;
  color:#1d3424;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(30px,4vw,46px);
  line-height:1.06;
}
.efn-payment-return p{line-height:1.7}
.efn-payment-return.is-success{border-top:4px solid #3d6b4c}
.efn-payment-return.is-warning{border-top:4px solid #b48c43}
.efn-payment-return.is-error{border-top:4px solid #8d3b45}
.efn-payment-tick{
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;background:#e5efe6;color:#28523a;font-size:28px;font-weight:800
}
.efn-payment-confirm-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0
}
.efn-payment-confirm-grid>div{
  padding:17px 18px;background:#f5f3eb;border:1px solid #e2dfd3
}
.efn-payment-confirm-grid span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7b847c}
.efn-payment-confirm-grid strong{display:block;margin-top:5px;color:#263b2c;font-size:17px}
.efn-payment-followup{padding-top:18px;border-top:1px solid #e1e2dc}
.efn-return-terms{margin-top:22px!important}
.efn-restart-paypal{margin:0 10px 12px 0}
.efn-return-contact{margin:0 0 12px}
@media(max-width:650px){
  .efn-payment-return{margin:18px auto;padding:25px 20px}
  .efn-payment-confirm-grid{grid-template-columns:1fr}
  .efn-restart-paypal,.efn-return-contact{width:100%;margin-right:0}
}


/* V4.4 fixed private slots */
.efn-mada .efn-fixed-year-tabs{display:flex;gap:8px;margin:18px 0}
.efn-mada .efn-fixed-year{
  border:1px solid rgba(38,65,49,.18);background:#fff;color:#274532;
  border-radius:999px;padding:9px 16px;font-weight:800;cursor:pointer
}
.efn-mada .efn-fixed-year.is-active{background:#274532;color:#fff}
.efn-mada .efn-fixed-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.efn-mada .efn-fixed-slot{
  text-align:left;border:1px solid rgba(38,65,49,.18);background:#fff;
  border-radius:18px;padding:19px 20px;cursor:pointer;transition:.18s ease
}
.efn-mada .efn-fixed-slot:hover{border-color:#c6a35d;transform:translateY(-1px)}
.efn-mada .efn-fixed-slot.is-selected{border-color:#c6a35d;box-shadow:0 0 0 2px rgba(198,163,93,.22);background:#fffaf0}
.efn-mada .efn-fixed-slot.is-disabled{opacity:.48;cursor:not-allowed;transform:none}
.efn-mada .efn-fixed-slot strong{display:block;color:#274532;font-size:17px;margin-bottom:4px}
.efn-mada .efn-fixed-slot span{display:block;color:#68736c;font-size:13px}
.efn-mada .efn-second-vehicle-choice{margin-top:16px}
.efn-mada .efn-bank-booking{
  border:0;border-radius:999px;background:#c6a35d;color:#1c271f;
  padding:14px 20px;font-weight:900;cursor:pointer
}
@media(max-width:700px){
  .efn-mada .efn-fixed-slots{grid-template-columns:1fr}
}
