.mya-brand{display:flex;align-items:center;justify-content:center;gap:14px;max-width:760px;margin:0 auto 22px;padding:14px 18px;border:1px solid #f4efe5;border-radius:16px;background:#fff;box-shadow:0 10px 32px rgba(31,39,64,.055)}.mya-brand-logo{display:block;width:58px;height:58px;object-fit:contain;flex:0 0 58px}.mya-brand-copy{display:flex;flex-direction:column;gap:3px;text-align:left}.mya-brand-copy strong{color:#1f2740;font-size:16px;line-height:1.25}.mya-brand-copy span{color:#5c6272;font-size:12px;line-height:1.45}.mya-service-card,.mya-service-card:hover,.mya-service-card:focus,.mya-service-card:active{background:#fff!important;color:#22252f!important}.mya-service-card:hover .mya-service-body,.mya-service-card:focus .mya-service-body,.mya-service-card:active .mya-service-body{background:#fff!important}.mya-service-card:hover .mya-service-name,.mya-service-card:focus .mya-service-name{color:#1f2740!important}.mya-service-card:hover .mya-service-description,.mya-service-card:focus .mya-service-description{color:#5c6272!important}.mya-service-card:hover .mya-service-price,.mya-service-card:focus .mya-service-price{color:#1f2740!important}.mya-service-card:hover .mya-service-cta,.mya-service-card:focus .mya-service-cta{color:#9a690f!important}.mya-service-card:focus-visible{outline:3px solid rgba(154,105,15,.18)!important;outline-offset:3px}.mya-service-card:hover .mya-service-media{filter:none!important}.mya-service-card:hover .mya-service-media::after{background:linear-gradient(to top,rgba(31,39,64,.25),transparent 55%)!important}
.mya-booking{--blue:#9a690f;--blue-dark:#6f4800;--navy:#1f2740;--text:#22252f;--muted:#5c6272;--line:#e6d8bc;--soft:#faf7f1;--shadow:0 18px 55px rgba(31,39,64,.09);font-family:inherit;color:var(--text);max-width:1180px;margin:0 auto;padding:42px 20px 70px}.mya-booking *{box-sizing:border-box}.mya-booking button,.mya-booking input,.mya-booking textarea{font:inherit}.mya-booking [hidden]{display:none!important}.mya-head{text-align:center;max-width:760px;margin:0 auto 34px}.mya-kicker,.mya-overline{display:block;color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.15px;margin-bottom:8px}.mya-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}.mya-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}.mya-stepbar{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 26px}.mya-stepbar span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#faf7f1;color:#5c6272;font-size:12px;font-weight:700}.mya-stepbar b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6d8bc;color:#5c6272;font-size:10px}.mya-stepbar .is-active{background:#faf7f1;color:var(--blue)}.mya-stepbar .is-active b{background:var(--blue);color:#fff}.mya-stepbar .is-done{background:#faf7f1;color:#5c6272}.mya-stepbar .is-done b{background:#f4efe5;color:var(--blue)}

.mya-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mya-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(31,39,64,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;min-height:100%}.mya-service-card:hover{transform:translateY(-5px);box-shadow:0 22px 60px rgba(31,39,64,.12);border-color:#e6d8bc}.mya-service-media{position:relative;display:flex;align-items:center;justify-content:center;min-height:190px;background-size:cover;background-position:center}.mya-service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(31,39,64,.25),transparent 55%)}.mya-service-media.is-placeholder{background:linear-gradient(135deg,#1f2740 0%,#9a690f 65%,#9a690f 100%)}.mya-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)}.mya-service-icon{position:relative;z-index:1;width:62px;height:62px;color:#fff;opacity:.95}.mya-service-icon svg{width:100%;height:100%}.mya-service-badge{position:absolute;z-index:2;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#1f2740;font-size:11px;font-weight:800;box-shadow:0 7px 20px rgba(31,39,64,.15)}.mya-service-body{display:flex;flex-direction:column;flex:1;padding:21px 20px 19px}.mya-service-name{display:block;color:var(--navy);font-size:20px;line-height:1.22;font-weight:800;letter-spacing:-.35px}.mya-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}.mya-service-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px}.mya-service-price{color:#1f2740;font-size:14px;font-weight:800}.mya-service-cta{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:13px;font-weight:800}.mya-service-card:hover .mya-service-cta span{transform:translateX(3px)}.mya-service-cta span{transition:transform .2s ease}

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

.mya-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)}.mya-calendar-panel{padding:28px;border-right:1px solid var(--line)}.mya-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;margin-bottom:24px}.mya-calendar-head>div{text-align:center}.mya-calendar-head h3,.mya-times-head h3,.mya-form-head h3{margin:0!important;color:var(--navy)!important;font-size:23px!important;line-height:1.2!important;letter-spacing:-.5px!important}.mya-nav-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid #e6d8bc;border-radius:50%;background:#fff;color:var(--navy);font-size:25px;line-height:1;cursor:pointer;transition:.2s ease}.mya-nav-btn:hover:not(:disabled){border-color:#e6d8bc;background:#faf7f1;color:var(--blue)}.mya-nav-btn:disabled{opacity:.3;cursor:not-allowed}.mya-weekdays,.mya-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.mya-weekdays{margin-bottom:8px}.mya-weekdays span{text-align:center;color:#72727a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.mya-day{aspect-ratio:1/1;min-height:48px;border:1px solid transparent;border-radius:12px;background:#fff;color:#2a3350;font-weight:700;cursor:pointer;transition:.16s ease}.mya-day:hover:not(:disabled){background:#faf7f1;color:var(--blue);border-color:#e6d8bc}.mya-day.is-today{border-color:#e6d8bc;color:var(--blue)}.mya-day.is-selected{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:0 8px 22px rgba(154,105,15,.23)}.mya-day.is-disabled{color:#9b958b;background:#faf7f1;cursor:not-allowed}.mya-day-empty{visibility:hidden}

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

