/*!
 * Directorio Pro — estilos de los módulos (móvil primero). Colores neutros semitransparentes: se integran con temas
 * claros y oscuros. El color de acento es el de las tarjetas del directorio (--dpro-accent).
 */
.dpro-mods,.dpro-hub,.dpro-contact,.dpro-social,.dpro-report,.dpro-faq,.dpro-hours,.dpro-actionbar,.dpro-toast,.dpro-dock,.dpro-rail,.dpro-qnav{
    --dpro-accent:#1264b0;
    --dpro-line:rgba(127,127,127,.24);
    --dpro-soft:rgba(127,127,127,.07);
    --dpro-soft-2:rgba(127,127,127,.12);
    --dpro-muted:rgba(127,127,127,1);
    --dpro-ok:#0f8a4b;
    --dpro-bad:#c2331b;
    --dpro-star:#f5a623;
    --dpro-radius:14px;
    box-sizing:border-box;
}
.dpro-mods *,.dpro-hub *,.dpro-contact *,.dpro-social *,.dpro-actionbar *,.dpro-dock *{box-sizing:border-box}
.dpro-mods{margin:28px 0}
.dpro-mods--end{margin-top:36px}
.dpro-i{display:inline-block;vertical-align:-.18em;flex:0 0 auto}

/* Tarjeta */
.dpro-card{
    border:1px solid var(--dpro-line);border-radius:var(--dpro-radius);padding:18px 16px;margin:0 0 22px;
    background:rgba(127,127,127,.025);overflow-wrap:break-word;
}
.dpro-card > h2{margin-top:0;margin-bottom:12px;line-height:1.25}
.dpro-card h3,.dpro-h3{margin:18px 0 8px;font-size:1.05em;line-height:1.3}
.dpro-card p{margin:0 0 12px}
.dpro-card > :last-child{margin-bottom:0}
.dpro-note{font-size:.84em;opacity:.78;line-height:1.5;margin:10px 0 0 !important}
.dpro-muted{opacity:.72;font-size:.92em}
.dpro-badge{
    display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.76em;font-weight:700;
    letter-spacing:.02em;background:var(--dpro-soft-2);vertical-align:middle;white-space:nowrap;
}
.dpro-badge--soft{background:var(--dpro-soft);font-weight:600}
.dpro-tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--dpro-soft-2);font-size:.82em;line-height:1.45}
@media (min-width:600px){.dpro-card{padding:22px 24px}}

/* Botones */
.dpro-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;
    background:var(--dpro-accent);color:#fff !important;text-decoration:none !important;font-weight:700;font-size:.95em;line-height:1.2;
    border:2px solid var(--dpro-accent);cursor:pointer;transition:filter .15s,transform .15s;
}
.dpro-btn:hover{filter:brightness(1.08)}
.dpro-btn:active{transform:translateY(1px)}
.dpro-btn--ghost{background:transparent;color:var(--dpro-accent) !important}
.dpro-btn:focus-visible,.dpro-link:focus-visible,.dpro-pill:focus-visible,.dpro-alt__link:focus-visible,.dpro-social__btn:focus-visible,.dpro-actionbar a:focus-visible,.dpro-actionbar button:focus-visible{
    outline:3px solid var(--dpro-accent);outline-offset:2px;
}
.dpro-link{
    display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:6px 0;color:var(--dpro-accent);
    font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:36px;
}
.dpro-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 6px}
.dpro-actions .dpro-btn{flex:1 1 100%}
@media (min-width:600px){.dpro-actions .dpro-btn{flex:0 0 auto}}

/* Chips */
.dpro-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0 14px;padding:0}
.dpro-chips li{
    display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--dpro-line);
    font-size:.9em;line-height:1.35;margin:0;
}
.dpro-chips--soft li{background:var(--dpro-soft);border-color:transparent}
.dpro-chips li b{font-weight:700;opacity:.8}
.dpro-chips--links li{padding:0;border:0}
.dpro-chips--links a{display:inline-flex;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--dpro-line);text-decoration:none}
.dpro-chips--links a:hover{border-color:var(--dpro-accent)}

