/* ===/* ========== Admin + Front CDSA (v1.3.3) ========== */

/* champs backend */
.cdsa-field{ margin:10px 0; }
.cdsa-field label{ display:block; font-weight:600; margin-bottom:4px; }
.cdsa-field input{ width:100%; padding:6px; }

/* ---- grilles ---- */
.cdsa-grid{ display:grid; grid-template-columns:repeat(var(--cdsa-cols,3), minmax(0,1fr)); gap:22px; }

/* === PORTRAIT PREMIUM === */
.cdsa-portrait{
  position:relative; border-radius:18px; overflow:hidden;
  box-shadow:0 12px 28px rgba(20,25,35,.12); background:#fff;
}
.gold-frame{
  position:relative; border:3px solid var(--cdsa-accent,#d4af37);
  border-radius:14px; margin:6px; overflow:hidden;
}
.portrait-img{ width:100%; height:auto; display:block; object-fit:cover; }
.portrait-placeholder{
  width:100%; height:320px; display:flex; align-items:center; justify-content:center;
  background:#f4f6fb; color:#94a3b8; font-weight:700;
}

/* cartouche bas */
.cdsa-overlay{
  position:absolute; left:18px; right:18px; bottom:18px;
  background:#0f172a; color:#fff; border-radius:10px; padding:12px 14px;
  display:flex; align-items:center; gap:12px; box-shadow:0 8px 20px rgba(0,0,0,.25);
}
.cdsa-overlay .ov-name{ font-weight:900; font-size:1.02rem; }
.cdsa-overlay .ov-role, .cdsa-overlay .ov-discipline{ opacity:.85; line-height:1.2; }
.ov-linkedin{ margin-left:auto; display:inline-flex; } /* garde l’espacement si un seul réseau */
.in-badge{
  background:#0a66c2; color:#fff; font-weight:900; border-radius:6px; width:28px; height:28px;
  display:inline-flex; align-items:center; justify-content:center; font-family:system-ui, sans-serif;
}

/* Réseaux sociaux (layout portrait) */
.ov-socials{ margin-left:auto; display:flex; gap:8px; }
.ov-socials a{
  width:28px; height:28px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-size:.8rem; text-decoration:none;
}
.ov-linkedin  { background:#0077b5; }
.ov-facebook  { background:#1877f2; }
.ov-instagram {
  background: radial-gradient(circle at 30% 107%,
    #fdf497 0%, #fdf497 5%,
    #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

/* contacts sous la vignette (optionnels) */
.ov-contacts{ display:flex; gap:14px; padding:8px 12px 12px; color:#0f172a; }
.ov-contacts a{ color:#2563eb; text-decoration:none; }
.ov-contacts a:hover{ text-decoration:underline; }

/* === VARIANTE CARTES (unifiée) === */
.cdsa-card{
  background:#fff; border:1px solid #dee6f0; border-radius:18px; padding:16px;
  box-shadow:0 10px 26px rgba(20,25,35,.06); text-align:center;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cdsa-card:hover{ transform: translateY(-2px); box-shadow:0 14px 34px rgba(20,25,35,.09); }
.cdsa-card .cdsa-photo{
  width:120px; height:120px; object-fit:cover; border-radius:999px; margin:0 auto 10px;
  border:3px solid var(--cdsa-accent, #2563eb);
}
.cdsa-card .cdsa-name{ font-weight:800; font-size:1.05rem; }
.cdsa-card .cdsa-role{ color:#6b7280; margin:4px 0 8px; }
.cdsa-card .cdsa-discipline{ color:#6b7280; font-size:.92rem; }

/* Téléphone et email (cards + list) */
.contact-icon, .cdsa-contacts{ margin-top:8px; font-size:.95rem; }
.cdsa-contacts{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.contact-icon a, .cdsa-contacts a{ color:#1f2937; text-decoration:none; }
.contact-icon a:hover, .cdsa-contacts a:hover{ text-decoration:underline; }

/* Réseaux sociaux (cards + list) */
.cdsa-socials{ margin-top:10px; display:flex; justify-content:center; gap:10px; }
.cdsa-socials .social-link,
.cdsa-socials a{
  width:30px; height:30px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:.85rem; text-decoration:none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cdsa-socials .social-link:hover,
.cdsa-socials a:hover{ transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,.12); }

/* Couleurs officielles (détection par classe ou par domaine URL) */
.cdsa-socials .ln, .cdsa-socials a[href*="linkedin"]  { background:#0077b5; }
.cdsa-socials .fb, .cdsa-socials a[href*="facebook"]  { background:#1877f2; }
.cdsa-socials .ig, .cdsa-socials a[href*="instagram"] {
  background: radial-gradient(circle at 30% 107%,
    #fdf497 0%, #fdf497 5%,
    #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

/* === LISTE compacte === */
.cdsa-list{ display:flex; flex-direction:column; gap:12px; }
.cdsa-row{
  display:flex; gap:12px; align-items:center;
  background:#fff; border:1px solid #dee6f0; border-radius:14px; padding:10px 12px;
  box-shadow:0 6px 14px rgba(20,25,35,.05);
}
.cdsa-avatar{ width:56px; height:56px; object-fit:cover; border-radius:999px; border:2px solid var(--cdsa-accent, #2563eb); }
.cdsa-row-main{ flex:1; }
.cdsa-title{ font-weight:800; }
.cdsa-sub{ color:#6b7280; margin-top:2px; }

/* === PDF cartes === */
.cdsa-pdf-card{
  display:grid; grid-template-columns:160px 1fr; gap:16px; align-items:center;
  background:#fff; border:1px solid #dee6f0; border-radius:18px; padding:16px;
  box-shadow:0 8px 22px rgba(20,25,35,.06); max-width:720px;
}
.cdsa-pdf-thumb{ width:160px; height:auto; border-radius:12px; border:1px solid #e5e7eb; }
.cdsa-pdf-icon{ font-size:64px; text-align:center; }
.cdsa-pdf-title{ font-weight:900; margin-bottom:8px; }
.cdsa-pdf-empty{ padding:12px; border:1px dashed #cbd5e1; border-radius:12px; color:#64748b; }

/* === Bouton primaire === */
.cdsa-btn-primary{
  display:inline-block; background:#2563eb; color:#fff !important; padding:12px 22px;
  border-radius:999px; font-weight:800; text-decoration:none; border:none; cursor:pointer;
}
.cdsa-btn-primary:hover{ background:#1d4ed8; }

/* === CONTACT : Map + Form côte à côte === */
.cdsa-contact-grid{
  display:grid; grid-template-columns:minmax(360px,1.1fr) minmax(340px,1fr);
  gap:24px; align-items:stretch;
}
.cdsa-contact-map{ min-height:420px; }
.cdsa-contact-form{
  background:#fff; border:1px solid #d9e1ec; border-radius:16px; padding:18px;
  box-shadow:0 8px 22px rgba(20,25,35,.08);
}
.cdsa-contact-form h3{ margin:0 0 10px 0; font-size:1.25rem; }
.cdsa-contact-form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cdsa-contact-form label{ font-weight:700; display:block; margin-bottom:6px; }
.cdsa-contact-form input, .cdsa-contact-form textarea{
  width:100%; border:1px solid #cbd5e1; border-radius:12px; padding:11px 12px; font-size:16px; background:#fbfdff;
  transition:border-color .15s, box-shadow .15s;
}
.cdsa-contact-form input:focus, .cdsa-contact-form textarea:focus{
  outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15);
}

/* Alerts */
.cdsa-alert{ padding:.75rem 1rem; border-radius:12px; margin-bottom:12px; }
.cdsa-ok{ background:#ecfdf5; border:1px solid #10b981; }
.cdsa-err{ background:#fef2f2; border:1px solid #ef4444; }

/* Responsive */
@media (max-width: 900px){
  .cdsa-grid{ grid-template-columns:1fr !important; }
  .cdsa-pdf-card{ grid-template-columns:1fr; }
  .cdsa-contact-grid{ grid-template-columns:1fr; }
}
/* === Overlay : infos + contacts à gauche, réseaux à droite === */
.cdsa-overlay{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;   /* on empile proprement à gauche */
  gap:12px;
}

/* Colonne gauche (nom, rôle, discipline, contacts) */
.cdsa-overlay .ov-stack{
  display:flex;
  flex-direction:column;
  gap:2px;
}

/* Contacts dans l’overlay (si présents) */
.cdsa-overlay .ov-contact{
  font-size:.88rem;
  line-height:1.25;
  opacity:.95;
}
.cdsa-overlay .ov-contact a{
  color:#fff;
  text-decoration:none;
}
.cdsa-overlay .ov-contact a:hover{
  text-decoration:underline;
}

/* Réseaux à droite (déjà présents) */
.ov-socials{
  margin-left:auto;
  display:flex;
  gap:8px;
}
.ov-socials a{
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  font-size:.8rem;
  text-decoration:none;
}

/* Si tu gardes un ancien bloc .ov-contacts sous la carte, on le masque */
.cdsa-portrait > .ov-contacts{ display:none; }
.cdsa-style-form .description{
  display:block; color:#6b7280; font-size:12px; margin-top:4px;
}
.cdsa-style-form label{ font-weight:600; }
.cdsa-style-form p{ margin:10px 0 14px; }
/* Icônes dans le sous-menu "Mon comité" */
#adminmenu #toplevel_page_cdsa_com_root .wp-submenu .dashicons {
  font-size: 14px;
  width: 16px;
  height: 16px;
  line-height: 1;
  margin-right: 6px;
  position: relative;
  top: 2px;
}
/* ============================
   Pictogrammes sous-menu "Mon comité"
   ============================ */

/* On laisse un peu de place pour les pictos */
#adminmenu #toplevel_page_cdsa_com_root .wp-submenu a {
    position: relative;
    padding-left: 24px;
}

/* Base de tous les pictos */
#adminmenu #toplevel_page_cdsa_com_root .wp-submenu a::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: #94a3b8; /* gris par défaut */
}

/* 1) Bureau */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(2) a::before {
    background: #facc15; /* jaune */
}

/* 2) Conseil d’administration */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(3) a::before {
    background: #60a5fa; /* bleu */
}

/* 3) Salariés */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(4) a::before {
    background: #34d399; /* vert */
}

/* 4) Partenaires */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(5) a::before {
    background: #f97316; /* orange */
}

/* 5) Activités */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(6) a::before {
    background: #a855f7; /* violet */
}

/* 6) Réglages PDF / Contact */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(7) a::before {
    background: #e11d48; /* rose/rouge */
}

/* 7) Contact – Accusé */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(8) a::before {
    background: #0ea5e9; /* bleu clair */
}

/* 8) Styles */
#adminmenu #toplevel_page_cdsa_mon_comite .wp-submenu li:nth-child(9) a::before {
    background: #64748b; /* gris foncé */
}

