/* ===== Accesibilidad ===== */
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:#000;color:#fff;padding:.8rem 1.2rem;border-radius:8px;font-weight:700;text-decoration:none}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid #ff9f1c;outline-offset:3px}
main:focus{outline:0}

/* Widget */
.a11y-widget{position:fixed;left:1rem;bottom:1rem;z-index:40;font-family:Poppins,system-ui,sans-serif;font-size:16px}
.a11y-fab{display:flex;align-items:center;gap:.5rem;background:#1d1538;color:#fff;border:2px solid #fff;border-radius:999px;padding:.7rem 1.1rem;font:600 .95rem/1 Poppins,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.a11y-fab:hover{background:#3b1d7a}
.a11y-panel{position:absolute;left:0;bottom:calc(100% + .7rem);width:min(310px,calc(100vw - 2rem));background:#fff;color:#1d1538;border-radius:18px;padding:1.1rem;box-shadow:0 16px 44px rgba(0,0,0,.35);border:2px solid #3b1d7a;display:flex;flex-direction:column;gap:.5rem}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{margin:0 0 .2rem;font-size:1.15rem;color:#3b1d7a}
.a11y-row{display:flex;align-items:center;gap:.5rem}
.a11y-row .a11y-opt{flex:1;font-size:1.3rem}
.a11y-size{min-width:3.4rem;text-align:center;font-weight:700}
.a11y-opt{min-height:48px;border:2px solid #3b1d7a;background:#fff;color:#3b1d7a;border-radius:12px;padding:.5rem .9rem;font:600 1rem/1.2 Poppins,system-ui,sans-serif;text-align:left;cursor:pointer}
.a11y-opt:hover{background:#efeaff}
.a11y-opt[aria-pressed=true]{background:#3b1d7a;color:#fff}
.a11y-opt[aria-pressed=true]::after{content:" ✓"}
.a11y-reset{border-color:#b3261e;color:#b3261e}
.a11y-status{margin:0;min-height:1.2em;font-size:.82rem;color:#4a4560}

/* Letra legible */
html.a11y-readable body,html.a11y-readable button,html.a11y-readable input,html.a11y-readable select,html.a11y-readable textarea{font-family:Verdana,Arial,sans-serif!important;letter-spacing:.02em;word-spacing:.08em}
html.a11y-readable body{line-height:1.8}
html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3{font-family:Verdana,Arial,sans-serif!important}

/* Resaltar enlaces */
html.a11y-links a:not(.btn):not(.brand){text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px;background:rgba(255,213,0,.35);border-radius:3px}
html.a11y-links .btn{outline:3px solid #ff9f1c;outline-offset:2px}

/* Sin animaciones */
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-still .rv{opacity:1!important;transform:none!important}

/* Alto contraste: fondo negro, texto blanco, acentos amarillos */
html.a11y-contrast body{background:#000!important;color:#fff!important}
html.a11y-contrast :where(header,main,footer,section,div,article,form,blockquote,figure,a.ccard,span,li,p,h1,h2,h3,h4,label,small,strong,b,i){color:#fff!important;text-shadow:none!important}
html.a11y-contrast :where(header,main,footer,section,div,article,form,blockquote,a.ccard,.chip,.badges li){background:#000!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important}
html.a11y-contrast :where(.card,.svc,.panel,.prose,.cov-text,.ccard,#quote-form,.nav,.badges li,.chip){border:2px solid #fff!important}
html.a11y-contrast .nav{border-width:0 0 3px 0!important;border-radius:0!important}
html.a11y-contrast .footer{border-top:3px solid #ff0}
html.a11y-contrast .hero::before,html.a11y-contrast .hero::after,html.a11y-contrast .hero-img::before,html.a11y-contrast .hero-img::after,html.a11y-contrast .card::before,html.a11y-contrast #quote-form::before,html.a11y-contrast .coverage::before,html.a11y-contrast .coverage::after,html.a11y-contrast .page-head::before,html.a11y-contrast .page-head::after,html.a11y-contrast .footer::before,html.a11y-contrast .prose::before{display:none!important}
html.a11y-contrast .hero h1{-webkit-text-fill-color:#fff!important;background:none!important}
html.a11y-contrast .hero-img img{border:3px solid #fff}
html.a11y-contrast a:not(.btn):not(.brand):not(.wa){color:#ff0!important;text-decoration:underline!important}
html.a11y-contrast .sub,html.a11y-contrast .ccard b,html.a11y-contrast .comunas,html.a11y-contrast h1,html.a11y-contrast h2,html.a11y-contrast h3{color:#ff0!important}
html.a11y-contrast .coverage,html.a11y-contrast .page-head,html.a11y-contrast .cta-band{border-top:3px solid #ff0;border-bottom:3px solid #ff0}
html.a11y-contrast .btn{background:#ff0!important;background-image:none!important;color:#000!important;border:3px solid #fff!important;box-shadow:none!important}
html.a11y-contrast .btn-outline{background:#000!important;color:#ff0!important;border-color:#ff0!important}
html.a11y-contrast .ico{background:#ff0!important;background-image:none!important;box-shadow:none!important}
html.a11y-contrast .ico,html.a11y-contrast .ico *{color:#000!important}
html.a11y-contrast input,html.a11y-contrast select,html.a11y-contrast textarea{background:#fff!important;color:#000!important;border:3px solid #ff0!important}
html.a11y-contrast #quote-msg.ok{color:#7CFC00!important}
html.a11y-contrast #quote-msg.err{color:#ff8a80!important}
html.a11y-contrast .wa,html.a11y-contrast .to-top{background:#ff0!important;color:#000!important;border:3px solid #fff!important}
html.a11y-contrast .badges li::before{color:#ff0}
html.a11y-contrast .nav nav a[aria-current=page]{border-color:#ff0!important}
html.a11y-contrast .a11y-fab{background:#ff0;color:#000;border-color:#fff}
html.a11y-contrast .a11y-panel,html.a11y-contrast .a11y-panel *{background:#000!important;color:#fff!important}
html.a11y-contrast .a11y-panel{border-color:#ff0}
html.a11y-contrast .a11y-opt{border-color:#fff!important}
html.a11y-contrast .a11y-opt[aria-pressed=true]{background:#ff0!important;color:#000!important}
html.a11y-contrast .a11y-panel h2{color:#ff0!important}

@media(max-width:820px){
  .a11y-fab span{display:none}
  .a11y-fab{padding:.8rem}
}
@media print{.a11y-widget,.wa,.to-top{display:none}}
html.a11y-contrast .a11y-fab,html.a11y-contrast .a11y-fab *{color:#000!important;background:#ff0!important}
html.a11y-contrast .brand img,html.a11y-contrast .flogo{background:#fff!important;border-radius:12px;padding:4px}
html.a11y-contrast .about-logo{background:#fff!important}
html.a11y-contrast .about-logo::before{display:none!important}
html.a11y-contrast .nf-code{-webkit-text-fill-color:#ff0!important;background:none!important;filter:none}
html.a11y-contrast a.nf-svc{background:#000!important;border:2px solid #fff!important;box-shadow:none!important}
html.a11y-contrast .nf-go{color:#ff0!important}
