.speb-public{--speb-blue:#3b82c4;--speb-blue-dark:#2e6fa8;--speb-text:#243447;--speb-muted:#64748b;--speb-border:#dde5ed;color:var(--speb-text);font-family:inherit}.speb-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.speb-event-card,.speb-event-detail{overflow:hidden;border:1px solid var(--speb-border);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(36,52,71,.07)}.speb-event-card.is-compact{display:grid;grid-template-columns:minmax(180px,34%) 1fr}.speb-event-media{min-height:190px}.speb-event-image,.speb-event-hero{display:block;width:100%;height:100%;max-height:460px;object-fit:cover}.speb-event-card-content,.speb-event-detail-body{padding:24px}.speb-event-card h2,.speb-event-detail h2{margin:8px 0 12px;color:var(--speb-text);line-height:1.25}.speb-event-meta{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;color:var(--speb-muted);font-size:.94em}.speb-public-badges{display:flex;flex-wrap:wrap;gap:7px}.speb-public-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e9f3fb;color:var(--speb-blue-dark);font-size:12px;font-weight:700}.speb-public-badge.is-danger{background:#fdebec;color:#a7373d}.speb-public-badge.is-featured{background:#fff4df;color:#96600e}.speb-public-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:0;border-radius:9px;background:var(--speb-blue);color:#fff!important;text-decoration:none;font-weight:700;cursor:pointer}.speb-public-button:hover,.speb-public-button:focus{background:var(--speb-blue-dark);color:#fff}.speb-public-back{color:var(--speb-blue-dark);font-weight:600}.speb-event-filter{display:flex;align-items:end;gap:10px;margin:0 0 22px;padding:16px;border:1px solid var(--speb-border);border-radius:12px;background:#f8fafc}.speb-event-filter label{font-weight:700}.speb-event-filter select{min-width:230px;padding:9px}.speb-public-empty{padding:22px;border:1px dashed var(--speb-border);border-radius:12px;background:#f8fafc;color:var(--speb-muted);text-align:center}.speb-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:14px 16px;border:1px solid var(--speb-border);border-radius:12px;background:#fff}.speb-calendar-nav a{color:var(--speb-blue-dark);font-weight:650;text-decoration:none}.speb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--speb-border);border-left:1px solid var(--speb-border);background:#fff}.speb-calendar-head,.speb-calendar-cell{min-width:0;border-right:1px solid var(--speb-border);border-bottom:1px solid var(--speb-border)}.speb-calendar-head{padding:10px;background:#f3f7fa;text-align:center;font-size:12px;font-weight:700}.speb-calendar-cell{min-height:110px;padding:8px}.speb-calendar-cell.is-empty{background:#fafbfc}.speb-calendar-day{display:block;margin-bottom:6px;color:var(--speb-muted);font-size:12px;font-weight:700}.speb-calendar-event{display:block;margin:4px 0;padding:5px 7px;border-radius:6px;background:#e9f3fb;color:var(--speb-blue-dark);font-size:12px;font-weight:650;line-height:1.25;text-decoration:none}.speb-public-table-wrap{overflow-x:auto}.speb-public-table{width:100%;border-collapse:collapse;background:#fff}.speb-public-table th,.speb-public-table td{padding:12px;border-bottom:1px solid var(--speb-border);text-align:left;vertical-align:top}.speb-public-table th{background:#f3f7fa;color:var(--speb-text)}@media(max-width:800px){.speb-event-list{grid-template-columns:1fr}.speb-event-card.is-compact{display:block}.speb-event-filter{align-items:stretch;flex-direction:column}.speb-event-filter select{min-width:0;width:100%}.speb-calendar-grid{display:block;border:0}.speb-calendar-head,.speb-calendar-cell.is-empty{display:none}.speb-calendar-cell{min-height:0;margin-bottom:8px;border:1px solid var(--speb-border);border-radius:8px}.speb-calendar-day{font-size:14px}.speb-calendar-nav{align-items:stretch;flex-direction:column;text-align:center}}
.speb-volunteer-public{width:100%;max-width:none;margin:0}.speb-mission-list{display:grid;gap:22px}.speb-mission-card{padding:24px;border:1px solid var(--speb-border);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(36,52,71,.07)}.speb-mission-card h2{margin:8px 0 10px}.speb-mission-card-head{display:flex;justify-content:space-between;gap:18px}.speb-mission-description{margin:14px 0 18px;color:var(--speb-text)}.speb-slot-list{display:grid;gap:12px}.speb-slot-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid var(--speb-border);border-radius:12px;background:#f8fafc}.speb-slot-summary{display:grid;gap:4px}.speb-slot-summary span{color:var(--speb-muted);font-size:.92em}.speb-slot-actions-public{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0}.speb-slot-actions-public form{margin:0}.speb-slot-state{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.speb-slot-state.is-success{background:#e8f7ef;color:#23734e}.speb-slot-state.is-full{background:#fff4df;color:#96600e}.speb-slot-state.is-neutral{background:#edf1f5;color:#64748b}.speb-public-button.is-secondary{background:#eef3f7;color:#355978!important}.speb-public-button.is-secondary:hover,.speb-public-button.is-secondary:focus{background:#dde8f0;color:#243447!important}.speb-guest-details{min-width:270px}.speb-guest-details summary{cursor:pointer;color:var(--speb-blue-dark);font-weight:700}.speb-guest-form{margin-top:14px;padding:16px;border:1px solid var(--speb-border);border-radius:12px;background:#fff}.speb-guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.speb-guest-grid p{margin:0}.speb-guest-grid label,.speb-guest-grid input{display:block;width:100%}.speb-guest-grid input{margin-top:5px;padding:9px}.speb-privacy-line{display:flex;align-items:flex-start;gap:8px;margin:14px 0}.speb-honeypot{position:absolute!important;left:-9999px!important}.speb-volunteer-notice{margin-bottom:18px;padding:12px 14px;border-left:4px solid;border-radius:8px}.speb-volunteer-notice.is-success{border-color:#2f9e69;background:#edf9f2}.speb-volunteer-notice.is-error{border-color:#b32d2e;background:#fceced}@media(max-width:760px){.speb-slot-card{align-items:stretch;flex-direction:column}.speb-slot-actions-public{width:100%}.speb-guest-details{width:100%;min-width:0}.speb-guest-grid{grid-template-columns:1fr}}

/* Restricted registrant list and simple manager portal. */
.speb-private-portal{width:100%;max-width:none;margin:0;min-width:0}.speb-private-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.speb-private-heading h2{margin:8px 0 6px}.speb-private-heading p{margin:0;color:var(--speb-muted)}.speb-private-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px;border:1px solid var(--speb-border);border-radius:12px;background:#f8fafc}.speb-private-filters label{display:grid;gap:5px;min-width:190px;font-weight:700}.speb-private-filters select{width:100%;padding:9px}.speb-registrants-table small{color:var(--speb-muted)}.speb-management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.speb-management-toolbar .speb-event-filter{flex:1;margin:0}.speb-management-event{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:24px;margin-bottom:22px;padding:24px;border:1px solid var(--speb-border);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(36,52,71,.07)}.speb-management-event h2{margin:9px 0 12px}.speb-management-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.speb-management-stats>div{display:grid;gap:3px;padding:14px;border-radius:12px;background:#f3f7fa;text-align:center}.speb-management-stats strong{font-size:1.35rem;color:var(--speb-blue-dark)}.speb-management-stats span{color:var(--speb-muted);font-size:.82rem}.speb-availability{display:inline-flex;min-width:34px;justify-content:center;padding:5px 8px;border-radius:999px;background:#e8f7ef;color:#23734e;font-weight:700}.speb-availability.is-full{background:#fff4df;color:#96600e}.speb-management-table small{color:var(--speb-muted)}@media(max-width:900px){.speb-management-event{grid-template-columns:1fr}.speb-management-toolbar{align-items:stretch;flex-direction:column}.speb-private-filters{align-items:stretch;flex-direction:column}.speb-private-filters label{min-width:0}.speb-management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.speb-management-stats{grid-template-columns:1fr}}


/* Free 0.9 public cohesion and accessibility. */
.speb-public-button:focus-visible,.speb-public-back:focus-visible,.speb-calendar-event:focus-visible,.speb-calendar-nav a:focus-visible,.speb-event-filter select:focus-visible,.speb-guest-form input:focus-visible{outline:3px solid rgba(59,130,196,.35);outline-offset:3px}.speb-public-badge.is-volunteer{background:#eee9fb;color:#6747aa}.speb-event-volunteers{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0;padding:16px;border:1px solid #d9ccef;border-radius:12px;background:#faf8ff}.speb-calendar-cell.is-today{box-shadow:inset 0 0 0 2px var(--speb-blue)}.speb-calendar-cell.is-today .speb-calendar-day{color:var(--speb-blue-dark)}.speb-calendar-agenda{display:none}.speb-slot-progress{width:180px;max-width:100%;height:7px;overflow:hidden;border-radius:999px;background:#e4eaf0}.speb-slot-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--speb-blue-dark),var(--speb-blue))}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:800px){.speb-calendar-grid{display:none}.speb-calendar-agenda{display:grid;gap:10px}.speb-calendar-agenda section{padding:14px;border:1px solid var(--speb-border);border-radius:10px;background:#fff}.speb-calendar-agenda h3{margin:0 0 8px;font-size:1rem}.speb-calendar-agenda ul{margin:0;padding-left:20px}.speb-calendar-agenda li+li{margin-top:5px}.speb-event-volunteers{align-items:stretch;flex-direction:column}.speb-event-volunteers .speb-public-button{align-self:flex-start}}

/* Cartes Missions en deux colonnes. */
.speb-mission-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:28px;align-items:start}
.speb-mission-content,.speb-mission-registration{min-width:0}
.speb-mission-registration{padding-left:28px;border-left:1px solid var(--speb-border)}
.speb-mission-registration>h3{margin:0 0 14px;color:var(--speb-text);font-size:1.08rem}
.speb-mission-registration .speb-slot-card{align-items:stretch;flex-direction:column}
.speb-mission-registration .speb-slot-actions-public{width:100%;justify-content:flex-start}
.speb-mission-registration .speb-guest-details{width:100%;min-width:0}
.speb-mission-registration .speb-slot-progress{width:100%}
@media(max-width:900px){.speb-mission-card{grid-template-columns:1fr}.speb-mission-registration{padding-top:22px;padding-left:0;border-top:1px solid var(--speb-border);border-left:0}}

/* Fenêtres centrées et responsives des huit pages gérées. */
body.speb-plugin-page{
 --speb-page-gutter:clamp(18px,3vw,56px)
}

/* Le filtre Kadence gère la page en pleine largeur. Ces règles ne font que neutraliser une éventuelle colonne latérale résiduelle. */
body.speb-plugin-page .content-wrap{
 grid-template-columns:minmax(0,1fr)!important
}
body.speb-plugin-page #primary,
body.speb-plugin-page .content-area{
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 margin-right:0!important;
 margin-left:0!important
}
body.speb-plugin-page #secondary,
body.speb-plugin-page aside#secondary,
body.speb-plugin-page aside.primary-sidebar{
 display:none!important
}

/* La fenêtre du plugin sort proprement d'un contenu éventuellement contraint, puis se recentre dans la fenêtre du navigateur. */
body.speb-plugin-page .speb-page-window{
 position:relative;
 left:50%;
 width:calc(100vw - (2 * var(--speb-page-gutter)))!important;
 max-width:none!important;
 min-width:0!important;
 margin-right:0!important;
 margin-left:0!important;
 box-sizing:border-box!important;
 transform:translateX(-50%)
}
body.speb-plugin-page .speb-page-window .speb-event-list,
body.speb-plugin-page .speb-page-window .speb-mission-list,
body.speb-plugin-page .speb-page-window .speb-public-table-wrap,
body.speb-plugin-page .speb-page-window .speb-private-filters,
body.speb-plugin-page .speb-page-window .speb-management-toolbar,
body.speb-plugin-page .speb-page-window .speb-management-event,
body.speb-plugin-page .speb-page-window .speb-management-table,
body.speb-plugin-page .speb-page-window .speb-calendar-grid,
body.speb-plugin-page .speb-page-window .speb-calendar-agenda{
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 box-sizing:border-box!important
}

/* Le vrai titre WordPress est centré sur la même largeur visuelle que la fenêtre du plugin. */
body.speb-plugin-page .entry-hero-container-inner>.site-container,
body.speb-plugin-page .entry-hero-container-inner .site-container,
body.speb-plugin-page .entry-header,
body.speb-plugin-page .page-header,
body.speb-plugin-page .page-title-wrap,
body.speb-plugin-page .page-header-wrap{
 width:100%!important;
 max-width:none!important;
 box-sizing:border-box!important;
 padding-right:var(--speb-page-gutter)!important;
 padding-left:var(--speb-page-gutter)!important
}
body.speb-plugin-page .entry-title,
body.speb-plugin-page h1.entry-title,
body.speb-plugin-page h1.wp-block-post-title,
body.speb-plugin-page .page-title{
 width:100%!important;
 max-width:none!important;
 margin-right:auto!important;
 margin-left:auto!important;
 text-align:center!important
}
body.speb-plugin-page .speb-private-heading{
 justify-content:center;
 width:100%;
 text-align:center
}
body.speb-plugin-page .speb-private-heading>div{
 width:100%;
 max-width:960px;
 margin-right:auto;
 margin-left:auto
}

@media(max-width:782px){
 body.speb-plugin-page{--speb-page-gutter:16px}
}

/* Direct event registrations and family delegation. */
.speb-event-registration{margin:24px 0;padding:20px;border:1px solid #dde5ed;border-radius:12px;background:#f6f8fb}.speb-event-registration h3{margin-top:0}.speb-event-registration-capacity{color:#64748b}.speb-event-registration-form{margin:14px 0 0}.speb-event-notice{margin-bottom:18px}.speb-event-notice.is-success{border-left:4px solid #2f9e69}.speb-event-notice.is-error{border-left:4px solid #c2410c}