.mya-form{max-width:900px;margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.mya-form-stepbar{margin-bottom:28px}.mya-form-head{text-align:center;margin-bottom:25px}.mya-form-head p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.mya-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mya-form label{display:block;font-weight:700;color:#2a3350;font-size:13px}.mya-form input,.mya-form textarea{width:100%;margin-top:8px;border:1px solid #e6d8bc;border-radius:10px;padding:13px 14px;font:inherit;background:#fff;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.mya-form input:focus,.mya-form textarea:focus{border-color:#d6b06a;box-shadow:0 0 0 3px rgba(154,105,15,.08)}.mya-full{grid-column:1/-1}.mya-check{display:flex!important;gap:10px;align-items:flex-start;margin:18px 0;color:var(--muted)!important;font-weight:500!important}.mya-check input{width:auto;margin:3px 0 0}.mya-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.mya-submit,.mya-secondary,.mya-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}.mya-submit,.mya-pay{border:1px solid var(--blue);background:var(--blue);color:#fff!important}.mya-submit:hover,.mya-pay:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.mya-submit:disabled{opacity:.6;cursor:not-allowed}.mya-secondary{border:1px solid #e6d8bc;background:#fff;color:#5c6272}.mya-secondary:hover{background:#faf7f1}.mya-message{margin-top:12px;font-size:14px}.mya-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

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

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

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

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

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

.mya-brand{
  max-width:900px;
  justify-content:flex-start;
  gap:18px;
  padding:15px 18px;
}
.mya-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(31,39,64,.16);
}
.mya-brand-center{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
}
.mya-brand-center .mya-brand-logo{
  width:145px;
  height:48px;
  flex:0 0 145px;
}

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

.mya-modal[hidden]{display:none!important}
.mya-modal{
  position:fixed;
  z-index:999999;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  opacity:0;
  transition:opacity .16s ease;
}
.mya-modal.is-open{opacity:1}
.mya-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(31,39,64,.66);
  backdrop-filter:blur(5px);
}
.mya-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(31,39,64,.28);
  transform:translateY(10px) scale(.985);
  transition:transform .18s ease;
  -webkit-overflow-scrolling:touch;
}
.mya-modal.is-open .mya-modal-dialog{transform:translateY(0) scale(1)}
.mya-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 #e6d8bc;
  border-radius:50%;
  background:#fff;
  color:#1f2740;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(31,39,64,.08);
}
.mya-modal-close:hover{background:#faf7f1;color:#9a690f}
.mya-modal-top{
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 54px 18px 0;
  margin-bottom:18px;
  border-bottom:1px solid #f4efe5;
}
.mya-modal-top img{
  width:52px;
  height:52px;
  flex:0 0 52px;
  object-fit:cover;
  object-position:center 20%;
  border-radius:13px;
}
.mya-modal-top .mya-overline{margin-bottom:3px}
.mya-modal-top strong{
  display:block;
  color:#1f2740;
  font-size:18px;
  line-height:1.25;
}

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

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

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

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

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

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

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

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


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

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

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

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

/* Badge superior: circulo + capsula azul en dos tonos */
.mya-service-type,
.mya-service-type.is-video,
.mya-service-type.is-office,
.mya-service-type.is-urgent,
.mya-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,#9a690f 0%,#6f4800 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(111,72,0,.28)!important;
}
.mya-service-type.is-office{background:linear-gradient(135deg,#9a690f 0%,#9a690f 100%)!important}
.mya-service-type.is-urgent{background:linear-gradient(135deg,#9a690f 0%,#6f4800 100%)!important}
.mya-service-type.is-english{background:linear-gradient(135deg,#9a690f 0%,#1f2740 100%)!important}
.mya-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);
}
.mya-type-icon svg{width:14px!important;height:14px!important}
.mya-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 */
.mya-modal{padding:18px}
.mya-modal-dialog{
  width:min(1000px,100%);
  max-height:min(94vh,780px);
  max-height:min(94dvh,780px);
  padding:18px 20px 20px;
  border-radius:20px;
}
.mya-modal-close{top:10px;right:10px;width:34px;height:34px;font-size:23px}
.mya-modal-top{
  min-height:44px;
  gap:9px;
  padding:0 46px 10px 0;
  margin-bottom:10px;
}
.mya-modal-top img{width:40px;height:40px;flex-basis:40px;border-radius:10px}
.mya-modal-top .mya-overline{font-size:9px;margin-bottom:1px}
.mya-modal-top strong{font-size:15px}
.mya-modal .mya-stepbar{margin-bottom:9px;gap:5px}
.mya-modal .mya-stepbar span{padding:5px 9px;font-size:10px}
.mya-modal .mya-stepbar b{width:18px;height:18px;font-size:9px}
.mya-modal .mya-selected-service{
  min-height:50px;
  margin-bottom:9px;
  padding:9px 12px;
  border-radius:11px;
}
.mya-modal .mya-selected-service .mya-overline{font-size:8.5px;margin-bottom:1px}
.mya-modal .mya-selected-service strong{font-size:14px}
.mya-modal .mya-selected-service #mya-selected-meta{margin-top:1px;font-size:11px}
.mya-modal .mya-text-button{font-size:11px;padding:5px}

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

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

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

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

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

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

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

/* =========================================================
   V1.7 - LANDING 1500PX + TODO EL FLUJO EN MODAL
========================================================= */
.mya-booking.mya-booking-landing{
  max-width:1500px;
  width:min(1500px,calc(100% - 32px));
  margin:0 auto;
  padding:44px 0 72px;
}
.mya-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 #e6d8bc;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 16%,rgba(154,105,15,.11),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#faf7f1 100%);
  box-shadow:0 24px 70px rgba(31,39,64,.08);
}
.mya-landing-shell::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-175px;
  bottom:-250px;
  border-radius:50%;
  border:1px solid rgba(154,105,15,.10);
  box-shadow:0 0 0 55px rgba(154,105,15,.025),0 0 0 110px rgba(154,105,15,.018);
  pointer-events:none;
}
.mya-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);
}
.mya-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(31,39,64,.18);
}
.mya-landing-copy{text-align:left}
.mya-landing-logo{
  display:block;
  width:min(210px,55%);
  max-height:70px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:24px;
}
.mya-landing-copy .mya-kicker{margin-bottom:11px}
.mya-landing-copy h2{
  max-width:690px;
  margin:0 0 18px!important;
  color:#1f2740!important;
  font-size:clamp(40px,4.4vw,66px)!important;
  line-height:1.01!important;
  letter-spacing:-2.5px!important;
  font-weight:750!important;
}
.mya-landing-copy p{
  max-width:680px;
  margin:0;
  color:#5c6272;
  font-size:17px;
  line-height:1.7;
}
.mya-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 #9a690f;
  border-radius:10px;
  background:#9a690f;
  color:#fff;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(154,105,15,.22);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.mya-open-booking:hover{background:#6f4800;transform:translateY(-2px);box-shadow:0 16px 34px rgba(111,72,0,.26)}
.mya-open-booking span:last-child{font-size:21px;line-height:1;transition:transform .18s ease}
.mya-open-booking:hover span:last-child{transform:translateX(3px)}
.mya-landing-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.mya-landing-trust span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border:1px solid #e6d8bc;
  border-radius:999px;
  background:#fff;
  color:#5c6272;
  font-size:11px;
  font-weight:700;
}

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

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

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

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

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

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

/* Etiquetas de tipo de cita: recuperan presencia visual sin colapsarse */
.mya-modal .mya-service-type,
.mya-modal .mya-service-type.is-video,
.mya-modal .mya-service-type.is-office,
.mya-modal .mya-service-type.is-urgent,
.mya-modal .mya-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,#9a690f 0%,#9a690f 58%,#6f4800 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(111,72,0,.26)!important;
  backdrop-filter:none!important;
}

.mya-modal .mya-service-type.is-office{
  background:linear-gradient(135deg,#9a690f 0%,#9a690f 54%,#9a690f 100%)!important;
}

.mya-modal .mya-service-type.is-urgent{
  background:linear-gradient(135deg,#9a690f 0%,#9a690f 52%,#1f2740 100%)!important;
}

.mya-modal .mya-service-type.is-english{
  background:linear-gradient(135deg,#9a690f 0%,#9a690f 48%,#1f2740 100%)!important;
}

.mya-modal .mya-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;
}

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

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

/* Duración secundaria, más discreta y ordenada */
.mya-modal .mya-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:#1f2740!important;
  font-size:9px!important;
  font-weight:800!important;
  box-shadow:0 6px 16px rgba(31,39,64,.13)!important;
}

/* Banner superior de la pantalla del calendario */
.mya-modal .mya-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,#6f4800 0%,#9a690f 56%,#9a690f 100%);
  box-shadow:0 10px 25px rgba(111,72,0,.16);
}

.mya-modal .mya-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;
}

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

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

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

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

.mya-modal .mya-selected-service .mya-text-button{
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:8px;
  background:#fff!important;
  color:#9a690f!important;
  font-size:10.5px;
  font-weight:800;
  box-shadow:0 5px 15px rgba(31,39,64,.11);
}

.mya-modal .mya-selected-service .mya-text-button:hover{
  background:#faf7f1!important;
  color:#6f4800!important;
}

/* Banner superior del formulario de datos */
.mya-modal .mya-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,#6f4800 0%,#9a690f 58%,#9a690f 100%);
  text-align:left!important;
  box-shadow:0 9px 22px rgba(111,72,0,.14);
}

.mya-modal .mya-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;
}

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

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

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

.mya-modal .mya-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 */
.mya-modal .mya-form{
  overflow:hidden;
}

