/* UpAgenda · formulario público — identidad UpStudio: estrictamente blanco y negro, sans-serif, accesible. */
.ua-app{--ua-fg:#0a0a0a;--ua-bg:#fff;--ua-mute:#555;--ua-line:#d9d9d9;--ua-soft:#f4f4f4;
	max-width:720px;margin:0 auto;color:var(--ua-fg);background:var(--ua-bg);font:400 16px/1.55 Roboto,Helvetica,Arial,sans-serif;
	border:1px solid var(--ua-fg);padding:28px;box-sizing:border-box}
.ua-app *,.ua-app *::before,.ua-app *::after{box-sizing:border-box}
@media (prefers-color-scheme:dark){.ua-app{--ua-fg:#f4f4f4;--ua-bg:#0a0a0a;--ua-mute:#b5b5b5;--ua-line:#3a3a3a;--ua-soft:#171717}}
@media (max-width:520px){.ua-app{padding:18px;border-left:0;border-right:0}}

.ua-steps{display:flex;gap:0;margin:0 0 22px;padding:0;list-style:none;border-bottom:2px solid var(--ua-fg)}
.ua-steps li{flex:1;padding:0 0 10px;font:600 12px/1.2 Roboto,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ua-mute)}
.ua-steps li[aria-current="step"]{color:var(--ua-fg);font-weight:900}
.ua-steps li span{display:inline-block;min-width:1.6em}
@media (max-width:520px){.ua-steps li:not([aria-current="step"]){display:none}}

.ua-h{margin:0 0 14px;font:900 24px/1.2 Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.01em;color:var(--ua-fg)}
.ua-app [tabindex="-1"]:focus,.ua-h:focus{outline:none}
.ua-sub{margin:0 0 16px;color:var(--ua-mute)}
.ua-muted{color:var(--ua-mute)}

.ua-btn,.ua-app button{font:inherit}
.ua-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid var(--ua-fg);background:var(--ua-fg);color:var(--ua-bg);font-weight:700;cursor:pointer;border-radius:0;text-decoration:none}
.ua-btn:hover{opacity:.88}
.ua-btn[disabled]{opacity:.45;cursor:not-allowed}
.ua-btn-ghost{background:var(--ua-bg);color:var(--ua-fg)}
.ua-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

.ua-app :focus-visible{outline:3px solid var(--ua-fg);outline-offset:3px}

/* servicios */
.ua-services{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ua-service{width:100%;text-align:left;padding:16px 18px;border:1px solid var(--ua-fg);background:var(--ua-bg);color:var(--ua-fg);cursor:pointer;border-radius:0;min-height:44px}
.ua-service:hover{background:var(--ua-soft)}
.ua-service strong{display:block;font:900 17px/1.3 Roboto,Helvetica,Arial,sans-serif}
.ua-service small{display:block;margin-top:4px;color:var(--ua-mute);font-size:14px}
.ua-pill{display:inline-block;margin-right:6px;padding:1px 8px;border:1px solid currentColor;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.02em}

/* calendario */
.ua-cal-wrap{display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:640px){.ua-cal-wrap{grid-template-columns:1.1fr .9fr}}
.ua-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ua-cal-head h3{margin:0;font:900 17px/1.2 Roboto,Helvetica,Arial,sans-serif;text-transform:capitalize}
.ua-nav{width:44px;height:44px;border:1px solid var(--ua-fg);background:var(--ua-bg);color:var(--ua-fg);cursor:pointer;font-size:20px;line-height:1;border-radius:0}
.ua-nav[disabled]{opacity:.35;cursor:not-allowed}
.ua-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ua-dow{text-align:center;font:600 12px/2 Roboto,Helvetica,Arial,sans-serif;color:var(--ua-mute);text-transform:uppercase}
.ua-day{min-height:44px;border:1px solid var(--ua-line);background:var(--ua-bg);color:var(--ua-fg);cursor:pointer;font-weight:600;border-radius:0}
.ua-day[disabled]{color:var(--ua-mute);opacity:.45;cursor:default;border-color:transparent;background:transparent;font-weight:400}
.ua-day:not([disabled]){border-color:var(--ua-fg)}
.ua-day:not([disabled]):hover{background:var(--ua-soft)}
.ua-day[aria-pressed="true"],.ua-day[aria-pressed="true"]:hover{background:var(--ua-fg);color:var(--ua-bg)}
.ua-blank{min-height:44px}
.ua-times h3{margin:0 0 10px;font:900 17px/1.2 Roboto,Helvetica,Arial,sans-serif}
.ua-times h3::first-letter{text-transform:uppercase}
.ua-timelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:0;padding:0;list-style:none;max-height:340px;overflow:auto}
.ua-time{width:100%;min-height:44px;border:1px solid var(--ua-fg);background:var(--ua-bg);color:var(--ua-fg);font-weight:700;cursor:pointer;border-radius:0}
.ua-time:hover{background:var(--ua-soft)}
.ua-time[aria-pressed="true"],.ua-time[aria-pressed="true"]:hover{background:var(--ua-fg);color:var(--ua-bg)}
.ua-tz{margin-top:16px;font-size:14px;color:var(--ua-mute)}
.ua-tz select{max-width:100%;margin-left:6px;min-height:36px;border:1px solid var(--ua-fg);background:var(--ua-bg);color:var(--ua-fg);font:inherit;border-radius:0}

/* formulario */
.ua-field{margin:0 0 16px}
.ua-field label{display:block;margin-bottom:6px;font-weight:700}
.ua-field label small{font-weight:400;color:var(--ua-mute)}
.ua-field input[type=text],.ua-field input[type=email],.ua-field input[type=tel],.ua-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ua-fg);background:var(--ua-bg);color:var(--ua-fg);font:inherit;border-radius:0}
.ua-field textarea{min-height:96px;resize:vertical}
.ua-check{display:flex;gap:10px;align-items:flex-start}
.ua-check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--ua-fg);flex:none}
.ua-check label{margin:0;font-weight:400}
.ua-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ua-error{margin:0 0 16px;padding:12px 14px;border:2px solid var(--ua-fg);background:var(--ua-soft);font-weight:700}
.ua-summary{margin:0 0 18px;padding:14px 16px;background:var(--ua-soft);border-left:4px solid var(--ua-fg)}
.ua-summary p{margin:2px 0}

/* resultado */
.ua-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 18px}
.ua-dl dt{font:600 12px/1.8 Roboto,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ua-mute)}
.ua-dl dd{margin:0;overflow-wrap:anywhere}
.ua-dl a{color:var(--ua-fg);font-weight:700}
.ua-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.ua-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--ua-fg);color:var(--ua-fg);font-weight:700;text-decoration:none}
.ua-links a:hover{background:var(--ua-soft)}
.ua-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:no-preference){.ua-step{animation:uafade .18s ease-out}@keyframes uafade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media print{.ua-actions,.ua-links{display:none}}
