/* =====================================================================
   GK GENERAL SHOP — gks-pages.css
   Les compositions propres aux pages de vitrine : hero, façons de
   commander, cartes partenaires, étapes, charte, bande groupe, appel à
   l'action, page partenaire, « comment ça marche », demande de devis,
   contact, pages légales, remerciement.

   Chargé après gks.css (dont il consomme les jetons).
   ===================================================================== */

/* ═══════════════════ BANDEAU DE DÉMONSTRATION ═════════════════════ */
.gk-demobanner {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    background: var(--gk-ink);
    color: #F2F3F6;
    font-size: .78rem; font-weight: 600; letter-spacing: .01em;
    padding: 9px 18px; text-align: center; line-height: 1.4;
}
.gk-demobanner__dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--gk-green); flex: none;
}

/* ═════════════════════════════ HERO ══════════════════════════════ */
.gk-hero {
    position: relative;
    background: var(--gk-indigo-deep);
    color: #fff;
    overflow: hidden;
    isolation: isolate;
}
/* Trame « plan d'atelier » : deux filets blancs à 4 % — lisible, jamais
   criard, et aucun dégradé décoratif. */
.gk-hero__grid {
    position: absolute; inset: 0; z-index: -1;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 68px 68px;
    mask-image: radial-gradient(120% 90% at 22% 12%, #000 25%, transparent 78%);
    -webkit-mask-image: radial-gradient(120% 90% at 22% 12%, #000 25%, transparent 78%);
}

/* Fond du hero : la vidéo (ou la surface de marque) occupe toute la
   section ; le voile indigo garantit le contraste du texte quel que
   soit le visuel déposé. */
.gk-hero__bg { position: absolute; inset: 0; z-index: -2; }
.gk-hero__media { border-radius: 0; }
.gk-hero__bg::after {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(100deg,
        rgba(30, 30, 82, .96) 0%,
        rgba(30, 30, 82, .90) 42%,
        rgba(30, 30, 82, .66) 78%,
        rgba(30, 30, 82, .58) 100%);
}
@media (max-width: 1080px) {
    .gk-hero__bg::after {
        background: linear-gradient(180deg, rgba(30, 30, 82, .95) 0%, rgba(30, 30, 82, .88) 100%);
    }
}

.gk-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
    gap: 56px;
    align-items: center;
    padding: 96px 0 104px;
}
.gk-hero__title { color: #fff; margin: 0 0 22px; text-wrap: balance; }
.gk-hero__lead  { margin: 0 0 32px; max-width: 54ch; }
.gk-hero__btns  { margin-bottom: 8px; }

@media (max-width: 1080px) {
    .gk-hero__inner { grid-template-columns: 1fr; gap: 52px; padding: 72px 0 80px; }
    .gk-hero__art { max-width: 520px; }
}
@media (max-width: 600px) {
    .gk-hero__inner { padding: 52px 0 64px; gap: 40px; }
    .gk-hero__btns .gk-btn { width: 100%; }
}

/* ── Feuille de devis (composition du hero) ── */
.gk-hero__art { position: relative; }

.gk-sheet {
    background: #fff;
    border-radius: var(--gk-radius);
    box-shadow: 0 30px 70px rgba(10, 12, 30, .38);
    padding: 26px 28px 22px;
    transform: rotate(-1.1deg);
    color: var(--gk-ink);
}
.gk-sheet__head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 14px;
    padding-bottom: 14px; margin-bottom: 4px;
    border-bottom: 2px solid var(--gk-indigo);
}
.gk-sheet__label {
    font-family: var(--gk-font-title);
    font-size: .94rem; font-weight: 800; letter-spacing: -.01em;
    color: var(--gk-indigo);
}
.gk-sheet__ref { font-size: .72rem; color: var(--gk-slate); }

.gk-sheet__lines { list-style: none; margin: 0; padding: 0; }
.gk-sheet__lines li {
    display: flex; align-items: baseline; gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid var(--gk-line);
    font-size: .855rem;
}
.gk-sheet__lines span { flex: none; color: var(--gk-ink); }
.gk-sheet__lines i {
    flex: 1 1 auto; height: 0;
    border-bottom: 1px dotted var(--gk-line-strong);
    transform: translateY(-3px);
}
.gk-sheet__lines em {
    flex: none; font-style: normal;
    font-size: .74rem; font-weight: 600;
    color: var(--gk-slate);
}

.gk-sheet__total {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px;
    margin-top: 14px; padding: 14px 16px;
    background: var(--gk-indigo-soft);
    border-radius: var(--gk-radius-sm);
    font-family: var(--gk-font-title);
    font-size: .95rem; font-weight: 800;
    color: var(--gk-indigo);
}
.gk-sheet__badge {
    font-family: var(--gk-font-body);
    font-size: .72rem; font-weight: 700;
    padding: 5px 11px; border-radius: 999px;
    background: var(--gk-green); color: #fff;
    white-space: nowrap;
}
.gk-sheet__foot {
    margin: 14px 0 0;
    font-size: .755rem; line-height: 1.5;
    color: var(--gk-slate);
}

/* ── Rail logistique ── */
.gk-rail {
    display: flex; align-items: center; justify-content: space-between;
    gap: 6px;
    margin: 22px 14px 0;
    padding: 16px 18px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--gk-radius-sm);
    position: relative;
}
.gk-rail::before {
    content: ''; position: absolute;
    left: 30px; right: 30px; top: 50%;
    height: 1px; background: rgba(255, 255, 255, .18);
}
.gk-rail__step {
    position: relative; z-index: 1;
    display: flex; flex-direction: column; align-items: center; gap: 7px;
    font-size: .72rem; font-weight: 600; letter-spacing: .02em;
    color: rgba(255, 255, 255, .62);
    background: var(--gk-indigo-deep);
    padding: 0 6px;
}
.gk-rail__step i {
    width: 9px; height: 9px; border-radius: 50%;
    border: 1.6px solid rgba(255, 255, 255, .45);
    background: var(--gk-indigo-deep);
}
.gk-rail__step.is-done i { background: rgba(255, 255, 255, .55); border-color: rgba(255,255,255,.55); }
.gk-rail__step.is-end   { color: #fff; }
.gk-rail__step.is-end i { background: var(--gk-green); border-color: var(--gk-green); }

@media (max-width: 480px) {
    .gk-sheet { padding: 20px 18px 18px; transform: none; }
    .gk-rail { margin: 18px 0 0; padding: 14px 10px; }
    .gk-rail__step { font-size: .66rem; }
}

/* ══════════════ TROIS FAÇONS DE COMMANDER ════════════════════════ */
.gk-ways {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--gk-line);
    border-radius: var(--gk-radius);
    overflow: hidden;
    background: #fff;
}
.gk-way {
    padding: 34px 30px 30px;
    border-left: 1px solid var(--gk-line);
    position: relative;
    display: flex; flex-direction: column;
}
.gk-way:first-child { border-left: 0; }
/* Le filet de tête donne à chaque parcours son identité — pas une icône
   générique répétée trois fois. */
