#efeight-app{max-width:980px;margin:24px auto;padding:24px;border:1px solid #c9c9c9;background:#fff;color:#1a1a1a}
#efeight-app h3{color:#111;font-weight:700;margin-bottom:10px}
.efeight-btn{display:block;width:100%;max-width:520px;margin:10px 0;padding:12px 14px;cursor:pointer;border:1px solid #8f8f8f;background:#f2f2f2;color:#111;text-align:left;font-weight:600}
.efeight-btn:hover{background:#e5e5e5;border-color:#666}
.efeight-btn-inline{max-width:220px;text-align:center}
.efeight-nav{margin-top:20px}
.efeight-sub{color:#444;margin-bottom:16px}
.efeight-extra-row{display:flex;align-items:center;gap:14px;margin:10px 0;max-width:760px}
.efeight-extra-label{flex:1;color:#1a1a1a}
.efeight-qty{width:90px;padding:8px;border:1px solid #8f8f8f;color:#111;background:#fff}
.efeight-summary{max-width:760px;padding:16px;border:1px solid #c9c9c9;background:#fafafa;color:#111;margin-bottom:18px}
.efeight-summary-secondary{background:#f4f8ff}
.efeight-binary-wrap{display:flex;gap:8px}
.efeight-binary-btn{padding:8px 14px;border:1px solid #8f8f8f;background:#f2f2f2;color:#111;cursor:pointer}
.efeight-binary-btn.is-active{background:#dcdcdc;border-color:#555;font-weight:700}
.efeight-commercial{max-width:760px;padding:16px;border:1px solid #c9c9c9;background:#fff}
.efeight-commercial-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.efeight-email{flex:1;min-width:260px;padding:10px;border:1px solid #8f8f8f;background:#fff;color:#111}
.efeight-feedback{margin-top:10px;color:#444}
.efeight-commercial-box{margin-top:12px;padding-top:10px;border-top:1px solid #d0d0d0}

.efeight-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.efeight-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.efeight-form-grid input,.efeight-form-grid textarea{padding:10px 12px;border:1px solid #ccd0d4;border-radius:8px;background:#fff}
.efeight-full{grid-column:1 / -1}
.efeight-btn-secondary{background:#f6f7f7;color:#1d2327;border:1px solid #ccd0d4}
.efeight-quote-mini hr{margin:12px 0}
@media (max-width: 700px){.efeight-form-grid{grid-template-columns:1fr}}

.efeight-calendar-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:20px 0}
.efeight-calendar-month{border:1px solid #d8d8d8;border-radius:10px;padding:14px;background:#fff}
.efeight-calendar-title{margin:0 0 10px 0;font-size:16px}
.efeight-calendar-head,.efeight-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.efeight-calendar-head-cell{text-align:center;font-size:12px;color:#666;font-weight:700;padding:4px 0}
.efeight-day{min-height:42px;border-radius:8px;background:#fff;border:1px solid #d9d9d9;color:#222;display:flex;align-items:center;justify-content:center;padding:6px}
.efeight-day.available{border:1px solid #a5a5a5;background:#fff;cursor:pointer}
.efeight-day.unavailable{background:#efefef;color:#9a9a9a;border:1px solid #e1e1e1;cursor:not-allowed}
.efeight-day.selected{border-color:#1d2327;background:#f8f8f8;font-weight:700}
.efeight-day.blank{visibility:hidden;border:none;background:transparent}
.efeight-day-number{font-weight:600}
.efeight-slots-wrap{max-width:760px;margin:12px 0 22px 0}
.efeight-slot-grid{display:flex;flex-wrap:wrap;gap:10px}
.efeight-slot-btn{padding:10px 14px;border:1px solid #b0b0b0;background:#fff;color:#111;border-radius:8px;cursor:pointer;min-width:72px}
.efeight-slot-btn.selected{background:#f0f0f0;border-color:#111;font-weight:700}
.efeight-validation-box{max-width:760px;margin-top:12px;padding:12px 14px;border:1px solid #e0b4b4;background:#fff8f8;color:#8a1f1f;border-radius:8px}
.efeight-validation-box ul{margin:0;padding-left:18px}


/* UX refresh v1.9.6.10 - wizard público */
#efeight-app{border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.06);border:1px solid #e1e4e8;padding:28px}
.efeight-step-header{margin:14px 0 18px 0}
.efeight-step-header h3{font-size:28px;line-height:1.15;margin:0 0 8px 0}
.efeight-progress{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:18px}
.efeight-progress-item{display:flex;align-items:center;gap:7px;min-width:0;padding:8px;border:1px solid #e1e4e8;border-radius:999px;background:#fafafa;color:#68717a}
.efeight-progress-item span{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e9ecef;color:#333;font-size:12px;font-weight:700;flex:0 0 auto}
.efeight-progress-item small{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.efeight-progress-item.is-active{border-color:#1d2327;background:#fff;color:#111;font-weight:700}
.efeight-progress-item.is-active span{background:#1d2327;color:#fff}
.efeight-progress-item.is-done{background:#f4f8f4;color:#273b27}
.efeight-progress-item.is-done span{background:#273b27;color:#fff}
.efeight-selection-overview{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px 0;padding:12px;border:1px solid #e4e7eb;border-radius:14px;background:#fbfbfb}
.efeight-selection-overview span{font-size:13px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #e6e6e6}
.efeight-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0 22px 0}
.efeight-choice{display:flex;flex-direction:column;gap:6px;width:100%;min-height:94px;padding:16px;text-align:left;border:1px solid #d8dde3;border-radius:16px;background:#fff;color:#111;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.efeight-choice:hover{transform:translateY(-1px);border-color:#1d2327;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.efeight-choice-main{font-size:17px;font-weight:800;line-height:1.2}
.efeight-choice-sub{font-size:13px;line-height:1.35;color:#4e5965}
.efeight-choice-meta{align-self:flex-start;margin-top:auto;padding:5px 9px;border-radius:999px;background:#f3f4f5;color:#111;font-size:12px;font-weight:700}
.efeight-price-card{border:1px solid #e2e5e9;border-radius:16px;background:#fff;overflow:hidden}
.efeight-price-total{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px;background:#f7f8f9;border-bottom:1px solid #e2e5e9}
.efeight-price-total span{font-size:14px;color:#59636e;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.efeight-price-total strong{font-size:30px;line-height:1;color:#111}
.efeight-price-breakdown{padding:12px 18px}
.efeight-price-breakdown div,.efeight-extra-summary li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #f0f1f2}
.efeight-price-breakdown div:last-child,.efeight-extra-summary li:last-child{border-bottom:none}
.efeight-price-breakdown span,.efeight-extra-summary span{color:#4e5965}

.efeight-package-summary{padding:4px 18px 14px 18px;border-top:1px solid #f0f1f2}
.efeight-package-summary h4{margin:10px 0 8px 0;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.efeight-package-summary strong{display:block;margin:0 0 5px 0;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.efeight-package-summary p{margin:0;color:#4e5965;font-size:14px;line-height:1.45}
.efeight-extra-summary{padding:0 18px 14px 18px}
.efeight-extra-summary h4{margin:8px 0 6px 0}
.efeight-extra-summary ul{list-style:none;margin:0;padding:0}
.efeight-summary{border-radius:16px;border-color:#e1e4e8;background:#fff}
.efeight-summary-secondary{background:#f7f9fb}
.efeight-btn{border-radius:14px;border-color:#d8dde3;background:#111;color:#fff;text-align:center;font-weight:800;transition:opacity .12s ease,transform .12s ease}
.efeight-btn:hover{background:#111;border-color:#111;opacity:.88;transform:translateY(-1px)}
.efeight-btn-secondary{background:#fff;color:#111;border-color:#d8dde3}
.efeight-btn-secondary:hover{background:#f6f7f7;color:#111;border-color:#aeb7c0}
.efeight-extra-row{padding:12px;border:1px solid #e1e4e8;border-radius:14px;background:#fff}
.efeight-binary-btn,.efeight-slot-btn,.efeight-day{transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}
.efeight-binary-btn{border-radius:999px;background:#fff}
.efeight-binary-btn.is-active{background:#111;color:#fff;border-color:#111}
.efeight-day.available:hover,.efeight-slot-btn:hover{border-color:#111;box-shadow:0 6px 16px rgba(0,0,0,.07)}
.efeight-slot-btn.selected,.efeight-day.selected{background:#111;color:#fff;border-color:#111}
.efeight-form-grid input,.efeight-form-grid textarea,.efeight-email,.efeight-qty{border-radius:12px;border-color:#d8dde3}
@media (max-width: 900px){.efeight-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.efeight-progress-item small{font-size:11px}}
@media (max-width: 560px){#efeight-app{margin:0;padding:18px;border-radius:0;border-left:none;border-right:none}.efeight-step-header h3{font-size:24px}.efeight-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.efeight-price-total{align-items:flex-start;flex-direction:column}.efeight-price-total strong{font-size:26px}.efeight-extra-row{align-items:flex-start;flex-direction:column}.efeight-binary-wrap{width:100%}.efeight-binary-btn{flex:1}}


/* Visual asset integration v1.9.6.13 */
.efeight-visual-choice{padding:0;overflow:hidden;gap:0}
.efeight-choice-image{display:block;width:100%;background:#f1f2f3;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid #e2e5e9}
.efeight-choice-image img{display:block;width:100%;height:100%;object-fit:cover}
.efeight-choice-content{display:flex;flex-direction:column;gap:6px;padding:14px;min-height:120px}
.efeight-extra-row{align-items:stretch}
.efeight-extra-image{width:220px;max-width:35%;border-radius:12px;overflow:hidden;background:#f2f2f2;flex:0 0 220px}
.efeight-extra-image img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.efeight-extra-image{width:100%;max-width:100%;flex-basis:auto;aspect-ratio:16/5}.efeight-extra-row{align-items:flex-start}}

/* UX polishing v1.9.6.28 - mobile-first tarificador */
#efeight-app{
  max-width:440px;
  letter-spacing:normal;
}
#efeight-app h3,
#efeight-app h4,
.efeight-choice-main,
.efeight-choice-sub,
.efeight-choice-meta,
.efeight-step-header h3,
.efeight-form-grid label{
  letter-spacing:.035em;
}
.efeight-step-header h3{
  font-size:25px;
  line-height:1.18;
}
.efeight-sub{
  line-height:1.55;
}
.efeight-progress{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.efeight-progress-item{
  width:32px;
  height:32px;
  padding:0;
  justify-content:center;
  border-radius:999px;
  flex:0 0 auto;
}
.efeight-progress-item span{
  width:20px;
  height:20px;
}
.efeight-progress-item small{
  display:none;
}
.efeight-selection-overview{
  gap:6px;
  padding:10px;
}
.efeight-selection-overview span{
  font-size:12px;
  line-height:1.2;
  padding:6px 8px;
}
.efeight-choice-grid{
  grid-template-columns:1fr;
  gap:10px;
}
.efeight-choice:not(.efeight-visual-choice){
  min-height:68px;
  padding:13px 15px;
  gap:5px;
}
.efeight-choice-main{
  font-size:16px;
  line-height:1.25;
}
.efeight-choice-sub{
  font-size:13px;
  line-height:1.35;
  color:#334155;
}
.efeight-choice-meta:empty{
  display:none;
}
.efeight-visual-choice .efeight-choice-sub{
  font-size:13px;
  line-height:1.42;
}
.efeight-visual-choice .efeight-choice-content{
  min-height:auto;
  padding:13px 14px 15px 14px;
}
.efeight-choice-image{
  aspect-ratio:16/6.4;
}
.efeight-extra-card{
  border:1px solid #e1e4e8;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  margin:12px 0;
}
.efeight-extra-card-image{
  width:100%;
  aspect-ratio:16/4.6;
  background:#eef0f2;
  overflow:hidden;
}
.efeight-extra-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.efeight-extra-card-body{
  padding:13px 14px 14px 14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 14px;
  align-items:center;
}
.efeight-extra-card-title{
  font-size:15px;
  line-height:1.25;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.efeight-extra-card-price{
  justify-self:end;
  font-size:13px;
  font-weight:800;
  padding:5px 9px;
  border-radius:999px;
  background:#f3f4f6;
  white-space:nowrap;
}

.efeight-extra-card-description{
  grid-column:1 / -1;
  color:#4e5965;
  font-size:13px;
  line-height:1.4;
  margin-top:-2px;
}
.efeight-extra-card-control{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.efeight-segmented-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
  border:1px solid #d8dde3;
  border-radius:999px;
  overflow:hidden;
  background:#fff;
}
.efeight-segmented-toggle .efeight-binary-btn{
  border:0;
  border-radius:0;
  padding:11px 12px;
  background:#fff;
  color:#111;
  font-weight:800;
}
.efeight-segmented-toggle .efeight-binary-btn + .efeight-binary-btn{
  border-left:1px solid #d8dde3;
}
.efeight-segmented-toggle .efeight-binary-btn.is-active{
  background:#111;
  color:#fff;
}
.efeight-stepper-btn{
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  border:1px solid #d8dde3;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:20px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  appearance:none;
  -webkit-appearance:none;
}
.efeight-qty-compact{
  width:68px;
  height:42px;
  text-align:center;
  font-weight:800;
}
.efeight-price-total{
  align-items:flex-start;
  flex-direction:column;
  gap:8px;
}
.efeight-price-total strong{
  white-space:nowrap;
  font-size:34px;
  line-height:1.05;
}
.efeight-price-breakdown div,
.efeight-extra-summary li{
  align-items:flex-start;
}
.efeight-price-breakdown strong,
.efeight-extra-summary strong{
  white-space:nowrap;
}
.efeight-commercial{
  border-radius:16px;
  border-color:#e1e4e8;
}
.efeight-commercial h4,
.efeight-summary h4{
  margin-top:0;
}
.efeight-commercial-row{
  display:block;
}
.efeight-email{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  margin-bottom:10px;
}
.efeight-summary p{
  margin:8px 0;
  line-height:1.45;
}
.efeight-form-grid{
  gap:14px;
}
.efeight-btn{
  max-width:none;
}
@media (max-width: 560px){
  #efeight-app{
    max-width:none;
    margin:0 auto;
    padding:18px;
    border-radius:0;
  }
  .efeight-step-header h3{font-size:23px}
  .efeight-price-total strong{font-size:31px}
}


/* UX polishing v1.9.6.29 - typography and service cards refinement */
.efeight-choice-main,
.efeight-extra-card-title{
  text-transform:uppercase;
}
.efeight-choice-sub{
  text-transform:lowercase;
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
}
.efeight-visual-choice .efeight-choice-sub{
  text-align:justify;
  text-align-last:left;
}
.efeight-choice-image img{
  object-position:center top;
}
.efeight-visual-choice .efeight-choice-image{
  aspect-ratio:16/6.9;
}
.efeight-form-grid label{
  font-size:13px;
  line-height:1.35;
}
.efeight-form-grid input,
.efeight-form-grid textarea{
  font-size:15px;
}
.efeight-step-header:has(.efeight-sub:empty){
  margin-bottom:10px;
}
.efeight-sub:empty{
  display:none;
}

/* UX refinement v1.9.6.30 - paragraph consistency */
.efeight-choice-sub{
  text-transform:none;
}
.efeight-summary-secondary p{
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
}


/* UX hardening v1.9.6.32 - consistent states, scroll support and text alignment */
#efeight-app .efeight-choice,
#efeight-app .efeight-choice *,
#efeight-app .efeight-stepper-btn,
#efeight-app .efeight-binary-btn,
#efeight-app .efeight-slot-btn,
#efeight-app .efeight-day{
  -webkit-tap-highlight-color:rgba(0,0,0,.08);
}

#efeight-app .efeight-choice:hover,
#efeight-app .efeight-choice:focus,
#efeight-app .efeight-choice:focus-visible{
  background:#f7f8f9 !important;
  color:#111 !important;
  border-color:#111 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.08) !important;
  outline:none !important;
}

#efeight-app .efeight-choice:hover .efeight-choice-main,
#efeight-app .efeight-choice:hover .efeight-choice-sub,
#efeight-app .efeight-choice:focus .efeight-choice-main,
#efeight-app .efeight-choice:focus .efeight-choice-sub,
#efeight-app .efeight-choice:focus-visible .efeight-choice-main,
#efeight-app .efeight-choice:focus-visible .efeight-choice-sub{
  color:#111 !important;
}

#efeight-app .efeight-choice:active{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

#efeight-app .efeight-choice:active .efeight-choice-main,
#efeight-app .efeight-choice:active .efeight-choice-sub,
#efeight-app .efeight-choice:active .efeight-choice-meta{
  color:#fff !important;
}

#efeight-app .efeight-choice:active .efeight-choice-meta{
  background:rgba(255,255,255,.16) !important;
}

#efeight-app .efeight-stepper-btn:hover,
#efeight-app .efeight-stepper-btn:focus,
#efeight-app .efeight-stepper-btn:active,
#efeight-app .efeight-binary-btn.is-active,
#efeight-app .efeight-slot-btn.selected,
#efeight-app .efeight-day.selected{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  outline:none !important;
}

#efeight-app .efeight-binary-btn:not(.is-active):hover,
#efeight-app .efeight-slot-btn:not(.selected):hover,
#efeight-app .efeight-day.available:not(.selected):hover{
  background:#f7f8f9 !important;
  color:#111 !important;
  border-color:#111 !important;
}

#efeight-app .efeight-sub,
#efeight-app .efeight-summary p,
#efeight-app .efeight-summary-secondary p{
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
}

#efeight-app .efeight-summary p strong,
#efeight-app .efeight-price-card,
#efeight-app .efeight-price-card *{
  text-align:initial;
  hyphens:none;
}

/* UX polishing v1.9.6.34 - compact single-line progress stepper */
#efeight-app .efeight-progress{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin:0 0 22px 0 !important;
  padding:0 !important;
  width:100%;
}
#efeight-app .efeight-progress-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#efeight-app .efeight-progress-item small{
  display:none !important;
}
#efeight-app .efeight-progress-item span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  border:1px solid #d8dde3 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#49525b !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  box-sizing:border-box !important;
}
#efeight-app .efeight-progress-item.is-done span{
  background:#243b2f !important;
  border-color:#243b2f !important;
  color:#fff !important;
}
#efeight-app .efeight-progress-item.is-active span{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(0,0,0,.08) !important;
}
#efeight-app .efeight-progress-item:hover span,
#efeight-app .efeight-progress-item:focus span,
#efeight-app .efeight-progress-item:active span{
  border-color:#111 !important;
}
@media (max-width: 380px){
  #efeight-app .efeight-progress{gap:5px !important;}
  #efeight-app .efeight-progress-item{width:25px !important;height:25px !important;min-width:25px !important;}
  #efeight-app .efeight-progress-item span{width:24px !important;height:24px !important;min-width:24px !important;font-size:10px !important;}
}
