/* ==========================================================================
   ACODISA — CSS DE COMPONENTES (companion)
   Header + Home + Footer. Depende de acodisa-kit.css (cárgalo antes).
   Destino: Elementor → Ajustes del sitio → CSS personalizado
            (o style.css del tema hijo, después del kit)
   ========================================================================== */

/* ==========================================================================
   HEADER
   ========================================================================== */

/* --- Barra de utilidad --- */
.acd-utilbar{
  background:var(--acd-p900);
  color:rgba(255,255,255,.74);
  font-size:11.5px;
  line-height:1;
}
.acd-utilbar__inner{
  min-height:34px;
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--acd-s4);
  flex-wrap:wrap;
}
.acd-utilbar a{ color:inherit; text-decoration:none; }
.acd-utilbar a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.acd-utilbar__group{ display:flex; align-items:center; gap:var(--acd-s6); flex-wrap:wrap; }
.acd-utilbar strong{ color:#fff; font-weight:600; }
.acd-utilbar__zone{ color:var(--acd-a500); font-weight:600; }
.acd-utilbar__zone:hover{ color:var(--acd-a500); }
@media (max-width:767px){ .acd-utilbar{ display:none; } }

/* --- Barra principal --- */
.acd-header{
  background:var(--acd-surface);
  border-bottom:1px solid var(--acd-border);
}
.acd-header__inner{
  min-height:82px;
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--acd-s6);
}
.acd-header__logo img{
  height:46px; width:auto; display:block;
  transition:height var(--acd-t-base) var(--acd-ease);
}

/* --- Navegación --- */
.acd-nav{ display:flex; align-items:center; gap:26px; }
.acd-nav__link{
  position:relative;
  display:block;
  padding:6px 0;
  font-size:15px; font-weight:500; line-height:1.4;
  color:var(--acd-i700);
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--acd-t-fast) var(--acd-ease);
}
.acd-nav__link::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-8px;
  height:2px; background:var(--acd-a500);
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--acd-t-fast) var(--acd-ease);
}
.acd-nav__link:hover{ color:var(--acd-p700); }
.acd-nav__link:hover::after{ transform:scaleX(1); }
.acd-nav__link[aria-current="page"]{ color:var(--acd-p700); font-weight:650; }
.acd-nav__link[aria-current="page"]::after{ transform:scaleX(1); }
@media (max-width:1024px){ .acd-nav,.acd-header__cta{ display:none; } }

/* --- Estado sticky --- */
.acd-headerwrap{ position:sticky; top:0; z-index:500; }
.acd-headerwrap.is-stuck .acd-utilbar{
  /* se retrae sin desmontarse: conserva el espacio reservado y evita CLS */
  max-height:0; overflow:hidden;
  transition:max-height var(--acd-t-base) var(--acd-ease);
}
.acd-utilbar{ max-height:60px; transition:max-height var(--acd-t-base) var(--acd-ease); }
.acd-headerwrap.is-stuck .acd-header{
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:var(--acd-sh-sm);
}
.acd-headerwrap.is-stuck .acd-header__inner{ min-height:58px; }
.acd-headerwrap.is-stuck .acd-header__logo img{ height:34px; }
.acd-header,.acd-header__inner{
  transition:background-color var(--acd-t-base) var(--acd-ease),
             min-height var(--acd-t-base) var(--acd-ease),
             box-shadow var(--acd-t-base) var(--acd-ease);
}

/* --- Hamburguesa --- */
.acd-burger{
  display:none;
  width:44px; height:44px;
  align-items:center; justify-content:center;
  flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:0;
}
.acd-burger span{
  display:block; width:24px; height:1.5px; border-radius:2px;
  background:var(--acd-p700);
  transition:transform var(--acd-t-base) var(--acd-ease),
             opacity var(--acd-t-fast) var(--acd-ease),
             width var(--acd-t-base) var(--acd-ease);
}
.acd-burger span:last-child{ width:16px; }
.acd-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.acd-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.acd-burger[aria-expanded="true"] span:nth-child(3){ width:24px; transform:translateY(-6.5px) rotate(-45deg); }
@media (max-width:1024px){
  .acd-burger{ display:flex; }
  .acd-header__inner{ min-height:60px; }
  .acd-header__logo img{ height:34px; }
}