@media(max-width:760px){
  .mya-modal .mya-service-type,
  .mya-modal .mya-service-type.is-video,
  .mya-modal .mya-service-type.is-office,
  .mya-modal .mya-service-type.is-urgent,
  .mya-modal .mya-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;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


/* =========================================================
   V1.9 - DESCRIPCION DE CITA SOBRE HORAS DISPONIBLES
========================================================= */
.mya-modal .mya-appointment-description{
  margin:0 0 11px;
  padding:12px 13px;
  border:1px solid #e6d8bc;
  border-radius:10px;
  background:linear-gradient(145deg,#faf7f1 0%,#faf7f1 100%);
}
.mya-modal .mya-appointment-description .mya-overline{
  display:block;
  margin-bottom:4px;
  color:#9a690f!important;
  font-size:8.5px!important;
  font-weight:800;
  letter-spacing:.55px;
  text-transform:uppercase;
}
.mya-modal .mya-appointment-description p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
  margin:0;
  color:#5c6272;
  font-size:11px;
  line-height:1.48;
}
.mya-modal .mya-times-head{
  padding-top:1px;
}
.mya-modal .mya-times-head .mya-overline{
  color:#9a690f!important;
  font-weight:800;
}
.mya-modal .mya-times-panel{
  display:flex;
  flex-direction:column;
}
.mya-modal .mya-slots{
  align-content:start;
}
@media(max-width:760px){
  .mya-modal .mya-appointment-description{
    margin-bottom:8px;
    padding:9px 10px;
    border-radius:9px;
  }
  .mya-modal .mya-appointment-description .mya-overline{
    font-size:7.5px!important;
  }
  .mya-modal .mya-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
========================================================= */

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

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

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

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

.mya-sequence-progress span.is-active{
  background:#faf7f1;
  color:#9a690f;
  border-color:#e6d8bc;
}

.mya-sequence-progress span.is-active b{
  background:#9a690f;
  color:#fff;
}

.mya-sequence-progress span.is-done{
  background:#faf7f1;
  color:#6f4800;
}

.mya-sequence-progress span.is-done b{
  background:#6f4800;
  color:#fff;
}

.mya-sequence-step{
  animation:myaStepIn .18s ease;
}

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

.mya-step-banner{
  margin:0 0 14px;
  padding:16px 18px;
  border-radius:14px;
  background:linear-gradient(135deg,#9a690f 0%,#6f4800 58%,#1f2740 100%);
  color:#fff;
  box-shadow:0 12px 28px rgba(111,72,0,.15);
}

.mya-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;
}

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

.mya-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.mya-back-link:hover{
  color:#6f4800;
  text-decoration:underline;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


/* v2.0.1 - Calendar navigation refinement */
.mya-modal .mya-calendar-head .mya-nav-btn,
.mya-calendar-head .mya-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:#9a690f!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(154,105,15,.22)!important;
  cursor:pointer!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.mya-modal .mya-calendar-head .mya-nav-btn:hover:not(:disabled),
.mya-calendar-head .mya-nav-btn:hover:not(:disabled){
  background:#6f4800!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 9px 22px rgba(111,72,0,.28)!important;
}
.mya-modal .mya-calendar-head .mya-nav-btn:disabled,
.mya-calendar-head .mya-nav-btn:disabled{
  background:#e6d8bc!important;
  color:#fff!important;
  opacity:1!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  transform:none!important;
}
@media(max-width:640px){
  .mya-modal .mya-calendar-head .mya-nav-btn,
  .mya-calendar-head .mya-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
========================================================= */
.mya-modal .mya-weekdays span{
  font-size:10.5px;
}

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

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

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

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

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

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

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

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

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

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

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

/* Tarjetas de citas: solo titulo, descripcion y boton */
.mya-services-grid-sequence{
  gap:14px!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text{
  position:relative;
  display:flex!important;
  min-height:170px!important;
  overflow:hidden!important;
  border:1px solid #e6d8bc!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#22252f!important;
  box-shadow:0 10px 28px rgba(31,39,64,.07)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#9a690f 0%,#6f4800 100%);
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text::after{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  right:-82px;
  top:-82px;
  border-radius:50%;
  background:rgba(154,105,15,.045);
  box-shadow:0 0 0 28px rgba(154,105,15,.018);
  pointer-events:none;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text:hover{
  transform:translateY(-2px)!important;
  border-color:#e6d8bc!important;
  box-shadow:0 16px 36px rgba(31,39,64,.11)!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-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:#22252f!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-name{
  display:block!important;
  margin:0!important;
  color:#1f2740!important;
  font-size:18px!important;
  line-height:1.28!important;
  font-weight:800!important;
  letter-spacing:-.25px!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-description{
  display:block!important;
  min-height:0!important;
  margin:10px 0 18px!important;
  overflow:visible!important;
  color:#5c6272!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  -webkit-line-clamp:unset!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-footer-text{
  display:flex!important;
  margin-top:auto!important;
  padding:0!important;
  border:0!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-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 #9a690f!important;
  border-radius:9px!important;
  background:#9a690f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 8px 18px rgba(154,105,15,.16)!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text:hover .mya-service-cta{
  background:#6f4800!important;
  border-color:#6f4800!important;
  color:#fff!important;
}

/* Estado real de disponibilidad del calendario */
.mya-day.is-checking{
  position:relative;
  color:#9b958b!important;
  background:#faf7f1!important;
  cursor:wait!important;
}
.mya-day.is-checking::after{
  content:"";
  position:absolute;
  bottom:5px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#e6d8bc;
}
.mya-day.is-available{
  position:relative;
  background:#faf7f1!important;
  border-color:#e6d8bc!important;
  color:#1f2740!important;
}
.mya-day.is-available::after{
  content:"";
  position:absolute;
  bottom:5px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#9a690f;
}
.mya-day.is-available:hover:not(:disabled){
  background:#faf7f1!important;
  border-color:#d6b06a!important;
  color:#9a690f!important;
}
.mya-day.is-unavailable,
.mya-day.is-unavailable:hover{
  position:relative;
  background:#faf7f1!important;
  border-color:#e6d8bc!important;
  color:#9b958b!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
.mya-day.is-unavailable::after{
  content:"";
  position:absolute;
  bottom:5px;
  width:5px;
  height:5px;
  border-radius:50%;
  border:1.5px solid #9b958b;
  background:transparent;
}
.mya-day.is-selected::after{background:#fff!important;border-color:#fff!important}

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

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


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


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

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

.mya-booking .mya-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. */
.mya-booking .mya-sequence-progress{grid-template-columns:repeat(5,minmax(0,1fr))}
.mya-booking .mya-sequence-progress span{min-width:0}
.mya-booking .mya-location-stage{max-width:870px;margin:18px auto 0;border:1px solid #e6d8bc;border-radius:19px;background:#fff;box-shadow:0 12px 32px rgba(31,39,64,.06);overflow:hidden}
.mya-booking .mya-location-service{padding:20px 24px;background:linear-gradient(180deg,#fff,#faf7f1);border-bottom:1px solid #f4efe5}
.mya-booking .mya-location-service .mya-overline{font-size:10px;margin-bottom:4px}
.mya-booking .mya-location-service strong{display:block;font-size:17px;color:#1f2740;line-height:1.35}
.mya-booking .mya-location-service small{display:block;color:#5c6272;margin-top:5px;line-height:1.6;font-size:12px}
.mya-booking .mya-location-stage .mya-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}
.mya-booking .mya-location-stage .mya-timezone-copy h3{margin:6px 0 11px;color:#1f2740;font-size:21px;line-height:1.3}
.mya-booking .mya-location-stage .mya-timezone-copy p{font-size:13px;line-height:1.65;color:#5c6272}
.mya-booking .mya-location-stage .mya-detected-timezone{margin-top:15px;padding:12px 14px;border:1px solid #e6d8bc;border-radius:11px;background:#faf7f1;font-size:12.5px;color:#2a3350;font-weight:650;line-height:1.5}
.mya-booking .mya-location-stage .mya-timezone-controls{grid-template-columns:1fr;gap:14px}
.mya-booking .mya-location-stage .mya-timezone-controls label{display:grid;gap:8px;color:#1f2740;font-size:12px;font-weight:800}
.mya-booking .mya-location-stage .mya-timezone-controls select{height:47px;border-color:#e6d8bc;border-radius:10px;color:#1f2740;background:#fff;font-size:14px;padding:0 12px}
.mya-booking .mya-location-stage .mya-timezone-controls select:focus-visible{outline:3px solid rgba(154,105,15,.17);outline-offset:2px}
.mya-booking .mya-location-stage .mya-timezone-confirmed{padding:11px 14px;border-radius:11px;background:#faf7f1;color:#6f4800;font-size:13px}
.mya-booking .mya-location-stage .mya-timezone-confirmed.is-error{background:#fff2ef;border:1px solid #f9c8bc;color:#ab2e20}
.mya-booking .mya-location-help{margin:3px 24px 18px;padding:16px 18px;border:1px solid #f4efe5;border-radius:12px;background:#faf7f1}
.mya-booking .mya-location-help strong{display:block;font-size:12px;color:#2a3350;margin-bottom:4px}
.mya-booking .mya-location-help p{margin:0;font-size:12px;color:#5c6272;line-height:1.55}
.mya-booking .mya-location-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 24px 22px;border-top:1px solid #f4efe5}
.mya-booking .mya-location-actions button{min-height:46px;border-radius:10px;padding:0 19px;font-weight:800}
.mya-booking .mya-date-location-summary{display:block!important;-webkit-line-clamp:unset!important;margin:12px 0 14px!important;overflow-wrap:anywhere;font-size:12px!important;color:#5c6272!important;line-height:1.55!important}
@media(max-width:760px){
 .mya-booking .mya-sequence-progress span{padding:5px 3px;gap:4px;font-size:9px}
 .mya-booking .mya-location-stage{margin-top:12px;border-radius:13px}
 .mya-booking .mya-location-service{padding:17px}
 .mya-booking .mya-location-stage .mya-timezone-panel{grid-template-columns:1fr;padding:18px 17px 14px;gap:18px}
 .mya-booking .mya-location-stage .mya-timezone-copy h3{font-size:19px}
 .mya-booking .mya-location-help{margin:4px 17px 14px;padding:14px}
 .mya-booking .mya-location-actions{padding:14px 17px 18px}
 .mya-booking .mya-location-actions button{flex:1;min-height:44px;padding:0 10px;font-size:12px}
}
@media(max-width:540px){
 .mya-booking .mya-sequence-progress span{font-size:0!important;min-height:34px}
 .mya-booking .mya-sequence-progress span b{font-size:10px;min-width:19px;width:19px;height:19px}
 .mya-booking .mya-location-actions{flex-direction:column-reverse;align-items:stretch;gap:9px}
 .mya-booking .mya-location-actions button{width:100%}
}

/* BBVA/Redsys: information and legal acceptance before payment */
#mya-booking .mya-contract-review{margin:17px 0 14px;padding:18px 20px;border:1px solid #e6d8bc;background:#faf7f1;border-radius:14px;color:#1f2740}
#mya-booking .mya-contract-review>strong{display:block;font-size:15px;color:#1f2740;margin-bottom:7px}
#mya-booking .mya-contract-review p{margin:5px 0 9px;font-size:13px;line-height:1.65;color:#5c6272}
#mya-booking .mya-contract-review #mya-final-price{font-size:16px;font-weight:800;color:#6f4800}
#mya-booking .mya-contract-review .mya-contract-links{margin-bottom:0;line-height:2}
#mya-booking .mya-contract-review a,#mya-booking .mya-check-legal a{color:#9a690f;text-decoration:underline;text-underline-offset:2px;font-weight:700}
#mya-booking .mya-check-legal{margin-top:11px}
#mya-booking .mya-check-legal[hidden]{display:none!important}
#mya-booking .mya-check-legal span{line-height:1.6}


/* v2.6.2 — Modal automático; sin pantalla de presentación previa. */
#mya-booking.mya-booking-auto{min-height:0;margin:0;padding:0;background:transparent}
#mya-booking .mya-reopen-shell{display:grid;place-items:center;min-height:220px;padding:30px 18px;background:#faf7f1}
#mya-booking .mya-reopen-shell[hidden]{display:none!important}
#mya-booking .mya-reopen-card{width:min(620px,100%);padding:26px 28px;border:1px solid #e6d8bc;border-radius:19px;background:#fff;text-align:center;box-shadow:0 12px 32px rgba(31,39,64,.08)}
#mya-booking .mya-reopen-card>strong{display:block;font-size:20px;color:#1f2740}
#mya-booking .mya-reopen-card p{margin:8px 0 20px;font-size:14px;color:#5c6272}
#mya-booking .mya-reopen-card .mya-open-booking{margin:0 auto 12px}
#mya-booking .mya-reopen-card>a{display:block;font-size:13px;color:#9a690f;font-weight:700}
#mya-booking .mya-nojs{padding:14px;text-align:center;color:#9b321d;background:#fff0e7}
#mya-booking .mya-merchant-note{display:grid;gap:5px;margin:16px auto 12px;max-width:1050px;padding:14px 19px;border:1px solid #e6d8bc;border-radius:12px;background:#faf7f1;color:#5c6272;font-size:12px;line-height:1.55}
#mya-booking .mya-merchant-note strong{color:#1f2740;font-size:13px}
#mya-booking .mya-legal-guidance{max-width:1080px;margin:16px auto;padding:17px 18px;border:1px solid #e6d8bc;border-radius:15px;background:#faf7f1}
#mya-booking .mya-legal-guidance-compact{padding:12px 15px;margin:12px auto 16px}
#mya-booking .mya-legal-guidance-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 11px;margin-bottom:12px}
#mya-booking .mya-legal-guidance-heading strong{color:#1f2740;font-size:13px}
#mya-booking .mya-legal-guidance-heading small{font-size:11px;color:#5c6272;font-weight:500}
#mya-booking .mya-legal-shield{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:8px;background:#f4efe5;color:#9a690f;font-size:13px;font-weight:900}
#mya-booking .mya-legal-chip-grid{display:flex;flex-wrap:wrap;gap:9px}
#mya-booking a.mya-legal-chip{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:7px 12px;border-radius:10px;border:1px solid #e6d8bc;background:#fff;color:#2a3350!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}
#mya-booking a.mya-legal-chip:hover,#mya-booking a.mya-legal-chip:focus-visible{background:#faf7f1;border-color:#d6b06a;box-shadow:0 0 0 3px rgba(154,105,15,.12)}
#mya-booking .mya-legal-chip-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:7px;background:#faf7f1;color:#9a690f;font-size:15px;font-weight:900}
#mya-booking .mya-contract-review-title{display:flex;align-items:center;gap:9px;margin-bottom:8px}
#mya-booking .mya-contract-review-title strong{color:#1f2740;font-size:16px}
#mya-booking .mya-merchant-checkout{display:grid;gap:5px;margin:14px 0;padding:13px 15px;border-left:3px solid #9a690f;background:#fff;border-radius:8px;color:#5c6272;font-size:12px;line-height:1.65}
#mya-booking .mya-merchant-checkout strong{color:#1f2740}
#mya-booking .mya-contract-review>.mya-legal-guidance{background:#fff;margin:16px 0 0}
#mya-booking .mya-pre-submit-notice{margin:15px 0 8px;padding:11px 13px;border-radius:10px;color:#5c6272;background:#faf7f1;border:1px solid #e6d8bc;font-size:12px;line-height:1.6}
#mya-booking .mya-empty-services{grid-column:1/-1;padding:24px;text-align:center;font-size:14px;border:1px solid #e6d8bc;border-radius:12px;color:#2a3350;background:#fff}
#mya-booking .mya-empty-services a{color:#9a690f;font-weight:800}
@media(max-width:680px){
 #mya-booking .mya-merchant-note{margin:12px 10px}
 #mya-booking .mya-legal-guidance{padding:12px;margin:12px 10px}
 #mya-booking .mya-legal-guidance-heading{display:grid;grid-template-columns:24px 1fr;gap:4px 8px}
 #mya-booking .mya-legal-guidance-heading small{grid-column:2}
 #mya-booking .mya-legal-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 #mya-booking a.mya-legal-chip{padding:7px;gap:6px;font-size:10.5px;overflow-wrap:anywhere}
 #mya-booking .mya-legal-chip-icon{flex-basis:23px;width:23px;height:23px;font-size:13px}
 #mya-booking .mya-contract-review>.mya-legal-guidance{margin:12px 0}
 #mya-booking .mya-reopen-card{padding:22px 16px}
}
@media(max-width:380px){#mya-booking .mya-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.
========================================================= */
#mya-booking .mya-sequence-progress{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
#mya-booking .mya-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;
}
#mya-booking .mya-sequence-form > .mya-sequence-step[hidden]{display:none!important}
#mya-booking .mya-sequence-form .mya-guest-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 17px;
  padding:2px;
}
#mya-booking .mya-sequence-form .mya-guest-grid > div{min-width:0}
#mya-booking .mya-sequence-form .mya-guest-grid .mya-full{grid-column:1/-1}
#mya-booking .mya-sequence-form .mya-guest-grid label{
  display:block;
  margin:0 0 6px;
  color:#1f2740;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}
#mya-booking .mya-sequence-form .mya-guest-grid input,
#mya-booking .mya-sequence-form .mya-guest-grid textarea{
  display:block;
  width:100%;
  min-height:46px;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid #e6d8bc;
  border-radius:9px;
  background:#fff;
  color:#1f2740;
  font-size:13px;
  line-height:1.45;
  box-sizing:border-box;
}
#mya-booking .mya-sequence-form .mya-guest-grid textarea{min-height:96px;resize:vertical}
#mya-booking .mya-sequence-form .mya-guest-grid input[readonly]{
  background:#faf7f1;
  border-color:#e6d8bc;
  color:#6f4800;
  font-weight:700;
}
#mya-booking .mya-sequence-form .mya-guest-grid :is(input,textarea):focus-visible{
  outline:2px solid #9a690f;
  outline-offset:1px;
}
#mya-booking .mya-required{color:#a2262f;font-weight:900}
#mya-booking .mya-field-help{display:block;margin-top:4px;color:#5c6272;font-size:11px;line-height:1.4}
#mya-booking .mya-personal-data-note{
  margin:16px 2px 8px;
  padding:14px 16px;
  color:#fff;
  border:1px solid #9a690f;
  border-radius:13px;
  background:linear-gradient(125deg,#9a690f,#6f4800 72%,#1f2740);
  font-size:12px;
  line-height:1.65;
}
#mya-booking .mya-personal-data-note strong,
#mya-booking .mya-personal-data-note a{color:#fff!important}
#mya-booking .mya-personal-data-note a{text-decoration:underline!important;text-underline-offset:3px}
#mya-booking .mya-guest-details .mya-form-actions{margin:18px 0 4px}
#mya-booking .mya-guest-details .mya-form-actions button{min-height:45px}
/* La franja del horario está DENTRO de un banner azul; gris = contraste insuficiente. */
#mya-booking #mya-booking-summary,
#mya-booking #mya-booking-summary .mya-timezone-inline{
  color:#fff!important;
  opacity:1!important;
  font-size:12px;
  font-weight:700;
}
#mya-booking #mya-booking-summary .mya-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. */
#mya-booking .mya-legal-guidance,
#mya-booking .mya-legal-guidance.mya-legal-guidance-compact{
  border:1px solid #9a690f!important;
  background:linear-gradient(125deg,#9a690f 0%,#6f4800 60%,#1f2740 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(111,72,0,.13);
}
#mya-booking .mya-legal-guidance-heading strong,
#mya-booking .mya-legal-guidance-heading small{color:#fff!important}
#mya-booking .mya-legal-guidance-heading small{opacity:.85}
#mya-booking .mya-legal-guidance .mya-legal-shield{
  background:rgba(255,255,255,.2)!important;color:#fff!important
}
#mya-booking .mya-legal-guidance a.mya-legal-chip{
  color:#1f2740!important;
  background:#fff!important;
  border-color:#e6d8bc!important;
  text-decoration:none!important;
  box-shadow:0 2px 8px rgba(31,39,64,.09);
}
#mya-booking .mya-legal-guidance a.mya-legal-chip:hover,
#mya-booking .mya-legal-guidance a.mya-legal-chip:focus-visible{
  color:#6f4800!important;
  background:#faf7f1!important;
  border-color:#fff!important;
  outline:2px solid #fff;
  outline-offset:2px;
}
#mya-booking .mya-service-info-block{
  background:linear-gradient(125deg,#9a690f,#1f2740)!important;
  color:#fff!important;
  border:1px solid #9a690f!important;
  border-radius:12px;
}
#mya-booking .mya-service-info-block .mya-overline,
#mya-booking .mya-service-info-block p{color:#fff!important}
#mya-booking .mya-review-overview{
  margin:14px 0;
  border:1px solid #e6d8bc;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(31,39,64,.06);
}
#mya-booking .mya-review-overview-title{
  padding:13px 17px;
  border-bottom:1px solid #e6d8bc;
  background:#faf7f1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
#mya-booking .mya-review-overview-title strong{color:#1f2740;font-size:14px}
#mya-booking .mya-review-overview-title span{color:#5c6272;font-size:11px}
#mya-booking .mya-review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:8px 17px;
  gap:0 25px;
}
#mya-booking .mya-review-grid > div{
  min-width:0;
  padding:11px 0;
  border-bottom:1px solid #f4efe5;
}
#mya-booking .mya-review-grid dt{font-size:11px;color:#5c6272;font-weight:750;margin-bottom:5px}
#mya-booking .mya-review-grid dd{
  margin:0;
  color:#1f2740;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
  overflow-wrap:anywhere;
}
#mya-booking .mya-review-motive{margin:8px 17px 17px;padding:12px 14px;border-radius:11px;background:#faf7f1}
#mya-booking .mya-review-motive strong{font-size:12px;color:#1f2740}
#mya-booking .mya-review-motive p{margin:6px 0 0;color:#2a3350;font-size:12.5px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
#mya-booking .mya-review-step .mya-contract-review{margin:15px 0;padding:17px 19px}
#mya-booking .mya-review-step .mya-contract-review #mya-final-price{font-size:17px}
#mya-booking .mya-review-step .mya-check-legal{
  display:flex!important;
  align-items:flex-start;
  margin:10px 0;
  padding:14px 16px;
  border:1px solid #9a690f;
  border-radius:12px;
  background:linear-gradient(120deg,#9a690f,#6f4800 75%,#1f2740);
  color:#fff!important;
  font-size:12px;
  font-weight:500!important;
  line-height:1.7;
}
#mya-booking .mya-review-step .mya-check-legal[hidden]{display:none!important}
#mya-booking .mya-review-step .mya-check-legal input{
  margin-top:4px;
  flex:0 0 auto;
  accent-color:#fff;
  width:17px;
  height:17px;
}
#mya-booking .mya-review-step .mya-check-legal span{color:#fff!important}
#mya-booking .mya-review-step .mya-check-legal a{
  color:#fff!important;
  font-weight:800;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
#mya-booking .mya-review-step .mya-check-legal a:focus-visible{outline:2px solid #fff;outline-offset:2px}
#mya-booking .mya-review-step .mya-pre-submit-notice{margin:12px 0}
#mya-booking .mya-review-step .mya-review-actions{gap:12px;margin:17px 0 4px}
#mya-booking .mya-review-step .mya-review-actions button{min-height:48px}
#mya-booking .mya-review-step .mya-message.mya-error{padding:11px;color:#9b2226;background:#fff0ef;border-radius:9px}
@media(max-width:680px){
  #mya-booking .mya-sequence-progress{gap:3px}
  #mya-booking .mya-sequence-progress span{min-width:0;padding:4px 2px;font-size:8px;gap:2px}
  #mya-booking .mya-sequence-progress span b{flex:none}
  #mya-booking .mya-sequence-form .mya-guest-grid{grid-template-columns:1fr;gap:12px}
  #mya-booking .mya-sequence-form .mya-guest-grid .mya-full{grid-column:auto}
  #mya-booking .mya-sequence-form .mya-guest-grid label{font-size:12px}
  #mya-booking .mya-review-grid{grid-template-columns:1fr;gap:0;padding:6px 14px}
  #mya-booking .mya-review-overview-title{padding:12px 14px}
  #mya-booking .mya-review-motive{margin:7px 14px 14px}
  #mya-booking .mya-guest-details .mya-form-actions,
  #mya-booking .mya-review-step .mya-review-actions{flex-direction:column-reverse;align-items:stretch}
  #mya-booking .mya-guest-details .mya-form-actions button,
  #mya-booking .mya-review-step .mya-review-actions button{width:100%;font-size:12px}
  #mya-booking .mya-review-step .mya-contract-review{padding:13px}
}
@media(max-width:390px){
  #mya-booking .mya-sequence-progress span{font-size:0!important;min-height:32px}
  #mya-booking .mya-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. */
#mya-booking #mya-services-view > .mya-legal-guidance{
  margin-top:22px;
  margin-bottom:20px;
}
#mya-booking .mya-service-details-panel > .mya-service-info-block{
  margin:0 24px 13px;
}
#mya-booking .mya-service-details-panel > .mya-legal-guidance{
  margin:0 24px 24px;
  max-width:none;
}
#mya-booking .mya-location-stage > .mya-legal-guidance{
  margin:0 24px 23px;
  max-width:none;
}
#mya-booking #mya-date-view > .mya-legal-guidance,
#mya-booking #mya-time-view > .mya-legal-guidance{
  margin:20px auto 20px;
  width:100%;
  max-width:1080px;
}
#mya-booking .mya-guest-details > .mya-personal-data-note{
  margin:16px 2px 15px;
}
#mya-booking .mya-review-step > .mya-legal-review-block{
  max-width:1080px;
  margin:16px 0 18px;
}
@media(max-width:680px){
  #mya-booking .mya-service-details-panel > .mya-service-info-block{
    margin:0 15px 11px;
  }
  #mya-booking .mya-service-details-panel > .mya-legal-guidance,
  #mya-booking .mya-location-stage > .mya-legal-guidance{
    margin:0 15px 18px;
  }
  #mya-booking #mya-date-view > .mya-legal-guidance,
  #mya-booking #mya-time-view > .mya-legal-guidance{
    margin:16px auto;
  }
  #mya-booking .mya-review-step > .mya-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.
   ================================================================ */
#mya-booking .mya-service-info-actions > button,
#mya-booking .mya-location-actions > button,
#mya-booking .mya-guest-details .mya-guest-actions > button,
#mya-booking .mya-review-step .mya-review-actions > button,
#mya-booking .mya-step-summary > .mya-back-link,
#mya-booking .mya-reopen-card > .mya-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: dorado corporativo, texto blanco. */
#mya-booking .mya-service-info-actions > .mya-submit,
#mya-booking .mya-location-actions > .mya-submit,
#mya-booking .mya-guest-details .mya-guest-actions > .mya-submit,
#mya-booking .mya-review-step .mya-review-actions > .mya-submit,
#mya-booking .mya-reopen-card > .mya-open-booking{
  border-color:#9a690f!important;
  background:#9a690f!important;
  color:#fff!important;
}
#mya-booking .mya-service-info-actions > .mya-submit:hover,
#mya-booking .mya-location-actions > .mya-submit:hover,
#mya-booking .mya-guest-details .mya-guest-actions > .mya-submit:hover,
#mya-booking .mya-review-step .mya-review-actions > .mya-submit:hover,
#mya-booking .mya-reopen-card > .mya-open-booking:hover{
  background:#6f4800!important;
  border-color:#6f4800!important;
  color:#fff!important;
  transform:translateY(-1px);
}

/* Accion secundaria: fondo blanco, borde calido y texto oscuro. */
#mya-booking .mya-service-info-actions > .mya-secondary,
#mya-booking .mya-location-actions > .mya-secondary,
#mya-booking .mya-guest-details .mya-guest-actions > .mya-secondary,
#mya-booking .mya-review-step .mya-review-actions > .mya-secondary,
#mya-booking .mya-step-summary > .mya-back-link{
  border-color:#e6d8bc!important;
  background:#fff!important;
  color:#5c6272!important;
}
#mya-booking .mya-service-info-actions > .mya-secondary:hover,
#mya-booking .mya-location-actions > .mya-secondary:hover,
#mya-booking .mya-guest-details .mya-guest-actions > .mya-secondary:hover,
#mya-booking .mya-review-step .mya-review-actions > .mya-secondary:hover,
#mya-booking .mya-step-summary > .mya-back-link:hover{
  background:#faf7f1!important;
  border-color:#d6b06a!important;
  color:#1f2740!important;
  text-decoration:none!important;
}
#mya-booking .mya-service-info-actions > button:focus-visible,
#mya-booking .mya-location-actions > button:focus-visible,
#mya-booking .mya-guest-details .mya-guest-actions > button:focus-visible,
#mya-booking .mya-review-step .mya-review-actions > button:focus-visible,
#mya-booking .mya-step-summary > .mya-back-link:focus-visible,
#mya-booking .mya-reopen-card > .mya-open-booking:focus-visible{
  outline:3px solid #9a690f!important;
  outline-offset:3px!important;
}
#mya-booking .mya-service-info-actions > button:disabled,
#mya-booking .mya-location-actions > button:disabled,
#mya-booking .mya-guest-details .mya-guest-actions > button:disabled,
#mya-booking .mya-review-step .mya-review-actions > button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  transform:none!important;
}

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

