/* topo-premium.css — refonte topo premium : rail gauche + lecture guide pro.
   Images non recadrées : object-fit:contain, dimensions contraintes. */

.topo-premium-page {
    --tp-navy: #002b55;
    --tp-navy-2: #123e59;
    --tp-ink: #0d2d45;
    --tp-text: #243f51;
    --tp-muted: #657984;
    --tp-teal: #2d8a8f;
    --tp-teal-2: #3d7f9f;
    --tp-ice: #eaf3f6;
    --tp-ice-2: #d8e8ee;
    --tp-paper: #fbfdfc;
    --tp-warm: #f4f0e7;
    --tp-line: rgba(0, 43, 85, .14);
    --tp-line-soft: rgba(0, 43, 85, .08);
    --tp-shadow: 0 30px 78px rgba(0, 43, 85, .14);
    --tp-shadow-soft: 0 16px 38px rgba(0, 43, 85, .085);

    box-sizing: border-box;
    width: min(1280px, calc(100% - 34px));
    max-width: none;
    margin: 0 auto;
    padding: 30px 0 0;
    color: var(--tp-text);
    background:
        linear-gradient(180deg, #edf5f7 0%, #e7f1f4 52%, #eef6f8 100%);
}

.topo-premium-page *,
.topo-premium-page *::before,
.topo-premium-page *::after {
    box-sizing: border-box;
}

.topo-premium-page a {
    color: #075f78;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.topo-premium-highlights {
    display: none !important;
}

.tp-dossier {
    display: grid;
    grid-template-columns: minmax(286px, 340px) minmax(0, 1fr);
    gap: clamp(34px, 4.8vw, 70px);
    align-items: start;
}

.tp-dossier__rail {
    position: sticky;
    top: 16px;
    align-self: start;
    min-width: 0;
    max-height: calc(100svh - 32px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.tp-dossier__rail::-webkit-scrollbar {
    width: 6px;
}

.tp-dossier__rail::-webkit-scrollbar-track {
    background: transparent;
}

.tp-dossier__rail::-webkit-scrollbar-thumb {
    background: rgba(0, 43, 85, .18);
    border-radius: 999px;
}

.tp-rail-card {
    position: relative;
    padding: 26px 26px 30px 30px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(249, 252, 252, .52));
    border: 1px solid rgba(255, 255, 255, .68);
    box-shadow: var(--tp-shadow-soft);
    backdrop-filter: blur(4px);
}

.tp-rail-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, var(--tp-navy) 0%, var(--tp-teal) 50%, rgba(45, 138, 143, .12) 100%);
}

.tp-rail-card::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 26px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 43, 85, .30), transparent 76%);
}

.topo-premium-kicker {
    margin: 0 0 17px;
    color: var(--tp-teal-2);
    font-size: .66rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.tp-rail-card h1 {
    margin: 0;
    color: #0b2f49;
    font-size: clamp(1.38rem, 1.72vw, 2.05rem);
    line-height: 1.13;
    letter-spacing: -.032em;
    font-weight: 480;
    text-wrap: balance;
}

.tp-technical {
    position: relative;
    margin-top: 32px;
    padding-top: 22px;
}

.tp-technical::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 43, 85, .24), rgba(45, 138, 143, .18), transparent 88%);
}

.tp-technical h2 {
    margin: 0 0 18px;
    padding-left: 4px;
    color: var(--tp-navy);
    font-size: .72rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.tp-technical dl {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
}

.topo-premium-info__row {
    position: relative;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    column-gap: 13px;
    align-items: start;
    margin: 0;
    padding: 0 0 14px;
}

.topo-premium-info__row:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 38px;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 43, 85, .10), transparent 82%);
}

.topo-premium-info__row::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 23px;
    height: 23px;
    margin-top: 1px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
    opacity: .9;
    filter: drop-shadow(0 5px 9px rgba(45, 138, 143, .10));
}


/* Icônes de fiche technique : affectation sémantique, indépendante de l'ordre des rubriques. */
.topo-premium-info__row[data-tech="cartography"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M5.5%206.2%2010%204.5l4%201.7%204.5-1.7v13.3L14%2019.5l-4-1.7-4.5%201.7V6.2Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.45%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M10%204.5v13.3m4-11.6v13.3%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="hut-contact"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M4.8%2012.2%2012%205.5l7.2%206.7%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M6.5%2011v7.2h11V11%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M9.2%2018.2v-4h5.6v4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M16.1%207.9c1.1.1%202%20.9%202.1%202%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.25%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="difficulty"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M4%2017.5%2011.2%205l2.1%204.7%201.8-2.6%204.9%2010.4H4Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.65%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M10.3%2013.5h3.2%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="distance"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M5%2017c3-6.2%2011%201.9%2014-6.2M5%2011.8c3-6.2%2011%201.9%2014-6.2%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%2F%3E%3Ccircle%20cx%3D%275%27%20cy%3D%2717%27%20r%3D%271.15%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%2F%3E%3Ccircle%20cx%3D%2719%27%20cy%3D%2710.8%27%20r%3D%271.15%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="elevation"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0A%3Cpath%20d%3D%27M4.2%2018.4h12.1L11.9%207.1l-3.1%205.1-1.5-2.1-3.1%208.3Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%3Cpath%20d%3D%27M18.8%2018.6V5.4m0%200-2.5%202.5m2.5-2.5%202.5%202.5%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%3Cpath%20d%3D%27M5%2020h15.4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.15%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.78%27%2F%3E%0A%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="elevation-gain-loss"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M8.2%2019V5m0%200L5.2%208m3-3%203%203M15.8%205v14m0%200%203-3m-3%203-3-3%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M5%2012h14%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.15%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.75%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="gear"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.6%204.9a4.8%204.8%200%200%201%203.6%201.7%205.2%205.2%200%200%201%20.2%207.1l-5.5%205.8a4.8%204.8%200%201%201-6.9-6.7l5.7-6a4.7%204.7%200%200%201%202.9-1.4Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M9.2%208.3%206.9%2010.6M10.2%209.3%207.9%2011.6%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M8.8%207.9l2.4%202.4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.15%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.85%27%2F%3E%3Cpath%20d%3D%27M16.1%206.7c1.5.5%202.7%201.8%203.2%203.3%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.05%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="equipment"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M8.3%205.1h7.4l1.3%201.3v2.8l-1.3%201.3H8.3L7%209.2V6.4l1.3-1.3Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.45%27%20stroke-linejoin%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277.8%27%20r%3D%271.95%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.3%27%2F%3E%3Cpath%20d%3D%27M10.9%2010.4v6.1m2.2-6.1v6.1%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M10.9%2016.5%2012%2019.6l1.1-3.1%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M9.8%2012.2h4.4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.0%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.75%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="height"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M8%204.8v14.4m0%200h8m-8-14.4h8%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M8%208.2h4M8%2012h3.2M8%2015.8h4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.25%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="time"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%277.1%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%2F%3E%3Cpath%20d%3D%27M12%208v4.2l3%202%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="orientation"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0A%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%277.1%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.45%27%2F%3E%0A%3Cpath%20d%3D%27M12%205.9l2%206.1-2%206.1-2-6.1%202-6.1Z%27%20transform%3D%27rotate%2835%2012%2012%29%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%3Cpath%20d%3D%27M12%204.9v1.35m0%2011.5v1.35m7.1-7.1h-1.35M6.25%2012H4.9%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.05%27%20stroke-linecap%3D%27round%27%2F%3E%0A%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="first-ascent"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M6.3%2019V5.2%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M6.3%205.4h9.4l-1.5%202.4%201.5%202.4H6.3%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.45%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M4.8%2019h9.4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%20stroke-linecap%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2717.2%27%20cy%3D%2716.3%27%20r%3D%271.55%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%2F%3E%3Cpath%20d%3D%27M14.8%2019c.5-1.1%201.3-1.7%202.4-1.7s1.9.6%202.4%201.7%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="start"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M12%2020s6.2-5.3%206.2-10A6.2%206.2%200%200%200%205.8%2010C5.8%2014.7%2012%2020%2012%2020Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%271.8%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="start-finish"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M8%2019s4-3.5%204-6.6A4%204%200%200%200%204%2012.4C4%2015.5%208%2019%208%2019Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%2F%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2712.3%27%20r%3D%271.1%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.05%27%2F%3E%3Cpath%20d%3D%27M15.2%2018.8V6m0%200h4l-.8%201.5.8%201.5h-4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.35%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="terrain"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M5%208.3c2.2-1.2%204.2-1.2%206%200s3.8%201.2%206%200M5%2012c2.2-1.2%204.2-1.2%206%200s3.8%201.2%206%200M5%2015.7c2.2-1.2%204.2-1.2%206%200s3.8%201.2%206%200%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.45%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M4.7%2019h14.6%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.15%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="topo"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M7%204.8h8.2L18%207.6v11.6H7V4.8Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.45%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M15.2%204.9v2.8H18M9.6%2010.5h5.1M9.6%2013.2h4.1M9.6%2015.9h5.1%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.topo-premium-info__row dt {
    grid-column: 2;
    margin: 0 0 3px;
    color: rgba(0, 43, 85, .62);
    font-size: .61rem;
    line-height: 1.18;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.topo-premium-info__row dd {
    grid-column: 2;
    margin: 0;
    color: #18384d;
    font-size: .92rem;
    line-height: 1.38;
    font-weight: 520;
}

.tp-dossier__main {
    min-width: 0;
    position: relative;
}

.tp-hero-photo {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 28px;
    padding: 12px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .80), rgba(244, 240, 231, .64));
    border: 1px solid rgba(255, 255, 255, .78);
    box-shadow: var(--tp-shadow);
}

.tp-low-photo {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: 5px auto 5px;
    padding: 0px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .80), rgba(244, 240, 231, .64));
    border: 0px solid rgba(255, 255, 255, .78);
    /*box-shadow:var(--tp-shadow);*/
}

.tp-low-photo img,
.tp-hero-photo img,
.topo-gallery img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.tp-hero-photo img {
    max-height: min(79vh, 790px);
    margin: 0 auto;
    background: rgba(255, 255, 255, .38);
    box-shadow: 0 12px 32px rgba(0, 35, 60, .18);
}

.tp-hero-photo figcaption {
    max-width: 780px;
    margin: 0 auto;
    padding: 11px 8px 1px;
    color: #526b78;
    font-size: .84rem;
    line-height: 1.42;
    font-style: italic;
    text-align: center;
}

.tp-low-photo img {
    max-height: min(79vh, 790px);
    margin: 0 auto;
    background: rgba(255, 255, 255, .38);
    /*box-shadow:0 12px 32px rgba(0,35,60,.18);*/
}

.tp-low-photo figcaption {
    max-width: 780px;
    margin: 0 auto;
    padding: 11px 8px 1px;
    color: #526b78;
    font-size: .84rem;
    line-height: 1.42;
    font-style: italic;
    text-align: center;
}

.tp-intro {
    position: relative;
    width: min(900px, 100%);
    margin: 34px 0 42px;
    padding: 0 0 0 25px;
}

.tp-intro::before {
    content: "";
    position: absolute;
    left: 0;
    top: .42em;
    bottom: .48em;
    width: 2px;
    background: linear-gradient(180deg, var(--tp-teal), rgba(45, 138, 143, .02));
}

.tp-intro p {
    margin: 0;
    color: #213e50;
    font-size: clamp(1.03rem, 1.16vw, 1.16rem);
    line-height: 1.78;
}

.tp-cartography {
    position: relative;
    margin: 0 0 48px;
    padding: 18px;
    background: rgba(255, 255, 255, .64);
    border: 1px solid rgba(255, 255, 255, .72);
    box-shadow: var(--tp-shadow-soft);
}

.topo-premium-card-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin: 0 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--tp-line-soft);
}

.topo-premium-card-title p {
    order: 2;
    margin: 0;
    color: var(--tp-muted);
    font-size: .60rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.topo-premium-card-title h2 {
    margin: 0;
    color: #0f344e;
    font-size: clamp(1.02rem, 1.42vw, 1.34rem);
    line-height: 1.1;
    font-weight: 520;
    letter-spacing: -.02em;
}

.tp-cartography iframe,
.topo-premium-map__variant iframe {
    display: block;
    width: 100%;
    height: 560px;
    min-height: 460px;
    border: 0;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 43, 85, .12);
}

.topo-premium-map__double-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.topo-premium-map__variant-title {
    margin: 0 0 9px;
    color: #21465d;
    font-size: .72rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.topo-premium-map__double-list iframe {
    height: 500px;
    min-height: 430px;
}

/* Course clés en main — reset v11 : page de guide ouverte, sans gimmicks, sans second rail. */
.tp-course {
    position: relative;
    width: min(980px, 100%);
    margin: clamp(54px, 6vw, 86px) 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
}

.tp-course::before,
.tp-course::after {
    display: none;
}

.tp-course__heading {
    position: relative;
    display: grid;
    grid-template-columns: minmax(122px, 22%) minmax(0, 1fr);
    gap: clamp(22px, 3.8vw, 44px);
    align-items: end;
    margin: 0 0 clamp(26px, 3.4vw, 40px);
    padding: 0 0 clamp(18px, 2.4vw, 26px);
    border-bottom: 1px solid rgba(0, 43, 85, .16);
}

.tp-course__heading::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--tp-navy), var(--tp-teal), rgba(45, 138, 143, .02));
    transform: none;
    border: 0;
    box-shadow: none;
    order: 0;
}

.tp-course__heading h2 {
    margin: 0;
    color: #0b3049;
    font-size: clamp(1.34rem, 2vw, 1.92rem);
    line-height: 1.08;
    font-weight: 460;
    letter-spacing: -.038em;
    text-wrap: balance;
}

.tp-course__heading h2::after {
    display: none;
}

.tp-course__body {
    position: relative;
    display: block;
    padding: 0;
    background: transparent;
}

.tp-course__body::before {
    display: none;
}

.tp-route-section {
    position: relative;
    overflow: visible;
    display: grid;
    grid-template-columns: minmax(122px, 22%) minmax(0, 1fr);
    gap: clamp(22px, 3.8vw, 44px);
    margin: 0;
    padding: clamp(28px, 4vw, 46px) 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(0, 43, 85, .105);
    box-shadow: none;
}

.tp-route-section:first-of-type {
    padding-top: 0;
}

.tp-route-section:last-of-type {
    border-bottom: 0;
}

.tp-route-section::before,
.tp-route-section::after {
    display: none;
}

.tp-route-section h3 {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0;
    padding: 0;
    color: #0e3851;
    font-size: clamp(.82rem, 1vw, .96rem);
    line-height: 1.28;
    font-weight: 780;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.tp-route-section h3::before {
    content: "";
    display: block;
    width: 34px;
    height: 2px;
    margin: 0 0 13px;
    background: linear-gradient(90deg, var(--tp-teal), rgba(45, 138, 143, .06));
    transform: none;
    border: 0;
    box-shadow: none;
}

.tp-route-section h3::after {
    display: none;
}

.tp-route-section__text {
    position: relative;
    z-index: 1;
    max-width: 76ch;
    min-width: 0;
}

.tp-route-section__text--flow {
    max-width: 78ch;
    columns: 1;
    column-gap: 0;
}

.tp-route-section__text p,
.tp-guide-leg p,
.tp-pitch-line {
    margin: 0;
    color: #243f51;
    font-size: clamp(1rem, 1.06vw, 1.065rem);
    line-height: 1.82;
    font-weight: 400;
}

.tp-route-section__text>p+p,
.tp-route-section__text--flow p+p {
    margin-top: 1.15rem;
}

.tp-route-section__text--flow p {
    break-inside: auto;
    margin-bottom: 0;
}

.tp-route-section__text strong,
.tp-guide-leg strong {
    display: block;
    margin: 0;
    padding: 0;
    color: #0d3048;
    font-size: .86rem;
    line-height: 1.38;
    font-weight: 790;
    letter-spacing: .035em;
    text-transform: uppercase;
    background: none;
    border: 0;
}

.tp-guide-lead {
    max-width: 76ch;
    margin: 0 0 clamp(24px, 3vw, 34px) !important;
    color: #203d4f !important;
    font-size: clamp(1rem, 1.06vw, 1.065rem) !important;
    line-height: 1.82 !important;
    padding: 0 0 0 22px;
    border-left: 2px solid rgba(45, 138, 143, .48);
}

.tp-guide-legs {
    display: block;
    margin-top: clamp(22px, 3vw, 36px);
}

.tp-guide-leg {
    position: relative;
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    gap: clamp(18px, 3vw, 36px);
    align-items: start;
    padding: clamp(17px, 2.3vw, 24px) 0;
    border-top: 1px solid rgba(0, 43, 85, .10);
}

.tp-guide-leg::before {
    display: none;
}

.tp-guide-leg:first-child {
    padding-top: 0;
    border-top: 0;
}

.tp-guide-leg strong:first-child,
.tp-route-section__text strong:first-child {
    margin-top: 0;
}

.tp-pitch-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(28px, 4vw, 52px);
    margin: clamp(22px, 3vw, 32px) 0;
    padding: clamp(8px, 1.5vw, 14px) 0;
    border-top: 1px solid rgba(0, 43, 85, .12);
    border-bottom: 1px solid rgba(0, 43, 85, .12);
}

.tp-pitch-line {
    padding: 11px 0;
    border-top: 1px solid rgba(0, 43, 85, .07);
    font-size: clamp(.96rem, 1vw, 1.02rem);
    line-height: 1.62;
    break-inside: avoid;
}

.tp-pitch-line:nth-child(1),
.tp-pitch-line:nth-child(2) {
    border-top: 0;
}

.tp-course__body>.topo-gallery {
    margin-top: clamp(22px, 3vw, 36px);
}

.topo-gallery {
    width: fit-content;
    max-width: 100%;
    margin: 38px auto 0;
    padding: 10px;
    background: rgba(255, 255, 255, .66);
    border: 1px solid rgba(255, 255, 255, .72);
    box-shadow: 0 14px 34px rgba(0, 43, 85, .10);
}

.topo-gallery img {
    max-height: min(72vh, 690px);
    margin: 0 auto;
}

.topo-gallery figcaption {
    max-width: 760px;
    margin: 10px auto 0;
    color: var(--tp-muted);
    font-size: .84rem;
    line-height: 1.42;
    font-style: italic;
    text-align: center;
}

@media(max-width:1120px) {
    .topo-premium-page {
        padding-bottom: 5px;
    }

    .tp-dossier {
        grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
        gap: 32px;
    }

    .tp-rail-card {
        padding: 24px 22px 28px 26px;
    }

    .tp-guide-leg {
        grid-template-columns: minmax(132px, 180px) minmax(0, 1fr);
    }

    .tp-pitch-list {
        grid-template-columns: 1fr;
    }

    .tp-pitch-line:nth-child(2) {
        border-top: 1px solid rgba(0, 43, 85, .07);
    }
}

@media(max-width:940px) {
    .topo-premium-page {
        width: min(100% - 24px, 860px);
        padding-top: 5px;
    }

    .tp-dossier {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .tp-dossier__rail {
        order: 1;
        position: relative;
        top: auto;
        width: 100%;
        max-height: none;
        overflow: visible;
        padding-right: 0;
        margin: 0 0 28px;
    }

    .tp-dossier__main {
        order: 2;
    }

    .tp-rail-card {
        padding: 24px 22px 24px 26px;
    }

    .tp-technical dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 24px;
    }

    .topo-premium-info__row:not(:last-child)::after {
        left: 38px;
    }

    .tp-hero-photo {
        margin-bottom: 0;
        padding: 10px;
    }

    .tp-hero-photo img {
        max-height: min(72vh, 660px);
    }

    .tp-low-photo {
        margin-bottom: 0;
        padding: 10px;
    }

    .tp-low-photo img {
        max-height: min(72vh, 660px);
    }

    .tp-intro {
        margin: 28px 0 36px;
    }

    .topo-premium-map__double-list {
        grid-template-columns: 1fr;
    }

    .tp-cartography iframe,
    .topo-premium-map__variant iframe,
    .topo-premium-map__double-list iframe {
        height: min(70vh, 560px);
        min-height: 410px;
    }

    .tp-course {
        width: 100%;
        margin-top: 44px;
    }
}

@media(max-width:720px) {

    .tp-course__heading,
    .tp-route-section,
    .tp-guide-leg {
        display: block;
    }

    .tp-course__heading::before {
        width: 48px;
        margin: 0 0 14px;
    }

    .tp-route-section h3 {
        margin: 0 0 18px;
    }

    .tp-guide-leg strong {
        margin: 0 0 9px;
    }
}

/* .topo-premium-page{
    padding-bottom:0 !important;
} */