/* Redes sociales */
.dpro-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:14px 0 18px}
.dpro-social__label{font-weight:700;font-size:.9em}
.dpro-social__list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.dpro-social__list li{margin:0}
.dpro-social__btn{
    display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 13px;border-radius:999px;
    border:1px solid var(--dpro-line);text-decoration:none !important;font-weight:600;font-size:.9em;line-height:1.2;
    transition:border-color .15s,background .15s;
}
.dpro-social__btn:hover{border-color:var(--dpro-net,var(--dpro-accent));background:var(--dpro-soft)}
.dpro-social__dot{width:10px;height:10px;border-radius:50%;background:var(--dpro-net,var(--dpro-accent));flex:0 0 10px}
.dpro-social__btn--instagram{--dpro-net:#d6286f}.dpro-social__btn--facebook{--dpro-net:#1877f2}.dpro-social__btn--tiktok{--dpro-net:#111}
.dpro-social__btn--youtube{--dpro-net:#e00}.dpro-social__btn--x{--dpro-net:#111}.dpro-social__btn--linkedin{--dpro-net:#0a66c2}
.dpro-social__btn--pinterest{--dpro-net:#e60023}.dpro-social__btn--threads{--dpro-net:#333}.dpro-social__btn--telegram{--dpro-net:#229ed9}
.dpro-social__btn--tripadvisor{--dpro-net:#00a680}.dpro-social__btn--yelp{--dpro-net:#d32323}
.dpro-social__src{flex:1 1 100%;font-size:.8em;opacity:.7}

/* Estrellas (máscara: el relleno muestra la nota exacta) */
.dpro-stars{
    display:inline-block;width:5.5em;height:1.1em;vertical-align:-.15em;
    background:linear-gradient(90deg,var(--dpro-star) var(--dpro-pct,0%),var(--dpro-soft-2) var(--dpro-pct,0%));
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.6 7.2.9-5.3 5 1.4 7.1L12 17.9l-6.4 3.5L7 14.3 1.7 9.3l7.2-.9z'/%3E%3C/svg%3E") left center/1.1em 1.1em repeat-x;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.6 7.2.9-5.3 5 1.4 7.1L12 17.9l-6.4 3.5L7 14.3 1.7 9.3l7.2-.9z'/%3E%3C/svg%3E") left center/1.1em 1.1em repeat-x;
}

/* Opiniones */
.dpro-rv__text p{line-height:1.7}
.dpro-rv__summary{display:grid;gap:16px;margin:16px 0}
@media (min-width:640px){.dpro-rv__summary{grid-template-columns:minmax(180px,240px) 1fr;align-items:center}}
.dpro-rv__score{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 16px;border-radius:12px;background:var(--dpro-soft)}
.dpro-rv__num{font-size:2.4em;font-weight:800;line-height:1;letter-spacing:-.02em}
.dpro-rv__count{flex:1 1 100%;font-size:.9em;opacity:.85}
.dpro-rv__dist ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dpro-rv__dist li{display:grid;grid-template-columns:2.6em 1fr 2.6em;align-items:center;gap:8px;margin:0;font-size:.9em}
.dpro-rv__dist-title{font-size:.86em;font-weight:700;margin:0 0 8px !important;opacity:.85}
.dpro-rv__dist-title .dpro-muted{opacity:.9} /* 1.7: contraste ≥ 4,5:1 (antes .85 × .72) */
.dpro-rv__dist-n{text-align:right;opacity:.8;font-variant-numeric:tabular-nums}
.dpro-bar{display:block;height:8px;border-radius:999px;background:var(--dpro-soft-2);overflow:hidden}
.dpro-bar i{display:block;height:100%;border-radius:999px;background:var(--dpro-star)}
.dpro-rv__topics{margin:6px 0 4px}
.dpro-rv__list{margin-top:18px}
.dpro-rv__list-h{margin-top:0 !important}
.dpro-rv__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px}
.dpro-pill{
    min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid var(--dpro-line);background:transparent;color:inherit;
    font:inherit;font-size:.9em;font-weight:600;cursor:pointer;
}
.dpro-pill[aria-pressed=true]{background:var(--dpro-accent);border-color:var(--dpro-accent);color:#fff}
.dpro-select{min-height:38px;padding:6px 12px;border-radius:10px;border:1px solid var(--dpro-line);background:transparent;color:inherit;font:inherit;font-size:.9em}
.dpro-rv__items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dpro-rv__item{margin:0;padding:14px;border-radius:12px;border:1px solid var(--dpro-line)}
.dpro-rv__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:6px;font-size:.9em}
.dpro-rv__author{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.dpro-rv__quote,.dpro-rv__full{margin:0 0 4px !important;line-height:1.6}
.dpro-rv__reply{display:flex;align-items:center;gap:6px;font-size:.85em;opacity:.8;margin:6px 0 0 !important}
.dpro-rv__meta{font-size:.85em;opacity:.8;margin-top:14px !important}
.dpro-rv__cta{margin:12px 0 0 !important}

/* Tablas (en el móvil cada fila es una tarjeta) */
.dpro-table-wrap{margin:8px 0 6px}
.dpro-table{width:100%;border-collapse:collapse;font-size:.95em;margin:0}
.dpro-table th,.dpro-table td{padding:10px 12px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--dpro-line);overflow-wrap:normal;word-break:normal;hyphens:manual}
.dpro-table thead th{font-size:.8em;text-transform:uppercase;letter-spacing:.03em;opacity:.8;background:var(--dpro-soft);white-space:nowrap}
.dpro-today,.dpro-table--compare td:nth-child(n+2){white-space:nowrap}
.dpro-table--compare td[data-label]:nth-child(3){white-space:normal;min-width:9em}
.dpro-table tbody th{font-weight:700}
.dpro-table tr.is-me{background:var(--dpro-soft)}
@media (max-width:640px){
    .dpro-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .dpro-table,.dpro-table tbody,.dpro-table tr,.dpro-table th,.dpro-table td{display:block;width:100%}
    .dpro-table tr{border:1px solid var(--dpro-line);border-radius:12px;padding:6px 12px;margin:0 0 10px}
    .dpro-table tbody th,.dpro-table td{border:0;padding:6px 0}
    .dpro-table td[data-label]{display:grid;grid-template-columns:6.75em minmax(0,1fr);column-gap:10px;align-items:baseline}
    .dpro-table td[data-label]::before{content:attr(data-label);font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.7;overflow-wrap:anywhere}
    .dpro-table--compare td:nth-child(n){white-space:normal}
}
@media (min-width:641px){.dpro-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
/* Según el ancho real del contenido (tema estrecho, tableta): la comparativa (5 columnas) se compacta y, si el hueco
   es menor, pasa a tarjetas antes de tener que desplazarse; el resto de tablas, cuando el hueco es de móvil.
   Sin soporte de @container, queda el desplazamiento horizontal. */
.dpro-table-wrap{container-type:inline-size}
@container (max-width:760px){
    .dpro-table--compare{font-size:.84em}
    .dpro-table--compare td:nth-child(2){white-space:normal}
    .dpro-table--compare th,.dpro-table--compare td{padding:9px 7px}
    .dpro-table--compare thead th{font-size:.74em;letter-spacing:.01em}
    .dpro-table--compare td[data-label]:nth-child(3){min-width:6.5em}
}
@container (max-width:540px){
    .dpro-table--compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .dpro-table--compare,.dpro-table--compare tbody,.dpro-table--compare tr,.dpro-table--compare th,.dpro-table--compare td{display:block;width:100%}
    .dpro-table--compare tr{border:1px solid var(--dpro-line);border-radius:12px;padding:6px 12px;margin:0 0 10px}
    .dpro-table--compare tbody th,.dpro-table--compare td{border:0;padding:6px 0}
    .dpro-table--compare td[data-label]{display:grid;grid-template-columns:6.75em minmax(0,1fr);column-gap:10px;align-items:baseline}
    .dpro-table--compare td[data-label]::before{content:attr(data-label);font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.7;overflow-wrap:anywhere}
    .dpro-table--compare td:nth-child(n){white-space:normal}
}
@container (max-width:480px){
    .dpro-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .dpro-table,.dpro-table tbody,.dpro-table tr,.dpro-table th,.dpro-table td{display:block;width:100%}
    .dpro-table tr{border:1px solid var(--dpro-line);border-radius:12px;padding:6px 12px;margin:0 0 10px}
    .dpro-table tbody th,.dpro-table td{border:0;padding:6px 0}
    .dpro-table td[data-label]{display:grid;grid-template-columns:6.75em minmax(0,1fr);column-gap:10px;align-items:baseline}
    .dpro-table td[data-label]::before{content:attr(data-label);font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.7;overflow-wrap:anywhere}
}

/* Servicios */
.dpro-services__range{display:flex;align-items:center;gap:8px;margin:12px 0 0 !important}
.dpro-services__features{margin-top:14px}
.dpro-chips li .dpro-i{color:var(--dpro-ok)}

/* Horario en vivo */
.dpro-hours{margin:10px 0 18px}
.dpro-hours__status{
    display:inline-flex;align-items:center;gap:8px;margin:0 0 10px !important;padding:6px 14px;border-radius:999px;
    font-weight:700;font-size:.95em;background:var(--dpro-soft-2);
}
.dpro-hours__status::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
/* El texto conserva el color del tema (legible en temas claros y oscuros); el estado lo marcan el punto y el borde */
.dpro-hours__status.is-open{background:rgba(15,138,75,.12);box-shadow:inset 0 0 0 1px rgba(15,138,75,.45)}
.dpro-hours__status.is-open::before{background:var(--dpro-ok)}
.dpro-hours__status.is-closed{background:rgba(194,51,27,.1);box-shadow:inset 0 0 0 1px rgba(194,51,27,.42)}
.dpro-hours__status.is-closed::before{background:var(--dpro-bad)}
.dpro-hours tr.is-today th,.dpro-hours tr.is-today td{font-weight:700;background:var(--dpro-soft)}
.dpro-today-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--dpro-accent);color:#fff;font-size:.72em;font-weight:700;vertical-align:middle}
.dpro-hours__table{width:100%;border-collapse:collapse}
.dpro-hours__table th,.dpro-hours__table td{padding:8px 10px;border-bottom:1px solid var(--dpro-line);text-align:left}
[data-dpro-today].is-open .dpro-today::before,[data-dpro-today].is-closed .dpro-today::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:.05em}
[data-dpro-today].is-open .dpro-today::before{background:var(--dpro-ok)}
[data-dpro-today].is-closed .dpro-today::before{background:var(--dpro-bad)}

/* Cómo llegar */
.dpro-directions__addr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-weight:600}
.dpro-directions__addr > span{flex:1 1 auto}
.dpro-directions__ctx{line-height:1.6}
.dpro-landmarks{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dpro-landmarks li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin:0;padding:8px 12px;border-radius:10px;background:var(--dpro-soft)}
.dpro-landmarks__name{font-weight:700}
.dpro-landmarks__d{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700}
.dpro-directions__me{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px !important}
.dpro-directions__out{font-weight:700}

/* Alternativas */
.dpro-alt__grid{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.dpro-alt__item{margin:0}
.dpro-alt__link{
    display:flex;flex-direction:column;gap:8px;height:100%;padding:14px;border-radius:12px;border:1px solid var(--dpro-line);
    text-decoration:none !important;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s;
}
.dpro-alt__link:hover{border-color:var(--dpro-accent);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.dpro-alt__name{font-weight:800;line-height:1.3}
.dpro-alt__why{display:flex;flex-wrap:wrap;gap:6px}
.dpro-alt__cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--dpro-accent);font-weight:700;font-size:.9em}
.dpro-alt__all{margin:14px 0 0 !important;font-weight:600}

/* Preguntas frecuentes */
.dpro-faq{margin:26px 0}
.dpro-faq h3{margin:18px 0 6px}
.dpro-faq p{line-height:1.65}

/* Corrección */
.dpro-report{display:flex;align-items:flex-start;gap:8px;font-size:.9em;margin:6px 0 22px;opacity:.9}
.dpro-report .dpro-i{margin-top:.2em}

/* Guías de ciudad */
.dpro-hub{margin:28px 0}
.dpro-hub__about{margin:14px 0}
.dpro-src{font-size:.85em;white-space:nowrap}
.dpro-facts{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));margin:10px 0 0}
.dpro-facts div{padding:10px 12px;border-radius:10px;background:var(--dpro-soft)}
.dpro-facts dt{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;opacity:.75;margin:0}
.dpro-facts dd{margin:2px 0 0;font-weight:700}
.dpro-list{margin:6px 0 10px;padding-left:1.2em}
.dpro-list li{margin:5px 0;line-height:1.55}
.dpro-top:not(#dpro-c),.dpro-list--check:not(#dpro-c){list-style:none;margin:6px 0 10px;padding:0}
.dpro-top:not(#dpro-c) > li,.dpro-list--check:not(#dpro-c) > li{display:block;list-style:none;position:relative;margin:6px 0;padding:0 0 0 2em;background:none;line-height:1.55}
.dpro-top:not(#dpro-c) > li::before,.dpro-top:not(#dpro-c) > li::after,.dpro-list--check:not(#dpro-c) > li::before,.dpro-list--check:not(#dpro-c) > li::after{content:none;display:none}
.dpro-top:not(#dpro-c) > li::marker,.dpro-list--check:not(#dpro-c) > li::marker{content:""}
.dpro-top__n{position:absolute;left:0;top:.12em;display:block;min-width:1.5em;height:1.5em;padding:0 .2em;border-radius:999px;background:var(--dpro-soft);color:inherit;font-size:.82em;font-weight:700;line-height:1.5em;text-align:center}
.dpro-tick{position:absolute;left:.35em;top:.5em;display:block;width:.6em;height:.32em;border-left:2px solid var(--dpro-ok);border-bottom:2px solid var(--dpro-ok);transform:rotate(-45deg)}
.dpro-alt__track:not(#dpro-c) > li,.dpro-alt__grid:not(#dpro-c) > li,.dpro-chips:not(#dpro-c) > li,.dpro-social__list:not(#dpro-c) > li,.dpro-rv__items:not(#dpro-c) > li,.dpro-landmarks:not(#dpro-c) > li,.dpro-channels:not(#dpro-c) > li,.dpro-rv__dist:not(#dpro-c) ul > li,.dpro-local__list:not(#dpro-c) > li,.dpro-ugc__list:not(#dpro-c) > li{list-style:none}
.dpro-alt__track:not(#dpro-c) > li::marker,.dpro-alt__grid:not(#dpro-c) > li::marker,.dpro-chips:not(#dpro-c) > li::marker,.dpro-social__list:not(#dpro-c) > li::marker,.dpro-rv__items:not(#dpro-c) > li::marker,.dpro-landmarks:not(#dpro-c) > li::marker,.dpro-channels:not(#dpro-c) > li::marker,.dpro-rv__dist:not(#dpro-c) ul > li::marker,.dpro-local__list:not(#dpro-c) > li::marker,.dpro-ugc__list:not(#dpro-c) > li::marker{content:""}

/* Contacto */
.dpro-contact{display:grid;gap:0;margin:20px 0}
.dpro-channels{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.dpro-channels li{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:12px;background:var(--dpro-soft)}
.dpro-channels li > span{display:flex;flex-direction:column;min-width:0}
.dpro-channels .dpro-i{color:var(--dpro-accent);margin-top:2px}
.dpro-contact__k{font-size:.78em;text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-weight:700}
.dpro-contact__stats{font-size:1.05em}
.dpro-form__grid{display:grid;gap:14px}
@media (min-width:640px){.dpro-form__grid{grid-template-columns:1fr 1fr}.dpro-field--full{grid-column:1 / -1}}
.dpro-field{margin:0 !important;display:flex;flex-direction:column;gap:6px}
.dpro-field label{font-weight:700;font-size:.92em}
.dpro-field input,.dpro-field select,.dpro-field textarea{
    width:100%;min-height:46px;padding:10px 12px;border-radius:10px;border:1px solid var(--dpro-line);background:transparent;color:inherit;
    font:inherit;font-size:16px;line-height:1.4;
}
.dpro-field textarea{min-height:140px;resize:vertical}
.dpro-field input:focus,.dpro-field select:focus,.dpro-field textarea:focus{outline:3px solid var(--dpro-accent);outline-offset:1px;border-color:var(--dpro-accent)}
.dpro-field [aria-invalid=true]{border-color:var(--dpro-bad);box-shadow:0 0 0 1px var(--dpro-bad)}
.dpro-field select option{color:#111}
.dpro-check{flex-direction:row !important;align-items:flex-start;gap:10px !important}
.dpro-check input{width:22px;min-height:22px;height:22px;flex:0 0 22px;margin:2px 0 0}
.dpro-check label{font-weight:500}
.dpro-hint{font-size:.82em;opacity:.75}
.dpro-req{color:var(--dpro-bad)}
.dpro-form__actions{margin:16px 0 0 !important}
.dpro-form__about{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--dpro-soft);font-weight:600}
.dpro-hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}
.dpro-alert{padding:12px 14px;border-radius:10px;font-weight:600;margin:12px 0 0 !important}
.dpro-alert--ok{background:rgba(15,138,75,.12);border-left:4px solid var(--dpro-ok)}
.dpro-alert--err{background:rgba(194,51,27,.1);border-left:4px solid var(--dpro-bad)}
.dpro-map{margin-top:12px}
.dpro-map__canvas{height:360px;border-radius:12px;overflow:hidden;margin-top:12px;border:1px solid var(--dpro-line)}
@media (max-width:600px){.dpro-map__canvas{height:300px}}

/* Barra de acciones (móvil) */
.dpro-actionbar{display:none}
@media (max-width:782px){
    .dpro-actionbar{
        position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));
        background:rgba(255,255,255,.96);color:#1f2937;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -6px 18px rgba(0,0,0,.08);
        -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    }
    .dpro-actionbar a,.dpro-actionbar button{
        flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;
        border:0;border-radius:10px;background:transparent;color:inherit;text-decoration:none !important;font:inherit;font-size:12px;font-weight:700;cursor:pointer;
    }
    .dpro-actionbar a:first-child{color:var(--dpro-accent)}
    .dpro-actionbar a:active,.dpro-actionbar button:active{background:rgba(0,0,0,.05)}
    html.has-dpro-bar body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:782px) and (prefers-color-scheme:dark){
    .dpro-actionbar{background:rgba(24,24,27,.95);color:#f4f4f5;border-top-color:rgba(255,255,255,.1)}
}

/* Aviso breve */
.dpro-toast{
    position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:9996;padding:10px 16px;border-radius:999px;
    background:#111827;color:#fff;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);
}
.dpro-toast.is-on{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
    .dpro-btn,.dpro-alt__link,.dpro-toast,.dpro-social__btn{transition:none}
    .dpro-alt__link:hover{transform:none}
}
@media print{
    .dpro-dock,.dpro-route,.dpro-alt__nav,.dpro-actionbar,.dpro-toast,.dpro-rv__controls,.dpro-directions__me,.dpro-map,.dpro-report{display:none !important}
    .dpro-card{break-inside:avoid}
}

/* =========================================================================
   1.7 — CAPA DE COMPATIBILIDAD CON EL PLUGIN DE DISEÑO (Diseño / ai-home-designer)
   -------------------------------------------------------------------------
   El plugin de diseño estiliza de forma genérica todo el contenido (.the-content / .entry-content):
   · todo <th> con el color primario y texto claro, y los enlaces con el color de enlace (≈ primario): dentro de
     un <th> el texto del enlace quedaba invisible y solo se veía el subrayado;
   · su JavaScript recorre todas las <table> del contenido (etiquetas, «Abierto ahora», filtro…);
   · <img> con height:auto y bordes redondeados; enlaces subrayados con especificidad (0,5,2).
   Directorio Pro no toca ese plugin: sus bloques nuevos no usan <table> (rejilla con roles ARIA) y, donde un
   estilo genérico rompe un componente, se corrige SOLO en ese componente con un selector :not(#dpro-c), que gana
   por especificidad sin !important. Cada regla indica qué neutraliza.
   ========================================================================= */

/* El plugin de diseño añade su propio «Abierto/Cerrado» delante de cualquier tabla de horario: en el horario de
   Directorio Pro ya hay un estado en vivo más completo, así que el duplicado no se muestra. */
.dpro-hours > .aihd-open{display:none}

/* Móvil: en las páginas con acción de contacto (Llamar ahora / Ir a tu lugar más cercano) el botón flotante
   «Subir» del plugin de diseño se sustituye por esa acción. */
@media (max-width:760px){
    body.dpro-dock-cta .aihd-top{display:none}
}

/* ---- Comparativa y zonas: rejilla con roles de tabla ---- */
.dpro-cmpx{position:relative;container-type:inline-size;margin:12px 0 6px;font-size:.95em;line-height:1.4;text-align:start;border:1px solid var(--dpro-line);border-radius:14px;overflow:hidden}
.dpro-cmpx{display:grid;grid-template-columns:var(--dpro-cmpx-cols);word-break:normal;overflow-wrap:normal}
/* Cada fila usa las columnas de la rejilla (subgrid): todas alineadas y del ancho de su contenido */
.dpro-cmpx__row{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center;border-top:1px solid var(--dpro-line)}
@supports not (grid-template-columns:subgrid){
    .dpro-cmpx{display:block}
    .dpro-cmpx__row{grid-template-columns:var(--dpro-cmpx-fixed)}
}
.dpro-cmpx__row:first-child{border-top:0}
.dpro-cmpx__row--head{background:var(--dpro-soft-2);font-size:.8em;font-weight:700}
.dpro-cmpx__h,.dpro-cmpx__name,.dpro-cmpx__c{padding:11px 14px;min-width:0}
.dpro-cmpx__h{opacity:.78;line-height:1.25;hyphens:manual}
.dpro-cmpx__name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700;overflow-wrap:anywhere}
.dpro-cmpx__row:not(.dpro-cmpx__row--head):hover{background:var(--dpro-soft)}
.dpro-cmpx__row.is-me{background:var(--dpro-soft);box-shadow:inset 4px 0 0 var(--dpro-accent)}
.dpro-cmpx__me{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--dpro-accent);color:#fff;font-size:.72em;font-weight:700;line-height:1.5;white-space:nowrap}
.dpro-cmpx__k{display:none}
.dpro-cmpx__v{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2px 5px;overflow-wrap:anywhere}
.dpro-cmpx__score{font-weight:800}
.dpro-cmpx__star{color:var(--dpro-star)}
.dpro-cmpx__n{opacity:.7;font-size:.9em}
.dpro-cmpx__na{opacity:.5}
.dpro-cmpx__c--hours .dpro-today,.dpro-cmpx__c--dist .dpro-cmpx__v{white-space:nowrap}
/* Hueco intermedio (tema estrecho o tableta): la rejilla se compacta antes de pasar a tarjetas */
@container (max-width:760px){
    .dpro-cmpx__row{font-size:.9em}
    .dpro-cmpx__h,.dpro-cmpx__name,.dpro-cmpx__c{padding:9px 10px}
}
@container (max-width:540px){
    .dpro-cmpx{display:block;border:0;border-radius:0;overflow:visible}
    .dpro-cmpx__row--head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
    .dpro-cmpx__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;padding:10px 14px;margin:0 0 10px;border:1px solid var(--dpro-line);border-radius:14px}
    .dpro-cmpx__row:first-child{border-top:1px solid var(--dpro-line)}
    .dpro-cmpx__name{grid-column:1 / -1;padding:2px 0 6px;font-size:1.03em}
    .dpro-cmpx__c{display:flex;flex-direction:column;gap:1px;padding:5px 0}
    .dpro-cmpx__c--svc{grid-column:1 / -1}
    .dpro-cmpx__k{display:block;font-size:.74em;font-weight:700;opacity:.78} /* contraste ≥ 4,5:1 también sobre la fila resaltada */
    .dpro-cmpx__c--hours .dpro-today{white-space:normal}
}

/* ---- Opciones similares: tarjetas ---- */
.dpro-alt{container-type:inline-size}
.dpro-alt__track,.dpro-route{text-align:start}
.dpro-alt__top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.dpro-alt__top > h2{margin-bottom:12px}
.dpro-alt__nav{display:flex;gap:8px;flex:0 0 auto;margin-bottom:12px}
.dpro-alt__nav[hidden]{display:none}
.dpro-alt__arrow{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid var(--dpro-line);background:transparent;color:inherit;cursor:pointer;transition:background .15s,border-color .15s}
.dpro-alt__arrow:hover{border-color:var(--dpro-accent)}
.dpro-alt__arrow[data-dir="-1"] .dpro-i{transform:scaleX(-1)}
.dpro-alt__arrow:disabled{opacity:.35;cursor:default}
.dpro-alt__arrow:focus-visible{outline:3px solid var(--dpro-accent);outline-offset:2px}
.dpro-alt__track{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.dpro-alt__item{margin:0;min-width:0}
.dpro-alt__box{position:relative;display:flex;flex-direction:column;height:100%;text-align:start;border:1px solid var(--dpro-line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.55);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dpro-alt__box:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(0,0,0,.35);border-color:var(--dpro-accent)}
.dpro-alt__box:focus-within{outline:3px solid var(--dpro-accent);outline-offset:2px}
.dpro-alt__media{position:relative;aspect-ratio:16 / 10;background:var(--dpro-soft-2);overflow:hidden}
/* :not(#dpro-c) neutraliza «img{height:auto;border-radius}» del contenido del plugin de diseño solo aquí */
.dpro-alt__media img:not(#dpro-c){position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;border-radius:0;transition:transform .5s ease}
.dpro-alt__box:hover .dpro-alt__media img:not(#dpro-c){transform:scale(1.045)}
.dpro-alt__ph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:2em;font-weight:800;letter-spacing:.04em;color:var(--dpro-accent)}
.dpro-alt__dist{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:rgba(17,24,39,.8);color:#fff;font-size:.78em;font-weight:700;line-height:1.3}
.dpro-alt__body{display:flex;flex:1;flex-direction:column;gap:6px;padding:12px 14px 14px}
/* :not(#dpro-c) neutraliza el color y el subrayado genéricos de enlaces del plugin de diseño solo en el título */
.dpro-alt__name:not(#dpro-c){color:inherit;text-decoration:none;font-weight:800;font-size:1.03em;line-height:1.3;transition:color .15s}
.dpro-alt__name::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
.dpro-alt__box:hover .dpro-alt__name:not(#dpro-c){color:var(--dpro-accent)}
.dpro-alt__rate{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:.93em}
.dpro-alt__star{color:var(--dpro-star)}
.dpro-alt__n{opacity:.7;font-size:.92em}
.dpro-alt__svc{font-size:.88em;opacity:.82}
.dpro-alt__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.dpro-alt__chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--dpro-soft-2);font-size:.78em;font-weight:700;line-height:1.5}
.dpro-alt__chip[hidden]{display:none}
.dpro-alt__live::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6}
.dpro-alt__live.is-open::before{background:var(--dpro-ok);opacity:1}
.dpro-alt__live.is-closed::before{background:var(--dpro-bad);opacity:1}
.dpro-alt__why{font-size:.8em;opacity:.75}
.dpro-alt__go{margin-top:auto;padding-top:4px;display:inline-flex;align-items:center;gap:6px;color:var(--dpro-accent);font-size:.88em;font-weight:700}
.dpro-alt__go .dpro-i{transition:transform .2s ease}
.dpro-alt__box:hover .dpro-alt__go .dpro-i{transform:translateX(4px)}
.dpro-alt__hint{display:none;margin:4px 0 0 !important;font-size:.8em;opacity:.7}
@container (max-width:680px){
    .dpro-alt__track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78%,270px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:4px 2px 12px;margin-inline:-2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
    .dpro-alt__item{scroll-snap-align:start}
    .dpro-alt__hint{display:block}
    .dpro-alt__box:hover{transform:none}
    .dpro-alt__nav:not([hidden]){display:none} /* en el móvil se desliza con el dedo; las flechas solo restan espacio al título */
}

/* ---- Cómo llegar: ruta desde la ubicación del visitante ---- */
.dpro-route{margin:16px 0 4px;padding:16px;border-radius:14px;background:var(--dpro-soft);border:1px solid var(--dpro-line)}
.dpro-route__title{margin:0 0 12px !important;font-weight:800}
.dpro-route__ends{display:grid;grid-template-columns:auto minmax(28px,1fr) auto;align-items:center;gap:10px;margin:0 0 14px;font-size:.86em;font-weight:700}
.dpro-route__pt{display:inline-flex;align-items:center;gap:6px;min-width:0}
.dpro-route__pt--dest{color:var(--dpro-accent)}
.dpro-route__pt--dest span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:13em}
.dpro-route__dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.2)}
.dpro-route__line{position:relative;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 11px);opacity:.5}
.dpro-route__km{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);white-space:nowrap;font-size:.95em}
.dpro-route__go{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border:0;border-radius:12px;background:var(--dpro-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s}
.dpro-route__go:hover{filter:brightness(1.08)}
.dpro-route__go:active{transform:translateY(1px)}
.dpro-route__go:focus-visible{outline:3px solid var(--dpro-accent);outline-offset:3px}
.dpro-route__go[aria-busy=true]{cursor:progress;opacity:.8}
.dpro-route__go[hidden]{display:none}
.dpro-route__out{margin-top:2px}
.dpro-route__out[hidden]{display:none}
.dpro-route__sum{font-weight:800;font-size:1.06em;margin:0 0 6px !important}
.dpro-route__text{line-height:1.65}
.dpro-route__acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 0 0 !important}
.dpro-route__privacy{margin-top:12px !important}
/* :not(#dpro-c) neutraliza el texto centrado/justificado genérico del contenido solo en las instrucciones de la ruta */
.dpro-route p:not(#dpro-c),.dpro-cmpx + .dpro-note:not(#dpro-c){text-align:start;hyphens:manual}
@media (min-width:600px){.dpro-route__go{width:auto}}

/* ---- Preguntas frecuentes en dos párrafos ---- */
.dpro-faq__a{margin:0 0 1.1em}
.dpro-faq__a > p{margin:0 0 .7em}
.dpro-faq__a > p:last-child{margin-bottom:0}

/* ---- Barra inferior (móvil): acción principal con anillo RGB sutil ---- */
@property --dpro-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes dpro-ang{to{--dpro-ang:360deg}}
@keyframes dpro-cta-in{0%{transform:translateY(8px) scale(.96);box-shadow:0 0 0 0 rgba(99,102,241,0)}45%{transform:none;box-shadow:0 0 0 7px rgba(99,102,241,.22)}100%{transform:none;box-shadow:0 0 0 0 rgba(99,102,241,0)}}
.dpro-dock{display:none}
@media (max-width:782px){
    .aihd-barra .aihd-barra-i[data-dpro-cta],.dpro-dock .dpro-dock__i[data-dpro-cta]{
        grid-column:span 2;position:relative;isolation:isolate;flex-direction:row;align-self:center;gap:8px;min-height:44px;margin:7px 6px;padding:0 14px;
        border-radius:999px;background:#0b1120;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.01em;text-decoration:none;
        animation:dpro-cta-in 1.1s ease-out .4s 2 both;
    }
    .aihd-barra .aihd-barra-i[data-dpro-cta]::before,.dpro-dock .dpro-dock__i[data-dpro-cta]::before{
        content:"";position:absolute;inset:-2px;z-index:-1;padding:2px;border-radius:inherit;
        background:conic-gradient(from var(--dpro-ang),#ff4d6d,#ffb703,#3ddc84,#22d3ee,#6366f1,#d946ef,#ff4d6d);
        -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
        animation:dpro-ang 5s linear infinite;
    }
    .aihd-barra .aihd-barra-i[data-dpro-cta] svg,.dpro-dock .dpro-dock__i[data-dpro-cta] svg{stroke-width:2.3}
    /* El texto del CTA puede ocupar 2 líneas («Ir a tu lugar más cercano») en lugar de cortarse con «…» */
    .aihd-barra .aihd-barra-i[data-dpro-cta] span,.dpro-dock .dpro-dock__i[data-dpro-cta] span{white-space:normal;overflow:visible;text-overflow:clip;text-align:start;line-height:1.12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
    .aihd-barra .aihd-barra-i[data-dpro-cta="nearest"],.dpro-dock .dpro-dock__i[data-dpro-cta="nearest"]{grid-column:span 3}
    .aihd-barra .aihd-barra-i[data-dpro-cta]:active,.dpro-dock .dpro-dock__i[data-dpro-cta]:active{transform:scale(.97)}
    .aihd-barra .aihd-barra-i[data-dpro-cta][aria-busy=true]::before,.dpro-dock .dpro-dock__i[data-dpro-cta][aria-busy=true]::before{animation-duration:1.2s}
    .dpro-dock{position:fixed;left:0;right:0;bottom:var(--dpro-ad-b,0px);z-index:9980;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch;
        padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);color:#1f2937;
        border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -6px 18px rgba(0,0,0,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
    .dpro-dock__i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:54px;padding:4px 2px;
        border:0;border-radius:10px;background:transparent;color:inherit;text-decoration:none;font:inherit;font-size:11.5px;font-weight:700;line-height:1.15;cursor:pointer}
    .dpro-dock__i span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .dpro-dock__i:focus-visible{outline:3px solid var(--dpro-accent);outline-offset:-3px}
    .dpro-dock-spacer{display:block;height:calc(66px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:782px) and (prefers-color-scheme:dark){
    .dpro-dock{background:rgba(24,24,27,.95);color:#f4f4f5;border-top-color:rgba(255,255,255,.1)}
}
/* Saltos desde la barra (#opiniones, #comparativa): el título no queda debajo de la cabecera fija */
.dpro-card > h2[id],.dpro-alt__top > h2[id]{scroll-margin-top:calc(var(--aihd-cab-h,0px) + 16px)}
/* Navegadores sin consultas de contenedor (iOS 15 y anteriores): mismo cambio según el ancho de pantalla */
@supports not (container-type:inline-size){
    @media (max-width:600px){
        .dpro-cmpx{display:block;border:0;border-radius:0;overflow:visible}
        .dpro-cmpx__row--head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
        .dpro-cmpx__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;padding:10px 14px;margin:0 0 10px;border:1px solid var(--dpro-line);border-radius:14px}
        .dpro-cmpx__name{grid-column:1 / -1;padding:2px 0 6px}
        .dpro-cmpx__c{display:flex;flex-direction:column;gap:1px;padding:5px 0}
        .dpro-cmpx__c--svc{grid-column:1 / -1}
        .dpro-cmpx__k{display:block;font-size:.74em;font-weight:700;opacity:.78}
    }
    @media (max-width:700px){
        .dpro-alt__track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78%,270px);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px}
        .dpro-alt__item{scroll-snap-align:start}
    }
}
@supports not (aspect-ratio:1 / 1){
    .dpro-alt__media{height:0;padding-top:62.5%}
}
@media (prefers-reduced-motion:reduce){
    .aihd-barra .aihd-barra-i[data-dpro-cta],.dpro-dock .dpro-dock__i[data-dpro-cta],
    .aihd-barra .aihd-barra-i[data-dpro-cta]::before,.dpro-dock .dpro-dock__i[data-dpro-cta]::before{animation:none}
    .dpro-alt__box,.dpro-alt__media img:not(#dpro-c),.dpro-alt__go .dpro-i{transition:none}
    .dpro-alt__box:hover{transform:none}
}
/* Con ratón (escritorio estrecho): flechas en lugar del aviso «desliza» */
@media (hover:hover) and (pointer:fine){
    @container (max-width:680px){
        .dpro-alt__hint{display:none}
        .dpro-alt__nav:not([hidden]){display:flex}
    }
}

/* =========================================================================
   1.8 — CAPA PREMIUM: paneles laterales, navegación rápida, barra fija y cristal
   -------------------------------------------------------------------------
   Escala de capas de Directorio Pro (encaja con la del plugin de diseño):
     contenido (auto) < herramientas del diseño (20) < paneles laterales (30) < navegación rápida (40)
     < cabecera del diseño (900) < barra inferior propia (9980) < menú móvil del diseño (9989/9990)
     < aviso breve (9996) < buscador/barra del diseño (9997/9998)
   Todo va en clases dpro-*: no se toca body, a, button ni elementos del tema.
   ========================================================================= */

/* ---- Barra inferior: separador, móvil con o sin barra del diseño, tableta, fija y teclado ---- */
.dpro-dock-spacer{display:none}
@media (max-width:760px){
    .dpro-dock.dpro-dock--design,body.dpro-dock-design .dpro-dock-spacer{display:none}  /* en el móvil manda la barra del diseño */
    /* Barra propia visible: el menú flotante del diseño sube por encima de ella */
    body.dpro-has-dock:not(.dpro-dock-design){--aihd-flot-b:calc(66px + 14px + env(safe-area-inset-bottom,0px))}
    /* 1.8: la barra del diseño no se esconde al bajar en las páginas del directorio */
    body.dpro-dock-fixed .aihd-barra.es-oculta{transform:none}
}
/* Tableta (y pantallas táctiles grandes): píldora flotante compacta */
@media (min-width:783px) and (max-width:1179.98px),(min-width:783px) and (max-width:1366px) and (hover:none){
    .dpro-dock{position:fixed;z-index:9980;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px) + var(--dpro-ad-b,0px));transform:translateX(-50%);
        display:flex;align-items:center;gap:2px;padding:5px;max-width:calc(100vw - 32px);border-radius:999px;color:#1f2937;
        background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.7);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 40px -18px rgba(15,23,42,.45),0 2px 8px -2px rgba(15,23,42,.15);
        -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%)}
    .dpro-dock__i{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:inherit;
        font:inherit;font-size:13px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s}
    .dpro-dock__i:hover{background:rgba(15,23,42,.06)}
    .dpro-dock__i:focus-visible{outline:3px solid var(--dpro-accent);outline-offset:1px}
    .dpro-dock .dpro-dock__i[data-dpro-cta]{position:relative;isolation:isolate;padding:0 18px;background:#0b1120;color:#fff}
    .dpro-dock .dpro-dock__i[data-dpro-cta]::before{content:"";position:absolute;inset:-2px;z-index:-1;padding:2px;border-radius:inherit;
        background:conic-gradient(from var(--dpro-ang),#ff4d6d,#ffb703,#3ddc84,#22d3ee,#6366f1,#d946ef,#ff4d6d);
        -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:dpro-ang 5s linear infinite}
    .dpro-dock-spacer{display:block;height:calc(80px + env(safe-area-inset-bottom,0px))}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .dpro-dock{background:#fff !important}
}
/* Mientras se escribe (teclado en pantalla) la barra se aparta */
html.dpro-kb .dpro-dock,html.dpro-kb .dpro-dock-spacer{display:none}
@media (max-width:760px){html.dpro-kb body.dpro-has-dock .aihd-barra{transform:translateY(110%)}}
/* Al desplazar, la barra propia gana cuerpo (cristal más denso) */
html.dpro-scrolled .dpro-dock{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 -1px 0 rgba(15,23,42,.06),0 18px 44px -16px rgba(15,23,42,.5)}

/* ---- Cristal: base reutilizable (solo en elementos de Directorio Pro) ---- */
.dpro-glass{
    --g-a:.66;--g-blur:14px;--g-tint:var(--aihd-p,var(--dpro-accent,#1264b0));
    position:relative;isolation:isolate;color:#14201c;border-radius:22px;
    background-color:rgba(255,255,255,var(--g-a));
    background-image:linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,255,255,.08) 36%,rgba(255,255,255,0) 64%,rgba(255,255,255,.16));
    -webkit-backdrop-filter:blur(var(--g-blur)) saturate(165%);backdrop-filter:blur(var(--g-blur)) saturate(165%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.8),          /* reflejo especular del canto superior */
        inset 0 -1px 0 rgba(15,23,42,.07),           /* espesor */
        inset 0 14px 20px -18px rgba(255,255,255,.95),/* lente: el borde superior concentra la luz */
        inset 0 -18px 26px -22px rgba(15,23,42,.2),  /* lente: el inferior la oscurece */
        0 22px 48px -26px rgba(15,23,42,.38),        /* profundidad */
        0 3px 10px -4px rgba(15,23,42,.12);
    transition:background-color .4s ease,box-shadow .4s ease;
}
@supports (background-color:color-mix(in srgb,red 10%,white)){
    .dpro-glass{background-color:color-mix(in srgb,var(--g-tint) 5%,rgba(255,255,255,var(--g-a)))} /* tinte leve con el color del sitio */
}
/* Borde refractivo: anillo con degradado de luz, no un borde plano */
.dpro-glass::before{content:"";position:absolute;inset:0;z-index:-1;padding:1px;border-radius:inherit;pointer-events:none;
    background:linear-gradient(140deg,rgba(255,255,255,.95),rgba(255,255,255,.25) 32%,rgba(15,23,42,.08) 58%,rgba(255,255,255,.75));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
/* Brillo que sigue al cursor / destello al tocar y barrido de luz ocasional */
.dpro-glass::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;
    background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.34),transparent 62%);transition:opacity .35s ease}
.dpro-glass.is-lit::after{opacity:1}
/* En tarjetas y filas el foco de luz es parte del fondo: queda debajo del texto y no altera nada más */
.dpro-lit.is-lit{background-image:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(18,100,176,.07),transparent 62%)}
@supports (background-color:color-mix(in srgb,red 10%,white)){
    .dpro-lit.is-lit{background-image:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--aihd-p,var(--dpro-accent,#1264b0)) 10%,transparent),transparent 62%)}
}
.dpro-glass.is-sweep::after{opacity:1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%) no-repeat;
    background-size:220% 100%;animation:dpro-sweep 1.2s cubic-bezier(.3,.7,.2,1) both}
@keyframes dpro-sweep{from{background-position:130% 0}to{background-position:-60% 0}}
/* Barrido de luz ocasional en los botones principales (al pasar el cursor, como mucho cada 4 s) */
.dpro-route__go.is-sweep,.dpro-rv__cta .dpro-btn.is-sweep{background-image:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.42) 48%,transparent 66%);
    background-size:220% 100%;background-repeat:no-repeat;animation:dpro-sweep 1.1s cubic-bezier(.3,.7,.2,1) both}
