﻿/* Legibilidad compartida, limitada a portada y catálogo público. Sin cambio de familias. */
body.public-readable { --public-ink: #123d2f; --public-muted: #526158; --public-accent: #886027; --public-rule: #d8dbd0; font-size: 18px; line-height: 1.65; }
.public-readable .public-nav-container { max-width: 1360px; padding-left: 24px; padding-right: 24px; }
.public-readable .public-nav-links { gap: 26px; }
.public-readable .public-nav-link, .public-readable .btn-portal { font-size: 16px; line-height: 1.5; }
.public-readable .public-nav-link { padding-top: 12px; padding-bottom: 12px; }
.public-readable .btn-portal { min-height: 48px; border-radius: 6px; box-shadow: none; padding: 12px 18px; }
.public-readable .public-nav-toggle { min-width: 48px; min-height: 48px; }
.public-readable .public-header :is(a,button):focus-visible { outline: 2px solid var(--public-accent); outline-offset: 5px; }
.public-readable .public-footer { line-height: 1.7; }
.public-readable .footer-container, .public-readable .footer-bottom { max-width: 1312px; }
.public-readable .footer-brand p, .public-readable .footer-col h4, .public-readable .footer-col li, .public-readable .footer-col a, .public-readable .footer-bottom { font-size: 16px; line-height: 1.7; }
.public-readable .footer-col a { display: inline-block; padding-top: 6px; padding-bottom: 6px; overflow-wrap: anywhere; }
.public-readable .footer-brand p, .public-readable .footer-col a { color: #b9cabc; }
.public-readable .footer-col a:hover { color: #f1d39a; }
.public-readable .footer-bottom { color: #b9cabc; }
.public-readable .footer-container { gap: 32px; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
.public-readable .footer-col :is(a,button):focus-visible { outline: 2px solid #f1d39a; outline-offset: 3px; }
.public-skip-link { position: fixed; left: 16px; top: -100px; padding: 13px 20px; background: var(--ta-green); color: #fff; border-radius: 5px; font-size: 16px; z-index: 1300; }
.public-skip-link:focus { top: 10px; color: #fff; outline: 2px solid #f1d39a; outline-offset: 3px; }
.public-readable #main-content:focus { outline: none; }
.public-skip-link { top: 0; transform: translateY(calc(-100% - 16px)); max-width: calc(100% - 32px); overflow-wrap: anywhere; }
.public-skip-link:focus { top: 10px; transform: none; }
@media(max-width:1100px) { .public-readable .public-nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fffefa; flex-direction: column; align-items: stretch; padding: 20px 24px; border-bottom: 1px solid var(--public-rule); box-shadow: 0 10px 20px #0235240a; gap: 7px; } .public-readable .public-nav-links.is-open { display: flex; } .public-readable .public-nav-toggle { display: block; } .public-readable .public-nav-link { display: block; } .public-readable .btn-portal { justify-content: center; } .public-readable .footer-container { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .public-readable .footer-container { grid-template-columns: minmax(0,1fr); gap: 27px; } .public-readable .public-brand img { max-width: 215px; height: auto; } .public-readable .public-nav-container { padding-left: 18px; padding-right: 18px; } }
@media(prefers-reduced-motion:reduce) { .public-readable .public-header *, .public-readable .public-footer * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