/* En movil, el boton azul arriba y volver debajo, como en la ficha. */
@media(max-width:680px){
  #mya-booking .mya-service-info-actions,
  #mya-booking .mya-location-actions,
  #mya-booking .mya-guest-details .mya-guest-actions,
  #mya-booking .mya-review-step .mya-review-actions{
    display:flex!important;
    flex-direction:column-reverse!important;
    align-items:stretch!important;
    gap:9px!important;
  }
  #mya-booking .mya-service-info-actions > button,
  #mya-booking .mya-location-actions > button,
  #mya-booking .mya-guest-details .mya-guest-actions > button,
  #mya-booking .mya-review-step .mya-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){
  #mya-booking .mya-service-info-actions > button,
  #mya-booking .mya-location-actions > button,
  #mya-booking .mya-guest-details .mya-guest-actions > button,
  #mya-booking .mya-review-step .mya-review-actions > button,
  #mya-booking .mya-step-summary > .mya-back-link,
  #mya-booking .mya-reopen-card > .mya-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 .mya-timezone-confirm{width:100%} forzaba un boton gigante
   en escritorio. Es necesario anularla solo en este paso. */
#mya-booking .mya-location-stage > .mya-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;
}
#mya-booking .mya-location-stage > .mya-location-actions > #mya-timezone-confirm,
#mya-booking .mya-location-stage > .mya-location-actions > #mya-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. */
#mya-booking .mya-step-summary > #mya-back-location,
#mya-booking .mya-step-summary > #mya-back-date{
  appearance:none!important;
  background:#9a690f!important;
  border:1px solid #9a690f!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;
}
#mya-booking .mya-step-summary > #mya-back-location:hover,
#mya-booking .mya-step-summary > #mya-back-date:hover{
  background:#6f4800!important;
  border-color:#6f4800!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  transform:translateY(-1px);
}
#mya-booking .mya-step-summary > #mya-back-location:focus-visible,
#mya-booking .mya-step-summary > #mya-back-date:focus-visible{
  outline:3px solid #9a690f!important;
  outline-offset:3px!important;
}
@media(max-width:680px){
  #mya-booking .mya-location-stage > .mya-location-actions{
    flex-direction:column-reverse!important;
    align-items:stretch!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    padding:18px!important;
  }
  #mya-booking .mya-location-stage > .mya-location-actions > #mya-timezone-confirm,
  #mya-booking .mya-location-stage > .mya-location-actions > #mya-back-service-info{
    width:100%!important;
    flex:0 0 auto!important;
    font-size:12px!important;
    min-height:44px!important;
    padding:10px 14px!important;
  }
  #mya-booking .mya-step-summary > #mya-back-location,
  #mya-booking .mya-step-summary > #mya-back-date{
    width:100%!important;
    min-height:44px!important;
    font-size:12px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #mya-booking .mya-step-summary > #mya-back-location:hover,
  #mya-booking .mya-step-summary > #mya-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.
   ===================================================================== */
