/* Menu « Nos services » (SiteWebRapide::menu, 03/10/2026) : boîte à deux colonnes (inclus / options) sur ordinateur,
   accordéon dans le menu ouvert sur téléphone. */
.nav-item { position: relative; }
.nav-drop { background: none; border: 0; font-family: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: .35rem; }
.nav-drop::after { content: ""; width: .42rem; height: .42rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.nav-item.ouvert .nav-drop::after { transform: rotate(-135deg) translateY(-2px); }
.menu-services { position: absolute; top: calc(100% + 10px); left: 50%; width: 820px; transform: translateX(-50%) translateY(6px); background: #fff; border-radius: 14px;
    box-shadow: 0 18px 50px rgba(30,58,95,.18); border: 1px solid rgba(30,58,95,.08); padding: 1.1rem; opacity: 0; visibility: hidden; transition: all .18s; z-index: 1100; }
.nav-item.ouvert .menu-services { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.menu-services .colonnes { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1.2rem; }
.menu-services .options { border-left: 1px solid #eef1f4; padding-left: 1rem; }
.menu-services .groupe-titre { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6c757d; margin: .2rem .6rem .5rem; }
.menu-services a { display: flex; align-items: center; gap: .75rem; padding: .55rem .6rem; border-radius: 10px; text-decoration: none; color: var(--blue, #1E3A5F); }
.menu-services a:hover, .menu-services a.actif { background: #fff4ec; }
.menu-services .ico { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; }
.menu-services .inclus .ico { background: #e8f7f0; color: #0f9f6e; }
.menu-services .options .ico { background: #fff1e6; color: #FF6B00; }
.menu-services b { display: block; font-size: .9rem; font-weight: 600; line-height: 1.25; }
.menu-services small { display: block; font-size: .76rem; color: #6c757d; line-height: 1.3; }
.menu-services .prix { margin-left: auto; font-size: .8rem; font-weight: 700; color: #FF6B00; white-space: nowrap; padding-left: .5rem; text-align: right; }
.menu-services .prix i { display: block; font-style: normal; font-weight: 500; font-size: .68rem; color: #6c757d; }
.menu-services .pied { border-top: 1px solid #eef1f4; margin-top: .6rem; padding: .7rem .6rem 0; font-size: .82rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.menu-services .pied a { display: inline; padding: 0; color: #FF6B00; font-weight: 600; white-space: nowrap; }
.menu-services .pied a:hover { background: none; text-decoration: underline; }
@media (max-width: 1180px) and (min-width: 1025px) { .nav-link { padding: .5rem .55rem; } }
@media (max-width: 1024px) {
    .nav-item { width: 100%; }
    .nav-drop { width: 100%; justify-content: space-between; }
    .menu-services { position: static; transform: none; width: auto; box-shadow: none; border: 0; padding: 0 0 .5rem; display: none; opacity: 1; visibility: visible; }
    .nav-item.ouvert .menu-services { display: block; transform: none; }
    .menu-services .colonnes { display: block; }
    .menu-services .options { border-left: 0; padding-left: 0; border-top: 1px solid #eef1f4; margin-top: .5rem; padding-top: .6rem; }
    .menu-services small { display: none; }
}