/* --- Panel de menú móvil --- */
.acd-mobilemenu{
  position:fixed; inset:0; top:60px;
  background:var(--acd-bg);
  z-index:490;
  display:flex; flex-direction:column;
  padding:var(--acd-s2) 0 var(--acd-s8);
  overflow-y:auto;
  opacity:0; visibility:hidden;
  transform:translateY(-8px);
  /* visibility conmuta de golpe, retrasada hasta el final SOLO al cerrar.
     Si se interpolara, el panel seguiría en `hidden` durante el primer frame
     y .focus() sobre el primer enlace no haría nada (fallo de WCAG 2.4.3). */
  transition:opacity var(--acd-t-base) var(--acd-ease),
             transform var(--acd-t-base) var(--acd-ease),
             visibility 0s linear var(--acd-t-base);
}
.acd-mobilemenu.is-open{
  opacity:1; visibility:visible; transform:none;
  transition:opacity var(--acd-t-base) var(--acd-ease),
             transform var(--acd-t-base) var(--acd-ease),
             visibility 0s linear 0s;
}
.acd-mobilemenu__link{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px var(--acd-gutter);
  border-bottom:1px solid var(--acd-border);
  font-family:var(--acd-font-display);
  font-size:21px; font-weight:500; line-height:1.3;
  color:var(--acd-i900); text-decoration:none;
  min-height:44px;
  opacity:0; transform:translateY(8px);
}
.acd-mobilemenu.is-open .acd-mobilemenu__link{
  animation:acd-menu-in var(--acd-t-base) var(--acd-ease-in) forwards;
}
.acd-mobilemenu.is-open .acd-mobilemenu__link:nth-child(1){ animation-delay:40ms; }
.acd-mobilemenu.is-open .acd-mobilemenu__link:nth-child(2){ animation-delay:80ms; }
.acd-mobilemenu.is-open .acd-mobilemenu__link:nth-child(3){ animation-delay:120ms; }
.acd-mobilemenu.is-open .acd-mobilemenu__link:nth-child(4){ animation-delay:160ms; }
.acd-mobilemenu.is-open .acd-mobilemenu__link:nth-child(5){ animation-delay:200ms; }
.acd-mobilemenu.is-open .acd-mobilemenu__link:nth-child(6){ animation-delay:240ms; }
@keyframes acd-menu-in{ to{ opacity:1; transform:none; } }
.acd-mobilemenu__link[aria-current="page"]{ color:var(--acd-p700); }
.acd-mobilemenu__zone{
  font-family:var(--acd-font-sans);
  font-size:14px; font-weight:600;
  color:var(--acd-a700);
  border-bottom:none;
}
.acd-mobilemenu__foot{
  margin-top:auto;
  padding:var(--acd-s6) var(--acd-gutter) 0;
  border-top:1px solid var(--acd-border);
}
.acd-mobilemenu__contact{
  font-size:13px; line-height:1.6; color:var(--acd-i500);
  margin-bottom:var(--acd-s4);
}
.acd-mobilemenu__contact strong{ color:var(--acd-i900); font-weight:650; }
body.acd-menu-open{ overflow:hidden; }
@media (prefers-reduced-motion:reduce){
  .acd-mobilemenu__link{ opacity:1; transform:none; animation:none !important; }
}

/* ==========================================================================
   LAYOUT DE SECCIÓN
   ========================================================================== */
