/* Correctifs ciblés demandés le 20/07/2026 — chargé après duolocal-core.css */

/* Logo DuoLocal : mêmes roses côté membre et côté administration. */
.site-logo-v4.site-logo-v3 {
  color: #7b2d43 !important;
}
.site-logo-v4.site-logo-v3 > span {
  color: #d96c75 !important;
}

/* Rencontre 40+ : gris côté membre, blanc côté administration. */
body.public-page .site-logo-v4.site-logo-v3 > small {
  color: #6b7280 !important;
}
body.admin-page .site-logo-v4.site-logo-v3 > small {
  color: #ffffff !important;
}

/* DuoMystère : "Duo" reprend le rose clair du logo. */
.mystery-foundation-hero h1 .mystery-title-duo {
  color: #d96c75 !important;
}

/* Duo Défis : cadre rose DuoLocal, sans tonalité saumon. */
.page-duo-defis .dd-hero {
  background: linear-gradient(135deg, rgba(217, 108, 117, .22), rgba(123, 45, 67, .10)) !important;
  border: 1px solid rgba(217, 108, 117, .48) !important;
}

/* En-tête membre compact — correction exacte sur les classes réellement utilisées. */
@media (min-width: 1121px) {
  :root {
    --p4-header-height: 62px;
  }

  .site-header-v3.site-header-v4 {
    min-height: 62px !important;
  }

  .site-header-v4-inner.site-header-inner {
    width: min(1420px, calc(100% - 24px)) !important;
    min-height: 62px !important;
    padding: 4px 0 !important;
    gap: 10px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .site-nav-v4.site-nav-v3 {
    gap: 2px !important;
  }

  .site-nav-v4 .nav-link,
  .site-nav-v4 .nav-dropdown > summary {
    min-height: 36px !important;
    padding: 5px 8px !important;
    gap: 5px !important;
    border-radius: 8px !important;
    font-size: .84rem !important;
  }

  .site-nav-v4 .nav-link .ui-icon,
  .site-nav-v4 .nav-dropdown > summary .ui-icon {
    width: 18px !important;
    height: 18px !important;
  }

  .account-menu {
    justify-self: end !important;
    margin-left: 8px !important;
  }

  .account-menu > summary {
    min-width: 132px !important;
    min-height: 42px !important;
    padding: 3px 6px 3px 4px !important;
    gap: 6px !important;
    border-radius: 10px !important;
  }

  .account-menu img,
  .account-avatar-placeholder {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
  }

  .account-menu-label {
    min-width: 64px !important;
  }

  .account-menu-label strong {
    max-width: 92px !important;
    font-size: .80rem !important;
  }

  .account-menu-label small {
    margin-top: 1px !important;
    font-size: .64rem !important;
  }

  .account-menu > summary > .chevron {
    width: 16px !important;
    height: 16px !important;
  }
}

/* DuoLocal — harmonisation ciblée des grands cadres publics encore blancs.
   Important : uniquement les bandeaux d'en-tête identifiés ; les cartes,
   formulaires et surfaces de contenu blanches restent inchangés. */
html:not([data-high-contrast="true"]) body:not(.admin-page) .dashboard-welcome,
html:not([data-high-contrast="true"]) body:not(.admin-page) .page-heading,
html:not([data-high-contrast="true"]) body:not(.admin-page) .trust-hero,
html:not([data-high-contrast="true"]) body:not(.admin-page) .rtc-page-hero,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-hero,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-form-hero,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-event-detail-head,
html:not([data-high-contrast="true"]) body:not(.admin-page) .neo-credit-hero,
html:not([data-high-contrast="true"]) body:not(.admin-page) .universe-hero {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.26), transparent 35%),
    linear-gradient(135deg, var(--primary, #7b2d43), var(--primary-light, #d96c75)) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow: 0 22px 55px rgba(123,45,67,.25) !important;
}

/* Texte principal : contraste blanc uniquement à l'intérieur des bandeaux. */
html:not([data-high-contrast="true"]) body:not(.admin-page) .dashboard-welcome h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .dashboard-welcome p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .page-heading h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .page-heading p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .trust-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .trust-hero p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .rtc-page-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .rtc-page-hero p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-hero p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-form-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-form-hero p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-event-detail-head h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-event-detail-head p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .neo-credit-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .neo-credit-hero p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .universe-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .universe-hero p {
  color: #fff !important;
}

html:not([data-high-contrast="true"]) body:not(.admin-page) .dashboard-eyebrow > span:first-child,
html:not([data-high-contrast="true"]) body:not(.admin-page) .page-heading .section-kicker,
html:not([data-high-contrast="true"]) body:not(.admin-page) .trust-hero .section-kicker,
html:not([data-high-contrast="true"]) body:not(.admin-page) .rtc-page-hero .rtc-eyebrow,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-hero .section-kicker,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-form-hero .section-kicker,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p8-event-detail-head .section-kicker,
html:not([data-high-contrast="true"]) body:not(.admin-page) .neo-credit-hero > span,
html:not([data-high-contrast="true"]) body:not(.admin-page) .universe-hero .section-kicker {
  color: rgba(255,255,255,.88) !important;
}

/* Les petits blocs fonctionnels internes restent clairs pour conserver
   leur lecture : résumé du jour, solde Néo et compteur Mon univers. */
html:not([data-high-contrast="true"]) body:not(.admin-page) .neo-credit-breakdown {
  color: rgba(255,255,255,.88) !important;
}

html:not([data-high-contrast="true"]) body:not(.admin-page) .page-heading-icon,
html:not([data-high-contrast="true"]) body:not(.admin-page) .trust-hero-icon,
html:not([data-high-contrast="true"]) body:not(.admin-page) .universe-hero-icon {
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
}

/* DuoLocal — centre Notifications membre : le bandeau restauré suit la même
   harmonisation que les autres grands cadres publics, sans recolorer la liste. */
html:not([data-high-contrast="true"]) body:not(.admin-page) .p7-notifications-hero {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.26), transparent 35%),
    linear-gradient(135deg, var(--primary, #7b2d43), var(--primary-light, #d96c75)) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow: 0 22px 55px rgba(123,45,67,.25) !important;
}

html:not([data-high-contrast="true"]) body:not(.admin-page) .p7-notifications-hero h1,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p7-notifications-hero p,
html:not([data-high-contrast="true"]) body:not(.admin-page) .p7-notifications-hero .p7-eyebrow {
  color: #fff !important;
}

html:not([data-high-contrast="true"]) body:not(.admin-page) .p7-notification-summary {
  border: 1px solid rgba(255,255,255,.26) !important;
  background: rgba(73,24,39,.46) !important;
  color: #fff !important;
}