#mya-booking .mya-sequence-progress{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
#mya-booking .mya-review-continue-note{
  margin:16px 0 8px;
  padding:14px 17px;
  border:1px solid #e6d8bc;
  border-radius:11px;
  background:#faf7f1;
  color:#2a3350;
  font-size:12.5px;
  line-height:1.7;
}
#mya-booking .mya-payment-step > .mya-contract-review{margin:18px 0 14px}
#mya-booking .mya-payment-step > .mya-legal-review-block{margin:17px 0 19px}
#mya-booking .mya-payment-step > .mya-review-actions{margin:17px 0 5px}
/* Buttons match the earlier navigation style in size, weight, contrast and spacing. */
#mya-booking .mya-review-step .mya-review-actions > button{
  min-height:44px!important;
  border-radius:10px!important;
  padding:10px 17px!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
#mya-booking .mya-review-step .mya-review-actions > .mya-submit{
  border:1px solid #9a690f!important;
  background:#9a690f!important;
  color:#fff!important;
}
#mya-booking .mya-review-step .mya-review-actions > .mya-submit:hover{
  border-color:#6f4800!important;
  background:#6f4800!important;
}
#mya-booking .mya-review-step .mya-review-actions > .mya-secondary{
  border:1px solid #e6d8bc!important;
  background:#fff!important;
  color:#5c6272!important;
}
/* Two quick beats followed by a quiet pause. Transform doesn't affect layout. */
@keyframes mya-cta-heartbeat-267{
  0%,9%,21%,33%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(154,105,15,0)}
  13%,25%{transform:scale(1.035);box-shadow:0 0 0 6px rgba(154,105,15,.15)}
  18%,30%{transform:scale(1.005);box-shadow:0 0 0 3px rgba(154,105,15,.06)}
}
/* Animate only the primary actions on the visible step. Never animate Back. */
#mya-booking .mya-sequence-step:not([hidden]) .mya-submit:not(:disabled){
  animation:mya-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. */
