/* R10 focused refinements; approved R2 palette and layout stay unchanged. */
.r10-phone-field{margin:22px 0 18px}.r10-phone-field .field{margin:0 0 5px}.r10-phone-line{display:flex!important;align-items:stretch!important;gap:0!important}.r10-dial{display:grid;place-items:center;flex:0 0 62px;border:1px solid var(--line);border-right:0;border-radius:12px 0 0 12px;background:var(--pale);font-weight:600}.r10-phone-line input{border-radius:0 12px 12px 0!important;min-width:0;flex:1;width:1px!important}.r10-support{margin-top:20px;padding:15px 0 4px;border-top:1px solid var(--line)}.r10-support p{margin-bottom:6px;font-size:13px}.r10-section{margin-top:22px}.r10-contact-summary{display:grid;gap:8px;padding:16px;border-radius:14px;background:var(--pale);font-size:14px}.r10-contact-summary p{overflow-wrap:anywhere}.r10-tools{margin-top:18px}.r10-phone-field small{display:block;color:var(--muted);font-size:12px}.r10-phone-field .r9-inline-error{color:var(--danger)}.r10-phone-field input[aria-invalid=true]{border-color:var(--danger)!important}.r9-stage-note{overflow-wrap:anywhere}.r10-section .list-row{gap:15px}.r10-section .list-row>div{min-width:0}.r10-section .list-row p{overflow-wrap:anywhere}.r8-check{align-items:start}.r8-check input{flex:0 0 auto}.r9-review-only{margin-top:28px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}#r10-existing-links{margin:10px 0 20px}#r10-block-contact{margin-top:12px}#r8-modal .r9-email-preview a{margin:6px 8px 6px 0}
@media(max-width:640px){.r10-dial{flex-basis:55px}.r10-phone-line input{font-size:16px}.r10-section .list-row{align-items:start;flex-wrap:wrap}.r10-support .btn{max-width:100%}.r10-contact-summary{padding:12px}}
.r8-check{display:flex;gap:10px;line-height:1.6;margin:18px 0;align-items:flex-start}.r8-check input{width:20px;height:20px;margin-top:4px}.r10-section ul{padding-left:20px}.r10-section li{margin:8px 0}

/* R10.1 - direct booking for Secretaria/Gestion. Kept in an existing global asset so the
   progressive flow does not depend on a newly-created static path. */
