/* ============================================================
   ICAMDD V29.5 — ajuste fino de UI / responsive (03/09/2026)
   Capa aditiva sobre V29.4. No altera controladores, rutas ni BD.
   Objetivos de esta revisión:
   - centrar ópticamente los medallones de la Junta;
   - reducir aire innecesario dentro de tarjetas y entre secciones;
   - dejar el footer móvil en una sola columna, centrado y legible;
   - asegurar separación real entre CTAs/botones y su contenido vecino.
   ============================================================ */

.icamdd-v29-5{
  --v295-green:#064b41;
  --v295-green-deep:#033d35;
  --v295-gold:#caa852;
  --v295-line:rgba(5,67,58,.105);
  --v295-shadow:0 10px 26px rgba(4,54,47,.065);
}

/* ============================================================
   1. JUNTA DIRECTIVA / CONSEJO DE FISCALIZACIÓN
   ============================================================ */
.icamdd-v29-5 .v29-board-groups{gap:1.35rem}
.icamdd-v29-5 .v29-board-group{
  padding:1rem 1rem 1.05rem;
  border-radius:1.15rem;
}
.icamdd-v29-5 .v29-board-group__head{margin-bottom:.82rem}

/* Tarjetas más compactas y con proporciones repetibles. */
.icamdd-v29-5 .v291-board-card{
  box-shadow:var(--v295-shadow);
}
.icamdd-v29-5 .v291-board-card .v25-board-card__photo{
  position:relative;
  height:6.45rem;
}

/* El avatar anterior dependía de la posición estática del pseudo-elemento.
   Aquí el círculo queda matemáticamente centrado en X/Y. */
.icamdd-v29-5 .v291-board-avatar{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.17rem;
  width:100%;
  height:100%;
  padding:0;
}
.icamdd-v29-5 .v291-board-avatar::before{
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:4.85rem!important;
  height:4.85rem!important;
  transform:translate(-50%,-50%);
}
.icamdd-v29-5 .v291-board-avatar span,
.icamdd-v29-5 .v291-board-avatar small{
  position:relative;
  z-index:1;
}
.icamdd-v29-5 .v291-board-avatar span{font-size:1.62rem}
.icamdd-v29-5 .v291-board-avatar small{margin-top:.05rem;font-size:.55rem}

.icamdd-v29-5 .v291-board-card .v25-board-card__body{
  min-height:6.45rem;
  padding:.72rem .9rem .82rem;
}
.icamdd-v29-5 .v291-board-card .v25-board-card__body>span{
  min-height:1.55rem;
  font-size:.65rem;
  line-height:1.25;
}
.icamdd-v29-5 .v291-board-card .v25-board-card__body h4{
  margin:.26rem 0 .2rem;
  font-size:.96rem;
  line-height:1.2;
}
.icamdd-v29-5 .v291-board-card .v25-board-card__body small{font-size:.69rem}

/* La salida de la Junta no debe dejar un bloque beige vacío. */
.icamdd-v29-5 .v25-board{
  padding-top:3.25rem;
  padding-bottom:1.55rem;
}
.icamdd-v29-5 .v25-board .v25-section-head{margin-bottom:1.25rem}
.icamdd-v29-5 .v25-board .v25-center{margin-top:.9rem}
.icamdd-v29-5 .v25-board .v25-text-link{
  min-height:2.55rem;
  padding:.48rem .78rem;
  border-radius:999px;
}
.icamdd-v29-5 .v25-services-home{padding-top:2.45rem}

/* ============================================================
   2. BOTONES / CTA: separación física, no sólo visual
   ============================================================ */
.icamdd-v29-5 .v25-actions{
  gap:.82rem;
  row-gap:.82rem;
}
.icamdd-v29-5 .v25-steps>div>p{margin-bottom:0}
.icamdd-v29-5 .v25-steps>div>.v25-btn{margin-top:1.05rem}
.icamdd-v29-5 .v25-services-panel>.v25-btn{margin-top:.25rem}
.icamdd-v29-5 .v25-modal__content>.v25-btn{margin-top:.75rem}
.icamdd-v29-5 .v25-download>.v25-btn{margin-left:.5rem}
.icamdd-v29-5 .v25-form-card form[data-safe-submit]>.v25-btn,
.icamdd-v29-5 .v25-tool-card form[data-safe-submit]>.v25-btn,
.icamdd-v29-5 form.v25-form>.v25-btn{
  margin-top:1.05rem;
}

/* ============================================================
   3. FOOTER RESPONSIVE: una columna centrada como referencia
   ============================================================ */
