.ea-brand{display:flex;align-items:center;justify-content:center;gap:14px;max-width:760px;margin:0 auto 22px;padding:14px 18px;border:1px solid #e5ebf3;border-radius:16px;background:#fff;box-shadow:0 10px 32px rgba(13,45,87,.055)}.ea-brand-logo{display:block;width:58px;height:58px;object-fit:contain;flex:0 0 58px}.ea-brand-copy{display:flex;flex-direction:column;gap:3px;text-align:left}.ea-brand-copy strong{color:#0d2d57;font-size:16px;line-height:1.25}.ea-brand-copy span{color:#66758a;font-size:12px;line-height:1.45}.ea-service-card,.ea-service-card:hover,.ea-service-card:focus,.ea-service-card:active{background:#fff!important;color:#243247!important}.ea-service-card:hover .ea-service-body,.ea-service-card:focus .ea-service-body,.ea-service-card:active .ea-service-body{background:#fff!important}.ea-service-card:hover .ea-service-name,.ea-service-card:focus .ea-service-name{color:#0d2d57!important}.ea-service-card:hover .ea-service-description,.ea-service-card:focus .ea-service-description{color:#66758a!important}.ea-service-card:hover .ea-service-price,.ea-service-card:focus .ea-service-price{color:#213a5a!important}.ea-service-card:hover .ea-service-cta,.ea-service-card:focus .ea-service-cta{color:#005EE9!important}.ea-service-card:focus-visible{outline:3px solid rgba(0,94,233,.18)!important;outline-offset:3px}.ea-service-card:hover .ea-service-media{filter:none!important}.ea-service-card:hover .ea-service-media::after{background:linear-gradient(to top,rgba(8,33,66,.25),transparent 55%)!important}
.ea-booking{--blue:#005EE9;--blue-dark:#0046b5;--navy:#0d2d57;--text:#243247;--muted:#66758a;--line:#e3eaf3;--soft:#f5f8fc;--shadow:0 18px 55px rgba(13,45,87,.09);font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--text);max-width:1180px;margin:0 auto;padding:42px 20px 70px}.ea-booking *{box-sizing:border-box}.ea-booking button,.ea-booking input,.ea-booking textarea{font:inherit}.ea-booking [hidden]{display:none!important}.ea-head{text-align:center;max-width:760px;margin:0 auto 34px}.ea-kicker,.ea-overline{display:block;color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.15px;margin-bottom:8px}.ea-head h2{font-size:clamp(34px,5vw,54px)!important;line-height:1.02!important;margin:0 0 14px!important;color:var(--navy)!important;letter-spacing:-1.9px!important}.ea-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}.ea-stepbar{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 26px}.ea-stepbar span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#f3f6fa;color:#78869a;font-size:12px;font-weight:700}.ea-stepbar b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e3e9f1;color:#718096;font-size:10px}.ea-stepbar .is-active{background:#eef5ff;color:var(--blue)}.ea-stepbar .is-active b{background:var(--blue);color:#fff}.ea-stepbar .is-done{background:#f3f8ff;color:#4c6380}.ea-stepbar .is-done b{background:#dbeaff;color:var(--blue)}

.ea-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ea-service-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;cursor:pointer;box-shadow:0 10px 35px rgba(13,45,87,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;min-height:100%}.ea-service-card:hover{transform:translateY(-5px);box-shadow:0 22px 60px rgba(13,45,87,.12);border-color:#c7d9f1}.ea-service-media{position:relative;display:flex;align-items:center;justify-content:center;min-height:190px;background-size:cover;background-position:center}.ea-service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,33,66,.25),transparent 55%)}.ea-service-media.is-placeholder{background:linear-gradient(135deg,#0d2d57 0%,#005EE9 65%,#4f8ff1 100%)}.ea-service-media.is-placeholder::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-65px;top:-65px;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 38px rgba(255,255,255,.035)}.ea-service-icon{position:relative;z-index:1;width:62px;height:62px;color:#fff;opacity:.95}.ea-service-icon svg{width:100%;height:100%}.ea-service-badge{position:absolute;z-index:2;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#173b69;font-size:11px;font-weight:800;box-shadow:0 7px 20px rgba(15,45,80,.15)}.ea-service-body{display:flex;flex-direction:column;flex:1;padding:21px 20px 19px}.ea-service-name{display:block;color:var(--navy);font-size:20px;line-height:1.22;font-weight:800;letter-spacing:-.35px}.ea-service-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:9px;color:var(--muted);font-size:13.5px;line-height:1.62}.ea-service-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px}.ea-service-price{color:#213a5a;font-size:14px;font-weight:800}.ea-service-cta{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:13px;font-weight:800}.ea-service-card:hover .ea-service-cta span{transform:translateX(3px)}.ea-service-cta span{transition:transform .2s ease}

.ea-selected-service{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:18px 20px;border:1px solid #dce6f3;border-radius:14px;background:#f8fbff}.ea-selected-service strong{display:block;color:var(--navy);font-size:18px}.ea-selected-service #ea-selected-meta{display:block;margin-top:4px;color:var(--muted);font-size:13px}.ea-text-button{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:13px;cursor:pointer;padding:8px}.ea-text-button:hover{color:var(--blue-dark)}

.ea-scheduler{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.ea-calendar-panel{padding:28px;border-right:1px solid var(--line)}.ea-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;margin-bottom:24px}.ea-calendar-head>div{text-align:center}.ea-calendar-head h3,.ea-times-head h3,.ea-form-head h3{margin:0!important;color:var(--navy)!important;font-size:23px!important;line-height:1.2!important;letter-spacing:-.5px!important}.ea-nav-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d9e4f1;border-radius:50%;background:#fff;color:var(--navy);font-size:25px;line-height:1;cursor:pointer;transition:.2s ease}.ea-nav-btn:hover:not(:disabled){border-color:#b9cfee;background:#f5f9ff;color:var(--blue)}.ea-nav-btn:disabled{opacity:.3;cursor:not-allowed}.ea-weekdays,.ea-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.ea-weekdays{margin-bottom:8px}.ea-weekdays span{text-align:center;color:#8995a6;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.ea-day{aspect-ratio:1/1;min-height:48px;border:1px solid transparent;border-radius:12px;background:#fff;color:#304762;font-weight:700;cursor:pointer;transition:.16s ease}.ea-day:hover:not(:disabled){background:#f0f6ff;color:var(--blue);border-color:#d4e4f8}.ea-day.is-today{border-color:#b9d3f7;color:var(--blue)}.ea-day.is-selected{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,94,233,.23)}.ea-day.is-disabled{color:#c3cad3;background:#fafbfd;cursor:not-allowed}.ea-day-empty{visibility:hidden}

.ea-times-panel{padding:28px;background:#fbfcfe}.ea-times-head{padding-bottom:18px;border-bottom:1px solid #e7edf5}.ea-times-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.ea-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.ea-slot{min-height:48px;border:1px solid #bfd4f2;background:#fff;color:var(--blue);border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer;transition:.18s ease}.ea-slot:hover,.ea-slot.is-selected{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 8px 20px rgba(0,94,233,.18)}.ea-muted,.ea-error{display:block;grid-column:1/-1;color:var(--muted);font-size:13px;line-height:1.6}.ea-error{color:#a32222}.ea-loading{grid-column:1/-1;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.ea-loading span{width:15px;height:15px;border-radius:50%;border:2px solid #d9e6f7;border-top-color:var(--blue);animation:eaSpin .7s linear infinite}.ea-no-slots{grid-column:1/-1;padding:20px;border:1px dashed #ccd9e8;border-radius:12px;background:#fff;text-align:center}.ea-no-slots strong{display:block;color:#304762;font-size:14px}.ea-no-slots span{display:block;margin-top:4px;color:var(--muted);font-size:12px}@keyframes eaSpin{to{transform:rotate(360deg)}}

.ea-form{max-width:900px;margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.ea-form-stepbar{margin-bottom:28px}.ea-form-head{text-align:center;margin-bottom:25px}.ea-form-head p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.ea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ea-form label{display:block;font-weight:700;color:#304762;font-size:13px}.ea-form input,.ea-form textarea{width:100%;margin-top:8px;border:1px solid #cfd9e6;border-radius:10px;padding:13px 14px;font:inherit;background:#fff;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.ea-form input:focus,.ea-form textarea:focus{border-color:#86b2ed;box-shadow:0 0 0 3px rgba(0,94,233,.08)}.ea-full{grid-column:1/-1}.ea-check{display:flex!important;gap:10px;align-items:flex-start;margin:18px 0;color:var(--muted)!important;font-weight:500!important}.ea-check input{width:auto;margin:3px 0 0}.ea-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.ea-submit,.ea-secondary,.ea-pay{display:inline-flex;align-items:center;justify-content:center;min-height:49px;border-radius:10px;padding:0 22px;text-decoration:none!important;font-weight:800;cursor:pointer;transition:.18s ease}.ea-submit,.ea-pay{border:1px solid var(--blue);background:var(--blue);color:#fff!important}.ea-submit:hover,.ea-pay:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.ea-submit:disabled{opacity:.6;cursor:not-allowed}.ea-secondary{border:1px solid #ccd9e8;background:#fff;color:#42566f}.ea-secondary:hover{background:#f6f8fb}.ea-message{margin-top:12px;font-size:14px}.ea-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

.ea-success{max-width:760px;margin:0 auto;padding:38px 30px;border:1px solid #d6e4f7;border-radius:18px;background:linear-gradient(135deg,#f7faff,#fff);box-shadow:var(--shadow);text-align:center}.ea-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:#eaf3ff;color:var(--blue);font-size:26px;font-weight:900}.ea-success h3{margin:0 0 10px!important;color:var(--navy)!important;font-size:28px!important}.ea-success p{max-width:620px;margin:0 auto 20px;color:var(--muted);line-height:1.7}.ea-pay{min-width:190px}

@media(max-width:940px){.ea-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ea-scheduler{grid-template-columns:1fr}.ea-calendar-panel{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:640px){.ea-booking{padding:30px 14px 55px}.ea-head h2{font-size:38px!important}.ea-services-grid{grid-template-columns:1fr;gap:15px}.ea-service-card{display:grid;grid-template-columns:118px 1fr;min-height:150px}.ea-service-media{min-height:100%;height:100%}.ea-service-body{padding:17px 16px}.ea-service-name{font-size:18px}.ea-service-description{-webkit-line-clamp:2}.ea-service-footer{padding-top:13px}.ea-service-price{font-size:13px}.ea-service-cta{font-size:12px}.ea-service-badge{left:8px;bottom:8px;font-size:10px}.ea-selected-service{align-items:flex-start}.ea-scheduler{border-radius:14px}.ea-calendar-panel,.ea-times-panel{padding:20px 14px}.ea-calendar-head{grid-template-columns:38px 1fr 38px}.ea-calendar-head h3,.ea-times-head h3,.ea-form-head h3{font-size:20px!important}.ea-weekdays,.ea-calendar-days{gap:4px}.ea-day{min-height:42px;border-radius:9px;font-size:13px}.ea-slots{grid-template-columns:1fr 1fr}.ea-grid{grid-template-columns:1fr}.ea-full{grid-column:auto}.ea-form{padding:20px 16px}.ea-form-actions{flex-direction:column-reverse}.ea-submit,.ea-secondary,.ea-pay{width:100%}.ea-stepbar{gap:5px}.ea-stepbar span{padding:7px 9px;font-size:11px}.ea-stepbar b{width:20px;height:20px}}
@media(max-width:390px){.ea-service-card{grid-template-columns:100px 1fr}.ea-service-description{display:none}.ea-slots{grid-template-columns:1fr}.ea-stepbar span{font-size:0}.ea-stepbar span b{font-size:10px}}

@media(max-width:620px){.ea-brand{justify-content:flex-start;padding:12px 14px;margin-bottom:20px}.ea-brand-logo{width:48px;height:48px;flex-basis:48px}.ea-brand-copy strong{font-size:14px}.ea-brand-copy span{font-size:11px}}

/* =========================================================
   V1.3 - CATALOGO DE CITAS
========================================================= */
.ea-head{max-width:900px}.ea-head p strong{display:block;color:#354963;font-size:14px;line-height:1.65;letter-spacing:.02em}.ea-head-en{display:block;margin-top:5px;color:#7a889a;font-size:13px;font-style:italic}.ea-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1040px;margin:0 auto}.ea-service-card{border-radius:20px}.ea-service-media{min-height:235px;background-color:#eef5ff;background-size:cover;background-position:center}.ea-service-media::after{background:linear-gradient(to top,rgba(13,45,87,.12),transparent 48%)}.ea-service-card:hover .ea-service-media{transform:none}.ea-service-card:hover .ea-service-media::after{background:linear-gradient(to top,rgba(13,45,87,.12),transparent 48%)!important}.ea-service-badge{left:16px;bottom:16px}.ea-service-type{position:absolute;z-index:3;top:14px;left:14px;display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#0d2d57;font-size:10.5px;font-weight:800;letter-spacing:.15px;box-shadow:0 7px 20px rgba(15,45,80,.12);backdrop-filter:blur(6px)}.ea-service-type.is-video{color:#005EE9}.ea-service-type.is-office{color:#245b43}.ea-service-type.is-urgent{background:#fff2f1;color:#b72d26;border:1px solid #f1d0cd}.ea-service-body{padding:23px 22px 21px}.ea-service-name{font-size:22px}.ea-service-description{-webkit-line-clamp:4;font-size:14px;line-height:1.65}.ea-service-footer{padding-top:22px}.ea-service-price{font-size:16px;color:#0d2d57!important}.ea-service-cta{padding:8px 12px;border-radius:8px;background:#eef5ff}.ea-service-card:hover .ea-service-cta{background:#005EE9;color:#fff!important}.ea-brand{max-width:840px}.ea-brand-logo{width:150px;height:54px;flex-basis:150px}.ea-brand-copy{padding-left:3px}
@media(max-width:760px){.ea-services-grid{grid-template-columns:1fr}.ea-service-card{display:flex;min-height:0}.ea-service-media{min-height:210px;height:auto}.ea-service-description{-webkit-line-clamp:4}.ea-service-type{top:10px;left:10px}.ea-brand-logo{width:120px;height:46px;flex-basis:120px}}
@media(max-width:520px){.ea-service-media{min-height:185px}.ea-service-body{padding:18px 17px}.ea-service-name{font-size:19px}.ea-service-description{font-size:13px}.ea-service-price{font-size:14px}.ea-brand{align-items:center}.ea-brand-copy span{display:none}.ea-head p strong{font-size:12.5px}.ea-head-en{font-size:12px}}

/* =========================================================
   V1.4 - ABOGADO + BADGES AZULES + MODAL RESPONSIVE
========================================================= */
html.ea-modal-open,
body.ea-modal-open{overflow:hidden!important}

.ea-brand{
  max-width:900px;
  justify-content:flex-start;
  gap:18px;
  padding:15px 18px;
}
.ea-lawyer-photo{
  display:block;
  width:76px;
  height:76px;
  flex:0 0 76px;
  object-fit:cover;
  object-position:center 20%;
  border-radius:16px;
  border:3px solid #fff;
  box-shadow:0 8px 25px rgba(13,45,87,.16);
}
.ea-brand-center{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
}
.ea-brand-center .ea-brand-logo{
  width:145px;
  height:48px;
  flex:0 0 145px;
}

.ea-service-type,
.ea-service-type.is-video,
.ea-service-type.is-office,
.ea-service-type.is-urgent,
.ea-service-type.is-english{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:0 11px;
  background:#005EE9!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 8px 22px rgba(0,70,181,.25);
  backdrop-filter:none;
}
.ea-type-icon{
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  flex:0 0 16px;
  color:#fff;
}
.ea-type-icon svg{display:block;width:16px;height:16px}

.ea-modal[hidden]{display:none!important}
.ea-modal{
  position:fixed;
  z-index:999999;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  opacity:0;
  transition:opacity .16s ease;
}
.ea-modal.is-open{opacity:1}
.ea-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,24,49,.66);
  backdrop-filter:blur(5px);
}
.ea-modal-dialog{
  position:relative;
  z-index:2;
  width:min(1080px,100%);
  max-height:min(92vh,900px);
  max-height:min(92dvh,900px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:26px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 90px rgba(0,21,54,.28);
  transform:translateY(10px) scale(.985);
  transition:transform .18s ease;
  -webkit-overflow-scrolling:touch;
}
.ea-modal.is-open .ea-modal-dialog{transform:translateY(0) scale(1)}
.ea-modal-close{
  position:absolute;
  z-index:5;
  top:14px;
  right:14px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid #dbe5f1;
  border-radius:50%;
  background:#fff;
  color:#29415f;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(13,45,87,.08);
}
.ea-modal-close:hover{background:#f3f7fc;color:#005EE9}
.ea-modal-top{
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 54px 18px 0;
  margin-bottom:18px;
  border-bottom:1px solid #e7edf5;
}
.ea-modal-top img{
  width:52px;
  height:52px;
  flex:0 0 52px;
  object-fit:cover;
  object-position:center 20%;
  border-radius:13px;
}
.ea-modal-top .ea-overline{margin-bottom:3px}
.ea-modal-top strong{
  display:block;
  color:#0d2d57;
  font-size:18px;
  line-height:1.25;
}

.ea-modal .ea-calendar-view,
.ea-modal .ea-form,
.ea-modal .ea-success{max-width:none;margin:0}
.ea-modal .ea-form,
.ea-modal .ea-success{box-shadow:none}
.ea-modal .ea-stepbar{margin-bottom:18px}
.ea-modal .ea-selected-service{margin-bottom:16px}
.ea-modal .ea-scheduler{box-shadow:none}

.ea-weekdays,
.ea-calendar-days{
  width:100%;
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.ea-calendar-days{align-items:stretch}
.ea-day{
  width:100%;
  min-width:0;
  min-height:0;
  aspect-ratio:1/1;
  padding:0;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.ea-day>span{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-width:0;
}

@media(max-width:760px){
  .ea-brand{gap:12px;padding:12px}
  .ea-lawyer-photo{width:62px;height:62px;flex-basis:62px;border-radius:13px}
  .ea-brand-center{gap:10px;align-items:flex-start;flex-direction:column}
  .ea-brand-center .ea-brand-logo{width:116px;height:36px;flex-basis:auto}
  .ea-brand-copy{padding-left:0}
  .ea-brand-copy strong{font-size:14px}
  .ea-brand-copy span{font-size:10.5px}

  .ea-modal{padding:10px}
  .ea-modal-dialog{
    width:100%;
    max-height:calc(100dvh - 20px);
    padding:18px 14px 20px;
    border-radius:18px;
  }
  .ea-modal-close{top:10px;right:10px;width:38px;height:38px}
  .ea-modal-top{padding-right:48px;margin-bottom:14px;padding-bottom:14px}
  .ea-modal-top img{width:44px;height:44px;flex-basis:44px;border-radius:11px}
  .ea-modal-top strong{font-size:16px}

  .ea-modal .ea-selected-service{
    padding:14px;
    gap:10px;
    flex-direction:column;
  }
  .ea-modal .ea-text-button{padding:0}
  .ea-modal .ea-calendar-panel,
  .ea-modal .ea-times-panel{padding:17px 10px}
  .ea-modal .ea-calendar-head{
    grid-template-columns:36px minmax(0,1fr) 36px;
    gap:7px;
    margin-bottom:16px;
  }
  .ea-modal .ea-nav-btn{width:36px;height:36px;font-size:22px}
  .ea-modal .ea-calendar-head h3{font-size:18px!important;white-space:nowrap}
  .ea-modal .ea-calendar-head .ea-overline{font-size:9px;margin-bottom:4px}
  .ea-weekdays,.ea-calendar-days{gap:3px}
  .ea-weekdays span{font-size:9px;letter-spacing:0}
  .ea-day{
    border-radius:8px;
    font-size:12px;
    min-height:36px;
  }
  .ea-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ea-slot{min-height:44px;padding:9px 6px}
  .ea-modal .ea-form{padding:18px 12px;border-radius:14px}
  .ea-modal .ea-success{padding:28px 16px;border-radius:14px}
}

@media(max-width:430px){
  .ea-booking{padding-left:10px;padding-right:10px}
  .ea-service-type{top:9px;left:9px;min-height:29px;padding:0 9px;font-size:9.5px}
  .ea-type-icon,.ea-type-icon svg{width:14px;height:14px;flex-basis:14px}
  .ea-service-badge{font-size:9px;padding:6px 8px}

  .ea-modal{padding:0}
  .ea-modal-dialog{
    max-height:100dvh;
    height:100dvh;
    border-radius:0;
    border:0;
    padding:16px 10px 24px;
  }
  .ea-modal-top{padding-left:2px}
  .ea-modal .ea-stepbar{margin-bottom:14px}
  .ea-modal .ea-stepbar span{padding:6px 8px}
  .ea-modal .ea-scheduler{border-radius:12px}
  .ea-modal .ea-calendar-panel,.ea-modal .ea-times-panel{padding:15px 7px}
  .ea-weekdays,.ea-calendar-days{gap:2px}
  .ea-weekdays span{font-size:8px}
  .ea-day{font-size:11px;border-radius:7px;min-height:34px}
  .ea-slots{grid-template-columns:1fr 1fr}
  .ea-form-actions{gap:8px}
}

@media(max-width:350px){
  .ea-weekdays span{font-size:7px}
  .ea-day{font-size:10px;min-height:31px}
}


/* =========================================================
   V1.5 - TARJETAS DE SERVICIO AZULES
   Título/descripción/precio sobre fondo azul y CTA blanco
========================================================= */
.ea-service-card .ea-service-body,
.ea-service-card:hover .ea-service-body,
.ea-service-card:focus .ea-service-body,
.ea-service-card:active .ea-service-body{
  background:linear-gradient(145deg,#005EE9 0%,#0046b5 100%)!important;
  color:#fff!important;
}
.ea-service-card .ea-service-name,
.ea-service-card:hover .ea-service-name,
.ea-service-card:focus .ea-service-name{
  color:#fff!important;
}
.ea-service-card .ea-service-description,
.ea-service-card:hover .ea-service-description,
.ea-service-card:focus .ea-service-description{
  color:rgba(255,255,255,.88)!important;
}
.ea-service-card .ea-service-price,
.ea-service-card:hover .ea-service-price,
.ea-service-card:focus .ea-service-price{
  color:#fff!important;
}
.ea-service-card .ea-service-cta,
.ea-service-card:hover .ea-service-cta,
.ea-service-card:focus .ea-service-cta,
.ea-service-card:active .ea-service-cta{
  background:#fff!important;
  color:#005EE9!important;
  border:1px solid rgba(255,255,255,.96)!important;
  box-shadow:0 7px 18px rgba(7,39,86,.14);
}
.ea-service-card:hover .ea-service-cta{
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(7,39,86,.20);
}
.ea-service-card .ea-service-footer{
  border-top:1px solid rgba(255,255,255,.18);
}

/* =========================================================
   V1.6 - TARJETAS MAS LIMPIAS + BADGES MODERNOS + MODAL COMPACTO
========================================================= */

/* Cabecera mas breve */
.ea-head{margin-bottom:26px}
.ea-head h2{font-size:clamp(32px,4.5vw,48px)!important;margin-bottom:11px!important}
.ea-head p{font-size:14px;line-height:1.55}
.ea-head p strong{font-size:13px;line-height:1.5}
.ea-head-en{font-size:12px;margin-top:3px}

/* Tarjetas mas compactas */
.ea-services-grid{gap:18px;max-width:1000px}
.ea-service-card{border-radius:19px}
.ea-service-media{min-height:215px}
.ea-service-body{padding:18px 19px 17px!important}
.ea-service-name{font-size:20px!important;line-height:1.18!important}
.ea-service-description{
  margin-top:7px!important;
  font-size:12.5px!important;
  line-height:1.48!important;
  -webkit-line-clamp:2!important;
  min-height:37px;
}
.ea-service-footer{padding-top:15px!important}
.ea-service-price{font-size:15px!important}
.ea-service-cta{padding:7px 11px!important;font-size:12px!important}

/* Badge superior: circulo + capsula azul en dos tonos */
.ea-service-type,
.ea-service-type.is-video,
.ea-service-type.is-office,
.ea-service-type.is-urgent,
.ea-service-type.is-english{
  top:9px!important;
  left:10px!important;
  min-height:34px!important;
  padding:3px 12px 3px 4px!important;
  gap:8px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0b70f4 0%,#0046b5 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,70,181,.28)!important;
}
.ea-service-type.is-office{background:linear-gradient(135deg,#2688ff 0%,#005EE9 100%)!important}
.ea-service-type.is-urgent{background:linear-gradient(135deg,#005EE9 0%,#073f94 100%)!important}
.ea-service-type.is-english{background:linear-gradient(135deg,#277fe8 0%,#0d2d57 100%)!important}
.ea-type-icon{
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  border-radius:50%;
  background:rgba(255,255,255,.17);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.ea-type-icon svg{width:14px!important;height:14px!important}
.ea-service-badge{
  left:auto!important;
  right:11px!important;
  bottom:10px!important;
  padding:6px 9px!important;
  font-size:9.5px!important;
}

/* Modal mas compacto: pensado para caber en una pantalla de escritorio */
.ea-modal{padding:18px}
.ea-modal-dialog{
  width:min(1000px,100%);
  max-height:min(94vh,780px);
  max-height:min(94dvh,780px);
  padding:18px 20px 20px;
  border-radius:20px;
}
.ea-modal-close{top:10px;right:10px;width:34px;height:34px;font-size:23px}
.ea-modal-top{
  min-height:44px;
  gap:9px;
  padding:0 46px 10px 0;
  margin-bottom:10px;
}
.ea-modal-top img{width:40px;height:40px;flex-basis:40px;border-radius:10px}
.ea-modal-top .ea-overline{font-size:9px;margin-bottom:1px}
.ea-modal-top strong{font-size:15px}
.ea-modal .ea-stepbar{margin-bottom:9px;gap:5px}
.ea-modal .ea-stepbar span{padding:5px 9px;font-size:10px}
.ea-modal .ea-stepbar b{width:18px;height:18px;font-size:9px}
.ea-modal .ea-selected-service{
  min-height:50px;
  margin-bottom:9px;
  padding:9px 12px;
  border-radius:11px;
}
.ea-modal .ea-selected-service .ea-overline{font-size:8.5px;margin-bottom:1px}
.ea-modal .ea-selected-service strong{font-size:14px}
.ea-modal .ea-selected-service #ea-selected-meta{margin-top:1px;font-size:11px}
.ea-modal .ea-text-button{font-size:11px;padding:5px}

.ea-modal .ea-scheduler{border-radius:14px}
.ea-modal .ea-calendar-panel{padding:16px 18px}
.ea-modal .ea-times-panel{padding:16px 18px}
.ea-modal .ea-calendar-head{
  grid-template-columns:34px 1fr 34px;
  gap:8px;
  margin-bottom:12px;
}
.ea-modal .ea-nav-btn{width:32px;height:32px;font-size:20px}
.ea-modal .ea-calendar-head .ea-overline,
.ea-modal .ea-times-head .ea-overline{font-size:8.5px;margin-bottom:2px}
.ea-modal .ea-calendar-head h3,
.ea-modal .ea-times-head h3{font-size:17px!important}
.ea-modal .ea-times-head{padding-bottom:10px}
.ea-modal .ea-times-head p{margin-top:4px;font-size:11px;line-height:1.4}
.ea-modal .ea-weekdays{margin-bottom:4px}
.ea-modal .ea-weekdays,.ea-modal .ea-calendar-days{gap:4px}
.ea-modal .ea-weekdays span{font-size:9px}
.ea-modal .ea-day{min-height:36px;border-radius:8px;font-size:12px}
.ea-modal .ea-slots{margin-top:10px;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ea-modal .ea-slot{min-height:38px;padding:7px 8px;border-radius:8px;font-size:12px}
.ea-modal .ea-no-slots{padding:13px}

/* Formulario compacto */
.ea-modal .ea-form{padding:12px 14px 14px;border-radius:14px}
.ea-modal .ea-form-stepbar{margin-bottom:10px}
.ea-modal .ea-form-head{margin-bottom:12px}
.ea-modal .ea-form-head .ea-overline{font-size:8.5px;margin-bottom:2px}
.ea-modal .ea-form-head h3{font-size:18px!important}
.ea-modal .ea-form-head p{margin-top:4px;font-size:11px;line-height:1.4}
.ea-modal .ea-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 10px}
.ea-modal .ea-form label{font-size:11px}
.ea-modal .ea-form input,
.ea-modal .ea-form textarea{
  margin-top:4px;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
}
.ea-modal .ea-form textarea{min-height:58px;resize:vertical}
.ea-modal .ea-full{grid-column:1/-1}
.ea-modal .ea-check{margin:9px 0 7px;font-size:10.5px!important;line-height:1.35}
.ea-modal .ea-form-actions{margin-top:9px;gap:8px}
.ea-modal .ea-submit,.ea-modal .ea-secondary{min-height:40px;padding:0 16px;font-size:12px}
.ea-modal .ea-message{margin-top:6px;font-size:11px}

@media(max-width:760px){
  .ea-head{margin-bottom:22px}
  .ea-head h2{font-size:34px!important}
  .ea-service-media{min-height:185px}
  .ea-service-body{padding:16px 16px 15px!important}
  .ea-service-name{font-size:18px!important}
  .ea-service-description{font-size:12px!important;min-height:auto;-webkit-line-clamp:2!important}

  .ea-modal{padding:6px}
  .ea-modal-dialog{
    max-height:calc(100dvh - 12px);
    padding:12px 10px 14px;
    border-radius:15px;
  }
  .ea-modal-top{margin-bottom:7px;padding-bottom:7px}
  .ea-modal-top img{width:36px;height:36px;flex-basis:36px}
  .ea-modal .ea-stepbar{margin-bottom:7px}
  .ea-modal .ea-selected-service{
    flex-direction:row;
    align-items:center;
    padding:7px 9px;
    margin-bottom:7px;
  }
  .ea-modal .ea-selected-service .ea-overline{display:none}
  .ea-modal .ea-selected-service strong{font-size:12.5px}
  .ea-modal .ea-selected-service #ea-selected-meta{font-size:10px}
  .ea-modal .ea-calendar-panel,.ea-modal .ea-times-panel{padding:11px 7px}
  .ea-modal .ea-calendar-head{margin-bottom:8px;grid-template-columns:30px minmax(0,1fr) 30px}
  .ea-modal .ea-nav-btn{width:29px;height:29px;font-size:18px}
  .ea-modal .ea-calendar-head h3,.ea-modal .ea-times-head h3{font-size:15px!important}
  .ea-modal .ea-weekdays,.ea-modal .ea-calendar-days{gap:2px}
  .ea-modal .ea-weekdays span{font-size:7.5px}
  .ea-modal .ea-day{min-height:31px;border-radius:6px;font-size:10.5px}
  .ea-modal .ea-times-head p{display:none}
  .ea-modal .ea-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}
  .ea-modal .ea-slot{min-height:34px;padding:5px 4px;font-size:10.5px}

  .ea-modal .ea-form{padding:9px 8px 10px}
  .ea-modal .ea-form-head{margin-bottom:8px}
  .ea-modal .ea-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .ea-modal .ea-form input,.ea-modal .ea-form textarea{padding:7px 8px;font-size:11px}
  .ea-modal .ea-form textarea{min-height:48px}
  .ea-modal .ea-check{margin:7px 0 5px;font-size:9.5px!important}
  .ea-modal .ea-form-actions{flex-direction:row;margin-top:7px}
  .ea-modal .ea-submit,.ea-modal .ea-secondary{width:auto;flex:1;min-height:36px;padding:0 8px;font-size:10.5px}
}

@media(max-width:430px){
  .ea-service-type,
  .ea-service-type.is-video,
  .ea-service-type.is-office,
  .ea-service-type.is-urgent,
  .ea-service-type.is-english{top:7px!important;left:8px!important;padding-right:9px!important;font-size:9px!important}
  .ea-type-icon{width:23px!important;height:23px!important;flex-basis:23px!important}
  .ea-type-icon svg{width:12px!important;height:12px!important}
  .ea-modal{padding:0}
  .ea-modal-dialog{height:100dvh;max-height:100dvh;border-radius:0;padding:10px 7px 12px}
  .ea-modal-close{top:7px;right:7px;width:31px;height:31px}
  .ea-modal-top{padding-right:38px}
  .ea-modal .ea-stepbar span{padding:4px 6px}
  .ea-modal .ea-stepbar b{width:16px;height:16px}
  .ea-modal .ea-selected-service{padding:6px 7px}
  .ea-modal .ea-calendar-panel,.ea-modal .ea-times-panel{padding:9px 4px}
  .ea-modal .ea-day{min-height:29px;font-size:10px}
  .ea-modal .ea-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ea-modal .ea-form-head .ea-overline{display:none}
  .ea-modal .ea-form-head h3{font-size:16px!important}
  .ea-modal .ea-form-head p{font-size:10px}
  .ea-modal .ea-grid{gap:6px}
  .ea-modal .ea-form label{font-size:10px}
  .ea-modal .ea-full{grid-column:1/-1}
}

@media(max-width:350px){
  .ea-modal .ea-day{min-height:27px;font-size:9.5px}
  .ea-modal .ea-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* =========================================================
   V1.7 - LANDING 1500PX + TODO EL FLUJO EN MODAL
========================================================= */
.ea-booking.ea-booking-landing{
  max-width:1500px;
  width:min(1500px,calc(100% - 32px));
  margin:0 auto;
  padding:44px 0 72px;
}
.ea-landing-shell{
  position:relative;
  overflow:hidden;
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:62px clamp(28px,5vw,78px);
  border:1px solid #e2eaf4;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 16%,rgba(0,94,233,.11),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f7faff 100%);
  box-shadow:0 24px 70px rgba(13,45,87,.08);
}
.ea-landing-shell::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-175px;
  bottom:-250px;
  border-radius:50%;
  border:1px solid rgba(0,94,233,.10);
  box-shadow:0 0 0 55px rgba(0,94,233,.025),0 0 0 110px rgba(0,94,233,.018);
  pointer-events:none;
}
.ea-landing-profile{
  position:relative;
  z-index:2;
  width:min(1040px,100%);
  display:grid;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  align-items:center;
  gap:clamp(36px,6vw,82px);
}
.ea-landing-photo{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center 18%;
  border-radius:26px;
  box-shadow:0 24px 60px rgba(13,45,87,.18);
}
.ea-landing-copy{text-align:left}
.ea-landing-logo{
  display:block;
  width:min(210px,55%);
  max-height:70px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:24px;
}
.ea-landing-copy .ea-kicker{margin-bottom:11px}
.ea-landing-copy h2{
  max-width:690px;
  margin:0 0 18px!important;
  color:#0d2d57!important;
  font-size:clamp(40px,4.4vw,66px)!important;
  line-height:1.01!important;
  letter-spacing:-2.5px!important;
  font-weight:750!important;
}
.ea-landing-copy p{
  max-width:680px;
  margin:0;
  color:#65758a;
  font-size:17px;
  line-height:1.7;
}
.ea-open-booking{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:54px;
  margin-top:28px;
  padding:0 25px;
  border:1px solid #005EE9;
  border-radius:10px;
  background:#005EE9;
  color:#fff;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,94,233,.22);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.ea-open-booking:hover{background:#0046b5;transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,70,181,.26)}
.ea-open-booking span:last-child{font-size:21px;line-height:1;transition:transform .18s ease}
.ea-open-booking:hover span:last-child{transform:translateX(3px)}
.ea-landing-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.ea-landing-trust span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border:1px solid #dce7f5;
  border-radius:999px;
  background:#fff;
  color:#4d627d;
  font-size:11px;
  font-weight:700;
}

/* Los servicios pasan a ser el primer paso del modal */
.ea-modal .ea-services-view{max-width:none;margin:0}
.ea-modal-intro{text-align:center;margin:0 0 14px}
.ea-modal-intro .ea-overline{font-size:9px;margin-bottom:2px}
.ea-modal-intro h3{margin:0!important;color:#0d2d57!important;font-size:18px!important;line-height:1.2!important}
.ea-modal .ea-services-grid{
  max-width:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.ea-modal .ea-service-card{border-radius:14px;box-shadow:none}
.ea-modal .ea-service-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(13,45,87,.10)}
.ea-modal .ea-service-media{min-height:135px}
.ea-modal .ea-service-body{padding:12px 13px 11px!important}
.ea-modal .ea-service-name{font-size:15px!important;line-height:1.18!important}
.ea-modal .ea-service-description{font-size:10.5px!important;line-height:1.35!important;min-height:auto!important;margin-top:4px!important;-webkit-line-clamp:1!important}
.ea-modal .ea-service-footer{padding-top:9px!important}
.ea-modal .ea-service-price{font-size:12px!important}
.ea-modal .ea-service-cta{padding:5px 9px!important;font-size:10.5px!important}
.ea-modal .ea-service-type,
.ea-modal .ea-service-type.is-video,
.ea-modal .ea-service-type.is-office,
.ea-modal .ea-service-type.is-urgent,
.ea-modal .ea-service-type.is-english{
  top:7px!important;
  left:8px!important;
  min-height:27px!important;
  padding:2px 9px 2px 3px!important;
  gap:5px!important;
  font-size:8.5px!important;
}
.ea-modal .ea-type-icon{width:21px!important;height:21px!important;flex-basis:21px!important}
.ea-modal .ea-type-icon svg{width:11px!important;height:11px!important}
.ea-modal .ea-service-badge{right:8px!important;bottom:7px!important;font-size:8px!important;padding:4px 7px!important}

@media(max-width:900px){
  .ea-booking.ea-booking-landing{width:min(100% - 24px,1500px);padding:30px 0 55px}
  .ea-landing-shell{min-height:0;padding:38px 28px}
  .ea-landing-profile{grid-template-columns:220px minmax(0,1fr);gap:32px}
  .ea-landing-copy h2{font-size:42px!important}
  .ea-landing-copy p{font-size:15px}
}

@media(max-width:680px){
  .ea-booking.ea-booking-landing{width:min(100% - 18px,1500px);padding:20px 0 38px}
  .ea-landing-shell{padding:24px 18px 28px;border-radius:20px}
  .ea-landing-profile{grid-template-columns:1fr;gap:20px;text-align:center}
  .ea-landing-photo{width:118px;border-radius:50%;margin:0 auto;box-shadow:0 12px 30px rgba(13,45,87,.16)}
  .ea-landing-copy{text-align:center}
  .ea-landing-logo{width:150px;max-height:48px;margin:0 auto 15px;object-position:center}
  .ea-landing-copy h2{font-size:34px!important;letter-spacing:-1.4px!important;margin-bottom:12px!important}
  .ea-landing-copy p{font-size:13.5px;line-height:1.55}
  .ea-open-booking{width:100%;margin-top:20px;min-height:50px}
  .ea-landing-trust{justify-content:center;margin-top:14px}

  .ea-modal .ea-services-grid{grid-template-columns:1fr 1fr;gap:7px}
  .ea-modal .ea-service-media{min-height:105px}
  .ea-modal .ea-service-body{padding:9px!important}
  .ea-modal .ea-service-name{font-size:12px!important}
  .ea-modal .ea-service-description{display:none!important}
  .ea-modal .ea-service-footer{padding-top:6px!important;gap:5px}
  .ea-modal .ea-service-price{font-size:9.5px!important}
  .ea-modal .ea-service-cta{font-size:9px!important;padding:4px 6px!important}
  .ea-modal-intro{margin-bottom:8px}
  .ea-modal-intro h3{font-size:15px!important}
}

@media(max-width:390px){
  .ea-landing-copy h2{font-size:30px!important}
  .ea-landing-trust span{font-size:9.5px;padding:0 8px}
  .ea-modal .ea-services-grid{grid-template-columns:1fr 1fr}
  .ea-modal .ea-service-media{min-height:92px}
  .ea-modal .ea-service-type,
  .ea-modal .ea-service-type.is-video,
  .ea-modal .ea-service-type.is-office,
  .ea-modal .ea-service-type.is-urgent,
  .ea-modal .ea-service-type.is-english{font-size:7.5px!important;max-width:calc(100% - 15px)}
  .ea-modal .ea-service-badge{display:none}
}

/* =========================================================
   V1.8 - BADGES ELEGANTES + BANNERS AZULES EN MODAL
========================================================= */

/* Etiquetas de tipo de cita: recuperan presencia visual sin colapsarse */
.ea-modal .ea-service-type,
.ea-modal .ea-service-type.is-video,
.ea-modal .ea-service-type.is-office,
.ea-modal .ea-service-type.is-urgent,
.ea-modal .ea-service-type.is-english{
  top:11px!important;
  left:11px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  max-width:calc(100% - 22px)!important;
  min-height:34px!important;
  padding:4px 13px 4px 5px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#176fe5 0%,#005EE9 58%,#0046b5 100%)!important;
  color:#fff!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.05px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:0 8px 22px rgba(0,70,181,.26)!important;
  backdrop-filter:none!important;
}

.ea-modal .ea-service-type.is-office{
  background:linear-gradient(135deg,#2f91ff 0%,#0069ef 54%,#0052c9 100%)!important;
}

.ea-modal .ea-service-type.is-urgent{
  background:linear-gradient(135deg,#0d6fe8 0%,#0052c9 52%,#0d2d57 100%)!important;
}

.ea-modal .ea-service-type.is-english{
  background:linear-gradient(135deg,#3a88e7 0%,#1764c8 48%,#0d2d57 100%)!important;
}

.ea-modal .ea-type-icon{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;
}

.ea-modal .ea-type-icon::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  pointer-events:none;
}

.ea-modal .ea-type-icon svg{
  width:14px!important;
  height:14px!important;
}

/* Duración secundaria, más discreta y ordenada */
.ea-modal .ea-service-badge{
  right:10px!important;
  left:auto!important;
  bottom:10px!important;
  padding:5px 9px!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#173b69!important;
  font-size:9px!important;
  font-weight:800!important;
  box-shadow:0 6px 16px rgba(13,45,87,.13)!important;
}

/* Banner superior de la pantalla del calendario */
.ea-modal .ea-selected-service{
  position:relative;
  overflow:hidden;
  min-height:64px;
  margin-bottom:12px;
  padding:12px 16px;
  border:0;
  border-radius:13px;
  background:
    radial-gradient(circle at 92% 15%,rgba(255,255,255,.16),transparent 34%),
    linear-gradient(135deg,#0046b5 0%,#005EE9 56%,#176fe5 100%);
  box-shadow:0 10px 25px rgba(0,70,181,.16);
}

.ea-modal .ea-selected-service::after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-42px;
  bottom:-75px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 0 0 22px rgba(255,255,255,.025);
  pointer-events:none;
}

.ea-modal .ea-selected-service > *{
  position:relative;
  z-index:1;
}

.ea-modal .ea-selected-service .ea-overline{
  color:rgba(255,255,255,.76)!important;
  margin-bottom:2px!important;
}

.ea-modal .ea-selected-service strong{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.2!important;
}

.ea-modal .ea-selected-service #ea-selected-meta{
  margin-top:3px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:10.5px!important;
}

.ea-modal .ea-selected-service .ea-text-button{
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:8px;
  background:#fff!important;
  color:#005EE9!important;
  font-size:10.5px;
  font-weight:800;
  box-shadow:0 5px 15px rgba(13,45,87,.11);
}

.ea-modal .ea-selected-service .ea-text-button:hover{
  background:#f5f9ff!important;
  color:#0046b5!important;
}

/* Banner superior del formulario de datos */
.ea-modal .ea-form-head{
  position:relative;
  overflow:hidden;
  margin:-1px -1px 12px!important;
  padding:14px 18px!important;
  border-radius:12px;
  background:
    radial-gradient(circle at 92% 10%,rgba(255,255,255,.15),transparent 32%),
    linear-gradient(135deg,#0046b5 0%,#005EE9 58%,#176fe5 100%);
  text-align:left!important;
  box-shadow:0 9px 22px rgba(0,70,181,.14);
}

.ea-modal .ea-form-head::after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-42px;
  bottom:-78px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 0 0 22px rgba(255,255,255,.025);
  pointer-events:none;
}

.ea-modal .ea-form-head > *{
  position:relative;
  z-index:1;
}

.ea-modal .ea-form-head .ea-overline{
  display:block!important;
  margin-bottom:2px!important;
  color:rgba(255,255,255,.76)!important;
}

.ea-modal .ea-form-head h3{
  color:#fff!important;
  font-size:18px!important;
  line-height:1.18!important;
}

.ea-modal .ea-form-head p{
  margin-top:4px!important;
  color:rgba(255,255,255,.84)!important;
  font-size:10.5px!important;
  line-height:1.4!important;
}

/* El formulario conserva el tamaño compacto de la versión anterior */
.ea-modal .ea-form{
  overflow:hidden;
}

@media(max-width:760px){
  .ea-modal .ea-service-type,
  .ea-modal .ea-service-type.is-video,
  .ea-modal .ea-service-type.is-office,
  .ea-modal .ea-service-type.is-urgent,
  .ea-modal .ea-service-type.is-english{
    top:8px!important;
    left:8px!important;
    max-width:calc(100% - 16px)!important;
    min-height:31px!important;
    padding:3px 10px 3px 4px!important;
    gap:5px!important;
    font-size:9px!important;
  }

  .ea-modal .ea-type-icon{
    width:23px!important;
    height:23px!important;
    flex-basis:23px!important;
  }

  .ea-modal .ea-type-icon svg{
    width:12px!important;
    height:12px!important;
  }

  .ea-modal .ea-service-badge{
    right:7px!important;
    bottom:7px!important;
    padding:4px 7px!important;
    font-size:8px!important;
  }

  .ea-modal .ea-selected-service{
    min-height:56px;
    padding:9px 11px;
    margin-bottom:8px;
    border-radius:10px;
  }

  .ea-modal .ea-selected-service strong{
    font-size:12.5px!important;
  }

  .ea-modal .ea-selected-service #ea-selected-meta{
    font-size:9.5px!important;
  }

  .ea-modal .ea-selected-service .ea-text-button{
    min-height:30px;
    padding:0 9px;
    font-size:9px;
  }

  .ea-modal .ea-form-head{
    padding:10px 12px!important;
    margin:-1px -1px 9px!important;
    border-radius:10px;
  }

  .ea-modal .ea-form-head .ea-overline{
    font-size:8px!important;
  }

  .ea-modal .ea-form-head h3{
    font-size:15px!important;
  }

  .ea-modal .ea-form-head p{
    font-size:9.5px!important;
  }
}

@media(max-width:390px){
  .ea-modal .ea-service-type,
  .ea-modal .ea-service-type.is-video,
  .ea-modal .ea-service-type.is-office,
  .ea-modal .ea-service-type.is-urgent,
  .ea-modal .ea-service-type.is-english{
    min-height:29px!important;
    padding-right:8px!important;
    font-size:8.2px!important;
  }

  .ea-modal .ea-type-icon{
    width:21px!important;
    height:21px!important;
    flex-basis:21px!important;
  }

  .ea-modal .ea-selected-service{
    gap:8px;
  }

  .ea-modal .ea-selected-service .ea-text-button{
    white-space:nowrap;
  }
}


/* =========================================================
   V1.9 - DESCRIPCION DE CITA SOBRE HORAS DISPONIBLES
========================================================= */
.ea-modal .ea-appointment-description{
  margin:0 0 11px;
  padding:12px 13px;
  border:1px solid #d8e5f6;
  border-radius:10px;
  background:linear-gradient(145deg,#f7fbff 0%,#eef5ff 100%);
}
.ea-modal .ea-appointment-description .ea-overline{
  display:block;
  margin-bottom:4px;
  color:#005EE9!important;
  font-size:8.5px!important;
  font-weight:800;
  letter-spacing:.55px;
  text-transform:uppercase;
}
.ea-modal .ea-appointment-description p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
  margin:0;
  color:#40546f;
  font-size:11px;
  line-height:1.48;
}
.ea-modal .ea-times-head{
  padding-top:1px;
}
.ea-modal .ea-times-head .ea-overline{
  color:#005EE9!important;
  font-weight:800;
}
.ea-modal .ea-times-panel{
  display:flex;
  flex-direction:column;
}
.ea-modal .ea-slots{
  align-content:start;
}
@media(max-width:760px){
  .ea-modal .ea-appointment-description{
    margin-bottom:8px;
    padding:9px 10px;
    border-radius:9px;
  }
  .ea-modal .ea-appointment-description .ea-overline{
    font-size:7.5px!important;
  }
  .ea-modal .ea-appointment-description p{
    -webkit-line-clamp:3;
    font-size:9.5px;
    line-height:1.38;
  }
}

/* =========================================================
   V2.0 - FLUJO SECUENCIAL POR MODALES/PASOS
   Servicio -> Ubicación -> Fecha -> Hora -> Datos -> Pago
========================================================= */

.ea-modal-dialog-sequence{
  width:min(980px,calc(100vw - 32px));
  max-height:min(92dvh,820px);
  overflow:auto;
  padding:18px 20px 22px;
}

.ea-sequence-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:0 0 12px;
}

.ea-sequence-progress span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:6px 8px;
  border-radius:999px;
  background:#f3f6fa;
  border:1px solid #e1e8f1;
  color:#718096;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}

.ea-sequence-progress span b{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#e7edf5;
  color:#607087;
  font-size:9px;
}

.ea-sequence-progress span.is-active{
  background:#edf5ff;
  color:#005EE9;
  border-color:#cfe1fb;
}

.ea-sequence-progress span.is-active b{
  background:#005EE9;
  color:#fff;
}

.ea-sequence-progress span.is-done{
  background:#f1f8ff;
  color:#174e91;
}

.ea-sequence-progress span.is-done b{
  background:#174e91;
  color:#fff;
}

.ea-sequence-step{
  animation:eaStepIn .18s ease;
}

@keyframes eaStepIn{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:none}
}

.ea-step-banner{
  margin:0 0 14px;
  padding:16px 18px;
  border-radius:14px;
  background:linear-gradient(135deg,#005EE9 0%,#0046b5 58%,#0d2d57 100%);
  color:#fff;
  box-shadow:0 12px 28px rgba(0,70,181,.15);
}

.ea-step-banner > span{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:800;
  letter-spacing:.9px;
  text-transform:uppercase;
}

.ea-step-banner h3{
  margin:0!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:750!important;
}

.ea-step-banner p{
  margin:5px 0 0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}

.ea-services-grid-sequence{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:none;
}

.ea-services-grid-sequence .ea-service-card{
  min-width:0;
}

.ea-services-grid-sequence .ea-service-media{
  min-height:145px;
}

.ea-services-grid-sequence .ea-service-body{
  padding:14px 15px 13px!important;
}

.ea-services-grid-sequence .ea-service-name{
  font-size:16px!important;
  line-height:1.22!important;
}

.ea-services-grid-sequence .ea-service-description{
  min-height:32px;
  margin-top:5px!important;
  font-size:11.5px!important;
  line-height:1.42!important;
}

.ea-services-grid-sequence .ea-service-footer{
  padding-top:11px!important;
}

.ea-date-layout,
.ea-time-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}

.ea-step-summary{
  padding:17px;
  border:1px solid #dce6f2;
  border-radius:14px;
  background:linear-gradient(180deg,#f8fbff 0%,#f3f7fc 100%);
}

.ea-step-summary .ea-overline{
  display:block;
  margin-bottom:5px;
  color:#005EE9;
  font-size:9px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.ea-step-summary strong{
  display:block;
  color:#173454;
  font-size:16px;
  line-height:1.3;
}

.ea-step-summary p{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
  margin:9px 0 14px;
  color:#627187;
  font-size:11.5px;
  line-height:1.55;
}

.ea-back-link{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:#005EE9;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.ea-back-link:hover{
  color:#0046b5;
  text-decoration:underline;
}

.ea-calendar-panel-single,
.ea-time-panel-single{
  min-width:0;
  padding:16px 18px;
  border:1px solid #dce6f2;
  border-radius:14px;
  background:#fff;
}

.ea-calendar-panel-single .ea-calendar-head{
  margin-bottom:12px;
}

.ea-calendar-panel-single .ea-day{
  min-height:39px;
}

.ea-time-panel-single > .ea-overline{
  display:block;
  margin-bottom:4px;
  color:#005EE9;
  font-size:9px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.ea-time-panel-single h3{
  margin:0!important;
  color:#183454!important;
  font-size:18px!important;
}

.ea-time-panel-single > p{
  margin:5px 0 12px;
  color:#6a798d;
  font-size:11.5px;
}

.ea-slots-sequence{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.ea-slots-sequence .ea-slot{
  min-height:43px;
  padding:8px 10px;
  border-radius:9px;
  font-size:12px;
}

.ea-form.ea-sequence-step{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ea-form.ea-sequence-step .ea-form-banner{
  margin-bottom:14px;
}

.ea-form.ea-sequence-step .ea-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 11px;
  padding:0 2px;
}

.ea-form.ea-sequence-step input,
.ea-form.ea-sequence-step textarea{
  margin-top:4px;
  padding:9px 10px;
  border-radius:8px;
}

.ea-form.ea-sequence-step textarea{
  min-height:62px;
}

.ea-form.ea-sequence-step .ea-check{
  margin:11px 2px 7px;
}

.ea-form.ea-sequence-step .ea-form-actions{
  margin-top:10px;
}

.ea-form.ea-sequence-step .ea-submit,
.ea-form.ea-sequence-step .ea-secondary{
  min-height:42px;
}

@media(max-width:760px){
  .ea-modal-dialog-sequence{
    width:calc(100vw - 12px);
    height:calc(100dvh - 12px);
    max-height:calc(100dvh - 12px);
    padding:12px 9px 15px;
    border-radius:15px;
  }

  .ea-sequence-progress{
    gap:4px;
    margin-bottom:8px;
  }

  .ea-sequence-progress span{
    min-height:29px;
    padding:4px 5px;
    font-size:8px;
    gap:3px;
  }

  .ea-sequence-progress span b{
    width:16px;
    height:16px;
    font-size:8px;
  }

  .ea-step-banner{
    margin-bottom:9px;
    padding:11px 12px;
    border-radius:11px;
  }

  .ea-step-banner h3{
    font-size:16px!important;
  }

  .ea-step-banner p{
    font-size:10px!important;
    line-height:1.4!important;
  }

  .ea-services-grid-sequence{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .ea-services-grid-sequence .ea-service-media{
    min-height:112px;
  }

  .ea-services-grid-sequence .ea-service-body{
    padding:10px 10px 9px!important;
  }

  .ea-services-grid-sequence .ea-service-name{
    font-size:13px!important;
  }

  .ea-services-grid-sequence .ea-service-description{
    min-height:28px;
    font-size:9.5px!important;
    -webkit-line-clamp:2!important;
  }

  .ea-services-grid-sequence .ea-service-price{
    font-size:11px!important;
  }

  .ea-services-grid-sequence .ea-service-cta{
    padding:5px 7px!important;
    font-size:9px!important;
  }

  .ea-date-layout,
  .ea-time-layout{
    grid-template-columns:1fr;
    gap:8px;
  }

  .ea-step-summary{
    padding:10px 11px;
  }

  .ea-step-summary p{
    -webkit-line-clamp:2;
    margin:5px 0 7px;
    font-size:9.5px;
  }

  .ea-step-summary strong{
    font-size:13px;
  }

  .ea-back-link{
    font-size:9.5px;
  }

  .ea-calendar-panel-single,
  .ea-time-panel-single{
    padding:10px 7px;
    border-radius:11px;
  }

  .ea-calendar-panel-single .ea-calendar-head{
    margin-bottom:7px;
  }

  .ea-calendar-panel-single .ea-weekdays,
  .ea-calendar-panel-single .ea-calendar-days{
    gap:2px;
  }

  .ea-calendar-panel-single .ea-weekdays span{
    font-size:7.5px;
  }

  .ea-calendar-panel-single .ea-day{
    min-height:31px;
    font-size:10.5px;
    border-radius:6px;
  }

  .ea-slots-sequence{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .ea-slots-sequence .ea-slot{
    min-height:36px;
    padding:6px 4px;
    font-size:10.5px;
  }

  .ea-form.ea-sequence-step .ea-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .ea-form.ea-sequence-step input,
  .ea-form.ea-sequence-step textarea{
    padding:7px 8px;
    font-size:11px;
  }

  .ea-form.ea-sequence-step textarea{
    min-height:48px;
  }

  .ea-form.ea-sequence-step .ea-form-actions{
    flex-direction:row;
  }

  .ea-form.ea-sequence-step .ea-submit,
  .ea-form.ea-sequence-step .ea-secondary{
    width:auto;
    flex:1;
    min-height:37px;
    padding:0 8px;
    font-size:10.5px;
  }
}

@media(max-width:430px){
  .ea-sequence-progress span{
    font-size:0;
  }

  .ea-sequence-progress span b{
    font-size:8px;
  }

  .ea-services-grid-sequence{
    grid-template-columns:1fr;
  }

  .ea-services-grid-sequence .ea-service-card{
    display:grid;
    grid-template-columns:116px minmax(0,1fr);
  }

  .ea-services-grid-sequence .ea-service-media{
    min-height:126px;
    height:100%;
    border-radius:14px 0 0 14px;
  }

  .ea-services-grid-sequence .ea-service-body{
    min-width:0;
    justify-content:center;
  }

  .ea-services-grid-sequence .ea-service-type{
    left:5px!important;
    top:6px!important;
    padding:2px 7px 2px 3px!important;
    font-size:7.5px!important;
    gap:4px!important;
  }

  .ea-services-grid-sequence .ea-type-icon{
    width:20px!important;
    height:20px!important;
    flex-basis:20px!important;
  }

  .ea-services-grid-sequence .ea-service-badge{
    right:5px!important;
    bottom:5px!important;
    font-size:8px!important;
    padding:4px 6px!important;
  }

  .ea-form.ea-sequence-step .ea-grid{
    grid-template-columns:1fr;
  }
}


/* v2.0.1 - Calendar navigation refinement */
.ea-modal .ea-calendar-head .ea-nav-btn,
.ea-calendar-head .ea-nav-btn{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  background:#005EE9!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:700!important;
  box-shadow:0 7px 18px rgba(0,94,233,.22)!important;
  cursor:pointer!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.ea-modal .ea-calendar-head .ea-nav-btn:hover:not(:disabled),
.ea-calendar-head .ea-nav-btn:hover:not(:disabled){
  background:#0046b5!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 9px 22px rgba(0,70,181,.28)!important;
}
.ea-modal .ea-calendar-head .ea-nav-btn:disabled,
.ea-calendar-head .ea-nav-btn:disabled{
  background:#c8d7ea!important;
  color:#fff!important;
  opacity:1!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  transform:none!important;
}
@media(max-width:640px){
  .ea-modal .ea-calendar-head .ea-nav-btn,
  .ea-calendar-head .ea-nav-btn{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    border-radius:7px!important;
    font-size:23px!important;
  }
}

/* =========================================================
   V2.0.2 - TEXTO DE FECHAS Y HORAS MAS LEGIBLE
========================================================= */
.ea-modal .ea-weekdays span{
  font-size:10.5px;
}

.ea-modal .ea-day{
  font-size:13.5px;
  font-weight:700;
}

.ea-modal .ea-slot{
  font-size:13.5px;
  font-weight:700;
}

@media(max-width:760px){
  .ea-modal .ea-weekdays span{
    font-size:9px;
  }

  .ea-modal .ea-day{
    font-size:12px;
  }

  .ea-modal .ea-slot{
    font-size:12px;
  }
}

@media(max-width:430px){
  .ea-modal .ea-weekdays span{
    font-size:8.5px;
  }

  .ea-modal .ea-day{
    font-size:11.5px;
  }

  .ea-modal .ea-slot{
    font-size:11.5px;
  }
}

@media(max-width:350px){
  .ea-modal .ea-day{
    font-size:11px;
  }

  .ea-modal .ea-slot{
    font-size:11px;
  }
}

/* =========================================================
   V2.1 - DISPONIBILIDAD MENSUAL + CITAS SIN IMAGENES/ICONOS
========================================================= */

/* Tarjetas de citas: solo titulo, descripcion y boton */
.ea-services-grid-sequence{
  gap:14px!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text{
  position:relative;
  display:flex!important;
  min-height:170px!important;
  overflow:hidden!important;
  border:1px solid #dce7f5!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#243247!important;
  box-shadow:0 10px 28px rgba(13,45,87,.07)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#005EE9 0%,#0046b5 100%);
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text::after{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  right:-82px;
  top:-82px;
  border-radius:50%;
  background:rgba(0,94,233,.045);
  box-shadow:0 0 0 28px rgba(0,94,233,.018);
  pointer-events:none;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text:hover{
  transform:translateY(-2px)!important;
  border-color:#bdd4f2!important;
  box-shadow:0 16px 36px rgba(13,45,87,.11)!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-body-text{
  position:relative;
  z-index:1;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  width:100%;
  min-height:170px;
  padding:23px 24px 20px 27px!important;
  background:#fff!important;
  color:#243247!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-name{
  display:block!important;
  margin:0!important;
  color:#0d2d57!important;
  font-size:18px!important;
  line-height:1.28!important;
  font-weight:800!important;
  letter-spacing:-.25px!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-description{
  display:block!important;
  min-height:0!important;
  margin:10px 0 18px!important;
  overflow:visible!important;
  color:#66758a!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  -webkit-line-clamp:unset!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-footer-text{
  display:flex!important;
  margin-top:auto!important;
  padding:0!important;
  border:0!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 16px!important;
  border:1px solid #005EE9!important;
  border-radius:9px!important;
  background:#005EE9!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 8px 18px rgba(0,94,233,.16)!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text:hover .ea-service-cta{
  background:#0046b5!important;
  border-color:#0046b5!important;
  color:#fff!important;
}

/* Estado real de disponibilidad del calendario */
.ea-day.is-checking{
  position:relative;
  color:#a7b2c0!important;
  background:#f8fafc!important;
  cursor:wait!important;
}
.ea-day.is-checking::after{
  content:"";
  position:absolute;
  bottom:5px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#c8d2df;
}
.ea-day.is-available{
  position:relative;
  background:#f7fbff!important;
  border-color:#d3e5fb!important;
  color:#173b69!important;
}
.ea-day.is-available::after{
  content:"";
  position:absolute;
  bottom:5px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#005EE9;
}
.ea-day.is-available:hover:not(:disabled){
  background:#eaf4ff!important;
  border-color:#9fc7f5!important;
  color:#005EE9!important;
}
.ea-day.is-unavailable,
.ea-day.is-unavailable:hover{
  position:relative;
  background:#f4f6f8!important;
  border-color:#e5e9ee!important;
  color:#a8b0bb!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
.ea-day.is-unavailable::after{
  content:"";
  position:absolute;
  bottom:5px;
  width:5px;
  height:5px;
  border-radius:50%;
  border:1.5px solid #aab4c0;
  background:transparent;
}
.ea-day.is-selected::after{background:#fff!important;border-color:#fff!important}

.ea-calendar-legend{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:12px;
  color:#6c7c90;
  font-size:10.5px;
  font-weight:700;
}
.ea-calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.ea-calendar-legend i{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
}
.ea-calendar-legend .is-free{background:#005EE9}
.ea-calendar-legend .is-full{border:1.5px solid #aab4c0;background:transparent}

@media(max-width:680px){
  .ea-services-grid-sequence{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text,
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-body-text{
    min-height:145px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-body-text{
    padding:19px 18px 17px 21px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-name{
    font-size:16px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-description{
    margin:7px 0 14px!important;
    font-size:11.5px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-cta{
    min-height:36px!important;
    padding:0 13px!important;
    font-size:11px!important;
  }
  .ea-calendar-legend{gap:8px 12px;margin-top:9px;font-size:9px}
}


/* Elementos compartidos del paso de información del servicio. */
.ea-service-info-head{padding:30px 64px 25px 28px;background:linear-gradient(135deg,#0f5fbf,#064b9d);color:#fff}
.ea-service-info-head .ea-overline{color:rgba(255,255,255,.76)!important}
.ea-service-info-head h3{margin:7px 0 9px;color:#fff;font-size:24px;line-height:1.2}
.ea-service-info-head p{margin:0;color:rgba(255,255,255,.9);font-size:13px;line-height:1.6}
.ea-service-info-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e8edf4;border-bottom:1px solid #e8edf4}
.ea-service-info-facts>div{padding:17px 14px;background:#fff;text-align:center}
.ea-service-info-facts span{display:block;margin-bottom:5px;color:#7a8797;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.ea-service-info-facts strong{display:block;color:#14365f;font-size:14px}
.ea-service-info-block,.ea-service-info-note{margin:20px 28px 0;padding:17px 18px;border-radius:12px}
.ea-service-info-block{background:#f5f9ff;border:1px solid #dce9f8}
.ea-service-info-block .ea-overline{color:#0b5ab4!important}
.ea-service-info-block p{margin:7px 0 0;color:#405268;font-size:13px;line-height:1.65;white-space:pre-line}
.ea-service-info-note{background:#f8fafc;border:1px solid #e7ebf0}
.ea-service-info-note strong{display:block;color:#243247;font-size:12px}
.ea-service-info-note p{margin:5px 0 0;color:#657488;font-size:11.5px;line-height:1.55}
.ea-service-info-actions{display:flex;justify-content:flex-end;gap:10px;padding:22px 28px 27px}
.ea-service-info-actions .ea-secondary,.ea-service-info-actions .ea-submit{min-height:44px!important;border-radius:10px!important;padding:0 17px!important}
@media(max-width:680px){
  .ea-service-info-head{padding:24px 50px 20px 20px}
  .ea-service-info-head h3{font-size:20px}
  .ea-service-info-facts{grid-template-columns:1fr 1fr}
  .ea-service-info-block,.ea-service-info-note{margin:15px 18px 0}
  .ea-service-info-actions{padding:18px;flex-direction:column-reverse}
  .ea-service-info-actions button{width:100%}
}


/* Zona horaria del invitado */
.ea-timezone-panel{margin:20px 0 22px;padding:20px;border:1px solid #dbe5f1;border-radius:18px;background:#f8fbff;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);gap:22px;align-items:end}
.ea-timezone-copy h3{margin:4px 0 8px;color:#132238;font-size:20px}.ea-timezone-copy p{margin:0;color:#526173;line-height:1.55}.ea-detected-timezone{margin-top:10px;font-size:13px;color:#42617f;font-weight:600}
.ea-timezone-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.ea-timezone-controls label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#26374b}.ea-timezone-controls select{width:100%;min-height:44px;border:1px solid #cbd8e6;border-radius:10px;background:#fff;padding:0 10px;color:#17283d;font-size:15px}.ea-timezone-confirm{grid-column:1/-1;width:100%}
.ea-timezone-confirmed{grid-column:1/-1;padding:10px 12px;border-radius:10px;background:#eaf3ff;color:#0b5dbb;font-weight:700;font-size:14px}.ea-date-layout-locked{opacity:.42;pointer-events:none;filter:grayscale(.15)}
.ea-slot small{display:block;margin-top:3px;font-size:11px;font-weight:600;opacity:.72}.ea-timezone-inline{display:block;margin-top:6px;font-size:12px;font-weight:600;color:#5e7085}
@media(max-width:760px){.ea-timezone-panel{grid-template-columns:1fr}.ea-timezone-controls{grid-template-columns:1fr}.ea-timezone-confirm{grid-column:auto}}

/* 2.3.0: la descripción es el primer paso REAL, sin ventana anidada. */
.ea-booking .ea-service-detail-step{padding-bottom:14px}
.ea-booking .ea-service-details-panel{margin:22px auto 10px;width:min(850px,100%);border:1px solid #e2e9f3;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 36px rgba(17,46,83,.07)}
.ea-booking .ea-service-details-panel .ea-service-info-head{padding:27px 30px;background:linear-gradient(135deg,#0f5fbf,#064b9d)}
.ea-booking .ea-service-details-panel .ea-service-info-head h3{color:#fff;font-size:clamp(20px,2.4vw,27px)}
.ea-booking .ea-service-details-panel .ea-service-info-head p{font-size:14px;white-space:pre-line;line-height:1.7}
.ea-booking .ea-service-details-panel .ea-service-info-actions{flex-wrap:wrap;align-items:center}
.ea-booking .ea-service-details-panel .ea-service-info-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:680px){
 .ea-booking .ea-service-details-panel{margin-top:16px;border-radius:13px}
 .ea-booking .ea-service-details-panel .ea-service-info-head{padding:23px 20px}
 .ea-booking .ea-service-details-panel .ea-service-info-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ea-booking .ea-service-details-panel .ea-service-info-actions{flex-direction:column-reverse}
 .ea-booking .ea-service-details-panel .ea-service-info-actions button{width:100%}
}

.ea-booking .ea-calendar-warning{margin:12px 0 14px;padding:12px 14px;background:#fff8ea;border:1px solid #f4dca1;border-radius:9px;color:#825216;font-size:13px;line-height:1.5}


/* v2.5.5 — cinco pantallas independientes antes del TPV. */
.ea-booking .ea-sequence-progress{grid-template-columns:repeat(5,minmax(0,1fr))}
.ea-booking .ea-sequence-progress span{min-width:0}
.ea-booking .ea-location-stage{max-width:870px;margin:18px auto 0;border:1px solid #dfe8f4;border-radius:19px;background:#fff;box-shadow:0 12px 32px rgba(17,46,83,.06);overflow:hidden}
.ea-booking .ea-location-service{padding:20px 24px;background:linear-gradient(180deg,#fff,#f7faff);border-bottom:1px solid #e6edf5}
.ea-booking .ea-location-service .ea-overline{font-size:10px;margin-bottom:4px}
.ea-booking .ea-location-service strong{display:block;font-size:17px;color:#193c65;line-height:1.35}
.ea-booking .ea-location-service small{display:block;color:#697d93;margin-top:5px;line-height:1.6;font-size:12px}
.ea-booking .ea-location-stage .ea-timezone-panel{margin:0;padding:26px 24px 17px;border:0;border-radius:0;background:#fff;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:start;gap:28px}
.ea-booking .ea-location-stage .ea-timezone-copy h3{margin:6px 0 11px;color:#123763;font-size:21px;line-height:1.3}
.ea-booking .ea-location-stage .ea-timezone-copy p{font-size:13px;line-height:1.65;color:#627187}
.ea-booking .ea-location-stage .ea-detected-timezone{margin-top:15px;padding:12px 14px;border:1px solid #dce9fa;border-radius:11px;background:#f5f9ff;font-size:12.5px;color:#23528c;font-weight:650;line-height:1.5}
.ea-booking .ea-location-stage .ea-timezone-controls{grid-template-columns:1fr;gap:14px}
.ea-booking .ea-location-stage .ea-timezone-controls label{display:grid;gap:8px;color:#26374b;font-size:12px;font-weight:800}
.ea-booking .ea-location-stage .ea-timezone-controls select{height:47px;border-color:#d3dfec;border-radius:10px;color:#1e3b5b;background:#fff;font-size:14px;padding:0 12px}
.ea-booking .ea-location-stage .ea-timezone-controls select:focus-visible{outline:3px solid rgba(0,94,233,.17);outline-offset:2px}
.ea-booking .ea-location-stage .ea-timezone-confirmed{padding:11px 14px;border-radius:11px;background:#e9f4ff;color:#1754a0;font-size:13px}
.ea-booking .ea-location-stage .ea-timezone-confirmed.is-error{background:#fff2ef;border:1px solid #f9c8bc;color:#ab2e20}
.ea-booking .ea-location-help{margin:3px 24px 18px;padding:16px 18px;border:1px solid #e3edf8;border-radius:12px;background:#f7faff}
.ea-booking .ea-location-help strong{display:block;font-size:12px;color:#1c4775;margin-bottom:4px}
.ea-booking .ea-location-help p{margin:0;font-size:12px;color:#65758b;line-height:1.55}
.ea-booking .ea-location-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 24px 22px;border-top:1px solid #edf1f6}
.ea-booking .ea-location-actions button{min-height:46px;border-radius:10px;padding:0 19px;font-weight:800}
.ea-booking .ea-date-location-summary{display:block!important;-webkit-line-clamp:unset!important;margin:12px 0 14px!important;overflow-wrap:anywhere;font-size:12px!important;color:#637d98!important;line-height:1.55!important}
@media(max-width:760px){
 .ea-booking .ea-sequence-progress span{padding:5px 3px;gap:4px;font-size:9px}
 .ea-booking .ea-location-stage{margin-top:12px;border-radius:13px}
 .ea-booking .ea-location-service{padding:17px}
 .ea-booking .ea-location-stage .ea-timezone-panel{grid-template-columns:1fr;padding:18px 17px 14px;gap:18px}
 .ea-booking .ea-location-stage .ea-timezone-copy h3{font-size:19px}
 .ea-booking .ea-location-help{margin:4px 17px 14px;padding:14px}
 .ea-booking .ea-location-actions{padding:14px 17px 18px}
 .ea-booking .ea-location-actions button{flex:1;min-height:44px;padding:0 10px;font-size:12px}
}
@media(max-width:540px){
 .ea-booking .ea-sequence-progress span{font-size:0!important;min-height:34px}
 .ea-booking .ea-sequence-progress span b{font-size:10px;min-width:19px;width:19px;height:19px}
 .ea-booking .ea-location-actions{flex-direction:column-reverse;align-items:stretch;gap:9px}
 .ea-booking .ea-location-actions button{width:100%}
}

/* BBVA/Redsys: information and legal acceptance before payment */
#ea-booking .ea-contract-review{margin:17px 0 14px;padding:18px 20px;border:1px solid #cee0f7;background:#f5f9ff;border-radius:14px;color:#254363}
#ea-booking .ea-contract-review>strong{display:block;font-size:15px;color:#0a3268;margin-bottom:7px}
#ea-booking .ea-contract-review p{margin:5px 0 9px;font-size:13px;line-height:1.65;color:#3d5571}
#ea-booking .ea-contract-review #ea-final-price{font-size:16px;font-weight:800;color:#124c98}
#ea-booking .ea-contract-review .ea-contract-links{margin-bottom:0;line-height:2}
#ea-booking .ea-contract-review a,#ea-booking .ea-check-legal a{color:#005ee9;text-decoration:underline;text-underline-offset:2px;font-weight:700}
#ea-booking .ea-check-legal{margin-top:11px}
#ea-booking .ea-check-legal[hidden]{display:none!important}
#ea-booking .ea-check-legal span{line-height:1.6}


/* v2.6.2 — Modal automático; sin pantalla de presentación previa. */
#ea-booking.ea-booking-auto{min-height:0;margin:0;padding:0;background:transparent}
#ea-booking .ea-reopen-shell{display:grid;place-items:center;min-height:220px;padding:30px 18px;background:#f7faff}
#ea-booking .ea-reopen-shell[hidden]{display:none!important}
#ea-booking .ea-reopen-card{width:min(620px,100%);padding:26px 28px;border:1px solid #d7e5f4;border-radius:19px;background:#fff;text-align:center;box-shadow:0 12px 32px rgba(10,37,64,.08)}
#ea-booking .ea-reopen-card>strong{display:block;font-size:20px;color:#0d2d57}
#ea-booking .ea-reopen-card p{margin:8px 0 20px;font-size:14px;color:#65768a}
#ea-booking .ea-reopen-card .ea-open-booking{margin:0 auto 12px}
#ea-booking .ea-reopen-card>a{display:block;font-size:13px;color:#005ee9;font-weight:700}
#ea-booking .ea-nojs{padding:14px;text-align:center;color:#9b321d;background:#fff0e7}
#ea-booking .ea-merchant-note{display:grid;gap:5px;margin:16px auto 12px;max-width:1050px;padding:14px 19px;border:1px solid #d9e6f7;border-radius:12px;background:#f6faff;color:#556d87;font-size:12px;line-height:1.55}
#ea-booking .ea-merchant-note strong{color:#123d6c;font-size:13px}
#ea-booking .ea-legal-guidance{max-width:1080px;margin:16px auto;padding:17px 18px;border:1px solid #dae7f6;border-radius:15px;background:#f9fbff}
#ea-booking .ea-legal-guidance-compact{padding:12px 15px;margin:12px auto 16px}
#ea-booking .ea-legal-guidance-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 11px;margin-bottom:12px}
#ea-booking .ea-legal-guidance-heading strong{color:#143a68;font-size:13px}
#ea-booking .ea-legal-guidance-heading small{font-size:11px;color:#677e95;font-weight:500}
#ea-booking .ea-legal-shield{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:8px;background:#e0eeff;color:#005ee9;font-size:13px;font-weight:900}
#ea-booking .ea-legal-chip-grid{display:flex;flex-wrap:wrap;gap:9px}
#ea-booking a.ea-legal-chip{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:7px 12px;border-radius:10px;border:1px solid #d4e2f3;background:#fff;color:#194773!important;text-decoration:none!important;font-size:12px;line-height:1.35;font-weight:700;transition:background-color .2s,border-color .2s,box-shadow .2s}
#ea-booking a.ea-legal-chip:hover,#ea-booking a.ea-legal-chip:focus-visible{background:#eaf4ff;border-color:#6caaf4;box-shadow:0 0 0 3px rgba(0,94,233,.12)}
#ea-booking .ea-legal-chip-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:7px;background:#edf5ff;color:#0060d4;font-size:15px;font-weight:900}
#ea-booking .ea-contract-review-title{display:flex;align-items:center;gap:9px;margin-bottom:8px}
#ea-booking .ea-contract-review-title strong{color:#0b376d;font-size:16px}
#ea-booking .ea-merchant-checkout{display:grid;gap:5px;margin:14px 0;padding:13px 15px;border-left:3px solid #005ee9;background:#fff;border-radius:8px;color:#465d78;font-size:12px;line-height:1.65}
#ea-booking .ea-merchant-checkout strong{color:#163e71}
#ea-booking .ea-contract-review>.ea-legal-guidance{background:#fff;margin:16px 0 0}
#ea-booking .ea-pre-submit-notice{margin:15px 0 8px;padding:11px 13px;border-radius:10px;color:#536984;background:#f8fafc;border:1px solid #e5ebf2;font-size:12px;line-height:1.6}
#ea-booking .ea-empty-services{grid-column:1/-1;padding:24px;text-align:center;font-size:14px;border:1px solid #d7e5f4;border-radius:12px;color:#314b69;background:#fff}
#ea-booking .ea-empty-services a{color:#005ee9;font-weight:800}
@media(max-width:680px){
 #ea-booking .ea-merchant-note{margin:12px 10px}
 #ea-booking .ea-legal-guidance{padding:12px;margin:12px 10px}
 #ea-booking .ea-legal-guidance-heading{display:grid;grid-template-columns:24px 1fr;gap:4px 8px}
 #ea-booking .ea-legal-guidance-heading small{grid-column:2}
 #ea-booking .ea-legal-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 #ea-booking a.ea-legal-chip{padding:7px;gap:6px;font-size:10.5px;overflow-wrap:anywhere}
 #ea-booking .ea-legal-chip-icon{flex-basis:23px;width:23px;height:23px;font-size:13px}
 #ea-booking .ea-contract-review>.ea-legal-guidance{margin:12px 0}
 #ea-booking .ea-reopen-card{padding:22px 16px}
}
@media(max-width:380px){#ea-booking .ea-legal-chip-grid{grid-template-columns:1fr}}


/* =========================================================
   v2.6.3 - 6 PASOS: DATOS + REVISION/PAGO INDEPENDIENTES
   Se mantienen los colores y estilo original de Extranjería Agenda.
========================================================= */
#ea-booking .ea-sequence-progress{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
#ea-booking .ea-sequence-form{
  max-width:1080px;
  margin:0 auto;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#ea-booking .ea-sequence-form > .ea-sequence-step[hidden]{display:none!important}
#ea-booking .ea-sequence-form .ea-guest-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 17px;
  padding:2px;
}
#ea-booking .ea-sequence-form .ea-guest-grid > div{min-width:0}
#ea-booking .ea-sequence-form .ea-guest-grid .ea-full{grid-column:1/-1}
#ea-booking .ea-sequence-form .ea-guest-grid label{
  display:block;
  margin:0 0 6px;
  color:#153758;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}
#ea-booking .ea-sequence-form .ea-guest-grid input,
#ea-booking .ea-sequence-form .ea-guest-grid textarea{
  display:block;
  width:100%;
  min-height:46px;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid #cad9eb;
  border-radius:9px;
  background:#fff;
  color:#172b47;
  font-size:13px;
  line-height:1.45;
  box-sizing:border-box;
}
#ea-booking .ea-sequence-form .ea-guest-grid textarea{min-height:96px;resize:vertical}
#ea-booking .ea-sequence-form .ea-guest-grid input[readonly]{
  background:#eef5ff;
  border-color:#c3d8f4;
  color:#124879;
  font-weight:700;
}
#ea-booking .ea-sequence-form .ea-guest-grid :is(input,textarea):focus-visible{
  outline:2px solid #005ee9;
  outline-offset:1px;
}
#ea-booking .ea-required{color:#a2262f;font-weight:900}
#ea-booking .ea-field-help{display:block;margin-top:4px;color:#647993;font-size:11px;line-height:1.4}
#ea-booking .ea-personal-data-note{
  margin:16px 2px 8px;
  padding:14px 16px;
  color:#fff;
  border:1px solid #1c69ce;
  border-radius:13px;
  background:linear-gradient(125deg,#005ee9,#0046b5 72%,#0d2d57);
  font-size:12px;
  line-height:1.65;
}
#ea-booking .ea-personal-data-note strong,
#ea-booking .ea-personal-data-note a{color:#fff!important}
#ea-booking .ea-personal-data-note a{text-decoration:underline!important;text-underline-offset:3px}
#ea-booking .ea-guest-details .ea-form-actions{margin:18px 0 4px}
#ea-booking .ea-guest-details .ea-form-actions button{min-height:45px}
/* La franja del horario está DENTRO de un banner azul; gris = contraste insuficiente. */
#ea-booking #ea-booking-summary,
#ea-booking #ea-booking-summary .ea-timezone-inline{
  color:#fff!important;
  opacity:1!important;
  font-size:12px;
  font-weight:700;
}
#ea-booking #ea-booking-summary .ea-timezone-inline{
  margin-top:6px;
  padding:5px 9px;
  border-left:3px solid #fff;
  background:rgba(255,255,255,.12);
  border-radius:0 5px 5px 0;
  line-height:1.5;
}
/* Bloques de condiciones y políticas: fondo azul y contraste alto. */
#ea-booking .ea-legal-guidance,
#ea-booking .ea-legal-guidance.ea-legal-guidance-compact{
  border:1px solid #2879df!important;
  background:linear-gradient(125deg,#005ee9 0%,#0046b5 60%,#0d2d57 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(0,70,181,.13);
}
#ea-booking .ea-legal-guidance-heading strong,
#ea-booking .ea-legal-guidance-heading small{color:#fff!important}
#ea-booking .ea-legal-guidance-heading small{opacity:.85}
#ea-booking .ea-legal-guidance .ea-legal-shield{
  background:rgba(255,255,255,.2)!important;color:#fff!important
}
#ea-booking .ea-legal-guidance a.ea-legal-chip{
  color:#163b6a!important;
  background:#fff!important;
  border-color:#d7e9ff!important;
  text-decoration:none!important;
  box-shadow:0 2px 8px rgba(2,19,58,.09);
}
#ea-booking .ea-legal-guidance a.ea-legal-chip:hover,
#ea-booking .ea-legal-guidance a.ea-legal-chip:focus-visible{
  color:#0046b5!important;
  background:#eff7ff!important;
  border-color:#fff!important;
  outline:2px solid #fff;
  outline-offset:2px;
}
#ea-booking .ea-service-info-block{
  background:linear-gradient(125deg,#005ee9,#0d2d57)!important;
  color:#fff!important;
  border:1px solid #2779d7!important;
  border-radius:12px;
}
#ea-booking .ea-service-info-block .ea-overline,
#ea-booking .ea-service-info-block p{color:#fff!important}
#ea-booking .ea-review-overview{
  margin:14px 0;
  border:1px solid #d4e3f6;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(13,45,87,.06);
}
#ea-booking .ea-review-overview-title{
  padding:13px 17px;
  border-bottom:1px solid #d7e6f8;
  background:#ecf4ff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
#ea-booking .ea-review-overview-title strong{color:#0d356a;font-size:14px}
#ea-booking .ea-review-overview-title span{color:#506b8a;font-size:11px}
#ea-booking .ea-review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:8px 17px;
  gap:0 25px;
}
#ea-booking .ea-review-grid > div{
  min-width:0;
  padding:11px 0;
  border-bottom:1px solid #e9eff7;
}
#ea-booking .ea-review-grid dt{font-size:11px;color:#667a93;font-weight:750;margin-bottom:5px}
#ea-booking .ea-review-grid dd{
  margin:0;
  color:#122f56;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
  overflow-wrap:anywhere;
}
#ea-booking .ea-review-motive{margin:8px 17px 17px;padding:12px 14px;border-radius:11px;background:#f6f9ff}
#ea-booking .ea-review-motive strong{font-size:12px;color:#0d356a}
#ea-booking .ea-review-motive p{margin:6px 0 0;color:#334b66;font-size:12.5px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
#ea-booking .ea-review-step .ea-contract-review{margin:15px 0;padding:17px 19px}
#ea-booking .ea-review-step .ea-contract-review #ea-final-price{font-size:17px}
#ea-booking .ea-review-step .ea-check-legal{
  display:flex!important;
  align-items:flex-start;
  margin:10px 0;
  padding:14px 16px;
  border:1px solid #1d71d4;
  border-radius:12px;
  background:linear-gradient(120deg,#005ee9,#0046b5 75%,#0d2d57);
  color:#fff!important;
  font-size:12px;
  font-weight:500!important;
  line-height:1.7;
}
#ea-booking .ea-review-step .ea-check-legal[hidden]{display:none!important}
#ea-booking .ea-review-step .ea-check-legal input{
  margin-top:4px;
  flex:0 0 auto;
  accent-color:#fff;
  width:17px;
  height:17px;
}
#ea-booking .ea-review-step .ea-check-legal span{color:#fff!important}
#ea-booking .ea-review-step .ea-check-legal a{
  color:#fff!important;
  font-weight:800;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
#ea-booking .ea-review-step .ea-check-legal a:focus-visible{outline:2px solid #fff;outline-offset:2px}
#ea-booking .ea-review-step .ea-pre-submit-notice{margin:12px 0}
#ea-booking .ea-review-step .ea-review-actions{gap:12px;margin:17px 0 4px}
#ea-booking .ea-review-step .ea-review-actions button{min-height:48px}
#ea-booking .ea-review-step .ea-message.ea-error{padding:11px;color:#9b2226;background:#fff0ef;border-radius:9px}
@media(max-width:680px){
  #ea-booking .ea-sequence-progress{gap:3px}
  #ea-booking .ea-sequence-progress span{min-width:0;padding:4px 2px;font-size:8px;gap:2px}
  #ea-booking .ea-sequence-progress span b{flex:none}
  #ea-booking .ea-sequence-form .ea-guest-grid{grid-template-columns:1fr;gap:12px}
  #ea-booking .ea-sequence-form .ea-guest-grid .ea-full{grid-column:auto}
  #ea-booking .ea-sequence-form .ea-guest-grid label{font-size:12px}
  #ea-booking .ea-review-grid{grid-template-columns:1fr;gap:0;padding:6px 14px}
  #ea-booking .ea-review-overview-title{padding:12px 14px}
  #ea-booking .ea-review-motive{margin:7px 14px 14px}
  #ea-booking .ea-guest-details .ea-form-actions,
  #ea-booking .ea-review-step .ea-review-actions{flex-direction:column-reverse;align-items:stretch}
  #ea-booking .ea-guest-details .ea-form-actions button,
  #ea-booking .ea-review-step .ea-review-actions button{width:100%;font-size:12px}
  #ea-booking .ea-review-step .ea-contract-review{padding:13px}
}
@media(max-width:390px){
  #ea-booking .ea-sequence-progress span{font-size:0!important;min-height:32px}
  #ea-booking .ea-sequence-progress span b{font-size:9px!important;min-width:18px}
}


/* v2.6.4: los bloques informativos azules van DESPUES de las acciones
   de cada paso. No cambia su contenido, las aceptaciones ni el TPV. */
#ea-booking #ea-services-view > .ea-legal-guidance{
  margin-top:22px;
  margin-bottom:20px;
}
#ea-booking .ea-service-details-panel > .ea-service-info-block{
  margin:0 24px 13px;
}
#ea-booking .ea-service-details-panel > .ea-legal-guidance{
  margin:0 24px 24px;
  max-width:none;
}
#ea-booking .ea-location-stage > .ea-legal-guidance{
  margin:0 24px 23px;
  max-width:none;
}
#ea-booking #ea-date-view > .ea-legal-guidance,
#ea-booking #ea-time-view > .ea-legal-guidance{
  margin:20px auto 20px;
  width:100%;
  max-width:1080px;
}
#ea-booking .ea-guest-details > .ea-personal-data-note{
  margin:16px 2px 15px;
}
#ea-booking .ea-review-step > .ea-legal-review-block{
  max-width:1080px;
  margin:16px 0 18px;
}
@media(max-width:680px){
  #ea-booking .ea-service-details-panel > .ea-service-info-block{
    margin:0 15px 11px;
  }
  #ea-booking .ea-service-details-panel > .ea-legal-guidance,
  #ea-booking .ea-location-stage > .ea-legal-guidance{
    margin:0 15px 18px;
  }
  #ea-booking #ea-date-view > .ea-legal-guidance,
  #ea-booking #ea-time-view > .ea-legal-guidance{
    margin:16px auto;
  }
  #ea-booking .ea-review-step > .ea-legal-review-block{
    margin:15px 0;
  }
}


/* ================================================================
   v2.6.5: botonera uniforme, igual a "Información de tu cita".
   Exclusivamente navegacion de la agenda; no toca botones de
   calendario, seleccion de horas, pasarela ni enlaces legales.
   ================================================================ */
#ea-booking .ea-service-info-actions > button,
#ea-booking .ea-location-actions > button,
#ea-booking .ea-guest-details .ea-guest-actions > button,
#ea-booking .ea-review-step .ea-review-actions > button,
#ea-booking .ea-step-summary > .ea-back-link,
#ea-booking .ea-reopen-card > .ea-open-booking{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  height:auto!important;
  padding:10px 17px!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:10px!important;
  font-family:inherit!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  cursor:pointer;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

/* Accion principal: azul corporativo, texto blanco. */
#ea-booking .ea-service-info-actions > .ea-submit,
#ea-booking .ea-location-actions > .ea-submit,
#ea-booking .ea-guest-details .ea-guest-actions > .ea-submit,
#ea-booking .ea-review-step .ea-review-actions > .ea-submit,
#ea-booking .ea-reopen-card > .ea-open-booking{
  border-color:#005EE9!important;
  background:#005EE9!important;
  color:#fff!important;
}
#ea-booking .ea-service-info-actions > .ea-submit:hover,
#ea-booking .ea-location-actions > .ea-submit:hover,
#ea-booking .ea-guest-details .ea-guest-actions > .ea-submit:hover,
#ea-booking .ea-review-step .ea-review-actions > .ea-submit:hover,
#ea-booking .ea-reopen-card > .ea-open-booking:hover{
  background:#0046b5!important;
  border-color:#0046b5!important;
  color:#fff!important;
  transform:translateY(-1px);
}

/* Accion secundaria: fondo blanco, borde y texto azul grisaceo. */
#ea-booking .ea-service-info-actions > .ea-secondary,
#ea-booking .ea-location-actions > .ea-secondary,
#ea-booking .ea-guest-details .ea-guest-actions > .ea-secondary,
#ea-booking .ea-review-step .ea-review-actions > .ea-secondary,
#ea-booking .ea-step-summary > .ea-back-link{
  border-color:#ccd9e8!important;
  background:#fff!important;
  color:#42566f!important;
}
#ea-booking .ea-service-info-actions > .ea-secondary:hover,
#ea-booking .ea-location-actions > .ea-secondary:hover,
#ea-booking .ea-guest-details .ea-guest-actions > .ea-secondary:hover,
#ea-booking .ea-review-step .ea-review-actions > .ea-secondary:hover,
#ea-booking .ea-step-summary > .ea-back-link:hover{
  background:#f6f8fb!important;
  border-color:#9fbcdf!important;
  color:#14365f!important;
  text-decoration:none!important;
}
#ea-booking .ea-service-info-actions > button:focus-visible,
#ea-booking .ea-location-actions > button:focus-visible,
#ea-booking .ea-guest-details .ea-guest-actions > button:focus-visible,
#ea-booking .ea-review-step .ea-review-actions > button:focus-visible,
#ea-booking .ea-step-summary > .ea-back-link:focus-visible,
#ea-booking .ea-reopen-card > .ea-open-booking:focus-visible{
  outline:3px solid #8abaff!important;
  outline-offset:3px!important;
}
#ea-booking .ea-service-info-actions > button:disabled,
#ea-booking .ea-location-actions > button:disabled,
#ea-booking .ea-guest-details .ea-guest-actions > button:disabled,
#ea-booking .ea-review-step .ea-review-actions > button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  transform:none!important;
}

/* Iguala la separacion de las botoneras; sin alterar las tarjetas. */
#ea-booking .ea-location-actions,
#ea-booking .ea-guest-details .ea-guest-actions,
#ea-booking .ea-review-step .ea-review-actions{
  gap:10px!important;
}
#ea-booking .ea-location-actions{justify-content:flex-end!important;}
#ea-booking .ea-step-summary > .ea-back-link{max-width:100%;}

/* En movil, el boton azul arriba y volver debajo, como en la ficha. */
@media(max-width:680px){
  #ea-booking .ea-service-info-actions,
  #ea-booking .ea-location-actions,
  #ea-booking .ea-guest-details .ea-guest-actions,
  #ea-booking .ea-review-step .ea-review-actions{
    display:flex!important;
    flex-direction:column-reverse!important;
    align-items:stretch!important;
    gap:9px!important;
  }
  #ea-booking .ea-service-info-actions > button,
  #ea-booking .ea-location-actions > button,
  #ea-booking .ea-guest-details .ea-guest-actions > button,
  #ea-booking .ea-review-step .ea-review-actions > button{
    width:100%!important;
    flex:0 0 auto!important;
    min-height:44px!important;
    padding:10px 14px!important;
    font-size:12px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #ea-booking .ea-service-info-actions > button,
  #ea-booking .ea-location-actions > button,
  #ea-booking .ea-guest-details .ea-guest-actions > button,
  #ea-booking .ea-review-step .ea-review-actions > button,
  #ea-booking .ea-step-summary > .ea-back-link,
  #ea-booking .ea-reopen-card > .ea-open-booking{transition:none!important;transform:none!important;}
}


/* ========================================================================
   v2.6.6: correccion de ancho del paso 2 y botones azules para modificar
   fecha y ubicacion. Respeta los seis pasos, sin tocar la logica de reservas.
   ======================================================================== */

/* Ubicacion y zona horaria: misma botonera que "Informacion de tu cita".
   La regla antigua .ea-timezone-confirm{width:100%} forzaba un boton gigante
   en escritorio. Es necesario anularla solo en este paso. */
#ea-booking .ea-location-stage > .ea-location-actions{
  box-sizing:border-box!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:22px 28px 27px!important;
  border-top:0!important;
}
#ea-booking .ea-location-stage > .ea-location-actions > #ea-timezone-confirm,
#ea-booking .ea-location-stage > .ea-location-actions > #ea-back-service-info{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px 17px!important;
  border-radius:10px!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.35!important;
  white-space:normal!important;
}

/* Cambiar ubicacion (fecha) y cambiar fecha (hora): ambos azules. */
#ea-booking .ea-step-summary > #ea-back-location,
#ea-booking .ea-step-summary > #ea-back-date{
  appearance:none!important;
  background:#005EE9!important;
  border:1px solid #005EE9!important;
  color:#fff!important;
  min-height:44px!important;
  padding:10px 17px!important;
  border-radius:10px!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-align:center!important;
  text-decoration:none!important;
  -webkit-text-fill-color:#fff!important;
}
#ea-booking .ea-step-summary > #ea-back-location:hover,
#ea-booking .ea-step-summary > #ea-back-date:hover{
  background:#0046b5!important;
  border-color:#0046b5!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  transform:translateY(-1px);
}
#ea-booking .ea-step-summary > #ea-back-location:focus-visible,
#ea-booking .ea-step-summary > #ea-back-date:focus-visible{
  outline:3px solid #8abaff!important;
  outline-offset:3px!important;
}
@media(max-width:680px){
  #ea-booking .ea-location-stage > .ea-location-actions{
    flex-direction:column-reverse!important;
    align-items:stretch!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    padding:18px!important;
  }
  #ea-booking .ea-location-stage > .ea-location-actions > #ea-timezone-confirm,
  #ea-booking .ea-location-stage > .ea-location-actions > #ea-back-service-info{
    width:100%!important;
    flex:0 0 auto!important;
    font-size:12px!important;
    min-height:44px!important;
    padding:10px 14px!important;
  }
  #ea-booking .ea-step-summary > #ea-back-location,
  #ea-booking .ea-step-summary > #ea-back-date{
    width:100%!important;
    min-height:44px!important;
    font-size:12px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #ea-booking .ea-step-summary > #ea-back-location:hover,
  #ea-booking .ea-step-summary > #ea-back-date:hover{transform:none!important;}
}


/* =====================================================================
   v2.6.7: séptimo paso de importe/pago y latido suave en CTA de avance.
   No altera las tarjetas de servicio, la selección de fecha/hora ni Redsys.
   ===================================================================== */
#ea-booking .ea-sequence-progress{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
#ea-booking .ea-review-continue-note{
  margin:16px 0 8px;
  padding:14px 17px;
  border:1px solid #cbdff8;
  border-radius:11px;
  background:#f0f6ff;
  color:#1e4a78;
  font-size:12.5px;
  line-height:1.7;
}
#ea-booking .ea-payment-step > .ea-contract-review{margin:18px 0 14px}
#ea-booking .ea-payment-step > .ea-legal-review-block{margin:17px 0 19px}
#ea-booking .ea-payment-step > .ea-review-actions{margin:17px 0 5px}
/* Buttons match the earlier navigation style in size, weight, contrast and spacing. */
#ea-booking .ea-review-step .ea-review-actions > button{
  min-height:44px!important;
  border-radius:10px!important;
  padding:10px 17px!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
#ea-booking .ea-review-step .ea-review-actions > .ea-submit{
  border:1px solid #005EE9!important;
  background:#005EE9!important;
  color:#fff!important;
}
#ea-booking .ea-review-step .ea-review-actions > .ea-submit:hover{
  border-color:#0046b5!important;
  background:#0046b5!important;
}
#ea-booking .ea-review-step .ea-review-actions > .ea-secondary{
  border:1px solid #ccd9e8!important;
  background:#fff!important;
  color:#42566f!important;
}
/* Two quick beats followed by a quiet pause. Transform doesn't affect layout. */
@keyframes ea-cta-heartbeat-267{
  0%,9%,21%,33%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,94,233,0)}
  13%,25%{transform:scale(1.035);box-shadow:0 0 0 6px rgba(0,94,233,.15)}
  18%,30%{transform:scale(1.005);box-shadow:0 0 0 3px rgba(0,94,233,.06)}
}
/* Animate only the primary actions on the visible step. Never animate Back. */
#ea-booking .ea-sequence-step:not([hidden]) .ea-submit:not(:disabled){
  animation:ea-cta-heartbeat-267 4.1s ease-in-out infinite!important;
  transform-origin:center center;
}
/* The final obligation-to-pay action pulses only after explicit acceptance. */
#ea-booking .ea-payment-step:not(.ea-ready-to-pay) .ea-submit[type="submit"]{
  animation:none!important;
}
#ea-booking .ea-sequence-step:not([hidden]) .ea-submit:hover,
#ea-booking .ea-sequence-step:not([hidden]) .ea-submit:focus-visible{
  animation-play-state:paused!important;
}
#ea-booking .ea-sequence-step:not([hidden]) .ea-submit:disabled{animation:none!important}
@media(max-width:680px){
  #ea-booking .ea-sequence-progress{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
  #ea-booking .ea-payment-step > .ea-review-actions,
  #ea-booking .ea-review-step > .ea-review-actions{flex-direction:column-reverse;align-items:stretch}
  #ea-booking .ea-review-step .ea-review-actions > button{width:100%!important;min-height:46px!important;font-size:12px!important}
  #ea-booking .ea-review-continue-note{font-size:12px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){
  #ea-booking .ea-sequence-step:not([hidden]) .ea-submit:not(:disabled){animation:none!important;transform:none!important;box-shadow:none!important}
}

/* ================================================================
   v2.6.9 - TRES PASOS Y ENLACES DIRECTOS POR SERVICIO
   Se preservan el diseño azul corporativo y la animación de CTA.
   ================================================================ */
#ea-booking.ea-booking-269 [hidden]{display:none!important}
#ea-booking.ea-booking-269 .ea-sequence-progress{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  max-width:850px;
  margin:0 auto 20px;
}
#ea-booking.ea-booking-269 .ea-sequence-progress span{
  display:flex!important;
  align-items:center!important;
  justify-content:center;
  gap:7px!important;
  min-height:45px;
  font-size:12px!important;
  line-height:1.3;
  padding:8px 12px!important;
}
#ea-booking.ea-booking-269 .ea-sequence-progress span b{flex:0 0 auto;font-size:12px!important}
#ea-booking.ea-booking-269 .ea-services-grid-sequence{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1050px;
  gap:14px;
}
#ea-booking.ea-booking-269 .ea-service-card.is-selected{
  outline:3px solid rgba(0,94,233,.22)!important;
  outline-offset:2px!important;
  border-color:#005ee9!important;
  box-shadow:0 10px 28px rgba(0,94,233,.16)!important;
}
#ea-booking.ea-booking-269 .ea-service-card.is-selected .ea-service-cta{
  background:#0046b5!important;border-color:#0046b5!important;
}
#ea-booking.ea-booking-269.ea-direct-service #ea-services-grid .ea-service-card:not(.is-selected){display:none!important}
#ea-booking.ea-booking-269.ea-direct-service #ea-services-grid{grid-template-columns:minmax(0,1fr);max-width:740px}
#ea-booking.ea-booking-269 #ea-change-service{
  display:block;margin:12px auto 0;border:0;padding:9px 14px;background:transparent;
  color:#005ee9;font-weight:800;font-size:12px;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;
}
#ea-booking.ea-booking-269 .ea-inline-service-info{
  width:min(960px,100%);margin:18px auto 0;border-radius:14px;
  box-shadow:0 5px 18px rgba(13,45,87,.06);
}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-head{padding:18px 22px}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-head h3{font-size:20px!important;margin:3px 0 5px!important}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-head p{font-size:12px!important}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-facts > div{padding:12px 8px}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-block{
  margin:12px!important;padding:13px 16px!important;
  background:#f4f8ff!important;border:1px solid #d5e4f6!important;color:#244466!important;
}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-block strong{color:#174777;font-size:12px}
#ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-block p{
  color:#4b607a!important;font-size:12px;line-height:1.6;white-space:pre-line;
}
#ea-booking.ea-booking-269 .ea-location-inline{max-width:960px;margin:16px auto 0}
#ea-booking.ea-booking-269 .ea-location-inline .ea-timezone-panel{padding:20px 22px;gap:20px}
#ea-booking.ea-booking-269 .ea-location-inline .ea-timezone-copy h3{font-size:18px!important}
#ea-booking.ea-booking-269 .ea-location-inline .ea-detected-timezone{font-size:11px;padding:9px 11px}
#ea-booking.ea-booking-269 .ea-step-actions{max-width:960px;margin:16px auto 0!important}
#ea-booking.ea-booking-269 .ea-step-actions > .ea-submit{min-height:46px!important}
#ea-booking.ea-booking-269 .ea-service-stage-error{
  max-width:960px;margin:10px auto 0;padding:12px 16px;
  background:#fff1f0;border:1px solid #f5bbb5;color:#a0292c;
  border-radius:10px;font-size:12px;
}
#ea-booking.ea-booking-269 .ea-selected-meta{
  max-width:1050px;margin:14px auto;display:flex;align-items:center;gap:10px 20px;
  flex-wrap:wrap;padding:13px 18px;border:1px solid #d9e7fa;background:#f5f9ff;border-radius:12px;
}
#ea-booking.ea-booking-269 .ea-selected-meta strong{font-size:14px;color:#153b6b}
#ea-booking.ea-booking-269 .ea-selected-meta small{font-size:12px;color:#596e85}
#ea-booking.ea-booking-269 #ea-back-services{
  min-height:34px;margin-left:auto;padding:6px 10px;border:1px solid #005ee9;
  border-radius:8px;color:#005ee9;background:#fff;font-size:11px;font-weight:800;
}
#ea-booking.ea-booking-269 #ea-back-services:hover{color:#fff;background:#005ee9}
#ea-booking.ea-booking-269 .ea-schedule-layout{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:start;gap:18px;max-width:1050px;margin:16px auto 0;
}
#ea-booking.ea-booking-269 .ea-schedule-layout > div{min-width:0}
#ea-booking.ea-booking-269 .ea-schedule-layout .ea-calendar-panel-single,
#ea-booking.ea-booking-269 .ea-schedule-layout .ea-time-panel-single{padding:20px;border:1px solid #d9e6f6;border-radius:14px}
#ea-booking.ea-booking-269 .ea-schedule-layout .ea-time-panel-single .ea-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
#ea-booking.ea-booking-269 .ea-next-hint{font-size:11px!important;color:#60758e!important;margin-top:14px!important}
#ea-booking.ea-booking-269 .ea-sequence-form{max-width:1030px}
#ea-booking.ea-booking-269 .ea-guest-details .ea-data-note{
  margin:12px 2px 8px;padding:0;color:#61728a;font-size:11.5px;line-height:1.6;
}
#ea-booking.ea-booking-269 .ea-guest-details > .ea-contract-review{margin:18px 0 16px;padding:17px 19px}
#ea-booking.ea-booking-269 .ea-guest-details .ea-check-legal{
  border:1px solid #d4e5fb;background:#f6faff;border-radius:10px;padding:12px 14px;
  font-size:12px!important;line-height:1.6;
}
#ea-booking.ea-booking-269 .ea-guest-details .ea-check-legal span{color:#264765}
#ea-booking.ea-booking-269 .ea-guest-details .ea-check-legal input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0}
#ea-booking.ea-booking-269 .ea-payment-actions{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px!important;
}
#ea-booking.ea-booking-269 .ea-payment-actions > button{
  min-height:46px!important;border-radius:10px!important;padding:10px 18px!important;
  font-size:12.5px!important;font-weight:800!important;
}
#ea-booking.ea-booking-269 .ea-payment-actions > .ea-submit{
  color:#fff!important;background:#005ee9!important;border:1px solid #005ee9!important;
}
#ea-booking.ea-booking-269 .ea-payment-actions > .ea-secondary{
  color:#005ee9!important;border:1px solid #005ee9!important;background:#fff!important;
}
#ea-booking.ea-booking-269 .ea-payment-actions > .ea-secondary:hover{color:#fff!important;background:#005ee9!important}
#ea-booking.ea-booking-269 .ea-guest-details > .ea-legal-inline{
  max-width:100%;margin:15px 2px 8px;padding:0;border:0;background:transparent;
  text-align:left;color:#738196;font-size:11px;font-weight:400;line-height:1.75;
}
#ea-booking.ea-booking-269 .ea-legal-inline a{font-size:inherit;font-weight:700;color:#005ee9;text-decoration:underline;text-underline-offset:2px}
#ea-booking.ea-booking-269 .ea-legal-inline a:hover{color:#0046b5}
#ea-booking.ea-booking-269 .ea-message.ea-error{
  margin-top:12px;padding:11px 12px;color:#9b2226;background:#fff0ef;border:1px solid #efc5bf;border-radius:9px;
}
@media(max-width:760px){
  #ea-booking.ea-booking-269 .ea-schedule-layout{grid-template-columns:minmax(0,1fr);gap:12px}
  #ea-booking.ea-booking-269 .ea-services-grid-sequence{grid-template-columns:minmax(0,1fr)}
  #ea-booking.ea-booking-269 .ea-location-inline .ea-timezone-panel{grid-template-columns:minmax(0,1fr)}
  #ea-booking.ea-booking-269 .ea-sequence-progress span{font-size:10px!important;padding:7px 5px!important;gap:4px!important}
  #ea-booking.ea-booking-269 .ea-selected-meta{gap:8px;padding:10px 12px}
  #ea-booking.ea-booking-269 #ea-back-services{margin-left:0}
  #ea-booking.ea-booking-269 .ea-schedule-layout .ea-calendar-panel-single,
  #ea-booking.ea-booking-269 .ea-schedule-layout .ea-time-panel-single{padding:16px 14px}
  #ea-booking.ea-booking-269 .ea-payment-actions{flex-direction:column-reverse;align-items:stretch}
  #ea-booking.ea-booking-269 .ea-payment-actions > button{width:100%!important}
  #ea-booking.ea-booking-269 .ea-step-actions > .ea-submit{width:100%}
}
@media(max-width:460px){
  #ea-booking.ea-booking-269 .ea-sequence-progress{gap:4px!important}
  #ea-booking.ea-booking-269 .ea-sequence-progress span{
    flex-direction:column!important;gap:3px!important;font-size:10px!important;
    padding:7px 3px!important;min-height:54px;
  }
  #ea-booking.ea-booking-269 .ea-inline-service-info .ea-service-info-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #ea-booking.ea-booking-269 .ea-schedule-layout .ea-time-panel-single .ea-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* 2.6.13: empty-month guidance; never confuse no appointments with server errors. */
#ea-booking.ea-booking-269 .ea-month-empty[hidden]{display:none!important}
#ea-booking.ea-booking-269 .ea-month-empty{
  margin:12px 0 14px;padding:14px 16px;border:1px solid #bed6fa;
  border-radius:12px;background:#f2f7ff;color:#183c70;
  font-size:13px;line-height:1.55;
}
#ea-booking.ea-booking-269 .ea-month-empty p{margin:0 0 10px;color:inherit;font-size:inherit;line-height:inherit}
#ea-booking.ea-booking-269 .ea-month-empty p:last-child{margin-bottom:0}
#ea-booking.ea-booking-269 .ea-month-empty-next[hidden]{display:none!important}
#ea-booking.ea-booking-269 .ea-month-empty-next{
  display:inline-flex;align-items:center;justify-content:center;
  max-width:100%;min-height:44px;padding:10px 15px;
  background:#005ee9;color:#fff;border:1px solid #005ee9;
  border-radius:9px;font:inherit;font-size:12.5px;font-weight:700;
  line-height:1.3;text-align:center;cursor:pointer;white-space:normal;
  text-decoration:none;transition:background-color .15s ease;
}
#ea-booking.ea-booking-269 .ea-month-empty-next:hover{background:#0046b5;border-color:#0046b5;color:#fff}
#ea-booking.ea-booking-269 .ea-month-empty-next:focus-visible{outline:3px solid #80b5ff;outline-offset:3px}
@media(max-width:460px){
  #ea-booking.ea-booking-269 .ea-month-empty{padding:12px 10px;font-size:12px}
  #ea-booking.ea-booking-269 .ea-month-empty-next{width:100%;font-size:12px}
}


/* v2.6.14: Keep the re-open booking card below the site navigation.
   --ea-reopen-header-clearance is measured in the browser. Unlike a fixed
   120px spacer it does not add unwanted whitespace on themes with a regular
   (non-overlapping) header. This affects only the re-open panel, NOT modal. */
#ea-booking.ea-booking-auto #ea-reopen-shell{
  padding-top:calc(30px + var(--ea-reopen-header-clearance, 0px));
}

/* v2.6.15: booking area clears floating menus from any plugin.
   This only affects the reopen card; a modal stays fixed to the viewport. */
#ea-booking.ea-booking-auto #ea-reopen-shell {
  padding-top: calc(30px + var(--ea-reopen-header-clearance, 0px)) !important;
  overflow-anchor: none;
}

/* Agenda Legal 2.6.36: un enlace individual va directamente a su ficha y ubicacion,
   sin volver a presentar la tarjeta de seleccion ya preseleccionada. */
#ea-booking.ea-booking-269.ea-direct-service #ea-services-grid {display:none!important}

/* =========================================================
   V2.6.41 - ETIQUETAS DE SERVICIOS CON FOTO EN MODAL
========================================================= */
.ea-services-grid-sequence{
  gap:16px!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text{
  min-height:206px!important;
  border:1px solid #d6e3f5!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  box-shadow:0 14px 38px rgba(13,45,87,.08)!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text::before{
  width:6px;
  background:linear-gradient(180deg,#005EE9 0%,#3d8bff 100%);
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text::after{
  width:180px;
  height:180px;
  right:-96px;
  top:-96px;
  background:rgba(0,94,233,.05);
  box-shadow:0 0 0 36px rgba(0,94,233,.02);
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text:hover,
.ea-services-grid-sequence .ea-service-card.ea-service-card-text:focus{
  transform:translateY(-3px)!important;
  border-color:#b7d0f2!important;
  box-shadow:0 20px 48px rgba(13,45,87,.14)!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-body-text{
  min-height:206px;
  padding:20px 22px 19px 24px!important;
  gap:0!important;
}
.ea-services-grid-sequence .ea-service-topline{
  display:flex;
  align-items:flex-start;
  gap:15px;
}
.ea-services-grid-sequence .ea-service-thumb{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:84px;
  min-width:84px;
  height:84px;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(135deg,#eaf3ff 0%,#dfeeff 100%);
  box-shadow:inset 0 0 0 1px rgba(0,94,233,.12),0 8px 20px rgba(13,45,87,.08);
}
.ea-services-grid-sequence .ea-service-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  pointer-events:none;
}
.ea-services-grid-sequence .ea-service-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ea-services-grid-sequence .ea-service-thumb.is-placeholder{
  background:linear-gradient(135deg,#0d2d57 0%,#005EE9 100%);
}
.ea-services-grid-sequence .ea-service-thumb-icon{
  font-size:32px;
  line-height:1;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.12));
}
.ea-services-grid-sequence .ea-service-copy{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  gap:10px;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-name{
  margin:0!important;
  font-size:19px!important;
  line-height:1.26!important;
}
.ea-services-grid-sequence .ea-service-meta-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ea-services-grid-sequence .ea-service-meta-tag{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:#eef5ff;
  color:#0d4687;
  font-size:11px;
  font-weight:800;
  letter-spacing:.15px;
  border:1px solid #d6e6fb;
}
.ea-services-grid-sequence .ea-service-meta-tag-language{
  background:#f4f8fd;
  color:#4d627d;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-description{
  margin:14px 0 18px!important;
  color:#607086!important;
  font-size:13px!important;
  line-height:1.6!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-footer-text{
  align-items:flex-end!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-cta{
  min-height:42px!important;
  padding:0 17px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#005EE9 0%,#004cc5 100%)!important;
  border-color:#005EE9!important;
  font-size:12px!important;
  letter-spacing:.15px;
  box-shadow:0 10px 22px rgba(0,94,233,.18)!important;
}
.ea-services-grid-sequence .ea-service-card.ea-service-card-text:hover .ea-service-cta,
.ea-services-grid-sequence .ea-service-card.ea-service-card-text:focus .ea-service-cta{
  background:linear-gradient(180deg,#004fca 0%,#003f9f 100%)!important;
  border-color:#004fca!important;
}
@media (max-width: 760px){
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text{
    min-height:0!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-body-text{
    min-height:0;
    padding:18px 18px 17px 20px!important;
  }
  .ea-services-grid-sequence .ea-service-topline{
    gap:12px;
  }
  .ea-services-grid-sequence .ea-service-thumb{
    width:72px;
    min-width:72px;
    height:72px;
    border-radius:18px;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-name{
    font-size:17px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-description{
    margin:12px 0 16px!important;
    font-size:12.5px!important;
  }
}
@media (max-width: 520px){
  .ea-services-grid-sequence{
    gap:12px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text{
    border-radius:18px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-body-text{
    padding:15px 15px 14px 17px!important;
  }
  .ea-services-grid-sequence .ea-service-topline{
    align-items:center;
    gap:10px;
  }
  .ea-services-grid-sequence .ea-service-thumb{
    width:64px;
    min-width:64px;
    height:64px;
    border-radius:16px;
  }
  .ea-services-grid-sequence .ea-service-meta-tags{
    gap:6px;
  }
  .ea-services-grid-sequence .ea-service-meta-tag{
    min-height:26px;
    padding:0 9px;
    font-size:10px;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-name{
    font-size:15.5px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-description{
    margin:10px 0 14px!important;
    font-size:12px!important;
  }
  .ea-services-grid-sequence .ea-service-card.ea-service-card-text .ea-service-cta{
    width:100%;
  }
}

/* Agenda Legal v2.6.52 - avisos del calendario, aislados del resto del diseño. */
#ea-booking.ea-booking-269 .ea-calendar-loading[hidden],
#ea-booking.ea-booking-269 .ea-calendar-warning[hidden],
#ea-booking.ea-booking-269 .ea-month-empty[hidden]{display:none!important}
#ea-booking.ea-booking-269 .ea-calendar-loading{
  display:flex;align-items:center;gap:10px;margin:12px 0 14px;
  padding:12px 14px;background:#f4f8ff;border:1px solid #c8dcf9;
  color:#1e4b83;border-radius:12px;font-size:13px;font-weight:600;line-height:1.5;
}
#ea-booking.ea-booking-269 .ea-calendar-loading-icon{
  display:inline-block;flex:0 0 17px;width:17px;height:17px;
  border:2px solid #b8d2f7;border-top-color:#005ee9;border-radius:50%;
  animation:ea-calendar-spin .8s linear infinite;
}
@keyframes ea-calendar-spin{to{transform:rotate(360deg)}}
#ea-booking.ea-booking-269 .ea-month-empty{
  border-left:4px solid #005ee9;
  padding:15px 18px;background:#f2f7ff;border-radius:12px;
  border-top:1px solid #bed6fa;border-right:1px solid #bed6fa;border-bottom:1px solid #bed6fa;
  color:#183c70;box-shadow:0 3px 10px rgba(0,71,170,.05);
}
#ea-booking.ea-booking-269 .ea-month-empty strong{
  display:block;margin-bottom:7px;font-size:15px;font-weight:800;line-height:1.35;color:#0d397b;
}
#ea-booking.ea-booking-269 .ea-month-empty p{margin:0 0 13px;font-size:13px;line-height:1.55;color:#284f7b}
#ea-booking.ea-booking-269 .ea-month-empty-next{min-height:42px;font-size:13px}
#ea-booking.ea-booking-269 .ea-calendar-warning{
  border-left:4px solid #b76b08;border-top:1px solid #f4dca1;
  border-right:1px solid #f4dca1;border-bottom:1px solid #f4dca1;
  margin:12px 0 14px;padding:14px 16px;border-radius:12px;
}
#ea-booking.ea-booking-269 .ea-calendar-warning p{margin:0 0 10px;color:#825216;font-size:13px;line-height:1.5}
#ea-booking.ea-booking-269 .ea-calendar-retry{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:#0046b5;border:1px solid #9ebee9;
  border-radius:9px;padding:9px 15px;min-height:42px;
  font-size:13px;font-weight:700;cursor:pointer;box-shadow:none;
}
#ea-booking.ea-booking-269 .ea-calendar-retry:hover{background:#eaf2ff;border-color:#005ee9;color:#003d93}
#ea-booking.ea-booking-269 .ea-calendar-retry:focus-visible{outline:3px solid #80b5ff;outline-offset:3px}
@media(max-width:520px){
  #ea-booking.ea-booking-269 .ea-month-empty,
  #ea-booking.ea-booking-269 .ea-calendar-warning{padding:13px 12px}
  #ea-booking.ea-booking-269 .ea-month-empty strong{font-size:14px}
  #ea-booking.ea-booking-269 .ea-month-empty-next,
  #ea-booking.ea-booking-269 .ea-calendar-retry{width:100%}
}
@media(prefers-reduced-motion:reduce){
  #ea-booking.ea-booking-269 .ea-calendar-loading-icon{animation:none;border-top-color:#1e4b83}
}

/* 2.6.54 - Mismo grosor tipografico que los botones finales, solo en este boton. */
#ea-booking.ea-booking-269 #ea-timezone-confirm{font-weight:800!important}

/* v2.6.55: casilla para direcciones sin piso/apartamento; resto del diseno intacto. */
#ea-booking.ea-booking-269 .ea-sequence-form .ea-guest-grid .ea-floor-na-option{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  margin:9px 0 0;
  border:1px solid #cad9eb;
  border-radius:9px;
  background:#f5f9ff;
  color:#153758;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
}
#ea-booking.ea-booking-269 .ea-sequence-form .ea-guest-grid .ea-floor-na-option.is-selected{
  border-color:#82b1f0;
  background:#e9f3ff;
}
#ea-booking.ea-booking-269 .ea-sequence-form .ea-guest-grid .ea-floor-na-option input[type="checkbox"]{
  display:block;
  flex:0 0 18px;
  width:18px;
  height:18px;
  min-height:18px;
  padding:0!important;
  margin:0!important;
  accent-color:#005ee9;
  cursor:pointer;
}
#ea-booking.ea-booking-269 .ea-sequence-form .ea-guest-grid .ea-floor-na-option:focus-within{
  outline:2px solid #005ee9;
  outline-offset:2px;
}
