/*
 * HelpPlace — charte 2026 appliquée à tout le site.
 * Chargé après Bootstrap 5 et general-2.css dans base.html.twig : on ne touche
 * pas au HTML des pages, on restyle les composants qu'elles utilisent déjà.
 */
:root{
	--hp-bg:#fff;--hp-surface:#f6f6f3;--hp-ink:#0f1020;--hp-muted:#5f606b;--hp-line:#e7e7e3;
	--hp-brand:#24298f;--hp-brand-deep:#141a6b;--hp-brand-soft:#eef0ff;--hp-accent:#ffd21a;
	--hp-radius:12px;--hp-radius-lg:22px;

	--bs-primary:#24298f;--bs-primary-rgb:36,41,143;
	--bs-warning:#ffd21a;--bs-warning-rgb:255,210,26;
	--bs-dark:#0f1020;--bs-dark-rgb:15,16,32;
	--bs-light:#f6f6f3;--bs-light-rgb:246,246,243;
	--bs-body-font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
	--bs-body-color:#0f1020;--bs-body-color-rgb:15,16,32;
	--bs-secondary-color:#5f606b;
	--bs-border-color:#e7e7e3;
	--bs-border-radius:12px;--bs-border-radius-lg:22px;--bs-border-radius-sm:9px;
	--bs-link-color:#24298f;--bs-link-color-rgb:36,41,143;--bs-link-hover-color:#141a6b;--bs-link-hover-color-rgb:20,26,107;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{background:var(--hp-bg);color:var(--hp-ink);font:400 16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.bi,[class^="bi-"],[class*=" bi-"]{font-family:bootstrap-icons!important}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:inherit;font-weight:700;letter-spacing:-.02em;line-height:1.15}
h3{text-shadow:none}
.lead{color:var(--hp-muted)}
.text-muted,.text-secondary{color:var(--hp-muted)!important}
.text-primary,.text-primary-custom{color:var(--hp-brand)!important}
.bg-primary,.bg-primary-custom{background-color:var(--hp-brand)!important}
.bg-light{background-color:var(--hp-surface)!important}
.bg-dark{background-color:var(--hp-brand-deep)!important}
a{color:var(--hp-brand)}a:hover{color:var(--hp-brand-deep)}
::selection{background:var(--hp-accent);color:#101010}

/* ---------- Boutons ---------- */
.btn{border-radius:var(--hp-radius);font-weight:600;font-size:15px;padding:.7rem 1.25rem;border-width:1px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
.btn.rounded-pill{border-radius:var(--hp-radius)!important}
.btn-sm{font-size:13.5px;padding:.4rem .8rem;border-radius:9px}
.btn-lg{font-size:16px;padding:.9rem 1.6rem}
.btn-block{display:block;width:100%}
.btn-primary,.btn-primary-custom{--bs-btn-bg:var(--hp-brand);--bs-btn-border-color:var(--hp-brand);--bs-btn-hover-bg:var(--hp-brand-deep);--bs-btn-hover-border-color:var(--hp-brand-deep);--bs-btn-active-bg:var(--hp-brand-deep);--bs-btn-active-border-color:var(--hp-brand-deep);--bs-btn-disabled-bg:var(--hp-brand);--bs-btn-disabled-border-color:var(--hp-brand);background-color:var(--hp-brand);border-color:var(--hp-brand);color:#fff}
.btn-primary:hover,.btn-primary-custom:hover{background-color:var(--hp-brand-deep);border-color:var(--hp-brand-deep);color:#fff}
.btn-outline-primary,.btn-outline-primary-custom{--bs-btn-color:var(--hp-brand);--bs-btn-border-color:var(--hp-brand);--bs-btn-hover-bg:var(--hp-brand);--bs-btn-hover-border-color:var(--hp-brand);--bs-btn-active-bg:var(--hp-brand);color:var(--hp-brand);border-color:var(--hp-brand)}
.btn-outline-primary-custom:hover{background:var(--hp-brand);color:#fff}
.btn-secondary{--bs-btn-bg:#fff;--bs-btn-color:var(--hp-ink);--bs-btn-border-color:var(--hp-line);--bs-btn-hover-bg:var(--hp-surface);--bs-btn-hover-color:var(--hp-ink);--bs-btn-hover-border-color:var(--hp-ink);--bs-btn-active-bg:var(--hp-surface);--bs-btn-active-color:var(--hp-ink)}
.btn-outline-secondary,.btn-light{--bs-btn-color:var(--hp-ink);--bs-btn-bg:#fff;--bs-btn-border-color:var(--hp-line);--bs-btn-hover-bg:var(--hp-surface);--bs-btn-hover-color:var(--hp-ink);--bs-btn-hover-border-color:var(--hp-ink);--bs-btn-active-bg:var(--hp-surface);--bs-btn-active-color:var(--hp-ink)}
.btn-warning,.btn-accent{--bs-btn-bg:var(--hp-accent);--bs-btn-border-color:var(--hp-accent);--bs-btn-color:#101010;--bs-btn-hover-bg:#f2c400;--bs-btn-hover-border-color:#f2c400;--bs-btn-hover-color:#101010;--bs-btn-active-bg:#f2c400;background-color:var(--hp-accent);border-color:var(--hp-accent);color:#101010}
.btn-dark{--bs-btn-bg:var(--hp-ink);--bs-btn-border-color:var(--hp-ink);--bs-btn-hover-bg:#000;--bs-btn-hover-border-color:#000}
.btn-success{--bs-btn-bg:#13795b;--bs-btn-border-color:#13795b;--bs-btn-hover-bg:#0e5e47;--bs-btn-hover-border-color:#0e5e47}
.btn-danger{--bs-btn-bg:#c62f2f;--bs-btn-border-color:#c62f2f;--bs-btn-hover-bg:#a32424;--bs-btn-hover-border-color:#a32424}
.btn:focus-visible{box-shadow:0 0 0 4px var(--hp-brand-soft)}

/* ---------- Cartes ---------- */
.card{--bs-card-border-color:var(--hp-line);--bs-card-border-radius:var(--hp-radius-lg);--bs-card-inner-border-radius:calc(var(--hp-radius-lg) - 1px);--bs-card-cap-bg:var(--hp-surface);border-color:var(--hp-line);border-radius:var(--hp-radius-lg)}
.card.shadow,.card.shadow-sm,.card.shadow-lg{box-shadow:0 1px 0 rgba(15,16,32,.02),0 18px 40px -24px rgba(20,26,107,.25)!important}
.card.border-0{border:1px solid var(--hp-line)!important}
.card-title{font-weight:600;letter-spacing:-.01em}
.assie-card{border:1px solid var(--hp-line);border-radius:var(--hp-radius-lg);box-shadow:none;padding:22px;transition:border-color .15s,box-shadow .15s}
.assie-card:hover{border-color:var(--hp-brand);box-shadow:0 18px 40px -24px rgba(20,26,107,.35)}
.rounded-4{border-radius:var(--hp-radius-lg)!important}
.card-service-icon{background:var(--hp-brand-soft);color:var(--hp-brand);border-radius:14px}

/* ---------- Formulaires ---------- */
.form-group,.form-row{margin-bottom:1rem}
.form-row{display:flex;flex-wrap:wrap;gap:0 1rem}.form-row>[class*="col"]{flex:1 1 220px}
label,.form-label{font-weight:500;font-size:14.5px;margin-bottom:6px}
.form-control,.form-select,select.form-control{border:1px solid var(--hp-line);border-radius:var(--hp-radius);padding:.7rem 1rem;font-size:15px;color:var(--hp-ink);background-color:#fff;min-height:48px}
textarea.form-control{min-height:120px}
.form-control:focus,.form-select:focus{border-color:var(--hp-brand);box-shadow:0 0 0 4px var(--hp-brand-soft)}
.form-control::placeholder{color:#8a8b94}
.form-check-input:checked{background-color:var(--hp-brand);border-color:var(--hp-brand)}
.form-check-input:focus{box-shadow:0 0 0 4px var(--hp-brand-soft);border-color:var(--hp-brand)}
.input-group-text{border-color:var(--hp-line);background:var(--hp-surface);border-radius:var(--hp-radius)}
.invalid-feedback,.form-error-message{font-size:13.5px}

/* ---------- Listes, menus des espaces connectés ---------- */
.list-group{--bs-list-group-border-color:var(--hp-line);--bs-list-group-border-radius:var(--hp-radius-lg);--bs-list-group-active-bg:var(--hp-brand);--bs-list-group-active-border-color:var(--hp-brand);--bs-list-group-action-hover-bg:var(--hp-brand-soft);--bs-list-group-action-hover-color:var(--hp-brand)}
.list-group-item{padding:.8rem 1.1rem;font-weight:500;font-size:15px}
.list-group-item-action{color:var(--hp-ink)}
.menu-left{position:sticky;top:110px}
.dropdown-menu{border:1px solid var(--hp-line);border-radius:14px;box-shadow:0 24px 60px -20px rgba(20,26,107,.25);padding:6px}
.dropdown-item{border-radius:9px;padding:.5rem .8rem}.dropdown-item:active,.dropdown-item.active{background:var(--hp-brand)}

/* ---------- Tableaux ---------- */
.table{--bs-table-border-color:var(--hp-line);--bs-table-hover-bg:var(--hp-brand-soft);--bs-table-striped-bg:var(--hp-surface);font-size:15px}
.table>thead th{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hp-muted);background:var(--hp-surface);border-bottom-width:1px}
.table-dark{--bs-table-bg:var(--hp-brand-deep);--bs-table-border-color:rgba(255,255,255,.14)}
.table-dark>thead th{background:var(--hp-brand-deep);color:#fff}
.table-responsive{border:1px solid var(--hp-line);border-radius:var(--hp-radius-lg)}.table-responsive>.table{margin-bottom:0}

/* ---------- Modales, alertes, badges, pagination, onglets ---------- */
.modal-content{border:0;border-radius:var(--hp-radius-lg);box-shadow:0 40px 80px -20px rgba(12,14,51,.35)}
.modal-header,.modal-footer{border-color:var(--hp-line);padding:1.1rem 1.4rem}.modal-body{padding:1.4rem}
.modal-title{font-weight:700;letter-spacing:-.01em}
.alert{border-radius:14px;border-width:1px;font-size:15px}
.alert-success{--bs-alert-bg:#eaf6f1;--bs-alert-border-color:#bfe3d4;--bs-alert-color:#0e5e47}
.alert-danger{--bs-alert-bg:#fdeeee;--bs-alert-border-color:#f3c7c7;--bs-alert-color:#8c1d1d}
.alert-info,.alert-primary{--bs-alert-bg:var(--hp-brand-soft);--bs-alert-border-color:#d6daf9;--bs-alert-color:var(--hp-brand-deep)}
.alert-warning{--bs-alert-bg:#fff8d6;--bs-alert-border-color:#f5e39a;--bs-alert-color:#5c4a00}
.badge{border-radius:99px;font-weight:600;padding:.35em .7em}
.pagination{--bs-pagination-color:var(--hp-ink);--bs-pagination-border-color:var(--hp-line);--bs-pagination-hover-bg:var(--hp-brand-soft);--bs-pagination-hover-color:var(--hp-brand);--bs-pagination-active-bg:var(--hp-brand);--bs-pagination-active-border-color:var(--hp-brand);--bs-pagination-border-radius:var(--hp-radius);gap:6px}
.page-link{border-radius:var(--hp-radius)!important}
.nav-tabs{--bs-nav-tabs-border-color:var(--hp-line);--bs-nav-tabs-link-active-color:var(--hp-brand);--bs-nav-tabs-link-active-border-color:var(--hp-line) var(--hp-line) #fff}
.nav-tabs .nav-link{font-weight:600;color:var(--hp-muted)}
.nav-pills{--bs-nav-pills-link-active-bg:var(--hp-brand)}
.nav-pills .nav-link{border-radius:var(--hp-radius);font-weight:600}
.accordion{--bs-accordion-active-bg:var(--hp-brand-soft);--bs-accordion-active-color:var(--hp-brand);--bs-accordion-border-color:var(--hp-line);--bs-accordion-btn-focus-box-shadow:0 0 0 4px var(--hp-brand-soft)}
.text-warning,.jaune-or{color:#f5a623!important}

/* ---------- Éléments communs ---------- */
.hp-w{max-width:1160px;margin-inline:auto;padding-inline:20px}
.hp-lab{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--hp-brand)}
.hp-logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em;font-size:17px;color:var(--hp-ink);text-decoration:none}
.hp-logo:hover{color:var(--hp-ink)}
.hp-logo img{width:38px;height:38px;border-radius:10px}.hp-logo b{color:var(--hp-brand)}

/* ---------- En-tête ---------- */
.hp-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--hp-line)}
.hp-header .navbar{padding:0;min-height:76px}
.hp-header .navbar-nav{gap:4px}
.hp-header .nav-link{font-size:15px;font-weight:500;color:var(--hp-muted);padding:.5rem .8rem!important;border-radius:10px}
.hp-header .nav-link:hover,.hp-header .nav-link.active{color:var(--hp-brand);background:var(--hp-brand-soft)}
.hp-header .hp-actions{display:flex;align-items:center;gap:10px}
.hp-header .hp-actions .btn{padding:.6rem 1.1rem;white-space:nowrap}
.hp-header .hp-signin{font-size:15px;font-weight:500;color:var(--hp-ink);text-decoration:none;padding:.5rem .4rem;white-space:nowrap}
.hp-header .navbar-toggler{border:1px solid var(--hp-line);border-radius:10px;padding:.5rem .65rem}
.hp-header .navbar-toggler:focus{box-shadow:0 0 0 4px var(--hp-brand-soft)}
@media (max-width:991.98px){
	.hp-header .navbar-collapse{padding:12px 0 18px}
	.hp-header .hp-actions{flex-wrap:wrap;margin-top:12px}
	.hp-header .hp-actions .btn{flex:1}
}

/* ---------- Pied de page ---------- */
.hp-footer{background:var(--hp-brand-deep);color:#cdd0f5;padding:72px 0 0;margin-top:80px;font-size:15px}
.hp-footer .hp-logo{color:#fff}.hp-footer .hp-logo b{color:var(--hp-accent)}
.hp-footer .hp-foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.hp-footer h4{margin:0 0 16px;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.hp-footer a{color:#cdd0f5;text-decoration:none;display:block;margin-bottom:10px}
.hp-footer a:hover{color:#fff}
.hp-footer .hp-logo{display:flex;margin:0}
.hp-footer .hp-social{display:flex;gap:10px;margin-top:6px}
.hp-footer .hp-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.18);margin:0;font-size:17px}
.hp-footer .hp-social a:hover{border-color:var(--hp-accent);color:var(--hp-accent)}
.hp-footer .hp-fb{display:flex;justify-content:space-between;gap:16px;padding:24px 0;margin-top:56px;border-top:1px solid rgba(255,255,255,.16);font-size:14px}
.hp-footer .hp-fb a{display:inline;margin:0}
@media (max-width:991.98px){.hp-footer .hp-foot{grid-template-columns:1fr 1fr}}
@media (max-width:575.98px){.hp-footer .hp-foot{grid-template-columns:1fr}.hp-footer .hp-fb{flex-direction:column;text-align:center}}
