.terminos-consentimiento { display:flex; align-items:flex-start; gap:.7rem; text-align:left; }
.terminos-consentimiento input { flex:0 0 auto; width:20px; height:20px; margin-top:.3rem; }
.terminos-consentimiento label { font-size:16px; line-height:1.65; color:#313d4c; font-weight:400; }
.terminos-consentimiento a { text-decoration:underline; font-weight:600; }
.terminos-consentimiento a:focus-visible { outline:3px solid #175c88; outline-offset:3px; }
.terminos-modal .modal-dialog { width:calc(100% - 2rem); max-width:960px; margin:1rem auto; }
.terminos-modal .modal-content { max-height:calc(100vh - 2rem); display:flex; flex-direction:column; }
.terminos-modal .modal-header, .terminos-modal .modal-footer { flex-shrink:0; }
.terminos-modal .modal-header { align-items:flex-start; }
.terminos-modal .modal-header .close { position:static; float:none; flex-shrink:0; min-width:32px; margin:0 0 0 1rem; padding:0; font-size:30px; line-height:1; }
body.modal-open #feria-testmode-banner { z-index:0 !important; }
.terminos-modal .modal-title { font-size:24px; line-height:1.3; font-weight:600; text-align:left; }
.terminos-modal .modal-body { flex:1 1 auto; min-height:0; overflow-y:scroll; padding:1.5rem; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:auto; scrollbar-color:#526779 #eef2f5; }
.terminos-modal .modal-body::-webkit-scrollbar { width:16px; }
.terminos-modal .modal-body::-webkit-scrollbar-track { background:#eef2f5; border-radius:10px; }
.terminos-modal .modal-body::-webkit-scrollbar-thumb { background:#526779; border:3px solid #eef2f5; border-radius:10px; min-height:45px; }
.terminos-scroll-region { flex:1 1 auto; min-height:0; display:flex; position:relative; }
.terminos-scroll-region.has-scroll-controls .modal-body { scrollbar-width:none; scrollbar-gutter:auto; padding-right:2.5rem; }
.terminos-scroll-region.has-scroll-controls .modal-body::-webkit-scrollbar { display:none; }
.terminos-scrollbar { position:absolute; right:7px; top:8px; width:18px; height:calc(100% - 16px); margin:0; writing-mode:vertical-lr; direction:ltr; accent-color:#526779; cursor:pointer; }
.terminos-modal .modal-footer { flex-wrap:wrap; gap:.6rem; }
.terminos-scroll-hint { margin:0 auto 0 0; font-size:14px; color:#526779; text-align:left; }
.terminos-modal .terminos-next { color:#284c66; background:#eef2f5; border:1px solid #9aaebb; border-radius:20px; padding:.5rem .9rem; cursor:pointer; }
.terminos-modal .terminos-next:disabled { opacity:.7; cursor:default; }
.terminos-modal .modal-body:focus-visible { outline:3px solid #175c88; outline-offset:-3px; }
.terminos-documento { font-size:16px; line-height:1.7; color:#273444; text-align:left; overflow-wrap:anywhere; }
.terminos-documento h3 { font-size:21px; font-weight:600; line-height:1.4; margin:1.6rem 0 .7rem; }
.terminos-documento p { margin-bottom:1rem; }
.terminos-documento li { margin-bottom:.35rem; }
.terminos-documento ul { padding-left:1.5rem; margin-bottom:1rem; }
.terminos-edicion { font-size:19px; font-weight:600; }
.terminos-fecha { color:#596979; }
.terminos-pagina { max-width:920px; padding:2rem 1.25rem; margin:auto; }
.terminos-pagina h1 { font-size:30px; line-height:1.35; }
@media(max-width:575px) {
    .terminos-modal .modal-dialog { width:calc(100% - 1rem); margin:.5rem auto; }
    .terminos-modal .modal-content { max-height:calc(100vh - 1rem); }
    .terminos-modal .modal-title { font-size:20px; }
    .terminos-modal .modal-body { padding:1rem; }
    .terminos-scroll-region.has-scroll-controls .modal-body { padding-right:2rem; }
}
