 .booking-secondary{border:0;background:transparent;color:#0066cc;font:inherit;font-size:15px;cursor:pointer;padding:12px 4px}.booking-secondary:hover{text-decoration:underline}.booking-secondary.on-dark{color:white}#booking-dialog{width:min(1100px,calc(100vw - 32px));max-width:1100px;max-height:94dvh;padding:0;border:1px solid #e5e5e7;border-radius:24px;overflow:auto;background:#fff}#booking-dialog::backdrop{background:rgba(20,25,35,.48);backdrop-filter:blur(5px)}.booking-head{display:flex;justify-content:space-between;gap:20px;padding:24px 28px 16px}.booking-head .eyebrow{margin:0 0 8px;color:#6e6e73}.booking-head h2{font-size:26px;line-height:1.15;letter-spacing:-.03em;margin:0}.booking-dismiss{border:0;background:#f5f5f7;border-radius:50%;width:40px;height:40px;flex-shrink:0;font-size:28px;cursor:pointer;color:#333}#booking-dialog iframe{display:block;border:0;width:100%;height:570px;background:white}.booking-help{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;border-top:1px solid #eee;font-size:13px;color:#6e6e73}.booking-help a{color:#0066cc}.booking-secondary:focus-visible,.booking-dismiss:focus-visible{outline:2px solid #0071e3;outline-offset:3px}@media(max-width:600px){#booking-dialog{width:calc(100vw - 16px);border-radius:18px}.booking-head{padding:20px 18px 12px}.booking-head h2{font-size:23px}.booking-help{padding:12px 18px;flex-direction:column;align-items:flex-start;gap:2px}#booking-dialog iframe{height:590px}}
#contact-form .contact-phone{display:flex;flex-direction:column;gap:8px;min-width:0}
#contact-form .contact-phone>label{margin:0}
#contact-form .contact-phone-row{display:flex;align-items:stretch;gap:8px;min-width:0}
#contact-form .contact-phone-row select{box-sizing:border-box;flex:0 0 108px;width:108px;min-width:0;appearance:auto;padding:12px 8px;border:1px solid #d2d2d7;border-radius:12px;background:#fff;color:#1d1d1f;font:inherit;font-size:15px;margin:0}
#contact-form .contact-phone-row input{flex:1;width:0;min-width:0;margin:0}
#contact-form .contact-phone-row select:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.booking-dismiss{display:grid;place-items:center;font-size:0}.booking-dismiss .i{width:18px;height:18px}
#contact-form .contact-phone-row select{min-width:0;flex-basis:132px;width:132px}
/* Teléfono: selector compacto y campo de número más ancho */
#contact-form .contact-phone-row select{flex:0 0 96px;width:96px;padding:12px 6px;text-align:center}
/* Diálogos centrados en celular */
@media(max-width:600px){
  #contact-dialog,#booking-dialog{position:fixed;inset:0;margin:auto;width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);box-sizing:border-box;transform:none}
  #contact-dialog{padding:28px 20px;overflow-y:auto}
}
.form-done-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px}.form-done-actions .button{margin:0}
#contact-dialog .form-done-title{padding-right:44px}
#contact-dialog .form-done{text-align:center;padding-top:16px}#contact-dialog .form-done-title{padding:0 44px}#contact-dialog .form-done p{margin-left:auto;margin-right:auto;max-width:420px}.form-done-actions{justify-content:center;flex-direction:column}#contact-dialog .form-done>.button{display:block;margin:16px auto 0}
.booking-help.is-booked{background:#f5f5f7;padding:16px 28px;flex-direction:row;align-items:center}
.booking-done{display:flex;align-items:center;gap:8px;color:#1d1d1f;font-size:15px;font-weight:500}
.booking-done .i{width:20px;height:20px;color:#1a7f37;flex:none}
.booking-finish{flex:none;min-height:44px;padding:10px 26px}
@media(max-width:600px){.booking-help.is-booked{flex-direction:column;align-items:stretch;gap:12px;padding:16px 18px}.booking-finish{width:100%}}
.contact-panel .booking-secondary{color:#0066cc}