.acd-section{ padding-block:var(--acd-section-y); }
.acd-section--tight{ padding-block:calc(var(--acd-section-y) * .72); }
.acd-wrap{
  width:100%; max-width:var(--acd-wrap);
  margin-inline:auto;
  padding-inline:var(--acd-gutter);
}
.acd-band-dark{ background:var(--acd-p900); color:rgba(255,255,255,.82); }
.acd-band-dark h1,.acd-band-dark h2,.acd-band-dark h3{ color:#fff; }
.acd-band-tint{ background:var(--acd-p100); }
.acd-band-surface{ background:var(--acd-surface); }
.acd-band-sunken{ background:var(--acd-sunken); }
.acd-band-rule{ border-block:1px solid var(--acd-border); }

.acd-sectionhead{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:var(--acd-s6); flex-wrap:wrap;
  margin-bottom:var(--acd-s12);
}
.acd-sectionhead__text{ max-width:60ch; }

/* ==========================================================================
   1 · HERO
   ========================================================================== */
.acd-hero{
  background:var(--acd-p900);
  min-height:78vh;
  display:flex; align-items:center;
  padding-block:var(--acd-s16);
}
.acd-hero__grid{
  display:grid; gap:var(--acd-s12);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:1025px){
  .acd-hero__grid{ grid-template-columns:7fr 5fr; gap:var(--acd-s16); }
}
.acd-hero__title{
  font-family:var(--acd-font-display);
  font-weight:500;
  font-size:clamp(2.35rem,1.5rem + 3.3vw,4.25rem);
  line-height:1.05; letter-spacing:-.02em;
  color:#fff;
  margin:0 0 var(--acd-s6);
  max-width:18ch;
}
.acd-hero__lead{
  font-size:clamp(1.06rem,1rem + .35vw,1.25rem);
  line-height:1.6;
  color:rgba(255,255,255,.80);
  max-width:56ch;
  margin:0 0 var(--acd-s8);
}
.acd-hero__actions{ display:flex; gap:var(--acd-s3); flex-wrap:wrap; }

/* Índice territorial — columna derecha del hero */
.acd-territory{
  border-top:2px solid var(--acd-a500);
  padding-top:var(--acd-s4);
}
.acd-territory__title{
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--acd-a500);
  margin:0 0 var(--acd-s2);
}
.acd-territory__list{ list-style:none; margin:0; padding:0; }
.acd-territory__item{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:var(--acd-s4);
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  transition:padding-inline-start var(--acd-t-fast) var(--acd-ease);
}
.acd-territory__item:hover{ padding-inline-start:6px; }
.acd-territory__name{
  font-size:15px; font-weight:500; color:rgba(255,255,255,.88);
}
.acd-territory__dots{
  flex:1; height:1px; background:rgba(255,255,255,.16); margin-bottom:4px;
}
.acd-territory__count{
  font-size:15px; font-weight:650; color:#fff;
  font-variant-numeric:tabular-nums;
  min-width:2ch; text-align:right;
}
.acd-territory__foot{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:var(--acd-s4);
  padding-top:var(--acd-s3);
  font-size:12.5px; color:rgba(255,255,255,.60);
}

/* ==========================================================================
   2 · CIFRAS CLAVE
   ========================================================================== */
.acd-stats{
  display:grid; gap:var(--acd-s8);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:1025px){ .acd-stats{ grid-template-columns:repeat(4,1fr); } }
.acd-stat{ border-left:2px solid var(--acd-a500); padding:2px 0 2px var(--acd-s4); }
.acd-stat__n{
  font-family:var(--acd-font-display);
  font-weight:500;
  font-size:clamp(2.1rem,1.6rem + 1.6vw,2.9rem);
  line-height:1; letter-spacing:-.02em;
  color:var(--acd-p700);
  font-variant-numeric:tabular-nums;
  display:block;
}
.acd-stat__l{
  font-size:12.5px; line-height:1.45; color:var(--acd-i500);
  margin-top:var(--acd-s2);
  max-width:22ch;
}

/* ==========================================================================
   3 · QUIÉNES SOMOS
   ========================================================================== */
.acd-about{
  display:grid; gap:var(--acd-s12);
  grid-template-columns:1fr;
}
@media (min-width:1025px){
  .acd-about{ grid-template-columns:7fr 5fr; gap:var(--acd-s16); align-items:start; }
}
.acd-about__body p{
  font-family:var(--acd-font-display);
  font-size:clamp(1.15rem,1.05rem + .4vw,1.3125rem);
  line-height:1.62;
  color:var(--acd-i700);
  max-width:60ch;
}
.acd-about__body p + p{ margin-top:var(--acd-s4); }

.acd-pillars{ list-style:none; margin:0; padding:0; }
.acd-pillar{
  padding-block:var(--acd-s4);
  border-top:1px solid var(--acd-border);
  display:grid; grid-template-columns:24px 1fr; gap:var(--acd-s4);
  align-items:start;
}
.acd-pillar:last-child{ border-bottom:1px solid var(--acd-border); }
.acd-pillar__icon{ color:var(--acd-p600); margin-top:2px; }
.acd-pillar__icon svg{ width:20px; height:20px; display:block; }
.acd-pillar h4{
  font-size:15.5px; font-weight:650; line-height:1.35;
  color:var(--acd-i900); margin:0 0 4px;
}
.acd-pillar p{ font-size:14px; line-height:1.55; color:var(--acd-i500); margin:0; }

/* ==========================================================================
   4 · QUÉ REPRESENTA
   ========================================================================== */
