/* ═══════════════════════════════════════
   PEINTURA — Pages intérieures (maquettes nov. 2026)
   Marques · Préparation & Outillage · Artisans · Academy
   ═══════════════════════════════════════ */
:root {
    --pg-navy: #0e1847;
    --pg-blue: #0b5ed7;
    --pg-blue-dark: #0848ad;
    --pg-sky: #3fb5ff;
    --pg-yellow: #fec902;
    --pg-green: #12963f;
    --pg-green-dark: #0b7a31;
    --pg-text: #1f2937;
    --pg-muted: #6b7280;
    --pg-line: #e5e9f0;
    --pg-soft: #f4f7fb;
    --pg-bg: #f6f9fd;
}
.pg-body { background: var(--pg-bg); }
.pg-container { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }

/* ═══════ HERO ═══════ */
.pg-hero {
    --hero-a: #082a63; --hero-b: #0b4cb0;
    position: relative; overflow: hidden; color: #fff;
    background: linear-gradient(110deg, var(--hero-a) 0%, var(--hero-b) 48%);
}
.pg-hero--green { --hero-a: #0b6d2c; --hero-b: #15a845; }
.pg-hero-media { position: absolute; top: 0; right: 0; bottom: 0; width: 52%; }
.pg-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pg-hero-swoosh { position: absolute; left: -1px; top: 0; height: 100%; width: 190px; }
.pg-hero-inner { position: relative; z-index: 2; padding-top: 1.1rem; padding-bottom: 4.6rem; max-width: 1280px; }
.pg-hero-content { max-width: 600px; }
.pg-crumbs { display: flex; align-items: center; gap: .45rem; font-size: .82rem; margin-bottom: .9rem; color: rgba(255,255,255,.92); }
.pg-crumbs a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.pg-crumbs a:hover { text-decoration: underline; }
.pg-crumbs svg { flex-shrink: 0; }
.pg-hero-title { position: relative; padding-left: 1.4rem; }
.pg-hero-title::before {
    content: ''; position: absolute; left: 0; top: .3rem; bottom: .3rem; width: 5px; border-radius: 4px; background: var(--pg-sky);
}
.pg-hero--green .pg-hero-title::before { background: #fff; opacity: .9; }
.pg-hero-kicker { display: flex; align-items: center; gap: .55rem; font-size: 1.15rem; font-weight: 700; margin-bottom: .4rem; }
.pg-hero h1 {
    font-family: var(--font-body); font-weight: 800; color: #fff; letter-spacing: -.02em;
    font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.08; margin-bottom: .7rem;
}
.pg-hero h1 em { font-style: normal; color: var(--pg-sky); }
.pg-hero-lead { font-size: 1.05rem; line-height: 1.45; color: rgba(255,255,255,.92); max-width: 520px; }

.pg-hero-stats { list-style: none; display: flex; flex-wrap: wrap; margin-top: 1.4rem; }
.pg-hero-stats li {
    display: flex; align-items: center; gap: .65rem; padding: 0 1.6rem; border-left: 1px solid rgba(255,255,255,.25);
}
.pg-hero-stats li:first-child { padding-left: 0; border-left: 0; }
.pg-hero-stats svg { width: 32px; height: 32px; flex-shrink: 0; }
.pg-hero-stats strong { display: block; font-size: 1.25rem; font-weight: 800; line-height: 1.1; }
.pg-hero-stats span { font-size: .82rem; color: rgba(255,255,255,.88); }

.pg-hero-feats { list-style: none; display: flex; margin-top: 1.3rem; }
.pg-hero-feats li { border-left: 1px solid rgba(255,255,255,.22); }
.pg-hero-feats li:first-child { border-left: 0; }
.pg-hero-feats a {
    display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: .2rem 1.6rem;
    color: #fff; text-decoration: none; font-weight: 700; font-size: .92rem;
}
.pg-hero-feats li:first-child a { padding-left: .4rem; }
.pg-hero-feats a:hover { color: var(--pg-sky); }
.pg-hero-feats svg { width: 34px; height: 34px; }

/* Barre de recherche à cheval sur le hero */
.pg-search-wrap { position: relative; z-index: 3; margin-top: -2.2rem; }
.pg-search {
    display: flex; align-items: center; gap: .8rem; max-width: 1000px; margin: 0 auto;
    background: #fff; border-radius: 999px; padding: .45rem .45rem .45rem .7rem;
    box-shadow: 0 14px 36px rgba(14,24,71,.16);
}
.pg-search-icon {
    width: 46px; height: 46px; border-radius: 50%; background: var(--pg-soft); color: var(--pg-navy);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pg-search input {
    flex: 1; min-width: 0; height: 46px; border: 0; outline: none; background: none;
    font-family: var(--font-body); font-size: 1rem; color: var(--pg-text);
}
.pg-search button, .pg-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem; height: 48px; padding: 0 1.6rem;
    border: 0; border-radius: 999px; background: var(--pg-blue); color: #fff; cursor: pointer; text-decoration: none;
    font-family: var(--font-body); font-size: .98rem; font-weight: 700; white-space: nowrap; transition: background .15s;
}
.pg-search button:hover, .pg-btn:hover { background: var(--pg-blue-dark); }

/* ═══════ TITRES DE SECTION ═══════ */
.pg-eyebrow { display: flex; align-items: center; gap: .8rem; font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pg-blue); margin-bottom: .5rem; }
.pg-eyebrow::after { content: ''; width: 44px; height: 3px; border-radius: 3px; background: var(--pg-blue); }
.pg-h2 { font-family: var(--font-body); font-weight: 800; font-size: 1.75rem; line-height: 1.2; color: var(--pg-navy); letter-spacing: -.01em; }
.pg-sub { font-size: .98rem; color: #374151; margin-top: .3rem; }
.pg-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.pg-select {
    height: 42px; padding: 0 2.4rem 0 1rem; border: 1px solid var(--pg-line); border-radius: 999px; background: #fff;
    font-family: var(--font-body); font-size: .88rem; font-weight: 600; color: var(--pg-navy); cursor: pointer;
    appearance: none; -webkit-appearance: none; box-shadow: 0 3px 10px rgba(14,24,71,.06);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230e1847' stroke-width='3'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 1rem center;
}

/* ═══════ LAYOUT SIDEBAR + GRILLE ═══════ */
.pg-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.6rem; align-items: start; }
.pg-filters {
    background: #fff; border-radius: 14px; padding: 1.2rem 1.1rem 1.3rem;
    box-shadow: 0 6px 22px rgba(14,24,71,.07); border: 1px solid var(--pg-line); position: sticky; top: 90px;
}
.pg-filters-title { display: flex; align-items: center; justify-content: space-between; font-size: 1.1rem; font-weight: 700; color: var(--pg-navy); padding-bottom: .7rem; border-bottom: 1px solid var(--pg-line); }
.pg-fgroup { padding: .9rem 0 .8rem; border-bottom: 1px solid var(--pg-line); }
.pg-fgroup h3 { font-size: .92rem; font-weight: 700; color: var(--pg-navy); margin-bottom: .55rem; }
.pg-check { display: flex; align-items: center; gap: .65rem; padding: .25rem 0; font-size: .88rem; color: var(--pg-text); cursor: pointer; }
.pg-check input { width: 17px; height: 17px; accent-color: var(--pg-blue); cursor: pointer; flex-shrink: 0; }
.pg-check em { font-style: normal; color: var(--pg-muted); }
.pg-reset {
    display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; margin-top: 1.2rem; height: 42px;
    border: 1.5px solid var(--pg-blue); border-radius: 999px; background: #fff; color: var(--pg-blue);
    font-family: var(--font-body); font-size: .9rem; font-weight: 700; cursor: pointer; text-decoration: none;
}
.pg-reset:hover { background: #eef4fd; }
.pg-empty { display: none; padding: 2rem; text-align: center; color: var(--pg-muted); background: #fff; border-radius: 12px; border: 1px dashed var(--pg-line); }

/* ═══════ CARTES MARQUES ═══════ */
.pg-brand-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.pg-brand {
    position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 12px;
    border: 1px solid var(--pg-line); box-shadow: 0 6px 18px rgba(14,24,71,.06);
    padding: 1rem 1.1rem .95rem; text-decoration: none; color: var(--pg-text);
    transition: box-shadow .18s, transform .18s, border-color .18s;
}
.pg-brand:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(14,24,71,.12); border-color: #c9dbf6; }
.pg-brand-logo { height: 76px; display: flex; align-items: center; justify-content: center; margin-bottom: .7rem; }
.pg-brand-logo img { max-height: 72px; max-width: 88%; width: auto; height: auto; object-fit: contain; }
.pg-brand-initial {
    width: 64px; height: 64px; border-radius: 14px; background: var(--pg-soft); color: var(--pg-navy);
    display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 800;
}
.pg-brand-name { text-align: center; font-weight: 700; font-size: 1rem; color: var(--pg-navy); margin: -.2rem 0 .55rem; }
.pg-brand-meta { display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; margin-top: auto; }
.pg-brand-meta ul { list-style: none; display: flex; flex-direction: column; gap: .3rem; font-size: .82rem; color: #374151; }
.pg-brand-meta li { display: flex; align-items: center; gap: .45rem; }
.pg-brand-meta li svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--pg-navy); }
.pg-go {
    width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    background: #fff; color: var(--pg-blue); border: 1px solid var(--pg-line); box-shadow: 0 3px 8px rgba(14,24,71,.1);
    transition: background .15s, color .15s;
}
.pg-go svg { width: 16px; height: 16px; }
a:hover > .pg-go, a:hover .pg-go { background: var(--pg-blue); color: #fff; border-color: var(--pg-blue); }
.pg-badge-row { display: flex; align-items: center; gap: .5rem; margin-top: auto; }
.pg-badge {
    flex: 1; text-align: center; font-size: .86rem; font-weight: 600; padding: .3rem .6rem; border-radius: 999px;
    background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c);
}

/* Tuiles univers (page Marques) */
.pg-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1.8rem 0 2.4rem; }
.pg-tile {
    display: flex; align-items: center; gap: .9rem; padding: 1rem 1.1rem; border-radius: 12px; text-decoration: none;
    background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 6px 18px rgba(14,24,71,.06); color: var(--pg-navy);
    transition: transform .15s, box-shadow .15s;
}
.pg-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(14,24,71,.1); }
.pg-tile > svg { width: 38px; height: 38px; flex-shrink: 0; color: var(--pg-blue); }
.pg-tile strong { display: block; font-size: 1.05rem; font-weight: 700; }
.pg-tile small { display: block; font-size: .82rem; color: #4b5563; margin-top: .1rem; }
.pg-tile .pg-go { margin-left: auto; }
.pg-tile.is-active { background: var(--pg-blue); border-color: var(--pg-blue); color: #fff; }
.pg-tile.is-active > svg, .pg-tile.is-active small { color: #fff; }
.pg-tile.is-active .pg-go { background: #fff; color: var(--pg-blue); }

/* Pills de filtre (pages Préparation / Actualités) */
.pg-pills { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 1.2rem; }
.pg-pill {
    display: inline-flex; align-items: center; gap: .55rem; height: 42px; padding: 0 1.3rem; border-radius: 999px;
    background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 3px 10px rgba(14,24,71,.06);
    color: var(--pg-navy); font-size: .95rem; font-weight: 600; text-decoration: none; transition: border-color .15s, color .15s;
}
.pg-pill svg { width: 22px; height: 22px; }
.pg-pill:hover { border-color: #b9d0f3; color: var(--pg-blue); }
.pg-pill.is-active { background: var(--pg-blue); border-color: var(--pg-blue); color: #fff; }

/* ═══════ PAGINATION ═══════ */
.pg-pager { display: flex; align-items: center; justify-content: center; gap: .45rem; margin-top: 2rem; flex-wrap: wrap; }
.pg-pager a, .pg-pager span, .pg-pager button {
    min-width: 38px; height: 38px; padding: 0 .6rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
    font-family: var(--font-body); font-size: .92rem; font-weight: 600; color: var(--pg-navy); text-decoration: none;
    background: transparent; border: 0; cursor: pointer;
}
.pg-pager a:hover, .pg-pager button:hover { background: #e9f0fb; }
.pg-pager .is-current { background: var(--pg-blue); color: #fff; }
.pg-pager .pg-pager-arrow { background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 3px 8px rgba(14,24,71,.08); padding: 0 1rem; }
.pg-pager .is-disabled { opacity: .45; pointer-events: none; }
.pg-pager--green .is-current { background: var(--pg-green); }

/* ═══════ BANDEAU CTA ═══════ */
.pg-cta {
    position: relative; overflow: hidden; display: flex; align-items: center; gap: 1.2rem; margin-top: 2.2rem;
    padding: 1.2rem 1.8rem; border-radius: 14px; background: linear-gradient(90deg, #eaf3ff 0%, #dcecff 100%);
    border: 1px solid #d3e3f8;
}
.pg-cta-icon { width: 58px; height: 58px; flex-shrink: 0; color: var(--pg-navy); }
.pg-cta-text { flex: 1; }
.pg-cta-text strong { display: block; font-size: 1.3rem; font-weight: 800; color: var(--pg-navy); }
.pg-cta-text span { font-size: .98rem; color: #1f2937; }
.pg-cta .pg-btn { background: var(--pg-navy); }
.pg-cta .pg-btn:hover { background: #1b2a6b; }
.pg-cta--navy { background: linear-gradient(90deg, #0a2c6e 0%, #0b4cb0 60%, #9cc8ff 100%); border: 0; color: #fff; }
.pg-cta--navy .pg-cta-icon, .pg-cta--navy .pg-cta-text strong, .pg-cta--navy .pg-cta-text span { color: #fff; }
.pg-cta--green { background: linear-gradient(90deg, #0b5f27 0%, #12963f 70%); border: 0; color: #fff; }
.pg-cta--green .pg-cta-icon, .pg-cta--green .pg-cta-text strong, .pg-cta--green .pg-cta-text span { color: #fff; }
.pg-cta-img { position: absolute; right: 0; top: 0; bottom: 0; width: 200px; object-fit: cover; opacity: .95;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); mask-image: linear-gradient(90deg, transparent, #000 45%); }
.pg-cta-actions { position: relative; z-index: 1; display: flex; gap: .7rem; flex-wrap: wrap; }
.pg-btn--white { background: #fff !important; color: var(--pg-navy) !important; border: 1.5px solid #fff; }
.pg-btn--white:hover { background: #eef4fd !important; }
.pg-btn--ghost { background: #fff !important; color: var(--pg-navy) !important; border: 1.5px solid var(--pg-navy); }
.pg-btn--green { background: var(--pg-green) !important; }
.pg-btn--green:hover { background: var(--pg-green-dark) !important; }

/* ═══════ ARTISANS ═══════ */
.pg-finder {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 1.4rem; align-items: center;
    max-width: 1080px; margin: 0 auto; background: #fff; border-radius: 22px; padding: 1rem 1.2rem 1rem 1.6rem;
    box-shadow: 0 14px 36px rgba(14,24,71,.14);
}
.pg-finder-field { display: flex; align-items: center; gap: .9rem; }
.pg-finder-field > svg { width: 34px; height: 34px; color: var(--pg-green); flex-shrink: 0; }
.pg-finder-field label { display: block; font-size: .88rem; font-weight: 700; color: var(--pg-navy); margin-bottom: .3rem; }
.pg-finder-field > div { flex: 1; min-width: 0; }
.pg-finder select { width: 100%; border-radius: 10px; box-shadow: none; font-weight: 500; }
.pg-finder .pg-btn { background: var(--pg-green); height: 50px; }
.pg-finder .pg-btn:hover { background: var(--pg-green-dark); }
.pg-cities { display: flex; flex-wrap: wrap; gap: .45rem; max-width: 1080px; margin: 1rem auto 0; }
.pg-cities a { padding: .35rem .85rem; border-radius: 999px; background: #fff; border: 1px solid var(--pg-line); color: var(--pg-text); font-size: .84rem; font-weight: 600; text-decoration: none; }
.pg-cities a:hover { border-color: var(--pg-green); color: var(--pg-green); }
.pg-cities a.is-active { background: var(--pg-green); border-color: var(--pg-green); color: #fff; }
.pg-cities-label { width: 100%; font-size: .78rem; font-weight: 700; color: var(--pg-muted); text-transform: uppercase; letter-spacing: .06em; }

.pg-results-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 2.2rem 0 1rem; }
.pg-results-head h2 { font-size: 1.3rem; font-weight: 800; color: var(--pg-navy); }
.pg-results-head span { font-size: .88rem; color: #374151; }
.pg-art-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
.pg-art {
    display: flex; flex-direction: column; background: #fff; border-radius: 12px; overflow: hidden; text-decoration: none;
    border: 1px solid var(--pg-line); box-shadow: 0 6px 18px rgba(14,24,71,.07); transition: transform .18s, box-shadow .18s;
}
.pg-art:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(14,24,71,.13); }
.pg-art-img { display: block; aspect-ratio: 223 / 83; overflow: hidden; background: var(--pg-soft); }
.pg-art-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pg-art-body { display: flex; flex-direction: column; gap: .3rem; padding: .75rem 1rem .9rem; flex: 1; }
.pg-art-body strong { font-size: 1rem; font-weight: 800; color: var(--pg-navy); line-height: 1.25; }
.pg-art-city { display: flex; align-items: center; gap: .4rem; font-size: .84rem; color: #374151; }
.pg-art-city svg { width: 15px; height: 15px; flex-shrink: 0; }
.pg-art-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .4rem; }
.pg-art-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.pg-art-tag { font-size: .8rem; font-weight: 600; color: var(--pg-green); background: #e6f6ea; padding: .2rem .7rem; border-radius: 999px; }
.pg-art .pg-go { color: var(--pg-green); }
.pg-art:hover .pg-go { background: var(--pg-green); border-color: var(--pg-green); color: #fff; }
.pg-notice { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 1.4rem; color: #92400e; margin-top: 2rem; }
.pg-notice a { color: var(--pg-green); font-weight: 700; }

/* ═══════ ACADEMY ═══════ */
.pg-tabs {
    display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: .6rem; max-width: 880px; margin: 0 auto;
    background: #fff; border-radius: 999px; padding: .45rem; box-shadow: 0 14px 36px rgba(14,24,71,.14);
}
.pg-tab {
    display: flex; align-items: center; justify-content: center; gap: .7rem; height: 50px; border-radius: 999px;
    color: var(--pg-navy); font-size: .95rem; font-weight: 600; text-decoration: none; background: var(--pg-soft);
    transition: background .15s, color .15s;
}
.pg-tab svg { width: 26px; height: 26px; color: var(--c, var(--pg-blue)); }
.pg-tab:hover { background: #e7effb; }
.pg-tab.is-active { background: var(--pg-blue); color: #fff; }
.pg-tab.is-active svg { color: #fff; }

.pg-ac-section { margin-top: 2.2rem; scroll-margin-top: 90px; }
.pg-ac-head { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.pg-ac-head svg { width: 30px; height: 30px; color: var(--c); flex-shrink: 0; }
.pg-ac-head h2 { font-size: 1.3rem; font-weight: 800; color: var(--pg-navy); white-space: nowrap; }
.pg-ac-head::after { content: ''; order: 2; flex: 1; height: 6px; border-radius: 6px; background: color-mix(in srgb, var(--c) 18%, #fff); }
.pg-ac-head .pg-count { order: 3; font-size: .85rem; font-weight: 700; color: var(--c); background: color-mix(in srgb, var(--c) 13%, #fff); padding: .25rem .7rem; border-radius: 8px; white-space: nowrap; }
.pg-ac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pg-ac-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-guide {
    display: flex; flex-direction: column; background: #fff; border-radius: 12px; overflow: hidden; text-decoration: none;
    border: 1px solid var(--pg-line); box-shadow: 0 6px 18px rgba(14,24,71,.07); transition: transform .18s, box-shadow .18s;
}
.pg-guide:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(14,24,71,.12); }
.pg-guide-img { display: block; height: 96px; overflow: hidden; background: var(--pg-soft); }
.pg-guide-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pg-guide-body { display: flex; flex-direction: column; gap: .35rem; padding: .85rem 1.1rem 1rem; flex: 1; }
.pg-guide-body strong { font-size: 1.02rem; font-weight: 800; color: var(--pg-navy); line-height: 1.25; }
.pg-guide-body p { font-size: .86rem; line-height: 1.45; color: #4b5563; }
.pg-guide-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: .35rem; }
.pg-guide-foot b { font-size: .9rem; font-weight: 700; color: var(--c); }
.pg-guide .pg-go { color: var(--c); }
.pg-guide:hover .pg-go { background: var(--c); border-color: var(--c); color: #fff; }

/* ═══════ SECTIONS ═══════ */
.pg-main { padding: 1.8rem 0 3rem; }

/* ═══════ RESPONSIVE ═══════ */
@media (max-width: 1180px) {
    .pg-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pg-art-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pg-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    .pg-hero-media { width: 100%; opacity: .28; }
    .pg-hero-swoosh { display: none; }
    .pg-layout { grid-template-columns: minmax(0, 1fr); }
    .pg-filters { position: static; }
    .pg-filters-body { display: none; }
    .pg-filters.is-open .pg-filters-body { display: block; }
    .pg-filters-title { border-bottom: 0; padding-bottom: 0; cursor: pointer; }
    .pg-filters.is-open .pg-filters-title { border-bottom: 1px solid var(--pg-line); padding-bottom: .7rem; }
    .pg-ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pg-finder { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: 16px; }
    .pg-finder .pg-btn { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
    .pg-container { padding: 0 1rem; }
    .pg-hero-inner { padding-bottom: 4rem; }
    .pg-hero-lead { font-size: .95rem; }
    .pg-hero-stats { flex-wrap: wrap; row-gap: .8rem; }
    .pg-hero-stats strong { white-space: nowrap; }
    .pg-hero-stats li { padding: 0 .7rem; }
    .pg-hero-stats svg { width: 24px; height: 24px; }
    .pg-hero-stats strong { font-size: 1.05rem; }
    .pg-hero-stats span { font-size: .72rem; }
    .pg-hero-feats { flex-wrap: wrap; }
    .pg-hero-feats a { padding: .2rem .9rem; font-size: .8rem; }
    .pg-hero-feats svg { width: 26px; height: 26px; }
    .pg-search { border-radius: 16px; flex-wrap: wrap; padding: .5rem; }
    .pg-search-icon { display: none; }
    .pg-search input { flex-basis: 100%; padding: 0 .6rem; }
    .pg-search button { width: 100%; }
    .pg-head-row { flex-direction: column; align-items: flex-start; }
    .pg-h2 { font-size: 1.35rem; }
    .pg-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .pg-brand { padding: .8rem; }
    .pg-brand-logo { height: 56px; }
    .pg-brand-logo img { max-height: 52px; }
    .pg-brand-meta ul { font-size: .74rem; }
    .pg-tiles { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
    .pg-pill { height: 38px; padding: 0 .9rem; font-size: .86rem; }
    .pg-art-grid { grid-template-columns: minmax(0, 1fr); }
    .pg-finder { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
    .pg-ac-grid, .pg-ac-grid--2 { grid-template-columns: minmax(0, 1fr); }
    .pg-ac-head h2 { font-size: 1.1rem; white-space: normal; }
    .pg-tabs { grid-template-columns: minmax(0, 1fr); border-radius: 18px; }
    .pg-cta { flex-direction: column; align-items: flex-start; padding: 1.2rem; }
    .pg-cta-img { opacity: .25; }
    .pg-cta-text strong { font-size: 1.1rem; }
}
.pg-cta--navy .pg-btn { background: var(--pg-blue); }
.pg-cta--navy .pg-btn:hover { background: var(--pg-blue-dark); }
.pg-cta--navy .pg-btn--ghost { background: #fff !important; color: var(--pg-navy) !important; border: 1.5px solid var(--pg-navy); }
.pg-hero-h { color: #fff; font-family: var(--font-body); }

/* ═══════════════════════════════════════
   FICHES (marque, artisan, guide) + pages éditoriales
   ═══════════════════════════════════════ */
.pg-hero--red { --hero-a: #9b0f1b; --hero-b: #d81f2a; }
.pg-hero--sky { --hero-a: #0b5f9e; --hero-b: #1a8fd6; }
.pg-hero--purple { --hero-a: #3d1a8f; --hero-b: #6d35d6; }
.fx { --acc: var(--pg-blue); --acc-soft: #e8f0fc; }
.fx--red { --acc: #d81f2a; --acc-soft: #fde8e9; }
.fx--sky { --acc: #1a8fd6; --acc-soft: #e3f3fc; }
.fx--purple { --acc: #6d35d6; --acc-soft: #efe8fc; }
.fx--green { --acc: #12963f; --acc-soft: #e6f6ea; }

.fx-hero .pg-hero-inner { padding-bottom: 4.4rem; }
.fx-id { display: flex; align-items: center; gap: 1.6rem; margin-top: .4rem; }
.fx-logo {
    width: 128px; height: 116px; flex-shrink: 0; border-radius: 18px; background: #fff;
    display: flex; align-items: center; justify-content: center; padding: .8rem; box-shadow: 0 10px 30px rgba(0,0,0,.22);
}
.fx-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fx-logo span { font-size: 3.2rem; font-weight: 800; color: var(--acc); }
.fx-title { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-bottom: .45rem; }
.fx-title h1 { margin: 0 !important; font-size: clamp(1.8rem, 3.2vw, 2.6rem) !important; }
.fx-chip { font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: .3rem .8rem; border-radius: 999px; background: rgba(255,255,255,.2); color: #fff; border: 1px solid rgba(255,255,255,.35); }
.fx-chip--sky { background: #3fb5ff; border-color: #3fb5ff; }
.fx-sub { display: flex; align-items: center; gap: .45rem; font-size: 1rem; color: rgba(255,255,255,.92); margin-bottom: 1rem; }
.fx-btns { display: flex; flex-wrap: wrap; gap: .55rem; }
.fx-btn {
    display: inline-flex; align-items: center; gap: .5rem; height: 42px; padding: 0 1.1rem; border-radius: 999px;
    font-family: var(--font-body); font-size: .9rem; font-weight: 700; text-decoration: none; cursor: pointer;
    background: rgba(255,255,255,.12); color: #fff; border: 1.5px solid rgba(255,255,255,.55); transition: background .15s;
}
.fx-btn:hover { background: rgba(255,255,255,.22); }
.fx-btn--solid { background: #fff; color: var(--pg-navy); border-color: #fff; }
.fx-btn--solid:hover { background: #eef4fd; }
.fx-btn--acc { background: #fff; color: var(--acc); border-color: #fff; }
.fx-btn--green { background: var(--pg-green); border-color: var(--pg-green); color: #fff; }
.fx-btn--green:hover { background: var(--pg-green-dark); }
.fx-btn--icon { width: 42px; padding: 0; justify-content: center; }

.fx-stats {
    position: relative; z-index: 3; margin: -2.6rem auto 0; max-width: 1120px; display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border-radius: 999px; padding: .9rem 1.4rem;
    box-shadow: 0 14px 36px rgba(14,24,71,.13);
}
.fx-stat { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: .2rem .6rem; border-left: 1px solid var(--pg-line); }
.fx-stat:first-child { border-left: 0; }
.fx-stat svg { width: 36px; height: 36px; color: var(--acc); flex-shrink: 0; }
.fx-stat strong { display: block; font-size: 1.45rem; font-weight: 800; color: var(--pg-navy); line-height: 1.05; }
.fx-stat span { font-size: .9rem; color: #374151; }
.fx-stat .fx-ok { color: var(--pg-green); font-size: 1.4rem; }

.fx-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.4rem; align-items: start; padding: 1.8rem 0 3rem; }
.fx-main, .fx-side { display: flex; flex-direction: column; gap: 1.2rem; min-width: 0; }
.fx-card { position: relative; overflow: hidden; background: #fff; border-radius: 16px; border: 1px solid var(--pg-line); box-shadow: 0 6px 20px rgba(14,24,71,.06); padding: 1.4rem 1.5rem; }
.fx-card h2, .fx-h2 { display: flex; align-items: center; gap: .65rem; font-size: 1.28rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .9rem; }
.fx-card h2 svg { width: 26px; height: 26px; color: var(--acc); flex-shrink: 0; }
.fx-card h2 small { font-size: .95rem; font-weight: 600; color: var(--pg-muted); }
.fx-bar { padding-left: .9rem; border-left: 4px solid var(--acc); }
.fx-card p { font-size: .95rem; line-height: 1.65; color: #374151; }
.fx-card-art { position: absolute; right: 0; top: 0; bottom: 0; width: 34%; object-fit: cover;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
.fx-card--art > *:not(.fx-card-art) { position: relative; max-width: 66%; }
.fx-lines { list-style: none; display: flex; flex-direction: column; gap: .55rem; margin-top: .9rem; }
.fx-lines li { display: flex; align-items: center; gap: .7rem; font-size: .95rem; color: #1f2937; }
.fx-lines svg { width: 18px; height: 18px; color: var(--acc); flex-shrink: 0; }
.fx-lines a { color: var(--acc); font-weight: 700; text-decoration: none; }
.fx-lines a:hover { text-decoration: underline; }

.fx-side .fx-card { padding: 1.2rem; }
.fx-side h3 { display: flex; align-items: center; gap: .55rem; font-size: 1.08rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .8rem; }
.fx-side h3 svg { width: 22px; height: 22px; color: var(--acc); }
.fx-action {
    display: flex; align-items: center; gap: .7rem; padding: .7rem .9rem; border-radius: 10px; margin-bottom: .5rem;
    background: var(--pg-soft); color: var(--pg-navy); font-size: .9rem; font-weight: 700; text-decoration: none; transition: background .15s;
}
.fx-action:last-child { margin-bottom: 0; }
.fx-action svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--acc); }
.fx-action .fx-go { margin-left: auto; }
.fx-action:hover { background: #e7eef9; }
.fx-action--primary { background: var(--pg-blue); color: #fff; }
.fx-action--primary svg { color: #fff; }
.fx-action--primary:hover { background: var(--pg-blue-dark); }
.fx-action--green { background: var(--pg-green); color: #fff; justify-content: center; }
.fx-action--green svg { color: #fff; }
.fx-action--green:hover { background: var(--pg-green-dark); }
.fx-action--center { justify-content: center; }
.fx-info { list-style: none; }
.fx-info li { display: flex; justify-content: space-between; gap: .8rem; padding: .55rem 0; border-top: 1px solid var(--pg-line); font-size: .9rem; color: #374151; }
.fx-info li:first-child { border-top: 0; }
.fx-info b { color: var(--pg-navy); text-align: right; }
.fx-info b a { color: var(--acc); text-decoration: none; }
.fx-info .fx-accent { color: var(--acc); }
.fx-claim { background: linear-gradient(135deg, var(--acc-soft), #fff); border-color: color-mix(in srgb, var(--acc) 25%, #fff); }
.fx-claim p { font-size: .9rem; margin-bottom: .9rem; }
.fx-claim .pg-btn { width: 100%; background: var(--acc); height: 44px; }
.fx-claim .pg-btn:hover { filter: brightness(.92); }
.fx-claim--dashed { border-style: dashed; border-color: color-mix(in srgb, var(--acc) 45%, #fff); }
.fx-claim--ghost .pg-btn { background: #fff !important; color: var(--acc); border: 1.5px solid var(--acc); }

.fx-search { display: flex; gap: .6rem; margin-bottom: .9rem; }
.fx-search label { flex: 1; display: flex; align-items: center; gap: .6rem; height: 46px; padding: 0 1rem; border: 1px solid var(--pg-line); border-radius: 999px; background: #fff; box-shadow: 0 3px 10px rgba(14,24,71,.05); }
.fx-search label svg { width: 18px; height: 18px; color: var(--pg-blue); }
.fx-search input { flex: 1; min-width: 0; border: 0; outline: none; font-family: var(--font-body); font-size: .92rem; }
.fx-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.fx-chips a, .fx-chips button {
    padding: .42rem .95rem; border-radius: 999px; background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 2px 6px rgba(14,24,71,.05);
    color: var(--pg-navy); font-family: var(--font-body); font-size: .85rem; font-weight: 600; text-decoration: none; cursor: pointer;
}
.fx-chips a:hover { border-color: var(--pg-blue); color: var(--pg-blue); }
.fx-chips a em { font-style: normal; color: var(--pg-muted); font-weight: 500; }
.fx-chips .fx-more { background: #e8f0fc; color: var(--pg-blue); border-color: #e8f0fc; }
.fx-chips .is-active { background: var(--pg-blue); color: #fff; border-color: var(--pg-blue); }

.fx-gamme { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.fx-gamme a {
    display: flex; align-items: center; gap: .9rem; padding: .7rem .8rem; border-radius: 12px; background: #fff; text-decoration: none;
    border: 1px solid var(--pg-line); box-shadow: 0 4px 12px rgba(14,24,71,.06); transition: border-color .15s, transform .15s;
}
.fx-gamme a:hover { border-color: #b9d0f3; transform: translateY(-2px); }
.fx-swatch { width: 54px; height: 46px; flex-shrink: 0; border-radius: 8px; background: linear-gradient(135deg, #dbe9fb, #b9d3f5); position: relative; overflow: hidden; }
.fx-swatch::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 55%; background: #fff; clip-path: polygon(0 0, 100% 0, 50% 100%); opacity: .9; }
.fx-gamme strong { display: block; font-size: .95rem; font-weight: 700; color: var(--pg-navy); }
.fx-gamme small { display: block; font-size: .8rem; color: var(--pg-muted); margin-top: .1rem; }
.fx-gamme .pg-go { margin-left: auto; }

.fx-dist-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.fx-dist-head h2 { margin-bottom: 0; }
.fx-dist-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.fx-dist { border: 1px solid var(--pg-line); border-radius: 12px; padding: .9rem 1rem; box-shadow: 0 3px 10px rgba(14,24,71,.05); background: #fff; }
.fx-dist strong { display: flex; align-items: center; justify-content: space-between; gap: .4rem; font-size: .98rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .3rem; }
.fx-dist strong em { font-style: normal; font-size: .68rem; font-weight: 700; background: #fef9c3; color: #854d0e; padding: .15rem .5rem; border-radius: 999px; white-space: nowrap; }
.fx-dist p { display: flex; align-items: center; gap: .45rem; font-size: .85rem !important; color: #374151; margin-bottom: .15rem; }
.fx-dist p svg { width: 15px; height: 15px; flex-shrink: 0; }
.fx-dist-btns { display: flex; gap: .5rem; margin-top: .6rem; }
.fx-dist-btns a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; height: 34px; border-radius: 8px; font-size: .82rem; font-weight: 700; text-decoration: none; }
.fx-dist-btns .fx-dark { background: var(--pg-navy); color: #fff; }
.fx-dist-btns .fx-dark:hover { background: #1b2a6b; }
.fx-dist-btns .fx-call { background: #e6f6ea; color: var(--pg-green); }
.fx-dist-btns .fx-call:hover { background: #d3efd9; }
.fx-more-wrap { text-align: center; margin-top: 1.2rem; }
.fx-more-btn { display: inline-flex; align-items: center; gap: .45rem; height: 42px; padding: 0 1.4rem; border-radius: 999px; border: 1px solid #d3e3f8; background: #f0f6fe; color: var(--pg-blue); font-family: var(--font-body); font-weight: 700; font-size: .92rem; cursor: pointer; }
.fx-more-btn:hover { background: #e3eefc; }

.fx-logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .8rem; }
.fx-logos a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; min-height: 96px; padding: .7rem;
    border-radius: 12px; border: 1px solid var(--pg-line); background: #fff; text-decoration: none; box-shadow: 0 3px 10px rgba(14,24,71,.05);
    transition: transform .15s, box-shadow .15s;
}
.fx-logos a:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(14,24,71,.1); }
.fx-logos img { max-height: 40px; max-width: 90%; object-fit: contain; }
.fx-logos strong { font-size: .86rem; font-weight: 700; color: var(--pg-navy); text-align: center; }
.fx-logos .fx-ini { width: 40px; height: 40px; border-radius: 10px; background: var(--acc-soft); color: var(--acc); display: flex; align-items: center; justify-content: center; font-weight: 800; }
.fx-logos--wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fx-logos--wide a { flex-direction: row; justify-content: space-between; padding: .8rem 1rem; }
.fx-logos--wide a div { display: flex; flex-direction: column; align-items: center; gap: .3rem; flex: 1; }

.fx-banner { display: grid; grid-template-columns: 30% 1fr; align-items: center; gap: 1.4rem; background: #fff; border-radius: 16px; border: 1px solid var(--pg-line); overflow: hidden; box-shadow: 0 6px 20px rgba(14,24,71,.06); }
.fx-banner img { width: 100%; height: 100%; min-height: 110px; object-fit: cover; }
.fx-banner > div { padding: 1.1rem 1.4rem 1.1rem 0; }
.fx-banner h2 { display: flex; align-items: center; gap: .55rem; font-size: 1.15rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .35rem; }
.fx-banner h2 svg { color: var(--pg-blue); }
.fx-banner p { font-size: .92rem; line-height: 1.55; color: #374151; margin-bottom: .45rem; }
.fx-note { display: flex; align-items: center; gap: 1.2rem; padding: 1.1rem 1.4rem; border-radius: 14px; background: #eaf2fd; border: 1px solid #d6e5f9; margin-bottom: 2.6rem; }
.fx-note > svg { width: 40px; height: 40px; color: var(--pg-blue); flex-shrink: 0; }
.fx-note div { flex: 1; }
.fx-note strong { display: block; font-size: 1.02rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .2rem; }
.fx-note p { font-size: .88rem; line-height: 1.5; color: #374151; }
.fx-note a.pg-btn { background: #fff; color: var(--pg-blue); box-shadow: 0 3px 10px rgba(14,24,71,.08); }
.fx-note a.pg-btn:hover { background: #f3f7fe; }

.fx-empty { text-align: center; padding: .6rem 0 .2rem; }
.fx-empty svg { width: 46px; height: 46px; color: var(--pg-blue); margin-bottom: .4rem; }
.fx-empty p { margin-bottom: .8rem; }

.fx-guides-banner { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; border-radius: 16px; background: linear-gradient(90deg, var(--acc-soft) 0%, #fff 70%); border: 1px solid var(--pg-line); position: relative; overflow: hidden; }
.fx-guides-banner > svg { width: 46px; height: 46px; color: var(--acc); flex-shrink: 0; position: relative; }
.fx-guides-banner div { position: relative; max-width: 62%; }
.fx-guides-banner strong { display: block; font-size: 1.2rem; font-weight: 800; color: var(--pg-navy); }
.fx-guides-banner p { font-size: .9rem; color: #374151; margin: .15rem 0 .6rem; }
.fx-guides-banner .pg-btn { height: 36px; padding: 0 1rem; font-size: .85rem; background: #fff; color: var(--pg-navy); box-shadow: 0 3px 10px rgba(14,24,71,.1); }
.fx-guides-banner img { position: absolute; right: 0; top: 0; height: 100%; width: 38%; object-fit: cover;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 35%); mask-image: linear-gradient(90deg, transparent, #000 35%); }
.fx-guide-list { display: flex; flex-direction: column; gap: .6rem; margin-top: .9rem; }
.fx-guide-list a { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .7rem .9rem; border-radius: 10px; background: #fff; border: 1px solid var(--pg-line); color: var(--pg-navy); font-weight: 700; font-size: .92rem; text-decoration: none; }
.fx-guide-list a:hover { border-color: var(--acc); }

/* Carte Google (artisan) */
.fx-map { position: relative; border-radius: 12px; overflow: hidden; height: 240px; border: 1px solid var(--pg-line); }
.fx-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.fx-map-btn { position: absolute; left: .8rem; top: .8rem; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: 999px; background: #fff; color: var(--pg-blue); font-size: .85rem; font-weight: 700; text-decoration: none; box-shadow: 0 3px 10px rgba(0,0,0,.15); }
.fx-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: .8rem; color: var(--pg-blue); font-weight: 700; font-size: .92rem; text-decoration: none; }
.fx-link:hover { text-decoration: underline; }
.fx-sim { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.fx-sim a { display: flex; flex-direction: column; gap: .6rem; padding: .8rem; border-radius: 12px; border: 1px solid var(--pg-line); background: #fff; text-decoration: none; box-shadow: 0 3px 10px rgba(14,24,71,.05); }
.fx-sim a:hover { border-color: #b9d0f3; }
.fx-sim-top { display: flex; align-items: center; gap: .7rem; }
.fx-sim-ini { width: 40px; height: 40px; border-radius: 10px; background: #e6f6ea; color: var(--pg-green); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.1rem; flex-shrink: 0; }
.fx-sim strong { display: block; font-size: .92rem; font-weight: 800; color: var(--pg-navy); line-height: 1.2; }
.fx-sim small { font-size: .8rem; color: var(--pg-muted); }
.fx-sim-foot { display: flex; align-items: center; justify-content: space-between; gap: .4rem; }
.fx-sim-foot span:first-child { font-size: .78rem; font-weight: 600; color: #374151; background: var(--pg-soft); padding: .25rem .6rem; border-radius: 999px; }
.fx-head-link { display: flex; align-items: center; justify-content: space-between; }
.fx-head-link a { font-size: .9rem; font-weight: 700; color: var(--pg-blue); text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; }

@media (max-width: 1100px) {
    .fx-layout { grid-template-columns: minmax(0, 1fr); }
    .fx-dist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fx-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .fx-id { flex-direction: column; align-items: flex-start; gap: .9rem; }
    .fx-logo { width: 96px; height: 86px; }
    .fx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 18px; gap: .8rem 0; margin: -2.4rem 1rem 0; }
    .fx-stat { justify-content: flex-start; }
    .fx-stat:nth-child(3) { border-left: 0; }
    .fx-stat svg { width: 28px; height: 28px; }
    .fx-stat strong { font-size: 1.15rem; }
    .fx-stat span { font-size: .78rem; }
    .fx-card { padding: 1.1rem; }
    .fx-card--art > *:not(.fx-card-art) { max-width: 100%; }
    .fx-card-art { opacity: .18; width: 60%; }
    .fx-gamme, .fx-dist-grid, .fx-sim, .fx-logos--wide { grid-template-columns: minmax(0, 1fr); }
    .fx-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fx-search { flex-direction: column; }
    .fx-banner { grid-template-columns: minmax(0, 1fr); }
    .fx-banner > div { padding: 0 1.1rem 1.1rem; }
    .fx-note { flex-direction: column; align-items: flex-start; }
    .fx-guides-banner div { max-width: 100%; }
    .fx-guides-banner img { opacity: .2; width: 60%; }
}

/* ═══════ DISTRIBUTEURS (accueil rubrique) ═══════ */
.pg-hero h1 em { font-style: normal; color: var(--pg-sky); }
.dz-finder { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; border-radius: 999px; padding: .7rem .7rem .7rem .9rem; }
.dz-field { display: flex; align-items: center; gap: .7rem; height: 52px; padding: 0 1.1rem; border: 1px solid var(--pg-line); border-radius: 999px; background: #fff; }
.dz-field svg { color: var(--pg-blue); flex-shrink: 0; }
.dz-field input, .dz-field select { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font-family: var(--font-body); font-size: .95rem; color: var(--pg-navy); }
.dz-field select { font-weight: 600; cursor: pointer; }
.dz-finder .pg-btn { background: var(--pg-blue); height: 52px; padding: 0 1.8rem; }
.dz-finder .pg-btn:hover { background: var(--pg-blue-dark); }
.dz-msg { max-width: 1080px; margin: .8rem auto 0; padding: .7rem 1rem; border-radius: 10px; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; font-size: .9rem; }
.dz-section { margin-bottom: 2.2rem; }
.dz-title::after { width: 70px; }
.dz-brands { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem; }
.dz-brand {
    display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .9rem .7rem; border-radius: 12px; background: #fff;
    border: 1px solid var(--pg-line); box-shadow: 0 4px 14px rgba(14,24,71,.06); text-decoration: none; transition: transform .15s, box-shadow .15s, border-color .15s;
}
.dz-brand:hover, .dz-brand.is-active { border-color: #7fb0ef; box-shadow: 0 10px 22px rgba(14,24,71,.1); transform: translateY(-2px); }
.dz-brand.is-active { background: #f2f7ff; }
.dz-brand-logo { height: 52px; display: flex; align-items: center; justify-content: center; margin-bottom: .2rem; }
.dz-brand-logo img { max-height: 48px; max-width: 120px; object-fit: contain; }
.dz-brand strong { font-size: .92rem; font-weight: 700; color: var(--pg-navy); text-align: center; }
.dz-brand small { font-size: .82rem; color: var(--pg-muted); }
.dz-cities { position: relative; display: flex; align-items: center; gap: 1rem; background: #fff; border-radius: 16px; border: 1px solid var(--pg-line); box-shadow: 0 6px 20px rgba(14,24,71,.06); padding: 1.2rem 1.4rem; }
.dz-cities .fx-chips { flex: 1; }
.dz-cities .fx-chips a { background: var(--pg-soft); border-color: var(--pg-soft); box-shadow: none; }
.dz-cities .fx-chips a:hover { background: var(--pg-blue); border-color: var(--pg-blue); color: #fff; }
.dz-city-art { position: relative; color: #8db6ec; flex-shrink: 0; display: flex; align-items: flex-end; }
.dz-city-art svg:last-child { position: absolute; right: -6px; top: -14px; color: var(--pg-blue); }
@media (max-width: 1100px) { .dz-brands { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .dz-finder { grid-template-columns: minmax(0, 1fr); border-radius: 18px; }
    .dz-finder .pg-btn { grid-column: auto; }
    .dz-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dz-city-art { display: none; }
    .dz-cities { padding: 1rem; }
}
.dz-title { position: relative; font-size: 1.7rem; font-weight: 800; color: var(--pg-navy); padding-bottom: .5rem; }
.dz-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 70px; height: 4px; border-radius: 4px; background: var(--pg-yellow); }
@media (max-width: 680px) { .dz-title { font-size: 1.35rem; } }

/* ═══════ À PROPOS ═══════ */
.ab { padding-bottom: 2.4rem; }
.ab h2 { font-family: var(--font-body); }
.ab-kicker { display: flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pg-blue); margin-bottom: .3rem; }
.ab-ico { width: 46px; height: 46px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--c, #0b5ed7) 12%, #fff); color: var(--c, #0b5ed7); flex-shrink: 0; }
.ab-ico--lg { width: 72px; height: 72px; border-radius: 18px; --c: #e0313a; }
.ab-mission {
    position: relative; z-index: 3; margin-top: -2.4rem; display: grid; grid-template-columns: auto minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.4rem; align-items: center;
    background: #fff; border-radius: 18px; padding: 1.6rem 1.8rem; box-shadow: 0 14px 36px rgba(14,24,71,.12);
}
.ab-mission h2 { font-size: 1.6rem; font-weight: 800; color: var(--pg-navy); line-height: 1.15; margin-bottom: .6rem; }
.ab-mission p { font-size: .93rem; line-height: 1.6; color: #374151; }
.ab-strong { font-weight: 700; color: var(--pg-blue) !important; margin-top: .4rem; }
.ab-stroke { display: none; height: 110px; background: linear-gradient(135deg, #8cc4ff, #1f6fe0); border-radius: 50% 40% 55% 45%; transform: rotate(-25deg) skewX(-15deg); opacity: .85; filter: blur(.3px); }
.ab-checks { list-style: none; display: flex; flex-direction: column; gap: .65rem; padding-left: 1.4rem; border-left: 1px solid var(--pg-line); }
.ab-checks li, .ab-card li { display: flex; align-items: center; gap: .55rem; font-size: .92rem; color: var(--pg-navy); }
.ab-checks svg { color: var(--pg-green); flex-shrink: 0; }
.ab-block { margin-top: 2.6rem; }
.ab-intro { font-size: .98rem; color: #374151; margin: .3rem 0 1.2rem; }
.ab-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.ab-card { position: relative; overflow: hidden; background: #fff; border-radius: 16px; border: 1px solid var(--pg-line); box-shadow: 0 6px 20px rgba(14,24,71,.07); padding: 1.2rem 1.3rem; min-height: 230px; }
.ab-card > img { position: absolute; right: 0; top: 0; height: 100%; width: 42%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
.ab-card > *:not(img) { position: relative; max-width: 66%; }
.ab-card h3 { font-size: 1.18rem; font-weight: 800; color: var(--pg-navy); margin: .7rem 0 .3rem; }
.ab-card p { font-size: .86rem; color: #4b5563; margin-bottom: .5rem; }
.ab-card ul { list-style: none; display: flex; flex-direction: column; gap: .35rem; margin-bottom: .8rem; }
.ab-card li { font-size: .86rem; }
.ab-card li svg { color: var(--c); }
.ab-card a { font-size: .9rem; font-weight: 700; color: var(--c); text-decoration: none; }
.ab-card a:hover { text-decoration: underline; }
.ab-diff { margin-top: 2.6rem; display: grid; grid-template-columns: 28% minmax(0, 1fr); background: #fff; border-radius: 18px; overflow: hidden; border: 1px solid var(--pg-line); box-shadow: 0 6px 20px rgba(14,24,71,.07); }
.ab-diff > img { width: 100%; height: 100%; object-fit: cover; }
.ab-diff-body { padding: 1.4rem 1.6rem; }
.ab-diff h2 { font-size: 1.5rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .4rem; }
.ab-diff-body > p { font-size: .93rem; color: #374151; }
.ab-diff-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.ab-diff-grid div { display: flex; align-items: center; gap: .7rem; padding: .8rem; border-radius: 12px; background: var(--pg-soft); font-size: .88rem; font-weight: 700; color: var(--pg-navy); line-height: 1.3; }
.ab-diff-grid span { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: color-mix(in srgb, var(--c) 13%, #fff); color: var(--c); }
.ab-quote { display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; border-radius: 12px; background: #fdecf2; color: var(--pg-navy) !important; font-weight: 700; }
.ab-quote svg { color: #d81f6a; flex-shrink: 0; }
.ab-who { display: flex; justify-content: space-between; gap: .6rem; overflow: hidden; background: #fff; border-radius: 16px; border: 1px solid var(--pg-line); box-shadow: 0 6px 20px rgba(14,24,71,.07); padding: 1.1rem 0 1.1rem 1.2rem; }
.ab-who > div { flex: 1; }
.ab-who h3 { display: inline-block; vertical-align: middle; margin-left: .6rem; font-size: 1.15rem; font-weight: 800; color: var(--pg-navy); }
.ab-who p { font-size: .88rem; color: #374151; margin-top: .6rem; }
.ab-who img { width: 34%; object-fit: cover; margin: -1.1rem 0; border-radius: 0 16px 16px 0; }
.ab-vision { position: relative; overflow: hidden; margin-top: 2.6rem; padding: 1.5rem 1.8rem; border-radius: 18px; background: linear-gradient(90deg, #f3f0ff 0%, #eaf3ff 60%); border: 1px solid #e3e6f6; }
.ab-vision > img { position: absolute; right: 0; top: 0; height: 100%; width: 30%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
.ab-vision > div { position: relative; max-width: 72%; }
.ab-vision h2 { font-size: 1.55rem; font-weight: 800; color: var(--pg-navy); line-height: 1.2; margin-bottom: .9rem; }
.ab-vision p:last-child { font-size: .93rem; color: #374151; margin-top: .9rem; }
.ab-tags { display: flex; flex-wrap: wrap; gap: .6rem; }
.ab-tags span { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem 1rem; border-radius: 999px; background: #fff; color: var(--pg-blue); font-size: .88rem; font-weight: 700; box-shadow: 0 3px 10px rgba(14,24,71,.07); }
.ab-join { background: linear-gradient(110deg, #082a63 0%, #0b4cb0 70%, #1167d8 100%) !important; padding: 1.4rem 1.8rem; }
.ab-join-ico { width: 64px; height: 64px; border-radius: 14px; background: #3b3f20; color: var(--pg-yellow); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ab-join .pg-cta-text strong { font-size: 1.5rem; }
.ab-join .pg-cta-text span { color: rgba(255,255,255,.9) !important; font-size: .93rem; }
.ab-btn-outline { background: transparent !important; border: 1.5px solid #fff; }
.ab-btn-outline:hover { background: rgba(255,255,255,.12) !important; }
.ab-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.8rem; }
.ab-stats div { display: flex; align-items: center; justify-content: center; gap: .9rem; padding: .4rem 1rem; border-left: 1px solid var(--pg-line); color: var(--pg-navy); }
.ab-stats div:first-child { border-left: 0; }
.ab-stats strong { display: block; font-size: 1.5rem; font-weight: 800; }
.ab-stats span { font-size: .88rem; color: #374151; }
@media (max-width: 1000px) {
    .ab-mission { grid-template-columns: auto minmax(0, 1fr); }
    .ab-stroke { display: none; }
    .ab-checks { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid var(--pg-line); padding-top: 1rem; }
    .ab-grid3, .ab-diff-grid { grid-template-columns: minmax(0, 1fr); }
    .ab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 0; }
    .ab-stats div:nth-child(3) { border-left: 0; }
}
@media (max-width: 680px) {
    .ab-mission { grid-template-columns: minmax(0, 1fr); padding: 1.2rem; }
    .ab-mission h2, .ab-diff h2, .ab-vision h2 { font-size: 1.25rem; }
    .ab-diff { grid-template-columns: minmax(0, 1fr); }
    .ab-diff > img { height: 150px; }
    .ab-vision > div { max-width: 100%; }
    .ab-vision > img { opacity: .2; width: 55%; }
    .ab-vision h2 br { display: none; }
    .ab-card > *:not(img) { max-width: 70%; }
    .ab-stats div { justify-content: flex-start; padding: .4rem .6rem; }
    .ab-stats strong { font-size: 1.2rem; }
}

/* ═══════ CONTACT ═══════ */
.ct { padding: 1.6rem 1.5rem 2.6rem; }
.ct-layout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 1.6rem; align-items: start; }
.ct-form-card { background: #fff; border-radius: 18px; border: 1px solid var(--pg-line); box-shadow: 0 10px 30px rgba(14,24,71,.08); padding: 1.6rem 1.8rem; }
.ct-form { display: flex; flex-direction: column; gap: 1rem; }
.ct-types { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.ct-types legend { font-size: 1.1rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .7rem; padding: 0; }
.ct-types input { position: absolute; opacity: 0; pointer-events: none; }
.ct-types span { display: inline-flex; align-items: center; gap: .5rem; height: 44px; padding: 0 1.2rem; border-radius: 999px; background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 3px 10px rgba(14,24,71,.06); font-weight: 700; font-size: .92rem; color: var(--pg-navy); cursor: pointer; transition: all .15s; }
.ct-types input:checked + span { background: var(--pg-blue); border-color: var(--pg-blue); color: #fff; }
.ct-types input:focus-visible + span { outline: 2px solid var(--pg-blue); outline-offset: 2px; }
.ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ct-field label { display: block; font-size: .92rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .4rem; }
.ct-input { display: flex; align-items: center; gap: .6rem; height: 48px; padding: 0 1rem; border: 1px solid var(--pg-line); border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(14,24,71,.04); }
.ct-input svg { color: #6b7280; flex-shrink: 0; }
.ct-input input, .ct-input select { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font-family: var(--font-body); font-size: .95rem; color: var(--pg-navy); }
.ct-select select { cursor: pointer; }
.ct-input:focus-within, .ct-form textarea:focus { border-color: var(--pg-blue); box-shadow: 0 0 0 3px rgba(11,94,215,.12); }
.ct-form textarea { width: 100%; min-height: 130px; resize: vertical; padding: .8rem 1rem; border: 1px solid var(--pg-line); border-radius: 12px; font-family: var(--font-body); font-size: .95rem; outline: none; }
.ct-alert { border-radius: 12px; padding: .9rem 1.1rem; margin-bottom: 1rem; font-size: .92rem; }
.ct-alert--ok { background: #ecfdf3; border: 1px solid #a7e8bf; color: #166534; }
.ct-alert--err { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.ct-alert ul { margin: .4rem 0 0 1.2rem; }
.ct-side { display: flex; flex-direction: column; gap: 1rem; }
.ct-delay { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.3rem; border-radius: 16px; background: linear-gradient(90deg, #fff, #dfeafd); border: 1px solid var(--pg-line); }
.ct-delay > span { width: 54px; height: 54px; border-radius: 12px; background: #e3edfb; color: var(--pg-blue); display: flex; align-items: center; justify-content: center; }
.ct-delay strong { display: block; font-size: 1.12rem; font-weight: 800; color: var(--pg-navy); }
.ct-delay div { font-size: .95rem; color: #374151; }
.ct-ways h3 { font-size: 1.15rem !important; }
.ct-ways a { display: flex; align-items: center; gap: .7rem; text-decoration: none; margin-top: .6rem; }
.ct-ways a > span:first-child { width: 48px; height: 48px; border-radius: 10px; background: var(--pg-soft); color: var(--pg-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ct-ways a > span:last-child { flex: 1; padding: .6rem .9rem; border-radius: 10px; background: var(--pg-soft); }
.ct-ways strong { display: block; font-size: .95rem; color: var(--pg-navy); }
.ct-ways small { font-size: .8rem; color: #4b5563; }
.ct-pro { position: relative; overflow: hidden; padding: 1.3rem 1.4rem; border-radius: 16px; background: linear-gradient(120deg, #0b2a5c, #0b3f8f); color: #fff; }
.ct-pro img { position: absolute; right: 0; top: 0; height: 100%; width: 40%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, transparent, #000 35%); mask-image: linear-gradient(90deg, transparent, #000 35%); }
.ct-pro > *:not(img) { position: relative; max-width: 72%; }
.ct-pro strong { display: flex; align-items: center; gap: .5rem; font-size: 1.15rem; font-weight: 800; margin-bottom: .5rem; }
.ct-pro strong svg { color: #6fc2ff; }
.ct-pro p { font-size: .9rem; line-height: 1.5; color: rgba(255,255,255,.92); margin-bottom: .9rem; }
.ct-pro .pg-btn { height: 40px; padding: 0 1.1rem; font-size: .88rem; }
.ct-reassure { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.8rem; }
.ct-reassure div { display: flex; align-items: center; gap: .9rem; padding: .3rem 1.4rem; border-left: 1px solid var(--pg-line); }
.ct-reassure div:first-child { border-left: 0; }
.ct-reassure span { width: 54px; height: 54px; border-radius: 50%; background: #e7f0fd; color: var(--pg-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ct-reassure p { font-size: .9rem; color: #374151; }
.ct-reassure strong { display: block; font-size: 1.05rem; font-weight: 800; color: var(--pg-navy); }
@media (max-width: 1000px) { .ct-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 680px) {
    .ct { padding: 1.2rem 1rem 2rem; }
    .ct-form-card { padding: 1.2rem; }
    .ct-row, .ct-reassure { grid-template-columns: minmax(0, 1fr); }
    .ct-reassure div { border-left: 0; padding: .5rem 0; }
    .ct-types span { height: 40px; padding: 0 .9rem; font-size: .86rem; }
}

/* ═══════ GUIDE ACADEMY ═══════ */
.pg-hero h1 em { font-style: normal; color: var(--pg-sky); }
.gd-chip { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .7rem; padding: .3rem .8rem; border-radius: 999px; background: rgba(63,181,255,.25); border: 1px solid rgba(63,181,255,.6); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.gd-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 1.1rem; }
.gd-meta li { display: flex; align-items: center; gap: .45rem; font-size: .95rem; font-weight: 600; color: #fff; }
.gd { padding-top: 1.8rem; }
.gd-intro { display: flex; align-items: center; gap: 1.1rem; padding: 1.1rem 1.4rem; border-radius: 16px; background: linear-gradient(90deg, #eaf2fd, #f6f9ff); border: 1px solid #d9e6f8; }
.gd-intro > span { width: 56px; height: 56px; border-radius: 14px; background: #fff; color: var(--pg-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gd-intro > div { font-size: .98rem; line-height: 1.65; color: var(--pg-navy); }
.gd-label { font-size: .78rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #4b5563 !important; margin: 1rem 0 .5rem; }
.gd-tools { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; }
.gd-tools li { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 2px 8px rgba(14,24,71,.05); font-size: .86rem; font-weight: 600; color: var(--pg-navy); }
.gd-tools svg { color: #7c3aed; }
.gd-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; counter-reset: s; margin-top: .4rem; }
.gd-steps li { position: relative; display: flex; flex-direction: column; align-items: center; gap: .6rem; padding: .8rem .7rem 1rem; border-radius: 14px; background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 4px 14px rgba(14,24,71,.07); text-align: center; }
.gd-steps li:not(:last-child)::after { content: '›'; position: absolute; right: -.85rem; top: 40%; font-size: 1.4rem; color: var(--pg-navy); }
.gd-num { position: absolute; left: .6rem; top: -.75rem; width: 30px; height: 30px; border-radius: 50%; background: var(--pg-blue); color: #fff; font-weight: 800; font-size: .95rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 8px rgba(11,94,215,.35); }
.gd-steps img { width: 100%; aspect-ratio: 139 / 75; object-fit: cover; border-radius: 10px; }
.gd-step-ico { width: 100%; aspect-ratio: 139 / 75; border-radius: 10px; background: linear-gradient(135deg, #eaf2fd, #dbe8fb); color: var(--pg-blue); display: flex; align-items: center; justify-content: center; }
.gd-steps strong { font-size: .92rem; font-weight: 700; color: var(--pg-navy); line-height: 1.3; }
.gd-errors { position: relative; overflow: hidden; padding: 1.3rem 1.5rem; border-radius: 16px; background: #fdeeee; border: 1px solid #f8caca; }
.gd-errors::after { content: '✕'; position: absolute; right: 1.6rem; top: 50%; transform: translateY(-50%); font-size: 7rem; font-weight: 800; color: rgba(220,38,38,.08); line-height: 1; }
.gd-errors h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; font-weight: 800; color: #dc2626; margin-bottom: .6rem; }
.gd-errors ul { margin-left: 2.8rem; display: flex; flex-direction: column; gap: .35rem; }
.gd-errors li { font-size: .95rem; color: #7f1d1d; }
.gd-errors li::marker { color: #dc2626; }
.fx-toc { display: flex; flex-direction: column; gap: .2rem; }
.fx-toc a { padding: .55rem .9rem; border-left: 3px solid transparent; border-radius: 0 10px 10px 0; font-size: .92rem; font-weight: 500; color: #374151; text-decoration: none; }
.fx-toc a:hover { color: var(--pg-blue); }
.fx-toc a.is-active { background: #e3edfb; border-left-color: var(--pg-blue); color: var(--pg-blue); font-weight: 700; }
.gd-related { display: flex; flex-direction: column; }
.gd-related a { display: grid; grid-template-columns: 82px 1fr auto; gap: .8rem; align-items: center; padding: .6rem 0; border-top: 1px solid var(--pg-line); text-decoration: none; color: var(--pg-blue); }
.gd-related a:first-child { border-top: 0; }
.gd-related img { width: 82px; height: 52px; object-fit: cover; border-radius: 8px; }
.gd-related strong { font-size: .88rem; font-weight: 700; color: var(--pg-navy); line-height: 1.3; }
.gd-cta { padding: 1.3rem; border-radius: 16px; background: linear-gradient(135deg, #082a63, #0b3f8f); color: #fff; }
.gd-cta strong { display: flex; align-items: center; gap: .6rem; font-size: 1.2rem; font-weight: 800; line-height: 1.2; }
.gd-cta strong svg { color: #6fc2ff; flex-shrink: 0; }
.gd-cta p { font-size: .9rem; color: rgba(255,255,255,.9); margin: .6rem 0 1rem; }
.gd-cta div { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.gd-cta .pg-btn { height: 42px; padding: 0 .6rem; font-size: .88rem; }
.gd-cta .pg-btn:not(.pg-btn--white) { background: #1a7fe8; }
@media (max-width: 900px) {
    .gd-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
    .gd-steps li::after { display: none; }
}
@media (max-width: 680px) {
    .gd-intro { flex-direction: column; align-items: flex-start; }
    .gd-errors ul { margin-left: 1.2rem; }
}
.fx-hero .pg-hero-media { width: 46%; }
@media (max-width: 680px) {
    .fx-note a.pg-btn, .fx-empty .pg-btn, .fx-guides-banner .pg-btn { white-space: normal; height: auto; min-height: 42px; padding: .55rem 1rem; text-align: center; }
    .fx-note a.pg-btn { width: 100%; }
}

/* ═══════ FICHE DISTRIBUTEUR ═══════ */
.dd-info { min-height: 150px; }
.dd-lines { margin-top: .2rem; }
.dd-lines li:first-child svg { color: #e0316c; }
.dd-lines li:nth-child(2) svg { color: #e0316c; }
.dd-lines li:nth-child(3) svg { color: #e0316c; }
.dd-art { position: absolute; right: 2.4rem; top: 50%; transform: translateY(-50%); width: 180px; height: 120px; display: flex; align-items: center; justify-content: center; color: var(--pg-blue); background: #e7f0fd; border-radius: 48% 52% 45% 55% / 55% 45% 55% 45%; }
.dd-cat { font-size: .82rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pg-blue) !important; margin: .2rem 0 .6rem; }
.dd-brands { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; margin-bottom: .8rem; }
.dd-brands a { display: flex; align-items: center; justify-content: center; height: 62px; padding: .5rem .7rem; border-radius: 10px; background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 3px 10px rgba(14,24,71,.06); text-decoration: none; transition: transform .15s, border-color .15s; }
.dd-brands a:hover { transform: translateY(-2px); border-color: #b9d0f3; }
.dd-brands img { max-height: 40px; max-width: 100%; object-fit: contain; }
.dd-brands span { font-size: .9rem; font-weight: 700; color: var(--pg-navy); text-align: center; }
.dd-others { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.dd-others--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dd-others a { display: flex; align-items: center; gap: .8rem; padding: .7rem .9rem; border-radius: 12px; border: 1px solid var(--pg-line); background: #fff; text-decoration: none; box-shadow: 0 3px 10px rgba(14,24,71,.05); transition: border-color .15s; }
.dd-others a:hover { border-color: #b9d0f3; }
.dd-others a > span:nth-child(2) { flex: 1; min-width: 0; }
.dd-others a > svg { color: var(--pg-blue); flex-shrink: 0; }
.dd-ico { width: 44px; height: 44px; border-radius: 10px; background: #e7f0fd; color: var(--pg-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dd-others strong { display: block; font-size: .95rem; font-weight: 800; color: var(--pg-navy); }
.dd-others small { display: flex; align-items: center; gap: .3rem; font-size: .82rem; color: #4b5563; }
.dd-others small svg { color: #e0316c; }
.dd-h3ico { width: 34px; height: 34px; border-radius: 10px; background: #e7f0fd; display: inline-flex; align-items: center; justify-content: center; }
.dd-h3ico svg { width: 18px !important; height: 18px !important; color: var(--pg-blue) !important; }
.dd-route { background: #dfeafb !important; color: var(--pg-blue) !important; }
.dd-route svg { color: var(--pg-blue) !important; }
.dd-services { list-style: none; display: flex; flex-direction: column; gap: .55rem; }
.dd-services li { display: flex; align-items: center; gap: .6rem; font-size: .92rem; color: var(--pg-navy); }
.dd-services svg { color: var(--pg-green); flex-shrink: 0; }
.dd-advice img { width: 34%; }
@media (max-width: 1100px) { .dd-brands { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 680px) {
    .dd-art { display: none; }
    .dd-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dd-others, .dd-others--2 { grid-template-columns: minmax(0, 1fr); }
}

/* ═══════ FICHE GAMME (peinture) ═══════ */
.pt-pack { position: absolute; z-index: 2; right: 9%; top: 50%; transform: translateY(-50%); max-height: 82%; max-width: 220px; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(0,0,0,.35)); }
.pt-brand { text-decoration: none; background: rgba(254,201,2,.18); border-color: rgba(254,201,2,.65); }
.pt-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.pt-tags span, .pt-tags a { padding: .38rem .95rem; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); font-size: .85rem; font-weight: 600; color: #fff; }
.pt-tags a { text-decoration: none; background: rgba(63,181,255,.22); border-color: rgba(63,181,255,.6); }
.pt-tags a:hover { background: rgba(63,181,255,.38); }
.pt-range { text-decoration: none; margin-left: .35rem; }
.pt-range:hover, .pt-brand:hover { filter: brightness(1.15); }
.pt-ref b a { color: var(--pg-blue); text-decoration: none; }
.pt-ref b a:hover { text-decoration: underline; }
.pt-ref b { text-align: right; }
.pt-why h2 svg, .pt h2 svg { color: var(--pg-blue); }
.pt-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 72%; }
.pt-why-grid div { display: flex; align-items: center; gap: .7rem; padding: .2rem 1rem; border-left: 1px solid var(--pg-line); }
.pt-why-grid div:first-child { border-left: 0; padding-left: 0; }
.pt-why-grid svg { color: var(--pg-blue); flex-shrink: 0; }
.pt-why-grid span { font-size: .88rem; color: #374151; line-height: 1.35; }
.pt-why-grid strong { display: block; color: var(--pg-navy); font-size: .9rem; }
.pt-usage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 150px; gap: .9rem; }
.pt-ok, .pt-ko { border-radius: 12px; padding: 1rem 1.1rem; }
.pt-ok { background: #ecf8ef; border: 1px solid #c9ebd3; }
.pt-ko { background: #fdeeee; border: 1px solid #f8d0d0; }
.pt-ok strong, .pt-ko strong { display: flex; align-items: center; gap: .45rem; font-size: 1rem; margin-bottom: .5rem; }
.pt-ok strong { color: var(--pg-green); }
.pt-ko strong { color: #dc2626; }
.pt-ok ul, .pt-ko ul { list-style: none; display: flex; flex-direction: column; gap: .3rem; }
.pt-ok li { display: flex; align-items: center; gap: .45rem; font-size: .92rem; color: var(--pg-navy); font-weight: 500; }
.pt-ok li svg { color: var(--pg-green); flex-shrink: 0; }
.pt-ko li { font-size: .9rem; color: #7f1d1d; padding-left: .9rem; position: relative; }
.pt-ko li::before { content: ''; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: #dc2626; }
.pt-usage-img { width: 100%; height: 100%; min-height: 110px; object-fit: cover; border-radius: 12px; }
.pt-tabs { position: sticky; top: 72px; z-index: 5; display: flex; gap: .3rem; padding: .35rem; border-radius: 14px; background: #fff; border: 1px solid var(--pg-line); box-shadow: 0 6px 18px rgba(14,24,71,.07); overflow-x: auto; scrollbar-width: none; }
.pt-tabs::-webkit-scrollbar { display: none; }
.pt-tabs a { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1rem; border-radius: 10px; font-size: .9rem; font-weight: 600; color: var(--pg-navy); text-decoration: none; white-space: nowrap; }
.pt-tabs a:hover { background: var(--pg-soft); }
.pt-tabs a.is-active { background: var(--pg-blue); color: #fff; }
#fiche-technique, #performances, #environnement, #infos { scroll-margin-top: 140px; }
.pt-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.pt-specs div { display: flex; gap: .65rem; padding: .8rem .85rem; border-radius: 12px; background: var(--pg-soft); border: 1px solid #edf1f7; }
.pt-specs svg { color: var(--pg-blue); flex-shrink: 0; margin-top: .1rem; }
.pt-specs span { font-size: .85rem; color: #374151; line-height: 1.35; }
.pt-specs strong { display: block; font-size: .86rem; color: var(--pg-navy); }
.pt-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.2rem; }
.pt-two--single { grid-template-columns: minmax(0, 1fr); }
.pt-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.pt-table th, .pt-table td { text-align: left; vertical-align: top; padding: .55rem .2rem; border-top: 1px solid var(--pg-line); }
.pt-table tr:first-child th, .pt-table tr:first-child td { border-top: 0; }
.pt-table th { width: 46%; font-weight: 700; color: var(--pg-navy); padding-right: .8rem; }
.pt-table td { color: #374151; }
.pt-table ul { margin: 0 0 0 1rem; }
.pt-acc { display: flex; flex-direction: column; gap: .7rem; }
.pt-acc details { background: #fff; border-radius: 14px; border: 1px solid var(--pg-line); box-shadow: 0 4px 14px rgba(14,24,71,.05); padding: 0 1.3rem; }
.pt-acc summary { list-style: none; display: flex; align-items: center; gap: .7rem; padding: .95rem 0; font-size: 1.08rem; font-weight: 800; color: var(--pg-navy); cursor: pointer; }
.pt-acc summary::-webkit-details-marker { display: none; }
.pt-acc summary svg { color: var(--pg-blue); }
.pt-acc summary em { font-style: normal; font-weight: 600; color: var(--pg-muted); }
.pt-acc summary::after { content: ''; margin-left: auto; width: 9px; height: 9px; border-right: 2.5px solid var(--pg-navy); border-bottom: 2.5px solid var(--pg-navy); transform: rotate(45deg); transition: transform .2s; }
.pt-acc details[open] summary::after { transform: rotate(-135deg); }
.pt-acc details > *:not(summary) { margin-bottom: 1rem; }
.pt-acc p { font-size: .93rem; line-height: 1.6; color: #374151; }
.pt-acc p a { color: var(--pg-blue); font-weight: 700; }
.pt-tips { margin-left: 1.1rem; display: flex; flex-direction: column; gap: .35rem; font-size: .93rem; color: #374151; }
.pt-sub { font-size: .78rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pg-muted) !important; margin: .4rem 0 .5rem; }
.pt-chip { padding: .4rem .9rem; border-radius: 999px; background: var(--pg-soft); font-size: .85rem; font-weight: 600; color: var(--pg-navy); }
.pt-env { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: .7rem; }
.pt-env > div { display: flex; gap: .6rem; padding: .85rem; border-radius: 12px; border: 1px solid var(--pg-line); background: #fff; font-size: .84rem; color: #374151; line-height: 1.4; }
.pt-env > div > svg { color: var(--pg-green); flex-shrink: 0; }
.pt-env strong { display: block; font-size: .86rem; color: var(--pg-navy); margin-bottom: .15rem; }
.pt-emission { flex-direction: column; }
.pt-scale { display: flex; gap: 3px; margin-top: .3rem; }
.pt-scale span { min-width: 30px; height: 26px; padding: 0 .3rem; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .8rem; color: #fff; opacity: .35; }
.pt-scale .cAp { background: #12963f; } .pt-scale .cA { background: #7cc242; } .pt-scale .cB { background: #f39c12; } .pt-scale .cC { background: #e0313a; }
.pt-scale span.is-on { opacity: 1; transform: scale(1.12); box-shadow: 0 3px 8px rgba(0,0,0,.2); }
.pt-foot { font-size: .76rem !important; color: var(--pg-muted) !important; margin-top: .8rem; }
.pt-legal { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.4rem; border-radius: 16px; background: #fff8ec; border: 1px solid #f7dfb5; }
.pt-legal > svg { color: #e07205; flex-shrink: 0; }
.pt-legal > div > strong { display: block; font-size: 1.08rem; font-weight: 800; color: #c25d00; margin-bottom: .25rem; }
.pt-legal p strong { color: #3f3a32; }
.pt-legal p { font-size: .86rem; line-height: 1.55; color: #3f3a32; }
.pt-legal-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: .45rem; padding: .7rem 1rem; border-radius: 10px; border: 1.5px solid #e07205; color: #c25d00; background: #fff; font-size: .86rem; font-weight: 700; text-decoration: none; max-width: 210px; }
.pt-legal-btn:hover { background: #fff1dd; }
.pt-sum b.yes { background: #e6f6ea; color: var(--pg-green); padding: .1rem .6rem; border-radius: 999px; }
.pt-sum b.no { background: #fdecec; color: #dc2626; padding: .1rem .6rem; border-radius: 999px; }
.pt-outline { background: #fff !important; border: 1.5px solid var(--pg-line); }
.pt-sim { font-size: .9rem; }
.pt-sim .fx-swatch { width: 34px; height: 30px; }
@media (max-width: 1100px) { .pt-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pt-env { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
    .pt-pack { display: none; }
    .pt-why-grid { grid-template-columns: minmax(0, 1fr); max-width: 100%; gap: .6rem; }
    .pt-why-grid div { border-left: 0; padding-left: 0; }
    .pt-usage, .pt-two, .pt-env { grid-template-columns: minmax(0, 1fr); }
    .pt-usage-img { display: none; }
    .pt-specs { grid-template-columns: minmax(0, 1fr); }
    .pt-legal { flex-direction: column; align-items: flex-start; }
    .pt-legal-btn { max-width: none; }
    .pt-tabs { top: 60px; }
}

/* Fiche gamme : présentation rédigée + FAQ */
.pt-pres p { font-size: 1rem; line-height: 1.75; color: #1f2937; margin-top: .7rem; max-width: 72ch; }
.pt-pres p:first-of-type { margin-top: 0; }
.pt-faq details { border-top: 1px solid var(--pg-line); }
.pt-faq details:first-of-type { border-top: 0; }
.pt-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; font-size: 1rem; font-weight: 700; color: var(--pg-navy); cursor: pointer; }
.pt-faq summary::-webkit-details-marker { display: none; }
.pt-faq summary::after { content: '+'; font-size: 1.3rem; font-weight: 600; color: var(--pg-blue); flex-shrink: 0; }
.pt-faq details[open] summary::after { content: '–'; }
.pt-faq p { font-size: .95rem; line-height: 1.65; color: #374151; padding-bottom: .9rem; max-width: 72ch; }
.pt-pres, .pt { --acc: var(--pg-blue); }

/* ═══════ Résultats par zone (région, département, ville) ═══════ */
.zr { scroll-margin-top: 100px; }
.zr-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.zr-head .dz-title { margin-bottom: .3rem; }
.zr-sub { margin: 0; color: var(--pg-muted); font-size: .92rem; }
.zr-sub strong { color: var(--pg-navy); }
.zr-empty { background: #fff; border: 1px dashed var(--pg-line); border-radius: 12px; padding: 1.4rem; color: var(--pg-muted); }
.zr-filter { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.2rem; }
.zr-chip {
    display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border-radius: 999px; border: 1px solid var(--pg-line);
    background: #fff; font: inherit; font-size: .85rem; font-weight: 600; color: var(--pg-navy); cursor: pointer;
}
.zr-chip em { font-style: normal; font-size: .75rem; color: var(--pg-blue); background: #eef3fb; padding: .05rem .45rem; border-radius: 999px; }
.zr-chip:hover { border-color: var(--pg-blue); }
.zr-chip.is-active { background: var(--pg-blue); border-color: var(--pg-blue); color: #fff; }
.zr-chip.is-active em { background: rgba(255,255,255,.2); color: #fff; }
.zr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.zr-card {
    display: flex; flex-direction: column; gap: .55rem; padding: 1.1rem 1.15rem 1rem; background: #fff;
    border: 1px solid var(--pg-line); border-radius: 14px; box-shadow: 0 6px 18px rgba(14,24,71,.06);
    transition: transform .15s, box-shadow .15s;
}
.zr-card[hidden] { display: none; }
.zr-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(14,24,71,.11); }
.zr-card-top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 40px; }
.zr-ico { width: 40px; height: 40px; border-radius: 10px; background: #eef3fb; color: var(--pg-blue); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.zr-brands { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.zr-brands img { height: 26px; width: auto; max-width: 84px; object-fit: contain; }
.zr-brands span { font-size: .72rem; font-weight: 700; color: var(--pg-navy); background: var(--pg-soft); padding: .2rem .5rem; border-radius: 6px; }
.zr-card h3 { margin: 0; font-size: 1.02rem; line-height: 1.3; }
.zr-card h3 a { color: var(--pg-navy); text-decoration: none; }
.zr-card h3 a:hover { color: var(--pg-blue); }
.zr-loc { display: flex; gap: .4rem; margin: 0; font-size: .85rem; color: var(--pg-muted); line-height: 1.45; }
.zr-loc svg { flex-shrink: 0; margin-top: .15rem; color: var(--pg-blue); }
.zr-card-foot { margin-top: auto; padding-top: .7rem; border-top: 1px solid var(--pg-line); display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.zr-city-link { font-size: .8rem; font-weight: 600; color: var(--pg-blue); text-decoration: none; }
.zr-city-link:hover { text-decoration: underline; }
.zr-more { width: 34px; height: 34px; border-radius: 50%; background: var(--pg-blue); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.zr-more:hover { background: var(--pg-blue-dark); }
@media (max-width: 1000px) { .zr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .zr-grid { grid-template-columns: minmax(0, 1fr); } .zr-filter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; } .zr-chip { white-space: nowrap; } }
.dz-btypes { display: flex; flex-wrap: wrap; gap: .45rem; margin: -.2rem 0 1.1rem; }
.dz-btypes .zr-chip svg { color: var(--pg-blue); }
.dz-btypes .zr-chip.is-active svg { color: #fff; }
.dz-brand[hidden] { display: none !important; }
.dz-bmore-wrap { text-align: center; margin: 1.1rem 0 0; }
@media (max-width: 640px) { .dz-btypes { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; } .dz-btypes .zr-chip { white-space: nowrap; } }

/* ═══════ PAGES VILLE : professionnels (vert) et distributeurs (bleu) ═══════ */
.lv { --lv: var(--pg-blue); --lv-dark: var(--pg-blue-dark); --lv-soft: #eaf2fd; }
.lv--green { --lv: var(--pg-green); --lv-dark: var(--pg-green-dark); --lv-soft: #e6f6ea; }
.lv-kicker {
    display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .85rem; border-radius: 999px; margin-bottom: .75rem;
    background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.lv-kicker svg { width: 15px; height: 15px; }
.lv-hero-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.1rem; }
.lv-hero-chips a {
    padding: .32rem .85rem; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: .82rem; font-weight: 700; text-decoration: none;
}
.lv-hero-chips a:hover { background: rgba(255,255,255,.26); }
.lv-tabs { display: flex; flex-wrap: wrap; gap: .55rem; margin: -1.6rem 0 1.6rem; position: relative; z-index: 3; }
.lv-tabs a {
    display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1.15rem; border-radius: 12px; background: #fff;
    border: 1px solid var(--pg-line); box-shadow: 0 6px 18px rgba(14,24,71,.08); color: var(--pg-navy); font-size: .9rem; font-weight: 700; text-decoration: none;
}
.lv-tabs a svg { width: 20px; height: 20px; color: var(--lv); }
.lv-tabs a:hover { border-color: var(--lv); color: var(--lv); }
.lv-tabs a.is-active { background: var(--lv); border-color: var(--lv); color: #fff; }
.lv-tabs a.is-active svg { color: #fff; }
.lv-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.6rem; align-items: start; }
.lv-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.lv-head h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; font-weight: 800; color: var(--pg-navy); margin: 0; }
.lv-count { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 .55rem; border-radius: 999px; background: var(--lv-soft); color: var(--lv); font-size: .9rem; font-weight: 800; }
.lv-sort { display: flex; align-items: center; gap: .5rem; font-size: .86rem; color: var(--pg-muted); }
.lv-list { display: flex; flex-direction: column; gap: .9rem; }
.lv-card {
    position: relative; display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: center; gap: 1.2rem;
    padding: .8rem 1.2rem .8rem .8rem; background: #fff; border: 1px solid var(--pg-line); border-radius: 16px;
    box-shadow: 0 6px 18px rgba(14,24,71,.06); transition: transform .15s, box-shadow .15s;
}
.lv-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(14,24,71,.12); }
.lv-card-img { display: block; aspect-ratio: 16 / 10; border-radius: 11px; overflow: hidden; background: var(--pg-soft); }
.lv-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lv-card-body { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.lv-card h3 { margin: 0; font-size: 1.12rem; font-weight: 800; line-height: 1.25; }
.lv-card h3 a { color: var(--pg-navy); text-decoration: none; }
.lv-card h3 a::after { content: ''; position: absolute; inset: 0; border-radius: 16px; }
.lv-card h3 a:hover { color: var(--lv); }
.lv-line { display: flex; align-items: center; gap: .45rem; font-size: .88rem; color: #374151; margin: 0; }
.lv-line svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--lv); }
.lv-line a { position: relative; z-index: 1; color: inherit; text-decoration: none; }
.lv-line a:hover { color: var(--lv); text-decoration: underline; }
.lv-pills { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .15rem; }
.lv-pill { font-size: .78rem; font-weight: 700; color: var(--lv); background: var(--lv-soft); padding: .22rem .7rem; border-radius: 999px; }
.lv-star { font-size: .72rem; font-weight: 800; color: #854d0e; background: #fef3c7; padding: .2rem .6rem; border-radius: 999px; white-space: nowrap; }
.lv-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .45rem; position: relative; z-index: 1; }
.lv-btn {
    display: inline-flex; align-items: center; gap: .45rem; height: 38px; padding: 0 1rem; border-radius: 10px; font-size: .86rem; font-weight: 700;
    text-decoration: none; background: var(--lv); color: #fff; border: 1.5px solid var(--lv);
}
.lv-btn:hover { background: var(--lv-dark); border-color: var(--lv-dark); }
.lv-btn--line { background: #fff; color: var(--pg-green); border-color: #bfe6cb; }
.lv-btn--line:hover { background: #e6f6ea; border-color: var(--pg-green); color: var(--pg-green); }
.lv-btn svg { width: 16px; height: 16px; }
.lv-card .pg-go { color: var(--lv); }
.lv-card:hover .pg-go { background: var(--lv); border-color: var(--lv); color: #fff; }
.lv-side { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 90px; }
.lv-box { background: #fff; border: 1px solid var(--pg-line); border-radius: 16px; box-shadow: 0 6px 18px rgba(14,24,71,.06); padding: 1.3rem; }
.lv-box h2, .lv-box h3 { font-size: 1.02rem; font-weight: 800; color: var(--pg-navy); margin: 0 0 .85rem; line-height: 1.3; }
.lv-box-ico { width: 46px; height: 46px; border-radius: 12px; background: var(--lv-soft); color: var(--lv); display: flex; align-items: center; justify-content: center; margin-bottom: .8rem; }
.lv-checks { list-style: none; display: flex; flex-direction: column; gap: .65rem; margin: 0; padding: 0; }
.lv-checks li { display: flex; gap: .6rem; font-size: .9rem; color: #374151; line-height: 1.4; }
.lv-checks svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--lv); background: var(--lv-soft); border-radius: 50%; padding: 3px; }
.lv-box--green { background: linear-gradient(135deg, #0b6d2c 0%, #15a845 100%); border: 0; color: #fff; }
.lv-box--green h3 { color: #fff; }
.lv-box--green p { font-size: .88rem; color: rgba(255,255,255,.88); line-height: 1.5; margin: 0 0 1rem; }
.lv-box--green .lv-btn { width: 100%; justify-content: center; background: #fff; color: var(--pg-green); border-color: #fff; }
.lv-box--green .lv-btn:hover { background: #eefbf1; }
.lv-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.lv-chips a {
    padding: .38rem .85rem; border-radius: 999px; background: #fff; border: 1px solid var(--pg-line); color: var(--pg-text);
    font-size: .85rem; font-weight: 600; text-decoration: none;
}
.lv-chips a:hover { border-color: var(--lv); color: var(--lv); }
.lv-chips a.is-active { background: var(--lv); border-color: var(--lv); color: #fff; }
.lv-chips--soft a { background: var(--lv-soft); border-color: transparent; color: var(--lv); }
.lv-section { margin-top: 2rem; background: #fff; border: 1px solid var(--pg-line); border-radius: 16px; padding: 1.5rem; box-shadow: 0 6px 18px rgba(14,24,71,.05); }
.lv-section > h2 { font-size: 1.2rem; font-weight: 800; color: var(--pg-navy); margin: 0 0 1rem; }
.lv-seo { margin-top: 2rem; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; align-items: center;
    background: #fff; border: 1px solid var(--pg-line); border-radius: 16px; padding: 1.7rem; box-shadow: 0 6px 18px rgba(14,24,71,.05); }
.lv-seo h2 { font-size: 1.25rem; font-weight: 800; color: var(--pg-navy); margin: 0 0 .7rem; }
.lv-seo p { font-size: .92rem; color: #4b5563; line-height: 1.75; margin: 0 0 .6rem; }
.lv-seo-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: .3rem; font-size: .9rem; font-weight: 700; color: var(--lv); text-decoration: none; }
.lv-seo-link:hover { text-decoration: underline; }
.lv-seo-link svg { width: 16px; height: 16px; transform: rotate(180deg); }
.lv-feats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.lv-feats li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .6rem; font-size: .88rem; font-weight: 700; color: var(--pg-navy); line-height: 1.35; }
.lv-feats span { width: 62px; height: 62px; border-radius: 50%; background: var(--lv-soft); color: var(--lv); display: flex; align-items: center; justify-content: center; }
.lv-feats svg { width: 30px; height: 30px; }
.lv .pg-notice { margin-top: 0; }
.lv .pg-notice a { color: var(--lv); }
@media (max-width: 1000px) {
    .lv-layout { grid-template-columns: minmax(0, 1fr); }
    .lv-side { position: static; }
    .lv-seo { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
    .lv-tabs { flex-wrap: nowrap; overflow-x: auto; margin: -1.4rem -1rem 1.3rem; padding: 0 1rem .4rem; }
    .lv-tabs a { white-space: nowrap; padding: .55rem .9rem; font-size: .84rem; }
    .lv-card { grid-template-columns: 96px minmax(0, 1fr); gap: .8rem; padding: .7rem; align-items: start; }
    .lv-card-img { aspect-ratio: 1 / 1; }
    .lv-card > .pg-go { display: none; }
    .lv-card h3 { font-size: 1rem; }
    .lv-actions .lv-btn { height: 34px; padding: 0 .8rem; font-size: .8rem; }
    .lv-feats { grid-template-columns: minmax(0, 1fr); }
    .lv-feats li { flex-direction: row; text-align: left; }
    .lv-feats span { width: 48px; height: 48px; flex-shrink: 0; }
    .lv-seo { padding: 1.2rem; }
    .lv-head h2 { font-size: 1.1rem; }
}
@media (max-width: 680px) { .lv .pg-crumbs { flex-wrap: wrap; row-gap: .2rem; } .lv .pg-crumbs a, .lv .pg-crumbs span { white-space: nowrap; } }

/* ═══════ ACADEMY : pages Produits et Problèmes ═══════ */
.ac-hero { --hero-a: #a12fd0; --hero-b: #7d2ae0; --ac-pill: #e05ad8; }
.ac-hero--pink { --hero-a: #6e0f4c; --hero-b: #df1a7c; --ac-pill: #ff2d78; }
.ac-hero .pg-hero-inner { padding-bottom: 2.4rem; }
.ac-hero-media { position: absolute; top: 0; right: 0; bottom: 0; width: 46%; }
.ac-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: right center; display: block;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32%); mask-image: linear-gradient(90deg, transparent 0, #000 32%); }
.ac-pill {
    display: inline-flex; align-items: center; gap: .5rem; padding: .4rem 1rem; border-radius: 999px; margin-bottom: .7rem;
    background: var(--ac-pill); color: #fff; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
    box-shadow: 0 6px 16px rgba(0,0,0,.15);
}
.ac-pill svg { width: 18px; height: 18px; }
.ac-hero .pg-hero-content { max-width: 720px; }
.ac-hero h1 { margin-bottom: .5rem; }
.ac-hero .pg-hero-lead { max-width: 600px; }
.ac-hero--pink .pg-hero-title::before { background: #ff2d78; width: 7px; transform: skewX(-18deg); left: -.3rem; }

/* Cartes guides (produits) */
.ac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.ac-card {
    --c: #8b2be2; position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 8px 24px rgba(14,24,71,.09); text-decoration: none; transition: transform .15s, box-shadow .15s;
}
.ac-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #e0249a, #8b2be2); z-index: 2; }
.ac-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(14,24,71,.14); }
.ac-card-img { position: relative; display: block; height: 140px; background: var(--pg-soft); }
.ac-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ac-card-ico {
    position: absolute; left: 1.4rem; bottom: -22px; width: 58px; height: 58px; border-radius: 12px; background: #fff; color: var(--c);
    display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(14,24,71,.14); z-index: 1;
}
.ac-card-ico svg { width: 30px; height: 30px; }
.ac-card-body { display: flex; flex-direction: column; gap: .45rem; padding: 2rem 1.4rem 1.2rem; flex: 1; }
.ac-card-body strong { font-size: 1.2rem; font-weight: 800; color: var(--pg-navy); line-height: 1.25; }
.ac-card-body p { font-size: .93rem; line-height: 1.5; color: #4b5563; margin: 0; }
.ac-card-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: .5rem; }
.ac-card-foot b { font-size: .95rem; font-weight: 800; color: var(--c); }
.ac-card .pg-go { background: color-mix(in srgb, var(--c) 12%, #fff); border: 0; box-shadow: none; color: var(--c); }
.ac-card:hover .pg-go { background: var(--c); color: #fff; }
.ac-back { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.6rem; font-size: .95rem; font-weight: 700; color: var(--pg-blue); text-decoration: none; }
.ac-back:hover { text-decoration: underline; }
.ac-back svg { width: 16px; height: 16px; transform: rotate(180deg); }

/* Tuiles catégories (problèmes) */
.ac-pbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.4rem; }
.ac-pb {
    position: relative; grid-column: span 2; display: flex; flex-direction: column; justify-content: center; gap: .35rem; min-height: 158px;
    padding: 1.1rem 1.4rem 1.1rem 1.8rem; background: #fff; border-radius: 16px; overflow: hidden; text-decoration: none;
    box-shadow: 0 8px 24px rgba(14,24,71,.09); transition: transform .15s, box-shadow .15s;
}
.ac-pb--wide { grid-column: span 3; }
.ac-pb::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c); z-index: 2; }
a.ac-pb:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(14,24,71,.14); }
.ac-pb-img { position: absolute; top: 0; right: 0; bottom: 0; width: 46%; }
.ac-pb--wide .ac-pb-img { width: 40%; }
.ac-pb-img img { width: 100%; height: 100%; object-fit: cover; display: block;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%); mask-image: linear-gradient(90deg, transparent 0, #000 40%); }
.ac-pb > svg, .ac-pb strong, .ac-pb p, .ac-pb em { position: relative; z-index: 1; }
.ac-pb > svg { width: 34px; height: 34px; color: var(--c); }
.ac-pb strong { font-size: 1.35rem; font-weight: 800; color: var(--pg-navy); line-height: 1.2; letter-spacing: -.01em; }
.ac-pb p { font-size: .95rem; line-height: 1.45; color: #4b5563; margin: 0; max-width: 62%; }
.ac-pb em { font-style: normal; font-size: .8rem; font-weight: 700; color: var(--c); }
.ac-pb .pg-go { position: absolute; right: 1.2rem; bottom: 1.1rem; z-index: 1; width: 42px; height: 42px; color: var(--c); }
.ac-pb .pg-go svg { width: 18px; height: 18px; }
a.ac-pb:hover .pg-go { background: var(--c); border-color: var(--c); color: #fff; }
.ac-pb-section { margin-top: 2.4rem; scroll-margin-top: 90px; }
.ac-pb-section .pg-ac-head h2 { white-space: normal; }

/* Bandeau CTA */
.ac-cta {
    position: relative; display: flex; align-items: center; gap: 1.3rem; margin-top: 2rem; padding: 1.3rem 2rem 1.3rem 4.2rem;
    border-radius: 16px; background: linear-gradient(90deg, #2c1560 0%, #5a2a8c 100%); color: #fff; overflow: hidden;
}
.ac-cta--navy { background: linear-gradient(90deg, #16193f 0%, #3a2c6b 100%); overflow: visible; padding-right: 22rem; }
.ac-cta::before { content: ''; position: absolute; left: 1.2rem; top: -10px; bottom: -10px; width: 22px; border-radius: 12px;
    background: linear-gradient(180deg, #ff2d78, #8b2be2); transform: skewX(-22deg); }
.ac-cta--navy::before { top: 0; bottom: 0; background: #ff2d78; }
.ac-cta-ico { width: 52px; height: 52px; flex-shrink: 0; }
.ac-cta-text { flex: 1; min-width: 0; }
.ac-cta-text strong { display: block; font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.ac-cta-text span { font-size: .98rem; color: rgba(255,255,255,.88); }
.ac-cta-actions { display: flex; gap: .8rem; flex-wrap: wrap; position: relative; z-index: 1; }
.ac-cta .pg-btn { height: 48px; padding: 0 1.4rem; border-radius: 12px; font-weight: 800; }
.ac-cta .pg-btn svg { width: 20px; height: 20px; }
.ac-btn-white { background: #fff !important; color: var(--pg-navy) !important; }
.ac-btn-white:hover { background: #f1ecfb !important; }
.ac-btn-pink { background: #ff2d78 !important; color: #fff !important; }
.ac-btn-pink:hover { background: #e11d68 !important; }
.ac-cta-img { position: absolute; right: 0; bottom: 0; height: calc(100% + 28px); width: auto; border-radius: 0 16px 16px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28%); mask-image: linear-gradient(90deg, transparent 0, #000 28%); }

@media (max-width: 1100px) {
    .ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ac-pbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ac-pb, .ac-pb--wide { grid-column: span 1; }
    .ac-pb:last-child:nth-child(odd) { grid-column: span 2; }
    .ac-cta, .ac-cta--navy { flex-wrap: wrap; padding-right: 2rem; }
    .ac-cta-img { display: none; }
}
@media (max-width: 960px) { .ac-hero-media { width: 100%; opacity: .3; } }
@media (max-width: 680px) {
    .ac-grid, .ac-pbs { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .ac-pb:last-child:nth-child(odd) { grid-column: span 1; }
    .ac-pb { min-height: 132px; padding: 1rem 1rem 1rem 1.4rem; }
    .ac-pb strong { font-size: 1.15rem; }
    .ac-pb p { font-size: .88rem; max-width: 70%; }
    .ac-pb .pg-go { width: 36px; height: 36px; right: .8rem; bottom: .8rem; }
    .ac-cta { padding: 1.2rem 1.2rem 1.2rem 3rem; }
    .ac-cta::before { left: .8rem; width: 14px; }
    .ac-cta-ico { display: none; }
    .ac-cta-text strong { font-size: 1.15rem; }
    .ac-cta-actions, .ac-cta .pg-btn { width: 100%; }
    .ac-cta .pg-btn { justify-content: center; }
}
@media (min-width: 961px) { .ac-hero--pink .pg-hero-content { max-width: 900px; } .ac-hero--pink .pg-hero-lead { max-width: 640px; } }
@media (max-width: 680px) { .ac-hero--pink .pg-hero-title { padding-left: 0; } .ac-hero--pink .pg-hero-title::before { display: none; } }
.zr-chip[hidden] { display: none; }

/* ═══════ ARTICLES ACADEMY RÉDIGÉS ═══════ */
.gd-article { --acc: var(--pg-blue); }
.gd-article p { margin: 0 0 .8rem; }
.gd-article p:last-child { margin-bottom: 0; }
.gd-article h3 { font-size: 1.05rem; font-weight: 800; color: var(--pg-navy); margin: 1.1rem 0 .5rem; }
.gd-article ul, .gd-article ol { margin: 0 0 .9rem 1.3rem; display: flex; flex-direction: column; gap: .4rem; }
.gd-article li { font-size: .95rem; line-height: 1.6; color: #374151; }
.gd-article li::marker { color: var(--acc, var(--pg-blue)); font-weight: 700; }
.gd-article a { color: var(--pg-blue); font-weight: 600; }
.gd-article strong { color: var(--pg-navy); }
.gd-article table { width: 100%; border-collapse: collapse; margin: .4rem 0 1rem; font-size: .9rem; }
.gd-article th, .gd-article td { text-align: left; vertical-align: top; padding: .6rem .7rem; border-bottom: 1px solid var(--pg-line); line-height: 1.5; color: #374151; }
.gd-article th { background: #f3f6fb; color: var(--pg-navy); font-weight: 800; }
.gd-table { overflow-x: auto; }
.gd-note { margin: .8rem 0; padding: .85rem 1rem; border-radius: 12px; background: #fff8e6; border: 1px solid #f6dfa0; font-size: .92rem; line-height: 1.55; color: #6b4e00; }
.gd-note strong { color: #6b4e00; }
.gd-sources { padding: 1.1rem 1.4rem; border-radius: 16px; background: #f6f8fc; border: 1px solid var(--pg-line); }
.gd-sources h2 { font-size: 1rem; font-weight: 800; color: var(--pg-navy); margin-bottom: .6rem; }
.gd-sources ul { margin-left: 1.2rem; display: flex; flex-direction: column; gap: .3rem; }
.gd-sources li { font-size: .86rem; color: #4b5563; }
.gd-sources a { color: var(--pg-blue); }
.gd-sources p { font-size: .8rem; color: var(--pg-muted); margin-top: .7rem; }
.gd-intro > div p { margin: 0; }
.gd-disclaimer { font-size: .82rem; color: var(--pg-muted); line-height: 1.5; margin: 0; }

/* ═══════ ACADEMY : page unique avec filtres ═══════ */
.acf { position: relative; z-index: 3; margin-top: -2.2rem; background: #fff; border: 1px solid var(--pg-line); border-radius: 18px; box-shadow: 0 12px 30px rgba(14,24,71,.1); padding: .9rem; display: flex; flex-direction: column; gap: .8rem; }
.acf-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.acf-cat { --c: var(--pg-blue); display: inline-flex; align-items: center; gap: .55rem; flex: 1 1 0; min-width: 200px; justify-content: center; padding: .7rem 1rem; border-radius: 12px; border: 1.5px solid var(--pg-line); background: #f7f9fd; color: var(--pg-navy); font: inherit; font-size: .92rem; font-weight: 700; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.acf-cat svg { color: var(--c); flex-shrink: 0; }
.acf-cat em { font-style: normal; font-size: .75rem; font-weight: 800; padding: .1rem .5rem; border-radius: 999px; background: #fff; color: var(--c); border: 1px solid var(--pg-line); }
.acf-cat:hover { border-color: var(--c); }
.acf-cat.is-active { background: var(--c); border-color: var(--c); color: #fff; }
.acf-cat.is-active svg { color: #fff; }
.acf-cat.is-active em { background: rgba(255,255,255,.2); border-color: transparent; color: #fff; }
.acf-row--sub { align-items: center; justify-content: space-between; border-top: 1px solid var(--pg-line); padding-top: .8rem; }
.acf-sups { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.acf-label { font-size: .85rem; font-weight: 700; color: var(--pg-muted); margin-right: .2rem; }
.acf-sup { padding: .38rem .9rem; border-radius: 999px; border: 1px solid var(--pg-line); background: #fff; color: var(--pg-text); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.acf-sup:hover { border-color: var(--pg-blue); color: var(--pg-blue); }
.acf-sup.is-active { background: var(--pg-navy); border-color: var(--pg-navy); color: #fff; }
.acf-search { display: flex; align-items: center; gap: .5rem; min-width: 260px; padding: 0 .85rem; height: 42px; border-radius: 12px; border: 1px solid var(--pg-line); background: #fff; color: var(--pg-muted); }
.acf-search input { border: 0; outline: 0; flex: 1; font: inherit; font-size: .9rem; color: var(--pg-text); background: transparent; min-width: 0; }
.acf-search:focus-within { border-color: var(--pg-blue); box-shadow: 0 0 0 3px rgba(11,94,215,.12); }
.acf-count { margin: 1.4rem 0 .8rem; font-size: .95rem; color: var(--pg-muted); }
.acf-count strong { color: var(--pg-navy); font-size: 1.05rem; }
.acf-grid .pg-guide[hidden] { display: none; }
.acf-tag { display: inline-flex; align-items: center; gap: .3rem; align-self: flex-start; font-size: .72rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: var(--c); background: color-mix(in srgb, var(--c) 10%, #fff); padding: .2rem .55rem; border-radius: 999px; }
.acf-empty { margin-top: 1rem; padding: 1.2rem; border-radius: 14px; background: #fff; border: 1px dashed var(--pg-line); text-align: center; color: var(--pg-muted); }
.acf-empty button { border: 0; background: none; color: var(--pg-blue); font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; }
.acf ~ .pg-cta, .acf-empty + .pg-cta { margin-top: 2.4rem; }
@media (max-width: 760px) {
    .acf-cat { min-width: calc(50% - .3rem); flex: 1 1 calc(50% - .3rem); padding: .6rem .7rem; font-size: .84rem; }
    .acf-cat span { text-align: left; }
    .acf-search { min-width: 0; width: 100%; }
    .acf-row--sub { flex-direction: column; align-items: stretch; }
}
