/* Capa 11 · Ajuste de altura del carrusel y pasos territoriales en celular.
   No modifica mapas, base de datos, filtros, permisos o funcionamiento de publicación. */

/* Las páginas de cuatro tarjetas no fuerzan la tarjeta solitaria de la última página
   a ocupar la altura completa de los grupos anteriores. */
body.v21-quality #reclamos #cards .report-cards-track{
  align-items:flex-start!important;
}
body.v21-quality #reclamos #cards .report-cards-page{
  align-content:start!important;
  align-items:start!important;
  grid-auto-rows:max-content!important;
}
body.v21-quality #reclamos #cards .report-cards-page .card{
  height:auto!important;
  min-height:0!important;
  align-self:start!important;
}

/* El explorador escritorio existente conserva sus tres columnas. */
#territorios .mobile-territory-flow{display:none!important}
@media(max-width:760px){
  body.v21-quality #territorios .mobile-territory-flow{
    display:block!important;
    margin:0 0 14px;
  }
  body.v21-quality #territorios .territory-browser{
    padding:clamp(12px,3.8vw,18px)!important;
  }
  body.v21-quality #territorios .territory-browser-title{
    gap:8px!important;
    margin-bottom:12px!important;
  }
  body.v21-quality #territorios .territory-browser-title h3{
    font-size:clamp(19px,5.2vw,24px)!important;
  }
  body.v21-quality #territorios .territory-browser-title p{
    font-size:12px!important;
    line-height:1.5!important;
  }
  /* Búsqueda de departamento solo cuando se elige departamento. */
  body.v21-quality #territorios .territory-browser:not([data-mobile-stage="1"]) .territory-browser-title .territory-search-label{
    display:none!important;
  }
  body.v21-quality #territorios .mobile-territory-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:12px 0 15px;
  }
  body.v21-quality #territorios .mobile-territory-steps button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:0;
    min-height:64px;
    padding:9px 3px;
    border-radius:12px;
    font:750 clamp(10px,2.85vw,12px)/1.25 system-ui,sans-serif;
    text-align:center;
    background:#182f40;
    color:#c4d6e4;
    border:1px solid #3a5b69;
    cursor:pointer;
    touch-action:manipulation;
  }
  body.v21-quality #territorios .mobile-territory-steps button span{
    display:grid;
    place-items:center;
    height:23px;
    width:23px;
    border-radius:50%;
    font-weight:850;
    background:#284559;
    color:#f2f6ff;
  }
  body.v21-quality #territorios .mobile-territory-steps button[aria-current="step"]{
    background:#4b256d;
    border-color:#c88df6;
    color:#fff;
    box-shadow:0 0 0 2px #9b3fcc26;
  }
  body.v21-quality #territorios .mobile-territory-steps button[aria-current="step"] span{
    background:#d49eeb;
    color:#2b0f42;
  }
  body.v21-quality #territorios .mobile-territory-steps button:disabled{
    opacity:.51;
    cursor:not-allowed;
  }
  body.v21-quality #territorios .mobile-territory-instructions{
    border:1px solid #3e5f70;
    border-radius:12px;
    padding:13px;
    margin-bottom:12px;
    background:#0d2939;
    color:#e8f3fa;
  }
  body.v21-quality #territorios [data-mobile-territory-current]{
    display:inline-flex;
    margin-bottom:5px;
    color:#e2b4fb;
    font:850 11px/1.2 system-ui,sans-serif;
    letter-spacing:.04em;
  }
  body.v21-quality #territorios [data-mobile-territory-heading]{
    color:#f5f7ff;
    font:800 clamp(17px,4.5vw,20px)/1.25 system-ui,sans-serif;
    margin:0 0 5px;
    letter-spacing:-.02em;
  }
  body.v21-quality #territorios [data-mobile-territory-help]{
    font:500 12px/1.55 system-ui,sans-serif;
    color:#c9dce9;
    margin:0;
  }
  /* Es la misma lista de botones departamentales/municipales/barrios,
     pero solo se presenta una columna a la vez. */
  body.v21-quality #territorios .territory-columns{
    display:block!important;
    width:100%;
  }
  body.v21-quality #territorios .territory-columns>.territory-col{
    display:none!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box;
    padding:9px!important;
    margin:0!important;
  }
  body.v21-quality #territorios .territory-browser[data-mobile-stage="1"] .territory-columns>.territory-col:nth-child(1),
  body.v21-quality #territorios .territory-browser[data-mobile-stage="2"] .territory-columns>.territory-col:nth-child(2),
  body.v21-quality #territorios .territory-browser[data-mobile-stage="3"] .territory-columns>.territory-col:nth-child(3){
    display:block!important;
  }
  body.v21-quality #territorios .territory-items{
    min-height:0!important;
    max-height:360px!important;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  body.v21-quality #territorios .territory-choice{
    min-height:49px!important;
    padding:12px 11px!important;
    font-size:13px!important;
    line-height:1.35!important;
    touch-action:manipulation;
  }
  body.v21-quality #territorios .territory-row-label small{font-size:11px;line-height:1.4}
  body.v21-quality #territorios .mobile-territory-prev{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:9px 12px;
    margin:12px 0 7px;
    border-radius:10px;
    border:1px solid #88669d;
    background:#352543;
    color:#faf1ff;
    font:750 12px/1.35 system-ui,sans-serif;
    cursor:pointer;
    touch-action:manipulation;
  }
  body.v21-quality #territorios .mobile-territory-prev[hidden]{display:none!important}
  body.v21-quality #territorios .mobile-territory-summary{
    display:block;
    margin:12px 0 0;
    padding:10px 12px;
    background:#183445;
    border:1px solid #3f667b;
    border-radius:10px;
    color:#c9e1ef;
    font:650 12px/1.6 system-ui,sans-serif;
    overflow-wrap:anywhere;
  }
  body.v21-quality #territorios .mobile-territory-summary strong{color:#f5f9ff}
  body.v21-quality #territorios .mobile-territory-steps button:focus-visible,
  body.v21-quality #territorios .mobile-territory-prev:focus-visible{
    outline:3px solid #cf8ffc;
    outline-offset:3px;
  }
  body.v21-quality #territorios .territory-trail{
    margin-top:9px;
    font-size:11px;
  }
  /* Tema claro: contrastes explícitos, sin texto blanco sobre fondo blanco. */
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-steps button{
    background:#f0f5fa;
    border-color:#c9dae8;
    color:#33485c;
  }
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-steps button span{
    background:#dce8f4;
    color:#385066;
  }
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-steps button[aria-current="step"]{
    color:#4b1a70;
    background:#f3e7ff;
    border-color:#aa61da;
  }
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-steps button[aria-current="step"] span{
    color:#fff;
    background:#8930c3;
  }
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-instructions{
    background:#edf6fc;
    border-color:#c5dde9;
  }
  body.v21-quality[data-theme="light"] #territorios [data-mobile-territory-current]{color:#743394}
  body.v21-quality[data-theme="light"] #territorios [data-mobile-territory-heading]{color:#203a4a}
  body.v21-quality[data-theme="light"] #territorios [data-mobile-territory-help]{color:#435e6e}
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-prev{
    background:#f1e8f9;
    color:#56306f;
    border-color:#c8a6da;
  }
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-summary{
    background:#f0f6fa;
    border-color:#c7dce7;
    color:#365466;
  }
  body.v21-quality[data-theme="light"] #territorios .mobile-territory-summary strong{color:#282b4a}
}
@media(prefers-reduced-motion:reduce){
 body.v21-quality #territorios .mobile-territory-steps button{transition:none!important}
}