/* Auto agenda en 3 pasos (/agenda-tu-cita/) — Brand DNA: aire, tipografía, rosa solo como acento. */
.aa{
  --aa-ink:#0a0a0a; --aa-mute:rgba(10,10,10,.56); --aa-line:rgba(10,10,10,.12); --aa-soft:#f7f5f2; --aa-rosa:#e691b7;
  width:100%; max-width:640px; margin:8px auto 0; text-align:left; container-type:inline-size; color:var(--aa-ink); font-family:var(--font-sans);
}
.aa *{ box-sizing:border-box; }
.aa button{ font:inherit; color:inherit; }

/* Pasos */
.aa-pasos{ display:flex; justify-content:center; gap:22px; margin:0 0 26px; padding:0; list-style:none;
  font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--aa-mute); }
.aa-pasos li{ position:relative; padding:0 0 8px; }
.aa-pasos li::after{ content:""; position:absolute; left:0; right:.16em; bottom:0; height:1px; background:var(--aa-rosa);
  transform:scaleX(0); transition:transform .45s cubic-bezier(.65,0,.35,1); }
.aa-pasos li.is-on{ color:var(--aa-ink); }
.aa-pasos li.is-on::after{ transform:scaleX(1); }
.aa-pasos li.is-ok{ color:var(--aa-ink); opacity:.7; }

.aa-h{ font-family:var(--font-serif); font-weight:500; font-size:clamp(24px,3.2vw,30px); line-height:1.15; text-align:center; margin:0 0 6px; outline:none; }
.aa-p{ text-align:center; font-size:14px; line-height:1.6; color:var(--aa-mute); margin:0 0 22px; text-wrap:balance; }
.aa-volver{ display:inline-block; background:none; border:0; padding:6px 0; margin:0 0 14px; cursor:pointer;
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--aa-mute); }
.aa-volver:hover{ color:var(--aa-ink); }

  background:#fff; border:1px solid var(--aa-line); border-radius:14px; cursor:pointer; transition:border-color .3s ease, background .3s ease; }
  display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-size:20px; color:var(--aa-mute); }

