/* MonClub — Club Héritage
   Remplace la surcouche mcv2-futur, après mcv2.css.
   Présentation uniquement : conserver les classes et états des modules existants.
   Les couleurs de statut et de nature du calendrier restent distinctes. */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600&display=swap');

:root {
  --mc-primary: #B7440C;
  --mc-primary-light: #A83E0A;
  --mc-primary-deep: #963809;
  --mc-primary-dark: #00503C;
  --mc-bg: #F4F3F0;
  --mc-surface: #FFFFFF;
  --mc-surface-alt: #E8EFEB;
  --mc-text: #172923;
  --mc-text-muted: #586B62;
  --mc-text-soft: #586B62;
  --mc-border: #DDE4DF;
  --mc-danger: #B93830;
  --mc-radius-sm: 6px;
  --mc-radius-md: 7px;
  --mc-radius-lg: 8px;
  --mc-font-display: 'Barlow Condensed', 'Barlow', sans-serif;
  --mc-shadow-sm: none;
  --mc-shadow-md: 0 2px 8px rgba(23,41,35,.08);
  --mc-shadow-lg: 0 12px 32px rgba(23,41,35,.16);
}

body.mc-heritage { background: var(--mc-bg); color: var(--mc-text); }
.mc-heritage ::selection { background: #D1E5DA; color: #172923; }
.mc-heritage h2, .mc-heritage h3, .mc-heritage h4,
.mc-heritage .mcv2-club-name { font-family: var(--mc-font); }
.mc-heritage .mcv2-page-head h1 { font-size: 36px; line-height: 1.12; font-weight: 600; }
.mc-heritage .mcv2-page-sub { line-height: 1.6; }
.mc-heritage .mcv2-content { padding: 30px 32px 40px; }
.mc-heritage .mcv2-footer { background: var(--mc-surface); }

/* Navigation : surfaces pleines, position active blanche, aucun déplacement au survol. */
.mc-heritage .mcv2-sidebar { width: 240px; background: #00503C; padding: 22px 14px; }
.mc-heritage .mcv2-club-head { padding: 4px 8px 21px; margin-bottom: 18px; }
.mc-heritage .mcv2-club-head img { object-fit: contain; border-radius: 6px; }
.mc-heritage .mcv2-club-name { font-size: 14px; font-weight: 600; }
.mc-heritage .mcv2-nav li a { border-radius: 5px; padding: 11px 12px; transition: background-color .15s ease; }
.mc-heritage .mcv2-nav li a:hover { padding-left: 12px; background: #FFFFFF16; }
.mc-heritage .mcv2-nav li.mcv2-active > a,
.mc-heritage .mcv2-nav li.mcv2-active > a:hover { background: #FFFFFF; color: #00503C !important; font-weight: 600; }
.mc-heritage .mcv2-nav li.mcv2-nav-sec,
.mc-heritage .mcv2-espaces-label { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 500; color: #C9E0D5; }
.mc-heritage .mcv2-subnav-left a.active { background: #FFFFFF15; color: #FFFFFF !important; border-left-color: #FFFFFF; }
.mc-heritage .mcv2-subnav-left a { color: #DBEADF !important; }
.mc-heritage .mcv2-seg, .mc-heritage .mcv2-seg .seg { border-radius: 5px; }
.mc-heritage .mcv2-seg .seg.on { color: #00503C !important; box-shadow: none; }
.mc-heritage .mcv2-topbar { min-height: 74px; padding: 12px 28px; background: #FFFFFF; }
.mc-heritage .mcv2-avatar { background: #E8EFEB; color: #00503C; }
.mc-heritage .mcv2-user .mcv2-user-btn { background: transparent; }
.mc-heritage .mcv2-user .mcv2-user-btn:hover { background: var(--mc-surface-alt); }
.mc-heritage .mcv2-topbar, .mc-heritage .mcv2-sidebar,
.mc-heritage .mcv2-subnav, .mc-heritage .mcv2-pubnav,
.mc-heritage .modal-content, .mc-heritage .dropdown-menu,
.mc-heritage .mcv2-tour-overlay { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Composants communs. Les états disabled et les indicateurs métier sont conservés. */
.mc-heritage .btn, .mc-heritage .btn-u, .mc-heritage button[type=submit],
.mc-heritage input[type=submit], .mc-heritage input[type=button],
.mc-heritage .mcv2-actions a, .mc-heritage .mcv2-toolbar input,
.mc-heritage .mcv2-toolbar select, .mc-heritage .form-ajout input[type=reset] {
  border-radius: 6px;
  box-shadow: none;
  background-image: none;
  text-shadow: none;
  will-change: auto;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.mc-heritage .btn:hover, .mc-heritage .btn:active,
.mc-heritage .btn-u:hover, .mc-heritage .btn-u:active,
.mc-heritage .mcv2-actions a:hover, .mc-heritage button[type=submit]:hover,
.mc-heritage .form-ajout input[type=submit]:hover,
.mc-heritage ul.ul-details-seance li a:hover { transform: none; box-shadow: none; }
.mc-heritage .btn-default { color: var(--mc-text); border-width: 1px; }
.mc-heritage .mcv2-actions a { color: var(--mc-text); border-width: 1px; padding: 9px 15px; }
.mc-heritage .mcv2-actions .lien-ajouter::before { content: none; }
.mc-heritage .mcv2-actions a.btn-primary { color: #FFFFFF; }
.mc-heritage .mcv2-actions a:hover { background: var(--mc-surface-alt); color: var(--mc-text); border-color: #ADBCB3; }
.mc-heritage .mcv2-actions a.btn-primary:hover { background: var(--mc-primary-deep); color: #FFFFFF; border-color: var(--mc-primary-deep); }
.mc-heritage .mcv2-actions a.btn-mc-sea { background: #3E5563; border-color: #3E5563; color: #FFFFFF; }
.mc-heritage .mcv2-actions a.btn-mc-sea:hover { background: #2C3E4A; border-color: #2C3E4A; color: #FFFFFF; }
.mc-heritage .btn-mc-sea { background: #3E5563; border: 1px solid #3E5563; color: #FFFFFF; }
.mc-heritage .btn-mc-sea:hover { background: #2C3E4A; border-color: #2C3E4A; color: #FFFFFF; }
.mc-heritage .btn-mc-eve { background: #306A9F; border-color: #306A9F; }
.mc-heritage .btn-mc-art { background: #A04E18; border-color: #A04E18; }
.mc-heritage .btn-mc-son { background: #75469B; border-color: #75469B; }
.mc-heritage .mcv2-actions a.btn-mc-eve { background: #306A9F; border-color: #306A9F; }
.mc-heritage .mcv2-actions a.btn-mc-art { background: #A04E18; border-color: #A04E18; }
.mc-heritage .mcv2-actions a.btn-mc-son { background: #75469B; border-color: #75469B; }
.mc-heritage .mcv2-actions a.btn-mc-eve, .mc-heritage .mcv2-actions a.btn-mc-art,
.mc-heritage .mcv2-actions a.btn-mc-son, .mc-heritage .mcv2-actions a.btn-mc-eve:hover,
.mc-heritage .mcv2-actions a.btn-mc-art:hover, .mc-heritage .mcv2-actions a.btn-mc-son:hover { color: #FFFFFF; }
.mc-heritage .mcv2-actions a.btn-mc-eve:hover { background: #285885; border-color: #285885; }
.mc-heritage .mcv2-actions a.btn-mc-art:hover { background: #813F13; border-color: #813F13; }
.mc-heritage .mcv2-actions a.btn-mc-son:hover { background: #603981; border-color: #603981; }
.mc-heritage button[name=savecan], .mc-heritage button[name=cancelreq],
.mc-heritage button[name=decision][value=r], .mc-heritage button[name=delhour],
.mc-heritage button[name=rmvac], .mc-heritage .btn-cancel,
.mc-heritage .mcv2-actions a.btn-danger, .mc-heritage .btn-danger {
  background: var(--mc-danger); border-color: var(--mc-danger); color: #FFFFFF;
}
.mc-heritage .mcv2-actions a.btn-danger:hover, .mc-heritage .btn-danger:hover { background: #9C302A; border-color: #9C302A; color: #FFFFFF; }
.mc-heritage [data-dismiss=modal].btn-u, .mc-heritage .btn-default[data-dismiss=modal] {
  background: var(--mc-surface); border: 1px solid #ADBCB3; color: var(--mc-text);
}
.mc-heritage .btn[disabled], .mc-heritage button[disabled], .mc-heritage input[disabled] { cursor: not-allowed; }
.mc-heritage a:focus-visible, .mc-heritage button:focus-visible,
.mc-heritage input:focus-visible, .mc-heritage select:focus-visible,
.mc-heritage textarea:focus-visible, .mc-heritage summary:focus-visible {
  outline: 3px solid #A83E0A; outline-offset: 3px;
}
.mc-heritage .mcv2-sidebar a:focus-visible { outline-color: #FFFFFF; }
.mc-heritage .form-control:focus { border-color: #00503C; box-shadow: 0 0 0 3px rgba(0,80,60,.12); }

.mc-heritage .mcv2-card, .mc-heritage .mcv2-group-card,
.mc-heritage .mcv2-list-item, .mc-heritage .mcv2-msgr-list,
.mc-heritage .mcv2-chat, .mc-heritage .mcv2-bot {
  background: var(--mc-surface); border-radius: 8px; box-shadow: none;
}
.mc-heritage .mcv2-card h3 { color: var(--mc-text); font-size: 17px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.mc-heritage .mcv2-card:hover, .mc-heritage .mcv2-group-card:hover,
.mc-heritage .mcv2-list-item:hover, .mc-heritage .mcv2-member-row:hover,
.mc-heritage .ev-card:hover .in { transform: none; box-shadow: none; }
.mc-heritage .mcv2-list-item:hover .mcv2-list-go { transform: none; }
.mc-heritage .mcv2-list-body h3, .mc-heritage .mcv2-group-card h3 { font-family: var(--mc-font); }
.mc-heritage .mcv2-list { gap: 8px; }
.mc-heritage .mcv2-list-item { border-radius: 6px; }
.mc-heritage .mcv2-list-date { font-weight: 600; }
.mc-heritage .mcv2-tabs { background: transparent; border-bottom: 1px solid var(--mc-border); border-radius: 0; padding: 0; }
.mc-heritage .mcv2-tabs a { border-radius: 0; border-bottom: 2px solid transparent; padding: 10px 18px; }
.mc-heritage .mcv2-tabs a.selected { background: transparent; color: #00503C; border-bottom-color: #00503C; box-shadow: none; }
.mc-heritage .table > thead > tr > th { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 600; }
.mc-heritage .table > tbody > tr > td { padding-top: 13px; padding-bottom: 13px; }
.mc-heritage .modal-content { background: #FFFFFF; border-radius: 8px; box-shadow: var(--mc-shadow-lg); }
.mc-heritage .modal-header, .mc-heritage .modal-footer { border-color: var(--mc-border); }
.mc-heritage .modal-header { background: #FFFFFF; }
.mc-heritage .modal-header .modal-title { font-family: var(--mc-font); font-size: 19px; font-weight: 600; color: var(--mc-text); }
.mc-heritage .modal-header .close { color: var(--mc-text); opacity: .7; }
.mc-heritage .dropdown-menu { background: #FFFFFF; border-radius: 7px; box-shadow: var(--mc-shadow-lg); border-color: var(--mc-border); }
.mc-heritage .mcv2-subnav { background: var(--mc-bg); top: 74px; }
.mc-heritage .mcv2-subnav a { border-radius: 5px; }
.mc-heritage .mcv2-subnav a.active { background: #00503C; border-color: #00503C; }
.mc-heritage .mc-reveal { opacity: 1; transform: none; transition: none; }
.mc-heritage .mcv2-pubnav { background: #FFFFFF; }

/* Tableau de bord : même contenu et mêmes liens, hiérarchie Club Héritage. */
.mc-heritage .mch-dashboard-head { flex-direction: column; gap: 18px; margin-bottom: 26px; }
.mc-heritage .mcv2-dash-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding: 22px 0; margin-bottom: 30px; border-block: 1px solid var(--mc-border); }
.mc-heritage .mcv2-dash-stat { display: flex; align-items: center; min-width: 0; padding: 0 26px; border-left: 1px solid var(--mc-border); border-radius: 0; background: transparent; }
.mc-heritage .mcv2-dash-stat:first-child { border-left: 0; padding-left: 0; }
.mc-heritage .mcv2-dash-stat:hover { background: transparent; }
.mc-heritage .mcv2-dash-stat .ico { display: none; }
.mc-heritage .mcv2-dash-stat b { display: block; font-family: var(--mc-font); font-size: 34px; line-height: 1.15; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--mc-text); }
.mc-heritage .mcv2-dash-stat span { font-size: 13px; font-weight: 400; color: var(--mc-text-muted); }
.mc-heritage .mcv2-dash-stat:hover b { color: var(--mc-primary); }
.mc-heritage .mcv2-dash-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 24px; align-items: start; }
.mc-heritage .mcv2-dash-grid > .mcv2-card { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.mc-heritage .mcv2-dash-grid h3 { line-height: 1.45; margin: 0 0 15px; }
.mc-heritage .mcv2-dash-grid h3 > .fa { color: var(--mch-accent) !important; margin-right: 5px; }
.mc-heritage .mcv2-dash-row { display: flex; align-items: center; gap: 15px; padding: 18px 15px; background: #FFFFFF; border-bottom: 1px solid var(--mc-border); }
.mc-heritage .mcv2-dash-row .when { flex-shrink: 0; min-width: 72px; padding: 7px; text-align: center; border-radius: 4px; font-size: 12px; font-weight: 600; line-height: 1.5; }
.mc-heritage .mcv2-dash-row .what { flex: 1; min-width: 0; }
.mc-heritage .mcv2-dash-row .what a { display: block; color: var(--mc-text); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.mc-heritage .mcv2-dash-row .what a:hover { color: var(--mc-primary); text-decoration: underline; }
.mc-heritage .mcv2-dash-row .what small { display: block; margin-top: 4px; color: var(--mc-text-muted); font-size: 13px; overflow-wrap: anywhere; }
.mc-heritage .mcv2-dash-grid > .mch-dashboard-events { background: #EDF3F8; padding: 20px; border-radius: 7px; }
.mc-heritage .mch-dashboard-events .mcv2-dash-row { background: transparent; padding: 15px 0; }
.mc-heritage .mch-dashboard-events .when { background: #FFFFFF; color: var(--mc-text); }
.mc-heritage .mcv2-dash-more { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--mc-primary); text-decoration: underline; text-underline-offset: 3px; }
.mc-heritage .mcv2-dash-more .fa { display: none; }
.mc-heritage .mcv2-dash-grid > .mch-dashboard-news { grid-column: 1 / -1; border-top: 1px solid var(--mc-border); padding-top: 22px; }
.mc-heritage .mch-dashboard-news .mcv2-dash-row { background: transparent; padding-inline: 0; }
.mc-heritage .mch-dashboard-help { grid-column: 1 / -1; border-top: 1px solid var(--mc-border); padding-top: 15px; }
.mc-heritage .mch-dashboard-help .mcv2-bot { border-color: var(--mc-border); }
.mc-heritage .mcv2-bot-head { background: #00503C; }
.mc-heritage .mcv2-bot-head small { color: #D1E5DA; }
.mc-heritage .mcv2-bot-head .ava { border-radius: 6px; color: #FFFFFF; }
.mc-heritage .mcv2-bot-chip, .mc-heritage .mcv2-bot-foot input,
.mc-heritage .mcv2-bot-foot button { border-radius: 6px; }
.mc-heritage .mcv2-bot-foot input { min-width: 0; }

/* Adhérents : liste structurée ; les liens, sélections et groupes restent identiques. */
.mc-heritage .profil-archive { padding: 0; }
.mc-heritage .list-profil { padding: 0; border: 0; }
.mc-heritage .list-profil a, .mc-heritage .mcv2-tabs a { font-family: var(--mc-font); text-transform: none; }
.mc-heritage .mcv2-group-card h3 a { padding: 0; }
.mc-heritage .mcv2-members { grid-template-columns: minmax(0,1fr); gap: 0; }
.mc-heritage .mcv2-member-item { padding: 0; }
.mc-heritage a.mcv2-member-row { padding: 13px 52px 13px 16px; border-radius: 0; border: 0; border-bottom: 1px solid var(--mc-border); box-shadow: none; }
.mc-heritage .mcv2-member-item:first-child .mcv2-member-row { border-radius: 7px 7px 0 0; }
.mc-heritage .mcv2-member-item:last-child .mcv2-member-row { border-radius: 0 0 7px 7px; }
.mc-heritage .mcv2-member-row .mcv2-member-info { display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.mc-heritage .mcv2-member-row .mcv2-member-info .n { font-weight: 600; font-size: 15px; white-space: normal; overflow-wrap: anywhere; }
.mc-heritage .mcv2-member-group { background: transparent; margin: 0; padding: 0; font-size: 13px; border-radius: 0; }
.mc-heritage .mcv2-member-check { top: 50%; right: 12px; transform: translateY(-50%); border: 0; background: transparent; box-shadow: none; }
.mc-heritage .mcv2-member-item.selected .mcv2-member-row { background: #FFF0EE; border-bottom-color: #DB8A85; }
.mc-heritage .mcv2-selbar { background: transparent; border: 0; padding: 8px 0; }

/* FullCalendar : conserver la compatibilité de la vue Liste (3.4 / CSS 3.1).
   Ces règles utiles étaient auparavant dans le fichier décoratif futur. */
.mc-heritage .fc-list-view { border: 1px solid var(--mc-border); border-radius: 6px; background: #FFFFFF; }
.mc-heritage .fc-list-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.mc-heritage .fc-list-table td { padding: 11px 13px; border-top: 1px solid var(--mc-border); vertical-align: middle; }
.mc-heritage .fc-list-heading td { background: #E8EFEB; border-top: 0; font-weight: 600; color: #172923; font-size: 13px; }
.mc-heritage .fc-list-heading .fc-list-heading-alt { float: right; font-weight: 400; color: var(--mc-text-muted); }
.mc-heritage .fc-list-item { cursor: pointer; }
.mc-heritage .fc-list-item td { font-size: 14px; }
.mc-heritage .fc-list-item:hover td { background: inherit; }
.mc-heritage .fc-list-item-time { white-space: nowrap; width: 1px; font-variant-numeric: tabular-nums; }
.mc-heritage .fc-list-item-marker { width: 1px; padding-right: 0; }
.mc-heritage .fc-event-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: #0F7A52; }
.mc-heritage .fc-list-item-title a { color: inherit; font-weight: 600; text-decoration: none; }
.mc-heritage .fc-list-empty { text-align: center; padding: 30px 16px; color: var(--mc-text-muted); background: #FFFFFF; }
.mc-heritage .fc-toolbar h2 { font-family: var(--mc-font); font-size: 21px; font-weight: 600; }
.mc-heritage .fc-toolbar .fc-button { background: #FFFFFF; border: 1px solid #ADBCB3; border-radius: 4px; color: var(--mc-text); box-shadow: none; text-shadow: none; }
.mc-heritage .fc-toolbar .fc-state-active { background: #00503C; color: #FFFFFF; border-color: #00503C; }
.mc-heritage .fc-day-header { font-family: var(--mc-font); text-transform: none; letter-spacing: 0; }
.mc-heritage .fc-agenda-view .fc-event { box-shadow: none; }
.mc-heritage .fc-unthemed .fc-today { background: #E8EFEB !important; }

/* Même signature que la vitrine ; les identités du club et de la mairie restent séparées. */
.mc-heritage .mch-brand { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; }
.mc-heritage .mch-brand > img { width: 64px; height: 64px; object-fit: contain; padding: 0; margin: 0; background: none; border-radius: 0; }
.mc-heritage .mch-brand-name { display: flex; flex-direction: column; font-family: var(--mc-font-display); line-height: .94; letter-spacing: -.025em; white-space: nowrap; }
.mc-heritage .mch-brand-name strong { font-size: 32px; font-weight: 600; color: #00503C; }
.mc-heritage .mch-brand-name > span { font-size: 23px; font-weight: 600; margin-top: 4px; color: #B7440C; }
.mc-heritage .mch-sidebar-brand { padding: 0 0 17px; margin-bottom: 17px; border-bottom: 1px solid #FFFFFF26; }
.mc-heritage .mch-sidebar-brand .mch-brand-name strong,
.mc-heritage .mch-sidebar-brand .mch-brand-name > span { color: #FFFFFF; }
.mc-heritage .mch-sidebar-brand .mch-brand > img { width: 58px; height: 58px; }
.mc-heritage .mch-sidebar-brand .mch-brand-name strong { font-size: 30px; }
.mc-heritage .mch-sidebar-brand .mch-brand-name > span { font-size: 21px; }
.mc-heritage .mch-mobile-brand { display: none; }
.mc-heritage .mcv2-club-head > a { flex-shrink: 0; }

/* L'emblème du club accompagne son nom ; la signature de la plateforme reste au-dessus. */
.mc-heritage .mch-club-embleme { width: 60px; height: 60px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; background: #FFFFFF; border: 1px solid var(--mc-border); border-radius: 6px; color: #00503C; text-decoration: none; }
.mc-heritage .mch-club-embleme img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.mc-heritage .mch-club-embleme > span { font-family: var(--mc-font-display); font-size: 27px; font-weight: 600; }
.mc-heritage .mch-club-texte { flex: 1; min-width: 0; }
.mc-heritage .mch-club-identite { align-items: center; gap: 11px; }
.mc-heritage .mch-club-identite .mcv2-club-name { overflow-wrap: anywhere; line-height: 1.3; }
.mc-heritage .mch-club-logo-lien { display: inline-block; color: #D3E5DC; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; margin-top: 6px; }
.mc-heritage .mch-club-logo-lien:hover { color: #FFFFFF; }
.mc-heritage .mch-switch-logo img { width: 100%; height: 100%; padding: 3px; object-fit: contain; }
.mc-heritage .mch-switch-logo { border: 1px solid var(--mc-border); }
.mc-heritage .mch-club-page-identite { display: flex; align-items: center; gap: 18px; min-width: 0; }
.mc-heritage .mch-club-page-identite h1 { overflow-wrap: anywhere; }
.mc-heritage .mch-club-page-identite .mch-club-embleme { width: 84px; height: 84px; }
.mc-heritage .mch-logo-action { display: inline-block; margin-top: 6px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mc-heritage .mch-logo-editeur { display: flex; align-items: flex-start; gap: 24px; padding: 24px; margin: 0 15px 28px; background: #E8EFEB; border: 1px solid var(--mc-border); border-radius: 8px; scroll-margin-top: 95px; }
.mc-heritage .mch-logo-apercu { display: flex; align-items: center; justify-content: center; width: 128px; height: 128px; flex-shrink: 0; background: #FFFFFF; border: 1px solid var(--mc-border); border-radius: 6px; }
.mc-heritage .mch-logo-apercu img { max-width: 100%; max-height: 100%; padding: 8px; object-fit: contain; }
.mc-heritage .mch-logo-apercu span { font-family: var(--mc-font-display); font-size: 44px; color: #00503C; }
.mc-heritage .mch-logo-apercu [hidden] { display: none; }
.mc-heritage .mch-logo-champs { flex: 1; min-width: 0; }
.mc-heritage .mch-logo-champs h2 { margin: 0 0 8px; font-size: 24px; }
.mc-heritage .mch-logo-champs p { max-width: 65ch; font-size: 14px; line-height: 1.5; color: var(--mc-text-muted); }
.mc-heritage .mch-logo-champs input[type=file] { display: block; width: 100%; height: auto; padding: 10px; margin: 6px 0 10px; background: #FFFFFF; border: 1px solid var(--mc-border); border-radius: 6px; }
.mc-heritage .mch-logo-champs input:focus-visible, .mc-heritage .mch-club-logo-lien:focus-visible, .mc-heritage .mch-logo-action:focus-visible { outline: 2px solid #B7440C; outline-offset: 4px; }
@media (max-width: 600px) {
  .mc-heritage .mch-logo-editeur { flex-direction: column; gap: 16px; margin: 0 0 24px; padding: 18px; }
  .mc-heritage .mch-club-page-identite { align-items: flex-start; gap: 12px; }
  .mc-heritage .mch-club-page-identite .mch-club-embleme { width: 60px; height: 60px; }
}

/* Repères des rubriques, cohérents avec ceux de la vitrine. */
.mc-heritage [data-feature="seances"], .mc-heritage [data-feature="infrastructures"] { --mch-accent: #3E5563; }
.mc-heritage [data-feature="evenements"] { --mch-accent: #3B82C4; }
.mc-heritage [data-feature="fiches"], .mc-heritage [data-feature="demandes"] { --mch-accent: #2F6FA8; }
.mc-heritage [data-feature="reservation"] { --mch-accent: #0F7B6C; }
.mc-heritage [data-feature="annonces"] { --mch-accent: #A85520; }
.mc-heritage [data-feature="reclamations"] { --mch-accent: #B65A32; }
.mc-heritage [data-feature="subventions"] { --mch-accent: #A96700; }
.mc-heritage [data-feature="agents"] { --mch-accent: #7B4FA8; }
.mc-heritage [data-feature="messagerie"] { --mch-accent: #246F80; }
.mc-heritage .mcv2-dash-stat[data-feature] b { color: var(--mch-accent); }
.mc-heritage .mcv2-dash-grid > .mcv2-card[data-feature] { border-top: 2px solid var(--mch-accent); padding-top: 18px; }
.mc-heritage .mcv2-dash-row .when { background: #E8ECEF; color: #3E5563; }
.mc-heritage .mcv2-dash-row.is-eve .when { background: #FFFFFF; color: #2F6FA8; }
.mc-heritage .mcv2-dash-row.is-art .when { background: #FBF0E7; color: #A85520; }
.mc-heritage .mcv2-dash-row.is-son .when { background: #F0EAF7; color: #75469B; }

/* Mairie : indicateurs plats, demandes et priorités lisibles sans changer les statuts. */
.mc-heritage .mcv2-mai-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 28px; }
.mc-heritage .mcv2-mai-stat { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 19px 20px; background: #FFFFFF; border: 1px solid var(--mc-border); border-top: 2px solid var(--mch-accent); border-radius: 6px; color: var(--mc-text); text-decoration: none; box-shadow: none; }
.mc-heritage .mcv2-mai-stat:hover { background: #EDF4EF; color: var(--mc-text); }
.mc-heritage .mcv2-mai-stat .ico { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 32px; flex-shrink: 0; color: var(--mch-accent); font-size: 22px; background: none !important; }
.mc-heritage .mcv2-mai-stat b { display: block; font-size: 30px; line-height: 1.2; font-weight: 500; font-variant-numeric: tabular-nums; }
.mc-heritage .mcv2-mai-stat span:not(.ico) { color: var(--mc-text-muted); font-size: 13px; }
.mc-heritage .mcv2-mai-stat:last-child { grid-column: 1 / -1; padding-block: 14px; }
.mc-heritage .mcv2-mai-stat:last-child > div { display: flex; align-items: center; gap: 18px; }
.mc-heritage .mcv2-mai-stat:last-child b { font-size: 24px; }
.mc-heritage .mcv2-mai-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px; align-items: start; }
.mc-heritage .mcv2-mai-grid > .mcv2-card { min-width: 0; margin: 0; padding: 22px; border: 1px solid var(--mc-border); border-top: 2px solid var(--mch-accent); }
.mc-heritage .mcv2-mai-grid h3 { margin: 0 0 18px; line-height: 1.4; }
.mc-heritage .mcv2-mai-grid h3 > .fa { color: var(--mch-accent) !important; margin-right: 5px; }
.mc-heritage .mcv2-mi { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--mc-border); text-decoration: none; color: inherit; }
.mc-heritage .mcv2-mi:first-of-type { border-top: 0; }
.mc-heritage .mcv2-mi-ic { display: inline-flex; justify-content: center; align-items: center; width: 28px; flex-shrink: 0; color: var(--mch-accent); font-size: 20px; background: none !important; }
.mc-heritage .mcv2-mi-ic.is-sea { color: #3E5563; }
.mc-heritage .mcv2-mi-ic.is-eve { color: #3B82C4; }
.mc-heritage .mcv2-mi-main { flex: 1; min-width: 0; }
.mc-heritage .mcv2-mi-title { display: block; font-weight: 600; font-size: 14px; color: var(--mc-text); overflow-wrap: anywhere; }
.mc-heritage .mcv2-mi:hover .mcv2-mi-title { color: var(--mc-primary); }
.mc-heritage .mcv2-mi-sub { display: block; font-size: 12.5px; line-height: 1.5; color: var(--mc-text-muted); margin-top: 4px; overflow-wrap: anywhere; }
.mc-heritage .mcv2-mi-right { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex-shrink: 0; }
.mc-heritage .mcv2-mi-right .age { color: var(--mc-text-muted); font-size: 11px; }
.mc-heritage .mcv2-mi-grav { width: 9px; height: 9px; flex-shrink: 0; border-radius: 50%; }
.mc-heritage .mcv2-mai-grid .mcv2-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; padding: 4px 8px; border-radius: 4px; font-weight: 600; }
.mc-heritage .mcv2-mai-grid textarea { min-width: 0 !important; max-width: 100%; border-radius: 6px !important; }

/* Connexion dédiée, même si une session existe déjà : aucun changement d'authentification. */
.mc-heritage .mch-auth-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px max(32px,calc((100vw - 1260px)/2)); background: #FFFFFF; border-bottom: 1px solid var(--mc-border); }
.mc-heritage .mch-auth-back { font-size: 14px; font-weight: 600; color: #00503C; }
.mc-heritage .mch-auth-footer { max-width: 1320px; margin: auto; padding: 20px 32px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: var(--mc-text-muted); font-size: 13px; }
.mc-heritage .mcv2-login { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 48px; max-width: 1320px; min-height: calc(100dvh - 158px); margin: auto; padding: 28px 32px 20px; }
.mc-heritage .mcv2-login-brand { display: flex; flex-direction: column; justify-content: center; padding: 56px 42px; border-radius: 8px; color: #FFFFFF; background: linear-gradient(#003E2FCC,#003E2FCC),var(--mch-auth-photo) center/cover no-repeat; }
.mc-heritage .mcv2-login-brand h2 { color: #FFFFFF; font-family: var(--mc-font-display); font-size: clamp(34px,3.3vw,48px); line-height: 1.1; font-weight: 600; letter-spacing: -.015em; margin: 0 0 20px; }
.mc-heritage .mcv2-login-brand h2 em { font-style: normal; color: inherit; }
.mc-heritage .mcv2-login-brand p { color: #D1E5DA; font-size: 16px; line-height: 1.75; }
.mc-heritage .mcv2-login-brand ul { list-style: none; padding: 24px 0 0; margin: 20px 0 0; border-top: 1px solid #FFFFFF40; }
.mc-heritage .mcv2-login-brand li { color: #EDF4EF; font-size: 14px; padding: 7px 0; }
.mc-heritage .mcv2-login-brand li .fa { width: 24px; color: #D1E5DA; }
.mc-heritage .mcv2-login-form { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 36px 12px; }
.mc-heritage .mcv2-login-card { width: 100%; max-width: 400px; }
.mc-heritage .mcv2-login-card h1 { margin: 0 0 10px; font-size: 38px; font-weight: 600; }
.mc-heritage .mcv2-login-card .sub { color: var(--mc-text-muted); margin-bottom: 30px; }
.mc-heritage .mcv2-login-card .box { padding: 0; border: 0; background: none; box-shadow: none; }
.mc-heritage .mcv2-login-card label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.mc-heritage .mcv2-login-card .pied { text-align: center; font-size: 14px; margin-top: 24px; color: var(--mc-text-muted); }
.mc-heritage .mcv2-login-card .pied a { font-weight: 600; }
.mc-heritage .mcv2-fld { position: relative; }
.mc-heritage .mcv2-fld > .fa { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--mc-text-muted); pointer-events: none; }
.mc-heritage .mcv2-fld input { width: 100%; height: 50px; padding: 0 44px !important; border: 1px solid #AEBEB4 !important; border-radius: 6px !important; background: #FFFFFF !important; font-size: 16px; }
.mc-heritage .mcv2-fld input:focus { border-color: #00503C !important; box-shadow: 0 0 0 3px #00503C1F !important; outline: 0; }
.mc-heritage .mcv2-login-err { background: #FFF0EE; color: #9C302A; border: 1px solid #D9A7A3; border-radius: 6px; padding: 12px 15px; margin-bottom: 18px; font-size: 14px; }
.mc-heritage .mcv2-login-card input[type=checkbox] { accent-color: #00503C !important; }
.mc-heritage .mcv2-login-card a[title="Afficher le mot de passe"] { display: flex; align-items: center; justify-content: center; width: 40px; height: 44px; right: 3px !important; }

@media (max-width: 1100px) {
  .mc-heritage .mcv2-mai-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 991px) {
  .mc-heritage .mch-mobile-brand { display: inline-flex; flex-shrink: 0; }
  .mc-heritage .mch-mobile-brand img { width: 40px; height: 40px; object-fit: contain; }
}
@media (max-width: 860px) {
  .mc-heritage .mcv2-login { grid-template-columns: minmax(0,1fr); padding: 22px; gap: 0; }
  .mc-heritage .mcv2-login-brand { display: none; }
  .mc-heritage .mcv2-login-form { padding: 30px 0; }
}
@media (max-width: 600px) {
  .mc-heritage .mcv2-mai-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .mc-heritage .mcv2-mai-stat { padding: 14px 12px; gap: 9px; align-items: flex-start; flex-direction: column; }
  .mc-heritage .mcv2-mai-stat:last-child { flex-direction: row; align-items: center; }
  .mc-heritage .mcv2-mai-stat:last-child > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .mc-heritage .mcv2-mai-grid > .mcv2-card { padding: 18px 15px; }
  .mc-heritage .mcv2-mi { flex-wrap: wrap; }
  .mc-heritage .mcv2-mi-right { flex-basis: 100%; flex-direction: row; align-items: center; justify-content: space-between; }
  .mc-heritage .mch-auth-header { padding: 8px 16px; gap: 8px; }
  .mc-heritage .mch-auth-back { font-size: 12px; }
  .mc-heritage .mch-auth-footer { padding: 18px; }
  .mc-heritage .mcv2-login { padding: 16px 20px; }
  .mc-heritage .mcv2-topbar-left { gap: 8px; }
  .mc-heritage .mcv2-topbar { gap: 8px; }
}

@media (min-width: 1450px) {
  .mc-heritage .mcv2-content { padding-inline: 48px; }
}
@media (max-width: 1100px) {
  .mc-heritage .mcv2-dash-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 991px) {
  .mc-heritage .mcv2-content { padding: 23px 20px 32px; }
  .mc-heritage .mcv2-topbar { padding-inline: 16px; }
  .mc-heritage .mcv2-sidebar { width: min(280px,85vw); }
}
@media (max-width: 600px) {
  .mc-heritage .mcv2-content { padding: 22px 15px 30px; }
  .mc-heritage .mcv2-page-head h1 { font-size: 31px; }
  .mc-heritage .mcv2-actions a { padding: 10px 12px; }
  .mc-heritage .mcv2-dash-stat { padding-inline: 12px; }
  .mc-heritage .mcv2-dash-stat b { font-size: 28px; }
  .mc-heritage .mcv2-dash-stat span { font-size: 12px; }
  .mc-heritage .mcv2-dash-stats { padding-block: 18px; margin-bottom: 24px; }
  .mc-heritage .mcv2-dash-row { padding-inline: 11px; gap: 10px; }
  .mc-heritage .mcv2-dash-row .when { min-width: 60px; padding-inline: 4px; }
  .mc-heritage .mcv2-dash-grid > .mch-dashboard-events { padding: 16px; }
  .mc-heritage .mcv2-member-row .mcv2-member-info { display: block; }
  .mc-heritage .mcv2-member-group { display: block; margin-top: 4px; }
  .mc-heritage .mcv2-toolbar input[type=text] { min-width: 0; flex-basis: 100%; }
  .mc-heritage .mcv2-toolbar select { flex: 1; min-width: 0; max-width: 100%; }
  .mc-heritage .mcv2-subnav { flex-wrap: wrap; }
  .mc-heritage .mcv2-subnav a { padding: 9px 10px; font-size: 13px; }
  .mc-heritage .mcv2-card { padding: 16px; }
  .mc-heritage .mcv2-dash-grid > .mcv2-card:not(.mch-dashboard-events) { padding-inline: 0; }
  .mc-heritage .fc-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
  .mc-heritage .fc-toolbar .fc-center { order: -1; width: 100%; text-align: left; }
  .mc-heritage .fc-list-table td { padding: 10px 8px; }
  .mc-heritage input:not([type=checkbox]):not([type=radio]),
  .mc-heritage select, .mc-heritage textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-heritage *, .mc-heritage *::before, .mc-heritage *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