.acd-repcards{
  display:grid; gap:var(--acd-s6);
  grid-template-columns:1fr;
}
@media (min-width:768px){ .acd-repcards{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1025px){ .acd-repcards{ grid-template-columns:repeat(3,1fr); } }

/* ==========================================================================
   TARJETA — componente compartido
   ========================================================================== */
.acd-card{
  background:var(--acd-surface);
  border:1px solid var(--acd-border);
  border-radius:var(--acd-r-sm);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:border-color var(--acd-t-base) var(--acd-ease),
             box-shadow var(--acd-t-base) var(--acd-ease);
}
.acd-card:hover{ border-color:var(--acd-p500); box-shadow:var(--acd-sh-md); }
.acd-card__media{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--acd-sunken);
}
.acd-card__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform var(--acd-t-slow) var(--acd-ease);
}
.acd-card:hover .acd-card__media img{ transform:scale(1.03); }
.acd-card__body{
  padding:var(--acd-s6);
  display:flex; flex-direction:column; gap:var(--acd-s2);
  flex:1;
}
@media (min-width:1025px){ .acd-card__body{ padding:28px; } }
.acd-card__title{
  font-size:clamp(1.03rem,.98rem + .25vw,1.15rem);
  font-weight:650; line-height:1.32; letter-spacing:-.008em;
  color:var(--acd-i900); margin:0;
}
/* El enlace envuelve solo el título y se expande a toda la tarjeta:
   el lector de pantalla anuncia un enlace con texto útil (WCAG 2.4.4) */
.acd-card__title a{ color:inherit; text-decoration:none; }
.acd-card__title a::after{ content:""; position:absolute; inset:0; }
.acd-card{ position:relative; }
.acd-card__title a:hover{ color:var(--acd-p700); }
.acd-card__excerpt{
  font-size:14px; line-height:1.55; color:var(--acd-i500); margin:0;
}
.acd-card__foot{
  margin-top:auto;
  padding-top:var(--acd-s3);
  border-top:1px solid var(--acd-sunken);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  /* i500, no i400: a 12px la fecha y el autor son texto esencial y necesitan
     4.5:1. i400 se queda para elementos no textuales. */
  font-size:12px; color:var(--acd-i500);
  font-variant-numeric:tabular-nums;
}
.acd-chip{
  display:inline-block; align-self:flex-start;
  font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--acd-a700);
  border:1px solid #D9C9A8;
  border-radius:var(--acd-r-xs);
  padding:2px 7px;
}

/* ==========================================================================
   5 · BENEFICIOS
   ========================================================================== */
.acd-benefits{
  display:grid; gap:var(--acd-s8) var(--acd-s6);
  grid-template-columns:1fr;
}
@media (min-width:768px){ .acd-benefits{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1025px){ .acd-benefits{ grid-template-columns:repeat(3,1fr); } }
.acd-benefit__icon{ color:var(--acd-p600); margin-bottom:var(--acd-s3); }
.acd-benefit__icon svg{ width:24px; height:24px; display:block; }
.acd-benefit h4{
  font-size:16px; font-weight:650; line-height:1.35;
  color:var(--acd-i900); margin:0 0 6px;
}
.acd-benefit p{ font-size:14px; line-height:1.6; color:var(--acd-i500); margin:0; }

/* ==========================================================================
   6 · ACTUALIDAD
   ========================================================================== */
.acd-featured{
  display:grid; gap:var(--acd-s6);
  grid-template-columns:1fr;
  margin-bottom:var(--acd-s8);
  position:relative;
  background:var(--acd-surface);
  border:1px solid var(--acd-border);
  border-radius:var(--acd-r-sm);
  overflow:hidden;
  transition:border-color var(--acd-t-base) var(--acd-ease),
             box-shadow var(--acd-t-base) var(--acd-ease);
}
.acd-featured:hover{ border-color:var(--acd-p500); box-shadow:var(--acd-sh-md); }
@media (min-width:768px){
  .acd-featured{ grid-template-columns:1fr 1fr; gap:0; align-items:stretch; }
}
.acd-featured__media{ aspect-ratio:16/10; overflow:hidden; background:var(--acd-sunken); }
.acd-featured__media img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform var(--acd-t-slow) var(--acd-ease); }
.acd-featured:hover .acd-featured__media img{ transform:scale(1.03); }
.acd-featured__body{
  padding:var(--acd-s6);
  display:flex; flex-direction:column; gap:var(--acd-s3);
  justify-content:center;
}
@media (min-width:1025px){ .acd-featured__body{ padding:var(--acd-s12); } }
.acd-featured__title{
  font-family:var(--acd-font-sans);
  font-size:clamp(1.3rem,1.1rem + .9vw,1.75rem);
  font-weight:650; line-height:1.25; letter-spacing:-.012em;
  color:var(--acd-i900); margin:0;
}
.acd-featured__title a{ color:inherit; text-decoration:none; }
.acd-featured__title a::after{ content:""; position:absolute; inset:0; }
.acd-featured__title a:hover{ color:var(--acd-p700); }