@media(max-width:650px){
  .icamdd-v29-5 .v25-footer__grid{
    display:grid;
    grid-template-columns:1fr!important;
    width:min(calc(100% - 1.6rem),24rem);
    margin-inline:auto;
    gap:1.2rem;
    padding:1.55rem 0 .85rem;
    text-align:center;
  }
  .icamdd-v29-5 .v25-footer__grid>section{
    grid-column:1!important;
    min-width:0;
    align-items:center;
    text-align:center;
  }
  .icamdd-v29-5 .v25-footer__brand{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .icamdd-v29-5 .v25-footer .v25-brand--footer{
    justify-content:center;
    width:auto;
    margin-inline:auto;
  }
  .icamdd-v29-5 .v25-footer__brand p{
    max-width:22rem;
    margin:.62rem auto 0;
    line-height:1.52;
  }
  .icamdd-v29-5 .v25-footer section:not(.v25-footer__brand){
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.38rem;
  }
  .icamdd-v29-5 .v25-footer h2{
    margin:0 0 .42rem;
    text-align:center;
  }
  .icamdd-v29-5 .v25-footer section>a{
    display:inline-flex;
    justify-content:center;
    max-width:100%;
    text-align:center;
    line-height:1.42;
  }
  .icamdd-v29-5 .v25-footer__contact{
    padding-top:1rem;
    border-top:1px solid rgba(255,255,255,.10);
  }
  .icamdd-v29-5 .v25-footer__contact span{
    margin-top:.36rem;
    text-align:center;
  }
  .icamdd-v29-5 .v25-footer__contact a,
  .icamdd-v29-5 .v25-footer__contact address{
    max-width:21rem;
    margin-inline:auto;
    text-align:center;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .icamdd-v29-5 .v25-footer__bottom{
    width:min(calc(100% - 1.6rem),24rem);
    margin-inline:auto;
    padding:.82rem 0 1.05rem;
    gap:.55rem;
    text-align:center;
  }
  .icamdd-v29-5 .v25-footer__bottom>div{
    width:100%;
    justify-content:center;
  }
  /* Evita que el botón flotante tape la dirección o el copyright. */
  .icamdd-v29-5 .v25-backtop{
    right:.6rem;
    bottom:.7rem;
    width:2.65rem;
    height:2.65rem;
  }

  /* Junta móvil: conserva tarjetas horizontales, pero el medallón queda
     perfectamente centrado dentro de su columna. */
  .icamdd-v29-5 .v25-board{padding-block:2rem 1.25rem}
  .icamdd-v29-5 .v29-board-groups{gap:.85rem}
  .icamdd-v29-5 .v29-board-group{padding:.68rem}
  .icamdd-v29-5 .v29-board-group__head{margin-bottom:.62rem}
  .icamdd-v29-5 .v29-board-group .v25-board-grid,
  .icamdd-v29-5 .v29-board-group:last-child .v25-board-grid{gap:.56rem}
  .icamdd-v29-5 .v291-board-card{
    grid-template-columns:5.15rem minmax(0,1fr);
    min-height:6.3rem;
  }
  .icamdd-v29-5 .v291-board-card::before{left:5.55rem;right:.75rem}
  .icamdd-v29-5 .v291-board-card .v25-board-card__photo{
    height:100%;
    min-height:6.3rem;
  }
  .icamdd-v29-5 .v291-board-avatar::before{
    width:3.9rem!important;
    height:3.9rem!important;
  }
  .icamdd-v29-5 .v291-board-avatar span{font-size:1.28rem}
  .icamdd-v29-5 .v291-board-avatar small{font-size:.46rem}
  .icamdd-v29-5 .v291-board-card .v25-board-card__body{
    min-height:0;
    padding:.62rem .76rem .66rem;
  }
  .icamdd-v29-5 .v291-board-card .v25-board-card__body>span{font-size:.59rem}
  .icamdd-v29-5 .v291-board-card .v25-board-card__body h4{font-size:.88rem}
  .icamdd-v29-5 .v291-board-card .v25-board-card__body small{font-size:.65rem}

  /* CTAs apilados: separación consistente, nunca “pegados”. */
  .icamdd-v29-5 .v25-actions{gap:.68rem;row-gap:.68rem}
  .icamdd-v29-5 .v25-actions .v25-btn{margin:0}
  .icamdd-v29-5 .v25-steps>div>.v25-btn{margin-top:.95rem}
  .icamdd-v29-5 .v25-services-home{padding-top:2rem}
}

@media(max-width:430px){
  .icamdd-v29-5 .v25-footer__grid,
  .icamdd-v29-5 .v25-footer__bottom{
    width:min(calc(100% - 1.25rem),23rem);
  }
  .icamdd-v29-5 .v291-board-card{grid-template-columns:4.95rem minmax(0,1fr)}
  .icamdd-v29-5 .v291-board-card::before{left:5.35rem}
  .icamdd-v29-5 .v291-board-avatar::before{
    width:3.7rem!important;
    height:3.7rem!important;
  }
}