#mya-booking .mya-payment-step:not(.mya-ready-to-pay) .mya-submit[type="submit"]{
  animation:none!important;
}
#mya-booking .mya-sequence-step:not([hidden]) .mya-submit:hover,
#mya-booking .mya-sequence-step:not([hidden]) .mya-submit:focus-visible{
  animation-play-state:paused!important;
}
#mya-booking .mya-sequence-step:not([hidden]) .mya-submit:disabled{animation:none!important}
@media(max-width:680px){
  #mya-booking .mya-sequence-progress{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
  #mya-booking .mya-payment-step > .mya-review-actions,
  #mya-booking .mya-review-step > .mya-review-actions{flex-direction:column-reverse;align-items:stretch}
  #mya-booking .mya-review-step .mya-review-actions > button{width:100%!important;min-height:46px!important;font-size:12px!important}
  #mya-booking .mya-review-continue-note{font-size:12px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){
  #mya-booking .mya-sequence-step:not([hidden]) .mya-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.
   ================================================================ */
#mya-booking.mya-booking-269 [hidden]{display:none!important}
#mya-booking.mya-booking-269 .mya-sequence-progress{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  max-width:850px;
  margin:0 auto 20px;
}
#mya-booking.mya-booking-269 .mya-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;
}
#mya-booking.mya-booking-269 .mya-sequence-progress span b{flex:0 0 auto;font-size:12px!important}
#mya-booking.mya-booking-269 .mya-services-grid-sequence{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1050px;
  gap:14px;
}
#mya-booking.mya-booking-269 .mya-service-card.is-selected{
  outline:3px solid rgba(154,105,15,.22)!important;
  outline-offset:2px!important;
  border-color:#9a690f!important;
  box-shadow:0 10px 28px rgba(154,105,15,.16)!important;
}
#mya-booking.mya-booking-269 .mya-service-card.is-selected .mya-service-cta{
  background:#6f4800!important;border-color:#6f4800!important;
}
#mya-booking.mya-booking-269.mya-direct-service #mya-services-grid .mya-service-card:not(.is-selected){display:none!important}
#mya-booking.mya-booking-269.mya-direct-service #mya-services-grid{grid-template-columns:minmax(0,1fr);max-width:740px}
#mya-booking.mya-booking-269 #mya-change-service{
  display:block;margin:12px auto 0;border:0;padding:9px 14px;background:transparent;
  color:#9a690f;font-weight:800;font-size:12px;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;
}
#mya-booking.mya-booking-269 .mya-inline-service-info{
  width:min(960px,100%);margin:18px auto 0;border-radius:14px;
  box-shadow:0 5px 18px rgba(31,39,64,.06);
}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-head{padding:18px 22px}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-head h3{font-size:20px!important;margin:3px 0 5px!important}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-head p{font-size:12px!important}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-facts > div{padding:12px 8px}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-block{
  margin:12px!important;padding:13px 16px!important;
  background:#faf7f1!important;border:1px solid #e6d8bc!important;color:#2a3350!important;
}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-block strong{color:#6f4800;font-size:12px}
#mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-block p{
  color:#5c6272!important;font-size:12px;line-height:1.6;white-space:pre-line;
}
#mya-booking.mya-booking-269 .mya-location-inline{max-width:960px;margin:16px auto 0}
#mya-booking.mya-booking-269 .mya-location-inline .mya-timezone-panel{padding:20px 22px;gap:20px}
#mya-booking.mya-booking-269 .mya-location-inline .mya-timezone-copy h3{font-size:18px!important}
#mya-booking.mya-booking-269 .mya-location-inline .mya-detected-timezone{font-size:11px;padding:9px 11px}
#mya-booking.mya-booking-269 .mya-step-actions{max-width:960px;margin:16px auto 0!important}
#mya-booking.mya-booking-269 .mya-step-actions > .mya-submit{min-height:46px!important}
#mya-booking.mya-booking-269 .mya-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;
}
#mya-booking.mya-booking-269 .mya-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 #e6d8bc;background:#faf7f1;border-radius:12px;
}
#mya-booking.mya-booking-269 .mya-selected-meta strong{font-size:14px;color:#1f2740}
#mya-booking.mya-booking-269 .mya-selected-meta small{font-size:12px;color:#5c6272}
#mya-booking.mya-booking-269 #mya-back-services{
  min-height:34px;margin-left:auto;padding:6px 10px;border:1px solid #9a690f;
  border-radius:8px;color:#9a690f;background:#fff;font-size:11px;font-weight:800;
}
#mya-booking.mya-booking-269 #mya-back-services:hover{color:#fff;background:#9a690f}
#mya-booking.mya-booking-269 .mya-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;
}
#mya-booking.mya-booking-269 .mya-schedule-layout > div{min-width:0}
#mya-booking.mya-booking-269 .mya-schedule-layout .mya-calendar-panel-single,
#mya-booking.mya-booking-269 .mya-schedule-layout .mya-time-panel-single{padding:20px;border:1px solid #e6d8bc;border-radius:14px}
#mya-booking.mya-booking-269 .mya-schedule-layout .mya-time-panel-single .mya-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
#mya-booking.mya-booking-269 .mya-next-hint{font-size:11px!important;color:#5c6272!important;margin-top:14px!important}
#mya-booking.mya-booking-269 .mya-sequence-form{max-width:1030px}
#mya-booking.mya-booking-269 .mya-guest-details .mya-data-note{
  margin:12px 2px 8px;padding:0;color:#5c6272;font-size:11.5px;line-height:1.6;
}
#mya-booking.mya-booking-269 .mya-guest-details > .mya-contract-review{margin:18px 0 16px;padding:17px 19px}
#mya-booking.mya-booking-269 .mya-guest-details .mya-check-legal{
  border:1px solid #e6d8bc;background:#faf7f1;border-radius:10px;padding:12px 14px;
  font-size:12px!important;line-height:1.6;
}
#mya-booking.mya-booking-269 .mya-guest-details .mya-check-legal span{color:#2a3350}
#mya-booking.mya-booking-269 .mya-guest-details .mya-check-legal input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0}
#mya-booking.mya-booking-269 .mya-payment-actions{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px!important;
}
#mya-booking.mya-booking-269 .mya-payment-actions > button{
  min-height:46px!important;border-radius:10px!important;padding:10px 18px!important;
  font-size:12.5px!important;font-weight:800!important;
}
#mya-booking.mya-booking-269 .mya-payment-actions > .mya-submit{
  color:#fff!important;background:#9a690f!important;border:1px solid #9a690f!important;
}
#mya-booking.mya-booking-269 .mya-payment-actions > .mya-secondary{
  color:#9a690f!important;border:1px solid #9a690f!important;background:#fff!important;
}
#mya-booking.mya-booking-269 .mya-payment-actions > .mya-secondary:hover{color:#fff!important;background:#9a690f!important}
#mya-booking.mya-booking-269 .mya-guest-details > .mya-legal-inline{
  max-width:100%;margin:15px 2px 8px;padding:0;border:0;background:transparent;
  text-align:left;color:#5c6272;font-size:11px;font-weight:400;line-height:1.75;
}
#mya-booking.mya-booking-269 .mya-legal-inline a{font-size:inherit;font-weight:700;color:#9a690f;text-decoration:underline;text-underline-offset:2px}
#mya-booking.mya-booking-269 .mya-legal-inline a:hover{color:#6f4800}
#mya-booking.mya-booking-269 .mya-message.mya-error{
  margin-top:12px;padding:11px 12px;color:#9b2226;background:#fff0ef;border:1px solid #efc5bf;border-radius:9px;
}
@media(max-width:760px){
  #mya-booking.mya-booking-269 .mya-schedule-layout{grid-template-columns:minmax(0,1fr);gap:12px}
  #mya-booking.mya-booking-269 .mya-services-grid-sequence{grid-template-columns:minmax(0,1fr)}
  #mya-booking.mya-booking-269 .mya-location-inline .mya-timezone-panel{grid-template-columns:minmax(0,1fr)}
  #mya-booking.mya-booking-269 .mya-sequence-progress span{font-size:10px!important;padding:7px 5px!important;gap:4px!important}
  #mya-booking.mya-booking-269 .mya-selected-meta{gap:8px;padding:10px 12px}
  #mya-booking.mya-booking-269 #mya-back-services{margin-left:0}
  #mya-booking.mya-booking-269 .mya-schedule-layout .mya-calendar-panel-single,
  #mya-booking.mya-booking-269 .mya-schedule-layout .mya-time-panel-single{padding:16px 14px}
  #mya-booking.mya-booking-269 .mya-payment-actions{flex-direction:column-reverse;align-items:stretch}
  #mya-booking.mya-booking-269 .mya-payment-actions > button{width:100%!important}
  #mya-booking.mya-booking-269 .mya-step-actions > .mya-submit{width:100%}
}
@media(max-width:460px){
  #mya-booking.mya-booking-269 .mya-sequence-progress{gap:4px!important}
  #mya-booking.mya-booking-269 .mya-sequence-progress span{
    flex-direction:column!important;gap:3px!important;font-size:10px!important;
    padding:7px 3px!important;min-height:54px;
  }
  #mya-booking.mya-booking-269 .mya-inline-service-info .mya-service-info-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #mya-booking.mya-booking-269 .mya-schedule-layout .mya-time-panel-single .mya-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* 2.6.13: empty-month guidance; never confuse no appointments with server errors. */