.acd-newsgrid{
  display:grid; gap:var(--acd-s6);
  grid-template-columns:1fr;
}
@media (min-width:768px){ .acd-newsgrid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1025px){ .acd-newsgrid{ grid-template-columns:repeat(3,1fr); } }
/* En móvil se recorta la tercera tarjeta para no alargar el scroll */
@media (max-width:767px){ .acd-newsgrid > :nth-child(3){ display:none; } }

/* Fallback gráfico para noticia sin imagen destacada (P-04) */
.acd-fallbackimg{
  width:100%; height:100%;
  background:var(--acd-p900);
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.acd-fallbackimg span{
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--acd-a500);
  position:relative; z-index:1;
}

/* ==========================================================================
   7 · MURO DE ASOCIADOS
   ========================================================================== */
.acd-logowall{
  display:grid; gap:var(--acd-s4);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:768px){ .acd-logowall{ grid-template-columns:repeat(3,1fr); gap:20px; } }
@media (min-width:1025px){ .acd-logowall{ grid-template-columns:repeat(5,1fr); gap:var(--acd-s6); } }
.acd-logotile{
  background:var(--acd-surface);
  border:1px solid var(--acd-border);
  border-radius:var(--acd-r-sm);
  min-height:78px;
  display:flex; align-items:center; justify-content:center;
  padding:var(--acd-s4);
  filter:grayscale(1);
  opacity:.62;
  transition:filter var(--acd-t-base) var(--acd-ease),
             opacity var(--acd-t-base) var(--acd-ease),
             border-color var(--acd-t-base) var(--acd-ease);
}
.acd-logotile:hover,.acd-logotile:focus-within{
  filter:grayscale(0); opacity:1; border-color:var(--acd-border-strong);
}
.acd-logotile img{ max-width:70%; max-height:46px; width:auto; height:auto; display:block; }
/* Marcador tipográfico mientras no haya logo normalizado */
.acd-logotile__text{
  font-size:11px; font-weight:600; letter-spacing:.06em; text-align:center;
  color:var(--acd-i500); line-height:1.3;
}
@media (max-width:767px){
  /* 12 logos en móvil + enlace al directorio completo */
  .acd-logowall > :nth-child(n+13){ display:none; }
}

/* ==========================================================================
   8 · CTA DE CIERRE
   ========================================================================== */