/* Sin desenfoque disponible: fondo sólido legible */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .dpro-glass{background-color:rgba(250,251,252,.97)}
}
/* Fondo de la página oscuro o con imagen: cristal adaptado (la legibilidad manda) */
html.dpro-bg-dark .dpro-glass{--g-a:.58;color:#eef2f6;background-color:rgba(22,26,32,.62);
    background-image:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,0) 50%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.4),0 22px 48px -24px rgba(0,0,0,.7)}
html.dpro-bg-busy .dpro-glass{--g-a:.82;--g-blur:22px}
.dpro-solid{color:#14201c;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 40px -24px rgba(15,23,42,.35)}

/* ---- Paneles laterales (pantallas grandes) ---- */
.dpro-rail,.dpro-rail *,.dpro-qnav,.dpro-qnav *{box-sizing:border-box}
/* Los paneles se insertan junto al contenido (orden de lectura): los márgenes y anchos máximos que los temas dan a
   los hijos de su flujo (p. ej. «> * + *{margin-top:1.2rem}» o «max-width:var(--content-size)») no deben moverlos */
.dpro-rail:not(#dpro-c),.dpro-qnav:not(#dpro-c){margin:0;max-width:none;min-width:0}
.dpro-rail{position:fixed;top:0;left:0;z-index:30;display:none;flex-direction:column;width:340px;font-size:15px;line-height:1.45;
    opacity:0;transition:opacity .35s ease,background-color .4s ease;will-change:transform}
.dpro-rail.is-on{display:flex}
.dpro-rail.is-in{opacity:1;animation:dpro-liquid-in .42s cubic-bezier(.2,.8,.2,1) both}
.dpro-rail.is-deep{--g-a:.74;--g-blur:18px}   /* al bajar por la página, el cristal se vuelve más denso */
@keyframes dpro-liquid-in{from{opacity:0;translate:0 10px;scale:.985}}
.dpro-rail__scroll{position:relative;z-index:1;display:grid;gap:12px;padding:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
    scrollbar-color:rgba(15,23,42,.22) transparent;border-radius:inherit}
/* Bordes luminosos al desplazar dentro del panel */
.dpro-rail__scroll.has-above{-webkit-mask:linear-gradient(to bottom,transparent,#000 22px);mask:linear-gradient(to bottom,transparent,#000 22px)}
.dpro-rail__scroll.has-below{-webkit-mask:linear-gradient(to top,transparent,#000 26px);mask:linear-gradient(to top,transparent,#000 26px)}
.dpro-rail__scroll.has-above.has-below{-webkit-mask:linear-gradient(to bottom,transparent,#000 22px,#000 calc(100% - 26px),transparent);
    mask:linear-gradient(to bottom,transparent,#000 22px,#000 calc(100% - 26px),transparent)}
/* Los módulos dentro del panel: tarjetas internas compactas */
.dpro-rail .dpro-card{margin:0;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.65);
    background:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);color:inherit;overflow-wrap:anywhere}
html.dpro-bg-dark .dpro-rail .dpro-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none}
.dpro-rail .dpro-card > h2,.dpro-rail .dpro-alt__top > h2{margin:0 0 10px;padding:0;border:0;background:none;color:inherit;font-size:1.04rem;font-weight:800;line-height:1.3;letter-spacing:-.01em;text-decoration:none}
.dpro-rail .dpro-card > h2::before,.dpro-rail .dpro-card > h2::after,.dpro-rail .dpro-alt__top > h2::before,.dpro-rail .dpro-alt__top > h2::after{content:none}
.dpro-rail .dpro-card p{margin:0 0 8px}
.dpro-rail .dpro-note{font-size:.76em;margin-top:8px !important}
.dpro-rail a:not(.dpro-btn):not(.dpro-alt__name){color:var(--g-tint);text-decoration:none}
.dpro-rail a:not(.dpro-btn):not(.dpro-alt__name):hover{text-decoration:underline}
/* Opiniones */
.dpro-rail .dpro-rv__summary{grid-template-columns:1fr;gap:10px;margin:10px 0}
.dpro-rail .dpro-rv__score{padding:12px}
.dpro-rail .dpro-rv__num{font-size:2.1em}
.dpro-rail .dpro-rv__text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.dpro-rail .dpro-reviews.is-open .dpro-rv__text{display:block}
.dpro-rail__more{display:none}
.dpro-rail .dpro-rail__more{display:inline-flex;align-items:center;gap:4px;margin:0 0 6px;padding:4px 0;border:0;background:none;color:var(--g-tint);font:inherit;font-size:.86em;font-weight:700;cursor:pointer}
.dpro-rail .dpro-rv__cta .dpro-btn{width:100%}
.dpro-rail .dpro-chips{margin:6px 0 8px}
.dpro-rail .dpro-chips li{font-size:.8em;padding:4px 10px}
/* Cómo llegar */
.dpro-rail .dpro-directions__addr{font-size:.92em}
.dpro-rail .dpro-directions__ctx,.dpro-rail .dpro-directions .dpro-h3{font-size:.86em}
.dpro-rail .dpro-landmarks li{padding:6px 10px;font-size:.88em}
.dpro-rail .dpro-landmarks li:nth-child(n+4){display:none}
.dpro-rail .dpro-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 4px}
.dpro-rail .dpro-actions .dpro-btn{min-height:38px;padding:6px 8px;border-radius:10px;font-size:.76rem;flex:none}
.dpro-rail .dpro-actions .dpro-btn .dpro-i{display:none}
.dpro-rail .dpro-route{margin-top:10px;padding:12px;background:rgba(255,255,255,.45)}
.dpro-rail .dpro-route__go{width:100%}
/* Comparativa: filas compactas (nombre y nota; distancia y horario de hoy; servicios en una línea) */
.dpro-rail .dpro-cmpx{display:block;border:0;border-radius:0;overflow:visible;font-size:.92em}
.dpro-rail .dpro-cmpx__row--head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.dpro-rail .dpro-cmpx__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin:0 0 8px;padding:9px 11px;border:1px solid rgba(255,255,255,.6);
    border-radius:13px;background:rgba(255,255,255,.55);align-items:center}
.dpro-rail .dpro-cmpx__row.is-me{box-shadow:inset 3px 0 0 var(--dpro-accent)}
.dpro-rail .dpro-cmpx__name{grid-column:1;padding:0;font-size:.98em}
.dpro-rail .dpro-cmpx__me{font-size:.66em}
.dpro-rail .dpro-cmpx__c{display:block;padding:0}
.dpro-rail .dpro-cmpx__k{display:none}
.dpro-rail .dpro-cmpx__c--rating{grid-column:2;grid-row:1;justify-self:end}
.dpro-rail .dpro-cmpx__c--dist{grid-column:1;font-size:.86em;opacity:.8}
.dpro-rail .dpro-cmpx__c--hours{grid-column:2;justify-self:end;font-size:.86em}
.dpro-rail .dpro-cmpx__c--svc{grid-column:1 / -1;font-size:.8em;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dpro-rail .dpro-cmpx__c--svc .dpro-cmpx__v{display:inline;white-space:nowrap}
.dpro-rail .dpro-cmpx + .dpro-note{display:none}
/* Opciones similares: lista vertical de tarjetas compactas (foto a la izquierda) */
.dpro-rail .dpro-alt__nav,.dpro-rail .dpro-alt__hint,.dpro-rail .dpro-alt__why{display:none}
.dpro-rail .dpro-alt__track{display:grid;grid-template-columns:1fr;grid-auto-flow:row;grid-auto-columns:auto;gap:8px;margin:0;padding:0;overflow:visible;scroll-snap-type:none}
.dpro-rail .dpro-alt__box{flex-direction:row;height:auto;border-radius:14px;background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.65)}
.dpro-rail .dpro-alt__box:hover{transform:translateY(-1px)}
.dpro-rail .dpro-alt__media{flex:0 0 88px;aspect-ratio:auto;min-height:96px}
.dpro-rail .dpro-alt__media img:not(#dpro-c){transform:translate3d(0,var(--py,0px),0) scale(1.08)}
.dpro-rail .dpro-alt__box:hover .dpro-alt__media img:not(#dpro-c){transform:translate3d(0,var(--py,0px),0) scale(1.13)}
.dpro-rail .dpro-alt__ph{font-size:1.4em}
.dpro-rail .dpro-alt__dist{left:6px;bottom:6px;padding:2px 7px;font-size:.68em}
.dpro-rail .dpro-alt__body{padding:9px 11px;gap:3px;min-width:0}
.dpro-rail .dpro-alt__name:not(#dpro-c){font-size:.92em}
.dpro-rail .dpro-alt__rate,.dpro-rail .dpro-alt__svc{font-size:.82em}
.dpro-rail .dpro-alt__chip{padding:2px 8px;font-size:.7em}
.dpro-rail .dpro-alt__go{font-size:.78em}
.dpro-rail .dpro-alt__all{margin:10px 0 0 !important;font-size:.88em}
/* Entrada líquida escalonada de filas y tarjetas al aparecer el panel */
.dpro-rail.is-in .dpro-cmpx__row:not(.dpro-cmpx__row--head),.dpro-rail.is-in .dpro-alt__item{animation:dpro-item-in .38s cubic-bezier(.2,.8,.2,1) both}
.dpro-rail.is-in .dpro-cmpx__row:nth-child(3),.dpro-rail.is-in .dpro-alt__item:nth-child(2){animation-delay:.04s}
.dpro-rail.is-in .dpro-cmpx__row:nth-child(4),.dpro-rail.is-in .dpro-alt__item:nth-child(3){animation-delay:.08s}
.dpro-rail.is-in .dpro-cmpx__row:nth-child(n+5),.dpro-rail.is-in .dpro-alt__item:nth-child(n+4){animation-delay:.12s}
@keyframes dpro-item-in{from{opacity:0;transform:translateY(6px)}}
/* Cristal que respira: el canto luminoso varía muy despacio (casi imperceptible) */
.dpro-rail.dpro-glass::before{animation:dpro-breathe 9s ease-in-out infinite alternate}
@keyframes dpro-breathe{from{opacity:.75}to{opacity:1}}
/* Módulos que se quedan en el contenido mientras hay paneles: el bloque vacío no deja hueco */
html.dpro-railed .dpro-mods:empty{margin:0}

/* ---- Navegación rápida (pantallas medianas) ---- */
.dpro-qnav{position:fixed;top:50%;left:0;z-index:40;display:none;flex-direction:column;gap:4px;padding:6px;border-radius:999px;
    transform:translate3d(0,-50%,0) translateX(8px);opacity:0;transition:opacity .3s ease,transform .3s ease}
.dpro-qnav.is-on{display:flex}
.dpro-qnav.is-on.is-in{opacity:1;transform:translate3d(0,-50%,0)}
.dpro-qnav a{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:inherit;text-decoration:none;transition:background .2s,color .2s}
.dpro-qnav a:hover{background:rgba(15,23,42,.07)}
.dpro-qnav a[aria-current="true"]{color:var(--g-tint);background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
.dpro-qnav a:focus-visible{outline:3px solid var(--g-tint);outline-offset:1px}
.dpro-qnav__tip{position:absolute;right:calc(100% + 12px);top:50%;padding:5px 10px;border-radius:10px;background:rgba(17,24,39,.92);color:#fff;
    font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .18s,transform .18s}
.dpro-qnav a:hover .dpro-qnav__tip,.dpro-qnav a:focus-visible .dpro-qnav__tip{opacity:1;transform:translate(0,-50%)}

/* ---- Microinteracciones de los botones principales ---- */
.dpro-route__go,.dpro-rv__cta .dpro-btn{translate:var(--tx,0px) var(--ty,0px);transition:translate .25s cubic-bezier(.3,.7,.2,1),scale .35s cubic-bezier(.34,1.56,.64,1),filter .15s}
.dpro-route__go:active,.dpro-rv__cta .dpro-btn:active,.dpro-dock__i:active,.dpro-qnav a:active{scale:.96;transition-duration:.08s}
.dpro-ripple-host{position:relative;overflow:hidden}
.dpro-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.55) 0,rgba(255,255,255,.18) 45%,transparent 70%);
    transform:scale(.1);opacity:.9;animation:dpro-ripple .6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes dpro-ripple{to{transform:scale(1);opacity:0}}
.dpro-route__out:not([hidden]){animation:dpro-item-in .32s cubic-bezier(.2,.8,.2,1) both}

/* ---- Movimiento reducido: solo los estados funcionales ---- */
@media (prefers-reduced-motion:reduce){
    .dpro-rail,.dpro-rail.is-in,.dpro-rail.is-in .dpro-cmpx__row,.dpro-rail.is-in .dpro-alt__item,.dpro-qnav,.dpro-route__out:not([hidden]),
    .dpro-glass,.dpro-glass::before,.dpro-glass::after,.dpro-ripple,.dpro-dock .dpro-dock__i[data-dpro-cta]::before,.dpro-route__go.is-sweep,.dpro-rv__cta .dpro-btn.is-sweep{animation:none !important;transition:none !important}
    .dpro-route__go,.dpro-rv__cta .dpro-btn{translate:none;transition:none}
    .dpro-rail .dpro-alt__media img:not(#dpro-c){transform:none}
}
@media print{.dpro-rail,.dpro-qnav,.dpro-dock-spacer{display:none !important}}
.dpro-rail .dpro-rail__more:focus:not(:focus-visible){outline:none}
.dpro-rail .dpro-rail__more:focus-visible{outline:3px solid var(--g-tint);outline-offset:2px;border-radius:6px}

/* =========================================================================
   1.9 — Frescura de los datos y aviso de directorio independiente (discreto, integrado)
   ========================================================================= */
.dpro-fresh{--dpro-ok-c:#17643a;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 16px;font-size:.86em;line-height:1.45;color:inherit}
.dpro-fresh__line{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.dpro-fresh__ok{flex:none;color:var(--dpro-ok-c)}
.dpro-fresh__ver{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:rgba(23,100,58,.1);color:var(--dpro-ok-c);font-weight:700;font-size:.92em}
.dpro-fresh__ver::before{content:"✓"}
.dpro-fresh__more{font-size:.96em}
.dpro-fresh__more > summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:2px;color:inherit}
.dpro-fresh__more > summary::-webkit-details-marker{display:none}
.dpro-fresh__more[open]{flex-basis:100%}
.dpro-fresh .dpro-fresh__note{margin:6px 0 !important;font-size:1em}
.dpro-fresh .dpro-fresh__mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 18px;margin:4px 0 !important;padding:0 !important;list-style:none}
.dpro-fresh .dpro-fresh__mods li{display:flex;justify-content:space-between;gap:8px;margin:0 !important;padding:3px 0;border-bottom:1px dashed rgba(127,127,127,.3)}
.dpro-fresh .dpro-fresh__mods li::before,.dpro-fresh .dpro-fresh__mods li::marker{content:none}
.dpro-mods .dpro-indep{margin:16px 0 0 !important;font-size:.8em;line-height:1.55}
@media (prefers-color-scheme:dark){.dpro-fresh{--dpro-ok-c:#5fd18b}}
.dpro-fresh,.dpro-fresh .dpro-fresh__note{text-align:start}
.dpro-fresh__more > summary:focus:not(:focus-visible){outline:none}
.dpro-fresh__more > summary:focus-visible{outline:2px solid var(--dpro-accent,#1264b0);outline-offset:2px;border-radius:4px}

/* =========================================================================
   1.10 — Contexto local, preguntas y aportaciones, página de metodología
   ========================================================================= */
.dpro-local .dpro-local__list{margin:0 0 6px !important;padding:0 !important;list-style:none}
.dpro-local .dpro-local__list li{position:relative;margin:0 0 6px !important;padding:0 0 0 18px;line-height:1.5}
.dpro-local .dpro-local__list li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--dpro-accent)}
.dpro-ugc .dpro-ugc__list{margin:0 0 12px !important;padding:0 !important;list-style:none;display:grid;gap:10px}
.dpro-ugc .dpro-ugc__item{margin:0 !important;padding:12px 14px;border:1px solid var(--dpro-line);border-radius:12px;background:var(--dpro-soft)}
.dpro-ugc .dpro-ugc__text{margin:0 0 4px !important;text-align:start}
.dpro-ugc .dpro-ugc__k{font-weight:700}
.dpro-ugc .dpro-ugc__meta{margin:0 !important;font-size:.82em;opacity:.8;text-align:start}
.dpro-ugc .dpro-ugc__ans{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--dpro-accent);background:rgba(127,127,127,.06);border-radius:0 8px 8px 0}
.dpro-ugc .dpro-ugc__box > summary{cursor:pointer;font-weight:700;color:var(--dpro-accent);list-style:none}
.dpro-ugc .dpro-ugc__box > summary::-webkit-details-marker{display:none}
.dpro-ugc .dpro-ugc__box > summary:focus:not(:focus-visible){outline:none}
.dpro-ugc .dpro-ugc__form{margin-top:10px}
.dpro-ugc .dpro-ugc__form label{display:block;margin:0 0 4px;font-weight:600;font-size:.92em;text-align:start}
.dpro-ugc .dpro-ugc__form .dpro-form__check label{display:inline;font-weight:400}
.dpro-ugc .dpro-ugc__form :is(select,textarea,input[type=text]){width:100%;max-width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid var(--dpro-line);border-radius:10px;font:inherit;background:#fff;color:inherit}
.dpro-ugc .dpro-ugc__form p{margin:0 0 10px !important;text-align:start}
.dpro-ugc .dpro-ugc__form [aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 2px rgba(180,35,24,.15)}
.dpro-method .dpro-method__toc ul{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 18px !important;padding:0 !important;list-style:none}
.dpro-method .dpro-method__toc li{margin:0 !important}
.dpro-method .dpro-method__sec{margin:0 0 22px}
.dpro-method .dpro-method__sec h2{scroll-margin-top:calc(var(--aihd-cab-h,0px) + 16px)}

/* 1.10.1: en pantallas estrechas, la rejilla (comparativa y zonas) ya está en modo tarjeta: su plantilla de columnas
   (con mínimos de 8em/9em) no puede cambiar por consulta de contenedor sobre sí misma y desbordaba a 320 px */
@media (max-width:480px){
    .dpro-cmpx{grid-template-columns:minmax(0,1fr)}
}