#mya-booking.mya-booking-269 .mya-month-empty[hidden]{display:none!important}
#mya-booking.mya-booking-269 .mya-month-empty{
  margin:12px 0 14px;padding:14px 16px;border:1px solid #e6d8bc;
  border-radius:12px;background:#faf7f1;color:#1f2740;
  font-size:13px;line-height:1.55;
}
#mya-booking.mya-booking-269 .mya-month-empty p{margin:0 0 10px;color:inherit;font-size:inherit;line-height:inherit}
#mya-booking.mya-booking-269 .mya-month-empty p:last-child{margin-bottom:0}
#mya-booking.mya-booking-269 .mya-month-empty-next[hidden]{display:none!important}
#mya-booking.mya-booking-269 .mya-month-empty-next{
  display:inline-flex;align-items:center;justify-content:center;
  max-width:100%;min-height:44px;padding:10px 15px;
  background:#9a690f;color:#fff;border:1px solid #9a690f;
  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;
}
#mya-booking.mya-booking-269 .mya-month-empty-next:hover{background:#6f4800;border-color:#6f4800;color:#fff}
#mya-booking.mya-booking-269 .mya-month-empty-next:focus-visible{outline:3px solid #9a690f;outline-offset:3px}
@media(max-width:460px){
  #mya-booking.mya-booking-269 .mya-month-empty{padding:12px 10px;font-size:12px}
  #mya-booking.mya-booking-269 .mya-month-empty-next{width:100%;font-size:12px}
}


/* v2.6.14: Keep the re-open booking card below the site navigation.
   --mya-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. */