@media(max-width:640px) {
    .topo-premium-page {
        width: calc(100% - 16px);
        padding-bottom: 5px;
    }

    .tp-rail-card {
        padding: 21px 17px 22px 21px;
    }

    .tp-rail-card h1 {
        font-size: clamp(1.34rem, 6.2vw, 1.9rem);
    }

    .tp-technical dl {
        grid-template-columns: 1fr;
    }

    .topo-premium-info__row {
        grid-template-columns: 24px minmax(0, 1fr);
        column-gap: 12px;
    }

    .tp-hero-photo {
        padding: 8px;
    }

    .tp-hero-photo img {
        max-height: min(66vh, 560px);
    }

    .tp-hero-photo figcaption {
        padding-top: 9px;
        font-size: .79rem;
    }

    .tp-low-photo {
        padding: 12px;
    }

    .tp-low-photo img {
        max-height: min(66vh, 560px);
    }

    .tp-low-photo figcaption {
        padding-top: 9px;
        font-size: .79rem;
    }

    .tp-intro {
        padding-left: 18px;
    }

    .tp-intro p,
    .tp-route-section__text p,
    .tp-guide-leg p,
    .tp-pitch-line {
        font-size: .98rem;
        line-height: 1.68;
    }

    .tp-cartography {
        margin-left: -2px;
        margin-right: -2px;
        padding: 14px;
    }

    .topo-premium-card-title {
        display: block;
    }

    .topo-premium-card-title p {
        margin-top: 8px;
    }

    .tp-cartography iframe,
    .topo-premium-map__variant iframe,
    .topo-premium-map__double-list iframe {
        height: min(76vh, 520px);
        min-height: 350px;
    }

    .tp-course {
        margin-left: 0;
        margin-right: 0;
    }

    .tp-course__heading {
        margin-bottom: 26px;
        padding-bottom: 18px;
    }

    .tp-route-section {
        padding: 28px 0;
    }

    .tp-route-section h3::before {
        width: 38px;
        margin-bottom: 10px;
    }

    .tp-pitch-list {
        display: block;
    }

    .tp-pitch-line:nth-child(2) {
        border-top: 1px solid rgba(0, 43, 85, .07);
    }

    .topo-gallery {
        padding: 8px;
    }

    .topo-gallery img {
        max-height: min(66vh, 560px);
    }
}

@media(min-width:941px) and (max-height:760px) {
    .tp-dossier__rail {
        top: 12px;
        max-height: calc(100svh - 24px);
    }

    .tp-rail-card {
        padding: 20px 18px 22px 24px;
    }

    .topo-premium-kicker {
        margin-bottom: 12px;
    }

    .tp-rail-card h1 {
        font-size: clamp(1.22rem, 1.45vw, 1.72rem);
        line-height: 1.12;
    }

    .tp-technical {
        margin-top: 22px;
        padding-top: 17px;
    }

    .tp-technical h2 {
        margin-bottom: 13px;
    }

    .tp-technical dl {
        gap: 9px;
    }

    .topo-premium-info__row {
        grid-template-columns: 21px minmax(0, 1fr);
        column-gap: 10px;
        padding-bottom: 9px;
    }

    .topo-premium-info__row::before {
        width: 20px;
        height: 20px;
        background-size: 16px 16px;
    }

    .topo-premium-info__row:not(:last-child)::after {
        left: 31px;
    }

    .topo-premium-info__row dt {
        font-size: .56rem;
    }

    .topo-premium-info__row dd {
        font-size: .84rem;
        line-height: 1.28;
    }
}

/* ========================================================================== */
/* v12 — Course clés en main : version plus compacte, sans liserets, avec vignettes */
/* ========================================================================== */
.tp-course {
    width: min(900px, 100%);
    margin: clamp(38px, 4.8vw, 62px) 0 0;
    padding: 0;
    background: transparent;
    border: 0 !important;
    box-shadow: none;
}

.tp-course::before,
.tp-course::after,
.tp-course__heading::before,
.tp-course__heading::after,
.tp-course__body::before,
.tp-course__body::after,
.tp-route-section::before,
.tp-route-section::after,
.tp-route-section h3::before,
.tp-route-section h3::after {
    display: none !important;
    content: none !important;
}

.tp-course__heading {
    display: block;
    margin: 0 0 clamp(18px, 2.4vw, 28px);
    padding: 0;
    border: 0 !important;
}

.tp-course__heading h2 {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    margin: 0;
    padding: 10px 14px 9px;
    color: rgba(11, 48, 73, .86);
    font-size: clamp(.78rem, .9vw, .92rem);
    line-height: 1;
    font-weight: 760;
    letter-spacing: .16em;
    text-transform: uppercase;
    background: linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(234, 243, 246, .58));
    box-shadow: 0 12px 28px rgba(0, 43, 85, .075);
    border: 0 !important;
    border-radius: 2px;
}

.tp-course__heading h2::after {
    display: none !important;
    content: none !important;
}

.tp-course__body {
    display: grid;
    gap: clamp(13px, 1.7vw, 20px);
    padding: 0;
    background: transparent;
    border: 0 !important;
    box-shadow: none;
}

.tp-route-section {
    display: grid;
    grid-template-columns: minmax(124px, 168px) minmax(0, 1fr);
    gap: clamp(16px, 2.6vw, 30px);
    align-items: start;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0 !important;
    box-shadow: none;
}

.tp-route-section+.tp-route-section {
    margin-top: clamp(4px, 1vw, 10px);
}

.tp-route-section h3 {
    position: sticky;
    top: 22px;
    z-index: 1;
    display: block;
    justify-self: stretch;
    margin: 0;
    padding: 12px 13px 11px;
    color: #0b3049;
    font-size: clamp(.66rem, .78vw, .74rem);
    line-height: 1.22;
    font-weight: 820;
    letter-spacing: .14em;
    text-transform: uppercase;
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .92), transparent 48%),
        linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(232, 242, 245, .52));
    box-shadow: 0 14px 30px rgba(0, 43, 85, .08);
    border: 0 !important;
    border-radius: 2px;
}

.tp-route-section__text {
    max-width: 70ch;
    min-width: 0;
    padding: 2px 0 1px;
}

.tp-route-section__text--flow,
.tp-route-section__text--guide {
    max-width: 72ch;
}

.tp-route-section__text p,
.tp-guide-leg p,
.tp-pitch-line {
    margin: 0;
    color: #254253;
    font-size: clamp(.92rem, .98vw, .995rem);
    line-height: 1.66;
    font-weight: 400;
}

.tp-route-section__text>p+p,
.tp-route-section__text--flow p+p {
    margin-top: .82rem;
}

.tp-guide-lead {
    max-width: 72ch;
    margin: 0 0 clamp(15px, 2vw, 22px) !important;
    padding: 0 !important;
    color: #203d4f !important;
    font-size: clamp(.92rem, .98vw, .995rem) !important;
    line-height: 1.66 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tp-guide-legs {
    display: grid;
    gap: 10px;
    margin-top: clamp(14px, 2vw, 22px);
}

.tp-guide-leg {
    display: grid;
    grid-template-columns: minmax(126px, 172px) minmax(0, 1fr);
    gap: clamp(14px, 2vw, 24px);
    align-items: start;
    margin: 0;
    padding: 13px 15px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .52), rgba(234, 243, 246, .32));
    border: 0 !important;
    box-shadow: 0 12px 26px rgba(0, 43, 85, .055);
    border-radius: 2px;
}

.tp-guide-leg::before,
.tp-guide-leg::after {
    display: none !important;
    content: none !important;
}

.tp-guide-leg:first-child {
    padding-top: 13px;
    border-top: 0 !important;
}

.tp-route-section__text strong,
.tp-guide-leg strong {
    display: block;
    margin: 0;
    padding: 0;
    color: rgba(13, 48, 72, .82);
    font-size: .66rem;
    line-height: 1.35;
    font-weight: 840;
    letter-spacing: .11em;
    text-transform: uppercase;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tp-pitch-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 10px;
    margin: clamp(15px, 2vw, 22px) 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tp-pitch-line {
    padding: 10px 12px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .56), rgba(234, 243, 246, .30));
    border: 0 !important;
    box-shadow: 0 10px 20px rgba(0, 43, 85, .045);
    border-radius: 2px;
    break-inside: avoid;
}

.tp-pitch-line:nth-child(1),
.tp-pitch-line:nth-child(2) {
    border-top: 0 !important;
}

.tp-course__body>.topo-gallery {
    margin-top: clamp(17px, 2.6vw, 30px);
}

@media(max-width:1120px) {
    .tp-guide-leg {
        grid-template-columns: minmax(118px, 155px) minmax(0, 1fr);
    }

    .tp-pitch-list {
        grid-template-columns: 1fr;
    }

    .tp-pitch-line:nth-child(2) {
        border-top: 0 !important;
    }
}

@media(max-width:940px) {
    .tp-route-section h3 {
        position: relative;
        top: auto;
    }

    .tp-course {
        margin-top: 36px;
    }
}

@media(max-width:720px) {

    .tp-route-section,
    .tp-guide-leg {
        display: block;
    }

    .tp-route-section h3 {
        display: inline-block;
        width: auto;
        max-width: 100%;
        margin: 0 0 13px;
        padding: 10px 12px 9px;
    }

    .tp-guide-leg {
        padding: 12px 13px;
    }

    .tp-guide-leg strong {
        margin: 0 0 7px;
    }
}

@media(max-width:640px) {
    .tp-course__heading h2 {
        padding: 9px 11px 8px;
        font-size: .72rem;
        letter-spacing: .13em;
    }

    .tp-route-section__text p,
    .tp-guide-leg p,
    .tp-pitch-line {
        font-size: .94rem;
        line-height: 1.62;
    }

    .tp-route-section h3 {
        font-size: .65rem;
        letter-spacing: .12em;
    }
}

/* ========================================================================== */
/* v13 — Course clés en main : labels éditoriaux sobres, sans vignettes       */
/* ========================================================================== */
.topo-premium-page .tp-course {
    width: min(820px, 100%);
    margin: clamp(34px, 4.2vw, 54px) 0 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course::before,
.topo-premium-page .tp-course::after,
.topo-premium-page .tp-course__heading::before,
.topo-premium-page .tp-course__heading::after,
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course__body::after,
.topo-premium-page .tp-route-section::before,
.topo-premium-page .tp-route-section::after,
.topo-premium-page .tp-route-section h3::before,
.topo-premium-page .tp-route-section h3::after,
.topo-premium-page .tp-guide-leg::before,
.topo-premium-page .tp-guide-leg::after,
.topo-premium-page .tp-pitch-line::before,
.topo-premium-page .tp-pitch-line::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading {
    margin: 0 0 15px;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__heading h2 {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    color: rgba(0, 43, 85, .42);
    font-size: .58rem;
    line-height: 1;
    font-weight: 760;
    letter-spacing: .22em;
    text-transform: uppercase;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__heading h2::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__body {
    display: grid;
    gap: clamp(22px, 3vw, 34px);
    padding: clamp(21px, 3.4vw, 34px) clamp(20px, 3.8vw, 40px);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(242, 248, 249, .34));
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 22px 52px rgba(0, 43, 85, .072);
}

.topo-premium-page .tp-route-section {
    display: block;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section+.tp-route-section {
    margin-top: clamp(2px, .7vw, 8px);
}

.topo-premium-page .tp-route-section h3 {
    position: static !important;
    top: auto !important;
    z-index: auto;
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 100%;
    margin: 0 0 13px;
    padding: 7px 11px 6px;
    color: #0c3851;
    font-size: clamp(.61rem, .68vw, .68rem);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: .155em;
    text-transform: uppercase;
    background: linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(232, 242, 245, .48));
    border: 0 !important;
    border-radius: 1px;
    box-shadow: 0 9px 20px rgba(0, 43, 85, .064);
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow,
.topo-premium-page .tp-route-section__text--guide {
    max-width: 68ch;
    min-width: 0;
    padding: 0;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-guide-lead,
.topo-premium-page .tp-guide-leg p,
.topo-premium-page .tp-pitch-line {
    color: #263f50;
    font-size: clamp(.885rem, .93vw, .96rem) !important;
    line-height: 1.64 !important;
    font-weight: 400;
}

.topo-premium-page .tp-route-section__text>p+p,
.topo-premium-page .tp-route-section__text--flow p+p {
    margin-top: .74rem;
}

.topo-premium-page .tp-guide-lead {
    max-width: 68ch;
    margin: 0 0 clamp(14px, 1.8vw, 20px) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-guide-legs {
    display: grid;
    gap: clamp(13px, 1.7vw, 18px);
    margin-top: clamp(14px, 1.8vw, 20px);
}

.topo-premium-page .tp-guide-leg {
    display: block;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    margin: 0 0 7px;
    padding: 6px 9px 5px;
    color: rgba(8, 55, 76, .82);
    font-size: .595rem;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .115em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, .58) !important;
    border: 0 !important;
    border-radius: 1px;
    box-shadow: 0 7px 16px rgba(0, 43, 85, .045);
}

.topo-premium-page .tp-pitch-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 9px;
    margin: clamp(13px, 1.8vw, 20px) 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-pitch-line {
    margin: 0 !important;
    padding: 8px 10px 7px;
    color: #294657 !important;
    background: rgba(255, 255, 255, .50) !important;
    border: 0 !important;
    border-radius: 1px;
    box-shadow: 0 8px 17px rgba(0, 43, 85, .042);
    break-inside: avoid;
}

.topo-premium-page .tp-course__body>.topo-gallery {
    margin-top: clamp(6px, 1.6vw, 18px);
}

@media(max-width:1120px) {
    .topo-premium-page .tp-course {
        width: min(760px, 100%);
    }

    .topo-premium-page .tp-pitch-list {
        grid-template-columns: 1fr;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course {
        margin-top: 30px;
    }

    .topo-premium-page .tp-course__body {
        padding: 19px 17px 21px;
        gap: 22px;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 12px;
    }

    .topo-premium-page .tp-course__heading h2 {
        font-size: .54rem;
        letter-spacing: .18em;
    }

    .topo-premium-page .tp-route-section h3 {
        margin-bottom: 11px;
        padding: 7px 9px 6px;
        font-size: .60rem;
        letter-spacing: .13em;
    }

    .topo-premium-page .tp-route-section__text p,
    .topo-premium-page .tp-guide-lead,
    .topo-premium-page .tp-guide-leg p,
    .topo-premium-page .tp-pitch-line {
        font-size: .925rem !important;
        line-height: 1.58 !important;
    }

    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        font-size: .57rem;
        letter-spacing: .095em;
        margin-bottom: 6px;
    }
}

/* ========================================================================== */
/* v15 — Base V13 conservée : moins blanc sans changer le fond général        */
/*       Travail sur les étiquettes, micro-surfaces et contrastes locaux      */
/* ========================================================================== */
.topo-premium-page .tp-course__body {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .105), transparent 38%),
        linear-gradient(135deg, rgba(238, 246, 248, .78), rgba(230, 240, 244, .50));
    box-shadow: 0 22px 52px rgba(0, 43, 85, .082);
}

.topo-premium-page .tp-course__heading h2 {
    color: rgba(0, 43, 85, .50);
}

.topo-premium-page .tp-route-section h3 {
    position: relative !important;
    overflow: hidden;
    padding: 8px 13px 7px 14px;
    color: #f8fbfb;
    background:
        linear-gradient(135deg, rgba(0, 43, 85, .95), rgba(18, 62, 89, .90) 52%, rgba(45, 138, 143, .82));
    box-shadow: 0 12px 24px rgba(0, 43, 85, .115);
    border-radius: 2px;
}

.topo-premium-page .tp-route-section h3::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    right: -10px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin: 0;
    background: rgba(238, 246, 248, .78);
    transform: translateY(-50%) rotate(45deg);
    box-shadow: none;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    position: relative;
    overflow: hidden;
    padding: 6px 10px 5px 11px;
    color: #0b3049;
    background:
        linear-gradient(135deg, rgba(213, 232, 238, .90), rgba(235, 244, 247, .68)) !important;
    box-shadow: 0 7px 15px rgba(0, 43, 85, .055);
    border-radius: 2px;
}

.topo-premium-page .tp-guide-leg strong::after,
.topo-premium-page .tp-route-section__text strong::after {
    content: "";
    position: absolute;
    right: -7px;
    top: 50%;
    width: 14px;
    height: 14px;
    background: rgba(238, 246, 248, .78);
    transform: translateY(-50%) rotate(45deg);
}

.topo-premium-page .tp-pitch-line {
    background: linear-gradient(135deg, rgba(221, 236, 241, .74), rgba(239, 246, 248, .58)) !important;
    box-shadow: 0 8px 17px rgba(0, 43, 85, .048);
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow,
.topo-premium-page .tp-route-section__text--guide {
    max-width: 69ch;
}

.topo-premium-page .tp-rail-card,
.topo-premium-page .tp-hero-photo,
.topo-premium-page .tp-low-photo,
.topo-premium-page .tp-cartography,
.topo-premium-page .topo-gallery {
    background: linear-gradient(135deg, rgba(249, 252, 252, .82), rgba(235, 244, 247, .56));
}

@media(max-width:720px) {
    .topo-premium-page .tp-route-section h3 {
        padding: 7px 12px 6px 13px;
    }

    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        padding: 6px 9px 5px 10px;
    }
}

/* ========================================================================== */
/* v16 — Variante pastilles : plus de flèches/carrés, labels ronds raffinés    */
/* ========================================================================== */
.topo-premium-page .tp-route-section h3 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    overflow: visible;
    padding: 7px 13px 7px 10px;
    color: #0b3049;
    background:
        linear-gradient(135deg, rgba(232, 243, 246, .86), rgba(246, 250, 251, .68));
    box-shadow: 0 10px 22px rgba(0, 43, 85, .075);
    border-radius: 999px;
}

.topo-premium-page .tp-route-section h3::before {
    content: "" !important;
    display: block !important;
    position: static !important;
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin: 0 !important;
    background:
        radial-gradient(circle at 36% 32%, rgba(255, 255, 255, .95) 0 18%, transparent 20%),
        linear-gradient(135deg, rgba(0, 43, 85, .92), rgba(45, 138, 143, .82));
    border-radius: 50%;
    transform: none !important;
    box-shadow: 0 0 0 4px rgba(45, 138, 143, .11), 0 6px 12px rgba(0, 43, 85, .14);
}

.topo-premium-page .tp-route-section h3::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    overflow: visible;
    padding: 5px 10px 5px 8px;
    color: #123e59;
    background:
        linear-gradient(135deg, rgba(223, 238, 243, .86), rgba(246, 250, 251, .64)) !important;
    box-shadow: 0 7px 15px rgba(0, 43, 85, .045);
    border-radius: 999px;
}

.topo-premium-page .tp-guide-leg strong::before,
.topo-premium-page .tp-route-section__text strong::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(0, 43, 85, .78), rgba(45, 138, 143, .70));
    box-shadow: 0 0 0 3px rgba(45, 138, 143, .09);
}

.topo-premium-page .tp-guide-leg strong::after,
.topo-premium-page .tp-route-section__text strong::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-pitch-line {
    background:
        linear-gradient(135deg, rgba(232, 243, 246, .62), rgba(249, 252, 252, .50)) !important;
    border-radius: 10px;
    box-shadow: 0 8px 17px rgba(0, 43, 85, .04);
}

@media(max-width:720px) {
    .topo-premium-page .tp-route-section h3 {
        gap: 8px;
        padding: 7px 12px 7px 9px;
    }

    .topo-premium-page .tp-route-section h3::before {
        width: 9px;
        height: 9px;
        box-shadow: 0 0 0 3px rgba(45, 138, 143, .10), 0 5px 10px rgba(0, 43, 85, .12);
    }

    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        gap: 6px;
        padding: 5px 9px 5px 8px;
    }
}


/* ========================================================================== */
/* v17 — Ajustements : cartes discrètes, pastilles épurées, lettrine intro     */
/* ========================================================================== */
.topo-premium-page .topo-premium-card-title {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 11px;
    padding: 0;
    border: 0 !important;
}

.topo-premium-page .topo-premium-card-title h2 {
    display: none !important;
}

.topo-premium-page .topo-premium-card-title p {
    order: 0;
    margin: 0;
    color: rgba(0, 43, 85, .48);
    font-size: .55rem;
    line-height: 1;
    font-weight: 820;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-align: right;
}

.topo-premium-page .tp-cartography {
    padding-top: 14px;
}

.topo-premium-page .tp-route-section h3 {
    gap: 0;
    padding: 7px 14px 7px;
}

.topo-premium-page .tp-route-section h3::before,
.topo-premium-page .tp-route-section h3::after,
.topo-premium-page .tp-guide-leg strong::before,
.topo-premium-page .tp-guide-leg strong::after,
.topo-premium-page .tp-route-section__text strong::before,
.topo-premium-page .tp-route-section__text strong::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    gap: 0;
    padding: 5px 10px;
}

.topo-premium-page .tp-intro p::first-letter {
    float: left;
    margin: .065em .16em 0 0;
    color: #0b3049;
    font-size: 4.25em;
    line-height: .76;
    font-weight: 520;
    letter-spacing: -.06em;
}

@media(max-width:720px) {
    .topo-premium-page .topo-premium-card-title {
        margin-bottom: 9px;
    }

    .topo-premium-page .topo-premium-card-title p {
        font-size: .52rem;
        letter-spacing: .15em;
    }

    .topo-premium-page .tp-route-section h3 {
        padding: 7px 12px;
    }

    .topo-premium-page .tp-intro p::first-letter {
        font-size: 3.55em;
        margin: .07em .14em 0 0;
    }
}

/* ========================================================================== */
/* v19 — Pastilles à contour bleu + titre rail sobre sans liseré ajouté       */
/* ========================================================================== */
.topo-premium-page .tp-route-section h3 {
    color: #0b3049;
    background:
        linear-gradient(135deg, rgba(247, 251, 252, .92), rgba(229, 241, 245, .66));
    border: 1px solid rgba(11, 48, 73, .34) !important;
    box-shadow: 0 8px 18px rgba(0, 43, 85, .052);
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    color: #123e59;
    background:
        linear-gradient(135deg, rgba(248, 252, 252, .88), rgba(224, 238, 243, .62)) !important;
    border: 1px solid rgba(18, 62, 89, .28) !important;
    box-shadow: 0 6px 14px rgba(0, 43, 85, .036);
}

.topo-premium-page .tp-route-section h3,
.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    text-shadow: 0 1px 0 rgba(255, 255, 255, .58);
}

.topo-premium-page .tp-rail-card h1 {
    color: #082d46;
    font-weight: 430;
    letter-spacing: -.045em;
    line-height: 1.08;
    max-width: 12.5em;
}


.topo-premium-page .topo-premium-kicker {
    margin-bottom: 14px;
    color: rgba(61, 127, 159, .92);
    letter-spacing: .27em;
}

