/* Surcharges : CWV, a11y, nouveaux composants (charte d'origine conservée) */
section{opacity:1!important;transform:none!important;animation:none!important}
.hero{transform:none!important;opacity:1!important}
.logo{color:inherit;text-decoration:none}
.logo:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.menu a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.submenu[hidden]{display:block}
@media(min-width:768px){.menu li{position:relative}.submenu{display:none;position:absolute;left:0;top:100%;max-height:none;z-index:50}.menu li:hover>.submenu,.menu li:focus-within>.submenu{display:block}}
@media(max-width:767px){.submenu{display:block;max-height:none!important;position:static}}
.breadcrumb{padding:.5rem 1rem;font-size:.9rem}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem}.breadcrumb li+li::before{content:"›";margin-right:.25rem;color:var(--text-light)}
.breadcrumb a{color:var(--primary-color)}
main a:not(.cta):not(.cta-btn){color:var(--primary-color);text-decoration:underline;text-underline-offset:3px}
.card h3 a{text-decoration:none}.card small{color:var(--text-light)}
.principle-details[hidden]{display:none}.principle-details{display:block;margin-top:.5rem}
.idcard{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:1rem 0}.idcard dt{font-weight:700}.idcard ul{list-style:none}
.faq{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-sm);padding:1rem;margin:.75rem 0}.faq summary{cursor:pointer;font-weight:600;min-height:var(--target-size);display:flex;align-items:center}
.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--bg-card)}th,td{border:1px solid #ddd;padding:.6rem;text-align:left}caption{text-align:left;font-weight:600;padding:.5rem 0}
.form label{display:block;font-weight:600;margin-bottom:.25rem}.form input,.form select,.form textarea{width:100%;min-height:var(--target-size);padding:.5rem;border:2px solid #767676;border-radius:8px;font:inherit}
#map{height:55vh;min-height:320px;aspect-ratio:auto}
main ul,main ol{padding-left:1.5rem}main .partners-grid,main .typologies-grid,main .quartiers-grid,.breadcrumb ol{padding-left:0}
