/* Portail Associations — visual/content experience 4.0 */
/* --------------------------------------------------------------------------
   Association identity + header
   -------------------------------------------------------------------------- */
.pa-experience-association.lep-portal-authenticated{ background:#f5f6f3; }
.pa-experience-association .pa-app-association{ min-height:100vh; background:linear-gradient(180deg,var(--pa-assoc-soft) 0, #f5f6f3 320px); }
/* --------------------------------------------------------------------------
   Association home — it should feel like "my space", not a municipal form.
   -------------------------------------------------------------------------- */
/* Visual dashboard elements */
.pa-attention{ margin:0 0 clamp(26px,3vw,38px); }
.pa-attention-grid{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); }
.pa-app .pa-attention-item{
  min-height:82px;
  padding:14px 15px;
  border:1px solid var(--pa-border);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 5px 18px rgba(18,38,33,.04);
}
.pa-attention-item:hover{ border-color:color-mix(in srgb,var(--pa-brand) 30%,var(--pa-border)); box-shadow:var(--pa-shadow-card); }
.pa-attention-dot{ width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:var(--pa-warning); box-shadow:0 0 0 5px var(--pa-warning-soft); }
.pa-attention-success .pa-attention-dot{ background:var(--pa-success); box-shadow:0 0 0 5px var(--pa-success-soft); }
.pa-attention-danger .pa-attention-dot{ background:var(--pa-danger); box-shadow:0 0 0 5px var(--pa-danger-soft); }
.pa-attention-item > span:nth-child(2){ display:grid; gap:3px; flex:1; min-width:0; }
.pa-attention-item small{ color:var(--pa-text-soft); }
.pa-dashboard-grid-visual{ display:grid; gap:16px; margin-bottom:clamp(26px,3vw,40px); }
.pa-metric-visual-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.pa-metric-visual{ display:grid; gap:3px; padding:16px; border-radius:15px; background:var(--pa-surface-soft); }
.pa-metric-visual strong{ color:var(--pa-brand); font-size:clamp(1.45rem,3vw,2rem); line-height:1; }
.pa-metric-visual span{ color:var(--pa-text-soft); font-size:.72rem; }
.pa-news-visual-list{ display:grid; gap:8px; }
.pa-news-visual-item{ display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; align-items:center; padding:10px; border-radius:14px; text-decoration:none; }
.pa-news-visual-item:hover{ background:var(--pa-surface-soft); }
.pa-news-visual-date{ display:grid; place-items:center; align-content:center; min-height:52px; padding:4px; border-radius:13px; background:var(--pa-surface-brand); color:var(--pa-brand); text-align:center; }
.pa-news-visual-date strong{ font-size:1.05rem; line-height:1; }
.pa-news-visual-date span{ margin-top:2px; font-size:.58rem; font-weight:850; text-transform:uppercase; }
.pa-news-visual-copy{ display:grid; gap:2px; }
.pa-news-visual-copy strong{ font-size:.85rem; }
.pa-news-visual-copy small{ color:var(--pa-text-soft); }
.pa-association-maintenance{ margin-block:clamp(24px,3vw,40px); }
.pa-association-maintenance-grid{ gap:10px; }
.pa-association-maintenance-item{ border-radius:15px; }
.pa-association-maintenance-item:hover{ border-color:color-mix(in srgb,var(--pa-brand) 35%,var(--pa-border)); }
.pa-association-maintenance-item em{ color:var(--pa-brand); }
/* --------------------------------------------------------------------------
   Event visuals / cards / dossier
   -------------------------------------------------------------------------- */
.pa-page-title-visual{ display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:18px; margin:0 0 26px; }
.pa-event-gallery-section{ margin:0 0 clamp(28px,4vw,48px); }
.pa-event-gallery{ display:grid; grid-template-columns:minmax(0,1fr); gap:15px; }
.pa-event-gallery-home{ grid-template-columns:minmax(0,1fr); }
.pa-event-tile{
  --pa-event-brand:var(--pa-brand);
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--pa-border);
  border-radius:20px;
  background:#fff;
  color:inherit;
  box-shadow:var(--pa-shadow-card);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pa-event-tile:hover{ transform:translateY(-3px); border-color:var(--pa-border-strong); box-shadow:var(--pa-shadow-card-hover); }
.pa-event-tile-media{ position:relative; min-height:0; aspect-ratio:16/10; overflow:hidden; background:#e9ece8; }
.pa-event-visual{ position:relative; width:100%; height:100%; overflow:hidden; background:linear-gradient(145deg,var(--pa-surface-brand),#e6ebe7); }
.pa-event-visual img{ width:100%; height:100%; object-fit:cover; }
.pa-event-visual.is-placeholder{ display:flex; flex-direction:column; justify-content:flex-end; min-height:100%; padding:18px; background:linear-gradient(145deg,#35575d,#17363d); color:#fff; }
.pa-event-visual.is-placeholder::before{ content:""; position:absolute; width:170px; height:170px; right:-44px; top:-52px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 64px rgba(255,255,255,.022); }
.pa-event-visual-kicker{ position:relative; z-index:1; max-width:24ch; color:rgba(255,255,255,.76); font-size:.68rem; font-weight:850; line-height:1.25; text-transform:uppercase; letter-spacing:.08em; }
.pa-event-visual-placeholder-meta{ position:relative; z-index:1; display:grid; gap:5px; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.22); }
.pa-event-visual-placeholder-meta strong{ max-width:30ch; color:#fff; font-size:clamp(.98rem,2.5vw,1.32rem); font-weight:900; line-height:1.15; letter-spacing:-.025em; }
.pa-event-visual-placeholder-meta small{ max-width:34ch; color:rgba(255,255,255,.8); font-size:.76rem; font-weight:700; line-height:1.3; }
.pa-event-tile-media > .pa-status-pill{ position:absolute; z-index:2; top:12px; right:12px; box-shadow:0 4px 14px rgba(0,0,0,.09); }
.pa-event-tile-association{ display:flex; align-items:center; gap:9px; min-width:0; padding:14px 16px 0; }
.pa-event-tile-association span:not(.pa-association-mark){ min-width:0; color:var(--pa-text-soft); font-size:.72rem; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pa-event-tile-body{ display:grid; gap:7px; padding:12px 16px 15px; }
.pa-event-tile-body h3{ margin:0; color:var(--pa-text); font-size:1.08rem; line-height:1.15; letter-spacing:-.02em; }
.pa-event-tile-body p{ margin:0; color:var(--pa-text-soft); font-size:.78rem; line-height:1.45; }
.pa-event-essentials{ display:grid; gap:3px; min-width:0; margin-top:1px; }
.pa-event-when{ color:var(--pa-text); font-size:.78rem; font-weight:850; line-height:1.3; }
.pa-event-where{ color:var(--pa-text-soft); font-size:.72rem; font-weight:650; line-height:1.35; }
.pa-event-inline-meta{ color:var(--pa-text-soft); font-size:.76rem; line-height:1.4; }
.pa-event-tile-footer{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding:12px 16px; border-top:1px solid var(--pa-border); background:#fbfcfa; }
.pa-event-tile-footer strong{ color:var(--pa-brand); font-size:.76rem; }
.pa-event-tile-footer span{ color:var(--pa-text-faint); font-size:.72rem; }
.pa-event-dossier-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  margin:0 0 22px;
  overflow:hidden;
  border:1px solid var(--pa-border);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--pa-shadow-card);
}
.pa-event-dossier-media{ min-height:240px; background:var(--pa-surface-soft); }
.pa-event-dossier-media .pa-event-visual{ min-height:100%; }
.pa-event-dossier-copy{ display:flex; flex-direction:column; min-width:0; padding:clamp(20px,3vw,34px); }
.pa-event-dossier-association{ display:flex; align-items:center; gap:10px; margin-bottom:22px; color:var(--pa-text-soft); font-size:.76rem; font-weight:750; }
.pa-event-dossier-copy h1{ max-width:17ch; margin:.25rem 0 .7rem; font-size:clamp(2rem,4vw,3.3rem); line-height:.98; letter-spacing:-.05em; }
.pa-event-dossier-lead{ margin:0; color:var(--pa-text-soft); font-size:.95rem; line-height:1.55; }
.pa-event-dossier-secondary{ display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
.pa-event-dossier-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:24px; }
.pa-event-visual-editor{ display:grid; gap:14px; padding:15px; border:1px solid var(--pa-border); border-radius:17px; background:var(--pa-surface-soft); }
.pa-event-visual-editor-preview{
  display:flex;
  min-height:180px;
  aspect-ratio:16/8;
  overflow:hidden;
  flex-direction:column;
  justify-content:flex-end;
  gap:5px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--pa-border) 80%,transparent);
  border-radius:14px;
  background:linear-gradient(145deg,var(--pa-surface-brand),var(--pa-surface));
}
.pa-event-visual-editor-preview img{ width:100%; height:100%; margin:-18px; min-width:calc(100% + 36px); min-height:calc(100% + 36px); object-fit:cover; }
.pa-event-visual-editor-preview.is-placeholder{ color:var(--pa-text-soft); }
.pa-event-visual-editor-preview.is-placeholder strong{ color:var(--pa-text); font-size:1.05rem; }
.pa-event-visual-editor-fields{ display:grid; align-content:start; gap:10px; }
.pa-event-visual-editor-fields > label:not(.pa-check){ display:grid; gap:6px; }
/* --------------------------------------------------------------------------
   Association profile branding
   -------------------------------------------------------------------------- */
.pa-branding-editor{ display:grid; gap:18px; }
.pa-branding-preview{
  position:relative;
  min-height:230px;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(135deg,var(--pa-assoc-primary),color-mix(in srgb,var(--pa-assoc-primary) 70%,#153238));
  color:var(--pa-assoc-on-primary);
}
.pa-branding-cover-preview{ position:absolute; inset:0; }
.pa-branding-cover-preview.is-placeholder{
  background:
    radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--pa-assoc-secondary) 46%,transparent) 0 10%,transparent 31%),
    linear-gradient(135deg,var(--pa-assoc-primary),color-mix(in srgb,var(--pa-assoc-primary) 70%,#153238));
}
.pa-branding-cover-preview img{ width:100%; height:100%; object-fit:cover; }
.pa-branding-preview-overlay{
  position:absolute;
  z-index:1;
  inset:0;
  display:flex;
  align-items:center;
  gap:14px;
  padding:22px;
  background:linear-gradient(105deg,color-mix(in srgb,var(--pa-assoc-primary) 92%,#173033),color-mix(in srgb,var(--pa-assoc-primary) 48%,transparent));
}
.pa-branding-preview-overlay > div:last-child{ display:grid; gap:2px; min-width:0; }
.pa-branding-preview-overlay strong{ color:var(--pa-assoc-on-primary); font-size:clamp(1.1rem,2vw,1.45rem); line-height:1.05; }
.pa-branding-preview-overlay span{ color:color-mix(in srgb,var(--pa-assoc-on-primary) 76%,transparent); font-size:.78rem; font-weight:700; }
.pa-branding-palette-preview{ position:absolute; z-index:2; left:22px; right:22px; bottom:18px; display:flex; align-items:center; gap:8px; }
.pa-branding-palette-preview > span{ width:24px; height:24px; flex:0 0 24px; border:2px solid color-mix(in srgb,#fff 78%,transparent); border-radius:999px; box-shadow:0 2px 9px rgba(0,0,0,.16); }
.pa-branding-palette-preview small{ margin-left:3px; color:color-mix(in srgb,var(--pa-assoc-on-primary) 75%,transparent); font-size:.7rem; font-weight:700; }
.pa-branding-upload-grid{ display:grid; gap:12px; }
.pa-branding-upload-grid > label{ display:grid; gap:6px; padding:14px; border:1px solid var(--pa-border); border-radius:15px; background:#fff; }
.pa-branding-remove-row{ display:flex; flex-wrap:wrap; gap:8px; }
.pa-brand-mode{ display:grid; gap:9px; }
.pa-brand-mode > label{ display:grid; grid-template-columns:22px minmax(0,1fr); gap:9px; align-items:start; padding:13px; border:1px solid var(--pa-border); border-radius:14px; background:#fff; cursor:pointer; }
.pa-brand-mode > label:has(input:checked){ border-color:color-mix(in srgb,var(--pa-brand) 42%,var(--pa-border)); background:var(--pa-surface-brand); }
.pa-brand-color-fields{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
/* --------------------------------------------------------------------------
   Association choice / directory
   -------------------------------------------------------------------------- */
.pa-association-choice-page{ min-height:100dvh; padding:clamp(18px,5vw,70px); background:linear-gradient(145deg,#eef3ef,#f7f5ef); }
.pa-association-choice-card{ width:min(1120px,100%); margin-inline:auto; padding:clamp(22px,4vw,52px); border:1px solid var(--pa-border); border-radius:30px; background:rgba(255,255,255,.94); box-shadow:0 25px 70px rgba(20,42,35,.12); }
.pa-association-choice-card > h1{ max-width:17ch; margin:.35rem 0 .7rem; font-size:clamp(2rem,5vw,3.6rem); line-height:.96; letter-spacing:-.055em; }
.pa-association-choice-card > p{ max-width:58ch; margin:0 0 24px; color:var(--pa-text-soft); }
.pa-choice-municipal-mark{ display:inline-flex; margin-bottom:18px; color:#31534d; font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.pa-association-choice-identity{ display:grid; gap:2px; max-width:500px; margin:0 0 26px; padding:13px 15px; border-radius:14px; background:#f5f7f4; }
.pa-association-choice-identity span{ color:var(--pa-text-faint); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.pa-association-choice-identity small{ color:var(--pa-text-soft); }
.pa-association-choice-grid{ display:grid; gap:14px; }
.pa-association-choice-item{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; min-width:0; padding:16px; border:1px solid var(--pa-border); border-radius:20px; background:#fff; box-shadow:var(--pa-shadow-card); }
.pa-association-choice-item:hover{ border-color:var(--pa-border-strong); }
.pa-association-choice-copy{ display:grid; gap:3px; min-width:0; }
.pa-association-choice-copy > span{ color:var(--pa-text-soft); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.pa-association-choice-copy strong{ font-size:1.03rem; }
.pa-association-choice-copy small{ color:var(--pa-text-soft); }
.pa-association-choice-item .pa-button.pa-button-primary:not(.pa-button-secondary):not(.pa-button-danger):not(.pa-button-light){ grid-column:1/-1; width:100%; background:var(--pa-assoc-primary); border-color:var(--pa-assoc-primary); color:var(--pa-assoc-on-primary); }
.pa-association-choice-footer{ margin-top:22px; text-align:center; }
.pa-association-choice-footer a{ color:var(--pa-text-soft); font-size:.78rem; }
.pa-directory-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.pa-directory-card{ position:relative; min-width:0; padding:18px; border:1px solid var(--pa-border); border-radius:20px; background:#fff; box-shadow:var(--pa-shadow-card); }
.pa-directory-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.pa-directory-card-head > div{ display:grid; min-width:0; gap:2px; }
.pa-directory-card-head strong{ font-size:1rem; }
.pa-directory-card-head small{ color:var(--pa-text-soft); }
.pa-directory-public-contact{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.pa-directory-public-contact a{ display:inline-flex; min-height:34px; align-items:center; padding:6px 9px; border-radius:10px; background:var(--pa-surface-brand); color:var(--pa-brand); font-size:.72rem; font-weight:750; text-decoration:none; }
.pa-directory-people{ display:grid; gap:8px; }
.pa-directory-person{ display:grid; grid-template-columns:38px minmax(0,1fr); gap:9px; align-items:center; padding-top:9px; border-top:1px solid var(--pa-border); }
.pa-directory-person-avatar{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--pa-surface-brand); color:var(--pa-brand); font-size:.68rem; font-weight:900; }
.pa-directory-person-copy{ display:grid; gap:2px; min-width:0; }
.pa-directory-person-copy small{ color:var(--pa-text-soft); }
.pa-directory-preferences{ margin-top:24px; }
.pa-directory-preference-list{ display:grid; gap:8px; }
/* --------------------------------------------------------------------------
   Resource cards — photography becomes the first information layer.
   -------------------------------------------------------------------------- */
.pa-resource-catalog-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.pa-resource-card{
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  border-radius:20px;
  box-shadow:var(--pa-shadow-card);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.pa-resource-card:hover{ transform:translateY(-2px); box-shadow:var(--pa-shadow-card-hover); border-color:color-mix(in srgb,var(--pa-brand) 22%,var(--pa-border)); }
.pa-resource-card-media{ position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(145deg,var(--pa-surface-brand),#e6ebe7); }
.pa-resource-card-image{ width:100%; height:100%; object-fit:cover; }
.pa-resource-card-media-placeholder{ display:grid; place-items:center; width:100%; height:100%; color:var(--pa-brand); font-size:.76rem; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.pa-resource-card > :not(.pa-resource-card-media){ margin-inline:17px; }
.pa-resource-card-top{ display:flex; align-items:start; justify-content:space-between; gap:12px; margin-top:16px; }
.pa-resource-card > h3{ margin-top:10px; font-size:1.18rem; line-height:1.15; letter-spacing:-.025em; }
.pa-resource-card > p{ color:var(--pa-text-soft); font-size:.82rem; line-height:1.5; }
.pa-resource-meta-row{ display:flex; flex-wrap:wrap; gap:6px; }
.pa-resource-availability{ display:grid; gap:2px; padding:10px 11px; border-radius:12px; background:var(--pa-surface-soft); }
.pa-resource-availability strong{ font-size:.76rem; }
.pa-resource-availability span{ color:var(--pa-text-soft); font-size:.7rem; }
.pa-resource-card-actions{ margin-top:auto; margin-bottom:17px; padding-top:14px; border-top:1px solid var(--pa-border); }
.pa-resource-media-note{ margin:0; padding:9px 11px; border-radius:11px; background:var(--pa-warning-soft); color:var(--pa-text-soft); }
.pa-resource-media-note strong{ color:var(--pa-warning); }
/* --------------------------------------------------------------------------
   Calendar — logo + identity cues, without turning every cell into a poster.
   -------------------------------------------------------------------------- */
.pa-cal-event{ --pa-event-brand:var(--pa-brand); display:flex; align-items:center; gap:5px; width:100%; border-left:3px solid var(--pa-event-brand); border-radius:8px; background:color-mix(in srgb,var(--pa-event-brand) 8%,#fff); }
.pa-cal-event:hover{ background:color-mix(in srgb,var(--pa-event-brand) 13%,#fff); }
.pa-cal-association-mark{ display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border-radius:7px; background:color-mix(in srgb,var(--pa-event-brand,var(--pa-brand)) 14%,#fff); color:var(--pa-event-brand,var(--pa-brand)); font-size:.62rem; font-weight:900; line-height:1; }
.pa-cal-association-mark img{ display:block; width:100%; height:100%; object-fit:cover; }
.pa-cal-event .pa-cal-association-mark{ width:24px; height:24px; }
.pa-cal-event > span:last-child{ display:flex; align-items:baseline; gap:4px; min-width:0; }
.pa-cal-event > span:last-child > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pa-cal-event-time{ flex:0 0 auto; color:var(--pa-event-brand); font-size:.58rem; font-weight:900; }
.pa-calendar-list-event{ --pa-event-brand:var(--pa-brand); border-left:4px solid var(--pa-event-brand); }
.pa-calendar-list-event button{ display:flex; align-items:center; gap:8px; width:100%; }
.pa-calendar-list-event .pa-cal-association-mark{ width:32px; height:32px; }
.pa-calendar-list-day > strong{ line-height:1.3; }
.pa-calendar-item{ grid-template-columns:minmax(0,1fr); gap:6px; }
.pa-calendar-date{ display:grid; gap:4px; }
.pa-calendar-date strong{ font-size:.78rem; line-height:1.3; }
.pa-calendar-date small{ color:var(--pa-text-soft); font-size:.7rem; line-height:1.3; }
.pa-calendar-detail-visual{ overflow:hidden; margin:-4px -4px 14px; border-radius:14px; }
.pa-calendar-detail-visual img{ display:block; width:100%; max-height:330px; object-fit:cover; }
/* Annual planning follows the same event readability rule: title, full date/time, place. */
.pa-year-event{ grid-template-columns:minmax(0,1fr) 14px; align-items:start; gap:8px; padding:9px 8px; }
.pa-year-event-body{ gap:3px; }
.pa-year-event-body strong{ font-size:.8rem; }
.pa-year-event-schedule{ display:block; color:var(--pa-brand-deep); font-size:.69rem; font-weight:850; line-height:1.3; }
.pa-year-event-location{ color:var(--pa-text-soft); font-size:.66rem; font-weight:650; }
.pa-year-event-association{ color:var(--pa-text-faint); font-size:.63rem; }
.pa-year-event-arrow{ padding-top:2px; }
/* --------------------------------------------------------------------------
   Municipal pilotage — compact modules instead of one endless database list.
   -------------------------------------------------------------------------- */
.pa-management-content-home{ margin:0 0 26px; padding:clamp(20px,3vw,32px); border:1px solid #dce4df; border-radius:24px; background:linear-gradient(135deg,#f8faf7,#eef4ef); }
.pa-management-content-heading h2{ margin:.3rem 0 .45rem; font-size:clamp(1.6rem,3vw,2.35rem); letter-spacing:-.04em; }
.pa-management-content-heading p{ max-width:70ch; margin:0; color:var(--pa-text-soft); }
.pa-content-overview-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:20px; }
.pa-content-overview-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:14px;
  border:1px solid #dfe6e1;
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 4px 15px rgba(20,42,35,.035);
}
.pa-content-overview-card:hover{ border-color:#a8c2b1; box-shadow:var(--pa-shadow-card); }
.pa-content-overview-icon{ display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#edf4ef; font-size:1.35rem; }
.pa-content-overview-card > span:nth-child(2){ display:grid; gap:2px; min-width:0; }
.pa-content-overview-card strong{ font-size:.9rem; }
.pa-content-overview-card small{ color:var(--pa-text-soft); font-size:.7rem; line-height:1.35; }
.pa-content-overview-card em{ display:grid; place-items:center; min-width:34px; height:34px; padding-inline:8px; border-radius:11px; background:#203a41; color:#fff; font-style:normal; font-size:.74rem; font-weight:850; }
.pa-content-module{ scroll-margin-top:95px; margin:0 0 24px; padding:clamp(16px,2.5vw,26px); border:1px solid var(--pa-border); border-radius:22px; background:#fff; box-shadow:var(--pa-shadow-card); }
.pa-content-module-head{ margin-bottom:13px; }
.pa-content-module-head > div{ display:flex; align-items:center; gap:12px; }
.pa-content-module-head > div > span:last-child{ display:grid; gap:1px; }
.pa-content-module-head h2{ margin:0; font-size:1.28rem; letter-spacing:-.025em; }
.pa-content-module-head p{ margin:0; color:var(--pa-text-soft); font-size:.72rem; }
.pa-content-module-icon{ display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:#f0f4f1; font-size:1.25rem; }
.pa-content-editor{ margin:0 0 16px; border:1px dashed #bccbc2; border-radius:15px; background:#fafcf9; }
.pa-content-editor > summary{ display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; min-height:60px; padding:10px 13px; list-style:none; cursor:pointer; }
.pa-content-editor > summary::-webkit-details-marker{ display:none; }
.pa-content-editor > summary > span:last-child{ display:grid; gap:2px; }
.pa-content-editor > summary strong{ font-size:.82rem; }
.pa-content-editor > summary small{ color:var(--pa-text-soft); font-size:.7rem; }
.pa-content-add-icon{ display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#eaf3e9; color:#176742; font-size:1.2rem; font-weight:500; }
.pa-content-editor[open]{ border-style:solid; background:#fff; }
.pa-content-editor[open] > summary{ border-bottom:1px solid var(--pa-border); }
.pa-content-editor > .pa-form{ padding:16px; }
.pa-content-card-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }
.pa-content-item{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-width:0; min-height:74px; padding:13px 13px 13px 15px; border:1px solid var(--pa-border); border-radius:14px; background:#fff; }
.pa-content-item:hover{ border-color:#bdcbc2; background:#fcfdfb; }
.pa-content-item-copy{ display:grid; gap:3px; min-width:0; }
.pa-content-item-kicker{ width:max-content; max-width:100%; color:#176742; font-size:.62rem; line-height:1.2; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.pa-content-item-copy strong{ font-size:.82rem; line-height:1.28; }
.pa-content-item-copy small{ color:var(--pa-text-soft); font-size:.68rem; }
.pa-content-more{ margin-top:10px; }
.pa-content-more > summary{ width:max-content; max-width:100%; padding:8px 10px; border-radius:10px; color:var(--pa-brand); font-size:.74rem; font-weight:800; cursor:pointer; }
.pa-content-more[open] > summary{ margin-bottom:9px; background:var(--pa-surface-soft); }
/* Municipal association cards now also use visual identity without recoloring Mairie chrome. */
.pa-staff-association-identity{ display:flex; align-items:center; gap:11px; min-width:0; }
.pa-staff-association-identity > div{ display:grid; gap:2px; min-width:0; }
/* --------------------------------------------------------------------------
   Responsive composition
   -------------------------------------------------------------------------- */
@media (min-width:620px){.pa-event-gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pa-event-gallery-home{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pa-directory-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pa-resource-catalog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pa-branding-upload-grid,
.pa-brand-color-fields{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pa-association-choice-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pa-content-card-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media (min-width:860px){.pa-dashboard-grid-visual{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; }
.pa-event-dossier-hero{ grid-template-columns:minmax(300px,.72fr) minmax(0,1.15fr); }
.pa-event-dossier-media{ min-height:430px; }
.pa-event-dossier-media .pa-event-visual img{ object-fit:cover; }
.pa-content-overview-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media (min-width:1100px){.pa-event-gallery{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pa-event-gallery-home{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pa-directory-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pa-resource-catalog-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pa-content-card-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media (min-width:1450px){.pa-resource-catalog-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.pa-event-gallery{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.pa-event-gallery-home{ grid-template-columns:repeat(3,minmax(0,1fr)); }}
/* Compatibility with dashboard semantic classes already used by the plugin. */
.pa-metric-list-visual{ display:grid; gap:8px; margin-top:0; }
.pa-metric-list-visual a{
  display:grid;
  grid-template-columns:38px 42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:9px 10px;
  border:0;
  border-radius:13px;
  background:var(--pa-surface-soft);
  color:inherit;
  text-decoration:none;
}
.pa-metric-list-visual a:hover{ background:var(--pa-surface-brand); }
.pa-metric-list-visual .pa-metric-icon{ display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#fff; color:var(--pa-brand); font-weight:900; }
.pa-metric-list-visual .pa-metric-value{ width:auto; height:auto; background:transparent; color:var(--pa-brand); font-size:1.25rem; }
.pa-metric-list-visual a > span:last-child{ min-width:0; color:var(--pa-text-soft); font-size:.76rem; }
.pa-news-stack-visual{ display:grid; gap:6px; }
.pa-news-stack-visual > a{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:9px;
  border:0;
  border-radius:13px;
  color:inherit;
  text-decoration:none;
}
.pa-news-stack-visual > a:hover{ background:var(--pa-surface-soft); }
.pa-news-stack-visual .pa-news-date{ display:grid; place-items:center; align-content:center; width:48px; height:48px; border-radius:12px; background:var(--pa-surface-brand); color:var(--pa-brand); }
.pa-news-stack-visual .pa-news-date strong{ font-size:1.02rem; line-height:1; }
.pa-news-stack-visual .pa-news-date small{ margin-top:2px; font-size:.56rem; text-transform:uppercase; font-weight:850; }
.pa-news-stack-visual > a > span:nth-child(2){ display:grid; gap:2px; min-width:0; }
.pa-news-stack-visual > a > span:nth-child(2) small{ color:var(--pa-text-faint); font-size:.64rem; }
.pa-news-stack-visual > a > span:nth-child(2) strong{ font-size:.78rem; line-height:1.3; }
.pa-event-tile > .pa-event-visual{ height:auto; aspect-ratio:16/10; }
.pa-event-card-next{ display:grid; gap:2px; margin-top:7px; padding:9px 10px; border-radius:11px; background:var(--pa-surface-brand); }
.pa-event-card-next span{ color:var(--pa-text-faint); font-size:.61rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.pa-event-card-next strong{ color:var(--pa-brand); font-size:.73rem; line-height:1.25; }
.pa-event-location{ color:var(--pa-text-faint); font-size:.7rem; }
.pa-event-characteristics{ display:flex; flex-wrap:wrap; gap:6px; margin-top:17px; }
.pa-event-characteristics span{ display:inline-flex; padding:5px 8px; border-radius:999px; background:var(--pa-surface-soft); color:var(--pa-text-soft); font-size:.67rem; font-weight:750; }
.pa-private-event-badge{ width:max-content; max-width:100%; margin:.4rem 0; padding:6px 9px; border-radius:999px; background:var(--pa-warning-soft); color:var(--pa-warning); font-size:.68rem; font-weight:800; }
/* People are easier to scan with neutral initial avatars; no profile photo is required. */
.pa-member-heading,
.pa-office-card-heading{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:11px; align-items:start; min-width:0; }
.pa-member-heading .pa-person-avatar,
.pa-office-card-heading .pa-person-avatar{ width:44px; height:44px; background:var(--pa-surface-brand); color:var(--pa-brand); }
.pa-member-heading .pa-member-identity,
.pa-office-card-heading .pa-office-card-main{ min-width:0; }
/* Directory actual markup. */
.pa-directory-card-head h2{ margin:0; font-size:1.12rem; line-height:1.15; }
.pa-contact-card{ display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:9px; min-width:0; padding-top:9px; border-top:1px solid var(--pa-border); }
.pa-person-avatar{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--pa-surface-brand); color:var(--pa-brand); font-size:.7rem; font-weight:900; }
.pa-contact-card > span:nth-child(2){ display:grid; min-width:0; gap:2px; }
.pa-contact-card > span:nth-child(2) small{ color:var(--pa-text-soft); }
.pa-contact-card > a{ color:var(--pa-brand); font-size:.72rem; font-weight:800; text-decoration:none; }
.pa-directory-preference-list form{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 0; border-top:1px solid var(--pa-border); }
.pa-directory-preference-list form:first-child{ border-top:0; }
.pa-toggle-row{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; align-items:start; min-width:0; }
.pa-toggle-row > span{ display:grid; gap:2px; }
.pa-toggle-row small{ color:var(--pa-text-soft); }
/* Neutralise les anciens marqueurs "back-office carré" de l'expérience Association. */
.pa-experience-association .pa-card,
.pa-experience-association .pa-association-panel,
.pa-experience-association .pa-content-card{ border-radius:var(--pa-radius-lg); border-color:var(--pa-border); box-shadow:var(--pa-shadow-card); }
.pa-experience-association .pa-button{ border-radius:var(--pa-radius-sm); }
.pa-experience-association .pa-badge{ border-radius:999px; }
.pa-experience-association .pa-form :where(input:not([type=checkbox]):not([type=radio]),select,textarea){ border-radius:var(--pa-radius-sm); }
.pa-experience-association .pa-table-wrap{ border-radius:var(--pa-radius-md); }
.pa-experience-association .pa-page-title h2{ color:var(--pa-text); font-size:clamp(1.9rem,3.2vw,3rem); text-transform:none; letter-spacing:-.045em; }
.pa-experience-association .pa-page-title::after{ display:none; }
.pa-experience-association .pa-card-head h3{ color:var(--pa-text); }
.pa-experience-association .pa-card-head a,
.pa-experience-association .pa-inline-link{ color:var(--pa-brand); }
/* Pilotage tabs — compact segmented navigation, scrollable instead of tiny buttons. */
.pa-management-tabs{
  display:flex;
  gap:7px;
  max-width:100%;
  margin:0 0 22px;
  padding:5px;
  overflow-x:auto;
  border:1px solid var(--pa-border);
  border-radius:15px;
  background:#f7f9f6;
  scrollbar-width:thin;
}
.pa-management-tabs .pa-button{
  flex:0 0 auto;
  min-height:38px;
  padding:7px 12px;
  border-radius:10px;
  background:transparent;
  border-color:transparent;
  color:var(--pa-text-soft);
  box-shadow:none;
  white-space:nowrap;
}
.pa-management-tabs .pa-button:hover{ transform:none; background:#fff; color:var(--pa-text); box-shadow:0 2px 8px rgba(18,38,33,.05); }
.pa-management-tabs .pa-button[aria-current="page"]{ background:#203a41; border-color:#203a41; color:#fff; box-shadow:0 4px 12px rgba(32,58,65,.15); }
.pa-management-workspace{ min-width:0; }
.pa-management-list{ padding:0; overflow:hidden; }
.pa-management-table{ width:100%; }
.pa-management-rows{ display:grid; gap:9px; }
.pa-management-row{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:13px 14px; border:1px solid var(--pa-border); border-radius:14px; background:#fff; }
.pa-management-row > div:first-child{ display:grid; gap:3px; min-width:0; }
.pa-management-row > div:first-child > span{ color:var(--pa-text-soft); font-size:.72rem; }
@media (min-width:720px){.pa-calendar-item{ grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr); gap:16px; }
.pa-event-visual-editor{ grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr); align-items:start; }
.pa-management-row{ grid-template-columns:minmax(0,1fr) auto; align-items:center; }}
/* --------------------------------------------------------------------------
   3.5.0 — confirmation SMS et dossier de preuve
   -------------------------------------------------------------------------- */
.pa-signature-phone,
.pa-signature-confirmation{border-color:color-mix(in srgb,var(--pa-brand) 18%,var(--pa-border))}
.pa-signature-confirmation{display:grid;gap:18px}
.pa-signature-summary{display:grid;gap:10px}
.pa-signature-summary h2{margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.1}
.pa-signature-review{display:grid;gap:14px;padding:16px;border:1px solid var(--pa-border);border-radius:14px;background:var(--pa-surface-soft)}
.pa-signature-review .pa-card-head{margin:0}
.pa-signature-review-list{display:grid;gap:0;margin:0;background:#fff;border:1px solid var(--pa-border);border-radius:12px;overflow:hidden}
.pa-signature-review-list>div{display:grid;gap:4px;padding:11px 13px;border-bottom:1px solid var(--pa-border)}
.pa-signature-review-list>div:last-child{border-bottom:0}
.pa-signature-review-list dt{color:var(--pa-text-soft);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.pa-signature-review-list dd{margin:0;color:var(--pa-text);font-size:.84rem;line-height:1.45;white-space:normal}
.pa-signature-file-list{display:grid;gap:8px}
.pa-signature-file-list ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.pa-signature-file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--pa-border);border-radius:10px;background:#fff}
.pa-signature-file-list code{font-size:.68rem;color:var(--pa-text-soft)}
.pa-signature-consent{display:grid;gap:5px;padding:14px 16px;border-left:4px solid var(--pa-brand);border-radius:10px;background:var(--pa-surface-brand)}
.pa-signature-consent p,
.pa-signature-consent small{margin:0}
.pa-signature-code-form{display:grid;gap:12px;padding:16px;border:1px solid var(--pa-border);border-radius:14px;background:#fff}
.pa-signature-code-form>label:first-of-type{max-width:340px}
.pa-signature-code-form input[name=otp],
.pa-phone-otp input[name=otp]{font-variant-numeric:tabular-nums;letter-spacing:.22em;font-size:1.25rem;font-weight:850;text-align:center}
.pa-signature-consent-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--pa-border);border-radius:10px;background:var(--pa-surface-soft);font-size:.8rem;line-height:1.45}
.pa-signature-consent-check input{margin-top:3px;flex:none}
.pa-signature-secondary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.pa-signature-evidence{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;margin-top:10px;padding:10px 12px;border:1px solid #bcd7c3;border-radius:10px;background:#f1f8f2}
.pa-signature-evidence.is-warning{border-color:#e3c4a4;background:#fff7e9}
.pa-signature-evidence-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#17633a;color:#fff;font-weight:900}
.pa-signature-evidence.is-warning .pa-signature-evidence-icon{background:#9a6417}
.pa-signature-evidence-copy{display:grid;gap:2px;min-width:0}
.pa-signature-evidence-copy strong{font-size:.78rem}
.pa-signature-evidence-copy span,
.pa-signature-evidence-copy small{color:var(--pa-text-soft);font-size:.7rem;line-height:1.35}
.pa-signature-evidence-copy a{width:max-content;max-width:100%;margin-top:3px;color:var(--pa-brand);font-size:.72rem;font-weight:850}
.pa-signature-evidence.is-compact{grid-template-columns:26px minmax(0,1fr);padding:7px 9px}
.pa-signature-evidence.is-compact .pa-signature-evidence-icon{width:24px;height:24px;font-size:.72rem}
.pa-signature-evidence.is-compact .pa-signature-evidence-copy strong{font-size:.7rem}
.pa-signature-evidence.is-compact .pa-signature-evidence-copy a{font-size:.67rem}
@media (min-width:760px){.pa-signature-review-list>div{grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);gap:18px;align-items:start}
.pa-signature-review-list dt{padding-top:2px}
.pa-signature-code-form{grid-template-columns:minmax(220px,340px) minmax(0,1fr);align-items:end}
.pa-signature-code-form .pa-signature-consent-check{grid-column:1/-1}
.pa-signature-code-form .pa-button{grid-column:1/-1;width:max-content}}

/* ==========================================================================
   Association shell — canonical implementation
   One source of truth for branding, navigation, sticky behaviour and home hero.
   ========================================================================== */

/* Header: mobile-first ---------------------------------------------------- */
.pa-experience-association .pa-association-header{
  position:sticky;
  top:0;
  z-index:340;
  overflow:visible;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid color-mix(in srgb,var(--pa-assoc-primary) 14%,var(--pa-border));
  box-shadow:0 8px 24px rgba(18,38,33,.06);
  backdrop-filter:blur(14px) saturate(1.05);
}
.pa-experience-association .pa-association-header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:linear-gradient(90deg,var(--pa-assoc-primary),var(--pa-assoc-secondary));
  pointer-events:none;
}
.pa-experience-association .pa-association-header-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:68px;
  max-width:1840px;
  margin:0 auto;
  padding:8px 18px 10px;
  background:transparent;
  border:0;
}
.pa-experience-association .pa-association-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1 1 auto;
}
.pa-experience-association .pa-association-brand>.pa-brand{
  flex:0 0 auto;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  gap:8px;
  color:var(--pa-text);
}
.pa-experience-association .pa-association-brand>.pa-brand .pa-brand-logo-link{
  width:42px;
  min-width:42px;
  height:42px;
  padding:4px;
  border:1px solid color-mix(in srgb,var(--pa-assoc-primary) 16%,var(--pa-border));
  border-radius:12px;
  box-shadow:0 3px 10px rgba(18,38,33,.05);
}
.pa-experience-association .pa-association-brand>.pa-brand .pa-brand-fallback{
  min-width:42px;
  min-height:42px;
  place-content:center;
  padding:6px;
  border-radius:12px;
  background:var(--pa-assoc-primary);
  color:var(--pa-assoc-on-primary);
}
.pa-experience-association .pa-association-brand>.pa-brand .pa-brand-copy{
  display:none;
}
.pa-experience-association .pa-active-association{
  display:grid;
  gap:1px;
  min-width:0;
  padding-left:10px;
  border-left:1px solid color-mix(in srgb,var(--pa-assoc-primary) 13%,var(--pa-border));
}
.pa-experience-association .pa-active-association>span{
  color:var(--pa-text-faint);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.055em;
  line-height:1.15;
  text-transform:uppercase;
}
.pa-experience-association .pa-active-association>strong{
  display:block;
  max-width:min(38vw,260px);
  overflow:hidden;
  color:var(--pa-text);
  font-size:.78rem;
  font-weight:900;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Multi-association switcher: the active association stays readable at all times. */
.pa-experience-association .pa-association-switcher{
  position:relative;
  flex:0 0 auto;
  margin:0;
}
.pa-experience-association .pa-association-switcher details{
  position:relative;
}
.pa-experience-association .pa-association-switcher summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:38px;
  height:38px;
  padding:0 9px;
  border:1px solid color-mix(in srgb,var(--pa-assoc-primary) 20%,var(--pa-border));
  border-radius:11px;
  background:#fff;
  color:var(--pa-assoc-primary);
  cursor:pointer;
  list-style:none;
  font-size:.68rem;
  font-weight:850;
}
.pa-experience-association .pa-association-switcher summary::-webkit-details-marker{
  display:none;
}
.pa-experience-association .pa-association-switcher summary:hover,
.pa-experience-association .pa-association-switcher details[open]>summary{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 38%,var(--pa-border));
  background:var(--pa-assoc-soft);
}
.pa-experience-association .pa-association-switcher .pa-switcher-trigger-text{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.pa-experience-association .pa-association-switcher summary::after{
  content:"⇅";
  font-size:.9rem;
  font-weight:900;
}
.pa-experience-association .pa-association-switcher .pa-switcher-list{
  position:absolute;
  z-index:410;
  top:calc(100% + 9px);
  left:0;
  display:grid;
  gap:6px;
  width:min(340px,calc(100vw - 28px));
  padding:8px;
  border:1px solid var(--pa-border);
  border-radius:15px;
  background:#fff;
  box-shadow:0 20px 46px rgba(18,38,33,.16);
}
.pa-experience-association .pa-association-switcher .pa-switcher-option{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:58px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:11px;
  background:#fff;
  color:var(--pa-text);
  text-align:left;
  cursor:pointer;
}
.pa-experience-association .pa-association-switcher .pa-switcher-option:hover,
.pa-experience-association .pa-association-switcher .pa-switcher-option[aria-current="true"]{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 26%,var(--pa-border));
  background:var(--pa-assoc-soft);
}
.pa-experience-association .pa-association-switcher .pa-switcher-option[aria-current="true"]::after{
  content:"✓";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:var(--pa-assoc-primary);
  color:var(--pa-assoc-on-primary);
  font-size:.72rem;
  font-weight:900;
}
.pa-experience-association .pa-association-switcher .pa-switcher-option-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.pa-experience-association .pa-association-switcher .pa-switcher-option strong{
  overflow:hidden;
  font-size:.78rem;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pa-experience-association .pa-association-switcher .pa-switcher-option small{
  color:var(--pa-text-soft);
  font-size:.66rem;
}

/* Desktop navigation is introduced at tablet/desktop breakpoints. */
.pa-experience-association .pa-association-nav{
  display:none;
}
.pa-experience-association .pa-association-nav-group,
.pa-experience-association .pa-association-nav-direct{
  flex:0 0 auto;
  position:relative;
}
.pa-experience-association .pa-association-nav-group>summary,
.pa-experience-association .pa-association-nav-direct{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:var(--pa-text-soft);
  text-decoration:none;
  cursor:pointer;
  font-size:.76rem;
  font-weight:850;
  line-height:1.1;
  list-style:none;
  white-space:nowrap;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.pa-experience-association .pa-association-nav-group>summary::-webkit-details-marker{
  display:none;
}
.pa-experience-association .pa-association-nav-group>summary:hover,
.pa-experience-association .pa-association-nav-direct:hover,
.pa-experience-association .pa-association-nav-group[open]>summary{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 16%,var(--pa-border));
  background:var(--pa-assoc-soft);
  color:var(--pa-assoc-primary);
}
.pa-experience-association .pa-association-nav-group.is-active>summary,
.pa-experience-association .pa-association-nav-direct.is-active{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 16%,var(--pa-border));
  background:color-mix(in srgb,var(--pa-assoc-primary) 9%,#fff);
  color:var(--pa-assoc-primary);
  box-shadow:inset 0 -3px 0 var(--pa-assoc-secondary);
}
.pa-experience-association .pa-association-nav svg{
  width:18px;
  height:18px;
  flex:none;
}
.pa-experience-association .pa-association-nav-group>summary>span:last-child{
  color:currentColor;
  font-size:.62rem;
}
.pa-experience-association .pa-association-nav-popover{
  position:absolute;
  z-index:420;
  top:calc(100% + 10px);
  left:0;
  display:grid;
  gap:3px;
  width:320px;
  padding:8px;
  border:1px solid color-mix(in srgb,var(--pa-assoc-primary) 14%,var(--pa-border));
  border-radius:16px;
  background:#fff;
  box-shadow:0 20px 48px rgba(18,38,33,.15);
}
.pa-experience-association .pa-association-nav-popover::before{
  display:none;
}
.pa-experience-association .pa-association-nav-popover>a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:0;
  border-radius:11px;
  color:var(--pa-text);
  text-decoration:none;
}
.pa-experience-association .pa-association-nav-popover>a:hover,
.pa-experience-association .pa-association-nav-popover>a.is-active{
  background:var(--pa-assoc-soft);
}
.pa-experience-association .pa-association-nav-popover .pa-nav-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  color:var(--pa-assoc-primary);
}
.pa-experience-association .pa-association-nav-popover strong,
.pa-experience-association .pa-association-nav-popover small{
  display:block;
}
.pa-experience-association .pa-association-nav-popover strong{
  font-size:.8rem;
}
.pa-experience-association .pa-association-nav-popover small{
  margin-top:2px;
  color:var(--pa-text-soft);
  font-size:.67rem;
}

/* Header actions. */
.pa-experience-association .pa-association-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex:0 0 auto;
  min-width:0;
}
.pa-experience-association .pa-association-header-actions .pa-account-menu{
  min-width:0;
  max-width:230px;
}
.pa-experience-association .pa-association-header-actions .pa-account-menu>summary{
  min-width:0;
  max-width:230px;
}
.pa-experience-association .pa-association-header-actions .pa-user-copy{
  min-width:0;
  max-width:168px;
}
.pa-experience-association .pa-association-header-actions .pa-command-trigger,
.pa-experience-association .pa-association-header-actions .pa-notification-trigger,
.pa-experience-association .pa-association-header-actions .pa-account-menu>summary{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 14%,var(--pa-border));
  background:#fff;
}
.pa-experience-association .pa-association-header-actions .pa-command-trigger,
.pa-experience-association .pa-association-header-actions .pa-notification-trigger{
  width:42px;
  min-width:42px;
  min-height:42px;
  padding:0;
  justify-content:center;
  border-radius:12px;
  color:var(--pa-assoc-primary);
}
.pa-experience-association .pa-association-header-actions .pa-command-trigger>span:not(:first-child),
.pa-experience-association .pa-association-header-actions .pa-command-trigger>kbd{
  display:none;
}
.pa-experience-association .pa-association-primary-action{
  display:none;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:9px 13px;
  border-radius:12px;
  background:var(--pa-assoc-primary);
  color:var(--pa-assoc-on-primary);
  text-decoration:none;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 8px 18px color-mix(in srgb,var(--pa-assoc-primary) 18%,transparent);
}
.pa-experience-association .pa-association-primary-action:hover{
  transform:translateY(-1px);
}
.pa-experience-association .pa-association-header .pa-avatar{
  background:var(--pa-assoc-primary);
  color:var(--pa-assoc-on-primary);
}
.pa-experience-association .pa-association-header .pa-user-copy strong{
  color:var(--pa-text);
}
.pa-experience-association .pa-association-header .pa-nav-toggle{
  display:grid;
}
/* Home hero: neutral work surface. Association colour is reserved for chrome/actions. */
.pa-association-home-hero{
  position:relative;
  overflow:hidden;
  min-height:0;
  margin:0 0 22px;
  border:1px solid var(--pa-border);
  border-radius:20px;
  background:#fff;
  color:var(--pa-text);
  box-shadow:0 12px 30px rgba(18,38,33,.055);
}
.pa-association-home-hero::before{ display:none; }
.pa-association-home-cover,
.pa-association-home-overlay{ display:none; }
.pa-association-home-content{
  display:grid;
  gap:18px;
  padding:22px 18px 18px;
}
.pa-association-home-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  max-width:none;
}
.pa-association-home-identity{ display:none; }
.pa-association-home-hero .pa-eyebrow{ color:var(--pa-brand); }
.pa-association-home-hero h1{
  max-width:16ch;
  margin:.2rem 0 .55rem;
  color:var(--pa-text);
  font-size:clamp(2rem,9vw,2.75rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.pa-association-home-copy>p{
  max-width:54ch;
  margin:0;
  color:var(--pa-text-soft);
  font-size:.93rem;
  line-height:1.5;
}
.pa-association-home-hero .pa-welcome-actions{
  display:grid;
  gap:8px;
  width:100%;
  margin-top:16px;
}
.pa-association-home-hero .pa-welcome-actions .pa-button{ width:100%; }
.pa-association-home-feature{ min-width:0; }
.pa-next-event-showcase{
  display:grid;
  grid-template-rows:minmax(108px,132px) auto;
  overflow:hidden;
  height:100%;
  border:1px solid var(--pa-border);
  border-radius:17px;
  background:var(--pa-surface-soft);
  color:var(--pa-text);
  text-decoration:none;
  box-shadow:none;
}
.pa-next-event-showcase:hover{
  transform:translateY(-1px);
  border-color:var(--pa-border-strong);
  box-shadow:var(--pa-shadow-card);
}
.pa-event-visual-hero{ min-height:108px; }
.pa-next-event-showcase-body{ padding:13px 14px 15px; }
.pa-next-event-showcase-body .pa-eyebrow{ color:var(--pa-text-soft); }
.pa-next-event-showcase h2{
  margin:.18rem 0 .35rem;
  color:var(--pa-text);
  font-size:1.25rem;
  line-height:1.08;
  letter-spacing:-.025em;
}
.pa-next-event-showcase .pa-event-when{ color:var(--pa-text); }
.pa-next-event-showcase .pa-event-where{ color:var(--pa-text-soft); }
.pa-next-action-mini{
  display:grid;
  gap:2px;
  margin-top:9px;
  padding:9px 10px;
  border:1px solid var(--pa-border);
  border-radius:12px;
  background:#fff;
}
.pa-next-action-mini span{
  color:var(--pa-text-faint);
  font-size:.63rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pa-next-action-mini strong{ color:var(--pa-text); font-size:.78rem; }
.pa-next-event-empty{
  display:grid;
  align-content:center;
  min-height:220px;
  padding:20px;
  border:1px dashed var(--pa-border-strong);
  border-radius:17px;
  background:var(--pa-surface-soft);
}
.pa-next-event-empty .pa-empty-illustration{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:12px;
  border-radius:13px;
  background:#fff;
  color:var(--pa-brand);
  font-size:1.45rem;
}
.pa-next-event-empty h2{ margin:0 0 6px; color:var(--pa-text); font-size:1.25rem; }
.pa-next-event-empty p{ margin:0; color:var(--pa-text-soft); }

/* Association colour is intentionally limited to navigation and action controls. */
.pa-experience-association .pa-button:not(.pa-button-secondary):not(.pa-button-danger):not(.pa-button-light):not(.pa-button-ghost){
  background:var(--pa-assoc-primary);
  border-color:var(--pa-assoc-primary);
  color:var(--pa-assoc-on-primary);
}
.pa-experience-association .pa-button:not(.pa-button-secondary):not(.pa-button-danger):not(.pa-button-light):not(.pa-button-ghost):hover{
  background:color-mix(in srgb,var(--pa-assoc-primary) 88%,#000);
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 88%,#000);
}
.pa-experience-association .pa-button-secondary,
.pa-experience-association .pa-button-light{
  background:#fff;
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 22%,var(--pa-border));
  color:var(--pa-assoc-primary);
}
.pa-experience-association .pa-button-secondary:hover,
.pa-experience-association .pa-button-light:hover{
  background:color-mix(in srgb,var(--pa-assoc-primary) 5%,#fff);
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 38%,var(--pa-border));
  color:var(--pa-assoc-primary);
}

/* Association responsive progression. ----------------------------------- */
@media (min-width:620px){
  .pa-experience-association .pa-association-brand>.pa-brand .pa-brand-copy{
    display:grid;
  }
  .pa-experience-association .pa-association-brand>.pa-brand .pa-brand-copy>span{
    display:none;
  }
  .pa-experience-association .pa-association-brand>.pa-brand .pa-brand-copy>strong{
    margin:0;
    color:var(--pa-text-soft);
    font-size:.72rem;
  }
  .pa-experience-association .pa-active-association>strong{
    max-width:300px;
    font-size:.84rem;
  }
  .pa-experience-association .pa-association-switcher .pa-switcher-trigger-text{
    position:static;
    width:auto;
    height:auto;
    margin:0;
    overflow:visible;
    clip:auto;
    white-space:normal;
  }
  .pa-association-home-content{
    padding:24px 22px 20px;
  }
  .pa-association-home-hero .pa-welcome-actions{
    display:flex;
    flex-wrap:wrap;
    width:auto;
  }
  .pa-association-home-hero .pa-welcome-actions .pa-button{
    width:auto;
  }
}

@media (min-width:960px){
  .pa-experience-association .pa-association-header-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "identity actions"
      "navigation navigation";
    gap:8px 16px;
    min-height:0;
    padding:9px 20px 11px;
  }
  .pa-experience-association .pa-association-brand{
    grid-area:identity;
    max-width:460px;
  }
  .pa-experience-association .pa-association-nav{
    grid-area:navigation;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    min-width:0;
    overflow-x:auto;
    overflow-y:visible;
    padding:1px 0 2px;
    scrollbar-width:none;
  }
  .pa-experience-association .pa-association-nav::-webkit-scrollbar{
    display:none;
  }
  .pa-experience-association .pa-association-header-actions{
    grid-area:actions;
  }
  .pa-experience-association .pa-association-primary-action{
    display:inline-flex;
  }
  .pa-experience-association .pa-association-header .pa-nav-toggle{
    display:none;
  }
  .pa-association-home-content{
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
    align-items:stretch;
    gap:20px;
    padding:24px;
  }
  .pa-association-home-hero h1{
    max-width:none;
    font-size:clamp(2.15rem,3vw,2.8rem);
    line-height:1;
  }
}

@media (min-width:1280px){
  .pa-experience-association .pa-association-header-main{
    grid-template-columns:minmax(310px,370px) minmax(560px,1fr) minmax(350px,430px);
    grid-template-areas:"identity navigation actions";
    align-items:center;
    min-height:78px;
    padding:0 clamp(22px,2.3vw,38px) 3px;
    gap:18px;
  }
  .pa-experience-association .pa-association-brand{
    align-self:stretch;
    display:flex;
    align-items:center;
    max-width:390px;
    min-height:75px;
    padding:0 16px 0 0;
    border-right:1px solid color-mix(in srgb,var(--pa-assoc-primary) 10%,var(--pa-border));
    background:transparent;
  }
  .pa-experience-association .pa-association-brand>.pa-brand .pa-brand-logo-link,
  .pa-experience-association .pa-association-brand>.pa-brand .pa-brand-fallback{
    width:46px;
    min-width:46px;
    height:46px;
  }
  .pa-experience-association .pa-active-association>strong{
    max-width:220px;
    font-size:.86rem;
  }
  .pa-experience-association .pa-association-nav{
    justify-content:center;
    overflow:visible;
  }
  .pa-experience-association .pa-association-nav-group>summary,
  .pa-experience-association .pa-association-nav-direct{
    min-height:44px;
    padding:9px 10px;
  }
  .pa-experience-association .pa-association-switcher .pa-switcher-list{
    left:auto;
    right:0;
  }
}

@media (min-width:1520px){
  .pa-experience-association .pa-association-header-main{
    grid-template-columns:minmax(330px,390px) minmax(620px,1fr) minmax(360px,430px);
    gap:20px;
  }
  .pa-experience-association .pa-association-nav{
    gap:7px;
  }
  .pa-experience-association .pa-association-nav-group>summary,
  .pa-experience-association .pa-association-nav-direct{
    padding-inline:13px;
    font-size:.79rem;
  }
  .pa-experience-association .pa-user-chip .pa-user-copy strong{
    font-size:.84rem;
  }
}

/* --------------------------------------------------------------------------
   États terminaux — une annulation n'est jamais un événement actif
   -------------------------------------------------------------------------- */
.pa-event-gallery-section.is-cancelled-group{
  margin-top:clamp(28px,4vw,48px);
  padding-top:22px;
  border-top:1px solid var(--pa-border);
}
.pa-event-gallery-section.is-cancelled-group .pa-section-heading p{
  max-width:68ch;
  color:var(--pa-text-soft);
}
.pa-event-tile.is-terminal{
  box-shadow:none;
}
.pa-event-tile.is-cancelled{
  border-color:color-mix(in srgb,var(--pa-danger) 24%,var(--pa-border));
  background:color-mix(in srgb,var(--pa-danger-soft) 38%,#fff);
}
.pa-event-tile.is-cancelled .pa-event-tile-media{
  filter:saturate(.32) contrast(.92);
}
.pa-event-tile.is-cancelled .pa-event-tile-media::after{
  content:"ANNULÉ";
  position:absolute;
  z-index:3;
  inset:auto 12px 12px auto;
  padding:6px 9px;
  border-radius:999px;
  background:var(--pa-danger);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.07em;
}
.pa-event-cancelled-summary{
  display:grid;
  gap:4px;
  margin-top:8px;
  padding:11px 12px;
  border-left:4px solid var(--pa-danger);
  border-radius:10px;
  background:var(--pa-danger-soft);
}
.pa-event-cancelled-summary strong{color:var(--pa-danger);font-size:.82rem}
.pa-event-cancelled-summary small{color:var(--pa-text-soft);font-size:.7rem}
.pa-event-cancelled-summary p{margin:2px 0 0;color:var(--pa-text);font-size:.76rem;line-height:1.4}
.pa-event-requests-status.is-terminal .pa-request-status-group{
  background:var(--pa-surface-soft);
}
.pa-event-requests-status.is-terminal .pa-request-status-group-head>span{
  color:var(--pa-text-faint);
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pa-training-card.is-cancelled{
  border-color:color-mix(in srgb,var(--pa-danger) 22%,var(--pa-border));
  background:color-mix(in srgb,var(--pa-danger-soft) 32%,#fff);
}
.pa-training-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.pa-training-cancelled-group{margin-top:28px}
.pa-event-dossier-hero.is-cancelled{
  border-color:color-mix(in srgb,var(--pa-danger) 24%,var(--pa-border));
  background:color-mix(in srgb,var(--pa-danger-soft) 24%,#fff);
}
.pa-event-dossier-hero.is-cancelled .pa-event-dossier-media{filter:saturate(.38)}
.pa-event-terminal-pill{align-self:flex-start;margin-bottom:10px}

/* --------------------------------------------------------------------------
   Préparation événement — navigateur AJAX des équipements
   -------------------------------------------------------------------------- */
.pa-preflight-equipment-browser{min-width:0}
.pa-resource-browser-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:10px;flex-direction:column;margin:4px 0 12px}
.pa-resource-browser-search{position:relative;display:flex;align-items:center;flex:1 1 auto;max-width:none;margin:0}
.pa-resource-browser-search input[type=search]{width:100%;min-height:46px;padding-right:78px;background:#fff}
.pa-resource-search-clear{position:absolute;right:8px;min-height:30px;padding:4px 9px;border:0;border-radius:8px;background:var(--pa-surface-soft);color:var(--pa-text-soft);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
.pa-resource-browser-summary{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex-wrap:wrap;color:var(--pa-text-soft);font-size:.72rem;white-space:nowrap}
.pa-resource-browser-summary strong{color:var(--pa-text);font-size:.82rem}
.pa-resource-category-tabs{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin}
.pa-resource-category-tabs button{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:36px;padding:7px 11px;border:1px solid var(--pa-border);border-radius:999px;background:#fff;color:var(--pa-text-soft);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.pa-resource-category-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--pa-surface-soft);color:var(--pa-text-soft);font-size:.64rem}
.pa-resource-category-tabs button:hover{border-color:color-mix(in srgb,var(--pa-brand) 32%,var(--pa-border));color:var(--pa-brand-deep)}
.pa-resource-category-tabs button.is-active{border-color:var(--pa-brand);background:var(--pa-brand);color:#fff}
.pa-resource-category-tabs button.is-active span{background:rgba(255,255,255,.18);color:#fff}
.pa-resource-category-tabs button:disabled{opacity:.42;cursor:not-allowed}
.pa-resource-browser-status{min-height:18px;margin:0 0 2px;color:var(--pa-text-soft);font-size:.72rem}
.pa-resource-browser-status.is-loading::before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid var(--pa-border);border-top-color:var(--pa-brand);border-radius:50%;vertical-align:-1px;animation:paResourceSpin .65s linear infinite}
@keyframes paResourceSpin{to{transform:rotate(360deg)}}
.pa-resource-browser-results{border-top:1px solid var(--pa-border)}
.lep-portal-authenticated .pa-resource-browser-results .pa-resource-check{position:relative;grid-template-columns:minmax(0,1fr) minmax(86px,112px);gap:16px;padding:13px 10px;border-bottom:1px solid var(--pa-border);transition:background .15s ease,border-color .15s ease}
.lep-portal-authenticated .pa-resource-browser-results .pa-resource-check:hover{background:var(--pa-surface-soft)}
.lep-portal-authenticated .pa-resource-browser-results .pa-resource-check.is-selected{background:var(--pa-surface-brand);box-shadow:inset 3px 0 0 var(--pa-brand)}
.pa-resource-check-copy{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:2px 8px;min-width:0}
.pa-resource-check-copy strong{min-width:0;overflow-wrap:anywhere}
.pa-resource-check-copy small,.pa-resource-check-copy em{grid-column:1/-1}
.pa-resource-check-copy em{margin-top:2px;color:var(--pa-text-faint);font-size:.7rem;font-style:normal;line-height:1.35}
.pa-resource-category-badge{grid-column:1;display:inline-flex;align-items:center;width:max-content;max-width:150px;padding:3px 7px;border-radius:999px;background:var(--pa-surface-soft);color:var(--pa-text-soft);font-size:.58rem;font-weight:850;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-resource-browser-results input[type=number]{text-align:center;font-weight:850;font-variant-numeric:tabular-nums}
.pa-resource-browser-empty{display:grid;place-items:center;gap:4px;min-height:120px;padding:20px;border:1px dashed var(--pa-border);border-radius:14px;background:var(--pa-surface-soft);text-align:center}
.pa-resource-browser-empty span{color:var(--pa-text-soft);font-size:.78rem}
.pa-preflight-equipment-browser.is-loading .pa-resource-browser-results{opacity:.62;pointer-events:none}

@media (min-width:760px){
  .pa-resource-browser-toolbar{align-items:center;flex-direction:row;gap:14px}
  .pa-resource-browser-search{flex:1 1 420px;max-width:620px}
  .pa-resource-browser-summary{justify-content:flex-end}
  .pa-resource-check-copy{grid-template-columns:auto minmax(0,1fr)}
  .pa-resource-category-badge{grid-column:auto}
}

/* ========================================================================== 
   4.1 — Association: warmer identity, clearer hierarchy, shorter forms
   ========================================================================== */
.pa-experience-association .pa-main,
.pa-experience-association .pa-association-main{
  padding-bottom:clamp(76px,9vw,118px);
}
.pa-experience-association .pa-association-workspace{
  display:grid;
  gap:18px;
}
.pa-experience-association .pa-association-workspace-head{
  position:relative;
  display:grid;
  gap:18px;
  overflow:hidden;
  padding:clamp(20px,3vw,32px);
  border:1px solid color-mix(in srgb,var(--pa-assoc-primary) 16%,var(--pa-border));
  border-radius:var(--pa-radius-xl);
  background:
    radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--pa-assoc-secondary) 22%,transparent),transparent 28%),
    linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--pa-assoc-soft) 72%,#fff) 100%);
  box-shadow:0 14px 40px rgba(18,38,33,.07);
}
.pa-experience-association .pa-association-workspace-head::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--pa-assoc-primary),var(--pa-assoc-secondary));
}
.pa-experience-association .pa-association-workspace-head h2{
  max-width:22ch;
  margin:.25rem 0 .45rem;
  color:var(--pa-text);
  font-size:clamp(1.75rem,4vw,2.8rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.pa-experience-association .pa-association-workspace-head p{
  max-width:66ch;
  margin:0;
  color:var(--pa-text-soft);
}
.pa-experience-association .pa-association-head-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
}
.pa-experience-association .pa-association-tabs{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  padding:6px;
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-md);
  background:color-mix(in srgb,var(--pa-assoc-soft) 42%,#fff);
}
.pa-experience-association .pa-association-tabs>a{
  display:grid;
  gap:2px;
  min-height:54px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--pa-text-soft);
  text-decoration:none;
}
.pa-experience-association .pa-association-tabs>a:hover{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 18%,var(--pa-border));
  background:#fff;
  color:var(--pa-text);
}
.pa-experience-association .pa-association-tabs>a.is-active{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 28%,var(--pa-border));
  background:#fff;
  color:var(--pa-assoc-primary);
  box-shadow:0 6px 18px rgba(18,38,33,.07);
}
.pa-experience-association .pa-association-tabs>a strong{font-size:.8rem}
.pa-experience-association .pa-association-tabs>a small{color:var(--pa-text-soft);font-size:.65rem}
.pa-experience-association .pa-association-panel{
  padding:clamp(17px,2.2vw,26px);
}
.pa-experience-association .pa-panel-heading{
  display:grid;
  gap:10px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--pa-border);
}
.pa-experience-association .pa-panel-heading h3{margin:.2rem 0 .25rem;font-size:1.25rem;letter-spacing:-.025em}
.pa-experience-association .pa-panel-heading p{max-width:70ch;margin:0;color:var(--pa-text-soft)}
.pa-experience-association .pa-team-panel .pa-callout{margin-bottom:18px}
.pa-experience-association .pa-member-card{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 10%,var(--pa-border));
}
.pa-experience-association .pa-member-card:hover{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 24%,var(--pa-border));
}
.pa-experience-association .pa-member-editor>summary{
  color:var(--pa-assoc-primary);
  font-weight:800;
}
.pa-experience-association .pa-member-permission-form{
  margin-top:12px;
  padding:15px;
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-md);
  background:var(--pa-surface-soft);
}
.pa-experience-association .pa-permission-grid{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  border:0;
}
.pa-experience-association .pa-permission-grid>legend{
  margin-bottom:8px;
  color:var(--pa-text);
  font-size:.78rem;
  font-weight:850;
}
.pa-experience-association .pa-permission-grid .pa-toggle-row{
  padding:10px 11px;
  border:1px solid var(--pa-border);
  border-radius:12px;
  background:#fff;
}
.pa-experience-association .pa-role-preset{
  padding:13px;
  border:1px solid color-mix(in srgb,var(--pa-assoc-primary) 16%,var(--pa-border));
  border-radius:var(--pa-radius-md);
  background:color-mix(in srgb,var(--pa-assoc-soft) 55%,#fff);
}
.pa-experience-association .pa-invitation-section{
  background:color-mix(in srgb,var(--pa-assoc-soft) 58%,#fff);
}
.pa-experience-association .pa-invitation-card{
  border-color:color-mix(in srgb,var(--pa-assoc-primary) 13%,var(--pa-border));
}
.pa-experience-association .pa-directory-group{
  padding:15px 0;
  border-bottom:1px solid var(--pa-border);
}
.pa-experience-association .pa-contact-row{
  min-height:46px;
  padding:9px 0;
}

@media (min-width:720px){
  .pa-experience-association .pa-association-workspace-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .pa-experience-association .pa-association-head-actions{justify-content:flex-end}
  .pa-experience-association .pa-association-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pa-experience-association .pa-panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .pa-experience-association .pa-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