/* Paso 2: horario */
.aa-mod{ display:flex; justify-content:center; gap:8px; margin:0 0 18px; }
.aa-mod button, .aa-dias button, .aa-horas button, .aa-pagos button{
  background:#fff; border:1px solid var(--aa-line); cursor:pointer; transition:border-color .25s ease, background .25s ease, color .25s ease; }
.aa-mod button{ border-radius:999px; padding:9px 16px; font-size:13px; }
.aa-mod button[aria-pressed="true"], .aa-dias button[aria-pressed="true"]{ background:var(--aa-ink); border-color:var(--aa-ink); color:#fff; }
.aa-dias{ display:flex; gap:8px; overflow-x:auto; padding:2px 2px 10px; margin:0 -2px 8px; scroll-snap-type:x proximity; scrollbar-width:thin; }
.aa-dias button{ flex:0 0 auto; width:62px; padding:10px 0 9px; border-radius:14px; text-align:center; scroll-snap-align:start; }
.aa-dias b{ display:block; font-family:var(--font-serif); font-weight:500; font-size:22px; line-height:1; margin-top:4px; }
.aa-dias span{ display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.aa-dia-largo{ text-align:center; font-size:13px; color:var(--aa-mute); margin:6px 0 12px; }
.aa-horas{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
@container (min-width:520px){ .aa-horas{ grid-template-columns:repeat(4,1fr); } }
.aa-horas button{ position:relative; padding:14px 4px; border-radius:12px; font-size:14px; }
.aa-horas button:hover, .aa-horas button:focus-visible, .aa-dias button:hover, .aa-mod button:hover{ border-color:var(--aa-ink); outline:none; }
.aa-ultimo{ display:block; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#b4527f; margin-top:3px; }

/* Paso 3: datos */
.aa-resumen{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; margin:0 0 18px;
  background:var(--aa-soft); border-radius:14px; font-size:14px; line-height:1.45; }
.aa-resumen b{ font-family:var(--font-serif); font-weight:500; font-size:18px; display:block; }
.aa-resumen button{ background:none; border:0; padding:4px 0; cursor:pointer; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--aa-mute); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.aa-campo{ display:block; margin:0 0 14px; }
.aa-campo span{ display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 6px; color:var(--aa-mute); }
.aa-campo input, .aa-campo select, .aa-campo textarea{ width:100%; padding:14px; font:inherit; font-size:16px; color:var(--aa-ink);
  background:#fff; border:1px solid var(--aa-line); border-radius:12px; outline:none; transition:border-color .25s ease; }
.aa-campo input:focus, .aa-campo select:focus, .aa-campo textarea:focus{ border-color:var(--aa-ink); }
.aa-campo .aa-err{ display:block; text-transform:none; letter-spacing:0; color:#b00020; font-size:13px; margin:6px 0 0; }
.aa-fila{ display:grid; grid-template-columns:1fr; gap:0 12px; }
@container (min-width:520px){ .aa-fila{ grid-template-columns:1fr 1fr; } }
.aa-trampa{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.aa-ok{ display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; color:var(--aa-mute); margin:4px 0 18px; cursor:pointer; }
.aa-ok input{ margin:3px 0 0; width:18px; height:18px; accent-color:var(--aa-ink); flex:0 0 auto; }
.aa-aviso{ font-size:12px; line-height:1.55; color:var(--aa-mute); margin:-8px 0 18px; }
.aa-aviso summary{ cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.aa-aviso p{ margin:8px 0 0; }

.aa-btn{ display:flex; width:100%; align-items:center; justify-content:center; gap:8px; padding:16px 22px; border-radius:999px; cursor:pointer;
  background:var(--aa-ink); color:#fff !important; border:1px solid var(--aa-ink); font-size:14px; font-weight:500; letter-spacing:.12em;
  text-transform:uppercase; text-decoration:none; transition:opacity .3s ease; }
.aa-btn:hover{ opacity:.86; }
.aa-btn[disabled]{ opacity:.5; cursor:wait; }
.aa-btn--linea{ background:#fff; color:var(--aa-ink) !important; }
.aa-nota{ text-align:center; font-size:12px; line-height:1.55; color:var(--aa-mute); margin:14px 0 0; }
.aa-nota a{ color:inherit; }
.aa-error{ margin:0 0 16px; padding:12px 14px; border-radius:12px; background:#fff3f5; color:#8a1c3c; font-size:14px; line-height:1.5; }

/* Paso 4: confirmación */
.aa-listo{ text-align:center; }
.aa-sello{ display:inline-block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; padding:0 0 8px; margin:0 0 14px; border-bottom:1px solid var(--aa-rosa); }
.aa-cuando{ font-family:var(--font-serif); font-size:clamp(22px,3vw,26px); line-height:1.25; margin:4px 0 4px; }
.aa-pagos{ display:grid; gap:8px; margin:20px 0 6px; text-align:left; }
.aa-pagos button{ display:flex; justify-content:space-between; align-items:center; gap:10px; width:100%; padding:15px 16px; border-radius:12px; font-size:14px; text-align:left; }
.aa-pagos button:hover, .aa-pagos button:focus-visible{ border-color:var(--aa-ink); outline:none; }
.aa-pagos button small{ color:var(--aa-mute); font-size:12px; }
.aa-acciones{ display:grid; gap:10px; margin:22px 0 0; }
.aa-visita{ display:block; margin:18px auto 0; padding:16px; border:1px dashed var(--aa-line); border-radius:14px; font-size:13px; line-height:1.5; color:var(--aa-mute); text-decoration:none; }
.aa-visita b{ display:block; color:var(--aa-ink); font-weight:500; letter-spacing:.06em; }

.aa-cargando{ text-align:center; color:var(--aa-mute); font-size:14px; padding:30px 0; }
.aa-paso{ animation:aa-in .45s ease both; }
@keyframes aa-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .aa-paso{ animation:none; } .aa-pasos li::after{ transition:none; } }

/* La agenda ocupa todo el ancho de su columna (sus contenedores centran y encogen a sus hijos) */
#Aplicacion_de_agendamiento{ width:100%; max-width:640px; align-self:center; }
.stack.center:has(> #Aplicacion_de_agendamiento), .stack.center:has(> .stack.center > #Aplicacion_de_agendamiento){ align-self:stretch; width:100%; }
.aa{ align-self:stretch; }
.aa-pasos li{ white-space:nowrap; }
@container (max-width:420px){ .aa-pasos{ gap:14px; font-size:10px; letter-spacing:.1em; } }


/* ===== Paso 1: asesoría completa (recomendada) + áreas ===== */
.aa-reco{ position:relative; display:block; width:100%; text-align:left; cursor:pointer; padding:22px 20px 20px; border-radius:18px; border:1px solid var(--aa-ink);
  background:var(--aa-ink); color:#fff; transition:transform .35s cubic-bezier(.65,0,.35,1), box-shadow .35s ease; }
.aa-reco:hover, .aa-reco:focus-visible{ transform:translateY(-2px); box-shadow:0 14px 30px -18px rgba(0,0,0,.55); outline:none; }
.aa-reco .aa-ico{ display:block; margin:0 0 12px; color:var(--aa-rosa); }
.aa-reco__tag{ position:absolute; top:18px; right:18px; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--aa-rosa);
  border-bottom:1px solid var(--aa-rosa); padding-bottom:3px; }
.aa-reco__t{ display:block; font-family:var(--font-serif); font-weight:500; font-size:clamp(22px,3vw,26px); line-height:1.1; margin:0 0 6px; }
.aa-reco__s{ display:block; font-size:13px; line-height:1.55; color:rgba(255,255,255,.72); max-width:46ch; }
.aa-reco--fila{ display:flex; gap:14px; align-items:flex-start; padding:16px 16px 16px 16px; }
.aa-reco--fila .aa-ico{ flex:0 0 auto; margin:2px 0 0; }
.aa-reco--fila .aa-reco__t{ font-size:20px; padding-right:96px; }
.aa-o{ display:flex; align-items:center; gap:14px; margin:22px 0 16px; color:var(--aa-mute); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.aa-o::before, .aa-o::after{ content:""; flex:1; height:1px; background:var(--aa-line); }
.aa-areas{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:0; list-style:none; }
@container (min-width:560px){ .aa-areas{ grid-template-columns:repeat(3,1fr); } }
.aa-areas button{ width:100%; height:100%; display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:16px 14px 14px; text-align:left; cursor:pointer;
  background:#fff; border:1px solid var(--aa-line); border-radius:16px; transition:border-color .3s ease, background .3s ease, transform .35s cubic-bezier(.65,0,.35,1); }
.aa-areas button:hover, .aa-areas button:focus-visible{ border-color:var(--aa-ink); background:var(--aa-soft); transform:translateY(-2px); outline:none; }
.aa-areas .aa-ico{ margin:0 0 10px; color:var(--aa-ink); }
.aa-area__t{ display:block; font-family:var(--font-serif); font-size:19px; line-height:1.12; }
.aa-area__s{ display:block; font-size:12px; line-height:1.4; color:var(--aa-mute); margin-top:3px; }

/* ===== Paso 2: rostro interactivo, chips, barra ===== */
.aa-rostro{ position:relative; width:min(250px,66%); margin:6px auto 8px; aspect-ratio:240 / 300; color:rgba(10,10,10,.32); }
.aa-cara{ position:absolute; inset:0; width:100%; height:100%; }
.aa-dot{ position:absolute; width:44px; height:44px; margin:-22px 0 0 -22px; padding:0; border:0; background:none; cursor:pointer; border-radius:50%; }
.aa-dot::before{ content:""; position:absolute; left:50%; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%;
  background:#fff; border:1.5px solid var(--aa-rosa); transition:transform .3s ease, background .3s ease, box-shadow .3s ease; }
.aa-dot::after{ content:""; position:absolute; left:50%; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; border:1px solid var(--aa-rosa);
  opacity:0; animation:aa-pulso 2.8s ease-out infinite; }
.aa-dot:hover::before, .aa-dot:focus-visible::before{ transform:scale(1.25); }
.aa-dot:focus-visible{ outline:none; }
.aa-dot.is-open::before{ transform:scale(1.35); box-shadow:0 0 0 4px rgba(230,145,183,.22); }
.aa-dot.is-sel::before{ background:var(--aa-rosa); }
.aa-dot.is-sel::after{ animation:none; }
@keyframes aa-pulso{ 0%{ transform:scale(1); opacity:.7; } 70%,100%{ transform:scale(2.4); opacity:0; } }
.aa-hint{ text-align:center; font-size:13px; color:var(--aa-mute); margin:4px 0 14px; }
.aa-zona{ padding:14px 14px 12px; margin:0 0 6px; background:var(--aa-soft); border-radius:16px; animation:aa-in .35s ease both; }
.aa-zona__t, .aa-grupo__t{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--aa-mute); margin:0 0 10px; }
.aa-zona__t{ color:var(--aa-ink); }
.aa-grupo{ margin:18px 0 0; }
.aa-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.aa-chip{ padding:10px 14px; border-radius:999px; background:#fff; border:1px solid var(--aa-line); font-size:13.5px; line-height:1.25; text-align:left; cursor:pointer;
  transition:border-color .25s ease, background .25s ease, color .25s ease; }
.aa-chip:hover, .aa-chip:focus-visible{ border-color:var(--aa-ink); outline:none; }
.aa-chip[aria-pressed="true"]{ background:var(--aa-ink); border-color:var(--aa-ink); color:#fff; }
.aa-chip[aria-pressed="true"]::before{ content:"✓ "; color:var(--aa-rosa); }
.aa-barra{ position:sticky; bottom:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px -4px 0; padding:12px 12px 12px 16px;
  background:rgba(255,255,255,.94); backdrop-filter:blur(8px); border:1px solid var(--aa-line); border-radius:18px; box-shadow:0 -10px 30px -22px rgba(0,0,0,.5); animation:aa-in .3s ease both; }
.aa-barra[hidden]{ display:none; }
.aa-barra__t{ margin:0; min-width:0; font-size:12px; line-height:1.4; color:var(--aa-mute); }
.aa-barra__t b{ display:block; color:var(--aa-ink); font-size:13px; font-weight:600; }
.aa-barra__t span{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:34ch; }
.aa-barra .aa-btn{ width:auto; flex:0 0 auto; padding:13px 24px; }
.aa-nota-mod{ text-align:center; font-size:13px; color:var(--aa-mute); margin:0 0 16px; }

/* Pasos: cuatro caben en una línea */
.aa-pasos{ gap:16px; }
@container (max-width:460px){ .aa-pasos{ gap:10px; font-size:10px; letter-spacing:.06em; } }
@container (max-width:340px){ .aa-pasos{ gap:7px; font-size:9.5px; letter-spacing:.03em; } }
@media (prefers-reduced-motion: reduce){ .aa-dot::after{ animation:none; } .aa-reco, .aa-areas button{ transition:none; } }
.aa .aa-reco{ color:#fff; }
.aa .aa-areas button{ color:var(--aa-ink); }
.aa-areas{ grid-template-columns:repeat(2, minmax(0,1fr)); }
@container (min-width:560px){ .aa-areas{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
.aa-area__t{ overflow-wrap:break-word; hyphens:auto; }
@container (max-width:420px){ .aa-areas button{ padding:14px 12px 12px; } .aa-area__t{ font-size:17px; } .aa-reco--fila .aa-reco__t{ padding-right:0; margin-top:16px; } }

/* ===================================================================
   Ventana a pantalla completa (estilo app) + botón de la página
   =================================================================== */
.aa-abrir-wrap{ width:100%; max-width:420px; margin:18px auto 6px; text-align:center; }
.aa-abrir{ display:flex; align-items:center; justify-content:center; gap:12px; width:100%; padding:19px 26px; border-radius:999px; cursor:pointer;
  background:#0a0a0a; color:#fff; border:1px solid #0a0a0a; font:500 14px/1 var(--font-sans); letter-spacing:.16em; text-transform:uppercase;
  transition:transform .35s cubic-bezier(.65,0,.35,1), box-shadow .35s ease; }
.aa-abrir:hover, .aa-abrir:focus-visible{ transform:translateY(-2px); box-shadow:0 16px 30px -18px rgba(0,0,0,.6); outline:none; }
.aa-abrir span{ color:#e691b7; font-size:18px; letter-spacing:0; }
.aa-abrir-sub{ margin:12px 0 0; font-size:12.5px; line-height:1.5; color:rgba(10,10,10,.56); }
.aa-abrir-sub a{ color:inherit; text-underline-offset:3px; }

html.aa-bloqueada, html.aa-bloqueada body{ overflow:hidden !important; }
.aa-app{ position:fixed; inset:0; z-index:2147483000; display:none; flex-direction:column; height:100vh; height:100dvh; width:100%;
  background:#faf6f1; color:#0a0a0a; --aa-soft:#f1ebe4; --aa-line:rgba(10,10,10,.12); animation:aa-app-in .35s cubic-bezier(.22,1,.36,1) both; }
.aa-app:not([hidden]){ display:flex; }
@keyframes aa-app-in{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.aa-app__top{ flex:0 0 auto; display:grid; grid-template-columns:48px 1fr 48px; align-items:center; gap:4px;
  padding:calc(env(safe-area-inset-top, 0px) + 8px) 10px 8px; background:rgba(250,246,241,.96); border-bottom:1px solid var(--aa-line); }
.aa-app__logo{ justify-self:center; height:20px; width:auto; display:block; }
.aa-app__btn{ width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; cursor:pointer;
  background:rgba(10,10,10,.06); color:#0a0a0a; transition:background .25s ease; }
.aa-app__btn:hover, .aa-app__btn:focus-visible{ background:rgba(10,10,10,.12); outline:none; }
.aa-app__body{ flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  padding:18px 18px calc(24px + env(safe-area-inset-bottom, 0px)); }
.aa-app .aa{ max-width:560px; margin:0 auto; }
.aa-app .aa-volver{ display:none; }
.aa-app .aa-pasos{ justify-content:flex-start; margin:0 0 18px; }
.aa-app .aa-h{ text-align:left; font-size:clamp(30px,7vw,40px); line-height:1.08; margin:0 0 8px; }
.aa-app .aa-p{ text-align:left; margin:0 0 20px; }
.aa-app .aa-listo .aa-h, .aa-app .aa-listo .aa-p, .aa-app .aa-listo{ text-align:center; }
.aa-app .aa-areas button, .aa-app .aa-chip, .aa-app .aa-horas button, .aa-app .aa-dias button, .aa-app .aa-mod button, .aa-app .aa-campo input, .aa-app .aa-campo select{ background:#fff; }
.aa-app .aa-chip[aria-pressed="true"], .aa-app .aa-dias button[aria-pressed="true"], .aa-app .aa-mod button[aria-pressed="true"]{ background:#0a0a0a; }
.aa-app .aa-zona, .aa-app .aa-resumen{ background:var(--aa-soft); }

/* Fechas (como en la referencia) y horas en tres columnas */
.aa-app .aa-dias{ gap:8px; padding:2px 0 12px; margin:0 -18px 6px; padding-left:18px; padding-right:18px; }
.aa-app .aa-dias button{ width:66px; padding:11px 0 10px; border-radius:16px; }
.aa-dias small{ display:block; margin-top:3px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.7; }
.aa-app .aa-dia-largo{ text-align:left; font-size:15px; font-weight:500; color:#0a0a0a; margin:8px 0 12px; }
.aa-app .aa-horas{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.aa-app .aa-horas button{ padding:15px 4px; border-radius:14px; font-size:14.5px; }

/* Botón principal siempre a la vista, abajo */
.aa-foot{ position:sticky; bottom:0; z-index:3; margin:0 -18px -4px; padding:14px 18px calc(14px + env(safe-area-inset-bottom, 0px));
  background:linear-gradient(to top, #faf6f1 72%, rgba(250,246,241,0)); }
.aa-app .aa-barra{ margin:18px -6px 0; bottom:calc(8px + env(safe-area-inset-bottom, 0px)); background:rgba(255,255,255,.96); }
.aa-nota--izq{ text-align:left; }
@media (min-width:768px){ .aa-app__body{ padding-top:28px; } .aa-app .aa-pasos{ justify-content:center; } .aa-app .aa-h, .aa-app .aa-p{ text-align:center; } .aa-app .aa-dia-largo{ text-align:center; } }
@media (prefers-reduced-motion: reduce){ .aa-app{ animation:none; } }

/* ===================================================================
   Responsive: celular chico → celular horizontal → tablet → computador
   =================================================================== */
.aa-app__body{ padding-left:max(18px, env(safe-area-inset-left, 0px)); padding-right:max(18px, env(safe-area-inset-right, 0px)); }
.aa-app__top{ padding-left:max(10px, env(safe-area-inset-left, 0px)); padding-right:max(10px, env(safe-area-inset-right, 0px)); }
@media (max-width:359px){
  .aa-app .aa-h{ font-size:28px; }
  .aa-app .aa-horas{ gap:8px; }
  .aa-app .aa-horas button{ font-size:13.5px; padding:13px 2px; }
  .aa-app .aa-dias button{ width:58px; }
  .aa-barra{ flex-wrap:wrap; }
  .aa-barra .aa-btn{ width:100%; }
}
@media (min-width:768px){
  .aa-app .aa{ max-width:680px; }
  .aa-app__body{ padding-top:34px; padding-bottom:44px; padding-left:28px; padding-right:28px; }
  .aa-app__top{ padding-left:24px; padding-right:24px; }
  .aa-app__logo{ height:24px; }
  .aa-app .aa-dias{ margin-left:0; margin-right:0; padding-left:0; padding-right:0; justify-content:center; }
  .aa-app .aa-dias button{ width:78px; }
  .aa-app .aa-horas{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .aa-app .aa-rostro{ width:min(300px,56%); }
  .aa-app .aa-foot{ margin-left:0; margin-right:0; padding-left:0; padding-right:0; }
  .aa-app .aa-foot .aa-btn{ max-width:420px; margin:0 auto; }
  .aa-app .aa-barra{ margin-left:0; margin-right:0; }
  .aa-app .aa-campo input, .aa-app .aa-campo select{ padding:16px; }
}
@media (min-width:1100px){
  .aa-app .aa{ max-width:760px; }
  .aa-app .aa-h{ font-size:46px; }
  .aa-app .aa-horas{ grid-template-columns:repeat(5,minmax(0,1fr)); }
  .aa-app .aa-rostro{ width:min(340px,50%); }
}
/* Celular horizontal o pantallas muy bajas: todo más compacto, sin perder los botones */
@media (max-height:520px){
  .aa-app__top{ padding-top:calc(env(safe-area-inset-top, 0px) + 4px); padding-bottom:4px; }
  .aa-app__btn{ width:38px; height:38px; }
  .aa-app__body{ padding-top:12px; padding-bottom:16px; }
  .aa-app .aa-h{ font-size:26px; margin-bottom:4px; }
  .aa-app .aa-p{ margin-bottom:12px; font-size:13px; }
  .aa-app .aa-pasos{ margin-bottom:10px; }
  .aa-app .aa-reco{ padding:14px 16px; }
  .aa-app .aa-rostro{ width:150px; }
  .aa-app .aa-foot{ padding-top:8px; padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px)); }
  .aa-app .aa-horas{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .aa-app .aa-horas button{ padding:11px 2px; }
}
/* Página: el botón de abrir se adapta */
@media (min-width:768px){ .aa-abrir-wrap{ max-width:460px; } }

/* Tipo + número de documento en una sola fila */
.aa-fila--doc{ grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr); gap:0 12px; }
.aa-campo select{ appearance:none; -webkit-appearance:none; padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%230a0a0a' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; }

/* ===== Días de la próxima semana: sin desplazamiento (siempre se ve hoy y mañana) ===== */
.aa .aa-dias, .aa-app .aa-dias{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; overflow:visible; margin:0 0 8px; padding:2px 0 4px; justify-content:stretch; }
.aa .aa-dias button, .aa-app .aa-dias button{ width:auto; min-width:0; }
@container (min-width:480px){
  .aa .aa-dias, .aa-app .aa-dias{ grid-template-columns:repeat(var(--n,7),minmax(0,1fr)); }
}
.aa-lejos{ text-align:center; font-size:13px; line-height:1.5; color:var(--aa-mute); margin:18px 0 0; }
.aa-lejos button{ background:none; border:0; padding:0; cursor:pointer; color:var(--aa-ink); text-decoration:underline; text-underline-offset:3px; font:inherit; }