[data-direct-booking] [hidden]{display:none!important}
[data-direct-booking] .direct-step{max-width:1180px;margin:0 auto 1rem}
[data-direct-booking] .direct-step-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.25rem}
[data-direct-booking] .direct-step-head h2{margin:.05rem 0 .25rem}
[data-direct-booking] .direct-step-head p{margin:0;color:#667085}
[data-direct-booking] .direct-step-number{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:999px;background:#434cc7;color:#fff;font-weight:700}
[data-direct-booking] .booking-actions{display:flex;justify-content:flex-end;margin-top:1rem}
[data-direct-booking] .r9-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
[data-direct-booking] .direct-purpose-feedback{min-height:1.2rem;margin:.45rem 0 .9rem;color:#5e667a}
[data-direct-booking] .direct-purpose-feedback.is-error,[data-direct-booking] [data-identity-status].is-error{color:#b42318;font-weight:600}
[data-direct-booking] .direct-purpose-feedback.is-ok,[data-direct-booking] [data-identity-status].is-ok{color:#17663a}
[data-direct-booking] .direct-phone-field{grid-column:1/-1}
[data-direct-booking] .direct-phone-row{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(240px,1.28fr);gap:.85rem;align-items:start}
[data-direct-booking] .direct-phone-row label{display:grid;grid-template-rows:1.25rem 50px;gap:.35rem;min-width:0;align-self:start}
[data-direct-booking] .direct-phone-row label>span{font-size:.86rem;color:#5e667a;font-weight:600}
[data-direct-booking] .direct-phone-row select,[data-direct-booking] .direct-phone-row input{box-sizing:border-box;width:100%;height:50px;min-height:50px;margin:0}
[data-direct-booking] .field-label{display:block;margin-bottom:.35rem}
[data-direct-booking] .direct-search-results{display:grid;gap:.45rem;max-height:15rem;overflow:auto;margin:.5rem 0}
[data-direct-booking] .direct-search-results:empty{display:none}
[data-direct-booking] .direct-search-results:not(:empty){margin-top:.6rem}
[data-direct-booking] .direct-search-caption{font-size:.9rem;color:#667085;padding:.2rem 0}
[data-direct-booking] .direct-search-choice{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:1px solid #d7dbea;background:#fff;border-radius:.75rem;padding:.7rem .85rem;text-align:left;cursor:pointer;font:inherit;color:#1d2742}
[data-direct-booking] .direct-search-choice::after{content:'Seleccionar';font-size:.82rem;color:#434cc7;font-weight:700}
[data-direct-booking] .direct-search-choice:hover,[data-direct-booking] .direct-search-choice:focus-visible{border-color:#434cc7;outline:2px solid rgba(67,76,199,.16)}
[data-direct-booking] .small-btn{padding:.42rem .7rem}
[data-direct-booking] .direct-context-box{margin-top:1rem;padding:1rem;border:1px solid #e0e3ef;border-radius:1rem;background:#fafaff}
[data-direct-booking] .direct-calendar-shell{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(18rem,1fr);gap:1rem;margin-top:1.25rem}
[data-direct-booking] .direct-calendar,[data-direct-booking] .r8-slots{border:1px solid #dde1ec;border-radius:1rem;padding:1rem;background:#fff}
[data-direct-booking] .calendar-head{display:flex;justify-content:space-between;align-items:center;gap:.7rem}
[data-direct-booking] .weekdays,[data-direct-booking] .r8-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;text-align:center}
[data-direct-booking] .weekdays{margin:.9rem 0 .35rem;color:#697386;font-size:.83rem}
[data-direct-booking] .r8-days button,[data-direct-booking] .r8-days span{min-height:2.5rem;border:0;border-radius:.65rem;background:transparent;display:grid;place-items:center;font:inherit}
[data-direct-booking] .r8-days button{cursor:pointer}
[data-direct-booking] .r8-days button:hover,[data-direct-booking] .r8-days button:focus-visible{background:#eef0ff;outline:2px solid rgba(67,76,199,.18)}
[data-direct-booking] .r8-days button.is-selected{background:#434cc7;color:#fff;font-weight:700}
[data-direct-booking] .r8-days .is-disabled{color:#c0c5d0}
[data-direct-booking] .r8-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
[data-direct-booking] .r8-slot-grid button{min-height:2.85rem;border:1px solid #d7dbea;border-radius:.75rem;background:#fff;cursor:pointer}
[data-direct-booking] .r8-slot-grid button:hover,[data-direct-booking] .r8-slot-grid button:focus-visible{border-color:#434cc7;background:#eef0ff;color:#1d2742;outline:none}
[data-direct-booking] .r8-slot-grid button.is-selected,[data-direct-booking] .r8-slot-grid button[aria-pressed="true"]{border-color:#434cc7;background:#eef0ff;color:#1d2742;font-weight:700;box-shadow:0 0 0 2px rgba(67,76,199,.14) inset;outline:none}
[data-direct-booking] .check-row{display:flex;align-items:flex-start;gap:.65rem;margin:.9rem 0}
[data-direct-booking] .check-row input{margin-top:.2rem}
[data-direct-booking] .notice.info{background:#f5f4ff;border-color:#dcd9ff}
[data-direct-booking] .field small{display:block;margin-top:.35rem;color:#667085}
[data-direct-booking] input:invalid:focus,[data-direct-booking] select:invalid:focus{border-color:#bd2b2b}
[data-direct-booking] [aria-invalid="true"]{border-color:#bd2b2b}
[data-direct-booking] [data-submit-booking][disabled]{opacity:.65;cursor:wait}
@media(max-width:760px){
  [data-direct-booking] .r9-form-grid,[data-direct-booking] .direct-phone-row,[data-direct-booking] .direct-calendar-shell{grid-template-columns:1fr}
  [data-direct-booking] .direct-phone-field{grid-column:auto}
  [data-direct-booking] .direct-phone-row{gap:.65rem}
  [data-direct-booking] .r8-slot-grid{grid-template-columns:1fr}
  [data-direct-booking] .booking-actions{justify-content:stretch}
  [data-direct-booking] .booking-actions .btn{width:100%}
}