.topo-premium-page .tp-course__heading h2 {
    color: rgba(0, 43, 85, .46);
}

.topo-premium-page .tp-course__body {
    box-shadow: 0 20px 48px rgba(0, 43, 85, .068);
}

@media(max-width:720px) {
    .topo-premium-page .tp-rail-card h1 {
        max-width: none;
        letter-spacing: -.04em;
    }

}

/* ========================================================================== */
/* v20 — Titre de course : découpe typographique sobre et plus éditoriale     */
/* ========================================================================== */
.topo-premium-page .tp-rail-card h1.tp-course-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    max-width: 13.2em;
    margin: 0;
    color: #082d46;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    text-wrap: balance;
}

.topo-premium-page .tp-course-title__place {
    display: block;
    color: #082d46;
    font-size: clamp(1.45rem, 1.88vw, 2.18rem);
    line-height: 1.02;
    font-weight: 520;
    letter-spacing: -.052em;
}

.topo-premium-page .tp-course-title__separator {
    display: block;
    margin: .10em 0 .06em 1px;
    color: rgba(45, 138, 143, .74);
    font-size: .86rem;
    line-height: 1;
    font-weight: 650;
    letter-spacing: .08em;
}

.topo-premium-page .tp-course-title__route {
    display: block;
    max-width: 14.8em;
    color: rgba(13, 45, 69, .82);
    font-size: clamp(1.02rem, 1.20vw, 1.34rem);
    line-height: 1.18;
    font-weight: 390;
    letter-spacing: -.023em;
}

.topo-premium-page .tp-course-title__route::first-letter {
    text-transform: uppercase;
}

.topo-premium-page .topo-premium-kicker+.tp-course-title {
    margin-top: 0;
}

@media(max-width:720px) {
    .topo-premium-page .tp-rail-card h1.tp-course-title {
        max-width: none;
    }

    .topo-premium-page .tp-course-title__place {
        font-size: clamp(1.48rem, 7vw, 2.22rem);
    }

    .topo-premium-page .tp-course-title__route {
        font-size: clamp(1.02rem, 4.55vw, 1.28rem);
        max-width: 18em;
    }
}


/* ========================================================================== */
/* v21 — Déploiement global : titres sans deux-points + contenus hérités      */
/* ========================================================================== */
.topo-premium-page .tp-course-title__separator {
    display: none !important;
}

.topo-premium-page .tp-course-title__place+.tp-course-title__route {
    margin-top: .22em;
}

.topo-premium-page .tp-course-title__place:only-child {
    max-width: 14.8em;
}

.topo-premium-page .tp-route-section__text ul,
.topo-premium-page .tp-route-section__text ol {
    margin: clamp(12px, 1.8vw, 20px) 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.topo-premium-page .tp-route-section__text li {
    margin: 0;
    padding: 8px 10px 7px;
    color: #294657;
    font-size: clamp(.885rem, .93vw, .96rem);
    line-height: 1.58;
    background: linear-gradient(135deg, rgba(232, 243, 246, .62), rgba(249, 252, 252, .50));
    border-radius: 10px;
    box-shadow: 0 8px 17px rgba(0, 43, 85, .04);
}

.topo-premium-page .tp-route-section--plain {
    display: block;
}

.topo-premium-page .tp-route-section--plain .tp-route-section__text {
    max-width: 70ch;
}

.topo-premium-page .tp-intro> :first-child {
    margin-top: 0;
}

.topo-premium-page .tp-intro> :last-child {
    margin-bottom: 0;
}

.topo-premium-page .tp-intro::first-letter {
    color: #0b3049;
    font-size: 4.25em;
    line-height: .76;
    font-weight: 520;
    letter-spacing: -.06em;
}

.topo-premium-page .tp-route-section__text table {
    width: 100%;
    border-collapse: collapse;
    margin: clamp(14px, 2vw, 22px) 0;
    font-size: .92rem;
    line-height: 1.45;
    background: rgba(255, 255, 255, .44);
    box-shadow: 0 8px 18px rgba(0, 43, 85, .045);
}

.topo-premium-page .tp-route-section__text th,
.topo-premium-page .tp-route-section__text td {
    padding: 9px 10px;
    border-bottom: 1px solid rgba(0, 43, 85, .09);
    vertical-align: top;
}

.topo-premium-page .tp-route-section__text th {
    color: #0b3049;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

@media(max-width:720px) {
    .topo-premium-page .tp-intro::first-letter {
        font-size: 3.55em;
    }

    .topo-premium-page .tp-route-section__text li {
        font-size: .925rem;
        line-height: 1.55;
    }
}

/* ========================================================================== */
/* v23 — Zoom desktop élégant sur toutes les images de contenu topo           */
/* ========================================================================== */
.tp-image-zoom-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.tp-image-zoom-thumb {
    display: block;
}

.tp-image-zoom-layer {
    display: none;
}

@media(min-width:941px) {
    .topo-premium-page .topo-gallery--zoomable {
        position: relative;
    }

    .topo-premium-page .tp-image-zoom-thumb {
        position: relative;
        cursor: zoom-in;
    }

    .topo-premium-page .tp-image-zoom-thumb img {
        transition: transform .28s ease, filter .28s ease;
    }

    .topo-premium-page .tp-image-zoom-thumb::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        opacity: 0;
        background: linear-gradient(180deg, transparent 62%, rgba(0, 43, 85, .16));
        transition: opacity .28s ease;
        pointer-events: none;
    }

    .topo-premium-page .tp-image-zoom-thumb::after {
        content: "";
        position: absolute;
        right: 14px;
        bottom: 14px;
        z-index: 2;
        width: 38px;
        height: 38px;
        background:
            rgba(8, 45, 70, .62) url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='5.7' fill='none' stroke='white' stroke-width='1.65'/%3E%3Cpath d='M13.8 13.8 18 18' fill='none' stroke='white' stroke-width='1.65' stroke-linecap='round'/%3E%3Cpath d='M9.5 6.8v5.4M6.8 9.5h5.4' fill='none' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3C/svg%3E") center / 19px 19px no-repeat;
        border: 1px solid rgba(255, 255, 255, .62);
        border-radius: 50%;
        box-shadow: 0 12px 28px rgba(0, 43, 85, .22);
        opacity: .72;
        transform: translateY(2px);
        transition: opacity .25s ease, transform .25s ease, background-color .25s ease;
        pointer-events: none;
        backdrop-filter: blur(5px);
    }

    .topo-premium-page .tp-image-zoom-thumb:hover img {
        transform: translateY(-1px);
        filter: saturate(1.03) contrast(1.02);
    }

    .topo-premium-page .tp-image-zoom-thumb:hover::before {
        opacity: 1;
    }

    .topo-premium-page .tp-image-zoom-thumb:hover::after {
        opacity: 1;
        transform: translateY(0);
        background-color: rgba(8, 45, 70, .78);
    }

    .topo-premium-page .tp-image-zoom-toggle:checked~.tp-image-zoom-layer {
        display: flex;
    }

    .topo-premium-page .tp-image-zoom-layer {
        position: fixed;
        inset: 0;
        z-index: 10000;
        align-items: center;
        justify-content: center;
        padding: clamp(26px, 4vw, 56px);
        background:
            radial-gradient(circle at 18% 8%, rgba(45, 138, 143, .22), transparent 32%),
            linear-gradient(135deg, rgba(0, 22, 40, .88), rgba(0, 43, 85, .78));
        backdrop-filter: blur(8px);
    }

    .topo-premium-page .tp-image-zoom-backdrop {
        position: absolute;
        inset: 0;
        cursor: zoom-out;
    }

    .topo-premium-page .tp-image-zoom-panel {
        position: relative;
        z-index: 1;
        width: fit-content;
        max-width: min(98vw, 1600px);
        max-height: 98vh;
        margin: 0;
        padding: 2px;
        background: linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(232, 243, 246, .70));
        border: 1px solid rgba(255, 255, 255, .64);
        box-shadow: 0 36px 96px rgba(0, 18, 32, .50);
    }

    .topo-premium-page .tp-image-zoom-panel img {
        display: block;
        width: auto;
        max-width: min(91vw, 1560px);
        height: auto;
        max-height: 94vh !important;
        object-fit: contain;
        background: rgba(255, 255, 255, .30);
        box-shadow: none;
    }

    .topo-premium-page .tp-image-zoom-close {
        position: absolute;
        top: -17px;
        right: -17px;
        width: 38px;
        height: 38px;
        cursor: zoom-out;
        background: rgba(8, 45, 70, .92);
        border: 1px solid rgba(255, 255, 255, .62);
        border-radius: 50%;
        box-shadow: 0 12px 30px rgba(0, 18, 32, .40);
    }

    .topo-premium-page .tp-image-zoom-close::before,
    .topo-premium-page .tp-image-zoom-close::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 16px;
        height: 1.6px;
        background: #fff;
        border-radius: 999px;
        transform-origin: center;
    }

    .topo-premium-page .tp-image-zoom-close::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .topo-premium-page .tp-image-zoom-close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}

@media(max-width:940px) {
    .topo-premium-page .tp-image-zoom-thumb {
        cursor: default;
    }

    .topo-premium-page .tp-image-zoom-layer {
        display: none !important;
    }
}

/* ========================================================================== */
/* v24 — Correctifs zoom : overlay au-dessus du menu + fermeture sur l'image  */
/* ========================================================================== */
@media(min-width:941px) {
    .topo-premium-page .tp-image-zoom-layer {
        z-index: 2147483000;
        cursor: zoom-out;
    }

    .site-container:has(.tp-image-zoom-toggle:checked) .topo-premium-page {
        position: relative;
        z-index: 2147482000;
    }

    .site-container:has(.tp-image-zoom-toggle:checked) header,
    .site-container:has(.tp-image-zoom-toggle:checked) .site-header,
    .site-container:has(.tp-image-zoom-toggle:checked) .header,
    .site-container:has(.tp-image-zoom-toggle:checked) nav,
    .site-container:has(.tp-image-zoom-toggle:checked) .menu,
    .site-container:has(.tp-image-zoom-toggle:checked) .main-menu,
    .site-container:has(.tp-image-zoom-toggle:checked) .site-menu,
    .site-container:has(.tp-image-zoom-toggle:checked) .top-menu,
    .site-container:has(.tp-image-zoom-toggle:checked) .search,
    .site-container:has(.tp-image-zoom-toggle:checked) .search-box,
    .site-container:has(.tp-image-zoom-toggle:checked) .search-container {
        z-index: 1 !important;
    }

    .topo-premium-page .tp-image-zoom-thumb,
    .topo-premium-page .tp-image-zoom-thumb img {
        cursor: zoom-in;
    }

    .topo-premium-page .tp-image-zoom-panel,
    .topo-premium-page .tp-image-zoom-panel img,
    .topo-premium-page .tp-image-zoom-backdrop,
    .topo-premium-page .tp-image-zoom-close {
        cursor: zoom-out;
    }

    .topo-premium-page .tp-image-zoom-close {
        inset: 0;
        top: 0;
        right: 0;
        width: auto;
        height: auto;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        z-index: 3;
    }

    .topo-premium-page .tp-image-zoom-close::before {
        left: auto;
        top: -17px;
        right: -17px;
        width: 38px;
        height: 38px;
        background:
            rgba(8, 45, 70, .92) url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7l8 8M15 7l-8 8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
        border: 1px solid rgba(255, 255, 255, .62);
        border-radius: 50%;
        box-shadow: 0 12px 30px rgba(0, 18, 32, .40);
        transform: none;
    }

    .topo-premium-page .tp-image-zoom-close::after {
        display: none;
    }
}

/* ========================================================================== */
/* v25 — Zoom image : suppression de la croix de fermeture visible             */
/* ========================================================================== */
@media(min-width:941px) {

    .topo-premium-page .tp-image-zoom-close::before,
    .topo-premium-page .tp-image-zoom-close::after {
        display: none !important;
    }
}

/* ========================================================================== */
/* v33 — Base stable V30 : titre Course clés en main plus lisible + mobile     */
/* ========================================================================== */
.topo-premium-page .tp-course .tp-course__heading h2 {
    color: #002B55 !important;
    opacity: .78 !important;
    font-weight: 820;
    letter-spacing: .20em;
}

@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: auto;
        margin-left: clamp(14px, 4.4vw, 18px);
        margin-right: clamp(14px, 4.4vw, 18px);
    }

    .topo-premium-page .tp-course__body {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ========================================================================== */
/* v34 — Correction tablette : respiration gauche Course clés en main          */
/* ========================================================================== */
@media(min-width:721px) and (max-width:1180px) {
    .topo-premium-page .tp-course {
        width: auto;
        margin-left: clamp(18px, 3vw, 34px);
        margin-right: clamp(18px, 3vw, 34px);
    }
}

/* v39 — Corrections ponctuelles : groupes simples + gras inline */
.topo-premium-page .tp-simple-groups {
    display: grid;
    gap: clamp(15px, 1.8vw, 20px);
    margin-top: clamp(8px, 1.2vw, 12px);
}

.topo-premium-page .tp-simple-group {
    margin: 0;
    padding-left: clamp(13px, 1.7vw, 21px);
}

.topo-premium-page .tp-simple-group__title {
    margin: 0 0 7px !important;
    color: #123e59;
    font-size: clamp(.88rem, .94vw, .96rem);
    line-height: 1.45;
    font-weight: 520;
}

.topo-premium-page .tp-simple-group__title em {
    font-style: italic;
    font-weight: 560;
}

.topo-premium-page .tp-simple-group ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 0 clamp(13px, 1.5vw, 20px) !important;
    list-style: none !important;
}

.topo-premium-page .tp-simple-group li {
    margin: .34rem 0 !important;
    padding: 0 !important;
    color: #294657;
    font-size: clamp(.885rem, .93vw, .96rem);
    line-height: 1.6;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section__text .tp-inline-strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #123e59 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none !important;
}

.topo-premium-page .tp-route-section__text .tp-inline-strong::before,
.topo-premium-page .tp-route-section__text .tp-inline-strong::after {
    display: none !important;
    content: none !important;
}

/* v40 — iPad 10 : topo plus large sans toucher iPhone/iPad mini étroit */
@media(min-width:800px) and (max-width:1180px) {

    main.topo-premium-page,
    .topo-premium-page.container {
        width: calc(100% - 10px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* v41 — Respiration du texte d’intro après élargissement iPad 10 */
.topo-premium-page .tp-intro {
    padding-left: clamp(14px, 2.4vw, 30px);
    padding-right: clamp(16px, 3vw, 38px);
}

.topo-premium-page .tp-intro p {
    max-width: 76ch;
}

@media(min-width:800px) and (max-width:1180px) {
    .topo-premium-page .tp-intro {
        padding-left: clamp(16px, 2.7vw, 30px);
        padding-right: clamp(22px, 3.8vw, 46px);
    }

    .topo-premium-page .tp-intro p {
        max-width: 72ch;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-intro {
        padding-left: 16px;
        padding-right: 16px;
    }

    .topo-premium-page .tp-intro p {
        max-width: none;
    }
}

/* v43 — Accents couleur sobres, dans la charte Alpes-Sud */
.topo-premium-page {
    --tp-gold: #b88a45;
    --tp-sky: #7fb2c2;
    --tp-mist: #eef7f8;
}

.topo-premium-page .tp-rail-card {
    background:
        radial-gradient(circle at 8% 0%, rgba(184, 138, 69, .105), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .80), rgba(241, 248, 249, .58));
}

.topo-premium-page .tp-rail-card::before {
    background:
        linear-gradient(180deg, var(--tp-navy) 0%, var(--tp-teal) 46%, var(--tp-gold) 100%);
}

.topo-premium-page .topo-premium-kicker {
    color: rgba(61, 127, 159, .98);
}

.topo-premium-page .tp-course-title__route {
    color: rgba(18, 62, 89, .86);
}

.topo-premium-page .tp-technical h2 {
    color: #07345c;
}

.topo-premium-page .topo-premium-info__row::before {
    filter: drop-shadow(0 4px 9px rgba(45, 138, 143, .16));
}

.topo-premium-page .tp-hero-photo,
.topo-premium-page .tp-low-photo,
.topo-premium-page .topo-gallery {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(234, 245, 247, .62) 58%, rgba(244, 240, 231, .50));
}

.topo-premium-page .tp-intro {
    background:
        radial-gradient(circle at 0% 10%, rgba(127, 178, 194, .16), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, .28), rgba(238, 247, 248, .18));
}

.topo-premium-page .tp-intro p::first-letter {
    color: #09385a;
    text-shadow: 0 5px 16px rgba(61, 127, 159, .16);
}

.topo-premium-page .tp-cartography {
    background:
        linear-gradient(135deg, rgba(248, 252, 252, .88), rgba(226, 241, 245, .66));
    border-color: rgba(61, 127, 159, .18);
}

.topo-premium-page .topo-premium-card-title p {
    color: rgba(45, 138, 143, .90);
}

.topo-premium-page .tp-course__heading h2 {
    color: rgba(0, 43, 85, .82) !important;
}

.topo-premium-page .tp-course__body {
    background:
        radial-gradient(circle at 0% 0%, rgba(127, 178, 194, .12), transparent 36%),
        linear-gradient(135deg, rgba(247, 251, 252, .74), rgba(232, 243, 246, .44));
}

.topo-premium-page .tp-route-section h3 {
    color: #082f4b;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(230, 242, 246, .72));
    border-color: rgba(45, 138, 143, .40) !important;
    box-shadow: 0 8px 19px rgba(0, 43, 85, .048), inset 0 0 0 1px rgba(255, 255, 255, .62);
}

.topo-premium-page .tp-route-section h3:hover {
    border-color: rgba(184, 138, 69, .42) !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    color: #123e59;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(225, 239, 244, .70)) !important;
    border-color: rgba(61, 127, 159, .32) !important;
}

.topo-premium-page .tp-route-section__text li {
    background:
        linear-gradient(135deg, rgba(232, 244, 247, .70), rgba(250, 252, 251, .58));
}

@media(max-width:720px) {
    .topo-premium-page .tp-rail-card {
        background:
            radial-gradient(circle at 8% 0%, rgba(184, 138, 69, .09), transparent 35%),
            linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(241, 248, 249, .64));
    }
}

/* v44 — Couleur plus assumée, toujours premium */
.topo-premium-page {
    background:
        radial-gradient(circle at 6% 0%, rgba(61, 127, 159, .20), transparent 34%),
        radial-gradient(circle at 96% 8%, rgba(184, 138, 69, .14), transparent 30%),
        linear-gradient(180deg, #e7f1f5 0%, #d9e8ef 48%, #edf6f8 100%);
}

.topo-premium-page .tp-rail-card {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .18), transparent 36%),
        radial-gradient(circle at 100% 6%, rgba(184, 138, 69, .13), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(236, 247, 248, .68));
    border-color: rgba(255, 255, 255, .82);
}

.topo-premium-page .tp-rail-card::before {
    width: 6px;
    background:
        linear-gradient(180deg, #002B55 0%, #2d8a8f 44%, #b88a45 100%);
}

.topo-premium-page .topo-premium-kicker {
    color: #2d8a8f;
}

.topo-premium-page .tp-course-title__place {
    color: #062c46;
}

.topo-premium-page .tp-course-title__route {
    color: #2d6176;
}

.topo-premium-page .tp-technical {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .32), rgba(224, 241, 245, .30));
}

.topo-premium-page .topo-premium-info__row dt {
    color: #59788e;
}

.topo-premium-page .topo-premium-info__row dd {
    color: #102f45;
}

.topo-premium-page .tp-hero-photo,
.topo-premium-page .tp-low-photo,
.topo-premium-page .topo-gallery {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .90), rgba(225, 242, 246, .72) 55%, rgba(244, 235, 218, .58));
    border-color: rgba(255, 255, 255, .88);
}

.topo-premium-page .tp-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .21), transparent 35%),
        linear-gradient(135deg, rgba(255, 255, 255, .42), rgba(225, 241, 245, .30));
}

.topo-premium-page .tp-intro::before {
    background:
        linear-gradient(180deg, rgba(0, 43, 85, .92), rgba(45, 138, 143, .84) 55%, rgba(184, 138, 69, .72));
}

.topo-premium-page .tp-intro p::first-letter {
    color: #002B55;
    text-shadow: 0 7px 18px rgba(45, 138, 143, .22);
}

.topo-premium-page .tp-cartography {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .15), transparent 38%),
        linear-gradient(135deg, rgba(252, 254, 254, .92), rgba(221, 239, 244, .72));
    border-color: rgba(45, 138, 143, .24);
}

.topo-premium-page .topo-premium-card-title p {
    color: #1f7d88;
}

.topo-premium-page .tp-course__heading h2 {
    color: #002B55 !important;
    opacity: .90 !important;
}

.topo-premium-page .tp-course__body {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .18), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(184, 138, 69, .10), transparent 32%),
        linear-gradient(135deg, rgba(250, 253, 253, .82), rgba(225, 240, 245, .58));
    box-shadow: 0 22px 52px rgba(0, 43, 85, .088);
}

.topo-premium-page .tp-route-section h3 {
    color: #062f4a;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(213, 236, 242, .86));
    border-color: rgba(45, 138, 143, .58) !important;
    box-shadow:
        0 9px 20px rgba(0, 43, 85, .060),
        inset 0 0 0 1px rgba(255, 255, 255, .72);
}

.topo-premium-page .tp-route-section h3::before {
    box-shadow:
        0 0 0 4px rgba(45, 138, 143, .16),
        0 7px 15px rgba(0, 43, 85, .16);
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    color: #093854;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(214, 235, 241, .78)) !important;
    border-color: rgba(45, 138, 143, .44) !important;
    box-shadow: 0 7px 16px rgba(0, 43, 85, .050);
}