.acd-cta{ background:var(--acd-p800); padding-block:112px; }
@media (max-width:767px){ .acd-cta{ padding-block:var(--acd-s16); } }
.acd-cta__grid{
  display:grid; gap:var(--acd-s8);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:1025px){
  .acd-cta__grid{ grid-template-columns:1.5fr 1fr; gap:var(--acd-s16); }
}
.acd-cta__title{
  font-family:var(--acd-font-display); font-weight:500;
  font-size:clamp(1.75rem,1.4rem + 1.6vw,2.6rem);
  line-height:1.15; letter-spacing:-.015em; color:#fff; margin:0 0 var(--acd-s4);
  max-width:22ch;
}
.acd-cta__actions{ display:flex; flex-direction:column; gap:var(--acd-s3); align-items:flex-start; }
@media (min-width:1025px){ .acd-cta__actions{ align-items:stretch; } }
.acd-cta__phone{
  font-size:13.5px; color:rgba(255,255,255,.66); margin-top:var(--acd-s2);
}
.acd-cta__phone a{ color:#fff; text-decoration:none; font-weight:600; }
.acd-cta__phone a:hover{ text-decoration:underline; text-underline-offset:3px; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.acd-footer{
  background:var(--acd-p900);
  color:rgba(255,255,255,.80);
  font-size:13.5px;
  padding-top:var(--acd-s24);
}
@media (max-width:767px){ .acd-footer{ padding-top:var(--acd-s16); } }
.acd-footer__cols{
  display:grid; gap:var(--acd-s8);
  grid-template-columns:1fr;
}
@media (min-width:768px){ .acd-footer__cols{ grid-template-columns:repeat(2,1fr); gap:var(--acd-s12) var(--acd-s8); } }
@media (min-width:1025px){ .acd-footer__cols{ grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:var(--acd-s12); } }

.acd-footer__plate{
  background:#fff; border-radius:3px;
  padding:9px 12px; display:inline-block;
  margin-bottom:var(--acd-s4);
}
.acd-footer__plate img{ height:40px; width:auto; display:block; }
.acd-footer__desc{
  color:rgba(255,255,255,.66); line-height:1.6;
  max-width:34ch; margin:0 0 var(--acd-s4);
}
.acd-footer__ft{
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--acd-a500);
  margin:0 0 var(--acd-s3);
}
.acd-footer ul{ list-style:none; margin:0; padding:0; }
.acd-footer li{ margin-bottom:var(--acd-s2); }
.acd-footer a{
  color:rgba(255,255,255,.80); text-decoration:none;
  transition:color var(--acd-t-fast) var(--acd-ease);
}
.acd-footer a:hover{
  color:#fff;
  text-decoration:underline; text-decoration-color:var(--acd-a500);
  text-underline-offset:3px; text-decoration-thickness:1px;
}
.acd-footer__addr{ line-height:1.65; font-style:normal; }
.acd-footer__addr strong{ color:#fff; font-weight:600; }
.acd-footer__slot{
  border:1px dashed rgba(184,134,59,.55);
  color:var(--acd-a500);
  font-size:11px; padding:7px 11px;
  border-radius:3px; display:inline-block;
}
.acd-footer__bottom{
  margin-top:var(--acd-s12);
  border-top:1px solid rgba(255,255,255,.14);
  padding-block:var(--acd-s4) var(--acd-s6);
  display:flex; justify-content:space-between; gap:var(--acd-s3);
  flex-wrap:wrap;
  font-size:12px; color:rgba(255,255,255,.60);
}
.acd-footer__legal{ display:flex; gap:var(--acd-s4); flex-wrap:wrap; }
.acd-footer__cookiebtn{
  background:none; border:none; padding:0; cursor:pointer;
  font:inherit; color:rgba(255,255,255,.80);
  text-decoration:underline; text-underline-offset:3px;
}
.acd-footer__cookiebtn:hover{ color:#fff; }

/* Acordeón nativo en móvil, sin JS */
@media (max-width:767px){
  .acd-footer__acc summary{
    cursor:pointer; list-style:none;
    display:flex; align-items:center; justify-content:space-between;
    min-height:44px;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .acd-footer__acc summary::-webkit-details-marker{ display:none; }
  .acd-footer__acc summary::after{
    content:"+"; font-size:18px; color:var(--acd-a500); line-height:1;
  }
  .acd-footer__acc[open] summary::after{ content:"–"; }
  .acd-footer__acc ul{ padding-block:var(--acd-s3); }
}
@media (min-width:768px){
  .acd-footer__acc summary{ list-style:none; pointer-events:none; }
  .acd-footer__acc summary::-webkit-details-marker{ display:none; }
}

/* ==========================================================================
   PLACEHOLDERS DE IMAGEN — visibles a propósito
   ========================================================================== */
.acd-imgph{
  width:100%; height:100%; min-height:120px;
  background:var(--acd-a100);
  border:1px dashed var(--acd-a600);
  color:var(--acd-a700);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:4px;
  padding:var(--acd-s4);
}
.acd-imgph__label{ font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.acd-imgph__id{ font-size:11px; opacity:.75; font-variant-numeric:tabular-nums; }

/* ==========================================================================
   PORTADAS GRAFICAS DE TARJETA (landing estatica)
   Sustituyen a los placeholders "Imagen pendiente". No son fotografia:
   son piezas del propio sistema visual, sin riesgo de licencia y sin
   imagineria de premio, coherentes con el registro institucional.
   ========================================================================== */
.acd-cover{ aspect-ratio:16/10; display:block; width:100%; background:var(--acd-p900); }
.acd-cover svg{ display:block; width:100%; height:100%; }

/* Enlaces de navegacion de una sola pagina */
.acd-nav__link{ cursor:pointer; }

/* En la landing las tarjetas de actualidad no son clicables:
   no hay paginas de detalle todavia. */
.acd-card--static{ cursor:default; }
.acd-card--static:hover{ border-color:var(--acd-border); box-shadow:none; }
