.collective-page { min-height:100vh; background:#faf8f4; color:#243f35; font-family: 'Segoe UI', system-ui, sans-serif; line-height:1.6; }
.collective-page * { box-sizing:border-box; }
.collective-page main, .collective-nav { width:min(1120px, calc(100% - 48px)); margin:auto; }
.collective-page h1, .collective-page h2, .collective-page h3, .collective-page h4, .collective-page p { color:inherit; }
.collective-page h1 { font-size:clamp(2.6rem,5vw,4.7rem); line-height:1.08; letter-spacing:-.045em; margin:18px 0 26px; }
.collective-page h1 em { font-family:Georgia,serif; color:#57775d; font-weight:400; }
.collective-page a { color:#315c43; text-underline-offset:4px; }
.collective-nav { display:flex; align-items:center; justify-content:space-between; padding:24px 0; border-bottom:1px solid #dce1d6; gap:20px; }
.collective-nav a:first-child { font-size:24px; font-weight:750; text-decoration:none; }
.collective-nav a:last-child { font-size:14px; }
.collective-hero { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:64px; padding:64px 0; }
.collective-page .collective-eyebrow { font-size:12px; font-weight:750; letter-spacing:.13em; color:#56705b; overflow-wrap:anywhere; }
.collective-intro { font-size:18px; max-width:550px; }
.collective-benefits { list-style:none; padding:0; font-size:14px; display:flex; flex-wrap:wrap; gap:8px 18px; }
.collective-benefits li::before { content:'✓ '; color:#477953; }
.collective-price { background:#edf1e8; border:1px solid #d8e1d0; border-radius:26px; padding:30px; box-shadow:0 18px 50px #29443208; }
.collective-price .collective-unit { font-size:32px; font-weight:750; margin:14px 0 24px; }
.collective-unit span { font-size:14px; font-weight:400; }
.collective-page label { display:block; font-size:14px; font-weight:650; color:#243f35; }
.collective-page input:not([type=checkbox]), .collective-page textarea, .collective-page select { display:block; width:100%; font:inherit; color:#243f35; background:#fff; border:1px solid #b9c8b5; border-radius:10px; padding:12px; margin:7px 0 16px; box-shadow:none; }
.collective-page input[type=number] { font-size:24px; font-weight:700; }
.collective-page textarea { min-height:88px; resize:vertical; }
.collective-page :focus-visible { outline:3px solid #af7020; outline-offset:4px; }
.collective-total { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #cbd5c3; padding-top:18px; }
.collective-total strong { font-size:34px; white-space:nowrap; }
.collective-page .collective-note { font-size:13px; color:#5c6e60; overflow-wrap:anywhere; }
.collective-page .collective-button { display:inline-flex; justify-content:center; align-items:center; text-align:center; padding:13px 20px; border-radius:10px; border:1px solid #2f553e; font:inherit; font-size:14px; font-weight:700; background:#2f553e; color:#fff; cursor:pointer; text-decoration:none; min-height:46px; }
.collective-page .collective-button--secondary { background:transparent; color:#2f553e; }
.collective-price .collective-button { width:100%; margin-top:10px; }
.collective-page button:disabled { opacity:.55; cursor:wait; }
.collective-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; border-block:1px solid #dce1d6; padding:36px 0; margin-bottom:48px; }
.collective-steps article > span { font:italic 30px Georgia,serif; color:#81917c; }
.collective-steps h2 { font-size:18px; margin:8px 0; }
.collective-steps p { font-size:14px; margin:0; }
.collective-panel { background:white; border:1px solid #dce1d6; border-radius:20px; padding:32px; margin:24px 0; scroll-margin-top:24px; }
.collective-panel h2 { font-size:25px; line-height:1.3; margin:0 0 12px; }
.collective-admin-main { padding-top:28px; padding-bottom:52px; }
.collective-admin-page { display:flex; flex-direction:column; }
.collective-admin-page .collective-admin-main { flex:1; }
.collective-breadcrumb { margin:0 0 18px; }
.collective-admin-header .collective-admin-title { font-size:clamp(2rem,4vw,3.2rem); margin:6px 0 12px; }
.collective-pagination { align-items:center; justify-content:center; }
.collective-actions { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0; }
.collective-form { max-width:760px; margin-top:28px; }
.collective-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.collective-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.collective-page .collective-consent { font-weight:400; margin:20px 0; }
.collective-page input[type=checkbox] { width:18px; height:18px; margin-right:6px; vertical-align:middle; accent-color:#2f553e; }
.collective-message { border-radius:12px; background:#e4f0e0; padding:18px 24px; margin:20px 0; overflow-wrap:anywhere; }
.collective-message--error { color:#8b2c1e; background:#ffebe5; }
.collective-section-title { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:16px; }
.collective-section-title h3 { margin:0; font-size:20px; }
.collective-order { padding:26px 0; border-top:1px solid #dce1d6; margin-top:24px; }
.collective-quote { background:#f6f8f2; border:1px solid #dce1d6; border-radius:12px; padding:16px 20px; margin:16px 0; overflow-wrap:anywhere; }
.collective-quote p:first-child { margin-top:0; }
.collective-badge { padding:4px 12px; border-radius:30px; font-size:12px; background:#edf1e8; }
.collective-seats { padding:0; list-style:none; }
.collective-seats li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #e7ebe3; overflow-wrap:anywhere; }
.collective-seats small { display:block; color:#5c6e60; }
.collective-text-button { color:#315c43; background:none; border:0; text-decoration:underline; font:inherit; cursor:pointer; }
.collective-seat-form { display:flex; align-items:end; gap:12px; margin:20px 0; }
.collective-seat-form label { flex:1; }
.collective-seat-form input { margin-bottom:0 !important; }
.collective-invite-link { overflow-wrap:anywhere; }
.collective-faq { margin:54px 0; max-width:850px; }
.collective-faq details { border-bottom:1px solid #dce1d6; padding:18px 0; }
.collective-faq summary { cursor:pointer; font-weight:650; }
.collective-footer { padding:32px; text-align:center; font-size:13px; border-top:1px solid #dce1d6; }
.collective-activation { padding:70px 0; max-width:850px; }
.collective-workspace-main { padding-top:32px; padding-bottom:60px; }
.collective-mode-switch { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
@media(max-width:760px) {
 .collective-page main, .collective-nav { width:calc(100% - 32px); }
 .collective-hero { grid-template-columns:1fr; padding:36px 0; gap:28px; }
 .collective-steps { grid-template-columns:1fr; gap:25px; padding:26px 0; }
 .collective-price, .collective-panel { padding:22px; }
 .collective-fields { grid-template-columns:1fr; gap:0; }
 .collective-seat-form { flex-direction:column; align-items:stretch; }
 .collective-activation { padding:32px 0; }
}

/* Pied de page identique à celui de Bloomino/Bloomino2.html. */
.collective-page .footer {
  background: rgba(107,75,184,0.95);
  color: #fffdfa;
  text-align: center;
  padding: 1em 0.8em;
  font-size: .9em;
}
.collective-page .footer a { color:#fff; text-underline-offset:3px; }