.topo-premium-page .tp-route-section__text li {
    background:
        linear-gradient(135deg, rgba(220, 240, 245, .84), rgba(250, 253, 253, .66));
    box-shadow: 0 7px 16px rgba(0, 43, 85, .040);
}

.topo-premium-page .tp-simple-group__title {
    color: #0b4c64;
}

@media(max-width:720px) {
    .topo-premium-page {
        background:
            radial-gradient(circle at 0% 0%, rgba(61, 127, 159, .18), transparent 34%),
            linear-gradient(180deg, #e7f1f5 0%, #eaf5f7 100%);
    }

    .topo-premium-page .tp-course__body {
        background:
            radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .14), transparent 34%),
            linear-gradient(135deg, rgba(250, 253, 253, .84), rgba(228, 242, 246, .64));
    }
}

/* v45 — Couleur plus vivante, toujours contrôlée */
.topo-premium-page {
    --tp-alpine-blue: #0b5f82;
    --tp-glacier: #9bc9d4;
    --tp-lichen: #4d9b8f;
    --tp-sunstone: #c19a55;
    background:
        radial-gradient(circle at 4% 0%, rgba(45, 138, 143, .26), transparent 34%),
        radial-gradient(circle at 92% 4%, rgba(193, 154, 85, .18), transparent 31%),
        linear-gradient(180deg, #e4f0f4 0%, #d7e8ee 46%, #edf6f8 100%);
}

.topo-premium-page .tp-rail-card {
    background:
        radial-gradient(circle at 0% 0%, rgba(77, 155, 143, .22), transparent 35%),
        radial-gradient(circle at 100% 0%, rgba(193, 154, 85, .17), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(231, 245, 247, .72));
}

.topo-premium-page .tp-rail-card::before {
    width: 7px;
    background:
        linear-gradient(180deg, #002B55 0%, #0b5f82 34%, #2d8a8f 64%, #c19a55 100%);
}

.topo-premium-page .topo-premium-kicker {
    color: #0b6f89;
}

.topo-premium-page .tp-course-title__route {
    color: #236b7c;
}

.topo-premium-page .tp-technical h2 {
    color: #002B55;
}

.topo-premium-page .tp-technical {
    background:
        radial-gradient(circle at 100% 0%, rgba(193, 154, 85, .11), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .42), rgba(221, 240, 245, .38));
}

.topo-premium-page .topo-premium-info__row {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(232, 244, 247, .14));
}

.topo-premium-page .topo-premium-info__row dt {
    color: #527990;
}

.topo-premium-page .topo-premium-info__row dd {
    color: #092d45;
}

.topo-premium-page .tp-hero-photo,
/*.topo-premium-page .tp-low-photo,*/
.topo-premium-page .topo-gallery {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(218, 240, 245, .78) 48%, rgba(244, 234, 214, .64));
    box-shadow:
        0 30px 78px rgba(0, 43, 85, .135),
        0 0 0 1px rgba(255, 255, 255, .64) inset;
}

.topo-premium-page .tp-low-photo {
    background:
        transparent;
    box-shadow:
        0 0px 78px transparent,
        0 0 0 0px transparent inset;
}

.topo-premium-page .tp-hero-photo figcaption,
.topo-premium-page .tp-low-photo figcaption,
.topo-premium-page .topo-gallery figcaption {
    color: #466a7d;
}

.topo-premium-page .tp-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .25), transparent 35%),
        radial-gradient(circle at 100% 12%, rgba(193, 154, 85, .11), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, .48), rgba(220, 239, 244, .34));
}

.topo-premium-page .tp-intro::before {
    width: 6px;
    background:
        linear-gradient(180deg, #002B55 0%, #2d8a8f 54%, #c19a55 100%);
}

.topo-premium-page .tp-intro p {
    color: #203f52;
}

.topo-premium-page .tp-intro p::first-letter {
    color: #003457;
    text-shadow: 0 8px 20px rgba(45, 138, 143, .26);
}

.topo-premium-page .tp-cartography {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .20), transparent 36%),
        linear-gradient(135deg, rgba(254, 255, 255, .94), rgba(216, 237, 243, .78));
    border-color: rgba(45, 138, 143, .30);
}

.topo-premium-page .topo-premium-card-title p {
    color: #0b7a86;
}

.topo-premium-page .topo-premium-map__variant-title {
    color: #0b425f;
}

.topo-premium-page .tp-course__body {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .22), transparent 37%),
        radial-gradient(circle at 96% 0%, rgba(193, 154, 85, .14), transparent 34%),
        linear-gradient(135deg, rgba(252, 254, 254, .86), rgba(220, 239, 244, .66));
}

.topo-premium-page .tp-route-section h3 {
    color: #062d47;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(207, 233, 240, .88));
    border-color: rgba(45, 138, 143, .68) !important;
    box-shadow:
        0 10px 22px rgba(0, 43, 85, .064),
        inset 0 0 0 1px rgba(255, 255, 255, .78);
}

.topo-premium-page .tp-route-section h3::before {
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .96) 0 18%, transparent 20%),
        linear-gradient(135deg, #002B55, #2d8a8f 70%, #c19a55);
    box-shadow:
        0 0 0 4px rgba(45, 138, 143, .18),
        0 8px 16px rgba(0, 43, 85, .17);
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    color: #073b56;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(207, 232, 239, .82)) !important;
    border-color: rgba(45, 138, 143, .52) !important;
}

.topo-premium-page .tp-route-section__text li {
    background:
        linear-gradient(135deg, rgba(211, 236, 242, .86), rgba(250, 253, 253, .70));
}

.topo-premium-page .tp-simple-group__title {
    color: #0a5870;
}

@media(max-width:720px) {
    .topo-premium-page {
        background:
            radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .22), transparent 34%),
            linear-gradient(180deg, #e5f1f4 0%, #eef8f9 100%);
    }

    .topo-premium-page .tp-intro {
        background:
            radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .18), transparent 34%),
            linear-gradient(135deg, rgba(255, 255, 255, .50), rgba(225, 241, 245, .38));
    }

    .topo-premium-page .tp-course__body {
        background:
            radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .18), transparent 34%),
            linear-gradient(135deg, rgba(252, 254, 254, .88), rgba(224, 241, 245, .70));
    }
}

/* v46 — Intro calmée, Course clés en main plus vivante */
.topo-premium-page .tp-intro {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .38), rgba(232, 243, 246, .22)) !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-intro::before {
    width: 4px !important;
    background:
        linear-gradient(180deg, rgba(0, 43, 85, .58), rgba(45, 138, 143, .48)) !important;
}

.topo-premium-page .tp-intro p {
    color: #263f50;
}

.topo-premium-page .tp-intro p::first-letter {
    color: #073654;
    text-shadow: none !important;
}

/* Course clés en main : plus de présence sans ajouter de décor parasite */
.topo-premium-page .tp-course__heading h2 {
    color: #002B55 !important;
    opacity: .96 !important;
}

.topo-premium-page .tp-course__body {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .23), transparent 34%),
        radial-gradient(circle at 100% 6%, rgba(193, 154, 85, .16), transparent 32%),
        linear-gradient(135deg, rgba(252, 254, 254, .92), rgba(219, 238, 244, .72)) !important;
    box-shadow:
        0 24px 58px rgba(0, 43, 85, .105),
        inset 0 0 0 1px rgba(255, 255, 255, .68) !important;
}

.topo-premium-page .tp-route-section {
    position: relative;
    padding-left: clamp(12px, 1.8vw, 20px);
}

.topo-premium-page .tp-route-section::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(0, 43, 85, .50), rgba(45, 138, 143, .56), rgba(193, 154, 85, .42));
}

.topo-premium-page .tp-route-section h3 {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(203, 231, 239, .92)) !important;
    border-color: rgba(45, 138, 143, .64) !important;
    color: #062c45 !important;
    box-shadow:
        0 10px 21px rgba(0, 43, 85, .068),
        inset 0 0 0 1px rgba(255, 255, 255, .74) !important;
}

.topo-premium-page .tp-route-section h3::before {
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .96) 0 18%, transparent 20%),
        linear-gradient(135deg, #002B55 0%, #2d8a8f 62%, #c19a55 100%) !important;
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow,
.topo-premium-page .tp-route-section__text--guide {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .20), rgba(225, 241, 245, .12));
    border-radius: 14px;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-guide-lead,
.topo-premium-page .tp-guide-leg p {
    color: #223f51 !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(208, 234, 241, .86)) !important;
    border-color: rgba(45, 138, 143, .56) !important;
    color: #073a55 !important;
}

.topo-premium-page .tp-route-section__text li {
    background:
        linear-gradient(135deg, rgba(214, 238, 244, .92), rgba(250, 253, 253, .74)) !important;
    box-shadow:
        0 8px 18px rgba(0, 43, 85, .045),
        inset 0 0 0 1px rgba(255, 255, 255, .52) !important;
}

.topo-premium-page .tp-simple-group__title {
    color: #0a526b !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-intro {
        background:
            linear-gradient(135deg, rgba(255, 255, 255, .42), rgba(232, 243, 246, .24)) !important;
    }

    .topo-premium-page .tp-route-section {
        padding-left: 12px;
    }

    .topo-premium-page .tp-route-section::before {
        top: 4px;
        bottom: 4px;
        width: 2px;
    }

    .topo-premium-page .tp-course__body {
        background:
            radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .16), transparent 32%),
            linear-gradient(135deg, rgba(252, 254, 254, .90), rgba(224, 241, 245, .72)) !important;
    }
}

/* v47 — Course clés en main plus rythmée, intro stabilisée */
.topo-premium-page .tp-course {
    position: relative;
}

.topo-premium-page .tp-course__heading {
    margin-bottom: 18px !important;
}

.topo-premium-page .tp-course__heading h2 {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    color: #002B55 !important;
    opacity: .98 !important;
}

.topo-premium-page .tp-course__heading h2::before {
    content: "";
    display: block;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #002B55, #2d8a8f, #c19a55);
}

.topo-premium-page .tp-course__body {
    position: relative;
    background:
        linear-gradient(90deg, rgba(0, 43, 85, .055), transparent 18%),
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .25), transparent 33%),
        radial-gradient(circle at 100% 3%, rgba(193, 154, 85, .17), transparent 30%),
        linear-gradient(135deg, rgba(253, 254, 254, .94), rgba(218, 237, 243, .76)) !important;
    border: 1px solid rgba(255, 255, 255, .72);
}

.topo-premium-page .tp-course__body::before {
    content: "";
    display: block !important;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    border-radius: 0;
    background: linear-gradient(180deg, #002B55 0%, #2d8a8f 58%, #c19a55 100%);
    opacity: .72;
}

.topo-premium-page .tp-route-section {
    padding-left: clamp(16px, 2.3vw, 26px);
}

.topo-premium-page .tp-route-section::before {
    width: 2px;
    left: 4px;
    top: 10px;
    bottom: 10px;
    opacity: .82;
}

.topo-premium-page .tp-route-section h3 {
    transform: translateX(-2px);
    border-color: rgba(45, 138, 143, .72) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(199, 229, 237, .92)) !important;
    box-shadow:
        0 11px 24px rgba(0, 43, 85, .075),
        inset 0 0 0 1px rgba(255, 255, 255, .82) !important;
}

.topo-premium-page .tp-route-section h3::before {
    width: 11px !important;
    height: 11px !important;
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .98) 0 18%, transparent 20%),
        linear-gradient(135deg, #002B55 0%, #2d8a8f 58%, #c19a55 100%) !important;
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow,
.topo-premium-page .tp-route-section__text--guide {
    padding: clamp(2px, .7vw, 6px) 0 0;
    background: transparent !important;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-guide-lead,
.topo-premium-page .tp-guide-leg p {
    color: #1f3e50 !important;
}

.topo-premium-page .tp-guide-legs {
    gap: clamp(15px, 1.9vw, 22px) !important;
}

.topo-premium-page .tp-guide-leg {
    padding-left: clamp(10px, 1.3vw, 15px) !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(201, 231, 239, .88)) !important;
    border-color: rgba(45, 138, 143, .62) !important;
    box-shadow:
        0 8px 18px rgba(0, 43, 85, .054),
        inset 0 0 0 1px rgba(255, 255, 255, .66) !important;
}

.topo-premium-page .tp-route-section__text ul,
.topo-premium-page .tp-route-section__text ol {
    gap: 9px !important;
}

.topo-premium-page .tp-route-section__text li {
    background:
        linear-gradient(135deg, rgba(208, 235, 242, .92), rgba(251, 253, 253, .76)) !important;
    border-left: 3px solid rgba(45, 138, 143, .46);
    box-shadow:
        0 8px 18px rgba(0, 43, 85, .045),
        inset 0 0 0 1px rgba(255, 255, 255, .56) !important;
}

.topo-premium-page .tp-simple-group {
    padding-left: clamp(16px, 1.8vw, 24px) !important;
}

.topo-premium-page .tp-simple-group__title {
    color: #08516a !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-course__heading h2::before {
        width: 24px;
    }

    .topo-premium-page .tp-course__body::before {
        width: 4px;
    }

    .topo-premium-page .tp-route-section {
        padding-left: 14px;
    }

    .topo-premium-page .tp-route-section::before {
        left: 3px;
    }
}

/* v48 — Listes calmées : moins d’effet carte, lecture plus naturelle */
.topo-premium-page .tp-route-section__text ul,
.topo-premium-page .tp-route-section__text ol {
    gap: 6px !important;
}

.topo-premium-page .tp-route-section__text li {
    background: transparent !important;
    border-left: 0 !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    color: #223f51 !important;
}

.topo-premium-page .tp-route-section__text li::before {
    opacity: .52 !important;
}

.topo-premium-page .tp-simple-group li {
    background: transparent !important;
    border-left: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-guide-leg {
    padding-left: clamp(6px, 1vw, 10px) !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    box-shadow: none !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(215, 237, 243, .62)) !important;
    border-color: rgba(45, 138, 143, .38) !important;
}

/* v50 — Course clés en main sans traits parasites */
.topo-premium-page .tp-course__heading h2::before,
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-route-section::before,
.topo-premium-page .tp-route-section h3::before {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading h2 {
    display: block !important;
    gap: 0 !important;
}

.topo-premium-page .tp-route-section {
    padding-left: 0 !important;
}

.topo-premium-page .tp-route-section h3 {
    display: inline-block !important;
    margin-bottom: clamp(17px, 2vw, 23px) !important;
    padding: 7px 13px 8px !important;
    color: #082f4b !important;
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(45, 138, 143, .34) !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    letter-spacing: .15em !important;
}

.topo-premium-page .tp-course__body {
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .15), transparent 33%),
        radial-gradient(circle at 100% 6%, rgba(193, 154, 85, .09), transparent 30%),
        linear-gradient(135deg, rgba(253, 254, 254, .91), rgba(224, 240, 245, .62)) !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-route-section h3 {
        padding: 7px 11px !important;
        letter-spacing: .13em !important;
    }
}

/* v53 — Course clés en main : flux éditorial, une seule zone, sans traits */
.topo-premium-page .tp-course__heading h2::before,
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-route-section::before,
.topo-premium-page .tp-route-section::after,
.topo-premium-page .tp-route-section h3::before,
.topo-premium-page .tp-route-section h3::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading {
    margin-bottom: clamp(18px, 2.5vw, 30px) !important;
}

.topo-premium-page .tp-course__heading h2 {
    display: block !important;
    padding: 0 !important;
    color: #002B55 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .96 !important;
}

.topo-premium-page .tp-course__body {
    display: block !important;
    padding: clamp(26px, 3.8vw, 48px) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(45, 138, 143, .13), transparent 31%),
        radial-gradient(circle at 100% 0%, rgba(193, 154, 85, .08), transparent 28%),
        linear-gradient(135deg, rgba(253, 254, 254, .90), rgba(224, 240, 245, .56)) !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 18px !important;
    box-shadow:
        0 22px 52px rgba(0, 43, 85, .088),
        inset 0 0 0 1px rgba(255, 255, 255, .44) !important;
}