.gk-way::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
}
.gk-way--devis::before       { background: var(--gk-green); }
.gk-way--precommande::before { background: var(--gk-indigo); }
.gk-way--express::before     { background: #C7A15A; }

/* Visuel d'ambiance du parcours : il coiffe la colonne, le glyphe vient
   se poser à cheval sur son bord inférieur. */
.gk-way__media { border-radius: var(--gk-radius-sm); }
.gk-way > .gks-media { margin-bottom: -22px; }

.gk-way__glyph {
    position: relative;
    display: inline-grid; place-items: center;
    width: 44px; height: 44px; margin-bottom: 20px;
    border-radius: 11px;
    border: 1px solid var(--gk-line);
    background: var(--gk-soft);
    color: var(--gk-indigo);
    box-shadow: 0 2px 10px rgba(20, 24, 40, .10);
}
.gk-way--devis .gk-way__glyph       { color: var(--gk-green-deep); background: var(--gk-green-soft); border-color: transparent; }
.gk-way--precommande .gk-way__glyph { color: var(--gk-indigo); background: var(--gk-indigo-soft); border-color: transparent; }
.gk-way--express .gk-way__glyph     { color: #8A6A2E; background: var(--gk-sand); border-color: transparent; }
.gk-way__glyph svg { width: 22px; height: 22px; }

.gk-way h3 { margin-bottom: 7px; }
.gk-way__promise {
    font-size: .86rem; font-weight: 600;
    color: var(--gk-green-deep);
    margin: 0 0 14px;
}
.gk-way--precommande .gk-way__promise { color: var(--gk-indigo); }
.gk-way--express .gk-way__promise     { color: #8A6A2E; }

.gk-way__text { font-size: .92rem; line-height: 1.62; color: var(--gk-slate); margin: 0 0 18px; }

.gk-way__points { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 9px; }
.gk-way__points li {
    display: flex; gap: 9px; align-items: flex-start;
    font-size: .855rem; color: var(--gk-ink);
}
.gk-way__points svg { width: 16px; height: 16px; flex: none; margin-top: 3px; color: var(--gk-green); }

.gk-way__cta { margin-top: auto; }

@media (max-width: 920px) {
    .gk-ways { grid-template-columns: 1fr; }
    .gk-way { border-left: 0; border-top: 1px solid var(--gk-line); }
    .gk-way:first-child { border-top: 0; }
    .gk-way::before { height: 3px; width: 64px; left: 30px; right: auto; }
}

/* ═══════════════════ CARTES PARTENAIRES ══════════════════════════ */
.gk-pgrid { display: grid; gap: 22px; }
@media (min-width: 1100px) { .gk-pgrid { grid-template-columns: 1fr 1fr; } }

.gk-pcard {
    position: relative;
    display: grid;
    /* Une seule colonne : le rail indigo vertical de 140 px était vide à plus
       de 95 %. Le partenaire est désormais présenté par un vrai bandeau. */
    grid-template-columns: minmax(0, 1fr);
    background: #fff;
    border: 1px solid var(--gk-line);
    border-radius: var(--gk-radius);
    overflow: hidden;
    transition: border-color var(--gk-tr), box-shadow var(--gk-tr), transform var(--gk-tr);
}
.gk-pcard:hover { border-color: var(--gk-line-strong); box-shadow: var(--gk-sh-md); transform: translateY(-2px); }

.gk-pcard__plate {
    position: relative;
    display: block;
    background: var(--gk-indigo);
    padding: 0;
    /* Le bandeau a exactement le rapport des visuels partenaires (16/9) :
       `object-fit: cover` ne rogne donc jamais le sujet. */
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.gk-pcard__plate.has-cover { background: #fff; }
.gk-pcard__cover {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
/* Logotype partenaire : pastille blanche arrondie, jamais posé à nu.
   Les fichiers fournis ont un fond clair et un rouge/anthracite qui ne
   ressortent pas sur l'indigo. */
.gk-pcard__brand {
    position: absolute; left: 18px; bottom: 16px; z-index: 2;
    display: grid; place-items: center;
    background: #fff;
    border: 1px solid var(--gk-line);
    border-radius: 12px;
    padding: 12px 16px;
    box-shadow: 0 6px 18px rgba(20, 24, 40, .14);
    max-width: min(62%, 240px);
}
.gk-pcard__brand img {
    display: block;
    width: 100%; height: auto;
    max-height: 44px;
    object-fit: contain;
}
/* Voile sombre sous le bandeau : la pastille reste lisible quel que soit
   le visuel (fond clair des photos détourées compris). */
.gk-pcard__plate::after {
    content: ''; position: absolute; inset: auto 0 0 0; height: 34%;
    background: linear-gradient(to top, rgba(20, 24, 40, .16), rgba(20, 24, 40, 0));
    pointer-events: none;
}
/* Texture axonométrique : la plaque du mandat porte la trame du cube GK
   plutôt qu'un aplat nu, même sans logo déposé. */
.gk-pcard__iso {
    position: absolute; inset: 0;
    background-image:
        repeating-linear-gradient(60deg,  rgba(255,255,255,.08) 0 1px, transparent 1px 34px),
        repeating-linear-gradient(-60deg, rgba(255,255,255,.08) 0 1px, transparent 1px 34px);
}
.gk-pcard__mono {
    position: relative;
    font-family: var(--gk-font-title);
    font-size: 1.5rem; font-weight: 800; letter-spacing: -.03em;
    color: var(--gk-indigo);
}
.gk-pcard__flag {
    position: absolute; top: 0; right: 0;
    width: 0; height: 0;
    border-top: 34px solid var(--gk-green);
    border-left: 34px solid transparent;
}

.gk-pcard__body { padding: 24px 26px 22px; display: flex; flex-direction: column; }

.gk-pcard__mandate { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.gk-pcard__terr {
    font-size: .78rem; font-weight: 600;
    color: var(--gk-slate);
    line-height: 1.35;
}

.gk-pcard__name { font-size: 1.28rem; font-weight: 800; letter-spacing: -.025em; margin: 14px 0 0; }
.gk-pcard__name a { color: var(--gk-ink); }
.gk-pcard__name a:hover { color: var(--gk-indigo); }
.gk-pcard__tagline { font-size: .92rem; line-height: 1.6; color: var(--gk-slate); margin: 8px 0 0; }

.gk-pcard__highs { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.gk-pcard__highs li { display: flex; gap: 9px; align-items: flex-start; font-size: .855rem; }
.gk-pcard__highs svg { width: 15px; height: 15px; flex: none; margin-top: 3px; color: var(--gk-green); }

/* Les informations de mandat peuvent être longues (délai, garantie) :
   ces pastilles-ci s'autorisent le retour à la ligne, sinon le texte
   déborderait de la carte. */
.gk-pcard__meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 0; }
.gk-pcard__meta .gk-chip {
    white-space: normal;
    align-items: flex-start;
    text-align: left;
    line-height: 1.4;
    max-width: 100%;
}
.gk-pcard__meta .gk-chip svg { margin-top: 2px; }

.gk-pcard__foot {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; flex-wrap: wrap;
    margin-top: auto; padding-top: 20px;
}
.gk-pcard__count { font-size: .79rem; color: var(--gk-slate); }

@media (max-width: 620px) {
    .gk-pcard__body { padding: 20px; }
    .gk-pcard__brand { left: 14px; bottom: 12px; padding: 9px 12px; max-width: 70%; }
    .gk-pcard__brand img { max-height: 32px; }
}

/* ══════════════ CATALOGUE EN COURS DE RÉFÉRENCEMENT ══════════════ */
.gk-referencing {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
    gap: 0;
    border: 1px solid var(--gk-line);
    border-radius: var(--gk-radius);
    overflow: hidden;
    background: #fff;
}
.gk-referencing__lead { padding: 38px 40px; }
.gk-referencing__lead .gk-chip { margin-bottom: 18px; }
.gk-referencing__lead h3 { margin-bottom: 12px; max-width: 34ch; }
.gk-referencing__lead p { font-size: .94rem; line-height: 1.66; color: var(--gk-slate); max-width: 56ch; margin-bottom: 24px; }

.gk-referencing__sectors {
    padding: 38px 36px;
    background: var(--gk-sand);
    border-left: 1px solid var(--gk-sand-line);
    display: flex; flex-direction: column; justify-content: center;
}
.gk-referencing__sectitle {
    font-family: var(--gk-font-title);
    font-size: .78rem; font-weight: 700;
    letter-spacing: .13em; text-transform: uppercase;
    color: #6B5B3E;
    margin: 0 0 12px;
}
.gk-referencing__secnote { margin: 0; font-size: .9rem; line-height: 1.6; color: #5B4F38; }

@media (max-width: 920px) {
    .gk-referencing { grid-template-columns: 1fr; }
    .gk-referencing__lead { padding: 30px 24px; }
    .gk-referencing__sectors { border-left: 0; border-top: 1px solid var(--gk-sand-line); padding: 28px 24px; }
}

/* ── Cartes de secteurs (visuels 4:3) ── */
.gk-sectors {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}
@media (max-width: 1080px) { .gk-sectors { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px)  { .gk-sectors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 420px)  { .gk-sectors { grid-template-columns: 1fr; } }

.gk-sector {
    position: relative;
    display: block;
    border-radius: var(--gk-radius);
    overflow: hidden;
    color: #fff;
    transition: transform var(--gk-tr), box-shadow var(--gk-tr);
}
.gk-sector:hover { transform: translateY(-3px); box-shadow: var(--gk-sh-md); color: #fff; }
.gk-sector__media { border-radius: 0; }
.gk-sector:hover .gks-media__img { transform: scale(1.04); }
.gk-sector .gks-media__img { transition: transform 600ms cubic-bezier(.2, .7, .3, 1); }

.gk-sector__body {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 18px 46px 18px 18px;
}
.gk-sector__body strong {
    display: block;
    font-family: var(--gk-font-title);
    font-size: .98rem; font-weight: 700; letter-spacing: -.015em;
    line-height: 1.25;
}
.gk-sector__body small {
    display: block; margin-top: 5px;
    font-size: .775rem; line-height: 1.45;
    color: rgba(255, 255, 255, .76);
}
.gk-sector__arrow {
    position: absolute; right: 16px; bottom: 18px;
    color: #fff; opacity: .55;
    transition: opacity var(--gk-tr), transform var(--gk-tr);
}
.gk-sector__arrow svg { width: 18px; height: 18px; }
.gk-sector:hover .gk-sector__arrow { opacity: 1; transform: translateX(3px); }

/* Tuile d'invitation glissée dans la grille produits */
.gk-dealtile {
    display: flex; flex-direction: column;
    padding: 24px 24px 22px;
    border: 1px dashed var(--gk-line-strong);
    border-radius: var(--gk-radius);
    background: var(--gk-sand);
    color: var(--gk-ink);
    transition: border-color var(--gk-tr), background var(--gk-tr);
}
.gk-dealtile:hover { border-color: var(--gk-green); background: #fff; color: var(--gk-ink); }
.gk-dealtile__ico {
    display: inline-grid; place-items: center;
    width: 40px; height: 40px; margin-bottom: 16px;
    border-radius: 10px; background: #fff; color: var(--gk-green-deep);
    border: 1px solid var(--gk-sand-line);
}
.gk-dealtile__ico svg { width: 20px; height: 20px; }
.gk-dealtile strong {
    font-family: var(--gk-font-title);
    font-size: 1.02rem; font-weight: 700; letter-spacing: -.015em;
    margin-bottom: 8px;
}
.gk-dealtile > span:not(.gk-dealtile__ico):not(.gk-arrow) {
    font-size: .865rem; line-height: 1.6; color: #5B5240; margin-bottom: 18px;
}
.gk-dealtile .gk-arrow { margin-top: auto; color: var(--gk-green-deep); }

/* ── Preuves de terrain ── */
.gk-proofs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}
@media (max-width: 860px) { .gk-proofs { grid-template-columns: 1fr; gap: 22px; } }

.gk-proof { margin: 0; }
.gk-proof__media { border-radius: var(--gk-radius); }
.gk-proof figcaption { padding: 18px 2px 0; }
.gk-proof strong {
    display: block;
    font-family: var(--gk-font-title);
    font-size: 1.02rem; font-weight: 700; letter-spacing: -.015em;
    margin-bottom: 7px;
}
.gk-proof span { display: block; font-size: .885rem; line-height: 1.62; color: var(--gk-slate); }

/* ═════════════════════════ LES ÉTAPES ════════════════════════════ */
.gk-steps {
    list-style: none; margin: 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    counter-reset: step;
}
.gk-step {
    position: relative;
    padding: 0 26px 0 0;
}
.gk-step + .gk-step { padding-left: 26px; }
/* Le rail : un filet horizontal qui relie les quatre pastilles. */
.gk-step::before {
    content: ''; position: absolute; top: 19px; left: 0; right: 0;
    height: 1px; background: var(--gk-sand-line);
}
.gk-step:first-child::before { left: 19px; }
.gk-step:last-child::before  { right: calc(100% - 19px); }

.gk-step__num {
    position: relative; z-index: 1;
    display: inline-grid; place-items: center;
    width: 38px; height: 38px;
    border-radius: 50%;
    background: var(--gk-sand);
    border: 1.5px solid var(--gk-indigo);
    font-family: var(--gk-font-title);
    font-size: .8rem; font-weight: 800;
    color: var(--gk-indigo);
    font-variant-numeric: tabular-nums;
}
.gk-step__ico { display: block; color: var(--gk-indigo); margin: 22px 0 14px; }
.gk-step__ico svg { width: 26px; height: 26px; }
.gk-step__title { font-family: var(--gk-font-title); font-size: 1.05rem; font-weight: 700; margin: 0 0 8px; }
.gk-step__text { font-size: .885rem; line-height: 1.62; color: #5B5240; margin: 0 0 14px; }
.gk-step__delay { background: #fff; border-color: var(--gk-sand-line); color: var(--gk-green-deep); }

@media (max-width: 980px) {
    .gk-steps { grid-template-columns: 1fr 1fr; gap: 40px 28px; }
    .gk-step, .gk-step + .gk-step { padding: 0; }
    .gk-step::before { display: none; }
}
@media (max-width: 560px) {
    .gk-steps { grid-template-columns: 1fr; gap: 0; }
    .gk-step {
        padding: 0 0 26px 54px !important;
        position: relative;
    }
    .gk-step::before {
        display: block; top: 38px; bottom: 0; left: 18px; right: auto;
        width: 1px; height: auto;
    }
    .gk-step:last-child::before { display: none; }
    .gk-step__num { position: absolute; left: 0; top: 0; }
    .gk-step__ico { margin: 0 0 10px; }
}

/* ══════════════════════════ LA CHARTE ════════════════════════════ */
.gk-charter {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 60px;
    align-items: start;
}
.gk-charter__aside .gk-h2 { margin-bottom: 16px; }
.gk-charter__aside .gk-lead { margin-bottom: 22px; }

.gk-charter__list {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: 1fr 1fr; gap: 0;
    border-top: 1px solid var(--gk-line);
}
.gk-charter__list li {
    display: flex; gap: 16px;
    padding: 24px 24px 24px 0;
    border-bottom: 1px solid var(--gk-line);
}
.gk-charter__list li:nth-child(odd) { border-right: 1px solid var(--gk-line); padding-right: 26px; }
.gk-charter__list li:nth-child(even) { padding-left: 26px; }
.gk-charter__n {
    font-family: var(--gk-font-title);
    font-size: .8rem; font-weight: 800;
    color: var(--gk-green);
    font-variant-numeric: tabular-nums;
    padding-top: 3px; flex: none;
}
.gk-charter__list strong {
    display: block;
    font-family: var(--gk-font-title);
    font-size: .98rem; font-weight: 700; letter-spacing: -.01em;
    margin-bottom: 6px;
}
.gk-charter__list span { display: block; font-size: .875rem; line-height: 1.6; color: var(--gk-slate); }

@media (max-width: 1080px) { .gk-charter { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 680px) {
    .gk-charter__list { grid-template-columns: 1fr; }
    .gk-charter__list li:nth-child(odd) { border-right: 0; padding-right: 0; }
    .gk-charter__list li:nth-child(even) { padding-left: 0; }
}

/* ═══════════════════════ BANDE GROUPE ═══════════════════════════ */
.gk-group { background: var(--gk-indigo); color: #fff; padding: 44px 0; }
.gk-group__inner {
    display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 40px; align-items: center;
}
.gk-group__intro { margin: 0; font-size: .96rem; line-height: 1.66; color: rgba(255,255,255,.8); max-width: 42ch; }
.gk-group__intro strong { color: #fff; }

.gk-group__links { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gk-group__links a {
    display: block;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--gk-radius-sm);
    color: #fff;
    transition: background var(--gk-tr), border-color var(--gk-tr);
}
.gk-group__links a:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .42); color: #fff; }
.gk-group__row {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    font-family: var(--gk-font-title); font-weight: 700; font-size: .96rem;
}
.gk-group__links small { display: block; margin-top: 5px; font-size: .78rem; color: rgba(255, 255, 255, .62); line-height: 1.45; }
.gk-group__links svg { width: 16px; height: 16px; opacity: .7; flex: none; }
.gk-group__links a:hover svg { opacity: 1; }

@media (max-width: 980px) { .gk-group__inner { grid-template-columns: 1fr; gap: 26px; } }
@media (max-width: 560px) { .gk-group__links { grid-template-columns: 1fr; } }

/* ════════════════════ APPEL À L'ACTION FINAL ════════════════════ */
.gk-cta { background: var(--gk-indigo-deep); color: #fff; padding: 76px 0; }
.gk-cta__inner {
    display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 56px; align-items: center;
}
.gk-cta .gk-h2 { color: #fff; margin-bottom: 16px; }
.gk-cta__actions { display: grid; gap: 12px; }
.gk-cta__note {
    display: flex; align-items: center; gap: 9px;
    margin: 6px 0 0;
    font-size: .8rem; color: rgba(255, 255, 255, .6);
}
.gk-cta__note svg { width: 15px; height: 15px; flex: none; }

@media (max-width: 980px) { .gk-cta__inner { grid-template-columns: 1fr; gap: 32px; } .gk-cta { padding: 56px 0; } }

/* ══════════════════════ PAGE PARTENAIRE ═════════════════════════ */
.gk-phero {
    background: var(--gk-indigo-deep);
    color: #fff;
    padding: 0 0 52px;
    position: relative;
    overflow: hidden;
}
/* Bandeau du partenaire : couverture du backoffice ou emplacement média,
   sous un voile indigo pour garder le texte lisible. */
.gk-phero__bg { position: absolute; inset: 0; z-index: 0; }
.gk-phero__bg::after {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(105deg,
        rgba(30, 30, 82, .96) 0%,
        rgba(30, 30, 82, .90) 48%,
        rgba(30, 30, 82, .70) 100%);
}
.gk-phero > .container { position: relative; z-index: 1; }

.gk-phero .shop-breadcrumb, .gk-phero .gk-breadcrumb { color: rgba(255,255,255,.55); }
.gk-phero .gk-breadcrumb a { color: rgba(255, 255, 255, .72); }
.gk-phero .gk-breadcrumb a:hover { color: #fff; }
.gk-phero .gk-breadcrumb .current { color: #fff; }
.gk-phero .gk-breadcrumb .sep { color: rgba(255,255,255,.3); }

.gk-phero__inner {
    display: grid; grid-template-columns: 116px minmax(0, 1fr) auto;
    gap: 30px; align-items: start;
    padding-top: 34px;
}
.gk-phero__plate {
    width: 116px; height: 116px;
    border-radius: var(--gk-radius);
    background: #fff;
    display: grid; place-items: center;
    padding: 16px;
}
.gk-phero__plate img { width: 100%; height: auto; max-height: 84px; object-fit: contain; }
.gk-phero__mono {
    font-family: var(--gk-font-title);
    font-size: 2.3rem; font-weight: 800; letter-spacing: -.03em;
    color: var(--gk-indigo);
}
.gk-phero__name { color: #fff; margin: 10px 0 0; }
.gk-phero__tagline { color: rgba(255,255,255,.78); font-size: 1.04rem; line-height: 1.6; margin: 12px 0 0; max-width: 56ch; }
.gk-phero__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.gk-phero__meta .gk-chip {
    white-space: normal; align-items: flex-start;
    text-align: left; line-height: 1.4; max-width: 340px;
}
.gk-phero__meta .gk-chip svg { margin-top: 2px; }
.gk-phero__actions { display: grid; gap: 10px; justify-items: stretch; min-width: 220px; }

@media (max-width: 920px) {
    .gk-phero__inner { grid-template-columns: 88px minmax(0, 1fr); gap: 22px; }
    .gk-phero__plate { width: 88px; height: 88px; }
    .gk-phero__mono { font-size: 1.8rem; }
    .gk-phero__actions { grid-column: 1 / -1; min-width: 0; }
}

/* Bloc « présentation + points forts » */
.gk-pintro {
    display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 48px;
    padding: 52px 0;
    border-bottom: 1px solid var(--gk-line);
}
.gk-prose { font-size: .96rem; line-height: 1.72; color: var(--gk-slate); }
.gk-prose h2, .gk-prose h3 { color: var(--gk-ink); margin: 32px 0 12px; }
.gk-prose h2 { font-size: 1.32rem; }
.gk-prose h3 { font-size: 1.08rem; }
.gk-prose > :first-child { margin-top: 0; }
.gk-prose ul, .gk-prose ol { padding-left: 1.3em; }
.gk-prose li { margin-bottom: .5em; }
.gk-prose strong { color: var(--gk-ink); }
.gk-prose a { text-decoration: underline; text-underline-offset: 2px; }

.gk-pside { display: grid; gap: 18px; align-content: start; }
.gk-pside__box { padding: 24px; border: 1px solid var(--gk-line); border-radius: var(--gk-radius); }
.gk-pside__box h3 { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gk-slate); margin-bottom: 14px; }
.gk-pside__rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.gk-pside__rows li { display: grid; grid-template-columns: 20px 1fr; gap: 11px; font-size: .875rem; line-height: 1.5; }
.gk-pside__rows svg { width: 18px; height: 18px; color: var(--gk-indigo); margin-top: 2px; }
.gk-pside__rows strong { display: block; font-weight: 600; color: var(--gk-ink); }
.gk-pside__rows span { color: var(--gk-slate); }

@media (max-width: 980px) { .gk-pintro { grid-template-columns: 1fr; gap: 32px; padding: 36px 0; } }

/* Barre d'outils du catalogue partenaire */
.gk-ptoolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 18px; flex-wrap: wrap;
    padding: 26px 0 20px;
}
.gk-ptoolbar__count { font-size: .9rem; color: var(--gk-slate); }
.gk-ptoolbar__count strong { color: var(--gk-ink); font-variant-numeric: tabular-nums; }
.gk-ptoolbar__right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gk-ptoolbar form { display: flex; gap: 8px; }
.gk-ptoolbar .gk-input { width: 200px; padding: 9px 13px; font-size: .865rem; }
.gk-ptoolbar .gk-select { width: auto; padding: 9px 34px 9px 13px; font-size: .865rem; }

.gk-pcats { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 8px; }
.gk-pcats a {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 7px 14px; border-radius: 999px;
    border: 1px solid var(--gk-line);
    font-size: .845rem; font-weight: 500; color: var(--gk-slate);
    background: #fff;
    transition: all var(--gk-tr);
}
.gk-pcats a:hover { border-color: var(--gk-indigo); color: var(--gk-indigo); }
.gk-pcats a.is-active { background: var(--gk-indigo); border-color: var(--gk-indigo); color: #fff; }
.gk-pcats a b { font-weight: 600; opacity: .55; font-variant-numeric: tabular-nums; }

/* ════════════════════ COMMENT ÇA MARCHE ═════════════════════════ */
.gk-pagehead {
    position: relative;
    overflow: hidden;
    background: var(--gk-indigo-deep);
    color: #fff;
    padding: 0 0 64px;
}
/* Bandeau illustré optionnel : l'emplacement média occupe tout l'en-tête,
   sous un voile indigo. Sans fichier, on garde la surface de marque. */
.gk-pagehead__bg { position: absolute; inset: 0; z-index: 0; }
.gk-pagehead__bg::after {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(102deg,
        rgba(30, 30, 82, .96) 0%,
        rgba(30, 30, 82, .90) 46%,
        rgba(30, 30, 82, .68) 100%);
}
.gk-pagehead > .container { position: relative; z-index: 1; }
.gk-pagehead .gk-breadcrumb { color: rgba(255,255,255,.55); }
.gk-pagehead .gk-breadcrumb a { color: rgba(255,255,255,.72); }
.gk-pagehead .gk-breadcrumb a:hover { color: #fff; }
.gk-pagehead .gk-breadcrumb .current { color: #fff; }
.gk-pagehead .gk-breadcrumb .sep { color: rgba(255,255,255,.3); }
.gk-pagehead__inner { padding-top: 40px; max-width: 46rem; }
.gk-pagehead .gk-h1 { color: #fff; margin-bottom: 20px; }

/* Sommaire flottant */
.gk-toc {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-top: 30px;
}
.gk-toc a {
    padding: 8px 15px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .22);
    font-size: .835rem; font-weight: 500; color: rgba(255, 255, 255, .84);
}
.gk-toc a:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255,255,255,.45); color: #fff; }

/* Étapes détaillées, en colonnes alternées */
.gk-detail {
    display: grid; grid-template-columns: 76px minmax(0, 1fr);
    gap: 26px;
    padding: 30px 0;
    border-bottom: 1px solid var(--gk-line);
}
.gk-detail:last-child { border-bottom: 0; }
.gk-detail__num {
    font-family: var(--gk-font-title);
    font-size: 2.2rem; font-weight: 800; letter-spacing: -.04em;
    color: var(--gk-line-strong);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.gk-detail__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 10px; }
.gk-detail__head svg { width: 21px; height: 21px; flex: none; }
.gk-detail__head h3 { font-size: 1.16rem; }
.gk-detail__body { font-size: .95rem; line-height: 1.7; color: var(--gk-slate); max-width: 68ch; }
.gk-detail__body p:last-child { margin-bottom: 0; }
@media (max-width: 620px) {
    .gk-detail { grid-template-columns: 1fr; gap: 10px; }
    .gk-detail__num { font-size: 1.5rem; }
}

/* Garanties : deux colonnes opposées */
.gk-guarantee { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gk-guarantee__col {
    padding: 30px 32px;
    border-radius: var(--gk-radius);
    border: 1px solid var(--gk-line);
    background: #fff;
}
.gk-guarantee__col--yes { border-top: 3px solid var(--gk-green); }
.gk-guarantee__col--no  { border-top: 3px solid var(--gk-slate); background: var(--gk-soft); }
.gk-guarantee__col h3 { font-size: 1.06rem; margin-bottom: 18px; }
.gk-guarantee__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }
.gk-guarantee__col li { display: flex; gap: 12px; font-size: .9rem; line-height: 1.58; color: var(--gk-slate); }
.gk-guarantee__col svg { width: 18px; height: 18px; flex: none; margin-top: 3px; }
.gk-guarantee__col--yes svg { color: var(--gk-green); }
.gk-guarantee__col--no svg  { color: var(--gk-slate); }
@media (max-width: 860px) { .gk-guarantee { grid-template-columns: 1fr; } }

/* Conditions générales en grille */
.gk-conditions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--gk-line); }
.gk-conditions > li {
    list-style: none;
    padding: 28px 28px 28px 0;
    border-bottom: 1px solid var(--gk-line);
    border-right: 1px solid var(--gk-line);
}
.gk-conditions > li:nth-child(3n) { border-right: 0; padding-right: 0; }
.gk-conditions > li:not(:nth-child(3n+1)) { padding-left: 28px; }
.gk-conditions__ico { color: var(--gk-indigo); display: block; margin-bottom: 14px; }
.gk-conditions__ico svg { width: 24px; height: 24px; }
.gk-conditions h3 { font-size: 1rem; margin-bottom: 8px; }
.gk-conditions p { font-size: .88rem; line-height: 1.62; color: var(--gk-slate); margin: 0; }
@media (max-width: 920px) {
    .gk-conditions { grid-template-columns: 1fr 1fr; }
    .gk-conditions > li:nth-child(3n) { border-right: 1px solid var(--gk-line); padding-right: 28px; }
    .gk-conditions > li:nth-child(2n) { border-right: 0; padding-right: 0; }
    .gk-conditions > li:not(:nth-child(3n+1)) { padding-left: 0; }
    .gk-conditions > li:nth-child(2n) { padding-left: 28px; }
}
@media (max-width: 600px) {
    .gk-conditions { grid-template-columns: 1fr; }
    .gk-conditions > li,
    .gk-conditions > li:nth-child(2n),
    .gk-conditions > li:nth-child(3n) { border-right: 0; padding: 24px 0; }
}

/* FAQ — <details> natif */
.gk-faq { border-top: 1px solid var(--gk-line); }
.gk-faq__item { border-bottom: 1px solid var(--gk-line); }
.gk-faq__item > summary {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
    padding: 22px 0;
    cursor: pointer; list-style: none;
    font-family: var(--gk-font-title);
    font-size: 1.02rem; font-weight: 700; letter-spacing: -.012em;
    color: var(--gk-ink);
}
.gk-faq__item > summary::-webkit-details-marker { display: none; }
.gk-faq__item > summary:hover { color: var(--gk-indigo); }
.gk-faq__sign { position: relative; width: 16px; height: 16px; flex: none; margin-top: 5px; }
.gk-faq__sign::before, .gk-faq__sign::after {
    content: ''; position: absolute; background: var(--gk-green);
    left: 50%; top: 50%;
}
.gk-faq__sign::before { width: 14px; height: 2px; transform: translate(-50%, -50%); }
.gk-faq__sign::after  { width: 2px; height: 14px; transform: translate(-50%, -50%); transition: opacity var(--gk-tr); }
.gk-faq__item[open] .gk-faq__sign::after { opacity: 0; }
.gk-faq__answer { padding: 0 60px 24px 0; font-size: .93rem; line-height: 1.7; color: var(--gk-slate); max-width: 72ch; }
@media (max-width: 600px) { .gk-faq__answer { padding-right: 0; } }

/* ═════════════════════ DEMANDE DE DEVIS ═════════════════════════ */
.gk-quote {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    gap: 56px;
    align-items: start;
    padding: 56px 0 0;
}
.gk-quote__form {
    background: #fff;
    border: 1px solid var(--gk-line);
    border-radius: var(--gk-radius);
    padding: 34px 36px 32px;
    box-shadow: var(--gk-sh-sm);
}
.gk-quote__legend {
    display: flex; align-items: center; gap: 12px;
    font-family: var(--gk-font-title);
    font-size: .76rem; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--gk-slate);
    margin: 34px 0 20px;
    padding-top: 26px;
    border-top: 1px solid var(--gk-line);
}
.gk-quote__legend:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.gk-quote__legend b {
    display: inline-grid; place-items: center;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--gk-indigo-soft); color: var(--gk-indigo);
    font-size: .72rem; font-weight: 800;
    font-family: var(--gk-font-body);
}
.gk-quote__submit { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--gk-line); }
.gk-quote__submit .gk-btn { width: 100%; }
.gk-quote__rgpd { font-size: .78rem; line-height: 1.55; color: var(--gk-slate); margin: 14px 0 0; }

.gk-quote__aside { display: grid; gap: 20px; align-content: start; position: sticky; top: calc(var(--gk-header-h) + 20px); }
.gk-aside-card {
    border: 1px solid var(--gk-line);
    border-radius: var(--gk-radius);
    padding: 26px 26px 24px;
    background: #fff;
}
.gk-aside-card--sand { background: var(--gk-sand); border-color: var(--gk-sand-line); }
.gk-aside-card h3 { font-size: 1.02rem; margin-bottom: 14px; }
.gk-aside-card p  { font-size: .885rem; line-height: 1.62; color: var(--gk-slate); }
.gk-aside-card p:last-child { margin-bottom: 0; }
.gk-aside-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; counter-reset: a; }
.gk-aside-steps li { display: grid; grid-template-columns: 26px 1fr; gap: 13px; }
.gk-aside-steps li::before {
    counter-increment: a; content: counter(a);
    display: grid; place-items: center;
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--gk-indigo); color: #fff;
    font-size: .74rem; font-weight: 700;
}
.gk-aside-steps strong { display: block; font-family: var(--gk-font-title); font-size: .92rem; }
.gk-aside-steps span { display: block; font-size: .83rem; color: var(--gk-slate); line-height: 1.5; margin-top: 2px; }

@media (max-width: 1020px) {
    .gk-quote { grid-template-columns: 1fr; gap: 34px; padding-top: 36px; }
    .gk-quote__aside { position: static; }
}
@media (max-width: 560px) { .gk-quote__form { padding: 24px 20px; } }

/* ════════════════════════════ CONTACT ═══════════════════════════ */
.gk-contact {
    display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 56px; align-items: start;
    padding: 56px 0 0;
}
.gk-contact__cards { display: grid; gap: 14px; }
.gk-ccard {
    display: grid; grid-template-columns: 42px 1fr; gap: 16px;
    padding: 22px 24px;
    border: 1px solid var(--gk-line);
    border-radius: var(--gk-radius);
    background: #fff;
    transition: border-color var(--gk-tr), box-shadow var(--gk-tr);
}
.gk-ccard:hover { border-color: var(--gk-line-strong); box-shadow: var(--gk-sh-sm); }
.gk-ccard__ico {
    width: 42px; height: 42px; border-radius: 11px;
    display: grid; place-items: center;
    background: var(--gk-indigo-soft); color: var(--gk-indigo);
}
.gk-ccard__ico svg { width: 20px; height: 20px; }
.gk-ccard--wa .gk-ccard__ico { background: var(--gk-green-soft); color: var(--gk-green-deep); }
.gk-ccard h3 { font-size: .96rem; margin-bottom: 5px; }
.gk-ccard p { font-size: .875rem; color: var(--gk-slate); margin: 0; line-height: 1.55; }
.gk-ccard a { font-weight: 600; }
.gk-ccard__sub { display: block; font-size: .8rem; color: var(--gk-slate); margin-top: 4px; }

@media (max-width: 1020px) { .gk-contact { grid-template-columns: 1fr; gap: 34px; padding-top: 36px; } }

/* ═══════════════════════ PAGES LÉGALES ═════════════════════════ */
.gk-legal { padding: 48px 0 0; }
.gk-legal__meta {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin: 0 0 34px;
}
.gk-legal dl {
    margin: 0 0 28px;
    display: grid; grid-template-columns: minmax(150px, 220px) 1fr;
    gap: 0;
    border-top: 1px solid var(--gk-line);
}
.gk-legal dt {
    padding: 13px 20px 13px 0;
    border-bottom: 1px solid var(--gk-line);
    font-weight: 600; font-size: .885rem;
    color: var(--gk-ink);
}
.gk-legal dd {
    margin: 0; padding: 13px 0;
    border-bottom: 1px solid var(--gk-line);
    font-size: .885rem; color: var(--gk-slate);
}
.gk-legal .gk-todo {
    display: inline-block;
    padding: 2px 9px; border-radius: 5px;
    background: var(--gk-warn-soft); color: var(--gk-warn);
    font-size: .78rem; font-weight: 600;
}
@media (max-width: 620px) {
    .gk-legal dl { grid-template-columns: 1fr; }
    .gk-legal dt { border-bottom: 0; padding-bottom: 2px; }
    .gk-legal dd { padding-top: 0; }
}

/* ══════════════════════════ MERCI ══════════════════════════════ */
.gk-thanks { padding: 76px 0 88px; text-align: center; }
.gk-thanks__seal {
    width: 72px; height: 72px; margin: 0 auto 26px;
    border-radius: 50%;
    display: grid; place-items: center;
    background: var(--gk-green-soft);
    color: var(--gk-green-deep);
    border: 1.5px solid var(--gk-green);
}
.gk-thanks__seal svg { width: 34px; height: 34px; }
.gk-thanks .gk-h1 { margin-bottom: 16px; }
.gk-thanks .gk-lead { margin: 0 auto 26px; }
.gk-thanks__ref {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 11px 20px;
    border: 1px dashed var(--gk-line-strong);
    border-radius: var(--gk-radius-sm);
    background: var(--gk-soft);
    font-size: .875rem;
    margin-bottom: 34px;
}
.gk-thanks__ref b { font-family: var(--gk-font-body); font-variant-numeric: tabular-nums; letter-spacing: .04em; }

.gk-thanks__steps {
    list-style: none; margin: 40px 0 34px; padding: 0;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
    text-align: left;
    border-top: 1px solid var(--gk-line);
}
.gk-thanks__steps li {
    padding: 26px 26px 26px 0;
    border-right: 1px solid var(--gk-line);
}
.gk-thanks__steps li:last-child { border-right: 0; padding-right: 0; }
.gk-thanks__steps li + li { padding-left: 26px; }
.gk-thanks__steps b {
    display: flex; align-items: center; gap: 10px;
    font-family: var(--gk-font-title); font-size: .98rem; margin-bottom: 7px;
}
.gk-thanks__steps b i {
    font-style: normal; font-family: var(--gk-font-body);
    display: inline-grid; place-items: center;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--gk-indigo); color: #fff; font-size: .72rem; font-weight: 700;
}
.gk-thanks__steps span { font-size: .875rem; line-height: 1.6; color: var(--gk-slate); }

@media (max-width: 760px) {
    .gk-thanks__steps { grid-template-columns: 1fr; }
    .gk-thanks__steps li, .gk-thanks__steps li + li { border-right: 0; padding: 20px 0; border-bottom: 1px solid var(--gk-line); }
    .gk-thanks__steps li:last-child { border-bottom: 0; }
}

/* ═════════════════ SECTION « PONT » VERS LES DEVIS ═════════════ */
.gk-bridge {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px; align-items: center;
    padding: 34px 38px;
    background: var(--gk-sand);
    border: 1px solid var(--gk-sand-line);
    border-radius: var(--gk-radius);
}
.gk-bridge h3 { font-size: 1.16rem; margin-bottom: 8px; }
.gk-bridge p { margin: 0; font-size: .92rem; line-height: 1.62; color: #5B5240; max-width: 62ch; }
.gk-bridge__actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 860px) {
    .gk-bridge { grid-template-columns: 1fr; padding: 26px 22px; }
    .gk-bridge__actions .gk-btn { width: 100%; }
}
