/* ============================================================
   ICAMDD V29.4 — pulido visual final (03/09/2026)
   Capa aditiva: no reemplaza la lógica ni los estilos anteriores.
   Objetivos:
   - eliminar ornamentos laterales que generan “espacio vacío” visual;
   - compactar y equilibrar las tarjetas de autoridades;
   - centrar el header móvil y simplificar su franja superior;
   - ordenar footer y formularios en pantallas pequeñas;
   - mantener escritorio/tablet/móvil sin cambios de funcionalidad.
   ============================================================ */

.icamdd-v29-4{
  --v294-green:#064b41;
  --v294-green-deep:#033d35;
  --v294-gold:#caa852;
  --v294-ivory:#f8f5ee;
  --v294-line:rgba(5,67,58,.12);
  --v294-soft-shadow:0 12px 30px rgba(4,54,47,.07);
}

/* ---------- Header ---------- */
.icamdd-v29-4 .v294-mobile-admin{display:none}

/* El branding queda ópticamente alineado, sin alterar el header de escritorio. */
.icamdd-v29-4 .v25-navbar-wrap{border-bottom:1px solid rgba(5,67,58,.055)}
.icamdd-v29-4 .v25-brand strong{letter-spacing:.01em}
.icamdd-v29-4 .v25-nav-toggle{transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.icamdd-v29-4 .v25-nav-toggle:hover{border-color:rgba(6,75,65,.25);background:#fbfaf7;box-shadow:0 8px 20px rgba(4,54,47,.08)}

/* ---------- Junta / consejos ---------- */
/* Se elimina el gran círculo lateral que visualmente parecía un bloque vacío. */
.icamdd-v29-4 .v25-board::before,
.icamdd-v29-4 .v25-board::after{display:none!important}
.icamdd-v29-4 .v25-board{
  background:
    radial-gradient(circle at 50% -8%,rgba(202,168,82,.08),transparent 27rem),
    linear-gradient(180deg,#fbfaf7 0%,#f6f2ea 100%);
}

/* El directorio puede aprovechar mejor monitores anchos sin tocar el shell global. */
@media(min-width:1200px){
  .icamdd-v29-4 .v25-board>.v25-shell{
    width:min(calc(100% - 3rem),100rem);
  }
}

.icamdd-v29-4 .v29-board-groups{gap:2rem}
.icamdd-v29-4 .v29-board-group{
  padding:1.25rem 1.2rem 1.35rem;
  border:1px solid rgba(5,67,58,.085);
  border-radius:1.25rem;
  background:rgba(255,255,255,.62);
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
}
.icamdd-v29-4 .v29-board-group__head{
  margin-bottom:1.05rem;
  padding-inline:.1rem;
}
.icamdd-v29-4 .v29-board-group__head>span{width:1.8rem;height:2px}
.icamdd-v29-4 .v29-board-group__head h3{font-size:1.7rem;line-height:1.1}
.icamdd-v29-4 .v29-board-group__head small{font-size:.7rem;letter-spacing:.055em}

/* 4 columnas de igual ancho; las filas incompletas quedan centradas. */
@media(min-width:1121px){
  .icamdd-v29-4 .v29-board-group .v25-board-grid,
  .icamdd-v29-4 .v29-board-group:last-child .v25-board-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:stretch;
    gap:1rem;
    max-width:none;
    margin-inline:auto;
  }
  .icamdd-v29-4 .v29-board-group .v291-board-card{
    flex:0 1 calc((100% - 3rem)/4);
    width:calc((100% - 3rem)/4);
    min-width:0;
    max-width:none;
  }
}

@media(min-width:921px) and (max-width:1120px){
  .icamdd-v29-4 .v29-board-group .v25-board-grid,
  .icamdd-v29-4 .v29-board-group:last-child .v25-board-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1rem;
    max-width:none;
  }
  .icamdd-v29-4 .v29-board-group .v291-board-card{
    flex:0 1 calc((100% - 2rem)/3);
    width:calc((100% - 2rem)/3);
    max-width:none;
  }
}

/* Tarjeta más compacta: el medallón conserva presencia pero no deja media tarjeta vacía. */
.icamdd-v29-4 .v291-board-card{
  overflow:hidden;
  border-radius:1rem;
  border-color:rgba(5,67,58,.11);
  background:#fff;
  box-shadow:var(--v294-soft-shadow);
}
.icamdd-v29-4 .v291-board-card::before{
  left:1rem;
  right:1rem;
  height:2px;
  opacity:.9;
}
.icamdd-v29-4 .v291-board-card .v25-board-card__photo{
  height:7.35rem;
  border-bottom:1px solid rgba(5,67,58,.055);
}
.icamdd-v29-4 .v291-board-avatar{
  background:
    radial-gradient(circle at 50% 22%,rgba(231,210,151,.30),transparent 34%),
    linear-gradient(145deg,#faf8f1,#edf2ee);
}
.icamdd-v29-4 .v291-board-avatar::before{
  width:5.15rem;
  height:5.15rem;
  border-color:rgba(163,123,38,.25);
  box-shadow:inset 0 0 0 .38rem rgba(255,255,255,.55),0 5px 14px rgba(117,86,23,.05);
}
.icamdd-v29-4 .v291-board-avatar span{font-size:1.72rem;line-height:1}
.icamdd-v29-4 .v291-board-avatar small{margin-top:.22rem;font-size:.58rem}
.icamdd-v29-4 .v291-board-card .v25-board-card__body{
  display:flex;
  min-height:7.35rem;
  flex-direction:column;
  justify-content:center;
  padding:.88rem 1rem 1rem;
}
.icamdd-v29-4 .v291-board-card .v25-board-card__body>span{
  min-height:1.8rem;
  font-size:.68rem;
  line-height:1.32;
}
.icamdd-v29-4 .v291-board-card .v25-board-card__body h4{
  margin:.32rem 0 .27rem;
  font-size:1rem;
  line-height:1.23;
}
.icamdd-v29-4 .v291-board-card .v25-board-card__body small{font-size:.71rem}

/* ---------- Formularios ---------- */
.icamdd-v29-4 .v25-form-card form[data-safe-submit],
.icamdd-v29-4 .v25-tool-card form[data-safe-submit]{min-width:0}
.icamdd-v29-4 .v25-form-card form[data-safe-submit]>.v25-btn,
.icamdd-v29-4 .v25-tool-card form[data-safe-submit]>.v25-btn{
  width:100%;
  margin-top:1.15rem;
}
.icamdd-v29-4 .v25-check{padding:.2rem 0 .1rem}
.icamdd-v29-4 .v25-check span{line-height:1.45}

/* ---------- Footer ---------- */
.icamdd-v29-4 .v25-footer{background:linear-gradient(180deg,#043f37,#03372f)}
.icamdd-v29-4 .v25-footer__bottom>span{min-width:0;overflow-wrap:anywhere}
.icamdd-v29-4 .v25-footer address{font-style:normal}

/* ---------- Tablet ---------- */
@media(max-width:920px){
  /* En tablet también se mantiene el eje visual centrado cuando aparece el menú hamburguesa. */
  .icamdd-v29-4 .v25-utility__inner{justify-content:center}
  .icamdd-v29-4 .v25-utility__inner>div{margin-inline:auto}
  .icamdd-v29-4 .v25-navbar{
    position:relative;
    justify-content:center;
    padding-inline:3.9rem;
  }
  .icamdd-v29-4 .v25-brand{min-width:0;max-width:100%;justify-content:center}
  .icamdd-v29-4 .v25-nav-toggle{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
  }
  .icamdd-v29-4 .v29-board-group{padding:1rem}
  .icamdd-v29-4 .v29-board-group__head h3{font-size:1.48rem}
}

/* ---------- Móvil ---------- */
@media(max-width:650px){
  /* La barra superior duplicaba información y descentraba todo el encabezado.
     En móvil el acceso administrativo pasa al menú principal. */
  .icamdd-v29-4 .v25-utility{display:none!important}
  .icamdd-v29-4 .v25-navbar-wrap{background:#fff}
  .icamdd-v29-4 .v25-navbar{
    min-height:4.95rem;
    padding-inline:3.75rem;
  }
  .icamdd-v29-4 .v25-brand{
    min-width:0;
    max-width:100%;
    justify-content:center;
    gap:.62rem;
    text-align:left;
  }
  .icamdd-v29-4 .v25-brand img{width:2.9rem;height:2.9rem;flex:0 0 2.9rem}
  .icamdd-v29-4 .v25-brand strong{font-size:1.48rem;line-height:1}
  .icamdd-v29-4 .v25-brand small{font-size:.55rem;line-height:1.25;letter-spacing:.11em}
  .icamdd-v29-4 .v25-nav-toggle{
    width:3rem;
    height:3rem;
    border-radius:.82rem;
  }
  .icamdd-v29-4 .v25-nav{
    top:5.35rem!important;
    left:.65rem;
    right:.65rem;
    max-height:calc(100dvh - 5.95rem)!important;
    padding:.72rem;
    border-radius:1rem;
  }
  .icamdd-v29-4 .v25-header.is-scrolled .v25-nav{top:5.35rem!important}
  .icamdd-v29-4 .v294-mobile-admin{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:3rem;
    margin:.35rem 0 .1rem;
    padding:.72rem .8rem!important;
    border:1px solid rgba(6,75,65,.16);
    border-radius:.75rem;
    background:#edf5f2;
    color:#064b41!important;
    font-weight:800;
  }
  .icamdd-v29-4 .v294-mobile-admin span{color:#9a772e}

  /* Junta: encabezado compacto y tarjetas horizontales proporcionadas. */
  .icamdd-v29-4 .v25-board{padding-block:2.35rem}
  .icamdd-v29-4 .v25-board>.v25-shell{width:min(calc(100% - 1.15rem),88rem)}
  .icamdd-v29-4 .v29-board-groups{gap:1rem}
  .icamdd-v29-4 .v29-board-group{
    padding:.72rem;
    border-radius:1rem;
    background:rgba(255,255,255,.72);
  }
  .icamdd-v29-4 .v29-board-group__head{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:.48rem;
    margin-bottom:.72rem;
    padding-inline:.05rem;
  }
  .icamdd-v29-4 .v29-board-group__head>span{width:1.35rem}
  .icamdd-v29-4 .v29-board-group__head h3{
    min-width:0;
    font-size:1.28rem;
    line-height:1.12;
    white-space:nowrap;
  }
  .icamdd-v29-4 .v29-board-group__head small{
    grid-column:auto;
    margin-top:0;
    font-size:.59rem;
    line-height:1.2;
    white-space:nowrap;
  }
  .icamdd-v29-4 .v29-board-group .v25-board-grid,
  .icamdd-v29-4 .v29-board-group:last-child .v25-board-grid{gap:.62rem}
  .icamdd-v29-4 .v291-board-card{
    grid-template-columns:5.35rem minmax(0,1fr);
    min-height:6.65rem;
    border-radius:.9rem;
  }
  .icamdd-v29-4 .v291-board-card::before{left:5.75rem;right:.8rem}
  .icamdd-v29-4 .v291-board-card .v25-board-card__photo{
    height:100%;
    min-height:6.65rem;
    border-right:1px solid rgba(5,67,58,.055);
    border-bottom:0;
  }
  .icamdd-v29-4 .v291-board-avatar::before{width:4.1rem;height:4.1rem;box-shadow:inset 0 0 0 .28rem rgba(255,255,255,.58)}
  .icamdd-v29-4 .v291-board-avatar span{font-size:1.35rem}
  .icamdd-v29-4 .v291-board-avatar small{font-size:.49rem;letter-spacing:.13em}
  .icamdd-v29-4 .v291-board-card .v25-board-card__body{
    min-height:0;
    padding:.68rem .82rem .72rem;
    text-align:left;
  }
  .icamdd-v29-4 .v291-board-card .v25-board-card__body>span{
    min-height:0;
    justify-content:flex-start;
    font-size:.61rem;
    line-height:1.28;
  }
  .icamdd-v29-4 .v291-board-card .v25-board-card__body h4{
    margin:.28rem 0 .2rem;
    font-size:.92rem;
    line-height:1.22;
    text-wrap:pretty;
  }
  .icamdd-v29-4 .v291-board-card .v25-board-card__body small{font-size:.68rem}

  /* Footer: marca centrada, dos columnas limpias y contacto legible. */
  .icamdd-v29-4 .v25-footer__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:1.2rem;
    row-gap:1.25rem;
    padding:2rem 0 1.25rem;
  }
  .icamdd-v29-4 .v25-footer__brand,
  .icamdd-v29-4 .v25-footer__contact{grid-column:1/-1}
  .icamdd-v29-4 .v25-footer__brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .icamdd-v29-4 .v25-footer .v25-brand--footer{
    justify-content:center;
    padding-inline:0;
  }
  .icamdd-v29-4 .v25-footer .v25-brand--footer img{width:3rem;height:3rem}
  .icamdd-v29-4 .v25-footer .v25-brand--footer strong{font-size:1.45rem}
  .icamdd-v29-4 .v25-footer .v25-brand--footer small{display:none}
  .icamdd-v29-4 .v25-footer__brand p{
    max-width:31rem;
    margin:.72rem auto 0;
    font-size:.78rem;
    line-height:1.55;
  }
  .icamdd-v29-4 .v25-footer section:not(.v25-footer__brand){gap:.38rem}
  .icamdd-v29-4 .v25-footer h2{font-size:.78rem;margin-bottom:.38rem}
  .icamdd-v29-4 .v25-footer section>a{font-size:.8rem;line-height:1.45}
  .icamdd-v29-4 .v25-footer__contact{
    display:grid;
    grid-template-columns:1fr;
    gap:.2rem;
    padding-top:1rem;
    border-top:1px solid rgba(255,255,255,.10);
  }
  .icamdd-v29-4 .v25-footer__contact h2{grid-column:auto;margin:0 0 .55rem}
  .icamdd-v29-4 .v25-footer__contact span{
    margin-top:.38rem;
    padding:0;
    font-size:.55rem;
    white-space:normal;
  }
  .icamdd-v29-4 .v25-footer__contact a,
  .icamdd-v29-4 .v25-footer__contact address{
    font-size:.8rem;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .icamdd-v29-4 .v25-footer__bottom{
    align-items:center;
    flex-direction:column;
    gap:.65rem;
    padding:.95rem 3.3rem 1.2rem .1rem;
    text-align:center;
  }
  .icamdd-v29-4 .v25-footer__bottom>span{
    display:block;
    width:100%;
    font-size:.62rem;
    line-height:1.45;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .icamdd-v29-4 .v25-footer__bottom>div{justify-content:center;gap:1rem}
  .icamdd-v29-4 .v25-backtop{right:.75rem;bottom:.75rem;width:2.85rem;height:2.85rem}

  /* Formularios: nada toca los bordes en 320–650 px. */
  .icamdd-v29-4 .v25-form-card,
  .icamdd-v29-4 .v25-tool-card,
  .icamdd-v29-4 .v25-info-card{padding:1rem}
  .icamdd-v29-4 .v25-form-card form[data-safe-submit]>.v25-btn,
  .icamdd-v29-4 .v25-tool-card form[data-safe-submit]>.v25-btn{margin-top:1rem}
  .icamdd-v29-4 .v25-check{
    grid-template-columns:1.2rem minmax(0,1fr)!important;
    gap:.65rem!important;
    padding:.2rem .05rem;
  }
  .icamdd-v29-4 .v25-check input{width:1.15rem!important;height:1.15rem!important;margin-top:.12rem!important}
}

@media(max-width:430px){
  .icamdd-v29-4 .v25-navbar{padding-inline:3.5rem}
  .icamdd-v29-4 .v25-brand img{width:2.75rem;height:2.75rem;flex-basis:2.75rem}
  .icamdd-v29-4 .v25-brand strong{font-size:1.4rem}
  .icamdd-v29-4 .v25-brand small{display:none}
  .icamdd-v29-4 .v29-board-group__head h3{font-size:1.18rem}
  .icamdd-v29-4 .v29-board-group__head small{font-size:.55rem}
  .icamdd-v29-4 .v291-board-card{grid-template-columns:5.05rem minmax(0,1fr)}
  .icamdd-v29-4 .v291-board-card::before{left:5.45rem}
  .icamdd-v29-4 .v291-board-card .v25-board-card__body h4{font-size:.88rem}
}

@media(max-width:360px){
  .icamdd-v29-4 .v25-navbar{padding-inline:3.25rem}
  .icamdd-v29-4 .v25-brand strong{font-size:1.3rem}
  .icamdd-v29-4 .v29-board-group__head{
    grid-template-columns:auto 1fr;
  }
  .icamdd-v29-4 .v29-board-group__head h3{white-space:normal}
  .icamdd-v29-4 .v29-board-group__head small{grid-column:2;margin-top:-.1rem}
  .icamdd-v29-4 .v25-footer__grid{grid-template-columns:1fr}
  .icamdd-v29-4 .v25-footer__brand,
  .icamdd-v29-4 .v25-footer__contact{grid-column:auto}
}