.topo-premium-page .tp-route-section {
    display: grid !important;
    grid-template-columns: minmax(126px, 170px) minmax(0, 1fr) !important;
    column-gap: clamp(22px, 3.2vw, 44px) !important;
    align-items: start !important;
    padding: clamp(18px, 2.4vw, 28px) 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section+.tp-route-section {
    margin-top: 0 !important;
}

.topo-premium-page .tp-route-section h3 {
    grid-column: 1 !important;
    display: block !important;
    width: auto !important;
    margin: .15rem 0 0 !important;
    padding: 0 !important;
    color: #0a526b !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: clamp(.72rem, .78vw, .84rem) !important;
    line-height: 1.35 !important;
    font-weight: 860 !important;
    letter-spacing: .19em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow,
.topo-premium-page .tp-route-section__text--guide {
    grid-column: 2 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-guide-lead,
.topo-premium-page .tp-guide-leg p {
    color: #223f51 !important;
}

.topo-premium-page .tp-guide-legs {
    display: grid !important;
    gap: clamp(12px, 1.6vw, 18px) !important;
}

.topo-premium-page .tp-guide-leg {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0a405a !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 760 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}

.topo-premium-page .tp-route-section__text ul,
.topo-premium-page .tp-route-section__text ol {
    margin-top: .55rem !important;
    gap: .32rem !important;
}

.topo-premium-page .tp-route-section__text li,
.topo-premium-page .tp-simple-group li {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding-left: 0 !important;
}

.topo-premium-page .tp-simple-groups {
    gap: clamp(13px, 1.7vw, 20px) !important;
}

.topo-premium-page .tp-simple-group {
    padding-left: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-simple-group__title {
    margin-bottom: .35rem !important;
    color: #0a526b !important;
}

@media(max-width:940px) {
    .topo-premium-page .tp-route-section {
        grid-template-columns: minmax(112px, 148px) minmax(0, 1fr) !important;
        column-gap: clamp(18px, 3vw, 30px) !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course__body {
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .topo-premium-page .tp-route-section {
        display: block !important;
        padding: 18px 0 !important;
    }

    .topo-premium-page .tp-route-section h3 {
        margin: 0 0 12px !important;
        font-size: .78rem !important;
        letter-spacing: .16em !important;
    }
}

/* v54 — Sous-rubriques internes plus visibles dans le flux éditorial */
.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-simple-group__title {
    display: block !important;
    margin: 0 0 .42rem !important;
    padding: 0 !important;
    color: #073654 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: clamp(.94rem, 1.02vw, 1.06rem) !important;
    line-height: 1.36 !important;
    font-weight: 820 !important;
    letter-spacing: .035em !important;
    text-transform: none !important;
}

.topo-premium-page .tp-simple-group__title em {
    font-size: inherit !important;
    font-weight: 760 !important;
}

.topo-premium-page .tp-guide-leg+.tp-guide-leg,
.topo-premium-page .tp-simple-group+.tp-simple-group {
    margin-top: clamp(13px, 1.6vw, 18px) !important;
}

.topo-premium-page .tp-guide-leg p,
.topo-premium-page .tp-simple-group li {
    font-size: clamp(.94rem, .99vw, 1.02rem) !important;
}

@media(max-width:720px) {

    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-simple-group__title {
        font-size: 1rem !important;
        margin-bottom: .38rem !important;
    }
}

/* v55 — Intro plus naturelle, sans effet encadré */
.topo-premium-page .tp-intro {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding-top: clamp(18px, 2.4vw, 28px) !important;
    padding-bottom: clamp(20px, 2.8vw, 34px) !important;
}

.topo-premium-page .tp-intro::before,
.topo-premium-page .tp-intro::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-intro p {
    color: #263f50 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-intro p::first-letter {
    color: #073654 !important;
    text-shadow: none !important;
}

@media(min-width:800px) and (max-width:1180px) {
    .topo-premium-page .tp-intro {
        padding-top: clamp(16px, 2vw, 24px) !important;
        padding-bottom: clamp(20px, 2.7vw, 30px) !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-intro {
        padding-top: 18px !important;
        padding-bottom: 24px !important;
    }
}

/* v56 — Mobile : moins de cadres imbriqués dans Course clés en main */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        margin-top: 34px !important;
    }

    .topo-premium-page .tp-course__body {
        padding: 14px 18px !important;
        border-radius: 12px !important;
        background:
            linear-gradient(135deg, rgba(253, 254, 254, .78), rgba(226, 241, 245, .46)) !important;
        border: 1px solid rgba(255, 255, 255, .62) !important;
        box-shadow: 0 14px 34px rgba(0, 43, 85, .070) !important;
    }

    .topo-premium-page .tp-route-section {
        display: block !important;
        padding: 18px 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section+.tp-route-section {
        margin-top: 2px !important;
    }

    .topo-premium-page .tp-route-section h3 {
        margin: 0 0 13px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #0a526b !important;
        font-size: .78rem !important;
        letter-spacing: .16em !important;
    }

    .topo-premium-page .tp-route-section__text,
    .topo-premium-page .tp-route-section__text--flow,
    .topo-premium-page .tp-route-section__text--guide {
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section__text p,
    .topo-premium-page .tp-guide-lead,
    .topo-premium-page .tp-guide-leg p {
        font-size: clamp(1rem, 4.6vw, 1.08rem) !important;
        line-height: 1.58 !important;
    }

    .topo-premium-page .tp-guide-leg,
    .topo-premium-page .tp-simple-group {
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* v57 — Mobile : Course clés en main plus naturelle, plus large */
@media(max-width:720px) {
    .topo-premium-page .tp-course__body {
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section {
        padding: 19px 0 22px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section h3 {
        margin: 0 0 11px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #0a526b !important;
        font-size: .76rem !important;
        line-height: 1.28 !important;
        letter-spacing: .16em !important;
    }

    .topo-premium-page .tp-route-section__text p,
    .topo-premium-page .tp-guide-lead,
    .topo-premium-page .tp-guide-leg p {
        font-size: 1rem !important;
        line-height: 1.54 !important;
    }

    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-simple-group__title {
        font-size: .98rem !important;
        line-height: 1.35 !important;
    }
}

/* v61 — Course clés en main : touche légère, sans modifier la taille de police */
.topo-premium-page .tp-course__heading h2 {
    color: #002B55 !important;
    opacity: .98 !important;
}

.topo-premium-page .tp-route-section h3 {
    color: #075d74 !important;
}

.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-simple-group__title {
    color: #073654 !important;
    font-weight: 820 !important;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-guide-lead,
.topo-premium-page .tp-guide-leg p {
    color: #213f52 !important;
}

@media(min-width:721px) {
    .topo-premium-page .tp-route-section {
        padding-top: clamp(19px, 2.5vw, 30px) !important;
        padding-bottom: clamp(19px, 2.5vw, 30px) !important;
    }

    .topo-premium-page .tp-route-section h3 {
        opacity: .96 !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-route-section h3 {
        color: #075d74 !important;
    }

    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-simple-group__title {
        color: #073654 !important;
        font-weight: 800 !important;
    }
}

/* v62 — iPad mini : moins de cadre, plus de largeur utile */
@media(min-width:721px) and (max-width:940px) {
    .topo-premium-page .tp-course__body {
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section {
        grid-template-columns: minmax(92px, 118px) minmax(0, 1fr) !important;
        column-gap: clamp(18px, 3vw, 28px) !important;
        padding: clamp(19px, 2.8vw, 28px) 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section h3 {
        margin: .16rem 0 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section__text,
    .topo-premium-page .tp-route-section__text--flow,
    .topo-premium-page .tp-route-section__text--guide {
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* v74 — Listes : vraies puces discrètes, sans effet carte */
.topo-premium-page .tp-route-section__text ul,
.topo-premium-page .tp-route-section__text ol,
.topo-premium-page .tp-simple-group ul,
.topo-premium-page .tp-simple-group ol {
    display: block !important;
    margin: clamp(10px, 1.5vw, 16px) 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.topo-premium-page .tp-route-section__text li,
.topo-premium-page .tp-simple-group li {
    position: relative !important;
    margin: .34rem 0 !important;
    padding: 0 0 0 1.15rem !important;
    color: #223f51 !important;
    font-size: inherit !important;
    line-height: 1.62 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section__text li::before,
.topo-premium-page .tp-simple-group li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .78em !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 999px !important;
    background: rgba(45, 138, 143, .62) !important;
    box-shadow: 0 0 0 2px rgba(45, 138, 143, .08) !important;
}

.topo-premium-page .tp-route-section__text ol {
    counter-reset: tp-ordered-list;
}

.topo-premium-page .tp-route-section__text ol>li,
.topo-premium-page .tp-simple-group ol>li {
    counter-increment: tp-ordered-list;
    padding-left: 1.55rem !important;
}

.topo-premium-page .tp-route-section__text ol>li::before,
.topo-premium-page .tp-simple-group ol>li::before {
    content: counter(tp-ordered-list) "." !important;
    top: 0 !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(45, 138, 143, .78) !important;
    font-size: .82em !important;
    line-height: inherit !important;
    font-weight: 760 !important;
}

@media(max-width:640px) {

    .topo-premium-page .tp-route-section__text li,
    .topo-premium-page .tp-simple-group li {
        padding-left: 1rem !important;
        line-height: 1.58 !important;
    }

    .topo-premium-page .tp-route-section__text li::before,
    .topo-premium-page .tp-simple-group li::before {
        width: 3.5px !important;
        height: 3.5px !important;
        top: .76em !important;
    }
}

/* v75 — Puces de listes plus visibles en bleu */
.topo-premium-page .tp-route-section__text li::before,
.topo-premium-page .tp-simple-group li::before {
    width: 5px !important;
    height: 5px !important;
    background: rgba(0, 43, 85, .76) !important;
    box-shadow: 0 0 0 2px rgba(0, 43, 85, .10) !important;
}

.topo-premium-page .tp-route-section__text ol>li::before,
.topo-premium-page .tp-simple-group ol>li::before {
    color: rgba(0, 43, 85, .82) !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media(max-width:640px) {

    .topo-premium-page .tp-route-section__text li::before,
    .topo-premium-page .tp-simple-group li::before {
        width: 4.5px !important;
        height: 4.5px !important;
        background: rgba(0, 43, 85, .78) !important;
    }
}

/* ========================================================================== */
/* v79 — La course clés en main : ultra sobre, sans cadre ni panneau mobile   */
/* ========================================================================== */

.topo-premium-page .tp-course {
    width: min(940px, 100%) !important;
    margin: clamp(40px, 5vw, 66px) 0 0 !important;
    padding: clamp(24px, 3.4vw, 38px) 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(0, 43, 85, .13) !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.topo-premium-page .tp-course::before,
.topo-premium-page .tp-course::after,
.topo-premium-page .tp-course__heading::before,
.topo-premium-page .tp-course__heading::after,
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course__body::after,
.topo-premium-page .tp-route-section::before,
.topo-premium-page .tp-route-section::after,
.topo-premium-page .tp-route-section h3::before,
.topo-premium-page .tp-route-section h3::after,
.topo-premium-page .tp-guide-leg::before,
.topo-premium-page .tp-guide-leg::after,
.topo-premium-page .tp-pitch-line::before,
.topo-premium-page .tp-pitch-line::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading {
    margin: 0 0 clamp(22px, 3vw, 34px) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__heading h2 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #062d47 !important;
    font-size: clamp(.88rem, 1vw, 1.02rem) !important;
    line-height: 1.08 !important;
    font-weight: 870 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__body {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.topo-premium-page .tp-route-section,
.topo-premium-page .tp-guide-leg {
    display: grid !important;
    grid-template-columns: minmax(142px, 190px) minmax(0, 1fr) !important;
    gap: clamp(20px, 3vw, 38px) !important;
    align-items: start !important;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 36px) 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(0, 43, 85, .10) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section:first-child,
.topo-premium-page .tp-guide-legs>.tp-guide-leg:first-child {
    padding-top: 0 !important;
    border-top: 0 !important;
}

.topo-premium-page .tp-route-section:last-child,
.topo-premium-page .tp-guide-legs>.tp-guide-leg:last-child {
    padding-bottom: 0 !important;
}

.topo-premium-page .tp-route-section h3,
.topo-premium-page .tp-guide-leg strong,
.topo-premium-page .tp-route-section__text strong {
    position: static !important;
    top: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #007084 !important;
    font-size: clamp(.66rem, .76vw, .76rem) !important;
    line-height: 1.28 !important;
    font-weight: 860 !important;
    letter-spacing: .155em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow,
.topo-premium-page .tp-route-section__text--guide {
    max-width: 74ch !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-guide-lead,
.topo-premium-page .tp-guide-leg p,
.topo-premium-page .tp-pitch-line {
    margin: 0 !important;
    color: #233f51 !important;
    font-size: clamp(.94rem, 1vw, 1.02rem) !important;
    line-height: 1.70 !important;
    font-weight: 400 !important;
}

.topo-premium-page .tp-route-section__text>p+p,
.topo-premium-page .tp-route-section__text--flow p+p,
.topo-premium-page .tp-guide-leg p+p {
    margin-top: .95rem !important;
}

.topo-premium-page .tp-guide-lead {
    max-width: 74ch !important;
    margin: 0 0 clamp(16px, 2vw, 24px) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-guide-legs {
    display: grid !important;
    gap: 0 !important;
    margin-top: clamp(14px, 2vw, 22px) !important;
}

.topo-premium-page .tp-pitch-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 16px !important;
    margin: clamp(16px, 2vw, 24px) 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-pitch-line {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__body>.topo-gallery {
    margin-top: clamp(20px, 2.6vw, 34px) !important;
}

/* Tablette : on garde l'air, mais sans encadrer la section. */
@media(min-width:721px) and (max-width:1120px) {
    .topo-premium-page .tp-course {
        width: auto !important;
        margin: clamp(38px, 5vw, 54px) clamp(18px, 3vw, 30px) 0 !important;
        padding-top: clamp(24px, 3vw, 34px) !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        grid-template-columns: minmax(116px, 150px) minmax(0, 1fr) !important;
        gap: clamp(20px, 3vw, 30px) !important;
        padding: clamp(22px, 3vw, 32px) 0 !important;
    }
}

/* Mobile : plus aucun cadre, marges latérales propres, lecture naturelle. */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: auto !important;
        margin: 34px 14px 0 !important;
        padding: 24px 0 0 !important;
        border-top: 1px solid rgba(0, 43, 85, .14) !important;
    }

    .topo-premium-page .tp-course__heading {
        margin: 0 0 22px !important;
    }

    .topo-premium-page .tp-course__heading h2 {
        font-size: .72rem !important;
        line-height: 1.22 !important;
        letter-spacing: .135em !important;
    }

    .topo-premium-page .tp-course__body {
        margin: 0 !important;
        padding: 0 !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        display: block !important;
        padding: 22px 0 !important;
        border-top: 1px solid rgba(0, 43, 85, .095) !important;
    }

    .topo-premium-page .tp-route-section:first-child,
    .topo-premium-page .tp-guide-legs>.tp-guide-leg:first-child {
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        margin: 0 0 10px !important;
        padding: 0 !important;
        font-size: .64rem !important;
        line-height: 1.25 !important;
        letter-spacing: .13em !important;
    }

    .topo-premium-page .tp-route-section__text p,
    .topo-premium-page .tp-guide-lead,
    .topo-premium-page .tp-guide-leg p,
    .topo-premium-page .tp-pitch-line {
        font-size: .94rem !important;
        line-height: 1.62 !important;
    }

    .topo-premium-page .tp-pitch-list {
        display: block !important;
    }

    .topo-premium-page .tp-pitch-line+.tp-pitch-line {
        margin-top: 8px !important;
    }
}

@media(max-width:420px) {
    .topo-premium-page .tp-course {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}

/* ========================================================================== */
/* v80 — Ajustements fins sur base v79 : section plus unifiée, desktop plus   */
/*       élégant, sans cadre lourd ni liseré dégradé                          */
/* ========================================================================== */

/* Le titre de section ne doit plus sembler attaché uniquement au 1er item. */
.topo-premium-page .tp-course {
    padding-top: clamp(26px, 3.8vw, 44px) !important;
}

.topo-premium-page .tp-course__heading {
    position: relative !important;
    margin: 0 0 clamp(26px, 3.4vw, 42px) !important;
    padding: 0 0 clamp(18px, 2.1vw, 24px) !important;
}

.topo-premium-page .tp-course__heading h2 {
    color: #082f4a !important;
    letter-spacing: .18em !important;
}

/* Trait sobre, non dégradé, qui pose le titre comme l'entrée de toute la section. */
.topo-premium-page .tp-course__heading::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(120px, 24%) !important;
    height: 1px !important;
    background: rgba(0, 43, 85, .22) !important;
}

/* Les rubriques gardent le même langage, mais respirent un peu plus. */
.topo-premium-page .tp-route-section,
.topo-premium-page .tp-guide-leg {
    padding: clamp(26px, 3.2vw, 38px) 0 !important;
}

.topo-premium-page .tp-route-section:first-child {
    padding-top: 0 !important;
}

/* Desktop : on se permet un support de lecture à peine perceptible,
   ouvert, sans bordure, pour faire plus fini et moins brut. */
@media(min-width:1121px) {
    .topo-premium-page .tp-course {
        width: min(960px, 100%) !important;
    }

    .topo-premium-page .tp-course__body {
        position: relative !important;
        padding: clamp(6px, .8vw, 10px) clamp(18px, 2.2vw, 30px) clamp(8px, .9vw, 12px) !important;
        background:
            linear-gradient(90deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .08) 58%, transparent) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course__body::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 1px !important;
        background: rgba(0, 43, 85, .10) !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        grid-template-columns: minmax(150px, 205px) minmax(0, 1fr) !important;
        gap: clamp(24px, 3.2vw, 44px) !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        color: #006a7b !important;
    }
}

/* iPad : pas de carte, mais davantage d'air autour du bloc course. */
@media(min-width:721px) and (max-width:1120px) {
    .topo-premium-page .tp-course {
        margin-left: clamp(22px, 3.5vw, 34px) !important;
        margin-right: clamp(22px, 3.5vw, 34px) !important;
        padding-top: 30px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 30px !important;
        padding-bottom: 20px !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        padding: 26px 0 !important;
    }
}

/* iPhone : on évite l'effet "titre + premier item collés". */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        margin-left: 18px !important;
        margin-right: 18px !important;
        padding-top: 27px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 28px !important;
        padding-bottom: 17px !important;
    }

    .topo-premium-page .tp-course__heading::after {
        width: 74px !important;
        background: rgba(0, 43, 85, .20) !important;
    }

    .topo-premium-page .tp-course__heading h2 {
        font-size: .74rem !important;
        line-height: 1.24 !important;
        letter-spacing: .14em !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        padding: 24px 0 !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        margin-bottom: 12px !important;
    }
}

@media(max-width:420px) {
    .topo-premium-page .tp-course {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
}

/* ========================================================================== */
/* v81 — La course clés en main : retrait des liserés, titre rapproché        */
/* ========================================================================== */

.topo-premium-page .tp-course {
    border-top: 0 !important;
    padding-top: clamp(18px, 2.6vw, 30px) !important;
}

.topo-premium-page .tp-course__heading {
    margin-bottom: clamp(14px, 1.9vw, 22px) !important;
    padding-bottom: 0 !important;
}

.topo-premium-page .tp-course__heading::after,
.topo-premium-page .tp-course__heading h2::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading h2 {
    color: #082f4a !important;
}

/* Desktop : le fond léger suffit, pas de liseré vertical ou séparation ajoutée. */
@media(min-width:1121px) {
    .topo-premium-page .tp-course__body {
        padding: clamp(16px, 1.7vw, 24px) clamp(20px, 2.4vw, 32px) clamp(14px, 1.8vw, 24px) !important;
        background:
            linear-gradient(90deg, rgba(255, 255, 255, .30), rgba(255, 255, 255, .10) 62%, transparent) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course__body::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-route-section:first-child {
        padding-top: 0 !important;
    }
}

/* Tablette : pas de trait supérieur, juste de l'air et une section posée. */
@media(min-width:721px) and (max-width:1120px) {
    .topo-premium-page .tp-course {
        border-top: 0 !important;
        padding-top: 22px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 22px !important;
        padding-bottom: 0 !important;
    }
}

/* Mobile : suppression de la séparation haute, titre plus proche du contenu. */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        border-top: 0 !important;
        padding-top: 20px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 20px !important;
        padding-bottom: 0 !important;
    }

    .topo-premium-page .tp-course__heading::after {
        display: none !important;
        content: none !important;
    }
}

/* ========================================================================== */
/* v82 — La course clés en main : mobile clarifié, desktop plus vivant        */
/*       Esprit fiche technique, mais sans cadre lourd                        */
/* ========================================================================== */

/* Base : titre sobre, proche du contenu. */
.topo-premium-page .tp-course {
    border-top: 0 !important;
}

.topo-premium-page .tp-course__heading {
    margin-bottom: clamp(16px, 2.1vw, 24px) !important;
    padding-bottom: 0 !important;
}

.topo-premium-page .tp-course__heading h2 {
    color: #082f4a !important;
    font-weight: 870 !important;
}

/* Desktop : réintroduit une présence légère, plus proche de la fiche technique. */
@media(min-width:1121px) {
    .topo-premium-page .tp-course {
        width: min(960px, 100%) !important;
        padding-top: clamp(20px, 2.8vw, 34px) !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 18px !important;
    }

    .topo-premium-page .tp-course__body {
        position: relative !important;
        padding: clamp(22px, 2.6vw, 34px) clamp(24px, 3vw, 42px) clamp(20px, 2.6vw, 32px) !important;
        background:
            radial-gradient(circle at 0% 0%, rgba(244, 240, 231, .50), transparent 36%),
            linear-gradient(135deg, rgba(255, 255, 255, .42), rgba(234, 243, 246, .22)) !important;
        border: 1px solid rgba(255, 255, 255, .58) !important;
        box-shadow: 0 18px 42px rgba(0, 43, 85, .055) !important;
        border-radius: 2px !important;
        overflow: hidden !important;
    }

    .topo-premium-page .tp-course__body::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 3px !important;
        background: linear-gradient(180deg, rgba(0, 43, 85, .72), rgba(45, 138, 143, .62), rgba(196, 153, 77, .34)) !important;
    }

    .topo-premium-page .tp-course__body::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        grid-template-columns: minmax(150px, 205px) minmax(0, 1fr) !important;
        gap: clamp(24px, 3.2vw, 44px) !important;
        border-top-color: rgba(0, 43, 85, .085) !important;
    }

    .topo-premium-page .tp-route-section:first-child,
    .topo-premium-page .tp-guide-legs>.tp-guide-leg:first-child {
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        color: #006f82 !important;
    }
}

/* iPad : rester sobre, pas de carte lourde, mais une hiérarchie claire. */
@media(min-width:721px) and (max-width:1120px) {
    .topo-premium-page .tp-course {
        border-top: 0 !important;
        padding-top: 24px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 20px !important;
        padding-bottom: 0 !important;
    }

    .topo-premium-page .tp-course__heading::after,
    .topo-premium-page .tp-course__heading h2::after {
        display: none !important;
        content: none !important;
    }
}

/* Mobile : remettre le liseré utile entre le titre et le premier bloc. */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        border-top: 0 !important;
        padding-top: 20px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 22px !important;
        padding-bottom: 16px !important;
        border-bottom: 1px solid rgba(0, 43, 85, .14) !important;
    }

    .topo-premium-page .tp-course__heading::after,
    .topo-premium-page .tp-course__heading h2::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-course__heading h2 {
        font-size: .74rem !important;
        line-height: 1.24 !important;
        letter-spacing: .14em !important;
    }

    .topo-premium-page .tp-route-section:first-child {
        padding-top: 0 !important;
        border-top: 0 !important;
    }
}

/* ========================================================================== */
/* v83 — Desktop : plus de vie sans ligne verticale                           */
/*       Mobile conservé depuis v82                                           */
/* ========================================================================== */

@media(min-width:1121px) {
    .topo-premium-page .tp-course__body {
        position: relative !important;
        padding: clamp(24px, 2.8vw, 36px) clamp(26px, 3vw, 44px) clamp(22px, 2.8vw, 34px) !important;
        background:
            radial-gradient(circle at 7% 0%, rgba(244, 240, 231, .60), transparent 32%),
            radial-gradient(circle at 96% 12%, rgba(45, 138, 143, .075), transparent 28%),
            linear-gradient(135deg, rgba(255, 255, 255, .48), rgba(234, 243, 246, .24)) !important;
        border: 1px solid rgba(255, 255, 255, .60) !important;
        border-radius: 3px !important;
        box-shadow:
            0 18px 42px rgba(0, 43, 85, .052),
            inset 0 1px 0 rgba(255, 255, 255, .48) !important;
        overflow: hidden !important;
    }

    .topo-premium-page .tp-course__body::before,
    .topo-premium-page .tp-course__body::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 16px !important;
    }

    .topo-premium-page .tp-course__heading h2 {
        color: #082f4a !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        border-top-color: rgba(0, 43, 85, .075) !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        color: #006f82 !important;
    }

    .topo-premium-page .tp-route-section h3 {
        position: relative !important;
    }

    .topo-premium-page .tp-route-section h3::after,
    .topo-premium-page .tp-guide-leg strong::after,
    .topo-premium-page .tp-route-section__text strong::after {
        content: "" !important;
        display: block !important;
        width: 28px !important;
        height: 2px !important;
        margin: 10px 0 0 !important;
        background: rgba(196, 153, 77, .48) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-route-section:first-child h3::after {
        background: rgba(45, 138, 143, .34) !important;
    }
}

/* On neutralise explicitement la barre verticale introduite en v82. */
@media(min-width:1121px) {
    .topo-premium-page .tp-course__body::before {
        width: 0 !important;
        background: none !important;
    }
}

/* ========================================================================== */
/* v85 — Course clés en main : touches couleur élégantes, sans liseret        */
/*       Suppression des pastilles scolaires, retour à une lecture classe     */
/* ========================================================================== */

@media(min-width:1121px) {
    .topo-premium-page .tp-course__body {
        background:
            radial-gradient(circle at 6% 0%, rgba(244, 240, 231, .48), transparent 34%),
            radial-gradient(circle at 94% 8%, rgba(45, 138, 143, .06), transparent 30%),
            linear-gradient(135deg, rgba(255, 255, 255, .46), rgba(234, 243, 246, .20)) !important;
        border: 1px solid rgba(255, 255, 255, .56) !important;
        border-radius: 3px !important;
        box-shadow:
            0 18px 42px rgba(0, 43, 85, .048),
            inset 0 1px 0 rgba(255, 255, 255, .44) !important;
    }

    .topo-premium-page .tp-route-section h3::after,
    .topo-premium-page .tp-guide-leg strong::after,
    .topo-premium-page .tp-route-section__text strong::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #075f72 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-weight: 860 !important;
        letter-spacing: .165em !important;
    }

    .topo-premium-page .tp-route-section:nth-of-type(even) h3 {
        color: #5c6a47 !important;
    }

    .topo-premium-page .tp-guide-leg:nth-of-type(even) strong {
        color: #5c6a47 !important;
    }

    .topo-premium-page .tp-route-section__text p,
    .topo-premium-page .tp-guide-lead,
    .topo-premium-page .tp-guide-leg p,
    .topo-premium-page .tp-pitch-line {
        color: #243f51 !important;
    }

    .topo-premium-page .tp-route-section,
    .topo-premium-page .tp-guide-leg {
        border-top-color: rgba(0, 43, 85, .075) !important;
    }
}

/* Tablette et mobile : pas de pastille, pas de liseret décoratif,
   seulement la séparation mobile validée entre titre et contenu. */
@media(max-width:1120px) {

    .topo-premium-page .tp-route-section h3::after,
    .topo-premium-page .tp-guide-leg strong::after,
    .topo-premium-page .tp-route-section__text strong::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-route-section h3,
    .topo-premium-page .tp-guide-leg strong,
    .topo-premium-page .tp-route-section__text strong {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #006f82 !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course__heading {
        border-bottom: 1px solid rgba(0, 43, 85, .14) !important;
    }
}

/* ========================================================================== 
   V35 — Course clés en main : design 1 pro
   - conserve le HTML existant ;
   - ne modifie que la zone .tp-course ;
   - reprend la logique chromatique de la trame verticale de la fiche technique ;
   - pas de numéros 01/02, pas d'icônes, photo finale conservée.
   ========================================================================== */
.topo-premium-page .tp-course {
    width: min(100%, 960px) !important;
    margin: clamp(56px, 6vw, 86px) 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.topo-premium-page .tp-course::before,
.topo-premium-page .tp-course::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 clamp(22px, 3vw, 34px) !important;
    padding: 0 !important;
    border: 0 !important;
}

.topo-premium-page .tp-course__heading::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 2px !important;
    margin: 0 !important;
    background: linear-gradient(90deg, var(--tp-navy), var(--tp-teal)) !important;
    border: 0 !important;
    box-shadow: none !important;
    order: 2 !important;
}

.topo-premium-page .tp-course__heading h2 {
    margin: 0 !important;
    color: #0b3049 !important;
    font-size: clamp(1.06rem, 1.25vw, 1.26rem) !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    letter-spacing: .20em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-course__heading h2::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__body {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
}

.topo-premium-page .tp-course__body::before {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-route-section {
    --tp-course-accent: var(--tp-teal);
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(190px, 25%) minmax(0, 1fr) !important;
    gap: clamp(24px, 3.5vw, 46px) !important;
    align-items: start !important;
    margin: 0 0 10px !important;
    padding: clamp(23px, 3vw, 32px) clamp(28px, 3.6vw, 44px) !important;
    overflow: hidden !important;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .84) 0%, rgba(255, 255, 255, .70) 54%, rgba(247, 251, 251, .56) 100%) !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 5px !important;
    box-shadow:
        0 16px 36px rgba(0, 43, 85, .065),
        inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

.topo-premium-page .tp-route-section:nth-of-type(1) {
    --tp-course-accent: var(--tp-teal);
}

.topo-premium-page .tp-route-section:nth-of-type(2) {
    --tp-course-accent: #5c8a72;
}

.topo-premium-page .tp-route-section:nth-of-type(3) {
    --tp-course-accent: #c59b45;
}

.topo-premium-page .tp-route-section:nth-of-type(4) {
    --tp-course-accent: var(--tp-navy);
}

.topo-premium-page .tp-route-section:nth-of-type(5) {
    --tp-course-accent: var(--tp-teal-2);
}

.topo-premium-page .tp-route-section:nth-of-type(6) {
    --tp-course-accent: #7a8a5c;
}

.topo-premium-page .tp-route-section::before {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 5px !important;
    background: linear-gradient(180deg, var(--tp-course-accent), rgba(255, 255, 255, .08)) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section::after {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    left: calc(25% + clamp(28px, 3.6vw, 44px)) !important;
    top: 18px !important;
    bottom: 18px !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, rgba(0, 43, 85, .12), transparent) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section h3 {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0d4053 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: clamp(.76rem, .88vw, .86rem) !important;
    line-height: 1.45 !important;
    font-weight: 870 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-route-section:nth-of-type(2) h3 {
    color: #536e4e !important;
}

.topo-premium-page .tp-route-section:nth-of-type(3) h3 {
    color: #9a761d !important;
}

.topo-premium-page .tp-route-section:nth-of-type(4) h3 {
    color: #0b3049 !important;
}

.topo-premium-page .tp-route-section h3::before {
    content: "" !important;
    display: block !important;
    width: 38px !important;
    height: 2px !important;
    margin: 0 0 14px !important;
    background: linear-gradient(90deg, var(--tp-course-accent), rgba(255, 255, 255, .04)) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-route-section h3::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-route-section__text,
.topo-premium-page .tp-route-section__text--flow {
    position: relative !important;
    z-index: 1 !important;
    max-width: 74ch !important;
    min-width: 0 !important;
    columns: 1 !important;
    column-gap: 0 !important;
}

.topo-premium-page .tp-route-section__text p,
.topo-premium-page .tp-route-section__text--flow p,
.topo-premium-page .tp-guide-leg p,
.topo-premium-page .tp-pitch-line {
    margin: 0 !important;
    color: #243f51 !important;
    font-size: clamp(1rem, 1.08vw, 1.08rem) !important;
    line-height: 1.72 !important;
    font-weight: 410 !important;
}

.topo-premium-page .tp-route-section__text p+p,
.topo-premium-page .tp-route-section__text--flow p+p {
    margin-top: 1.05rem !important;
}

.topo-premium-page .tp-route-section__text ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 clamp(26px, 3.2vw, 44px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.topo-premium-page .tp-route-section__text li {
    position: relative !important;
    margin: 0 !important;
    padding: .48rem 0 .48rem 1.15rem !important;
    color: #243f51 !important;
    font-size: clamp(.94rem, 1vw, 1rem) !important;
    line-height: 1.52 !important;
    border-top: 1px solid rgba(0, 43, 85, .07) !important;
}

.topo-premium-page .tp-route-section__text li:nth-child(1),
.topo-premium-page .tp-route-section__text li:nth-child(2) {
    border-top: 0 !important;
}

.topo-premium-page .tp-route-section__text li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 1.1em !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: var(--tp-course-accent) !important;
    box-shadow: 0 0 0 4px rgba(45, 138, 143, .08) !important;
}

.topo-premium-page .tp-route-section__text strong,
.topo-premium-page .tp-guide-leg strong {
    color: #0d3048 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__body>.topo-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: clamp(12px, 2vw, 20px) 0 0 !important;
    padding: 10px !important;
    background: rgba(255, 255, 255, .66) !important;
    border: 1px solid rgba(255, 255, 255, .76) !important;
    border-radius: 4px !important;
    box-shadow: 0 18px 42px rgba(0, 43, 85, .075) !important;
}

.topo-premium-page .tp-course__body>.topo-gallery img {
    width: auto !important;
    max-width: 100% !important;
    max-height: min(62vh, 560px) !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

.topo-premium-page .tp-course__body>.topo-gallery figcaption {
    margin-top: 10px !important;
}

@media(max-width:1120px) {
    .topo-premium-page .tp-route-section {
        grid-template-columns: minmax(160px, 25%) minmax(0, 1fr) !important;
        gap: 24px !important;
        padding: 24px 28px !important;
    }

    .topo-premium-page .tp-route-section::after {
        left: calc(25% + 28px) !important;
    }

    .topo-premium-page .tp-route-section__text ul {
        grid-template-columns: 1fr !important;
    }

    .topo-premium-page .tp-route-section__text li:nth-child(2) {
        border-top: 1px solid rgba(0, 43, 85, .07) !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course__heading {
        display: block !important;
        margin-bottom: 20px !important;
    }

    .topo-premium-page .tp-course__heading::before {
        width: 46px !important;
        margin: 11px 0 0 !important;
    }

    .topo-premium-page .tp-route-section {
        display: block !important;
        margin-bottom: 10px !important;
        padding: 23px 20px 24px 23px !important;
    }

    .topo-premium-page .tp-route-section::after {
        display: none !important;
        content: none !important;
    }

    .topo-premium-page .tp-route-section h3 {
        margin: 0 0 16px !important;
    }

    .topo-premium-page .tp-route-section h3::before {
        width: 34px !important;
        margin-bottom: 10px !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course {
        margin-top: 42px !important;
    }

    .topo-premium-page .tp-route-section {
        padding: 21px 17px 22px 20px !important;
        border-radius: 4px !important;
    }

    .topo-premium-page .tp-route-section__text p,
    .topo-premium-page .tp-route-section__text--flow p,
    .topo-premium-page .tp-route-section__text li {
        font-size: .98rem !important;
        line-height: 1.64 !important;
    }

    .topo-premium-page .tp-course__body>.topo-gallery {
        padding: 8px !important;
    }
}

/* ========================================================================== */
/* v22 — Course clés en main : lignes verticales pleines, sans liserés horizontaux */
/* ========================================================================== */
.topo-premium-page .tp-course,
.topo-premium-page .tp-course__heading,
.topo-premium-page .tp-course__body,
.topo-premium-page .tp-route-section,
.topo-premium-page .tp-guide-leg,
.topo-premium-page .tp-pitch-list,
.topo-premium-page .tp-pitch-line {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}

.topo-premium-page .tp-course__heading {
    margin-bottom: clamp(16px, 2.2vw, 26px);
    padding-bottom: 0 !important;
}

.topo-premium-page .tp-course__body {
    gap: clamp(18px, 2.6vw, 30px);
}

.topo-premium-page .tp-course .tp-route-section {
    position: relative;
    padding-left: clamp(16px, 2.2vw, 24px) !important;
    border-left: 2px solid #2d8a8f !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(1) {
    border-left-color: #002b55 !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(2) {
    border-left-color: #2d8a8f !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(3) {
    border-left-color: #3d7f9f !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    border-left-color: #c19a43 !important;
}

.topo-premium-page .tp-course .tp-route-section+.tp-route-section {
    margin-top: 0 !important;
}

.topo-premium-page .tp-course .tp-route-section h3 {
    margin-bottom: clamp(10px, 1.4vw, 14px);
}

.topo-premium-page .tp-course .tp-guide-leg,
.topo-premium-page .tp-course .tp-pitch-line,
.topo-premium-page .tp-course .tp-route-section__text li {
    border: 0 !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-route-section {
        padding-left: 14px !important;
        border-left-width: 2px !important;
    }
}

/* ========================================================================== */
/* V36 — Course clés en main : affinement design 1                              */
/* - retrait des liserés horizontaux décoratifs                                */
/* - touches de couleur uniquement en traits verticaux pleins, fins             */
/* - pas de superposition avec un border-left supplémentaire                    */
/* ========================================================================== */
.topo-premium-page .tp-course__heading::before,
.topo-premium-page .tp-route-section h3::before {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course__heading {
    margin-bottom: clamp(24px, 3.2vw, 38px) !important;
}

.topo-premium-page .tp-route-section {
    border-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .72) !important;
    border-right: 1px solid rgba(255, 255, 255, .72) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .72) !important;
}

.topo-premium-page .tp-route-section::before {
    width: 3px !important;
    background: var(--tp-course-accent) !important;
    opacity: 1 !important;
}

.topo-premium-page .tp-route-section::after {
    background: rgba(0, 43, 85, .105) !important;
}

.topo-premium-page .tp-route-section h3 {
    padding-top: 2px !important;
}

.topo-premium-page .tp-route-section__text li,
.topo-premium-page .tp-pitch-list,
.topo-premium-page .tp-pitch-line,
.topo-premium-page .tp-guide-leg {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.topo-premium-page .tp-route-section__text li:nth-child(2) {
    border-top: 0 !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-route-section::after {
        display: none !important;
        content: none !important;
    }
}

/* ========================================================================== */
/* V37 — Course clés en main : suppression du double liseré gauche            */
/* - annule le border-left résiduel des surcharges précédentes                */
/* - conserve uniquement la barre colorée portée par ::before                 */
/* ========================================================================== */
.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    border-left: none !important;
    border-left-width: 0 !important;
    border-left-style: none !important;
    border-left-color: transparent !important;
}

.topo-premium-page .tp-course .tp-route-section::before {
    left: 0 !important;
    width: 3px !important;
    background: var(--tp-course-accent) !important;
}

/* ========================================================================== */
/* V38 — Course clés en main : premier bloc mieux calé + listes en une colonne */
/* ========================================================================== */
.topo-premium-page .tp-course .tp-route-section:first-of-type {
    padding-top: clamp(23px, 3vw, 32px) !important;
}

.topo-premium-page .tp-course .tp-route-section:first-of-type h3 {
    padding-top: 2px !important;
}

.topo-premium-page .tp-course .tp-route-section__text ul {
    display: block !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}

.topo-premium-page .tp-course .tp-route-section__text li {
    display: block !important;
    width: 100% !important;
}

.topo-premium-page .tp-course .tp-route-section__text li:nth-child(2) {
    border-top: 1px solid rgba(0, 43, 85, .07) !important;
}


/* ========================================================================== */
/* V39 — Course clés en main : listes sans séparateur parasite                */
/* ========================================================================== */
.topo-premium-page .tp-course .tp-route-section__text li,
.topo-premium-page .tp-course .tp-route-section__text li:nth-child(1),
.topo-premium-page .tp-course .tp-route-section__text li:nth-child(2),
.topo-premium-page .tp-course .tp-route-section__text li:nth-child(n) {
    border-top: 0 !important;
    border-bottom: 0 !important;
}


/* ========================================================================== */
/* V40 — Mobile : respiration gauche de la Course clés en main                */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    .topo-premium-page .tp-course__heading {
        padding-left: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding-left: 24px !important;
        padding-right: 18px !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 14px) !important;
        margin-left: 7px !important;
        margin-right: 7px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding-left: 23px !important;
        padding-right: 17px !important;
    }
}


/* ========================================================================== */
/* V41 — iPhone : suppression de l'effet cadre dans le cadre                  */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 18px) !important;
        margin-left: 9px !important;
        margin-right: 9px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        margin-bottom: 18px !important;
        padding: 20px 0 22px 21px !important;
        background: transparent !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section::before {
        width: 3px !important;
        border-radius: 999px !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text {
        padding-right: 2px !important;
    }

    .topo-premium-page .tp-course .tp-route-section+.tp-route-section {
        padding-top: 24px !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding-left: 20px !important;
        padding-right: 0 !important;
    }
}


/* ========================================================================== */
/* V42 — iPhone : liserés collés au bord gauche                               */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        position: relative !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 28px !important;
        padding-right: 8px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section::before {
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 3px !important;
        border-radius: 999px !important;
        background: var(--tp-course-accent) !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course .tp-route-section {
        padding-left: 26px !important;
        padding-right: 6px !important;
    }
}


/* ========================================================================== */
/* V43 — Mobile : séparation horizontale sobre entre les blocs                */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-route-section {
        margin-bottom: 0 !important;
        padding-top: 24px !important;
        padding-bottom: 26px !important;
        border-bottom: 1px solid rgba(0, 43, 85, .10) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:first-of-type {
        padding-top: 22px !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        border-bottom: 0 !important;
    }
}


/* ========================================================================== */
/* V44 — Desktop : suppression du liseré blanc autour des blocs               */
/* ========================================================================== */
@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        border: 0 !important;
        border-radius: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section::before {
        border-radius: 0 !important;
    }
}


/* ========================================================================== */
/* V45 — Affinage final                                                       */
/* - desktop : suppression visuelle du liseré blanc résiduel à gauche         */
/* - mobile  : séparation horizontale un peu plus marquée entre les blocs     */
/* ========================================================================== */
@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        padding-left: clamp(24px, 3vw, 36px) !important;
        background-clip: border-box !important;
    }

    .topo-premium-page .tp-course .tp-route-section::before {
        left: -2px !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 5px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-route-section {
        border-bottom: 1px solid rgba(0, 43, 85, .18) !important;
        padding-top: 24px !important;
        padding-bottom: 28px !important;
        margin-bottom: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section+.tp-route-section {
        padding-top: 26px !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        border-bottom: 0 !important;
    }
}


/* ========================================================================== */
/* V46 — Ajustements desktop/mobile                                           */
/* - desktop : plus aucun liseré blanc résiduel à gauche                      */
/* - mobile  : titre moins collé, blocs rattachés et légèrement colorés       */
/* ========================================================================== */
@media(min-width:721px) {
    .topo-premium-page .tp-course__body::before {
        display: none !important;
        content: none !important;
        width: 0 !important;
        background: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        border-left: 0 !important;
        padding-left: clamp(30px, 3.4vw, 42px) !important;
        box-shadow: inset 4px 0 0 var(--tp-course-accent), 0 16px 36px rgba(0, 43, 85, .065) !important;
        background-clip: padding-box !important;
    }

    .topo-premium-page .tp-course .tp-route-section::before {
        display: none !important;
        content: none !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    .topo-premium-page .tp-course__heading {
        padding-left: 2px !important;
        margin-bottom: 18px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 22px 12px 24px 24px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(0, 43, 85, .16) !important;
        border-radius: 6px !important;
        box-shadow: none !important;
        background: rgba(255, 255, 255, .18) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1) {
        background: rgba(45, 138, 143, .08) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2) {
        background: rgba(92, 138, 114, .09) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3) {
        background: rgba(197, 155, 69, .10) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4) {
        background: rgba(0, 43, 85, .06) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5) {
        background: rgba(61, 127, 159, .08) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6) {
        background: rgba(122, 138, 92, .10) !important;
    }

    .topo-premium-page .tp-course .tp-route-section::before {
        display: block !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 4px !important;
        border-radius: 999px !important;
        background: var(--tp-course-accent) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        border-bottom: 0 !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 14px) !important;
        margin-left: 7px !important;
        margin-right: 7px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding: 20px 10px 22px 22px !important;
    }
}


/* ========================================================================== */
/* V47 — Harmonisation finale desktop / iPhone                                */
/* - suppression du liseré blanc résiduel à gauche                            */
/* - même logique de fond pour les blocs sur desktop et mobile                */
/* - choix du rendu le plus lisible : fond clair, légèrement teinté, calme    */
/* ========================================================================== */
.topo-premium-page .tp-course__body::before {
    display: none !important;
    content: none !important;
    width: 0 !important;
    background: none !important;
}

.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    border: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    background: rgba(246, 249, 250, .74) !important;
    background-image: none !important;
    background-clip: padding-box !important;
    border-radius: 6px !important;
    box-shadow: inset 4px 0 0 var(--tp-course-accent) !important;
}

.topo-premium-page .tp-course .tp-route-section::before,
.topo-premium-page .tp-course .tp-route-section::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course .tp-route-section h3::before,
.topo-premium-page .tp-course .tp-course__heading::before {
    display: none !important;
    content: none !important;
}

@media(min-width:721px) {
    .topo-premium-page .tp-course {
        width: min(100%, 960px) !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding: 24px clamp(28px, 3.6vw, 44px) 26px clamp(32px, 4vw, 46px) !important;
        margin: 0 0 12px !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: calc(100% - 18px) !important;
        margin-left: 9px !important;
        margin-right: 9px !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 18px !important;
        padding-left: 4px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding: 21px 12px 23px 22px !important;
        margin: 0 0 14px !important;
        border-radius: 6px !important;
        box-shadow: inset 4px 0 0 var(--tp-course-accent) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin-bottom: 0 !important;
    }
}


/* ========================================================================== */
/* V48 — Reprise propre course clés en main                                   */
/* - suppression du faux liseré blanc desktop                                 */
/* - blocs desktop / mobile harmonisés                                        */
/* - mobile pleine largeur, mieux rattaché au titre                           */
/* - fond de bloc plus lisible                                                */
/* ========================================================================== */
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course .tp-route-section::before,
.topo-premium-page .tp-course .tp-route-section::after,
.topo-premium-page .tp-course__heading::before,
.topo-premium-page .tp-course .tp-route-section h3::before {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    position: relative !important;
    border: 0 !important;
    border-left: 4px solid var(--tp-course-accent) !important;
    outline: 0 !important;
    background: rgba(255, 255, 255, .58) !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.topo-premium-page .tp-course .tp-route-section:last-of-type {
    margin-bottom: 0 !important;
}

@media(min-width:721px) {
    .topo-premium-page .tp-course {
        width: min(100%, 960px) !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 20px !important;
        padding-left: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding: 24px clamp(28px, 3.8vw, 42px) 26px 28px !important;
        margin: 0 0 12px !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-course__heading {
        padding-left: 8px !important;
        margin-bottom: 16px !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        padding: 20px 12px 22px 18px !important;
        margin: 0 0 10px !important;
        border-left-width: 4px !important;
        background: rgba(255, 255, 255, .58) !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 6px !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        padding: 18px 10px 20px 16px !important;
    }
}


/* ========================================================================== */
/* V49 — Course clés en main : sous-sections internes lisibles                */
/* Exemple : Sentier 1 / Sentier 2 / Sentier 3 dans un bloc Itinéraire         */
/* ========================================================================== */
.topo-premium-page .tp-course .tp-guide-legs {
    display: block !important;
    margin-top: clamp(18px, 2.6vw, 28px) !important;
}

.topo-premium-page .tp-course .tp-guide-leg {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 0 clamp(18px, 2.5vw, 26px) !important;
    border: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg:last-child {
    margin-bottom: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg strong {
    display: block !important;
    margin: 0 0 .42rem !important;
    padding: 0 !important;
    color: #006f82 !important;
    font-size: clamp(.76rem, .88vw, .86rem) !important;
    line-height: 1.35 !important;
    font-weight: 870 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-course .tp-guide-leg:nth-child(even) strong {
    color: #536e4e !important;
}

.topo-premium-page .tp-course .tp-guide-leg p {
    max-width: 74ch !important;
    margin: 0 !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-guide-legs {
        margin-top: 18px !important;
    }

    .topo-premium-page .tp-course .tp-guide-leg {
        margin-bottom: 20px !important;
    }

    .topo-premium-page .tp-course .tp-guide-leg strong {
        margin-bottom: .36rem !important;
    }
}


/* ========================================================================== */
/* V50 — Course clés en main : passe premium de finition                      */
/* - aucun contenu ajouté                                                      */
/* - hiérarchie interne plus nette                                             */
/* - sous-sections guide plus lisibles                                         */
/* - listes existantes plus propres                                            */
/* - photo finale mieux rattachée                                              */
/* - responsive stabilisé sans changer le principe validé                      */
/* ========================================================================== */

.topo-premium-page .tp-course {
    --tp-course-block-bg: rgba(255, 255, 255, .58);
    --tp-course-sep: rgba(0, 43, 85, .11);
}

/* Titre : mieux rattaché aux blocs, sans ajouter de décor. */
.topo-premium-page .tp-course__heading {
    align-items: flex-start !important;
    margin-bottom: clamp(18px, 2.4vw, 26px) !important;
}

.topo-premium-page .tp-course__heading h2 {
    max-width: 100% !important;
}

/* Neutralisation stricte des anciens pseudo-éléments parasites. */
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course .tp-route-section::before,
.topo-premium-page .tp-course .tp-route-section::after,
.topo-premium-page .tp-course__heading::before,
.topo-premium-page .tp-course .tp-route-section h3::before {
    display: none !important;
    content: none !important;
}

/* Blocs principaux : fond unifié, lisible, accent uniquement par le liseré couleur. */
.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    position: relative !important;
    background: var(--tp-course-block-bg) !important;
    background-image: none !important;
    border: 0 !important;
    border-left: 4px solid var(--tp-course-accent) !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Grammaire couleur stable selon l'ordre des blocs existants. */
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1) {
    --tp-course-accent: var(--tp-teal);
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(2) {
    --tp-course-accent: #5c8a72;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(3) {
    --tp-course-accent: #c59b45;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(4) {
    --tp-course-accent: var(--tp-navy);
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(5) {
    --tp-course-accent: var(--tp-teal-2);
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(6) {
    --tp-course-accent: #7a8a5c;
}

.topo-premium-page .tp-course .tp-route-section h3 {
    align-self: start !important;
    color: #0d4053 !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(2) h3,
.topo-premium-page .tp-course .tp-guide-leg:nth-child(even) strong {
    color: #536e4e !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(3) h3 {
    color: #9a761d !important;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(4) h3 {
    color: #0b3049 !important;
}

/* Texte introductif déjà présent dans certains blocs guide. */
.topo-premium-page .tp-course .tp-guide-lead {
    margin: 0 0 clamp(18px, 2.5vw, 26px) !important;
    padding: 0 !important;
    border-left: 0 !important;
    color: #243f51 !important;
    font-size: clamp(1rem, 1.08vw, 1.08rem) !important;
    line-height: 1.72 !important;
}

/* Sous-sections internes existantes : Sentier 1, Sentier 2, variantes, etc. */
.topo-premium-page .tp-course .tp-guide-legs {
    display: block !important;
    margin-top: clamp(18px, 2.7vw, 30px) !important;
    padding-top: clamp(14px, 1.8vw, 20px) !important;
    border-top: 1px solid var(--tp-course-sep) !important;
}

.topo-premium-page .tp-course .tp-guide-leg {
    position: relative !important;
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 0 0 clamp(20px, 2.7vw, 28px) !important;
    padding: 0 !important;
    border: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg:last-child {
    margin-bottom: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg strong {
    display: block !important;
    margin: 0 0 .48rem !important;
    padding: 0 !important;
    color: #006f82 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: clamp(.76rem, .88vw, .86rem) !important;
    line-height: 1.35 !important;
    font-weight: 870 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-course .tp-guide-leg p {
    max-width: 74ch !important;
    margin: 0 !important;
}

/* Listes existantes : lecture plus propre, sans séparateurs parasites. */
.topo-premium-page .tp-course .tp-route-section__text ul {
    display: block !important;
    margin: .45rem 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.topo-premium-page .tp-course .tp-route-section__text li {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: .34rem 0 .34rem 1.35rem !important;
    border: 0 !important;
    color: #243f51 !important;
    font-size: clamp(.96rem, 1vw, 1.02rem) !important;
    line-height: 1.58 !important;
}

.topo-premium-page .tp-course .tp-route-section__text li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 1.02em !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: var(--tp-course-accent) !important;
    opacity: .55 !important;
    box-shadow: none !important;
}

/* Cas des lignes de longueurs déjà présentes si la page les utilise. */
.topo-premium-page .tp-course .tp-pitch-list {
    display: block !important;
    margin: clamp(14px, 2vw, 22px) 0 0 !important;
    padding: clamp(10px, 1.5vw, 14px) 0 0 !important;
    border-top: 1px solid var(--tp-course-sep) !important;
    border-bottom: 0 !important;
}

.topo-premium-page .tp-course .tp-pitch-line {
    padding: .38rem 0 !important;
    border: 0 !important;
    line-height: 1.58 !important;
}

/* Photo finale déjà présente : mieux intégrée comme conclusion visuelle. */
.topo-premium-page .tp-course__body>.topo-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: clamp(18px, 2.8vw, 30px) 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__body>.topo-gallery img {
    display: block !important;
    max-width: 100% !important;
    max-height: min(64vh, 600px) !important;
    margin: 0 auto !important;
    box-shadow: 0 14px 34px rgba(0, 43, 85, .10) !important;
}

.topo-premium-page .tp-course__body>.topo-gallery figcaption {
    margin: 10px auto 0 !important;
    color: #5f7380 !important;
    font-size: .82rem !important;
    line-height: 1.42 !important;
    font-style: italic !important;
    text-align: center !important;
}

/* Desktop/tablette : grille stable, texte mieux aligné. */
@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        grid-template-columns: minmax(160px, 23%) minmax(0, 1fr) !important;
        gap: clamp(24px, 3.4vw, 42px) !important;
        padding: clamp(22px, 2.8vw, 30px) clamp(28px, 3.8vw, 42px) clamp(24px, 3vw, 32px) clamp(28px, 3.8vw, 42px) !important;
        margin: 0 0 12px !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text,
    .topo-premium-page .tp-course .tp-route-section__text--flow,
    .topo-premium-page .tp-course .tp-route-section__text--guide {
        max-width: 78ch !important;
    }
}

/* Mobile : pleine largeur, titre rattaché, pas d'effet carte dans la carte. */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-course__heading {
        display: block !important;
        margin-bottom: 16px !important;
        padding-left: 6px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        display: block !important;
        margin: 0 0 12px !important;
        padding: 19px 12px 21px 18px !important;
        background: var(--tp-course-block-bg) !important;
        border-left-width: 4px !important;
        border-radius: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section h3 {
        margin: 0 0 1rem !important;
    }

    .topo-premium-page .tp-course .tp-guide-legs {
        margin-top: 16px !important;
        padding-top: 16px !important;
    }

    .topo-premium-page .tp-course .tp-guide-leg {
        margin-bottom: 20px !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text p,
    .topo-premium-page .tp-course .tp-route-section__text--flow p,
    .topo-premium-page .tp-course .tp-guide-lead,
    .topo-premium-page .tp-course .tp-guide-leg p,
    .topo-premium-page .tp-course .tp-route-section__text li {
        font-size: .98rem !important;
        line-height: 1.66 !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 4px !important;
    }

    .topo-premium-page .tp-course .tp-route-section {
        padding: 18px 10px 20px 16px !important;
        margin-bottom: 11px !important;
    }
}


/* ========================================================================== */
/* V51 — Course clés en main : finition pro + zoom image plus discret          */
/* - suppression de l'effet loupe au survol                                    */
/* - lecture plus premium des blocs                                            */
/* - meilleure intégration desktop / mobile                                    */
/* - aucun contenu ajouté                                                      */
/* ========================================================================== */

/* Images zoomables : on garde le clic/zoom, mais on supprime l'effet loupe
   trop démonstratif au survol. */
.topo-premium-page .topo-gallery--zoomable,
.topo-premium-page .tp-image-zoom-thumb {
    cursor: pointer !important;
}

.topo-premium-page .tp-image-zoom-thumb::before,
.topo-premium-page .tp-image-zoom-thumb::after,
.topo-premium-page .topo-gallery--zoomable::before,
.topo-premium-page .topo-gallery--zoomable::after,
.topo-premium-page .tp-low-photo.topo-gallery--zoomable::before,
.topo-premium-page .tp-low-photo.topo-gallery--zoomable::after,
.topo-premium-page .tp-hero-photo.topo-gallery--zoomable::before,
.topo-premium-page .tp-hero-photo.topo-gallery--zoomable::after {
    display: none !important;
    content: none !important;
}

.topo-premium-page .tp-image-zoom-thumb img,
.topo-premium-page .topo-gallery--zoomable img {
    transition: filter .22s ease, opacity .22s ease !important;
}

@media(hover:hover) {
    .topo-premium-page .tp-image-zoom-thumb:hover img {
        filter: none !important;
        transform: none !important;
        opacity: .96 !important;
    }
}

/* Course clés en main : fond légèrement plus dense que v17 pour un contraste
   plus professionnel, sans revenir à l'effet carte dans la carte. */
.topo-premium-page .tp-course {
    --tp-course-block-bg: rgba(244, 248, 249, .82);
    --tp-course-block-bg-alt: rgba(239, 246, 248, .78);
    --tp-course-sep: rgba(0, 43, 85, .13);
}

.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    background: linear-gradient(180deg, var(--tp-course-block-bg), var(--tp-course-block-bg-alt)) !important;
    border: 0 !important;
    border-left: 4px solid var(--tp-course-accent) !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Titre plus posé, plus éditorial. */
.topo-premium-page .tp-course__heading {
    margin-bottom: clamp(20px, 2.6vw, 30px) !important;
    padding-left: 0 !important;
}

.topo-premium-page .tp-course__heading h2 {
    color: #0a2f49 !important;
    font-size: clamp(1.02rem, 1.2vw, 1.22rem) !important;
    letter-spacing: .22em !important;
}

/* Blocs : tension visuelle plus pro par la précision des espacements. */
@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        grid-template-columns: minmax(150px, 21%) minmax(0, 1fr) !important;
        gap: clamp(26px, 3.8vw, 48px) !important;
        padding: clamp(24px, 3vw, 32px) clamp(30px, 4vw, 46px) clamp(26px, 3.2vw, 34px) clamp(30px, 4vw, 46px) !important;
        margin: 0 0 14px !important;
    }

    .topo-premium-page .tp-course .tp-route-section h3 {
        padding-top: 1px !important;
    }
}

.topo-premium-page .tp-course .tp-route-section h3,
.topo-premium-page .tp-course .tp-guide-leg strong {
    font-weight: 880 !important;
    letter-spacing: .17em !important;
}

.topo-premium-page .tp-course .tp-route-section__text p,
.topo-premium-page .tp-course .tp-route-section__text--flow p,
.topo-premium-page .tp-course .tp-guide-lead,
.topo-premium-page .tp-course .tp-guide-leg p,
.topo-premium-page .tp-course .tp-route-section__text li {
    color: #203b4d !important;
}

/* Sous-sections internes : séparation plus fine et plus haut de gamme. */
.topo-premium-page .tp-course .tp-guide-legs {
    border-top: 1px solid rgba(0, 43, 85, .12) !important;
}

.topo-premium-page .tp-course .tp-guide-leg+.tp-guide-leg {
    padding-top: clamp(2px, .5vw, 6px) !important;
}

/* Listes : puces plus discrètes, moins “démo”. */
.topo-premium-page .tp-course .tp-route-section__text li {
    padding-left: 1.15rem !important;
}

.topo-premium-page .tp-course .tp-route-section__text li::before {
    width: 4px !important;
    height: 4px !important;
    top: 1.06em !important;
    opacity: .48 !important;
}

/* Photo finale : clic toujours possible, mais rendu plus magazine. */
.topo-premium-page .tp-course__body>.topo-gallery {
    margin-top: clamp(22px, 3vw, 34px) !important;
}

.topo-premium-page .tp-course__body>.topo-gallery img {
    box-shadow: 0 18px 40px rgba(0, 43, 85, .12) !important;
}

.topo-premium-page .tp-course__body>.topo-gallery figcaption {
    margin-top: 11px !important;
    color: #526c79 !important;
}

/* Mobile : blocs pleine largeur, fond plus lisible, titre mieux rattaché. */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-course__heading {
        padding-left: 6px !important;
        margin-bottom: 17px !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin: 0 0 12px !important;
        padding: 19px 11px 21px 17px !important;
        background: linear-gradient(180deg, var(--tp-course-block-bg), var(--tp-course-block-bg-alt)) !important;
        border-left-width: 4px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section h3 {
        margin-bottom: .95rem !important;
    }
}


/* ========================================================================== */
/* V52 — Course clés en main : esprit revue topo                              */
/* - aucun contenu ajouté                                                      */
/* - rendu plus éditorial, plus dense, plus premium                            */
/* - liseré gauche unique : uniquement border-left                             */
/* - fonds de blocs harmonisés desktop / mobile                                */
/* - suppression des effets de survol démonstratifs sur les images             */
/* ========================================================================== */

.topo-premium-page .tp-course {
    --tp-course-paper: #f4f8f9;
    --tp-course-paper-2: #edf5f7;
    --tp-course-ink: #1f3b4d;
    --tp-course-title: #0b3049;
    --tp-course-line: rgba(0, 43, 85, .12);
}

/* Neutralisation définitive des anciens traits/pseudo-éléments parasites. */
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course__body::after,
.topo-premium-page .tp-course .tp-route-section::before,
.topo-premium-page .tp-course .tp-route-section::after,
.topo-premium-page .tp-course__heading::before,
.topo-premium-page .tp-course__heading::after,
.topo-premium-page .tp-course .tp-route-section h3::before,
.topo-premium-page .tp-course .tp-route-section h3::after {
    display: none !important;
    content: none !important;
}

/* Images : pas de loupe / pas de pictogramme au hover. */
.topo-premium-page .tp-image-zoom-thumb::before,
.topo-premium-page .tp-image-zoom-thumb::after,
.topo-premium-page .topo-gallery--zoomable::before,
.topo-premium-page .topo-gallery--zoomable::after,
.topo-premium-page .tp-low-photo.topo-gallery--zoomable::before,
.topo-premium-page .tp-low-photo.topo-gallery--zoomable::after,
.topo-premium-page .tp-hero-photo.topo-gallery--zoomable::before,
.topo-premium-page .tp-hero-photo.topo-gallery--zoomable::after {
    display: none !important;
    content: none !important;
}

@media(hover:hover) {

    .topo-premium-page .tp-image-zoom-thumb:hover img,
    .topo-premium-page .topo-gallery--zoomable:hover img {
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }
}

/* Titre : esprit rubrique de revue, sobre et tenu. */
.topo-premium-page .tp-course__heading {
    display: block !important;
    margin: 0 0 clamp(20px, 2.8vw, 32px) !important;
    padding: 0 0 0 2px !important;
    border: 0 !important;
}

.topo-premium-page .tp-course__heading h2 {
    margin: 0 !important;
    color: var(--tp-course-title) !important;
    font-size: clamp(1.02rem, 1.22vw, 1.24rem) !important;
    line-height: 1.15 !important;
    font-weight: 880 !important;
    letter-spacing: .235em !important;
    text-transform: uppercase !important;
}

/* Palette éditoriale : même fond lisible, variation très douce par bloc. */
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1) {
    --tp-course-accent: var(--tp-teal);
    --tp-course-tint: rgba(45, 138, 143, .105);
    --tp-course-heading: #075f72;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(2) {
    --tp-course-accent: #5c8a72;
    --tp-course-tint: rgba(92, 138, 114, .12);
    --tp-course-heading: #536e4e;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(3) {
    --tp-course-accent: #c59b45;
    --tp-course-tint: rgba(197, 155, 69, .13);
    --tp-course-heading: #8f701f;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(4) {
    --tp-course-accent: var(--tp-navy);
    --tp-course-tint: rgba(0, 43, 85, .075);
    --tp-course-heading: #0b3049;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(5) {
    --tp-course-accent: var(--tp-teal-2);
    --tp-course-tint: rgba(61, 127, 159, .11);
    --tp-course-heading: #2b6d86;
}

.topo-premium-page .tp-course .tp-route-section:nth-of-type(6) {
    --tp-course-accent: #7a8a5c;
    --tp-course-tint: rgba(122, 138, 92, .13);
    --tp-course-heading: #5f6f44;
}

/* Blocs principaux : rendu revue topo.
   Un seul liseré gauche, aucune bordure blanche périphérique. */
.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    position: relative !important;
    overflow: hidden !important;
    background:
        linear-gradient(90deg,
            var(--tp-course-tint) 0,
            var(--tp-course-tint) 22%,
            var(--tp-course-paper) 22%,
            var(--tp-course-paper-2) 100%) !important;
    border: 0 !important;
    border-left: 4px solid var(--tp-course-accent) !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: 0 14px 34px rgba(0, 43, 85, .055) !important;
    background-clip: border-box !important;
}

@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        display: grid !important;
        grid-template-columns: minmax(150px, 21%) minmax(0, 1fr) !important;
        gap: clamp(28px, 4vw, 52px) !important;
        align-items: start !important;
        margin: 0 0 16px !important;
        padding: clamp(26px, 3vw, 34px) clamp(32px, 4.2vw, 50px) clamp(28px, 3.2vw, 36px) clamp(28px, 3.8vw, 44px) !important;
    }
}

/* Titre de bloc : label éditorial dans la colonne de gauche. */
.topo-premium-page .tp-course .tp-route-section h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tp-course-heading) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: clamp(.76rem, .86vw, .86rem) !important;
    line-height: 1.42 !important;
    font-weight: 900 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

/* Texte courant : plus proche d'une mise en page magazine. */
.topo-premium-page .tp-course .tp-route-section__text,
.topo-premium-page .tp-course .tp-route-section__text--flow,
.topo-premium-page .tp-course .tp-route-section__text--guide {
    max-width: 78ch !important;
}

.topo-premium-page .tp-course .tp-route-section__text p,
.topo-premium-page .tp-course .tp-route-section__text--flow p,
.topo-premium-page .tp-course .tp-guide-lead,
.topo-premium-page .tp-course .tp-guide-leg p,
.topo-premium-page .tp-course .tp-route-section__text li,
.topo-premium-page .tp-course .tp-pitch-line {
    color: var(--tp-course-ink) !important;
    font-size: clamp(1rem, 1.06vw, 1.065rem) !important;
    line-height: 1.74 !important;
    font-weight: 410 !important;
}

.topo-premium-page .tp-course .tp-guide-lead {
    margin: 0 0 clamp(18px, 2.4vw, 26px) !important;
    padding: 0 0 clamp(14px, 1.8vw, 20px) !important;
    border-left: 0 !important;
    border-bottom: 1px solid var(--tp-course-line) !important;
}

/* Sous-sections internes : plus revue, moins “bloc dans le bloc”. */
.topo-premium-page .tp-course .tp-guide-legs {
    display: block !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg {
    display: block !important;
    grid-template-columns: none !important;
    margin: 0 !important;
    padding: clamp(15px, 2vw, 22px) 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 43, 85, .105) !important;
}

.topo-premium-page .tp-course .tp-guide-leg:first-child {
    padding-top: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

.topo-premium-page .tp-course .tp-guide-leg strong {
    display: block !important;
    margin: 0 0 .42rem !important;
    padding: 0 !important;
    color: var(--tp-course-heading) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: clamp(.74rem, .84vw, .84rem) !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-course .tp-guide-leg p {
    max-width: 74ch !important;
    margin: 0 !important;
}

/* Listes existantes : plus propres, sans effet scolaire. */
.topo-premium-page .tp-course .tp-route-section__text ul {
    display: block !important;
    margin: .2rem 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.topo-premium-page .tp-course .tp-route-section__text li {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: .34rem 0 .34rem 1.22rem !important;
    border: 0 !important;
}

.topo-premium-page .tp-course .tp-route-section__text li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 1.08em !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background: var(--tp-course-accent) !important;
    opacity: .52 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course .tp-pitch-list {
    display: block !important;
    margin: clamp(14px, 2vw, 22px) 0 0 !important;
    padding: clamp(12px, 1.6vw, 16px) 0 0 !important;
    border-top: 1px solid var(--tp-course-line) !important;
    border-bottom: 0 !important;
}

.topo-premium-page .tp-course .tp-pitch-line {
    padding: .38rem 0 !important;
    border: 0 !important;
}

/* Photo finale : vraie clôture de rubrique, sans cadre blanc. */
.topo-premium-page .tp-course__body>.topo-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: clamp(24px, 3.2vw, 38px) 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__body>.topo-gallery img {
    display: block !important;
    max-width: 100% !important;
    max-height: min(90vh, 620px) !important;
    margin: 0 auto !important;
    box-shadow: 0 20px 46px rgba(0, 43, 85, .13) !important;
}

.topo-premium-page .tp-course__body>.topo-gallery figcaption {
    max-width: 760px !important;
    margin: 11px auto 0 !important;
    color: #526c79 !important;
    font-size: .82rem !important;
    line-height: 1.42 !important;
    font-style: italic !important;
    text-align: center !important;
}

/* Mobile : on garde la même logique que desktop, mais pleine largeur et plus lisible. */
@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-course__heading {
        margin-bottom: 17px !important;
        padding-left: 6px !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        display: block !important;
        margin: 0 0 12px !important;
        padding: 19px 11px 21px 17px !important;
        background:
            linear-gradient(90deg,
                var(--tp-course-tint) 0,
                var(--tp-course-tint) 7px,
                var(--tp-course-paper) 7px,
                var(--tp-course-paper-2) 100%) !important;
        border-left: 4px solid var(--tp-course-accent) !important;
        border-radius: 0 !important;
        box-shadow: 0 10px 24px rgba(0, 43, 85, .045) !important;
    }

    .topo-premium-page .tp-course .tp-route-section h3 {
        margin: 0 0 .95rem !important;
    }

    .topo-premium-page .tp-course .tp-guide-lead {
        padding-bottom: 14px !important;
        margin-bottom: 0 !important;
    }

    .topo-premium-page .tp-course .tp-guide-leg {
        padding: 16px 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text p,
    .topo-premium-page .tp-course .tp-route-section__text--flow p,
    .topo-premium-page .tp-course .tp-guide-lead,
    .topo-premium-page .tp-course .tp-guide-leg p,
    .topo-premium-page .tp-course .tp-route-section__text li,
    .topo-premium-page .tp-course .tp-pitch-line {
        font-size: .98rem !important;
        line-height: 1.66 !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 4px !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        padding: 18px 10px 20px 15px !important;
        margin-bottom: 11px !important;
    }
}


/* ========================================================================== */
/* V53 — Mobile : séparation élégante des blocs                                */
/* - séparation visible sur toute la largeur du bloc, pas seulement le liseré  */
/* - conserve la pleine largeur et l'esprit revue topo                         */
/* - aucun contenu ajouté                                                      */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1) {
        --tp-course-mobile-bg: rgba(45, 138, 143, .135);
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2) {
        --tp-course-mobile-bg: rgba(92, 138, 114, .145);
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3) {
        --tp-course-mobile-bg: rgba(197, 155, 69, .155);
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4) {
        --tp-course-mobile-bg: rgba(0, 43, 85, .095);
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5) {
        --tp-course-mobile-bg: rgba(61, 127, 159, .135);
    }

    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6) {
        --tp-course-mobile-bg: rgba(122, 138, 92, .15);
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin: 0 0 14px !important;
        background:
            linear-gradient(90deg,
                var(--tp-course-mobile-bg) 0,
                var(--tp-course-mobile-bg) 26px,
                rgba(244, 248, 249, .94) 26px,
                rgba(238, 246, 248, .90) 100%) !important;
        border-left: 4px solid var(--tp-course-accent) !important;
        border-top: 1px solid rgba(255, 255, 255, .58) !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(0, 43, 85, .16) !important;
        border-radius: 0 !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .52),
            0 8px 18px rgba(0, 43, 85, .045) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin-bottom: 0 !important;
    }
}

@media(max-width:640px) {

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        background:
            linear-gradient(90deg,
                var(--tp-course-mobile-bg) 0,
                var(--tp-course-mobile-bg) 24px,
                rgba(244, 248, 249, .94) 24px,
                rgba(238, 246, 248, .90) 100%) !important;
    }
}


/* ========================================================================== */
/* V54 — Course clés en main : retour revue topo sobre                         */
/* - supprime les grands aplats de couleur dans les blocs                      */
/* - garde uniquement une couleur d'accent fine et élégante                    */
/* - séparation mobile/desktop plus nette mais sans effet “bande pleine”       */
/* - aucun contenu ajouté                                                      */
/* ========================================================================== */

.topo-premium-page .tp-course {
    --tp-course-paper: rgba(246, 249, 250, .78);
    --tp-course-paper-soft: rgba(239, 247, 249, .64);
    --tp-course-rule: rgba(0, 43, 85, .13);
}

/* Nettoyage définitif des fonds colorés hérités des variantes précédentes. */
.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    background:
        linear-gradient(180deg, var(--tp-course-paper), var(--tp-course-paper-soft)) !important;
    background-image:
        linear-gradient(180deg, var(--tp-course-paper), var(--tp-course-paper-soft)) !important;
    border: 0 !important;
    border-left: 3px solid var(--tp-course-accent) !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Pas de colonne ou bande colorée interne. */
.topo-premium-page .tp-course .tp-route-section::before,
.topo-premium-page .tp-course .tp-route-section::after,
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course__body::after {
    display: none !important;
    content: none !important;
}

/* Séparation élégante par respiration + filet neutre, pas par aplats couleur. */
@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        margin: 0 0 15px !important;
        padding: clamp(26px, 3vw, 34px) clamp(34px, 4.4vw, 54px) clamp(28px, 3.2vw, 36px) clamp(30px, 3.8vw, 44px) !important;
        border-top: 1px solid rgba(255, 255, 255, .46) !important;
        border-bottom: 1px solid rgba(0, 43, 85, .085) !important;
    }

    .topo-premium-page .tp-course .tp-route-section h3 {
        padding-top: 1px !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-course__heading {
        padding-left: 6px !important;
        margin-bottom: 18px !important;
    }

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin: 0 0 14px !important;
        padding: 20px 12px 22px 17px !important;
        background:
            linear-gradient(180deg, rgba(246, 249, 250, .84), rgba(239, 247, 249, .70)) !important;
        background-image:
            linear-gradient(180deg, rgba(246, 249, 250, .84), rgba(239, 247, 249, .70)) !important;
        border-left: 3px solid var(--tp-course-accent) !important;
        border-top: 1px solid rgba(255, 255, 255, .55) !important;
        border-bottom: 1px solid rgba(0, 43, 85, .16) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin-bottom: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section h3 {
        margin-bottom: 1rem !important;
    }
}

/* Sous-parties internes : elles doivent rester nettes mais sans effet bloc coloré. */
.topo-premium-page .tp-course .tp-guide-legs {
    border-top: 1px solid rgba(0, 43, 85, .12) !important;
}

.topo-premium-page .tp-course .tp-guide-leg {
    border-bottom: 1px solid rgba(0, 43, 85, .09) !important;
}

.topo-premium-page .tp-course .tp-guide-leg:last-child {
    border-bottom: 0 !important;
}

/* Listes : puces plus fines, moins présentes. */
.topo-premium-page .tp-course .tp-route-section__text li::before {
    width: 3px !important;
    height: 3px !important;
    opacity: .46 !important;
    box-shadow: none !important;
}


/* ========================================================================== */
/* V55 — Course clés en main : séparations propres                            */
/* - mobile : l'espace entre blocs reprend le fond de page, sans bande grise  */
/* - guide : suppression du double filet entre Itinéraire et Sentier 1        */
/* - aucun contenu ajouté                                                     */
/* ========================================================================== */

/* L'espace entre blocs ne doit pas être une bordure visible :
   on sépare par le margin, donc par le fond naturel de la page. */
@media(max-width:720px) {

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        margin-bottom: 16px !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin-bottom: 0 !important;
    }
}

/* Dans les blocs avec sous-sections internes, on évite le double trait
   entre le texte d'introduction et le premier sous-titre. */
.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-lead {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: clamp(16px, 2.2vw, 24px) !important;
}

.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-legs {
    border-top: 1px solid rgba(0, 43, 85, .11) !important;
    padding-top: clamp(15px, 2vw, 22px) !important;
}

/* Si une règle précédente ajoute un filet au premier sous-bloc, on le supprime
   pour ne conserver qu'une seule séparation avant Sentier 1. */
.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg:first-child {
    border-top: 0 !important;
    padding-top: 0 !important;
}


/* ========================================================================== */
/* V56 — Course clés en main : continuité des liserés                         */
/* - aucune marge entre blocs principaux                                      */
/* - séparation par filets très fins                                          */
/* - liserés verticaux continus, sans rupture visuelle                         */
/* - même logique desktop / mobile                                            */
/* - aucun contenu ajouté                                                     */
/* ========================================================================== */

.topo-premium-page .tp-course {
    --tp-course-rule-fine: rgba(0, 43, 85, .105);
    --tp-course-rule-fine-soft: rgba(255, 255, 255, .46);
}

/* Blocs principaux : ils se touchent. La séparation se fait par un filet fin,
   pas par un espace, ce qui évite toute rupture du liseré vertical. */
.topo-premium-page .tp-course .tp-route-section,
.topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
.topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
.topo-premium-page .tp-course .tp-route-section:last-of-type {
    margin: 0 !important;
    border: 0 !important;
    border-left: 3px solid var(--tp-course-accent) !important;
    border-bottom: 1px solid var(--tp-course-rule-fine) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course .tp-route-section:last-of-type {
    border-bottom: 0 !important;
}

/* On neutralise les pseudo-éléments, qui peuvent créer des ruptures ou
   des doubles séparations selon les pages. */
.topo-premium-page .tp-course .tp-route-section::before,
.topo-premium-page .tp-course .tp-route-section::after,
.topo-premium-page .tp-course__body::before,
.topo-premium-page .tp-course__body::after {
    display: none !important;
    content: none !important;
}

/* Desktop : blocs jointifs, filets fins, lecture revue topo. */
@media(min-width:721px) {
    .topo-premium-page .tp-course .tp-route-section {
        padding: clamp(26px, 3vw, 34px) clamp(34px, 4.4vw, 54px) clamp(28px, 3.2vw, 36px) clamp(30px, 3.8vw, 44px) !important;
        border-top: 0 !important;
    }

    .topo-premium-page .tp-course .tp-route-section:first-of-type {
        border-top: 1px solid var(--tp-course-rule-fine-soft) !important;
    }
}

/* Mobile : même principe que desktop, sans espace entre zones. */
@media(max-width:720px) {

    .topo-premium-page .tp-course .tp-route-section,
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(1),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(2),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(3),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(4),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(5),
    .topo-premium-page .tp-course .tp-route-section:nth-of-type(6),
    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        margin: 0 !important;
        padding: 20px 12px 22px 17px !important;
        border-left: 3px solid var(--tp-course-accent) !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--tp-course-rule-fine) !important;
        background:
            linear-gradient(180deg, rgba(246, 249, 250, .84), rgba(239, 247, 249, .70)) !important;
        box-shadow: none !important;
    }

    .topo-premium-page .tp-course .tp-route-section:first-of-type {
        border-top: 1px solid var(--tp-course-rule-fine-soft) !important;
    }

    .topo-premium-page .tp-course .tp-route-section:last-of-type {
        border-bottom: 0 !important;
    }
}

/* Sous-zones internes type Sentier 1 / Sentier 2 :
   une seule ligne fine entre chaque niveau, sans espace parasite. */
.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-lead {
    margin: 0 !important;
    padding: 0 0 clamp(15px, 2vw, 22px) !important;
    border-bottom: 1px solid var(--tp-course-rule-fine) !important;
}

.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-legs {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
}

.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg {
    margin: 0 !important;
    padding: clamp(15px, 2vw, 22px) 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--tp-course-rule-fine) !important;
}

.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg:first-child {
    padding-top: clamp(15px, 2vw, 22px) !important;
}

.topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-lead {
        padding-bottom: 16px !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg,
    .topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg:first-child {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text--guide .tp-guide-leg:last-child {
        padding-bottom: 0 !important;
    }
}


/* ========================================================================== */
/* V57 — Topo premium : finition revue topo autour de la course clés en main   */
/* - mobile : titre Course clés en main décollé du bord                       */
/* - trace GPS : habillage plus premium, moins iframe brut                    */
/* - transition carte / course clés en main plus naturelle                    */
/* - photo finale intégrée comme clôture de rubrique                          */
/* - aucun contenu ajouté                                                     */
/* ========================================================================== */

/* Mobile : le titre ne doit plus être collé au bord gauche. */
@media(max-width:720px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 14px !important;
        padding-right: 10px !important;
        margin-bottom: 17px !important;
    }

    .topo-premium-page .tp-course__heading h2 {
        line-height: 1.22 !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 12px !important;
        padding-right: 8px !important;
    }
}

/* Transition entre la carte et la course clés en main :
   on rapproche visuellement les deux sections sans les coller. */
.topo-premium-page .tp-cartography+.tp-course {
    margin-top: clamp(46px, 5.2vw, 72px) !important;
}

/* Trace GPS : habillage plus proche de la nouvelle section, moins “iframe posé”. */
.topo-premium-page .tp-cartography {
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-cartography .topo-premium-card-title {
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
}

.topo-premium-page .tp-cartography .topo-premium-card-title p {
    margin: 0 !important;
    order: 0 !important;
    color: #0b3049 !important;
    font-size: .72rem !important;
    line-height: 1.15 !important;
    font-weight: 880 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

.topo-premium-page .tp-cartography iframe,
.topo-premium-page .topo-premium-map__variant iframe,
.topo-premium-page .topo-premium-map__double-list iframe {
    border: 0 !important;
    box-shadow: 0 16px 38px rgba(0, 43, 85, .085) !important;
    background: #f4f8f9 !important;
}

/* Desktop/tablette : carte plus tenue, alignée avec la largeur éditoriale. */
@media(min-width:721px) {
    .topo-premium-page .tp-cartography {
        width: min(980px, 100%) !important;
    }

    .topo-premium-page .tp-cartography iframe,
    .topo-premium-page .topo-premium-map__variant iframe,
    .topo-premium-page .topo-premium-map__double-list iframe {
        height: 540px !important;
        min-height: 440px !important;
    }
}

/* Mobile : carte moins lourde et plus intégrée. */
@media(max-width:720px) {
    .topo-premium-page .tp-cartography {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .topo-premium-page .tp-cartography .topo-premium-card-title {
        padding-left: 12px !important;
        padding-right: 8px !important;
        margin-bottom: 12px !important;
    }

    .topo-premium-page .tp-cartography iframe,
    .topo-premium-page .topo-premium-map__variant iframe,
    .topo-premium-page .topo-premium-map__double-list iframe {
        height: min(540px) !important;
        min-height: 340px !important;
        box-shadow: 0 10px 24px rgba(0, 43, 85, .075) !important;
    }
}

/* Photo finale : plus “revue topo”, sans cadre blanc et avec légende posée. */
.topo-premium-page .tp-course__body>.topo-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: clamp(24px, 3.2vw, 38px) 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.topo-premium-page .tp-course__body>.topo-gallery img {
    display: block !important;
    max-width: 100% !important;
    max-height: min(66vh, 620px) !important;
    margin: 0 auto !important;
    box-shadow: 0 18px 42px rgba(0, 43, 85, .12) !important;
}

.topo-premium-page .tp-course__body>.topo-gallery figcaption {
    margin: 11px auto 0 !important;
    color: #526c79 !important;
    font-size: .82rem !important;
    line-height: 1.42 !important;
    font-style: italic !important;
    text-align: center !important;
}

/* Sur mobile, la photo finale doit rester dans le flux, sans effet carte. */
@media(max-width:720px) {
    .topo-premium-page .tp-course__body>.topo-gallery {
        margin-top: 24px !important;
    }

    .topo-premium-page .tp-course__body>.topo-gallery img {
        box-shadow: 0 10px 24px rgba(0, 43, 85, .10) !important;
    }
}

/* Dernière neutralisation de l'effet loupe au survol. */
.topo-premium-page .tp-image-zoom-thumb::before,
.topo-premium-page .tp-image-zoom-thumb::after,
.topo-premium-page .topo-gallery--zoomable::before,
.topo-premium-page .topo-gallery--zoomable::after,
.topo-premium-page .tp-low-photo.topo-gallery--zoomable::before,
.topo-premium-page .tp-low-photo.topo-gallery--zoomable::after,
.topo-premium-page .tp-hero-photo.topo-gallery--zoomable::before,
.topo-premium-page .tp-hero-photo.topo-gallery--zoomable::after {
    display: none !important;
    content: none !important;
}

@media(hover:hover) {

    .topo-premium-page .tp-image-zoom-thumb:hover img,
    .topo-premium-page .topo-gallery--zoomable:hover img {
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }
}


/* ========================================================================== */
/* V58 — Mobile : titre un peu plus décollé + retour des puces validées        */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 18px !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 16px !important;
    }
}

/* Retour à des puces plus visibles pour les listes L1 / L2 / L3,
   comme dans le rendu précédent validé. */
.topo-premium-page .tp-course .tp-route-section__text li {
    padding: .34rem 0 .34rem 1.35rem !important;
}

.topo-premium-page .tp-course .tp-route-section__text li::before {
    width: 5px !important;
    height: 5px !important;
    top: 1.02em !important;
    background: var(--tp-course-accent) !important;
    opacity: .55 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-course .tp-route-section__text li {
        padding-left: 1.35rem !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text li::before {
        width: 5px !important;
        height: 5px !important;
        top: 1.02em !important;
    }
}


/* ========================================================================== */
/* V59 — Cartes doubles + puces listes                                        */
/* - aligne les sous-titres Circuit facile / Circuit technique avec Traces GPS */
/* - restaure les puces du CSS de référence initial                           */
/* - aucun contenu ajouté                                                     */
/* ========================================================================== */

/* Cartes GPS doubles : les titres des variantes ne doivent pas être collés
   au bord de l'iframe. */
.topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
    padding-left: clamp(18px, 2vw, 26px) !important;
    margin: 0 0 10px !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 24px !important;
        margin-bottom: 10px !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 22px !important;
    }
}

/* Puces de listes : retour au rendu du premier CSS envoyé dans cette session
   (petites puces bleu nuit, nettes mais discrètes). */
.topo-premium-page .tp-course .tp-route-section__text ul,
.topo-premium-page .tp-course .tp-route-section__text ol {
    list-style: none !important;
}

.topo-premium-page .tp-course .tp-route-section__text li {
    position: relative !important;
    padding-left: 1.15rem !important;
}

.topo-premium-page .tp-course .tp-route-section__text li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .78em !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(0, 43, 85, .76) !important;
    box-shadow: 0 0 0 2px rgba(0, 43, 85, .10) !important;
    opacity: 1 !important;
}

@media(max-width:640px) {
    .topo-premium-page .tp-course .tp-route-section__text li {
        padding-left: 1rem !important;
    }

    .topo-premium-page .tp-course .tp-route-section__text li::before {
        width: 4.5px !important;
        height: 4.5px !important;
        top: .76em !important;
        background: rgba(0, 43, 85, .78) !important;
    }
}


/* ========================================================================== */
/* V60 — Cartes doubles : alignement des sous-titres avec Traces GPS          */
/* ========================================================================== */
.topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
    padding-left: 0 !important;
    margin-left: 0 !important;
    text-indent: 0 !important;
}

@media(max-width:720px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
}

@media(max-width:640px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
}


/* ========================================================================== */
/* V61 — Cartes doubles : réglage fin des sous-titres selon device            */
/* - desktop large : alignement actuel conservé                                */
/* - iPad mini / iPad Pro : léger décalage à droite                            */
/* - iPhone : un peu plus de respiration à gauche                              */
/* ========================================================================== */
@media(max-width:1024px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 18px !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 20px !important;
    }
}

@media(max-width:430px) {
    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 22px !important;
    }
}


/* ========================================================================== */
/* V62 — Cartes GPS tablette/mobile : alignement commun et sobre              */
/* - on décale Traces GPS et Circuit facile/technique ensemble                */
/* - pas de gros décalage sur iPhone                                           */
/* - desktop large inchangé                                                    */
/* ========================================================================== */
@media(max-width:1024px) {
    .topo-premium-page .tp-cartography .topo-premium-card-title {
        padding-left: 12px !important;
        padding-right: 8px !important;
    }

    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 12px !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-cartography .topo-premium-card-title {
        padding-left: 14px !important;
        padding-right: 8px !important;
    }

    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 14px !important;
    }
}

@media(max-width:430px) {
    .topo-premium-page .tp-cartography .topo-premium-card-title {
        padding-left: 12px !important;
        padding-right: 8px !important;
    }

    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 12px !important;
    }
}


/* ========================================================================== */
/* V63 — Mobile : sous-titres cartes GPS un peu plus proches du bord gauche   */
/* ========================================================================== */
@media(max-width:720px) {
    .topo-premium-page .tp-cartography .topo-premium-card-title {
        padding-left: 10px !important;
    }

    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 10px !important;
    }
}

@media(max-width:430px) {
    .topo-premium-page .tp-cartography .topo-premium-card-title {
        padding-left: 9px !important;
    }

    .topo-premium-page .tp-cartography--double .topo-premium-map__variant-title {
        padding-left: 9px !important;
    }
}


/* ========================================================================== */
/* V64 — Ajustement fin du titre "La course clés en main" selon device        */
/* - iPhone : un peu moins décollé du bord gauche                             */
/* - iPad mini / iPad Pro : un peu plus décollé du bord gauche                */
/* ========================================================================== */
@media(min-width:721px) and (max-width:1024px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 12px !important;
        padding-right: 8px !important;
    }
}

@media(max-width:720px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 10px !important;
        padding-right: 8px !important;
    }
}

@media(max-width:430px) {
    .topo-premium-page .tp-course__heading {
        padding-left: 9px !important;
        padding-right: 8px !important;
    }
}


/* Alias d’icônes pour les clés techniques harmonisées : aucune nouvelle icône, SVG existants réutilisés. */
.topo-premium-info__row[data-tech="elevation-difficulty"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0A%3Cpath%20d%3D%27M4.2%2018.4h12.1L11.9%207.1l-3.1%205.1-1.5-2.1-3.1%208.3Z%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%3Cpath%20d%3D%27M18.8%2018.6V5.4m0%200-2.5%202.5m2.5-2.5%202.5%202.5%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%0A%3Cpath%20d%3D%27M5%2020h15.4%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.15%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.78%27%2F%3E%0A%3C%2Fsvg%3E");
}

.topo-premium-info__row[data-tech="elevation-approach-return"]::before {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M8.2%2019V5m0%200L5.2%208m3-3%203%203M15.8%205v14m0%200%203-3m-3%203-3-3%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.55%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M5%2012h14%27%20fill%3D%27none%27%20stroke%3D%27%232d8a8f%27%20stroke-width%3D%271.15%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.75%27%2F%3E%3C%2Fsvg%3E");
}