#mya-booking.mya-booking-auto #mya-reopen-shell{
  padding-top:calc(30px + var(--mya-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. */
#mya-booking.mya-booking-auto #mya-reopen-shell {
  padding-top: calc(30px + var(--mya-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. */
#mya-booking.mya-booking-269.mya-direct-service #mya-services-grid {display:none!important}

/* =========================================================
   V2.6.41 - ETIQUETAS DE SERVICIOS CON FOTO EN MODAL
========================================================= */
.mya-services-grid-sequence{
  gap:16px!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text{
  min-height:206px!important;
  border:1px solid #e6d8bc!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#faf7f1 100%)!important;
  box-shadow:0 14px 38px rgba(31,39,64,.08)!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text::before{
  width:6px;
  background:linear-gradient(180deg,#9a690f 0%,#9a690f 100%);
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text::after{
  width:180px;
  height:180px;
  right:-96px;
  top:-96px;
  background:rgba(154,105,15,.05);
  box-shadow:0 0 0 36px rgba(154,105,15,.02);
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text:hover,
.mya-services-grid-sequence .mya-service-card.mya-service-card-text:focus{
  transform:translateY(-3px)!important;
  border-color:#e6d8bc!important;
  box-shadow:0 20px 48px rgba(31,39,64,.14)!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-body-text{
  min-height:206px;
  padding:20px 22px 19px 24px!important;
  gap:0!important;
}
.mya-services-grid-sequence .mya-service-topline{
  display:flex;
  align-items:flex-start;
  gap:15px;
}
.mya-services-grid-sequence .mya-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,#faf7f1 0%,#f4efe5 100%);
  box-shadow:inset 0 0 0 1px rgba(154,105,15,.12),0 8px 20px rgba(31,39,64,.08);
}
.mya-services-grid-sequence .mya-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;
}
.mya-services-grid-sequence .mya-service-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mya-services-grid-sequence .mya-service-thumb.is-placeholder{
  background:linear-gradient(135deg,#1f2740 0%,#9a690f 100%);
}
.mya-services-grid-sequence .mya-service-thumb-icon{
  font-size:32px;
  line-height:1;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.12));
}
.mya-services-grid-sequence .mya-service-copy{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  gap:10px;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-name{
  margin:0!important;
  font-size:19px!important;
  line-height:1.26!important;
}
.mya-services-grid-sequence .mya-service-meta-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mya-services-grid-sequence .mya-service-meta-tag{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:#faf7f1;
  color:#6f4800;
  font-size:11px;
  font-weight:800;
  letter-spacing:.15px;
  border:1px solid #e6d8bc;
}
.mya-services-grid-sequence .mya-service-meta-tag-language{
  background:#faf7f1;
  color:#5c6272;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-description{
  margin:14px 0 18px!important;
  color:#5c6272!important;
  font-size:13px!important;
  line-height:1.6!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-footer-text{
  align-items:flex-end!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-cta{
  min-height:42px!important;
  padding:0 17px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#9a690f 0%,#9a690f 100%)!important;
  border-color:#9a690f!important;
  font-size:12px!important;
  letter-spacing:.15px;
  box-shadow:0 10px 22px rgba(154,105,15,.18)!important;
}
.mya-services-grid-sequence .mya-service-card.mya-service-card-text:hover .mya-service-cta,
.mya-services-grid-sequence .mya-service-card.mya-service-card-text:focus .mya-service-cta{
  background:linear-gradient(180deg,#9a690f 0%,#6f4800 100%)!important;
  border-color:#9a690f!important;
}
@media (max-width: 760px){
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text{
    min-height:0!important;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-body-text{
    min-height:0;
    padding:18px 18px 17px 20px!important;
  }
  .mya-services-grid-sequence .mya-service-topline{
    gap:12px;
  }
  .mya-services-grid-sequence .mya-service-thumb{
    width:72px;
    min-width:72px;
    height:72px;
    border-radius:18px;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-name{
    font-size:17px!important;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-description{
    margin:12px 0 16px!important;
    font-size:12.5px!important;
  }
}
@media (max-width: 520px){
  .mya-services-grid-sequence{
    gap:12px!important;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text{
    border-radius:18px!important;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-body-text{
    padding:15px 15px 14px 17px!important;
  }
  .mya-services-grid-sequence .mya-service-topline{
    align-items:center;
    gap:10px;
  }
  .mya-services-grid-sequence .mya-service-thumb{
    width:64px;
    min-width:64px;
    height:64px;
    border-radius:16px;
  }
  .mya-services-grid-sequence .mya-service-meta-tags{
    gap:6px;
  }
  .mya-services-grid-sequence .mya-service-meta-tag{
    min-height:26px;
    padding:0 9px;
    font-size:10px;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-name{
    font-size:15.5px!important;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-description{
    margin:10px 0 14px!important;
    font-size:12px!important;
  }
  .mya-services-grid-sequence .mya-service-card.mya-service-card-text .mya-service-cta{
    width:100%;
  }
}

/* Agenda Legal v2.6.52 - avisos del calendario, aislados del resto del diseño. */
#mya-booking.mya-booking-269 .mya-calendar-loading[hidden],
#mya-booking.mya-booking-269 .mya-calendar-warning[hidden],
#mya-booking.mya-booking-269 .mya-month-empty[hidden]{display:none!important}
#mya-booking.mya-booking-269 .mya-calendar-loading{
  display:flex;align-items:center;gap:10px;margin:12px 0 14px;
  padding:12px 14px;background:#faf7f1;border:1px solid #e6d8bc;
  color:#2a3350;border-radius:12px;font-size:13px;font-weight:600;line-height:1.5;
}
#mya-booking.mya-booking-269 .mya-calendar-loading-icon{
  display:inline-block;flex:0 0 17px;width:17px;height:17px;
  border:2px solid #e6d8bc;border-top-color:#9a690f;border-radius:50%;
  animation:mya-calendar-spin .8s linear infinite;
}
@keyframes mya-calendar-spin{to{transform:rotate(360deg)}}
#mya-booking.mya-booking-269 .mya-month-empty{
  border-left:4px solid #9a690f;
  padding:15px 18px;background:#faf7f1;border-radius:12px;
  border-top:1px solid #e6d8bc;border-right:1px solid #e6d8bc;border-bottom:1px solid #e6d8bc;
  color:#1f2740;box-shadow:0 3px 10px rgba(111,72,0,.05);
}
#mya-booking.mya-booking-269 .mya-month-empty strong{
  display:block;margin-bottom:7px;font-size:15px;font-weight:800;line-height:1.35;color:#1f2740;
}
#mya-booking.mya-booking-269 .mya-month-empty p{margin:0 0 13px;font-size:13px;line-height:1.55;color:#2a3350}
#mya-booking.mya-booking-269 .mya-month-empty-next{min-height:42px;font-size:13px}
#mya-booking.mya-booking-269 .mya-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;
}
#mya-booking.mya-booking-269 .mya-calendar-warning p{margin:0 0 10px;color:#825216;font-size:13px;line-height:1.5}
#mya-booking.mya-booking-269 .mya-calendar-retry{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:#6f4800;border:1px solid #d6b06a;
  border-radius:9px;padding:9px 15px;min-height:42px;
  font-size:13px;font-weight:700;cursor:pointer;box-shadow:none;
}
#mya-booking.mya-booking-269 .mya-calendar-retry:hover{background:#faf7f1;border-color:#9a690f;color:#6f4800}
#mya-booking.mya-booking-269 .mya-calendar-retry:focus-visible{outline:3px solid #9a690f;outline-offset:3px}
@media(max-width:520px){
  #mya-booking.mya-booking-269 .mya-month-empty,
  #mya-booking.mya-booking-269 .mya-calendar-warning{padding:13px 12px}
  #mya-booking.mya-booking-269 .mya-month-empty strong{font-size:14px}
  #mya-booking.mya-booking-269 .mya-month-empty-next,
  #mya-booking.mya-booking-269 .mya-calendar-retry{width:100%}
}
@media(prefers-reduced-motion:reduce){
  #mya-booking.mya-booking-269 .mya-calendar-loading-icon{animation:none;border-top-color:#2a3350}
}

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

/* v2.6.55: casilla para direcciones sin piso/apartamento; resto del diseno intacto. */
#mya-booking.mya-booking-269 .mya-sequence-form .mya-guest-grid .mya-floor-na-option{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  margin:9px 0 0;
  border:1px solid #e6d8bc;
  border-radius:9px;
  background:#faf7f1;
  color:#1f2740;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
}
#mya-booking.mya-booking-269 .mya-sequence-form .mya-guest-grid .mya-floor-na-option.is-selected{
  border-color:#d6b06a;
  background:#faf7f1;
}
#mya-booking.mya-booking-269 .mya-sequence-form .mya-guest-grid .mya-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:#9a690f;
  cursor:pointer;
}
#mya-booking.mya-booking-269 .mya-sequence-form .mya-guest-grid .mya-floor-na-option:focus-within{
  outline:2px solid #9a690f;
  outline-offset:2px;
}

/* Abogada Maria Yhasir · identidad Lexey.
   Encapsulada en la agenda; el sitio mantiene su propia tipografia y cabecera. */
.mya-booking {
  --lexey-gold:#9a690f;
  --lexey-gold-hover:#6f4800;
  --lexey-navy:#1f2740;
  --lexey-cream:#faf7f1;
  --lexey-border:#e6d8bc;
  --blue:var(--lexey-gold);
  --blue-dark:var(--lexey-gold-hover);
  --navy:var(--lexey-navy);
  --text:#22252f;
  --muted:#5c6272;
  --line:var(--lexey-border);
  --soft:var(--lexey-cream);
  --shadow:0 12px 32px rgba(20,26,45,.08);
}
.mya-booking .mya-modal-top {border-bottom-color:var(--lexey-border)}
.mya-booking .mya-modal-top img {border:1px solid var(--lexey-border)}
.mya-booking.mya-booking-269 .mya-step-banner {
  background:linear-gradient(115deg,#1f2740,#2a3350)!important;
  border-bottom:3px solid #d6b06a;
}
.mya-booking.mya-booking-269 .mya-step-banner > span {color:#f4d9a6!important}
.mya-booking .mya-step-banner h3[tabindex="-1"]:focus {outline:none}
.mya-booking .mya-service-details-panel .mya-service-info-head,
.mya-booking .mya-service-info-head {
  background:linear-gradient(115deg,#1f2740,#2a3350)!important;
  border-bottom:3px solid #d6b06a;
}
.mya-booking .mya-service-info-head .mya-overline {color:#f4d9a6!important}
.mya-booking .mya-services-grid-sequence .mya-service-card.mya-service-card-text::before {
  top:0;left:0;right:0;bottom:auto;width:100%;height:4px;
  background:linear-gradient(90deg,#9a690f,#d6b06a);
}
.mya-booking .mya-service-card.mya-service-card-text .mya-service-cta {border-radius:10px!important}
.mya-booking button:focus-visible,
.mya-booking a:focus-visible {
  outline:2px solid #9a690f;
  outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  .mya-booking button,.mya-booking .mya-service-card,.mya-booking .mya-service-cta {
    animation:none!important;
    transition:none!important;
  }
}
