.bkmb{--blue:#203640;--blue2:#304b57;--gold:#d4af37;--line:#dce4e5;--muted:#697a81;color:var(--blue);max-width:1180px;margin:0 auto}
.bkmb *{box-sizing:border-box}.bkmb-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.bkmb-progress span{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#849298;font-size:11px;font-weight:900}.bkmb-progress span.is-active{background:#fff5c7;border-color:#e2c34f;color:#6d5708}.bkmb-progress b{font-size:10px}
.bkmb-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(25,48,58,.09)}.bkmb-card--proposal{padding:26px 28px}
.bkmb-head>span,.bkmb-step-head>div>span,.bkmb-confirmation>span{display:block;color:#b8921f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.bkmb-head h2,.bkmb-step-head h2,.bkmb-confirmation h2{margin:6px 0 8px;font:700 clamp(30px,3.4vw,46px)/1.04 Georgia,serif}.bkmb-head p,.bkmb-step-head p,.bkmb-confirmation p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.bkmb-trip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-top:22px;align-items:start}.bkmb-trip .bkmb-primary{grid-column:1/-1}.bkmb label{display:grid;gap:6px}.bkmb label>span{font-size:11px;font-weight:900;color:#52666e}.bkmb label small{color:#8b999e;font-size:9px;line-height:1.35}
.bkmb input,.bkmb select,.bkmb textarea{width:100%;min-height:52px;border:1px solid #ccd7da;border-radius:13px;background:#fff;padding:0 13px;color:var(--blue);font:inherit;outline:none}.bkmb textarea{padding:12px;min-height:100px}.bkmb input[readonly]{background:#f7f9f9;color:#61727a}
.bkmb-primary,.bkmb-secondary{min-height:52px;border:0;border-radius:13px;padding:0 20px;font-weight:900;cursor:pointer}.bkmb-primary{background:var(--gold);color:var(--blue)}.bkmb-secondary{background:#edf2f3;color:var(--blue2)}.bkmb-wide{width:100%;margin-top:14px}
.bkmb-seasons{margin-top:18px;padding-top:15px;border-top:1px solid #e6ebec}.bkmb-seasons>strong{display:block;margin-bottom:8px;color:#6d7d84;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.bkmb-seasons>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bkmb-seasons span{padding:10px 11px;border:1px solid #e0e7e8;border-radius:11px;background:#f8faf9}.bkmb-seasons b,.bkmb-seasons small{display:block}.bkmb-seasons b{font-size:10px}.bkmb-seasons small{margin-top:2px;color:#7a898f;font-size:9px}
.bkmb-error{margin-top:12px;padding:11px 13px;border-radius:11px;background:#fff0f0;color:#933f3f;font-size:12px;font-weight:700}
.bkmb-step-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px}.bkmb-link{border:0;background:transparent;color:#a17e13;text-decoration:underline;font-weight:900;cursor:pointer}
.bkmb-metrics{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:9px}.bkmb-metrics>div{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fafcfc}.bkmb-metrics span{display:block;color:#7d8b91;font-size:9px}.bkmb-metrics strong{display:block;margin-top:4px;font:700 18px Georgia,serif}.bkmb-metrics .is-total{background:#fff8d9;border-color:#ead779}.bkmb-metrics .is-total strong{font-size:28px}
.bkmb-proposal-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;margin-top:12px}.bkmb-trip-detail{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line)}.bkmb-trip-detail>div{padding:12px;background:#fff}.bkmb-trip-detail span{display:block;color:#829096;font-size:9px}.bkmb-trip-detail strong{display:block;margin-top:3px;font-size:11px}
.bkmb-rooms-card{padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:#fbfcfc}.bkmb-rooms-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.bkmb-rooms-head h3{margin:0;font:700 20px Georgia,serif}.bkmb-room-count{color:#829096;font-size:9px}.bkmb-room{display:flex;justify-content:space-between;gap:13px;padding:8px 0;border-bottom:1px solid #e8eeee;font-size:10px}.bkmb-room:last-child{border-bottom:0}.bkmb-room span{color:#65767d}.bkmb-room strong{text-align:right}
.bkmb-includes{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.bkmb-includes strong,.bkmb-includes span{padding:7px 9px;border-radius:999px;background:#eef3f3;color:#53666e;font-size:9px}.bkmb-includes strong{background:#fff1b3;color:#6f5914}
.bkmb-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bkmb-customer{display:grid;gap:12px;margin-top:18px}
.bkmb-confirmation{max-width:760px;margin:0 auto;text-align:center}.bkmb-check{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 10px;border-radius:50%;background:#fff0ad;color:#735a08;font-size:22px;font-weight:900}.bkmb-code{display:inline-block;padding:4px 8px;border-radius:8px;background:var(--blue);color:#fff}.bkmb-confirm-summary{margin:15px auto 0;max-width:560px;padding:14px;border-radius:13px;background:#f7f4ed;text-align:left}.bkmb-confirm-summary div{display:flex;justify-content:space-between;gap:15px;padding:6px 0;font-size:10px}.bkmb-warning{margin:12px auto 0;max-width:600px;padding:12px 14px;border:1px solid #ead779;border-radius:13px;background:#fff8d9;text-align:left}.bkmb-warning strong,.bkmb-warning span{display:block}.bkmb-warning span{margin-top:3px;color:#756a42;font-size:10px}.bkmb-confirm-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:16px}
@media(max-width:900px){.bkmb-metrics{grid-template-columns:1fr 1fr}.bkmb-proposal-grid{grid-template-columns:1fr}}
@media(max-width:700px){.bkmb-trip,.bkmb-two,.bkmb-seasons>div{grid-template-columns:1fr}.bkmb-progress{grid-template-columns:1fr 1fr}.bkmb-progress b{display:none}.bkmb-metrics{grid-template-columns:1fr 1fr}.bkmb-step-head{display:block}.bkmb-step-head .bkmb-link{margin-top:8px}.bkmb-card{padding:22px}}
@media(max-width:480px){.bkmb-metrics,.bkmb-trip-detail{grid-template-columns:1fr}}

/* v1.1 · Bens Pro 4.4 */
.bkmb{--blue:#173b5c;--blue2:#2f6fdd;--gold:#2f6fdd;--line:#dce6ef;--muted:#6c7f90;max-width:100%}
.bkmb-progress span{min-height:50px;border-radius:10px;font-size:10px}.bkmb-progress span.is-active{background:#edf4ff;border-color:#b8d0f4;color:#285c9d}
.bkmb-card{padding:24px;border-radius:15px;border-color:#dce6ef;box-shadow:0 9px 30px rgba(16,42,67,.055)}
.bkmb-head>span,.bkmb-step-head>div>span,.bkmb-confirmation>span{color:#2f6fdd}.bkmb-head h2,.bkmb-step-head h2,.bkmb-confirmation h2{font-family:Inter,system-ui,sans-serif;font-size:clamp(31px,3.3vw,44px);letter-spacing:-.04em}.bkmb-head p,.bkmb-step-head p,.bkmb-confirmation p{font-size:12px}
.bkmb input,.bkmb select,.bkmb textarea{min-height:50px;border-radius:9px}.bkmb-primary,.bkmb-secondary{min-height:50px;border-radius:9px}.bkmb-primary{background:#2f6fdd;color:#fff}
.bkmb-metrics strong,.bkmb-rooms-head h3{font-family:Inter,system-ui,sans-serif}.bkmb-metrics .is-total{background:#edf4ff;border-color:#c4d6f0}
.bkmb-includes strong{background:#dceaff;color:#24538e}.bkmb-includes span{background:#f3f7fb}.bkmb-policy{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.bkmb-policy>div{padding:10px;border:1px solid #dce6ef;border-radius:9px;background:#f8fafc}.bkmb-policy b,.bkmb-policy span{display:block}.bkmb-policy b{font-size:9px}.bkmb-policy span{margin-top:3px;color:#6d8091;font-size:8px;line-height:1.4}
@media(max-width:700px){.bkmb-policy{grid-template-columns:1fr}}

/* v1.2 · selector de salidas programadas */
.bkmb-departure-field select:disabled{background:#f4f7f9;color:#8da0ae}
.bkmb-checkout-note{max-width:620px;margin:16px auto 0;padding:13px 15px;border-radius:11px;text-align:left}
.bkmb-checkout-note strong,.bkmb-checkout-note span{display:block}
.bkmb-checkout-note strong{font-size:11px}
.bkmb-checkout-note span{margin-top:4px;font-size:10px;line-height:1.45}
.bkmb-checkout-note.is-ready{border:1px solid #bfe2cd;background:#eef9f2;color:#285e3b}
.bkmb-checkout-note.is-review{border:1px solid #eed89a;background:#fff8e5;color:#725d1b}


/* v1.3 · calendario visual KMB GO */
.bkmb-calendar-field{grid-column:1/-1}
.bkmb-calendar-title{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:3px 0 8px}
.bkmb-calendar-title>div>span{display:block;color:#52666e;font-size:11px;font-weight:900}
.bkmb-calendar-title small{display:block;margin-top:4px;color:#8093a2;font-size:9px;line-height:1.4}
.bkmb-selected-date{max-width:45%;color:#173b5c;font-size:11px;text-align:right}
.bkmb-calendar{padding:14px;border:1px solid #d8e4ef;border-radius:14px;background:#fbfdff}
.bkmb-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:10px}
.bkmb-calendar-head>strong{text-align:center;color:#173b5c;font-size:15px;text-transform:capitalize}
.bkmb-calendar-nav{width:42px;height:38px;border:1px solid #d6e2ec;border-radius:9px;background:#fff;color:#2f6fdd;font-size:24px;line-height:1;cursor:pointer}
.bkmb-calendar-nav:disabled{opacity:.3;cursor:not-allowed}
.bkmb-calendar-weekdays,.bkmb-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.bkmb-calendar-weekdays{margin-bottom:6px}
.bkmb-calendar-weekdays span{padding:4px 0;color:#8093a2;font-size:9px;font-weight:900;text-align:center}
.bkmb-calendar-empty{min-height:42px}
.bkmb-calendar-day{position:relative;min-height:44px;border:1px solid #d9e4ee;border-radius:9px;background:#fff;color:#173b5c;font-size:11px;font-weight:900;cursor:pointer;transition:.15s}
.bkmb-calendar-day.is-enabled{border-color:#b8d0f4;background:#f6f9ff;color:#245da9}
.bkmb-calendar-day.is-enabled:hover{border-color:#2f6fdd;background:#edf4ff;transform:translateY(-1px)}
.bkmb-calendar-day.is-selected{border-color:#2f6fdd!important;background:#2f6fdd!important;color:#fff!important;box-shadow:0 5px 14px rgba(47,111,221,.22)}
.bkmb-calendar-day.is-disabled{border-color:#edf1f4;background:#f5f6f7;color:#bcc6cd;text-decoration:line-through;cursor:not-allowed}
.bkmb-calendar-day.is-unavailable{border-color:#eee5dc;background:#faf7f4;color:#b5a394;text-decoration:line-through;cursor:not-allowed}
.bkmb-calendar-day[data-season="fiestas"].is-enabled:not(.is-selected)::after,
.bkmb-calendar-day[data-season="alta"].is-enabled:not(.is-selected)::after,
.bkmb-calendar-day[data-season="regular"].is-enabled:not(.is-selected)::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;border-radius:50%;transform:translateX(-50%)}
.bkmb-calendar-day[data-season="fiestas"].is-enabled:not(.is-selected)::after{background:#d59b27}
.bkmb-calendar-day[data-season="alta"].is-enabled:not(.is-selected)::after{background:#31928d}
.bkmb-calendar-day[data-season="regular"].is-enabled:not(.is-selected)::after{background:#2f6fdd}
.bkmb-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #e7eef4;color:#748795;font-size:9px}
.bkmb-calendar-legend span{display:flex;align-items:center;gap:5px}
.bkmb-calendar-legend i{width:10px;height:10px;border-radius:3px;border:1px solid #d9e4ee}
.bkmb-calendar-legend i.is-enabled{background:#edf4ff;border-color:#b8d0f4}
.bkmb-calendar-legend i.is-disabled{background:#f5f6f7;border-color:#edf1f4}
.bkmb-calendar-legend i.is-unavailable{background:#faf7f4;border-color:#eee5dc}
@media(max-width:700px){
  .bkmb-calendar-title{display:block}
  .bkmb-selected-date{display:block;max-width:none;margin-top:7px;text-align:left}
  .bkmb-calendar{padding:10px}
  .bkmb-calendar-weekdays,.bkmb-calendar-days{gap:4px}
  .bkmb-calendar-day{min-height:39px}
}


/* ==========================================================
   v1.4 · Cotizador KMB más limpio, moderno y compacto
   ========================================================== */
.bkmb{
  --blue:#173b5c;
  --blue2:#2f6fdd;
  --line:#dfe7ef;
  --muted:#6d8091;
  --soft:#f6f9fc;
  color:var(--blue);
}
.bkmb-progress{
  position:relative;
  display:flex;
  align-items:center;
  gap:0;
  margin:0 0 18px;
  padding:0 4px;
}
.bkmb-progress:before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:15px;
  height:1px;
  background:#dbe5ef;
}
.bkmb-progress span{
  position:relative;
  z-index:1;
  flex:1;
  min-height:auto!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#94a2ad!important;
  font-size:9px!important;
  font-weight:900;
}
.bkmb-progress span i{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid #d9e4ed;
  border-radius:50%;
  background:#fff;
  color:#8394a1;
  font-style:normal;
  font-size:10px;
  box-shadow:0 2px 7px rgba(16,42,67,.04);
}
.bkmb-progress span b{
  font-size:9px!important;
  font-weight:900;
}
.bkmb-progress span.is-active{
  color:#245da9!important;
}
.bkmb-progress span.is-active i{
  border-color:#2f6fdd;
  background:#2f6fdd;
  color:#fff;
}

.bkmb-card{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bkmb-head--trip{
  margin-bottom:18px;
}
.bkmb-head--trip>span{
  color:#2f6fdd!important;
  font-size:9px!important;
  letter-spacing:.12em;
}
.bkmb-head--trip h2{
  margin:5px 0 7px!important;
  font-size:30px!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
}
.bkmb-head--trip p{
  max-width:680px;
  color:#6d8091!important;
  font-size:12px!important;
  line-height:1.5!important;
}

.bkmb-trip{
  display:grid;
  grid-template-columns:1.1fr .85fr .85fr;
  gap:12px;
  margin-top:0!important;
}
.bkmb label{
  gap:6px;
}
.bkmb label>span{
  color:#607587!important;
  font-size:9px!important;
  font-weight:950!important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.bkmb label small{
  color:#8a9aa6!important;
  font-size:8.5px!important;
  line-height:1.4;
}
.bkmb input,.bkmb select,.bkmb textarea{
  min-height:46px!important;
  border:1px solid #d9e4ed!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#173b5c!important;
  font-size:12px!important;
  box-shadow:0 1px 0 rgba(16,42,67,.02);
}
.bkmb input:focus,.bkmb select:focus,.bkmb textarea:focus{
  border-color:#8fb4ea!important;
  box-shadow:0 0 0 3px rgba(47,111,221,.08)!important;
}

.bkmb-calendar-field{
  grid-column:1/-1;
  margin-top:2px;
}
.bkmb-calendar-title{
  align-items:center;
  margin:2px 0 8px;
}
.bkmb-calendar-title>div>span{
  color:#173b5c!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:none;
}
.bkmb-calendar-title small{
  margin-top:2px!important;
  color:#8293a0!important;
  font-size:8.5px!important;
}
.bkmb-selected-date{
  max-width:48%;
  padding:6px 9px;
  border-radius:8px;
  background:#edf4ff;
  color:#245da9!important;
  font-size:9px!important;
  font-weight:900;
}
.bkmb-calendar{
  padding:11px!important;
  border:1px solid #dfe7ef!important;
  border-radius:12px!important;
  background:#fbfdff!important;
}
.bkmb-calendar-head{
  grid-template-columns:36px 1fr 36px!important;
  margin-bottom:7px!important;
}
.bkmb-calendar-head>strong{
  font-size:13px!important;
}
.bkmb-calendar-nav{
  width:36px!important;
  height:34px!important;
  border-radius:8px!important;
  font-size:20px!important;
}
.bkmb-calendar-weekdays,.bkmb-calendar-days{
  gap:5px!important;
}
.bkmb-calendar-weekdays span{
  padding:2px 0!important;
  color:#8a99a5!important;
  font-size:8px!important;
}
.bkmb-calendar-empty{
  min-height:36px!important;
}
.bkmb-calendar-day{
  min-height:38px!important;
  border-radius:8px!important;
  font-size:10px!important;
}
.bkmb-calendar-day.is-enabled{
  border-color:#c7d9f2!important;
  background:#f8fbff!important;
}
.bkmb-calendar-day.is-enabled:hover{
  background:#edf4ff!important;
  transform:none!important;
}
.bkmb-calendar-day.is-selected{
  box-shadow:none!important;
}
.bkmb-calendar-legend{
  gap:10px!important;
  margin-top:9px!important;
  padding-top:8px!important;
  font-size:8px!important;
}

.bkmb-trip-summary{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.bkmb-trip-summary label{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px!important;
  padding:10px 12px;
  border:1px solid #e1e9f0;
  border-radius:10px;
  background:#f8fafc;
}
.bkmb-trip-summary label>span{
  white-space:nowrap;
}
.bkmb-trip-summary input{
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:right;
  font-weight:900;
}
.bkmb-trip-submit{
  grid-column:1/-1;
  min-height:48px!important;
  border-radius:10px!important;
  background:#2f6fdd!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
  box-shadow:0 9px 20px rgba(47,111,221,.16);
}
.bkmb-trip-submit:hover{
  background:#265fc5!important;
}

/* Other steps keep a polished white card when active */
.bkmb-card--proposal,
.bkmb-card[data-step="data"],
.bkmb-confirmation{
  padding:24px!important;
  border:1px solid #dfe7ef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(16,42,67,.06)!important;
}

@media(max-width:700px){
  .bkmb-progress:before{left:22px;right:22px}
  .bkmb-progress span b{display:block!important;font-size:8px!important}
  .bkmb-trip{grid-template-columns:1fr}
  .bkmb-trip-summary{grid-template-columns:1fr}
  .bkmb-selected-date{display:inline-flex;max-width:none;margin-top:7px}
}


/* ==========================================================
   v1.5 · calendario compacto + submit más claro
   ========================================================== */
.bkmb-head--trip h2{
  font-size:26px!important;
}
.bkmb-head--trip p{
  font-size:11px!important;
}
.bkmb-trip{
  grid-template-columns:1fr .78fr .78fr!important;
  gap:10px!important;
}
.bkmb-calendar-field{
  margin-top:0!important;
}
.bkmb-calendar-title{
  margin:0 0 6px!important;
}
.bkmb-calendar-title > div > span{
  font-size:9px!important;
}
.bkmb-selected-date{
  padding:5px 8px!important;
  font-size:8.5px!important;
}
.bkmb-calendar{
  padding:8px!important;
  border-radius:10px!important;
}
.bkmb-calendar-head{
  margin-bottom:5px!important;
}
.bkmb-calendar-head > strong{
  font-size:12px!important;
}
.bkmb-calendar-nav{
  width:32px!important;
  height:30px!important;
  font-size:17px!important;
}
.bkmb-calendar-weekdays,
.bkmb-calendar-days{
  gap:4px!important;
}
.bkmb-calendar-weekdays span{
  font-size:7.5px!important;
}
.bkmb-calendar-empty{
  min-height:30px!important;
}
.bkmb-calendar-day{
  min-height:31px!important;
  padding:0!important;
  border-radius:7px!important;
  font-size:9px!important;
}
.bkmb-calendar-day small{
  font-size:7px!important;
}
.bkmb-calendar-legend{
  margin-top:7px!important;
  padding-top:7px!important;
  gap:8px!important;
  font-size:7.5px!important;
}
.bkmb-trip-summary{
  gap:8px!important;
}
.bkmb-trip-summary label{
  padding:8px 10px!important;
}
.bkmb-trip-summary input{
  font-size:10px!important;
}
.bkmb-trip-submit{
  min-height:44px!important;
  margin-top:2px!important;
  font-size:11px!important;
}

@media(min-width:900px){
  .bkmb-calendar-field{
    max-width:700px!important;
  }
}

@media(max-width:700px){
  .bkmb-head--trip h2{font-size:23px!important}
  .bkmb-calendar{
    padding:7px!important;
  }
  .bkmb-calendar-day{
    min-height:28px!important;
    font-size:8.5px!important;
  }
  .bkmb-trip-submit{
    min-height:42px!important;
  }
}


/* ==========================================================
   v1.7 · flujo por rango + datepicker desplegable
   ========================================================== */

.bkmb-card--trip{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bkmb-progress--compact{
  margin-bottom:16px!important;
}
.bkmb-trip{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.bkmb-package-step,
.bkmb-travel-step,
.bkmb-date-step{
  padding:0!important;
}
.bkmb-section-minihead{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.bkmb-section-minihead>span{
  flex:0 0 auto;
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:#edf4ff;
  color:#2f6fdd;
  font-size:10px;
  font-weight:950;
}
.bkmb-section-minihead strong,
.bkmb-section-minihead small{
  display:block;
}
.bkmb-section-minihead strong{
  color:#173b5c;
  font-size:13px;
  line-height:1.25;
}
.bkmb-section-minihead small{
  margin-top:2px;
  color:#81919e;
  font-size:9px;
  line-height:1.35;
}

.bkmb-package-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.bkmb-package-option{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:8px!important;
  min-width:0;
  padding:11px 12px;
  border:1px solid #dfe7ef;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.bkmb-package-option:hover{
  border-color:#aec8ee;
  background:#fbfdff;
}
.bkmb-package-option.is-selected{
  border-color:#2f6fdd;
  background:#f2f7ff;
  box-shadow:0 0 0 2px rgba(47,111,221,.07);
}
.bkmb-package-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.bkmb-package-option span,
.bkmb-package-option b,
.bkmb-package-option small{
  display:block;
}
.bkmb-package-option b{
  color:#173b5c;
  font-size:10px;
}
.bkmb-package-option small{
  margin-top:2px!important;
  color:#82919d!important;
  font-size:8px!important;
  line-height:1.3;
  text-transform:none!important;
}
.bkmb-package-option>i{
  flex:0 0 auto;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border:1px solid #d7e1ea;
  border-radius:50%;
  color:transparent;
  font-style:normal;
  font-size:10px;
}
.bkmb-package-option.is-selected>i{
  border-color:#2f6fdd;
  background:#2f6fdd;
  color:#fff;
}

.bkmb-trip-fields{
  display:grid;
  grid-template-columns:1.1fr .8fr .8fr;
  gap:9px;
}
.bkmb-trip-fields label{
  min-width:0;
}
.bkmb-trip-fields select{
  min-height:44px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:11px!important;
}

.bkmb-date-picker{
  position:relative;
  max-width:420px;
}
.bkmb-date-trigger{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:9px 12px;
  border:1px solid #d9e4ed;
  border-radius:10px;
  background:#fff;
  color:#173b5c;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.bkmb-date-trigger:hover:not(:disabled){
  border-color:#9ebce7;
  box-shadow:0 0 0 3px rgba(47,111,221,.06);
}
.bkmb-date-trigger:disabled{
  background:#f4f6f8;
  color:#a7b2bb;
  cursor:not-allowed;
}
.bkmb-date-trigger span,
.bkmb-date-trigger small,
.bkmb-date-trigger strong{
  display:block;
}
.bkmb-date-trigger small{
  margin:0 0 2px!important;
  color:#8594a0!important;
  font-size:8px!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.bkmb-date-trigger strong{
  font-size:11px;
  line-height:1.25;
}
.bkmb-date-trigger>i{
  flex:0 0 auto;
  color:#2f6fdd;
  font-style:normal;
  font-size:18px;
}

.bkmb-date-popover{
  position:absolute;
  z-index:30;
  top:calc(100% + 7px);
  left:0;
  width:320px;
  padding:10px;
  border:1px solid #dce6ee;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 42px rgba(16,42,67,.16);
}
.bkmb-date-popover[hidden]{
  display:none!important;
}
.bkmb-date-popover .bkmb-calendar-head{
  display:grid!important;
  grid-template-columns:32px 1fr 32px!important;
  align-items:center;
  gap:7px;
  margin-bottom:7px!important;
}
.bkmb-date-popover .bkmb-calendar-head>strong{
  text-align:center;
  color:#173b5c;
  font-size:11px!important;
  text-transform:capitalize;
}
.bkmb-date-popover .bkmb-calendar-nav{
  width:32px!important;
  height:30px!important;
  border:1px solid #dfe7ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#2f6fdd!important;
  font-size:17px!important;
}
.bkmb-date-popover .bkmb-calendar-weekdays,
.bkmb-date-popover .bkmb-calendar-days{
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  gap:3px!important;
}
.bkmb-date-popover .bkmb-calendar-weekdays{
  margin-bottom:3px!important;
}
.bkmb-date-popover .bkmb-calendar-weekdays span{
  padding:2px 0!important;
  color:#8b99a4!important;
  font-size:7px!important;
  text-align:center;
}
.bkmb-date-popover .bkmb-calendar-empty{
  min-height:29px!important;
}
.bkmb-date-popover .bkmb-calendar-day{
  min-height:29px!important;
  padding:0!important;
  border-radius:7px!important;
  font-size:8.5px!important;
  line-height:1!important;
}
.bkmb-date-popover .bkmb-calendar-day.is-enabled{
  border:1px solid #c6d8f1!important;
  background:#f8fbff!important;
  color:#245da9!important;
}
.bkmb-date-popover .bkmb-calendar-day.is-enabled:hover{
  border-color:#2f6fdd!important;
  background:#edf4ff!important;
}
.bkmb-date-popover .bkmb-calendar-day.is-selected{
  border-color:#2f6fdd!important;
  background:#2f6fdd!important;
  color:#fff!important;
  box-shadow:none!important;
}
.bkmb-date-popover .bkmb-calendar-day.is-disabled{
  border:1px solid transparent!important;
  background:#f4f6f7!important;
  color:#bec6cc!important;
  text-decoration:none!important;
}
.bkmb-date-popover .bkmb-calendar-day.is-unavailable{
  border:1px solid transparent!important;
  background:#f8f3ef!important;
  color:#b7a798!important;
}
.bkmb-date-popover .bkmb-calendar-legend{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap;
  margin-top:7px!important;
  padding-top:7px!important;
  border-top:1px solid #edf1f4!important;
  color:#82919c!important;
  font-size:7px!important;
}
.bkmb-date-popover .bkmb-calendar-legend span{
  display:flex;
  align-items:center;
  gap:4px;
}
.bkmb-date-popover .bkmb-calendar-legend i{
  width:8px!important;
  height:8px!important;
  border-radius:2px!important;
}
.bkmb-calendar-empty-message{
  grid-column:1/-1;
  padding:20px 10px;
  color:#7e8f9b;
  font-size:9px;
  text-align:center;
}

.bkmb-date-result{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  margin-top:9px;
}
.bkmb-date-result[hidden]{
  display:none!important;
}
.bkmb-date-result>div{
  padding:8px 9px;
  border:1px solid #e2e9ef;
  border-radius:9px;
  background:#fafcfd;
}
.bkmb-date-result small,
.bkmb-date-result strong{
  display:block;
}
.bkmb-date-result small{
  color:#84939e;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}
.bkmb-date-result strong{
  margin-top:2px;
  color:#173b5c;
  font-size:9px;
}

.bkmb-trip-submit{
  min-height:46px!important;
  margin-top:0!important;
  border-radius:10px!important;
  font-size:11px!important;
}

@media(max-width:760px){
  .bkmb-package-options{
    grid-template-columns:1fr;
  }
  .bkmb-trip-fields{
    grid-template-columns:1fr;
  }
  .bkmb-date-picker{
    max-width:none;
  }
  .bkmb-date-popover{
    width:min(320px,calc(100vw - 42px));
  }
  .bkmb-date-result{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v1.8 · armonía visual del primer paso
   ========================================================== */
.bkmb-progress--compact{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:0!important;
  padding:0 0 13px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid #e7edf3!important;
}
.bkmb-progress--compact:before{display:none!important}
.bkmb-progress--compact span{
  min-width:0!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  gap:6px!important;
  color:#8a99a5!important;
  font-size:9px!important;
}
.bkmb-progress--compact span i{
  width:22px!important;height:22px!important;
  border-radius:50%!important;
  border:1px solid #dce5ed!important;
  background:#fff!important;
  color:#7f8f9c!important;
  font-size:8px!important;
  box-shadow:none!important;
}
.bkmb-progress--compact span b{font-size:9px!important;font-weight:850!important}
.bkmb-progress--compact span.is-active{color:#173b5c!important}
.bkmb-progress--compact span.is-active i{
  border-color:#173b5c!important;
  background:#173b5c!important;
  color:#fff!important;
}

.bkmb-trip{gap:15px!important}
.bkmb-package-step,.bkmb-travel-step,.bkmb-date-step{
  padding:0 0 15px!important;
  border-bottom:1px solid #e9eef3!important;
}
.bkmb-date-step{padding-bottom:0!important;border-bottom:0!important}
.bkmb-section-minihead--plain{margin-bottom:9px!important}
.bkmb-section-minihead--plain>span{display:none!important}
.bkmb-section-minihead--plain strong{
  font-size:12px!important;
  color:#173b5c!important;
  letter-spacing:-.01em!important;
}
.bkmb-section-minihead--plain small{
  margin-top:2px!important;
  font-size:8.5px!important;
  color:#8a98a3!important;
}

.bkmb-package-options{
  grid-template-columns:1.15fr .78fr .88fr!important;
  gap:7px!important;
  padding:3px!important;
  border:1px solid #e1e8ef!important;
  border-radius:11px!important;
  background:#f6f8fa!important;
}
.bkmb-package-option{
  min-height:58px!important;
  padding:9px 10px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bkmb-package-option:hover{background:#fff!important;border-color:#e1e8ef!important}
.bkmb-package-option.is-selected{
  border-color:#ccd9e7!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(16,42,67,.06)!important;
}
.bkmb-package-option b{
  font-size:9.5px!important;
  line-height:1.15!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.bkmb-package-option small{
  margin-top:4px!important;
  font-size:7.7px!important;
  color:#8795a1!important;
}
.bkmb-package-option>i{
  width:17px!important;height:17px!important;
  border-color:#cfd9e2!important;
  font-size:8px!important;
}
.bkmb-package-option.is-selected>i{
  border-color:#2f6fdd!important;
  background:#2f6fdd!important;
}

.bkmb-trip-fields{grid-template-columns:1.08fr .76fr .76fr!important;gap:8px!important}
.bkmb-trip-fields label>span{
  font-size:8px!important;
  color:#687b8a!important;
}
.bkmb-trip-fields select{
  min-height:42px!important;
  border-color:#dfe7ee!important;
  background:#fff!important;
  font-size:10.5px!important;
}
.bkmb-route-help{
  display:block!important;
  max-width:270px!important;
  margin-top:4px!important;
  color:#9aa7b0!important;
  font-size:7.4px!important;
  line-height:1.35!important;
}

.bkmb-date-picker{max-width:100%!important}
.bkmb-date-trigger{
  max-width:370px!important;
  min-height:48px!important;
  padding:8px 11px!important;
  border-radius:9px!important;
  border-color:#dfe7ee!important;
  box-shadow:none!important;
}
.bkmb-date-trigger:hover:not(:disabled){box-shadow:none!important;background:#fbfdff!important}
.bkmb-date-trigger small{font-size:7.5px!important;color:#8c99a4!important}
.bkmb-date-trigger strong{font-size:10.5px!important}
.bkmb-date-trigger>i{font-size:16px!important}

.bkmb-date-result{max-width:520px!important;margin-top:7px!important;gap:6px!important}
.bkmb-date-result>div{padding:7px 8px!important;border-radius:8px!important;background:#fbfcfd!important}
.bkmb-date-result small{font-size:6.8px!important}
.bkmb-date-result strong{font-size:8.5px!important}

.bkmb-trip-submit{
  min-height:44px!important;
  width:100%!important;
  border-radius:9px!important;
  background:#2f6fdd!important;
  box-shadow:none!important;
  font-size:10.5px!important;
  letter-spacing:0!important;
}
.bkmb-trip-submit:hover{background:#285fca!important}

@media(max-width:760px){
  .bkmb-package-options{grid-template-columns:1fr!important}
  .bkmb-trip-fields{grid-template-columns:1fr!important}
}

/* ==========================================================
   v1.8.1 · alineación y ritmo visual del formulario
   ========================================================== */
.bkmb-trip-fields{
  align-items:start!important;
}
.bkmb-trip-fields label{
  display:grid!important;
  grid-template-rows:auto 44px minmax(18px,auto)!important;
  align-content:start!important;
  gap:6px!important;
}
.bkmb-trip-fields label > span{
  align-self:start!important;
}
.bkmb-trip-fields select{
  width:100%!important;
  align-self:stretch!important;
}
.bkmb-trip-fields label > small,
.bkmb-route-help{
  display:block!important;
  min-height:18px!important;
}
.bkmb-trip-fields label:not(:first-child) > small::before{
  content:"\00a0";
}
.bkmb-package-options,
.bkmb-trip-fields,
.bkmb-date-trigger,
.bkmb-date-result,
.bkmb-trip-submit{
  max-width:100%!important;
}
@media(max-width:760px){
  .bkmb-trip-fields label{
    grid-template-rows:auto 44px auto!important;
  }
}
