.app-header-inner { max-width: 1180px; margin: 0 auto; padding-left: 28px; padding-right: 28px; }
.app-main { max-width: 960px; padding: 44px 32px 70px; }
.is-guest .app-main { max-width: 520px; }
.welcome-v22 { padding-top: 18px; }
.welcome-v22 h1 { font-size: 44px; }
.welcome-intro { font-size: 17px; }
.account-summary { max-width: 560px; }
.map-feature { grid-template-columns: 1fr 150px; margin-left: 0; margin-right: 0; padding: 32px 34px; }
.map-feature-mark { font-size: 54px; }
.map-feature-mark span { width: 88px; height: 88px; }
.home-section { max-width: 760px; margin-top: 42px; }
.action-tags { max-width: 760px; }
.profile-reminder { grid-template-columns: 1fr auto; align-items: center; }
.facebook-help { max-width: 760px; margin-top: 48px; }
.app-drawer { width: 350px; }
.drawer-nav a:hover { color: var(--cd-green-dark); }
.tags a:hover { background: var(--cd-green-pale); }
.button-cta:hover { background: #286d2b; }
.app-footer { max-width: 960px; margin: 0 auto; padding: 18px 32px 30px; display: flex; gap: 20px; color: var(--cd-muted); font-size: 12px; border-top: 1px solid var(--cd-line); }
.app-footer span { margin-right: auto; color: var(--cd-text); font-weight: 700; }
.app-footer a { color: var(--cd-muted); }

/* Authentification V2.3 : on conserve la meme structure que sur mobile. */
.is-guest .app-main {
    padding-top: 34px;
    padding-bottom: 70px;
}

.auth-shell {
    max-width: 520px;
    overflow: hidden;
    border: 1px solid var(--cd-line);
    border-radius: 5px;
}

.auth-hero {
    height: 190px;
}

.auth-content {
    padding: 18px 38px 30px;
}

.auth-intro h1 {
    font-size: 34px;
}

/* Carte V2.5 desktop */
.map-v2 { margin-left: 0; margin-right: 0; }
.map-v2-head { padding: 8px 0 20px; }
.map-v2-head h1 { font-size: 44px; }
.map-v2-count strong { font-size: 32px; }
.map-v2-notice { margin-left: 0; margin-right: 0; }
.map-v2-tools { display: grid; grid-template-columns: minmax(320px, 1fr) auto; align-items: start; gap: 12px; padding: 0 0 15px; }
.map-v2-primary-actions { margin-top: 0; }
.map-v2-action { min-width: 128px; min-height: 48px; padding-left: 12px; padding-right: 12px; font-size: 13px; }
.map-v2-route { margin-left: 0; margin-right: 0; }
.map-v2-stage { height: 650px; min-height: 650px; border: 1px solid var(--cd-line); }
.map-v2-footbar { padding-left: 0; padding-right: 0; }
.map-v2-list { border: 1px solid var(--cd-line); border-top: 0; }
.map-v2-list-item { padding-left: 15px; padding-right: 15px; }
.map-v2-facebook { max-width: 700px; margin-left: 0; margin-right: 0; }
.map-v2-sheet { left: auto; right: 24px; bottom: 24px; width: 430px; max-height: calc(100vh - 110px); border: 1px solid var(--cd-line); border-radius: 7px; padding: 25px 22px 22px; transform: translateY(20px); opacity: 0; pointer-events: none; }
.map-v2-sheet.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
.map-v2-sheet-backdrop { background: rgba(20,25,21,.16); }
.map-v2-filter-panel { left: auto; right: 24px; bottom: 24px; width: 360px; border: 1px solid var(--cd-line); border-radius: 7px; padding: 0 20px 20px; transform: translateY(20px); opacity: 0; pointer-events: none; }
.map-v2-filter-panel.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
.map-v2-filter-backdrop { background: rgba(20,25,21,.16); }

/* Mon profil V2.12 - enrichissement desktop uniquement */
.profile-v2-status { grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--cd-line); }
.profile-v2-status > div, .profile-v2-status > a { border-bottom: 0; padding: 12px 14px; }
.profile-v2-status > * + * { border-left: 1px solid var(--cd-line); }
.profile-v2-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.profile-v2-section > summary { padding-left: 8px; padding-right: 8px; }
.profile-v2-form { padding-left: 8px; padding-right: 8px; }
.profile-v2-account { flex-direction: row; align-items: center; justify-content: space-between; }
