:root {
  --coesa-magenta: #d80069;
  --coesa-magenta-dark: #b90059;
  --coesa-teal: #008f7a;
  --coesa-teal-dark: #006b63;
  --coesa-ink: #28343a;
  --coesa-paper: #fff;
  --coesa-text: #28383e;
  --coesa-muted: #536168;
  --coesa-border: #dce5e3;
  --coesa-focus: #f2bd36;
  --coesa-shadow: 0 0.55rem 1.5rem rgb(26 48 48 / 9%);
}

html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
body.coesa-portal { margin: 0; color: var(--coesa-text); background: #fff; font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; font-size: 1rem; line-height: 1.65; }
body.coesa-portal img { max-width: 100%; }
.coesa-skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 10000; padding: .75rem 1rem; color: #fff; background: var(--coesa-ink); border-radius: .25rem; }
.coesa-skip-link:focus { top: 1rem; }
.coesa-site-header { width: 100%; background: #fff; }
.coesa-topbar-region { color: #fff; background: var(--coesa-ink); }
.coesa-topbar-inner { display: flex; justify-content: space-between; align-items: center; width: min(100% - 2.5rem, 88rem); min-height: 3.25rem; margin-inline: auto; padding: .3rem 0; border-bottom: 2px solid var(--coesa-teal); }
.coesa-topbar-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .55rem; color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: .01em; text-decoration: none; }
.coesa-topbar-brand img { display: block; width: auto; height: 2.35rem; object-fit: contain; }
.coesa-topbar-domain { color: #d8e2e0; font-weight: 400; }
.coesa-topbar-inner nav { display: flex; flex: 1 1 auto; justify-content: flex-end; }
.coesa-topbar-inner nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .15rem .35rem; margin: 0; padding: 0; list-style: none; }
.coesa-topbar-inner a:not(.coesa-topbar-brand) { display: inline-flex; align-items: center; min-height: 2.5rem; padding: .35rem .7rem; color: #fff; font-size: .88rem; font-weight: 600; text-decoration: none; border-radius: .2rem; }
.coesa-topbar-inner a:not(.coesa-topbar-brand):hover { color: #fff; background: #3a474c; text-decoration: underline; text-underline-offset: .2em; }
.coesa-topbar-search { gap: .45rem; }
.coesa-search-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.coesa-brand-region { width: 100%; padding: 0; overflow: hidden; background: #fff; }
.coesa-brand { width: 100%; max-width: none; margin: 0; text-align: center; }
.coesa-brand img { display: block; width: 100%; height: auto; margin: 0; object-fit: contain; }
.coesa-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@keyframes coesa-header-enter { from { opacity: 0; } to { opacity: 1; } }

.coesa-menu-region { background: var(--coesa-paper); border-block: 1px solid #d9e2df; }
.coesa-nav-inner { display: flex; align-items: center; gap: 1.5rem; width: min(100% - 2.5rem, 88rem); margin-inline: auto; }
.coesa-nav-brand { flex: 0 0 auto; padding: .65rem 0; color: var(--coesa-magenta-dark); font-size: 1.22rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; }
.coesa-menu-toggle { display: none; }
.coesa-main-nav { flex: 1 1 auto; min-width: 0; margin: 0; }
.coesa-main-nav > ul { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-end; gap: .15rem; margin: 0; padding: .25rem 0; list-style: none; }
.coesa-main-nav li { position: relative; margin: 0; }
.coesa-main-nav a, .coesa-main-nav summary, .coesa-menu-unavailable { display: flex; align-items: center; min-height: 3rem; padding: .6rem .72rem; color: #253238; font-size: .92rem; font-weight: 650; text-decoration: none; cursor: pointer; border-radius: .25rem; }
.coesa-main-nav a:hover, .coesa-main-nav summary:hover { color: var(--coesa-magenta-dark); background: #eee8e4; }
.coesa-main-nav summary { list-style: none; }
.coesa-main-nav summary::-webkit-details-marker { display: none; }
.coesa-main-nav summary::after { width: .45rem; height: .45rem; margin-left: .55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ""; transform: rotate(45deg) translateY(-.12rem); }
.coesa-main-nav details[open] > summary::after { transform: rotate(225deg) translate(-.08rem,-.08rem); }
.coesa-main-nav details > ul { position: absolute; top: 100%; left: 0; z-index: 50; min-width: 18rem; margin: 0; padding: .4rem; background: #fff; border: 1px solid var(--coesa-border); border-radius: .35rem; box-shadow: var(--coesa-shadow); list-style: none; }
.coesa-main-nav details:not([open]) > ul { display: none; }
.coesa-main-nav details[open] > ul { display: block; }
.coesa-main-nav details > ul a, .coesa-main-nav details > ul summary, .coesa-main-nav .coesa-menu-unavailable { width: 100%; justify-content: flex-start; }
.coesa-menu-unavailable { color: #566166; cursor: default; }

.coesa-region { width: min(100% - 2.5rem, 82rem); margin: clamp(2rem, 4vw, 3.5rem) auto; }
.coesa-carousel-region, .coesa-advances-region { width: 100%; margin: 0; }
.coesa-slider { position: relative; width: 100%; overflow: hidden; background: #fff; }
.coesa-slider-viewport { position: relative; width: 100%; }
.coesa-slides { margin: 0; padding: 0; list-style: none; }
.coesa-slide[hidden] { display: none !important; }
.coesa-slide { min-height: 0; background: #fff; animation: coesa-slide-enter .35s ease-out both; }
.coesa-slide-media { display: block; width: 100%; margin: 0; padding: 0; overflow: hidden; background: #fff; }
.coesa-slide-media img { display: block; width: 100%; height: auto; max-height: min(66vh, 38rem); margin: 0 auto; object-fit: contain; }
.coesa-slide-link { display: block; color: inherit; }
@keyframes coesa-slide-enter { from { opacity: .45; } to { opacity: 1; } }
.coesa-slider-controls { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: .85rem; pointer-events: none; }
.coesa-slider-controls button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; color: #fff; background: rgb(31 48 50 / 68%); border: 1px solid rgb(255 255 255 / 72%); border-radius: 50%; font: inherit; font-size: 1.8rem; line-height: 1; cursor: pointer; pointer-events: auto; }
.coesa-slider-controls button:hover { background: var(--coesa-teal-dark); }
.coesa-slider-controls .coesa-slide-pause { position: absolute; top: .75rem; right: .75rem; width: 2.55rem; height: 2.55rem; font-size: 1rem; }
.coesa-slider-dots { display: flex; justify-content: center; align-items: center; gap: .35rem; min-height: 3.25rem; padding: .25rem; }
.coesa-slider-dots button { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; padding: 0; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.coesa-slider-dots button span { display: block; width: .62rem; height: .62rem; background: #87918f; border: 1px solid #5d6a67; border-radius: 50%; transition: width .18s ease, background-color .18s ease; }
.coesa-slider-dots button[aria-current="true"] span { width: 1.35rem; background: var(--coesa-magenta); border-color: var(--coesa-magenta-dark); border-radius: 1rem; }
.coesa-slider-status { color: var(--coesa-ink); font-variant-numeric: tabular-nums; }
.coesa-pending-action, .coesa-unavailable-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.65rem; margin-top: auto; padding: .45rem 1.1rem; color: #fff; background: var(--coesa-teal-dark); border: 0; border-radius: 2rem; font: inherit; font-weight: 650; text-decoration: none; }
.coesa-pending-action[aria-disabled="true"], .coesa-unavailable-link[aria-disabled="true"] { color: #435057; background: #e8eceb; }

.coesa-banner-avances { width: min(100% - 2.5rem, 82rem); margin: clamp(1.25rem, 3vw, 2.25rem) auto; }
.coesa-banner-avances img { display: block; width: 100%; height: auto; border-radius: .45rem; box-shadow: var(--coesa-shadow); }
.coesa-vim { width: 100%; margin: clamp(1.5rem, 3vw, 2.5rem) 0; padding: clamp(1.5rem, 4vw, 3.5rem) 0; background: linear-gradient(110deg, #ebe6dd 0%, #f2efea 52%, #e8e4dc 100%); border-block: 1px solid #e2ddd4; }
.coesa-vim-inner { display: grid; width: min(100% - 2.5rem, 82rem); grid-template-columns: minmax(0, 1.1fr) minmax(16rem, .9fr); align-items: center; gap: clamp(1rem, 4vw, 3.5rem); margin-inline: auto; }
.coesa-vim-copy h2 { margin: 0 0 .85rem; color: var(--coesa-magenta-dark); font-size: clamp(1.35rem, 2.5vw, 2.15rem); line-height: 1.35; }
.coesa-vim-copy p { margin: 0; }
.coesa-vim-details { min-width: 0; }
.coesa-vim-details h3 { margin: 0 0 .9rem; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.4; }
.coesa-vim-art { margin: 0; padding: 0; }
.coesa-vim-art img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; }
.coesa-vim-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; margin-top: 1rem; padding: .6rem 1.15rem; color: #006b63; background: #fff; border: 2px solid #fff; border-radius: .35rem; font-weight: 700; text-decoration: none; }
.coesa-vim-link:hover { color: #004a43; background: #f2efea; }
.coesa-section-heading { margin: 0 0 1.5rem; color: var(--coesa-magenta-dark); font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.2; letter-spacing: -.02em; }
.coesa-section-heading::after { display: block; width: 3.5rem; height: .22rem; margin-top: .65rem; background: var(--coesa-teal); border-radius: 1rem; content: ""; }

/* Noticias → Actividades: concise responsive two-column cards. */
.com-content-category-blog .blog-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.35rem; }
.coesa-activity-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--coesa-border); border-radius: .65rem; box-shadow: 0 .35rem 1.15rem rgb(26 48 48 / 8%); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.coesa-activity-card:hover { transform: translateY(-3px); border-color: var(--coesa-teal); box-shadow: 0 .7rem 1.5rem rgb(26 48 48 / 13%); }
.coesa-activity-image { display: block; height: clamp(12rem, 22vw, 18rem); overflow: hidden; background: #edf4f2; }
.coesa-activity-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.coesa-activity-card-content { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; padding: 1.15rem 1.3rem 1.25rem; }
.coesa-activity-title { margin: 0 0 .7rem; font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.35; }
.coesa-activity-title a { color: var(--coesa-teal-dark); text-decoration: none; }
.coesa-activity-title a:hover, .coesa-activity-title a:focus-visible { color: var(--coesa-magenta); text-decoration: underline; text-underline-offset: .18em; }
.coesa-activity-excerpt { display: -webkit-box; margin: 0 0 1rem; overflow: hidden; color: var(--coesa-muted); line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.coesa-activity-readmore { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.65rem; margin-top: auto; padding: .45rem 1.1rem; color: #fff; background: var(--coesa-teal); border-radius: 1.5rem; font-weight: 700; text-decoration: none; transition: background-color .16s ease; }
.coesa-activity-readmore:hover, .coesa-activity-readmore:focus-visible { color: #fff; background: var(--coesa-magenta); }
@media (max-width: 700px) { .com-content-category-blog .blog-items { grid-template-columns: minmax(0, 1fr); gap: 1rem; } .coesa-activity-image { height: 14rem; } }

.coesa-card-grid, .coesa-servicios-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
.coesa-card, .coesa-servicio, .coesa-legal-card, .coesa-institutional-card { min-width: 0; padding: clamp(1.15rem, 2vw, 1.6rem); background: #fff; border: 1px solid var(--coesa-border); border-top: .28rem solid var(--coesa-teal); border-radius: .55rem; box-shadow: var(--coesa-shadow); }
.coesa-card:nth-child(even), .coesa-servicio:nth-child(3n+2), .coesa-legal-card:nth-child(2) { border-top-color: var(--coesa-magenta); }
.coesa-card h2, .coesa-card h3, .coesa-servicio h3, .coesa-legal-card h3 { color: var(--coesa-text); line-height: 1.3; }
.coesa-card p, .coesa-servicio p, .coesa-legal-card p { line-height: 1.7; }
.coesa-card a, .coesa-servicio a, .coesa-legal-card a { color: var(--coesa-magenta-dark); text-underline-offset: .2em; }
.coesa-servicios-grid { gap: 1.15rem; }
.coesa-servicios-grid > .coesa-servicio { display: flex; flex-direction: column; height: 100%; }
.coesa-servicio-icono { display: grid; width: 3.1rem; height: 3.1rem; place-items: center; margin: 0 0 .8rem; color: #fff; background: var(--coesa-magenta-dark); border-radius: 50%; font-size: 1.35rem; }
.coesa-servicio h3 { margin: .25rem 0 .7rem; font-size: 1.18rem; }
.coesa-servicio ul { padding-left: 1.25rem; }
.coesa-servicio .coesa-servicio-boton, .coesa-servicio .coesa-unavailable-link { margin-top: auto; align-self: center; }
.coesa-servicios-grid .coesa-servicio-boton { display: inline-flex; align-items: center; justify-content: center; min-height: 2.65rem; margin-top: auto; padding: .45rem 1.1rem; color: #fff !important; background: var(--coesa-teal-dark); border-radius: 2rem; text-decoration: none; }
.container.tp-sl-10 { width: 100%; max-width: none; margin: 0 0 1.25rem; padding: 0; }
.container.tp-sl-10 > .col-sm-12 { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) minmax(10rem, 16rem); align-items: center; gap: 1rem 2rem; padding: 1.25rem; background: var(--coesa-paper); border-left: .25rem solid var(--coesa-teal); border-radius: .45rem; text-align: left; }
.container.tp-sl-10 h3 { margin: 0; color: var(--coesa-ink); font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.container.tp-sl-10 .coesa-unavailable-link { display: inline; min-height: 0; margin: 0; padding: 0; color: var(--coesa-magenta-dark); background: transparent; border-radius: 0; font-weight: 750; }
.container.tp-sl-10 img { display: block; width: 100%; max-height: 18rem; margin: 0; object-fit: contain; }

.coesa-legal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
.coesa-legal-card { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.coesa-legal-card > div:first-child { color: var(--coesa-teal-dark); font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.coesa-legal-card > div:nth-of-type(2) { color: var(--coesa-magenta-dark); font-size: 1.4rem; }
.coesa-legal-card h3 { margin: 0; font-size: 1.15rem; }
.coesa-legal-card a { display: inline-flex; align-self: center; align-items: center; justify-content: center; min-height: 2.75rem; margin-top: auto; padding: .45rem 1.15rem; color: #fff !important; background: var(--coesa-teal-dark); border-radius: 2rem; font-weight: 650; text-decoration: none; text-align: center; }
.coesa-legal-card a:hover, .coesa-legal-card a:focus-visible { background: var(--coesa-magenta); border-color: var(--coesa-magenta); }
.coesa-servicios-grid .coesa-servicio-boton:hover { background: #043f39; }

.coesa-site-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 1rem; }
.coesa-site-logo { display: flex; min-height: 9rem; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 1.15rem; color: var(--coesa-text); background: #fff; border: 1px solid var(--coesa-border); border-radius: .55rem; box-shadow: 0 .2rem .7rem rgb(26 48 48 / 6%); text-align: center; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
a.coesa-site-logo:hover { transform: translateY(-.15rem); box-shadow: var(--coesa-shadow); }
.coesa-site-logo img { display: block; max-width: 100%; max-height: 4.75rem; width: auto; height: auto; object-fit: contain; }
.coesa-site-logo span { color: var(--coesa-ink); font-size: .92rem; font-weight: 600; }
.coesa-sitios-intro { padding: 1.25rem; background: var(--coesa-paper); border-left: .25rem solid var(--coesa-teal); border-radius: .25rem; }
.coesa-sitios-intro h3 { color: var(--coesa-magenta-dark); }
.coesa-news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.coesa-news-card { display: flex; min-height: 12rem; flex-direction: column; padding: 1.25rem; background: #fff; border: 1px solid var(--coesa-border); border-radius: .55rem; box-shadow: var(--coesa-shadow); }

.coesa-site-footer { margin-top: clamp(2.5rem, 5vw, 4rem); padding: 2.5rem 1.25rem 0; color: #f5f6f6; background: #292d30; border-top: .35rem solid var(--coesa-magenta); }
.coesa-site-footer a { color: #f5f6f6; text-decoration: none; text-underline-offset: .2em; }
.coesa-footer-inner { display: grid; width: min(100%, 82rem); grid-template-columns: 1.1fr 1fr 1.2fr 1.35fr; gap: 1.5rem; margin-inline: auto; padding-bottom: 2rem; }
.coesa-footer-inner h2 { margin: 0 0 .8rem; color: #fff; font-size: 1rem; line-height: 1.35; }
.coesa-footer-inner address { font-style: normal; }
.coesa-footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.coesa-footer-links a, .coesa-footer-contact a { display: block; width: 100%; padding: .3rem 0; border-bottom: 1px solid rgb(255 255 255 / 16%); }
.coesa-site-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: #b8dfd7; }
.coesa-footer-brand img { display: block; width: auto; height: 3rem; max-width: 100%; margin-bottom: .85rem; object-fit: contain; }
.coesa-footer-brand p { margin: .35rem 0; }
.coesa-social-links { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: 0; }
.coesa-footer-inner .coesa-copyright { grid-column: 1 / -1; margin: 0 -1.25rem; padding: 1rem max(1.25rem, calc((100% - 82rem) / 2)); color: #f0f1f1; background: #1c1f21; border-top: 1px solid rgb(255 255 255 / 20%); font-size: .9rem; }

:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--coesa-focus) !important; outline-offset: 3px !important; }
@media (max-width: 900px) {
  .coesa-card-grid, .coesa-servicios-grid, .coesa-legal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coesa-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coesa-nav-inner { gap: .75rem; }
  .coesa-main-nav a, .coesa-main-nav summary, .coesa-menu-unavailable { padding-inline: .48rem; font-size: .86rem; }
}
@media (max-width: 680px) {
  .coesa-topbar-inner, .coesa-nav-inner { width: min(100% - 1.25rem, 88rem); }
  .coesa-topbar-inner { flex-wrap: wrap; justify-content: center; gap: .2rem; padding-block: .35rem; }
  .coesa-topbar-brand { width: 100%; justify-content: center; }
  .coesa-topbar-inner nav { flex-basis: 100%; justify-content: center; }
  .coesa-topbar-inner nav ul { justify-content: center; gap: 0 .15rem; }
  .coesa-topbar-inner a:not(.coesa-topbar-brand) { min-height: 2.4rem; padding-inline: .48rem; font-size: .8rem; }
  .coesa-nav-inner { display: grid; grid-template-columns: 1fr auto; gap: .25rem .6rem; padding: .45rem 0; }
  .coesa-nav-brand { align-self: center; }
  .coesa-menu-toggle { display: inline-flex; min-height: 2.8rem; align-items: center; padding: .45rem 1rem; color: #fff; background: var(--coesa-teal-dark); border: 0; border-radius: .3rem; font: inherit; font-weight: 700; cursor: pointer; }
  html:not(.coesa-js) .coesa-menu-toggle { display: none; }
  .coesa-main-nav { grid-column: 1 / -1; }
  .coesa-js .coesa-main-nav > ul { display: none; flex-direction: column; align-items: stretch; gap: .1rem; padding: .45rem 0; }
  .coesa-js .coesa-main-nav.is-open > ul { display: flex; }
  .coesa-main-nav a, .coesa-main-nav summary, .coesa-menu-unavailable { min-height: 2.8rem; padding: .6rem .75rem; font-size: .94rem; }
  .coesa-main-nav details > ul, .coesa-main-nav details details > ul { position: static; min-width: 0; margin: 0 .5rem .5rem; padding-left: .75rem; box-shadow: none; }
  .coesa-slide-media img { max-height: none; }
  .coesa-slider-controls { padding: .4rem; }
  .coesa-slider-controls button { width: 2.5rem; height: 2.5rem; }
  .coesa-slider-controls .coesa-slide-pause { top: .45rem; right: .45rem; width: 2.35rem; height: 2.35rem; }
  .coesa-slider-dots { min-height: 3rem; gap: .15rem; }
  .coesa-slider-dots button { width: 2.15rem; height: 2.5rem; }
  .coesa-vim-inner { width: min(100% - 1.25rem, 82rem); grid-template-columns: 1fr; gap: 1.25rem; }
  .coesa-vim-art { max-width: 38rem; margin-inline: auto; }
  .container.tp-sl-10 > .col-sm-12 { grid-template-columns: 1fr; gap: .5rem; }
  .container.tp-sl-10 img { width: min(100%, 15rem); margin-inline: auto; }
  .coesa-banner-avances { width: min(100% - 1.25rem, 82rem); }
  .coesa-region { width: min(100% - 1.25rem, 82rem); margin-block: 2rem; }
  .coesa-card-grid, .coesa-servicios-grid, .coesa-legal-grid { grid-template-columns: 1fr; }
  .coesa-footer-inner { grid-template-columns: 1fr; gap: 1.25rem; }
  .coesa-footer-inner .coesa-copyright { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Fase 4C.4 — refinamientos de navegación y presentación */
.coesa-topbar-inner a:focus-visible, .coesa-nav-brand:focus-visible,
.coesa-menu-toggle:focus-visible, .coesa-main-nav a:focus-visible,
.coesa-main-nav summary:focus-visible { outline-offset: -2px !important; }
.coesa-main-nav summary { position: relative; transition: color .18s ease, background-color .18s ease; }
.coesa-main-nav summary::before, .coesa-main-nav a::before { position: absolute; right: .72rem; bottom: .35rem; left: .72rem; height: 2px; background: linear-gradient(90deg, var(--coesa-magenta), var(--coesa-teal)); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.coesa-main-nav summary:hover::before, .coesa-main-nav summary:focus-visible::before,
.coesa-main-nav details[open] > summary::before,
.coesa-main-nav summary[aria-current="page"]::before,
.coesa-main-nav details[data-current-ancestor] > summary::before,
.coesa-main-nav a:hover::before, .coesa-main-nav a:focus-visible::before,
.coesa-main-nav a[aria-current="page"]::before { transform: scaleX(1); }
.coesa-main-nav details[open] > summary { color: var(--coesa-magenta-dark); background: #eee8e4; }
.coesa-main-nav summary::after { flex: 0 0 auto; transition: transform .2s ease; }
.coesa-main-nav a, .coesa-menu-unavailable { position: relative; }
.coesa-main-nav > ul > li > .coesa-menu-unavailable { box-sizing: border-box; }
@media (max-width: 680px) {
  .coesa-main-nav a, .coesa-main-nav summary, .coesa-menu-unavailable { box-sizing: border-box; }
}

.coesa-vim { background: #f8f5f2; border-block-color: #eee8e3; }
.coesa-vim-inner { min-height: 0; }
.coesa-vim-art { align-self: stretch; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #f8f5f2; }
.coesa-vim-art img { width: 100%; max-height: none; object-fit: contain; object-position: center; mix-blend-mode: normal; }

.coesa-legal-card { align-items: stretch; text-align: center; }
.coesa-legal-card a { align-self: center; min-width: 8.5rem; }
.coesa-servicios-grid { column-gap: 1.15rem; row-gap: clamp(2rem, 4vw, 3rem); align-items: stretch; }
.coesa-servicios-grid > .coesa-servicio { align-self: stretch; height: auto; min-height: 0; }
.coesa-servicio .coesa-servicio-boton, .coesa-servicio .coesa-unavailable-link,
.coesa-servicios-grid .coesa-servicio-boton { align-self: center; min-width: 8.5rem; margin: auto auto 0; color: #fff; background: var(--coesa-teal-dark); text-align: center; }
.coesa-servicios-grid .coesa-unavailable-link[aria-disabled="true"] { color: #fff; background: var(--coesa-teal-dark); }
.coesa-servicios-grid .coesa-servicio-boton:hover, .coesa-servicios-grid .coesa-unavailable-link:hover { background: var(--coesa-magenta); }

.coesa-site-logo { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.coesa-site-logo:hover, .coesa-site-logo:focus-within { transform: translateY(-.18rem); border-color: #b9d6d1; box-shadow: 0 .65rem 1.5rem rgb(26 48 48 / 13%); }
.coesa-site-logo span { display: none; }
.coesa-site-logo:focus-visible { outline: 3px solid var(--coesa-focus); outline-offset: 3px; }

.coesa-site-footer { padding-top: clamp(2rem, 4vw, 3.25rem); background: #292d30; border-top-width: .3rem; }
.coesa-footer-inner { grid-template-columns: 1.25fr .9fr 1fr 1.35fr; column-gap: clamp(1.25rem, 3vw, 2.75rem); row-gap: 1.5rem; }
.coesa-footer-inner h2 { margin-bottom: 1rem; font-size: 1.05rem; letter-spacing: .015em; }
.coesa-footer-brand .coesa-footer-government-logo { width: min(100%, 17rem); height: auto; max-height: none; margin: .15rem 0 1.35rem; filter: brightness(0) invert(1); }
.coesa-footer-brand .coesa-footer-agency { max-width: 17rem; margin: 0; color: #fff; font-size: 1.05rem; font-weight: 650; line-height: 1.45; }
.coesa-footer-links a, .coesa-footer-contact a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 2.6rem; padding: .45rem .05rem; border-bottom: 1px solid rgb(255 255 255 / 18%); }
.coesa-footer-links a::after, .coesa-footer-contact a::after { color: #e54a8a; content: "›"; font-size: 1.25rem; font-weight: 800; transition: transform .18s ease; }
.coesa-footer-links a:hover::after, .coesa-footer-contact a:hover::after { transform: translateX(.18rem); }
.coesa-site-footer a:hover, .coesa-site-footer a:focus-visible { color: #fff; text-decoration: underline; text-decoration-color: #e54a8a; text-underline-offset: .25em; }
.coesa-footer-inner .coesa-copyright { margin-top: .25rem; padding-block: 1rem; }

@media (max-width: 900px) {
  .coesa-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .coesa-footer-inner { grid-template-columns: 1fr; gap: 1.4rem; }
  .coesa-footer-brand .coesa-footer-government-logo { width: min(100%, 15rem); }
  .coesa-vim { padding-block: 1rem; }
  .coesa-vim-art { max-width: 32rem; margin-inline: auto; }
  .coesa-site-logo:hover, .coesa-site-logo:focus-within { transform: translateY(-.12rem); }
}

/* Fase 4C.6 — cambios temporales solicitados */
.coesa-slider-controls .coesa-slide-pause { width: 2rem; height: 2rem; opacity: .48; background: rgb(31 48 50 / 40%); border-color: rgb(255 255 255 / 45%); transition: opacity .18s ease, background-color .18s ease; }
.coesa-slider-controls .coesa-slide-pause:hover, .coesa-slider-controls .coesa-slide-pause:focus-visible { opacity: 1; background: rgb(31 48 50 / 82%); }

.coesa-vim { background: #006b63; border-block-color: #006b63; }
.coesa-vim-copy, .coesa-vim-details { color: #fff; }
.coesa-vim-copy h2, .coesa-vim-details h3 { color: #fff; }
.coesa-vim-art { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.coesa-vim-art img { border-radius: 0; }

.coesa-site-footer { padding: clamp(2rem, 4vw, 3.25rem) 0 0; }
.coesa-footer-inner { width: min(100% - 2.5rem, 82rem); }
.coesa-footer-bottom { width: 100%; margin: 0; background: #151719; border-top: 1px solid rgb(255 255 255 / 20%); }
.coesa-footer-bottom .coesa-copyright { display: flex; min-height: 3.5rem; align-items: center; justify-content: center; margin: 0; padding: .75rem 1.25rem; color: #f0f1f1; background: #151719; text-align: center; font-size: .9rem; line-height: 1.4; }
@media (max-width: 680px) {
  .coesa-footer-inner { width: min(100% - 1.25rem, 82rem); }
}

/* Phase 5: one-time institutional header reveal and global accessibility controls. */
.coesa-header-animation .coesa-brand img { animation: coesa-header-enter .35s ease-out both; }
.coesa-breadcrumbs { margin-block: 1rem; }
.coesa-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem .6rem; margin: 0; padding: 0; list-style: none; color: var(--coesa-muted); font-size: .9rem; }
.coesa-breadcrumbs li + li::before { margin-right: .6rem; color: var(--coesa-muted); content: "›"; }
.coesa-breadcrumbs a { color: var(--coesa-teal-dark); text-underline-offset: .2em; }
.coesa-breadcrumbs [aria-current="page"] { color: var(--coesa-ink); font-weight: 700; }

.coesa-a11y { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 10001; display: flex; flex-direction: column; align-items: flex-end; gap: .65rem; }
.coesa-a11y-toggle { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; padding: .72rem; color: #fff; background: #006b63; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 .25rem .8rem rgb(0 0 0 / 28%); cursor: pointer; }
.coesa-a11y-toggle:hover { background: #07594f; }
.coesa-a11y-toggle svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.coesa-a11y-panel { width: min(22rem, calc(100vw - 2rem)); max-height: min(70vh, 34rem); overflow: auto; padding: 1rem; color: #243138; background: #fff; border: 2px solid #006b63; border-radius: .75rem; box-shadow: 0 .65rem 2rem rgb(0 0 0 / 24%); }
.coesa-a11y-panel[hidden] { display: none; }
.coesa-a11y-panel h2 { margin: 0 0 .85rem; color: #07594f; font-size: 1.2rem; }
.coesa-a11y-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.coesa-a11y-panel button { min-height: 2.65rem; padding: .5rem .65rem; color: #203035; background: #f4f7f6; border: 1px solid #aabbb7; border-radius: .4rem; font: inherit; font-size: .93rem; line-height: 1.25; text-align: left; cursor: pointer; }
.coesa-a11y-panel button:hover { background: #e5f0ed; }
.coesa-a11y-panel button[aria-pressed="true"] { color: #fff; background: #07594f; border-color: #07594f; }
.coesa-a11y-panel .coesa-a11y-reset { width: 100%; margin-top: .65rem; color: #fff; background: #850342; border-color: #850342; text-align: center; }
.coesa-a11y-panel button:focus-visible, .coesa-a11y-toggle:focus-visible { outline-offset: 3px !important; }

html[data-coesa-text-scale="smaller"] { font-size: 90%; }
html[data-coesa-text-scale="larger"] { font-size: 112.5%; }
html[data-coesa-grayscale="true"] body.coesa-portal .coesa-site-header,
html[data-coesa-grayscale="true"] body.coesa-portal #coesa-main,
html[data-coesa-grayscale="true"] body.coesa-portal .coesa-site-footer { filter: grayscale(1); }
html[data-coesa-readable-font="true"] body.coesa-portal,
html[data-coesa-readable-font="true"] body.coesa-portal :is(h1,h2,h3,h4,p,li,a,button,label,input,select,textarea,figcaption,address) { font-family: Arial, Verdana, sans-serif !important; letter-spacing: .015em; line-height: 1.75; }
html[data-coesa-contrast="true"] body.coesa-portal { color: #111; background: #fff; }
html[data-coesa-contrast="true"] body.coesa-portal a { color: #003b79 !important; text-decoration: underline; text-underline-offset: .2em; }
html[data-coesa-contrast="true"] body.coesa-portal .coesa-site-header,
html[data-coesa-contrast="true"] body.coesa-portal .coesa-region,
html[data-coesa-contrast="true"] body.coesa-portal .coesa-card,
html[data-coesa-contrast="true"] body.coesa-portal .coesa-servicio,
html[data-coesa-contrast="true"] body.coesa-portal .coesa-legal-card { color: #111; border-color: #222; }
html[data-coesa-contrast="true"] body.coesa-portal .coesa-vim { background: #004a43; }

/* Reusable Joomla article shell: compact title, accessible documents and clean metadata. */
.com-content-article.coesa-article { box-sizing: border-box; width: 100%; max-width: 82rem; margin: 0 auto; padding: clamp(1rem, 2vw, 1.6rem); color: var(--coesa-text); overflow-wrap: anywhere; }
.coesa-article .coesa-article-header { margin: 0 0 1.25rem; padding: 0 0 .8rem; border: 0; border-bottom: 2px solid var(--coesa-border); }
.coesa-article-header h1, .coesa-article-header h2 { margin: 0; color: var(--coesa-teal-dark); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.2; }
.coesa-page-heading { margin: 0 0 1.25rem; color: var(--coesa-teal-dark); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.2; }
.coesa-article-body { min-width: 0; overflow-wrap: anywhere; }
.coesa-article-body .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem; margin-inline: 0; }
.coesa-article-body .row > [class*="col-"] { box-sizing: border-box; width: auto; min-width: 0; max-width: none; padding-inline: 0; }
.coesa-article-body div[style*="flex-direction: column"] { box-sizing: border-box !important; flex: 1 1 20rem !important; min-width: min(100%, 20rem) !important; padding: clamp(1rem, 2vw, 1.4rem) !important; background: #fff !important; border: 1px solid var(--coesa-border) !important; border-top: .28rem solid var(--coesa-teal) !important; border-radius: .55rem !important; box-shadow: var(--coesa-shadow) !important; }
.coesa-article-body div[style*="flex-direction: column"] h3 { margin-block: 0 1rem !important; color: var(--coesa-text) !important; font-size: 1.05rem !important; line-height: 1.4 !important; }
.coesa-article-body img { max-width: 100%; height: auto; }
.coesa-article-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.coesa-article-body a.coesa-document-link { display: inline-flex !important; align-self: center !important; align-items: center; justify-content: center; min-height: 2.65rem; margin: .6rem auto 0; padding: .48rem 1.2rem; color: #fff !important; background: var(--coesa-teal-dark) !important; border: 1px solid var(--coesa-teal-dark); border-radius: 2rem; font-weight: 700; text-align: center; text-decoration: none; }
.coesa-article-body a.coesa-document-link:hover, .coesa-article-body a.coesa-document-link:focus-visible { color: #fff !important; background: var(--coesa-magenta) !important; border-color: var(--coesa-magenta); }
.coesa-activity-return { margin: 0 0 .9rem; }
.coesa-activity-return a { display: inline-flex; min-height: 2.55rem; align-items: center; gap: .35rem; padding: .4rem .8rem; color: var(--coesa-teal-dark); background: #f3f8f7; border: 1px solid var(--coesa-border); border-radius: .4rem; font-weight: 700; text-decoration: none; }
.coesa-activity-return a:hover, .coesa-activity-return a:focus-visible { color: #fff; background: var(--coesa-teal-dark); border-color: var(--coesa-teal-dark); }
.coesa-activity-gallery-region { width: 100%; margin: 0 auto 1.25rem; }
.coesa-activity-kicker { display: inline-flex; margin: .25rem 0 .8rem !important; padding: .3rem .75rem; color: var(--coesa-magenta-dark); background: #fff1f7; border-radius: 2rem; font-size: .8rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.coesa-activity-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin: 1.75rem 0 1rem; padding-top: 1rem; border-top: 1px solid var(--coesa-border); }
.coesa-activity-page-link { display: flex; flex: 1 1 13rem; flex-direction: column; gap: .25rem; max-width: 48%; padding: .7rem .9rem; color: var(--coesa-teal-dark); background: #fff; border: 1px solid var(--coesa-border); border-radius: .45rem; text-decoration: none; }
.coesa-activity-page-link span { color: var(--coesa-muted); font-size: .82rem; font-weight: 700; }
.coesa-activity-page-next { margin-left: auto; text-align: right; }
.coesa-activity-page-link:hover, .coesa-activity-page-link:focus-visible { color: var(--coesa-magenta-dark); border-color: var(--coesa-magenta); box-shadow: var(--coesa-shadow); }

/* Normalize only lists whose every item is a PDF action; ordinary editorial lists retain bullets. */
.coesa-article-body ul.coesa-document-list, .coesa-article-body ol.coesa-document-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: .8rem; margin: 1rem 0 1.35rem; padding: 0; list-style: none !important; }
.coesa-article-body .coesa-document-list > li { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: .5rem; margin: 0 !important; padding: .9rem 1rem !important; background: #fff; border: 1px solid var(--coesa-border); border-top: .22rem solid var(--coesa-teal); border-radius: .5rem; box-shadow: 0 .25rem .8rem rgb(26 48 48 / 6%); list-style: none !important; }
.coesa-article-body .coesa-document-list > li::marker { content: ""; }
.coesa-article-body .coesa-document-list > li > a.coesa-document-link { align-self: center !important; margin: auto 0 0 !important; }
.coesa-article-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin: 2rem 0 1rem; padding-top: 1rem; border-top: 1px solid var(--coesa-border); }
.coesa-article-page-link { display: flex; flex: 1 1 13rem; flex-direction: column; gap: .15rem; max-width: 48%; padding: .65rem .9rem; color: var(--coesa-teal-dark); background: #fff; border: 1px solid var(--coesa-border); border-radius: .45rem; text-decoration: none; }
.coesa-article-page-next { margin-left: auto; text-align: right; }
.coesa-article-page-link:hover, .coesa-article-page-link:focus-visible { color: var(--coesa-magenta-dark); border-color: var(--coesa-magenta); box-shadow: var(--coesa-shadow); }
.coesa-article-page-label { color: var(--coesa-muted); font-size: .78rem; font-weight: 650; }
.coesa-article-views { margin: 1.75rem 0 0; padding-top: .7rem; color: var(--coesa-muted); border-top: 1px solid var(--coesa-border); font-size: .88rem; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
  .com-content-article.coesa-article { padding: .85rem 0; }
  .coesa-article-page-link { max-width: 100%; }
  .coesa-article-body .row { grid-template-columns: minmax(0, 1fr); }
}
html[data-coesa-contrast="true"] body.coesa-portal .coesa-a11y-panel { color: #111; border-color: #111; }
html[data-coesa-contrast="true"] body.coesa-portal .coesa-a11y-panel button { color: #111; background: #fff; border: 2px solid #111; }

/* Fase 5E — bounded white menus and institutional activities/contact layouts. */
.coesa-menu-region { background: #fff; border-color: var(--coesa-border); }
.coesa-main-nav a:hover, .coesa-main-nav summary:hover,
.coesa-main-nav details[open] > summary,
.coesa-main-nav summary[aria-current="location"] { color: var(--coesa-teal-dark); background: #fff; }
.coesa-main-nav details.coesa-menu-dropdown[open] > summary { color: var(--coesa-teal-dark) !important; background: #fff !important; }
#coesa-main-navigation details.coesa-menu-dropdown[open] > summary,
#coesa-main-navigation details.coesa-menu-dropdown[data-current-ancestor] > summary { color: var(--coesa-teal-dark) !important; background-color: #fff !important; }
#coesa-main-navigation details.coesa-menu-dropdown[open] > summary::before,
#coesa-main-navigation summary:hover::before,
#coesa-main-navigation summary:focus-visible::before { background: linear-gradient(90deg, var(--coesa-magenta), var(--coesa-teal)) !important; transform: scaleX(1) !important; }
.coesa-main-nav details > ul { box-sizing: border-box; max-width: min(24rem, calc(100vw - 2rem)); overflow: hidden; }
.coesa-main-nav details > ul a, .coesa-main-nav details > ul .coesa-menu-unavailable { box-sizing: border-box; min-width: 0; background: #fff; border-radius: .15rem; overflow-wrap: anywhere; }
.coesa-main-nav details > ul a:hover, .coesa-main-nav details > ul a:focus-visible { color: var(--coesa-teal-dark); background: #fff; }
.coesa-main-nav details > ul a::before { right: .72rem; bottom: .22rem; left: .72rem; height: 1px; background: var(--coesa-teal); }
.coesa-main-nav details[open] > ul { border-color: #d7e4e1; }
.coesa-main-nav .coesa-menu-unavailable { color: #687579; }

.coesa-main-nav > ul > li > a[aria-current="page"],
.coesa-main-nav > ul > li > details[data-current-ancestor] > summary { color: var(--coesa-magenta-dark); }
.coesa-main-nav > ul > li > a:hover, .coesa-main-nav > ul > li > details > summary:hover { color: var(--coesa-teal-dark); }

.com-content-category-blog__navigation { display: flex; flex-direction: column; align-items: center; gap: .4rem; margin: 1.75rem auto .5rem; }
.com-content-category-blog__counter { float: none !important; margin: 0 !important; padding: 0 !important; color: var(--coesa-muted); text-align: center; }
.com-content-category-blog__pagination { width: 100%; }
.com-content-category-blog__pagination nav.pagination__wrapper { display: flex; justify-content: center; width: 100%; }
.com-content-category-blog__pagination ul.pagination { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem; margin: .5rem auto 1rem !important; padding: 0 !important; list-style: none !important; }
.com-content-category-blog__pagination ul.pagination > li { display: block; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.com-content-category-blog__pagination ul.pagination > li::marker { content: ""; }
.com-content-category-blog__pagination .page-link { display: grid; min-width: 2.7rem; min-height: 2.7rem; place-items: center; padding: .45rem .72rem; color: var(--coesa-teal-dark); background: #fff; border: 1px solid #cbd9d6; border-radius: .4rem; font-weight: 650; text-decoration: none; transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
.com-content-category-blog__pagination a.page-link:hover, .com-content-category-blog__pagination a.page-link:focus-visible { color: #fff; background: var(--coesa-teal); border-color: var(--coesa-teal); transform: translateY(-1px); }
.com-content-category-blog__pagination li.active .page-link, .com-content-category-blog__pagination .page-link[aria-current="true"] { color: #fff; background: var(--coesa-magenta); border-color: var(--coesa-magenta); }
.com-content-category-blog__pagination li.disabled .page-link { color: #8b9694; background: #f2f5f4; border-color: #e1e7e5; cursor: not-allowed; }

.coesa-contact-page { display: block; }
.coesa-contact-page > h2, .coesa-contact-page > p { margin-block: .7rem; }
.coesa-contact-columns { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: stretch; gap: clamp(1rem, 3vw, 2rem); margin: 1.25rem 0 2rem; }
.coesa-contact-card { min-width: 0; padding: clamp(1.1rem, 2.5vw, 1.65rem); background: #fff; border: 1px solid var(--coesa-border); border-top: .28rem solid var(--coesa-teal); border-radius: .6rem; box-shadow: var(--coesa-shadow); }
.coesa-contact-card h2, .coesa-contact-card h3 { margin: 0 0 .8rem; color: var(--coesa-teal-dark); font-size: 1.25rem; }
.coesa-contact-card address { margin: .75rem 0; font-style: normal; }
.coesa-contact-card p { margin: .55rem 0; }
.coesa-contact-card a { color: var(--coesa-teal-dark); text-underline-offset: .2em; overflow-wrap: anywhere; }
.coesa-contact-map { min-height: 20rem; }
.coesa-contact-map-help { padding: .45rem .65rem; color: var(--coesa-muted); background: #f4f7f6; border-left: .2rem solid var(--coesa-teal); font-size: .88rem; }
.coesa-contact-map iframe { display: block; width: 100%; min-height: 20rem; border: 0; border-radius: .4rem; }
.coesa-contact-map .coesa-button, .coesa-contact-form .coesa-button { display: flex; width: fit-content; min-height: 2.65rem; align-items: center; justify-content: center; margin: 1rem auto 0; padding: .5rem 1.25rem; color: #fff; background: var(--coesa-teal-dark); border: 1px solid var(--coesa-teal-dark); border-radius: 2rem; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.coesa-contact-map .coesa-button:hover, .coesa-contact-form .coesa-button:hover { color: #fff; background: var(--coesa-magenta); border-color: var(--coesa-magenta); }
.coesa-contact-form { margin: 1.25rem 0 0; }
.coesa-contact-form > p[role="status"] { padding: .8rem 1rem; color: #33434a; background: #f2f7f6; border-left: .25rem solid var(--coesa-teal); }
.coesa-contact-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin: 0; padding: 1rem; border: 1px solid var(--coesa-border); border-radius: .5rem; }
.coesa-contact-form legend { padding-inline: .5rem; color: var(--coesa-teal-dark); font-weight: 700; }
.coesa-contact-form label { display: block; color: var(--coesa-ink); font-weight: 650; }
.coesa-contact-form input:not([type="checkbox"]), .coesa-contact-form textarea { box-sizing: border-box; display: block; width: 100%; min-height: 2.7rem; margin-top: .25rem; padding: .55rem .65rem; color: var(--coesa-text); background: #fff; border: 1px solid #aebfbb; border-radius: .3rem; font: inherit; }
.coesa-contact-form label:has(textarea), .coesa-contact-form .coesa-contact-privacy, .coesa-contact-form .coesa-contact-submit { grid-column: 1 / -1; }
.coesa-contact-form textarea { min-height: 8rem; resize: vertical; }
.coesa-contact-form .coesa-contact-privacy { display: flex; align-items: flex-start; gap: .55rem; font-weight: 500; }
.coesa-contact-form .coesa-contact-privacy input { margin-top: .35rem; }
.coesa-contact-form .coesa-contact-submit { justify-self: center; }
.coesa-contact-form fieldset:disabled { opacity: .88; }

.coesa-document-pending { display: flex; flex-direction: column; gap: .2rem; margin: .75rem 0; padding: .85rem 1rem; color: #5d4300; background: #fff7d6; border: 1px solid #d3a323; border-left: .3rem solid #b98500; border-radius: .35rem; }
.coesa-document-pending strong { color: #765300; letter-spacing: .025em; }
.coesa-document-pending span { color: #574a2a; }
.coesa-article-body .row > [class*="col-"] { align-self: stretch; }
.coesa-article-body .coesa-document-link { align-self: center !important; }
.coesa-article-gallery { position: relative; width: 100%; min-width: 0; margin: 0 auto .25rem; padding: 0; }
.coesa-article-gallery-slide { box-sizing: border-box; display: block; width: min(100%, 60rem); aspect-ratio: 16 / 9; min-width: 0; margin: 0 auto; padding: 0 !important; overflow: hidden; background: #f2f6f5; border: 1px solid var(--coesa-border); border-radius: .55rem; }
.coesa-article-gallery-slide[hidden] { display: none !important; }
.coesa-article-gallery-slide img { display: block !important; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 auto !important; object-fit: contain; }
.coesa-article-gallery-single .coesa-article-gallery-slide { margin-bottom: 1.25rem; }
.coesa-slider-fallback { display: none !important; }
.coesa-article-gallery-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; margin: .65rem auto 1.2rem; }
.coesa-article-gallery-controls > button { display: grid; min-width: 2.55rem; min-height: 2.55rem; place-items: center; padding: .25rem .65rem; color: var(--coesa-teal-dark); background: #fff; border: 1px solid #a9bfbb; border-radius: 50%; font: inherit; font-size: 1.5rem; font-weight: 700; line-height: 1; cursor: pointer; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.coesa-article-gallery-controls > button:hover:not(:disabled), .coesa-article-gallery-controls > button:focus-visible { color: #fff; background: var(--coesa-magenta); border-color: var(--coesa-magenta); }
.coesa-article-gallery-dots { display: flex; max-width: min(100%, 30rem); flex-wrap: wrap; align-items: center; justify-content: center; gap: .3rem; }
.coesa-article-gallery-dot { width: .62rem; height: .62rem; padding: 0; background: #fff; border: 1px solid #758984; border-radius: 50%; cursor: pointer; }
.coesa-article-gallery-dot[aria-current="true"] { background: var(--coesa-magenta); border-color: var(--coesa-magenta); }
.coesa-article-gallery:focus-visible { outline: 3px solid var(--coesa-focus); outline-offset: 4px; }

.coesa-back-to-top { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: calc(max(1rem, env(safe-area-inset-bottom)) + 3.25rem + .75rem); z-index: 10000; display: grid; width: 3rem; height: 3rem; place-items: center; padding: .65rem; color: #fff; background: #006b63; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 .25rem .8rem rgb(0 0 0 / 28%); text-decoration: none; cursor: pointer; transition: background-color .18s ease, transform .18s ease; }
.coesa-back-to-top[hidden] { display: none !important; }
.coesa-back-to-top:hover, .coesa-back-to-top:focus-visible { color: #fff; background: #07594f; transform: translateY(-2px); }
.coesa-back-to-top svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
.coesa-back-to-top:focus-visible { outline: 3px solid var(--coesa-focus); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .coesa-article-gallery-controls > button, .coesa-back-to-top { transition: none !important; }
}

@media (max-width: 680px) {
  .coesa-main-nav details > ul { max-width: none; }
  .com-content-category-blog__pagination ul.pagination { gap: .3rem; }
  .com-content-category-blog__pagination .page-link { min-width: 2.4rem; min-height: 2.4rem; padding: .3rem .55rem; }
  .coesa-contact-columns { grid-template-columns: minmax(0, 1fr); }
  .coesa-contact-map, .coesa-contact-map iframe { min-height: 17rem; }
  .coesa-contact-form fieldset { grid-template-columns: minmax(0, 1fr); }
  .coesa-contact-form label:has(textarea), .coesa-contact-form .coesa-contact-privacy, .coesa-contact-form .coesa-contact-submit { grid-column: auto; }
  .coesa-article-gallery-controls { gap: .35rem; }
  .coesa-activity-page-link { max-width: 100%; }
}

@media (max-width: 680px) {
  .coesa-a11y-panel { max-height: 62vh; }
  .coesa-a11y-options { grid-template-columns: 1fr; }
}

/* Redes sociales del pie: disposición horizontal sin afectar otros enlaces. */
.coesa-footer-contact .coesa-social-icons { display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-start; gap: .75rem; }
.coesa-footer-contact .coesa-social-icons > a.coesa-social-icon { display: inline-flex; flex: 0 0 auto; width: auto; min-height: 0; align-items: center; justify-content: center; padding: .45rem; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; }
.coesa-footer-contact .coesa-social-icons > a.coesa-social-icon::after { content: none; }
