:root {
	--wd-text-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(0,0,0);
	--wd-text-font-size: 16px;
	--wd-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 900;
	--wd-title-color: rgb(0,0,0);
	--wd-entities-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: rgb(0,0,0);
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: rgb(0,0,0);
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 900;
	--wd-header-el-transform: inherit;
	--wd-header-el-font-size: 16px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(215,41,47);
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: rgb(247,247,247);
	--btn-default-bgcolor-hover: rgb(239,239,239);
	--btn-accented-bgcolor: rgb(215,41,47);
	--btn-accented-bgcolor-hover: rgb(0,0,0);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: rgb(215,41,47);
	--wd-link-color-hover: rgb(0,0,0);
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 200px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
html .entry-summary .single_add_to_cart_button, .wd-single-add-cart .single_add_to_cart_button {
	font-size: 15px;
	padding: 20px 20px 20px 20px;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 768.98px) {
	.woocommerce-product-gallery {
		--wd-gallery-gap: 0px;
	}

}
:root{
--wd-container-w: 1300px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 12px;
}

@media (min-width: 1300px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: rgb(249,249,249);
}


/* =============================================================
   CHARIOTS ROLSER — CSS FICHES PRODUIT
   Version responsive corrigée
   ============================================================= */

/* ---------- Base ---------- */

.rx {
    --rx-red: #D82A30;
    --rx-red-dark: #8A1B20;
    --rx-ink: #1E2B2F;
    --rx-mute: #5B676B;
    --rx-line: #E3E6E3;
    --rx-soft: #F2F4F3;
    --rx-cool: #2F6F8F;
    --rx-green: #3F7D4E;
    color: var(--rx-ink);
    line-height: 1.6;
    width: 100%;
    max-width: 1040px;
    min-width: 0;
    margin: 0 auto;
}

.rx * {
    box-sizing: border-box;
}

.rx img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 0;
}

.rx h2 {
    font-size: 1.8rem;
    line-height: 1.2;
    margin: 0 0 .5em;
    color: var(--rx-ink);
}

.rx h3 {
    font-size: 1.3rem;
    line-height: 1.25;
    margin: 0 0 .6em;
    color: var(--rx-ink);
}

.rx p {
    margin: 0 0 1em;
    max-width: 62ch;
}

.rx a {
    color: var(--rx-red);
}

.rx .rx-lead {
    font-size: 1.1rem;
}

/* ---------- Mise en page ---------- */

.rx-row {
    display: flex;
    gap: 44px;
    align-items: center;
    margin: 0 0 60px;
    min-width: 0;
}

.rx-row > * {
    flex: 1 1 0;
    min-width: 0;
}

.rx-row.rx-rev {
    flex-direction: row-reverse;
}

.rx-row .rx-media {
    flex: 0 0 42%;
    min-width: 0;
}

.rx-row.rx-spec {
    align-items: flex-start;
}

.rx .rx-pack img {
    max-height: 520px;
    object-fit: contain;
}

.rx-duo {
    display: flex;
    gap: 44px;
    margin: 0 0 60px;
}

.rx-duo > div {
    flex: 1 1 0;
    min-width: 0;
}

.rx-trio-wrap,
.rx-colors-wrap,
.rx-gallery-wrap,
.rx-video-wrap {
    margin: 0 0 60px;
}

.rx-trio {
    display: flex;
    gap: 36px;
    margin-top: 8px;
}

.rx-trio > div {
    flex: 1 1 0;
    min-width: 0;
    border-top: 3px solid var(--rx-ink);
    padding-top: 16px;
}

.rx-trio > div > strong {
    display: block;
    margin-bottom: 4px;
}

.rx .rx-trio p {
    font-size: .97rem;
}

.rx .rx-trio p:last-child {
    margin-bottom: 0;
}

.rx-specs {
    max-width: 720px;
}

/* ---------- Chiffres clés ---------- */

.rx-facts {
    display: flex;
    flex-wrap: wrap;
    margin: 28px 0 0;
    padding: 0;
    border-top: 1px solid var(--rx-line);
}

.rx-fact {
    flex: 1 1 50%;
    padding: 12px 12px 12px 0;
    border-bottom: 1px solid var(--rx-line);
}

.rx-fact b {
    display: block;
    font-size: 1.4rem;
    line-height: 1.2;
}

.rx-fact span {
    font-size: .9rem;
    color: var(--rx-mute);
}

/* =========================================================
   BLOC GRIS ET SCHÉMAS — RESPONSIVE CORRIGÉ
   ========================================================= */

.rx-fold {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    min-width: 0;
    max-width: 100%;
    background: linear-gradient(
        90deg,
        #F6F6F6 0%,
        #F6F6F6 0%,
        #FFFFFF 40%
    );
    border-radius: 12px;
    padding: 40px;
    margin: 0 0 60px;
    box-shadow: 2px 0 0 4px #F6F6F6;
}

.rx-fold > * {
    min-width: 0;
}

.rx-fold-text {
    flex: 1 1 300px;
    min-width: 0;
}

.rx .rx-fold-text .rx-small {
    font-size: .95rem;
    color: var(--rx-mute);
    margin: 0;
}

.rx-fig {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 10px;
}

.rx-fig.rx-fig-flex {
    flex: 0 1 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 0;
}

.rx-figbox {
    display: flex;
    justify-content: center;
    min-width: 0;
    max-width: 100%;
    background: var(--rx-soft);
    border-radius: 12px;
    padding: 40px 20px 32px;
}

.rx-figbox.rx-figbox-col {
    flex-direction: column;
    align-items: center;
    padding: 28px 20px 20px;
}

.rx-figbox > div {
    min-width: 0;
    max-width: 100%;
}

/* Images PNG des nouveaux schémas */

.rx .rx-fig img,
.rx .rx-figbox img,
.rx .rx-modes img,
.rx .rx-st-wrap img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
}

/* ---------- Listes ---------- */

.rx .rx-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx .rx-list li {
    margin: 0;
    padding: 14px 0;
    border-top: 1px solid var(--rx-line);
    list-style: none;
}

.rx .rx-list li:before {
    content: none;
}

.rx .rx-list strong {
    display: block;
    margin-bottom: 2px;
}

.rx .rx-checks {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx .rx-checks li {
    position: relative;
    margin: 0;
    padding: 9px 0 9px 30px;
    list-style: none;
    border-bottom: 1px solid var(--rx-line);
}

.rx .rx-checks li:before {
    content: "✓";
    position: absolute;
    left: 4px;
    top: 9px;
    font-weight: 700;
    color: var(--rx-red);
}

.rx .rx-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}

.rx .rx-tags li {
    margin: 0;
    list-style: none;
    border: 1px solid var(--rx-line);
    border-radius: 999px;
    padding: 4px 14px;
    font-size: .9rem;
}

.rx .rx-tags li:before {
    content: none;
}

.rx .rx-tags + h3,
.rx h3.rx-gap {
    margin-top: 36px;
}

/* ---------- Tableau technique et notes ---------- */

.rx .rx-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 20px;
    border: 0;
}

.rx .rx-table th,
.rx .rx-table td {
    padding: 11px 14px;
    border: 0;
    border-bottom: 1px solid var(--rx-line);
    text-align: left;
    vertical-align: top;
    background: none;
}

.rx .rx-table th {
    font-weight: 400;
    color: var(--rx-mute);
    width: 50%;
}

.rx .rx-table td {
    font-weight: 600;
}

.rx .rx-table tr:nth-child(odd) th,
.rx .rx-table tr:nth-child(odd) td {
    background: var(--rx-soft);
}

.rx .rx-foot {
    font-size: .85rem;
    color: var(--rx-mute);
    margin: -8px 0 20px;
}

.rx .rx-note {
    border-left: 3px solid var(--rx-red);
    padding-left: 14px;
    font-style: italic;
    color: var(--rx-mute);
    margin: 20px 0 1em;
}

.rx-alert {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: #FFF4E5;
    border: 1px solid #EFC98C;
    border-radius: 10px;
    padding: 16px 18px;
}

.rx-alert-ico {
    flex: 0 0 28px;
    height: 28px;
    border-radius: 50%;
    background: #B86E00;
    color: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 28px;
}

.rx .rx-alert p {
    margin: 0;
}

/* ---------- Vignettes coloris et galerie ---------- */

.rx .rx-colors {
    display: flex;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 880px;
}

.rx h3 + .rx-colors,
.rx p + .rx-colors {
    margin-top: 16px;
}

.rx .rx-colors li {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    list-style: none;
}

.rx .rx-colors li:before {
    content: none;
}

.rx .rx-colors a {
    display: block;
    color: var(--rx-ink);
    text-decoration: none;
    font-weight: 600;
    font-size: .95rem;
}

.rx .rx-colors img {
    aspect-ratio: 1/1;
    object-fit: cover;
    background: var(--rx-soft);
    margin-bottom: 8px;
}

.rx .rx-colors a:hover span,
.rx .rx-colors a:focus-visible span {
    text-decoration: underline;
}

.rx .rx-gallery {
    display: flex;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx .rx-gallery li {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    list-style: none;
}

.rx .rx-gallery li:before {
    content: none;
}

.rx .rx-gallery img {
    aspect-ratio: 1/1;
    object-fit: cover;
    background: var(--rx-soft);
}

/* ---------- Vidéo ---------- */

.rx-video {
    position: relative;
    max-width: 820px;
    aspect-ratio: 16/9;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

.rx-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ---------- Schéma : chariots comparés en hauteur ---------- */

.rx-stage {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 64px;
    padding: 0 20px;
}

.rx-cart {
    position: relative;
    width: 72px;
    border: 3px solid var(--rx-ink);
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
}

.rx-cart:before {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: 0;
    height: 60%;
    background: var(--rx-red);
    border-radius: 6px 6px 0 0;
}

.rx-cart:after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: -12px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rx-ink);
    border: 5px solid var(--rx-soft);
}

.rx-cart.rx-ghost {
    border-color: #A9B2B4;
}

.rx-cart.rx-ghost:before {
    background: #D5DADB;
}

.rx-cart.rx-ghost:after {
    background: #A9B2B4;
}

.rx-cart.rx-nowheel:after {
    content: none;
}

.rx-guide {
    position: absolute;
    left: 0;
    right: 0;
    border-top: 2px dashed var(--rx-mute);
}

.rx-guide span {
    position: absolute;
    right: -6px;
    top: -30px;
    font-size: .9rem;
    font-weight: 700;
    color: var(--rx-red);
}

.rx-guide.rx-guide-left span {
    left: -6px;
    right: auto;
}

.rx-caps {
    display: flex;
    gap: 64px;
    padding: 24px 20px 0;
}

.rx-caps div {
    width: 72px;
    text-align: center;
    font-size: .85rem;
    color: var(--rx-mute);
    line-height: 1.3;
}

.rx-caps b {
    display: block;
    font-size: 1rem;
    color: var(--rx-ink);
}

/* Variante grandes roues */

.rx-stage.rx-xl {
    padding: 0 24px;
}

.rx-xl .rx-cart {
    width: 76px;
}

.rx-xl .rx-cart:after {
    bottom: -26px;
    left: -22px;
    width: 48px;
    height: 48px;
    border: 6px solid var(--rx-soft);
    box-shadow:
        inset 0 0 0 9px var(--rx-ink),
        inset 0 0 0 13px #7C878A;
}

.rx-caps.rx-xl {
    padding: 36px 24px 0;
}

.rx-caps.rx-xl div {
    width: 76px;
}

/* Variante sacoche (Plegamatic) */

.rx-w80 .rx-cart {
    width: 80px;
}

.rx-caps.rx-w80 div {
    width: 80px;
}

.rx-satchel {
    position: relative;
    width: 80px;
    height: 104px;
}

.rx-satchel:before {
    content: "";
    position: absolute;
    top: 0;
    left: 22px;
    width: 36px;
    height: 26px;
    border: 4px solid var(--rx-ink);
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
}

.rx-satchel:after {
    content: "";
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--rx-red);
    border-radius: 10px;
}

/* ---------- Schéma : base rabattable vue de profil ---------- */

.rx-stage.rx-prof-stage {
    gap: 56px;
}

.rx-caps.rx-prof-caps {
    gap: 56px;
}

.rx-caps.rx-prof-caps div {
    width: 80px;
}

.rx-prof {
    position: relative;
    width: 80px;
}

.rx-post {
    position: absolute;
    left: 10px;
    bottom: 0;
    width: 5px;
    height: 100%;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-post:before {
    content: "";
    position: absolute;
    top: 0;
    left: -9px;
    width: 14px;
    height: 5px;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-bag {
    position: absolute;
    left: 15px;
    bottom: 14px;
    height: 58%;
    background: var(--rx-red);
    border-radius: 0 10px 10px 0;
}

.rx-base {
    position: absolute;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-wheel {
    position: absolute;
    left: -2px;
    bottom: -12px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rx-ink);
    border: 5px solid var(--rx-soft);
}

/* ---------- Schéma : 2 roues / 4 roues ---------- */

.rx-modes {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 32px;
}

.rx-mode {
    width: 130px;
    text-align: center;
}

.rx-scene {
    position: relative;
    height: 200px;
}

.rx-ground {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #C9CFD0;
}

.rx-frame {
    position: absolute;
    width: 62px;
    border: 3px solid var(--rx-ink);
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
}

.rx-frame:before {
    content: "";
    position: absolute;
    left: 6px;
    right: 6px;
    bottom: 0;
    height: 60%;
    background: var(--rx-red);
    border-radius: 6px 6px 0 0;
}

.rx-tilt {
    left: 74px;
    bottom: 16px;
    height: 170px;
    transform: rotate(-22deg);
    transform-origin: bottom left;
}

.rx-upright {
    left: 30px;
    bottom: 16px;
    height: 150px;
}

.rx-wh {
    position: absolute;
    bottom: 2px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rx-ink);
    border: 5px solid var(--rx-soft);
}

.rx-wh.rx-sm {
    width: 22px;
    height: 22px;
    border-width: 4px;
}

.rx-base4 {
    position: absolute;
    left: 30px;
    bottom: 12px;
    width: 72px;
    height: 4px;
    background: var(--rx-ink);
    border-radius: 2px;
}

.rx-mode b {
    display: block;
    margin-top: 14px;
    font-size: 1rem;
}

.rx-mode span {
    display: block;
    font-size: .85rem;
    color: var(--rx-mute);
    line-height: 1.3;
}

/* ---------- Schéma : monte-escaliers ---------- */

.rx-st-wrap {
    flex: 0 1 260px;
    min-width: 0;
    max-width: 100%;
    margin: 0 auto;
}

.rx-st {
    position: relative;
    width: 260px;
    height: 220px;
    overflow: hidden;
}

.rx-st div {
    position: absolute;
}

.rx-st-step {
    background: #D5DADB;
}

.rx-st-cart {
    left: 58px;
    top: -10px;
    width: 56px;
    height: 140px;
    border: 3px solid var(--rx-ink);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    transform: rotate(28deg);
    transform-origin: bottom left;
}

.rx-st-cart:before {
    content: "";
    position: absolute;
    left: 6px;
    right: 6px;
    bottom: 0;
    height: 58%;
    background: var(--rx-red);
    border-radius: 6px 6px 0 0;
}

.rx-st-arm {
    width: 32px;
    height: 4px;
    background: var(--rx-ink);
    border-radius: 2px;
    transform-origin: left center;
}

.rx-st-w {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--rx-ink);
    border: 4px solid #fff;
}

.rx-st-hub {
    left: 62px;
    top: 121px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--rx-red);
}

.rx-st-lbl {
    right: 8px;
    top: 8px;
    font-size: .8rem;
    color: var(--rx-mute);
}

.rx .rx-st-cap {
    font-size: .8rem;
    color: var(--rx-mute);
    text-align: center;
    margin: 10px 0 0;
}

/* ---------- Schéma : sac extensible (Mini Bag) ---------- */

.rx-bags {
    display: flex;
    align-items: flex-end;
    gap: 64px;
    height: 150px;
    padding: 0 20px;
}

.rx-sac {
    width: 72px;
}

.rx-ext {
    position: relative;
    height: 56px;
    margin: 0 5px;
    border: 3px dashed var(--rx-ink);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

.rx-ext:before {
    content: "";
    position: absolute;
    top: 9px;
    left: -8px;
    right: -8px;
    height: 3px;
    background: var(--rx-ink);
    border-radius: 2px;
}

.rx-body {
    position: relative;
    height: 88px;
    background: var(--rx-red);
    border-radius: 6px 6px 12px 12px;
}

.rx-body:before {
    content: "";
    position: absolute;
    top: 8px;
    left: 10px;
    right: 10px;
    height: 3px;
    background: #fff;
    opacity: .75;
    border-radius: 2px;
}

/* ---------- Schéma : poche isotherme (Thermo Zen) ---------- */

.rx-scale {
    display: flex;
    align-items: flex-end;
    gap: 40px;
}

.rx-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rx-shape-bag {
    width: 72px;
    height: 126px;
    background: var(--rx-red);
    border-radius: 8px 8px 14px 14px;
    position: relative;
}

.rx-shape-bag:before {
    content: "";
    position: absolute;
    top: 10px;
    left: -4px;
    right: -4px;
    height: 18px;
    background: var(--rx-red);
    filter: brightness(.8);
    border-radius: 6px;
}

.rx-shape-iso {
    width: 60px;
    height: 58px;
    border-radius: 6px;
    background: repeating-linear-gradient(
        45deg,
        var(--rx-cool) 0 6px,
        #4A8FB0 6px 12px
    );
}

.rx-item .rx-cap {
    margin-top: 14px;
    width: 110px;
    text-align: center;
    font-size: .85rem;
    color: var(--rx-mute);
    line-height: 1.3;
}

.rx-item .rx-cap b {
    display: block;
    font-size: 1rem;
    color: var(--rx-ink);
}

.rx .rx-scale-note {
    margin: 14px 0 0;
    text-align: center;
    font-size: .8rem;
    color: var(--rx-mute);
}

/* ---------- Schéma : sac isotherme intégral (Igloo) ---------- */

.rx-iglo {
    position: relative;
    width: 150px;
    height: 180px;
    border-radius: 14px;
    background: repeating-linear-gradient(
        45deg,
        var(--rx-cool) 0 6px,
        #4A8FB0 6px 12px
    );
}

.rx-iglo:before {
    content: "";
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: 16px;
    left: 16px;
    background: #fff;
    border-radius: 6px;
}

.rx-iglo:after {
    content: "";
    position: absolute;
    top: 26px;
    right: 26px;
    bottom: 26px;
    left: 26px;
    border: 2px dashed var(--rx-ink);
    border-radius: 4px;
}

.rx-iglo span {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    font-weight: 700;
    font-size: 1.2rem;
    z-index: 1;
}

.rx .rx-legend {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx .rx-legend li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    list-style: none;
    font-size: .9rem;
    line-height: 1.3;
}

.rx .rx-legend li:before {
    content: none;
}

.rx-sw {
    flex: 0 0 26px;
    height: 26px;
    border-radius: 5px;
}

.rx-sw-wall {
    background: repeating-linear-gradient(
        45deg,
        var(--rx-cool) 0 4px,
        #4A8FB0 4px 8px
    );
}

.rx-sw-frame {
    border: 2px dashed var(--rx-ink);
    background: #fff;
}

.rx-sw-pocket {
    background: repeating-linear-gradient(
        45deg,
        var(--rx-cool) 0 4px,
        #4A8FB0 4px 8px
    );
    border-radius: 50%;
}

/* ---------- Schéma : sac multi-poches (Big Polar, CLEC) ---------- */

.rx-pk {
    position: relative;
    flex: 0 0 280px;
    height: 220px;
    margin: 0 auto;
}

.rx-pk-bag {
    position: absolute;
    left: 105px;
    top: 26px;
    width: 70px;
    height: 150px;
    background: var(--rx-red);
    border-radius: 8px 8px 12px 12px;
}

.rx-pk-clip {
    position: absolute;
    left: 131px;
    top: 14px;
    width: 18px;
    height: 16px;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-pk-front {
    position: absolute;
    left: 175px;
    top: 80px;
    width: 16px;
    height: 70px;
    background: var(--rx-red-dark);
    border-radius: 0 8px 8px 0;
}

.rx-pk-back {
    position: absolute;
    left: 89px;
    top: 46px;
    width: 16px;
    height: 62px;
    background: var(--rx-red-dark);
    border-radius: 8px 0 0 8px;
}

.rx-pk-iso {
    position: absolute;
    left: 83px;
    top: 44px;
    width: 22px;
    height: 80px;
    border-radius: 8px 0 0 8px;
    background: repeating-linear-gradient(
        45deg,
        var(--rx-cool) 0 5px,
        #4A8FB0 5px 10px
    );
}

.rx-pk-in {
    position: absolute;
    left: 121px;
    width: 38px;
    height: 30px;
    border: 2px dashed #fff;
    border-radius: 4px;
}

.rx-pk-l {
    position: absolute;
    width: 80px;
    font-size: .8rem;
    line-height: 1.25;
    color: var(--rx-mute);
}

.rx-pk-l b {
    display: block;
    color: var(--rx-ink);
    font-size: .85rem;
}

/* ---------- Schéma : vue de côté (Basket 4B) ---------- */

.rx-bk {
    position: relative;
    flex: 0 0 308px;
    height: 262px;
    margin: 0 auto;
}

.rx-bk div {
    position: absolute;
}

.rx-bk-grip {
    left: 36px;
    top: 22px;
    width: 28px;
    height: 6px;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-bk-post {
    left: 60px;
    top: 22px;
    width: 5px;
    height: 186px;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-bk-bag {
    left: 68px;
    top: 46px;
    width: 104px;
    height: 96px;
    background: var(--rx-red);
    border-radius: 8px 8px 4px 4px;
}

.rx-bk-tray {
    left: 68px;
    top: 156px;
    width: 104px;
    height: 28px;
    background: var(--rx-red-dark);
    border-radius: 4px;
}

.rx-bk-base {
    left: 60px;
    top: 204px;
    width: 124px;
    height: 4px;
    background: var(--rx-ink);
    border-radius: 2px;
}

.rx-bk-foot {
    left: 26px;
    top: 190px;
    width: 30px;
    height: 5px;
    background: var(--rx-ink);
    border-radius: 3px;
}

.rx-bk-ground {
    left: 0;
    right: 0;
    top: 232px;
    height: 2px;
    background: #C9CFD0;
}

.rx-bk-wr {
    left: 44px;
    top: 196px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rx-ink);
    border: 6px solid var(--rx-soft);
}

.rx-bk-wf {
    left: 166px;
    top: 204px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rx-ink);
    border: 5px solid var(--rx-soft);
}

.rx-bk-ring {
    left: 158px;
    top: 196px;
    width: 44px;
    height: 44px;
    border: 2px dashed var(--rx-red);
    border-radius: 50%;
}

.rx-bk .rx-bk-l {
    width: 96px;
    font-size: .8rem;
    line-height: 1.25;
    color: var(--rx-mute);
}

.rx-bk-l b {
    display: block;
    color: var(--rx-ink);
    font-size: .85rem;
}

/* ---------- Schéma : vue de dessus (Basket Denim M4B) ---------- */

.rx-top {
    position: relative;
    width: 170px;
    height: 230px;
}

.rx-top-dir {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    text-align: center;
    font-size: .8rem;
    color: var(--rx-mute);
}

.rx-top-frame {
    position: absolute;
    left: 35px;
    top: 40px;
    width: 100px;
    height: 140px;
    border: 3px solid var(--rx-ink);
    border-radius: 10px;
}

.rx-top-basket {
    position: absolute;
    left: 47px;
    top: 54px;
    width: 76px;
    height: 112px;
    background: var(--rx-red);
    border-radius: 6px;
}

.rx-top-handle {
    position: absolute;
    left: 45px;
    top: 180px;
    width: 80px;
    height: 26px;
    border: 3px solid var(--rx-ink);
    border-top: 0;
    border-radius: 0 0 10px 10px;
}

.rx-top-w {
    position: absolute;
    width: 12px;
    height: 24px;
    background: var(--rx-ink);
    border-radius: 4px;
}

.rx-top-ring {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 2px dashed var(--rx-red);
    border-radius: 50%;
}

.rx-swr {
    flex: 0 0 28px;
    height: 28px;
    position: relative;
}

.rx-swr i {
    position: absolute;
    left: 8px;
    top: 2px;
    width: 12px;
    height: 24px;
    background: var(--rx-ink);
    border-radius: 4px;
}

.rx-swr.rx-swr-ring:after {
    content: "";
    position: absolute;
    left: -4px;
    top: -4px;
    width: 36px;
    height: 36px;
    border: 2px dashed var(--rx-red);
    border-radius: 50%;
}

/* ---------- Schéma : réglage de poignée (Kadira) ---------- */

.rx-ruler {
    position: relative;
    flex: 0 0 230px;
    height: 230px;
    margin: 0 auto;
}

.rx-rail {
    position: absolute;
    left: 104px;
    bottom: 30px;
    width: 6px;
    height: 168px;
    background: #C9CFD0;
    border-radius: 3px;
}

.rx-tick {
    position: absolute;
    left: 96px;
    width: 22px;
    height: 3px;
    background: var(--rx-ink);
    border-radius: 2px;
}

.rx-grip {
    position: absolute;
    left: 74px;
    width: 66px;
    height: 12px;
    background: var(--rx-red);
    border-radius: 6px;
}

.rx-rl {
    position: absolute;
    font-size: .85rem;
    line-height: 1.2;
    color: var(--rx-mute);
}

.rx-rl b {
    display: block;
    color: var(--rx-ink);
    font-size: 1rem;
}

/* ---------- Graphique : capacités comparées (COM 8) ---------- */

.rx-bars {
    flex: 0 1 340px;
    margin: 0 auto;
}

.rx-bar {
    margin: 0 0 16px;
}

.rx-bar-label {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: .9rem;
    color: var(--rx-mute);
    margin-bottom: 5px;
}

.rx-bar-track {
    height: 16px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.rx-bar-fill {
    height: 100%;
    background: #A9B2B4;
    border-radius: 8px;
}

.rx-bar.rx-hi .rx-bar-label {
    color: var(--rx-ink);
    font-weight: 700;
}

.rx-bar.rx-hi .rx-bar-fill {
    background: var(--rx-red);
}

.rx .rx-bars-note {
    font-size: .8rem;
    color: var(--rx-mute);
    margin: 6px 0 0;
}

/* ---------- Schéma : matières recyclées (EcoPep, CLEC) ---------- */

.rx-flow {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rx-inputs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rx-chip {
    width: 170px;
    background: #fff;
    border: 1px solid var(--rx-line);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.3;
}

.rx-chip span {
    display: block;
    font-size: .8rem;
    font-weight: 400;
    color: var(--rx-mute);
}

.rx-arrow {
    font-size: 1.5rem;
    line-height: 1;
    color: var(--rx-green);
}

.rx-result {
    width: 160px;
    background: #fff;
    border: 2px solid var(--rx-green);
    border-radius: 10px;
    padding: 14px 12px;
    text-align: center;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.3;
}

.rx .rx-result img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 10px;
}

.rx-result span {
    display: block;
    font-size: .8rem;
    font-weight: 400;
    color: var(--rx-mute);
}

.rx-eco {
    border-top: 3px solid var(--rx-ink);
    padding-top: 18px;
}

.rx .rx-eco p {
    font-size: .97rem;
}

.rx-co2 {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin: 6px 0 4px;
}

.rx-co2 b {
    font-size: 1.6rem;
    line-height: 1.1;
}

.rx-co2 span {
    color: var(--rx-mute);
    font-size: .95rem;
}

.rx .rx-src {
    font-size: .8rem;
    color: var(--rx-mute);
    margin: 0;
}

/* =========================================================
   MOBILE — CORRECTIONS RESPONSIVE
   ========================================================= */

@media (max-width: 760px) {

    .rx h2 {
        font-size: 1.5rem;
    }

    /* Mise en page générale */

    .rx-row,
    .rx-row.rx-rev {
        flex-direction: column;
        align-items: stretch;
        gap: 22px;
        margin-bottom: 44px;
    }

    .rx-row > *,
    .rx-row .rx-media {
        flex: none;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    /* Bloc texte + image */

    .rx-fold {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 24px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 26px 16px;
        margin-bottom: 44px;
        background: linear-gradient(
            180deg,
            #F6F6F6 0%,
            #F6F6F6 35%,
            #FFFFFF 100%
        );
        box-shadow: none;
    }

    .rx-fold > *,
    .rx-fold-text {
        flex: 0 1 auto !important;
        width: 100%;
        min-width: 0;
        max-width: 100% !important;
    }

    /* Conteneurs des schémas */

    .rx .rx-fig,
    .rx .rx-modes,
    .rx .rx-st-wrap {
        display: block;
        flex: 0 1 auto !important;
        width: 100%;
        max-width: 100% !important;
        min-width: 0;
        padding: 0 !important;
        margin-left: auto;
        margin-right: auto;
    }

    .rx .rx-figbox {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 20px 12px;
    }

    .rx .rx-figbox > div {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Images PNG */

    .rx .rx-fig img,
    .rx .rx-figbox img,
    .rx .rx-modes img,
    .rx .rx-st-wrap img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain;
        margin: 0 auto;
    }

    /* Préservation des anciens schémas à deux modes */

    .rx .rx-modes:has(.rx-mode) {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    /* Autres mises en page */

    .rx-duo {
        flex-direction: column;
        gap: 28px;
        margin-bottom: 44px;
    }

    .rx-trio {
        flex-direction: column;
        gap: 24px;
    }

    .rx .rx-colors,
    .rx .rx-gallery {
        flex-wrap: wrap;
    }

    .rx .rx-colors li,
    .rx .rx-gallery li {
        flex: 1 1 calc(50% - 8px);
        max-width: calc(50% - 8px);
    }

    .rx-bars {
        flex: 1 1 100%;
    }

    .rx-flow {
        flex-direction: column;
    }

    .rx-arrow {
        transform: rotate(90deg);
    }
}


/* #############################################################
   2. GUIDES, HUB ET INTROS DE CATÉGORIE
   ############################################################# */

/* ===== TOKENS ===== */
.rls-page.rls-page {
  --rls-red:        #D82A30;
  --rls-red-hover:  #B01F24;
  --rls-red-pale:   #fdeced;
  --rls-red-border: #f5cccd;
  --rls-dark:       #1a1a1a;
  --rls-text:       #1f2226;
  --rls-muted:      #6b7280;
  --rls-bg:         #f7f7f8;
  --rls-border:     #e6e6e9;
  --rls-border-h:   #d0d0d5;
  --rls-white:      #ffffff;
  --rls-green:      #16a34a;
  --rls-r:          8px;
  --rls-rl:         10px;
  --rls-r-hero:     12px;
  /* décalage d'ancrage = hauteur header collant + barre livraison */
  --rls-anchor:     120px;

  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--rls-text);
  line-height: 1.7;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

/* ===== RESET CIBLÉ ===== */
.rls-page.rls-page *,
.rls-page.rls-page *::before,
.rls-page.rls-page *::after { box-sizing: border-box; }
.rls-page.rls-page img { max-width: 100%; height: auto; display: block; border: none; box-shadow: none; }
.rls-page.rls-page ul { list-style: none; padding: 0; margin: 0; }
.rls-page.rls-page a { text-decoration: none; }
.rls-page.rls-page a:hover { text-decoration: none; }
.rls-page.rls-page button { outline: none; box-shadow: none; }
.rls-page.rls-page button:focus { outline: none; box-shadow: none; }
.rls-page.rls-page section { margin: 0; padding: 0; }
.rls-page.rls-page input,
.rls-page.rls-page select,
.rls-page.rls-page textarea { font-family: inherit; font-size: inherit; }

/* =============================================================
   ATOMES PARTAGÉS
   ============================================================= */

/* --- Label de section --- */
.rls-page.rls-page .rls-label {
  display: inline-block;
  background: var(--rls-bg);
  color: var(--rls-muted);
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin: 0 0 14px;
  border: 1px solid var(--rls-border);
  font-family: inherit;
  line-height: 1.4;
}
.rls-page.rls-page .rls-label--red {
  background: var(--rls-red-pale);
  color: var(--rls-red);
  border-color: var(--rls-red-border);
}
.rls-page.rls-page .rls-label--light {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.85);
  border-color: rgba(255,255,255,0.18);
}

/* --- Titre de section --- */
.rls-page.rls-page .rls-h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--rls-dark);
  line-height: 1.25;
  letter-spacing: -0.2px;
  margin: 0 0 10px;
  padding: 0;
  font-family: inherit;
  text-transform: none;
}
.rls-page.rls-page .rls-h2--light { color: var(--rls-white); }

/* --- Chapô --- */
.rls-page.rls-page .rls-intro {
  font-size: 1rem;
  color: var(--rls-muted);
  max-width: 660px;
  margin: 0 0 36px;
  line-height: 1.55;
  font-family: inherit;
}
.rls-page.rls-page .rls-intro--light { color: rgba(255,255,255,0.75); }
.rls-page.rls-page .rls-intro--center { margin-left: auto; margin-right: auto; }

/* --- Paragraphe --- */
.rls-page.rls-page .rls-p {
  font-size: 16px;
  line-height: 1.78;
  color: var(--rls-text);
  margin: 0;
  font-family: inherit;
}
.rls-page.rls-page .rls-p + .rls-p { margin-top: 14px; }
.rls-page.rls-page .rls-p strong { color: var(--rls-dark); font-weight: 700; }

/* --- Boutons --- */
.rls-page.rls-page .rls-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: var(--rls-r);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition: all 0.25s ease;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.rls-page.rls-page .rls-btn--red { background: var(--rls-red); color: var(--rls-white) !important; }
.rls-page.rls-page .rls-btn--red:hover {
  background: var(--rls-red-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(216,42,48,0.25);
  color: var(--rls-white) !important;
}
.rls-page.rls-page .rls-btn--outline {
  background: transparent;
  color: var(--rls-dark) !important;
  border: 1.5px solid var(--rls-border);
}
.rls-page.rls-page .rls-btn--outline:hover {
  background: var(--rls-bg);
  border-color: var(--rls-dark);
  color: var(--rls-dark) !important;
}
.rls-page.rls-page .rls-btn--dark { background: var(--rls-dark); color: var(--rls-white) !important; }
.rls-page.rls-page .rls-btn--dark:hover { background: #000; transform: translateY(-2px); }
.rls-page.rls-page .rls-btn--full { width: 100%; }
.rls-page.rls-page .rls-btn__icon { transition: transform 0.25s; flex-shrink: 0; }
.rls-page.rls-page .rls-btn:hover .rls-btn__icon { transform: translateX(3px); }

/* --- Container --- */
.rls-page.rls-page .rls-container { max-width: 1040px; margin: 0 auto; padding: 0 4px; }
.rls-page.rls-page .rls-container--wide { max-width: 1100px; }

/* --- Sections --- */
.rls-page.rls-page .rls-section { padding: 68px 14px; scroll-margin-top: var(--rls-anchor); }
.rls-page.rls-page .rls-section--white { background: var(--rls-white); }
.rls-page.rls-page .rls-section--bg { background: var(--rls-bg); border-radius: var(--rls-rl); }
.rls-page.rls-page .rls-section--dark {
  background: var(--rls-dark);
  color: var(--rls-white);
  border-radius: var(--rls-rl);
  margin-top: 20px;
}
.rls-page.rls-page .rls-section--center { text-align: center; }

/* --- Encart astuce / note --- */
.rls-page.rls-page .rls-tip {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--rls-white);
  border: 1px solid var(--rls-border);
  border-left: 3px solid var(--rls-red);
  border-radius: var(--rls-r);
  padding: 14px 16px;
  margin-top: 24px;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--rls-text);
}
.rls-page.rls-page .rls-tip__icon { color: var(--rls-red); flex-shrink: 0; margin-top: 2px; }
.rls-page.rls-page .rls-tip strong { color: var(--rls-dark); }

/* =============================================================
   HERO SPLIT
   ============================================================= */
.rls-page.rls-page .rls-hero {
  margin: 0 0 8px;
  border-radius: var(--rls-r-hero);
  overflow: hidden;
  border: 1px solid var(--rls-border);
  background: var(--rls-white);
}
.rls-page.rls-page .rls-hero__inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: stretch;
  min-height: 420px;
}
.rls-page.rls-page .rls-hero__content {
  padding: 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rls-page.rls-page .rls-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--rls-red);
  color: var(--rls-white);
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin: 0 0 20px;
  width: fit-content;
  font-family: inherit;
  line-height: 1.4;
}
.rls-page.rls-page .rls-hero__badge svg { flex-shrink: 0; }
.rls-page.rls-page .rls-hero__title {
  font-size: clamp(1.6rem, 3.2vw, 2.35rem);
  font-weight: 800;
  color: var(--rls-dark);
  margin: 0 0 14px;
  padding: 0;
  line-height: 1.18;
  letter-spacing: -0.4px;
  font-family: inherit;
  text-transform: none;
}
.rls-page.rls-page .rls-hero__sub {
  font-size: 1rem;
  margin: 0 0 22px;
  color: #4b5563;
  line-height: 1.6;
  font-family: inherit;
}
.rls-page.rls-page .rls-hero__points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0 0 26px;
}
.rls-page.rls-page .rls-hero__point {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.87rem;
  color: #374151;
  font-weight: 600;
  font-family: inherit;
}
.rls-page.rls-page .rls-hero__point svg { color: var(--rls-red); flex-shrink: 0; }
.rls-page.rls-page .rls-hero__actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.rls-page.rls-page .rls-hero__media {
  position: relative;
  background: #f0f0f2;
  min-height: 420px;
}
.rls-page.rls-page .rls-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 860px) {
  .rls-page.rls-page .rls-hero__inner { grid-template-columns: 1fr; min-height: 0; }
  .rls-page.rls-page .rls-hero__media { min-height: 240px; order: -1; }
  .rls-page.rls-page .rls-hero__content { padding: 36px 24px; }
  .rls-page.rls-page .rls-hero__title { font-size: 1.5rem; }
  .rls-page.rls-page .rls-hero__actions { flex-direction: column; align-items: stretch; }
  .rls-page.rls-page .rls-hero__actions .rls-btn { width: 100%; }
}

/* =============================================================
   BARRE DE RÉASSURANCE (proof bar)
   ============================================================= */
.rls-page.rls-page .rls-proof {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  background: var(--rls-white);
  border-radius: var(--rls-rl);
  margin: -40px auto 0;
  position: relative;
  z-index: 2;
  box-shadow: 0 6px 24px rgba(0,0,0,0.07);
  border: 1px solid var(--rls-border);
  overflow: hidden;
}
.rls-page.rls-page .rls-proof__item {
  padding: 20px;
  text-align: center;
  border-right: 1px solid var(--rls-border);
}
.rls-page.rls-page .rls-proof__item:last-child { border-right: none; }
.rls-page.rls-page .rls-proof__title {
  display: block;
  font-size: 0.9rem;
  color: var(--rls-dark);
  margin: 0 0 2px;
  font-weight: 700;
}
.rls-page.rls-page .rls-proof__sub { font-size: 0.8rem; color: var(--rls-muted); }

@media (max-width: 768px) {
  .rls-page.rls-page .rls-proof { grid-template-columns: 1fr 1fr; margin-top: -32px; }
  .rls-page.rls-page .rls-proof__item { border-bottom: 1px solid var(--rls-border); }
}

/* =============================================================
   SPLIT TEXTE / IMAGE
   ============================================================= */
.rls-page.rls-page .rls-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.rls-page.rls-page .rls-split--reverse { grid-template-columns: 1.05fr 1fr; }
.rls-page.rls-page .rls-split__media {
  border-radius: var(--rls-rl);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--rls-border);
}
.rls-page.rls-page .rls-split__media img { width: 100%; height: 360px; object-fit: cover; }
.rls-page.rls-page .rls-split__caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
  padding: 30px 20px 16px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
@media (max-width: 860px) {
  .rls-page.rls-page .rls-split,
  .rls-page.rls-page .rls-split--reverse { grid-template-columns: 1fr; gap: 28px; }
}

/* Duo d'images */
.rls-page.rls-page .rls-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rls-page.rls-page .rls-duo__img {
  border-radius: var(--rls-rl);
  overflow: hidden;
  border: 1px solid var(--rls-border);
  background: var(--rls-bg);
}
.rls-page.rls-page .rls-duo__img img { width: 100%; height: 100%; object-fit: cover; }
.rls-page.rls-page .rls-duo__img--tall { grid-row: span 2; }

/* =============================================================
   BLOC DE MAILLAGE INTERNE (pilier ↔ satellite)
   ============================================================= */
.rls-page.rls-page .rls-crosslink {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: center;
  background: var(--rls-white);
  border: 1px solid var(--rls-border);
  border-left: 4px solid var(--rls-red);
  border-radius: var(--rls-rl);
  padding: 36px 40px;
}
.rls-page.rls-page .rls-crosslink__content .rls-h2 { margin-bottom: 14px; }
.rls-page.rls-page .rls-crosslink__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 24px;
}
.rls-page.rls-page .rls-crosslink__chip {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  background: var(--rls-bg);
  border: 1px solid var(--rls-border);
  border-radius: 6px;
  padding: 7px 13px;
  font-size: 12.5px;
  color: var(--rls-muted);
  line-height: 1.3;
}
.rls-page.rls-page .rls-crosslink__chip strong {
  color: var(--rls-dark);
  font-weight: 800;
  font-size: 13px;
}
.rls-page.rls-page .rls-crosslink__media {
  border-radius: var(--rls-r);
  overflow: hidden;
  border: 1px solid var(--rls-border);
  background: var(--rls-bg);
}
.rls-page.rls-page .rls-crosslink__media img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}
@media (max-width: 860px) {
  .rls-page.rls-page .rls-crosslink { grid-template-columns: 1fr; gap: 24px; padding: 28px 22px; }
  .rls-page.rls-page .rls-crosslink__media { order: -1; }
  .rls-page.rls-page .rls-crosslink__media img { height: 200px; }
  .rls-page.rls-page .rls-crosslink .rls-btn { width: 100%; }
}

/* =============================================================
   LISTE DE FEATURES
   ============================================================= */
.rls-page.rls-page .rls-features { display: flex; flex-direction: column; gap: 14px; margin: 24px 0 28px; }
.rls-page.rls-page .rls-feature { display: flex; align-items: flex-start; gap: 12px; }
.rls-page.rls-page .rls-feature__icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: var(--rls-dark);
  border-radius: var(--rls-r);
  display: flex; align-items: center; justify-content: center;
  color: var(--rls-white);
}
.rls-page.rls-page .rls-feature__title {
  font-size: 0.95rem;
  color: var(--rls-dark);
  margin: 0 0 3px;
  font-weight: 800;
  letter-spacing: -0.2px;
  line-height: 1.25;
}
.rls-page.rls-page .rls-feature__text { font-size: 0.87rem; color: var(--rls-muted); margin: 0; line-height: 1.5; }

/* =============================================================
   GRILLE DE CARTES
   ============================================================= */
.rls-page.rls-page .rls-grid { display: grid; gap: 16px; }
.rls-page.rls-page .rls-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.rls-page.rls-page .rls-grid--2 { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
@media (max-width: 768px) {
  .rls-page.rls-page .rls-grid--3,
  .rls-page.rls-page .rls-grid--2 { grid-template-columns: 1fr; }
}

.rls-page.rls-page .rls-card {
  background: var(--rls-white);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-r);
  padding: 24px;
  transition: all 0.2s ease;
}
.rls-page.rls-page .rls-card:hover {
  border-color: var(--rls-border-h);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.rls-page.rls-page .rls-card--accent { border-left: 3px solid var(--rls-red); }
.rls-page.rls-page .rls-card--flat { padding: 18px; }
.rls-page.rls-page .rls-card__icon {
  width: 46px; height: 46px;
  background: var(--rls-dark);
  border-radius: var(--rls-r);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
  color: var(--rls-white);
}
.rls-page.rls-page .rls-card__emoji { font-size: 26px; line-height: 1; }
.rls-page.rls-page .rls-card__header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.rls-page.rls-page .rls-card__title {
  font-size: 1rem;
  color: var(--rls-dark);
  margin: 0 0 6px;
  font-weight: 800;
  letter-spacing: -0.2px;
  line-height: 1.25;
}
.rls-page.rls-page .rls-card__title--sm { font-size: 0.95rem; margin: 0; }
.rls-page.rls-page .rls-card__text {
  font-size: 0.88rem;
  color: var(--rls-muted);
  margin: 0;
  line-height: 1.55;
}

/* =============================================================
   CARTES PRODUIT (pilier — comparatif 2/4/6 roues)
   ============================================================= */
.rls-page.rls-page .rls-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 860px) { .rls-page.rls-page .rls-models { grid-template-columns: 1fr; } }

.rls-page.rls-page .rls-model {
  background: var(--rls-white);
  border-radius: var(--rls-rl);
  overflow: hidden;
  border: 1px solid var(--rls-border);
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
}
.rls-page.rls-page .rls-model:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateY(-2px);
  border-color: var(--rls-border-h);
}
.rls-page.rls-page .rls-model__media { position: relative; overflow: hidden; background: #f3f2ef; }
.rls-page.rls-page .rls-model__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.rls-page.rls-page .rls-model:hover .rls-model__media img { transform: scale(1.04); }
.rls-page.rls-page .rls-model__badge {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--rls-dark);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 6px;
}
.rls-page.rls-page .rls-model__body { padding: 22px 22px 20px; flex: 1; display: flex; flex-direction: column; }
.rls-page.rls-page .rls-model__title {
  font-size: 18px;
  font-weight: 800;
  color: var(--rls-dark);
  margin: 0 0 6px;
  letter-spacing: -0.2px;
  line-height: 1.25;
}
.rls-page.rls-page .rls-model__desc { font-size: 13.5px; color: var(--rls-muted); margin: 0 0 18px; line-height: 1.55; }

.rls-page.rls-page .rls-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 18px; }
.rls-page.rls-page .rls-spec {
  background: var(--rls-bg);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-r);
  padding: 9px 12px;
  text-align: center;
}
.rls-page.rls-page .rls-spec__val { display: block; font-size: 14px; font-weight: 700; color: var(--rls-dark); }
.rls-page.rls-page .rls-spec__val--red { color: var(--rls-red); }
.rls-page.rls-page .rls-spec__lbl { font-size: 10px; color: var(--rls-muted); text-transform: uppercase; letter-spacing: 0.05em; }

.rls-page.rls-page .rls-pros { margin-bottom: 18px; flex: 1; }
.rls-page.rls-page .rls-pros li {
  font-size: 13.5px;
  padding: 4px 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--rls-text);
}
.rls-page.rls-page .rls-pros__ok { color: var(--rls-green); font-weight: 700; flex-shrink: 0; }
.rls-page.rls-page .rls-pros__con { color: #bbb; font-weight: 700; flex-shrink: 0; }

.rls-page.rls-page .rls-model__link {
  display: block;
  text-align: center;
  padding: 11px 18px;
  border-radius: var(--rls-r);
  font-size: 14px;
  font-weight: 700;
  border: 1.5px solid var(--rls-border);
  color: var(--rls-dark) !important;
  margin-top: auto;
  transition: all 0.25s ease;
}
.rls-page.rls-page .rls-model__link:hover {
  background: var(--rls-dark);
  border-color: var(--rls-dark);
  color: #fff !important;
}

/* =============================================================
   TABLEAU COMPARATIF (pilier)
   ============================================================= */
.rls-page.rls-page .rls-table-wrap {
  overflow-x: auto;
  border-radius: var(--rls-rl);
  border: 1px solid var(--rls-border);
}
.rls-page.rls-page .rls-table { width: 100%; border-collapse: collapse; min-width: 540px; font-size: 14.5px; }
.rls-page.rls-page .rls-table thead { background: var(--rls-dark); }
.rls-page.rls-page .rls-table thead th { padding: 15px 20px; color: #fff; font-weight: 700; text-align: left; }
.rls-page.rls-page .rls-table thead th:first-child { width: 34%; }
.rls-page.rls-page .rls-table tbody tr:nth-child(even) { background: var(--rls-bg); }
.rls-page.rls-page .rls-table tbody td {
  padding: 12px 20px;
  border-bottom: 1px solid var(--rls-border);
  vertical-align: middle;
  color: var(--rls-text);
}
.rls-page.rls-page .rls-table tbody td:first-child { font-weight: 700; color: var(--rls-dark); font-size: 13px; }
.rls-page.rls-page .rls-table__yes { color: var(--rls-green); font-weight: 700; }
.rls-page.rls-page .rls-table__no { color: #c9c9c9; }
.rls-page.rls-page .rls-table__row--hl { background: #fff8e1 !important; }

/* =============================================================
   MOSAÏQUE PHOTOS
   ============================================================= */
.rls-page.rls-page .rls-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rls-page.rls-page .rls-mosaic__main {
  grid-column: 1 / -1;
  border-radius: var(--rls-rl);
  overflow: hidden;
  border: 1px solid var(--rls-border);
}
.rls-page.rls-page .rls-mosaic__side {
  border-radius: var(--rls-r);
  overflow: hidden;
  border: 1px solid var(--rls-border);
}
.rls-page.rls-page .rls-mosaic img { width: 100%; height: auto; object-fit: cover; }

/* =============================================================
   ÉTAPES (steps)
   ============================================================= */
.rls-page.rls-page .rls-steps { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; justify-content: center; }
.rls-page.rls-page .rls-step {
  flex: 1;
  min-width: 200px;
  text-align: center;
  padding: 24px 18px;
  background: var(--rls-white);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-r);
}
.rls-page.rls-page .rls-step__num {
  width: 42px; height: 42px;
  background: var(--rls-dark);
  color: var(--rls-white);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 auto 12px;
  line-height: 1;
}
.rls-page.rls-page .rls-step__title {
  font-size: 0.95rem;
  color: var(--rls-dark);
  margin: 0 0 6px;
  font-weight: 800;
  letter-spacing: -0.2px;
  line-height: 1.25;
}
.rls-page.rls-page .rls-step__text { font-size: 0.85rem; color: var(--rls-muted); margin: 0; }
.rls-page.rls-page .rls-step__arrow { display: flex; align-items: center; padding-top: 30px; color: var(--rls-red); opacity: 0.5; }

@media (max-width: 768px) {
  .rls-page.rls-page .rls-steps { flex-direction: column; align-items: stretch; }
  .rls-page.rls-page .rls-step__arrow { display: none; }
}

/* =============================================================
   FORMULAIRE (page Pros)
   ============================================================= */
.rls-page.rls-page .rls-form-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }
@media (max-width: 768px) { .rls-page.rls-page .rls-form-grid { grid-template-columns: 1fr; } }

.rls-page.rls-page .rls-reassurance { display: flex; flex-direction: column; gap: 10px; }
.rls-page.rls-page .rls-reassurance__item {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
}
.rls-page.rls-page .rls-reassurance__item svg { color: #4ade80; flex-shrink: 0; }

.rls-page.rls-page .rls-form-card { background: var(--rls-white); border-radius: var(--rls-rl); padding: 32px; }
.rls-page.rls-page .rls-field-row { margin-bottom: 14px; }
.rls-page.rls-page .rls-field-row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 768px) { .rls-page.rls-page .rls-field-row--2 { grid-template-columns: 1fr; } }

.rls-page.rls-page .rls-field__label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--rls-text);
  margin-bottom: 5px;
}
.rls-page.rls-page .rls-field__input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--rls-border);
  border-radius: var(--rls-r);
  font-size: 0.92rem;
  color: var(--rls-text);
  background: var(--rls-bg);
  transition: border-color 0.2s;
  line-height: 1.5;
}
.rls-page.rls-page .rls-field__input:focus {
  border-color: var(--rls-red);
  outline: none;
  box-shadow: 0 0 0 3px rgba(216,42,48,0.1);
}
.rls-page.rls-page textarea.rls-field__input { resize: vertical; min-height: 100px; }
.rls-page.rls-page .rls-form__legal { font-size: 0.78rem; color: var(--rls-muted); margin-top: 12px; line-height: 1.5; }

.rls-page.rls-page .rls-form-success { text-align: center; padding: 40px 20px; }
.rls-page.rls-page .rls-form-success__icon {
  width: 72px; height: 72px;
  background: #dcfce7;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  color: var(--rls-green);
}
.rls-page.rls-page .rls-form-success__title {
  font-size: 1.2rem;
  color: var(--rls-dark);
  margin: 0 0 8px;
  font-weight: 800;
  letter-spacing: -0.2px;
}
.rls-page.rls-page .rls-form-success__text {
  font-size: 0.92rem;
  color: var(--rls-muted);
  max-width: 380px;
  margin: 0 auto;
}

/* =============================================================
   FAQ
   ============================================================= */
.rls-page.rls-page .rls-faq { display: flex; flex-direction: column; gap: 6px; margin-top: 28px; }
.rls-page.rls-page .rls-faq__item {
  background: var(--rls-white);
  border-radius: var(--rls-r);
  overflow: hidden;
  border: 1px solid var(--rls-border);
  transition: border-color 0.2s;
}
.rls-page.rls-page .rls-faq__item:hover { border-color: var(--rls-border-h); }
.rls-page.rls-page .rls-faq__item.is-open { border-color: var(--rls-red); }
.rls-page.rls-page .rls-faq__q {
  width: 100%;
  background: none;
  border: none;
  color: var(--rls-dark);
  padding: 18px 22px;
  text-align: left;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  line-height: 1.4;
}
.rls-page.rls-page .rls-faq__q svg { flex-shrink: 0; transition: transform 0.3s; color: var(--rls-red); opacity: 0.8; }
.rls-page.rls-page .rls-faq__item.is-open .rls-faq__q svg { transform: rotate(180deg); }
.rls-page.rls-page .rls-faq__a { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.rls-page.rls-page .rls-faq__item.is-open .rls-faq__a { max-height: 320px; }
.rls-page.rls-page .rls-faq__a-inner { padding: 0 22px 18px; font-size: 0.9rem; color: var(--rls-muted); line-height: 1.65; }
.rls-page.rls-page .rls-faq__a-inner strong { color: var(--rls-dark); }

/* =============================================================
   TRUST STRIP
   ============================================================= */
.rls-page.rls-page .rls-trust {
  background: var(--rls-bg);
  border-radius: var(--rls-rl);
  border: 1px solid var(--rls-border);
  padding: 48px 24px;
}
.rls-page.rls-page .rls-trust__title {
  font-size: 20px;
  font-weight: 800;
  color: var(--rls-dark);
  text-align: center;
  margin: 0 0 32px;
  letter-spacing: -0.2px;
}
.rls-page.rls-page .rls-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 700px) { .rls-page.rls-page .rls-trust__grid { grid-template-columns: 1fr 1fr; } }
.rls-page.rls-page .rls-trust__item {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
}
.rls-page.rls-page .rls-trust__item img {
  width: 44px; height: 44px;
  object-fit: contain;
  filter: brightness(0);
  opacity: 0.6;
}
.rls-page.rls-page .rls-trust__item-title {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--rls-dark);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0;
}
.rls-page.rls-page .rls-trust__item-text { font-size: 13px; color: var(--rls-muted); line-height: 1.5; margin: 0; }

/* =============================================================
   CTA FINAL
   ============================================================= */
.rls-page.rls-page .rls-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 600px) {
  .rls-page.rls-page .rls-cta { flex-direction: column; align-items: center; }
  .rls-page.rls-page .rls-cta .rls-btn { width: 100%; max-width: 320px; }
}

/* =============================================================
   CONFIGURATEUR 3 QUESTIONS — rls-gt- (pilier)
   ============================================================= */

.rls-page.rls-page .rls-gt-tool {
  background: var(--rls-bg);
  border-radius: var(--rls-rl);
  border: 1px solid var(--rls-border);
  padding: 36px 32px;
}
@media (max-width: 600px) { .rls-page.rls-page .rls-gt-tool { padding: 24px 16px; } }

.rls-page.rls-page .rls-gt-steps { display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }

.rls-page.rls-page .rls-gt-step {
  background: var(--rls-white);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-r);
  padding: 20px 22px;
  scroll-margin-top: var(--rls-anchor);
  transition: border-color 0.2s, box-shadow 0.2s;
}
/* étape en cours mise en avant */
.rls-page.rls-page .rls-gt-step.is-active {
  border-color: var(--rls-dark);
  box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}

.rls-page.rls-page .rls-gt-step-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }

.rls-page.rls-page .rls-gt-num {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--rls-dark);
  color: #fff;
  font-size: 13px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s;
  line-height: 1;
}
.rls-page.rls-page .rls-gt-num.is-done { background: var(--rls-green); }

.rls-page.rls-page .rls-gt-question { font-size: 15px; font-weight: 800; color: var(--rls-dark); letter-spacing: -0.1px; line-height: 1.3; }

.rls-page.rls-page .rls-gt-options { display: flex; gap: 10px; flex-wrap: wrap; }

.rls-page.rls-page .rls-gt-opt {
  display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
  padding: 12px 16px;
  border: 1.5px solid var(--rls-border);
  border-radius: var(--rls-r);
  background: var(--rls-bg);
  font-family: inherit;
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
  text-align: left;
  min-width: 120px;
}
.rls-page.rls-page .rls-gt-opt:hover { border-color: var(--rls-border-h); background: var(--rls-white); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.rls-page.rls-page .rls-gt-opt.is-selected { border-color: var(--rls-dark); background: var(--rls-dark); }
.rls-page.rls-page .rls-gt-opt.is-selected .rls-gt-opt-label { color: #fff; }
.rls-page.rls-page .rls-gt-opt.is-selected .rls-gt-opt-sub { color: rgba(255,255,255,0.65); }

.rls-page.rls-page .rls-gt-opt-icon { font-size: 20px; line-height: 1; margin-bottom: 4px; }
.rls-page.rls-page .rls-gt-opt-label { font-size: 14px; font-weight: 700; color: var(--rls-dark); line-height: 1.25; }
.rls-page.rls-page .rls-gt-opt-sub { font-size: 11.5px; color: var(--rls-muted); line-height: 1.35; }

.rls-page.rls-page .rls-gt-reset-wrap { text-align: center; margin-top: 18px; }
.rls-page.rls-page .rls-gt-reset { background: none; border: none; font-size: 13px; color: var(--rls-muted); cursor: pointer; text-decoration: underline; font-family: inherit; padding: 0; }
.rls-page.rls-page .rls-gt-reset:hover { color: var(--rls-dark); }

/* ---------- RÉSULTATS : image à gauche, contenu à droite ---------- */

.rls-page.rls-page .rls-gt-results { display: none; margin-top: 28px; scroll-margin-top: var(--rls-anchor); }
.rls-page.rls-page .rls-gt-results.is-visible { display: block; }
.rls-page.rls-page .rls-gt-results-title { font-size: 17px; font-weight: 800; color: var(--rls-dark); text-align: center; margin: 0 0 20px; letter-spacing: -0.2px; }
.rls-page.rls-page .rls-gt-results-title span { color: var(--rls-red); }

.rls-page.rls-page .rls-gt-result-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.rls-page.rls-page .rls-gt-rcard {
  background: var(--rls-white);
  border: 1.5px solid var(--rls-border);
  border-radius: var(--rls-rl);
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  transition: all 0.2s ease;
}
.rls-page.rls-page .rls-gt-rcard:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.09); transform: translateY(-2px); border-color: var(--rls-border-h); }
.rls-page.rls-page .rls-gt-rcard.is-best { border-color: var(--rls-dark); border-width: 2px; }

.rls-page.rls-page .rls-gt-rcard-img {
  position: relative;
  width: 230px;
  flex: 0 0 230px;
  min-height: 210px;
  overflow: hidden;
  background: var(--rls-bg);
  border-right: 1px solid var(--rls-border);
}
/* image produit entière, non rognée */
.rls-page.rls-page .rls-gt-rcard-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform 0.4s ease;
}
.rls-page.rls-page .rls-gt-rcard:hover .rls-gt-rcard-img img { transform: scale(1.04); }

.rls-page.rls-page .rls-gt-rcard-badge {
  position: absolute; top: 12px; left: 12px;
  font-size: 10.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 5px;
}
.rls-page.rls-page .rls-gt-rcard-badge.is-best { background: var(--rls-dark); color: #fff; }
.rls-page.rls-page .rls-gt-rcard-badge.is-alt { background: var(--rls-white); color: var(--rls-muted); border: 1px solid var(--rls-border); }

.rls-page.rls-page .rls-gt-rcard-body {
  flex: 1;
  min-width: 0;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rls-page.rls-page .rls-gt-rcard-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.rls-page.rls-page .rls-gt-rcard-name { font-size: 17px; font-weight: 800; color: var(--rls-dark); line-height: 1.25; letter-spacing: -0.1px; margin: 0; }
.rls-page.rls-page .rls-gt-rcard-price { font-size: 14px; font-weight: 800; color: var(--rls-red); margin: 0; white-space: nowrap; }

.rls-page.rls-page .rls-gt-rcard-reason { font-size: 13px; color: var(--rls-muted); line-height: 1.55; padding: 10px 12px; background: var(--rls-bg); border-radius: 6px; border-left: 3px solid var(--rls-green); margin: 0; }

.rls-page.rls-page .rls-gt-rcard-specs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.rls-page.rls-page .rls-gt-rcard-spec { display: flex; flex-direction: column; background: var(--rls-bg); border: 1px solid var(--rls-border); border-radius: var(--rls-r); padding: 7px 8px; text-align: center; }
.rls-page.rls-page .rls-gt-rcard-spec .sv { font-size: 13px; font-weight: 700; color: var(--rls-dark); line-height: 1.3; }
.rls-page.rls-page .rls-gt-rcard-spec .sl { font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rls-muted); }

.rls-page.rls-page .rls-gt-rcard-cta {
  display: inline-block; text-align: center; padding: 11px 26px;
  border-radius: var(--rls-r); font-size: 13.5px; font-weight: 700;
  margin-top: auto; align-self: flex-start; min-width: 220px;
  transition: all 0.2s ease;
  border: 1.5px solid var(--rls-border); color: var(--rls-dark) !important; font-family: inherit;
}
.rls-page.rls-page .rls-gt-rcard-cta:hover { background: var(--rls-dark); border-color: var(--rls-dark); color: #fff !important; }
.rls-page.rls-page .rls-gt-rcard.is-best .rls-gt-rcard-cta { background: var(--rls-red); border-color: var(--rls-red); color: #fff !important; }
.rls-page.rls-page .rls-gt-rcard.is-best .rls-gt-rcard-cta:hover { background: var(--rls-red-hover); border-color: var(--rls-red-hover); }

@media (max-width: 900px) {
  .rls-page.rls-page .rls-gt-rcard-img { width: 180px; flex: 0 0 180px; }
  .rls-page.rls-page .rls-gt-rcard-specs { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .rls-page.rls-page .rls-gt-rcard { flex-direction: column; }
  .rls-page.rls-page .rls-gt-rcard-img {
    width: 100%;
    flex: none;
    height: 200px;
    min-height: 0;
    border-right: none;
    border-bottom: 1px solid var(--rls-border);
  }
  .rls-page.rls-page .rls-gt-rcard-body { padding: 16px 18px 18px; }
  .rls-page.rls-page .rls-gt-rcard-cta { min-width: 0; width: 100%; align-self: stretch; }
}

@media (max-width: 600px) {
  .rls-page.rls-page .rls-gt-opt { min-width: 100%; }
}

/* =============================================================
   PROFILS PAR TAILLE — rls-gt- (satellite)
   ============================================================= */

.rls-page.rls-page .rls-gt-profiles { display: flex; flex-direction: column; gap: 48px; }

.rls-page.rls-page .rls-gt-profile { display: grid; grid-template-columns: 200px 1fr; gap: 36px; align-items: start; }
.rls-page.rls-page .rls-gt-profile.is-reverse { grid-template-columns: 1fr 200px; }
.rls-page.rls-page .rls-gt-profile.is-reverse .rls-gt-profile-visual { order: 2; }
@media (max-width: 720px) {
  .rls-page.rls-page .rls-gt-profile,
  .rls-page.rls-page .rls-gt-profile.is-reverse { grid-template-columns: 1fr; }
  .rls-page.rls-page .rls-gt-profile.is-reverse .rls-gt-profile-visual { order: 0; }
}

.rls-page.rls-page .rls-gt-profile-visual { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.rls-page.rls-page .rls-gt-profile-tag { display: inline-block; background: var(--rls-dark); color: #fff; font-size: 11.5px; font-weight: 700; padding: 5px 14px; border-radius: 6px; white-space: nowrap; }
.rls-page.rls-page .rls-gt-profile-figure {
  background: var(--rls-white);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-rl);
  width: 100%;
  aspect-ratio: 2/3;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  gap: 0;
}
.rls-page.rls-page .rls-gt-silhouette-img {
  width: 100%;
  flex: 1;
  object-fit: cover;
  border-radius: 6px;
  display: block;
  min-height: 0;
}
.rls-page.rls-page .rls-gt-range {
  font-size: 11px;
  font-weight: 700;
  color: var(--rls-muted);
  text-align: center;
  background: var(--rls-white);
  border-top: 1px solid var(--rls-border);
  padding: 8px 10px;
  white-space: nowrap;
  flex-shrink: 0;
}

.rls-page.rls-page .rls-gt-profile-content h3 { font-size: clamp(18px, 2.5vw, 22px); font-weight: 800; color: var(--rls-dark); margin: 0 0 6px; letter-spacing: -0.2px; line-height: 1.25; }
.rls-page.rls-page .rls-gt-profile-sub { display: inline-block; background: var(--rls-white); border: 1px solid var(--rls-border); border-radius: 5px; font-size: 12px; font-weight: 600; color: var(--rls-muted); padding: 4px 12px; margin-bottom: 16px; }
.rls-page.rls-page .rls-gt-profile-text { font-size: 15px; line-height: 1.75; color: var(--rls-text); margin: 0 0 20px; }

.rls-page.rls-page .rls-gt-minicards { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.rls-page.rls-page .rls-gt-minicard {
  display: flex; align-items: center; gap: 12px;
  background: var(--rls-white); border: 1px solid var(--rls-border);
  border-radius: var(--rls-r); padding: 10px 14px;
  transition: border-color 0.18s, box-shadow 0.18s;
}
.rls-page.rls-page .rls-gt-minicard:hover { border-color: var(--rls-border-h); box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.rls-page.rls-page .rls-gt-minicard.is-top { border-color: var(--rls-dark); border-width: 1.5px; }
.rls-page.rls-page .rls-gt-minicard-img { width: 52px; height: 52px; object-fit: cover; border-radius: 6px; flex-shrink: 0; background: var(--rls-bg); }
.rls-page.rls-page .rls-gt-minicard-info { flex: 1; min-width: 0; }
.rls-page.rls-page .rls-gt-minicard-name { font-size: 13.5px; font-weight: 700; color: var(--rls-dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0 0 2px; }
.rls-page.rls-page .rls-gt-minicard-specs { font-size: 11.5px; color: var(--rls-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rls-page.rls-page .rls-gt-minicard-badge {
  font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 4px 10px; border-radius: 5px; flex-shrink: 0; white-space: nowrap;
  text-decoration: none; transition: all 0.18s;
}
.rls-page.rls-page .rls-gt-minicard-badge.is-top { background: var(--rls-dark); color: #fff !important; }
.rls-page.rls-page .rls-gt-minicard-badge.is-top:hover { background: #000; }
.rls-page.rls-page .rls-gt-minicard-badge.is-alt { background: var(--rls-bg); color: var(--rls-muted) !important; border: 1px solid var(--rls-border); }
.rls-page.rls-page .rls-gt-minicard-badge.is-alt:hover { border-color: var(--rls-border-h); color: var(--rls-dark) !important; }

.rls-page.rls-page .rls-gt-sep { border: none; border-top: 1px solid var(--rls-border); margin: 0; }

/* ---------- TABLEAU DES HAUTEURS (satellite) ---------- */

.rls-page.rls-page .rls-gt-htable-wrap { overflow-x: auto; border-radius: var(--rls-rl); border: 1px solid var(--rls-border); }
.rls-page.rls-page table.rls-gt-htable { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 13.5px; }
.rls-page.rls-page table.rls-gt-htable thead { background: var(--rls-dark); }
.rls-page.rls-page table.rls-gt-htable thead th { padding: 13px 16px; color: #fff; font-weight: 700; text-align: left; white-space: nowrap; }
.rls-page.rls-page table.rls-gt-htable tbody tr:nth-child(even) { background: var(--rls-bg); }
.rls-page.rls-page table.rls-gt-htable tbody tr:hover { background: #edeef0; }
.rls-page.rls-page table.rls-gt-htable tbody td { padding: 11px 16px; border-bottom: 1px solid var(--rls-border); vertical-align: middle; color: var(--rls-text); }
.rls-page.rls-page table.rls-gt-htable tbody td:first-child { font-weight: 700; color: var(--rls-dark); }
.rls-page.rls-page table.rls-gt-htable tbody td:nth-child(2) { font-weight: 800; color: var(--rls-dark); font-size: 14px; }
.rls-page.rls-page table.rls-gt-htable a { color: var(--rls-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.rls-page.rls-page table.rls-gt-htable a:hover { color: var(--rls-red); }
.rls-page.rls-page table.rls-gt-htable .hl { background: #fff8e1 !important; }
.rls-page.rls-page .rls-gt-table-note { font-size: 11.5px; color: var(--rls-muted); text-align: center; margin-top: 12px; }


/* =============================================================
   CARTES MODÈLE — GUIDE 4 ROUES
   ============================================================= */

/* --- Grille de 8 cartes au lieu de 3 --- */
.rls-page.rls-page .rls-models--wrap {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}
@media (max-width: 680px) {
  .rls-page.rls-page .rls-models--wrap { grid-template-columns: 1fr; }
}

/* --- Carte modèle mise en avant --- */
.rls-page.rls-page .rls-model.is-highlight { border-color: var(--rls-dark); border-width: 2px; }

/* --- Variantes de badge --- */
.rls-page.rls-page .rls-model__badge--red { background: var(--rls-red); }
.rls-page.rls-page .rls-model__badge--dark { background: #3d3d42; }

/* --- Bloc de specs sur 3 colonnes --- */
.rls-page.rls-page .rls-specs--3 { grid-template-columns: repeat(3, 1fr); }
.rls-page.rls-page .rls-specs--3 .rls-spec { padding: 8px 6px; }
.rls-page.rls-page .rls-specs--3 .rls-spec__val { font-size: 13px; line-height: 1.3; }

/* --- Ligne « Pour qui » sous les avantages --- */
.rls-page.rls-page .rls-model__note {
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--rls-muted);
  background: var(--rls-bg);
  border-left: 3px solid var(--rls-green);
  border-radius: 6px;
  padding: 10px 12px;
  margin: 0 0 14px;
}
.rls-page.rls-page .rls-model__note strong { color: var(--rls-dark); font-weight: 700; }

/* --- Avertissement produit (Kadira) --- */
.rls-page.rls-page .rls-model__warn {
  font-size: 12.5px;
  line-height: 1.55;
  color: #8a5a00;
  background: #fff8e1;
  border: 1px solid #f2e3b3;
  border-radius: 6px;
  padding: 10px 12px;
  margin: 0 0 14px;
}
.rls-page.rls-page .rls-model__warn strong { color: #6b4500; font-weight: 700; }

/* --- Liens dans les tableaux de conseil --- */
.rls-page.rls-page table.rls-gt-htable td em { color: var(--rls-muted); font-size: 12.5px; font-style: normal; }

/* --- FAQ : hauteur de réponse élargie pour les textes longs --- */
.rls-page.rls-page .rls-faq__item.is-open .rls-faq__a { max-height: 460px; }

/* =============================================================
   MAILLAGE INTERNE — liens vers les guides
   ============================================================= */

/* Lien guide sous le CTA d'une carte modèle (pilier) */
.rls-page.rls-page .rls-model__guide {
  display: block;
  text-align: center;
  margin-top: 8px;
  padding: 8px 12px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rls-muted) !important;
  background: var(--rls-bg);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-r);
  transition: all 0.2s ease;
}
.rls-page.rls-page .rls-model__guide:hover {
  color: var(--rls-red) !important;
  border-color: var(--rls-red-border);
  background: var(--rls-red-pale);
}

/* Lien vers le hub /guides/ sous les CTA de fin de page */
.rls-page.rls-page .rls-guides-link {
  text-align: center;
  margin: 22px 0 0;
  font-size: 13.5px;
}
.rls-page.rls-page .rls-guides-link a {
  color: var(--rls-muted) !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.rls-page.rls-page .rls-guides-link a:hover { color: var(--rls-red) !important; }


/* =============================================================
   INTROS DE CATÉGORIE — rls-catintro
   Encart teinté d'une ou deux lignes, lien intégré à la phrase.
   ============================================================= */

.rls-page.rls-page .rls-catintro {
  background: var(--rls-bg);
  border: 1px solid var(--rls-border);
  border-radius: var(--rls-rl);
  padding: 18px 24px;
  margin: 0 0 28px;
}
.rls-page.rls-page .rls-catintro p {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--rls-text);
  margin: 0;
  max-width: none;
  font-family: inherit;
}
.rls-page.rls-page .rls-catintro strong {
  color: var(--rls-dark);
  font-weight: 700;
}
.rls-page.rls-page .rls-catintro a {
  color: var(--rls-red) !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(216,42,48,0.35);
  transition: text-decoration-color 0.2s;
}
.rls-page.rls-page .rls-catintro a:hover {
  text-decoration-color: var(--rls-red);
}

@media (max-width: 560px) {
  .rls-page.rls-page .rls-catintro { padding: 15px 17px; }
  .rls-page.rls-page .rls-catintro p { font-size: 14.5px; }
}


/* #############################################################
   3. THÈME
   ############################################################# */

body #wfob_wrap .wfob_wrapper .wfob_checkbox_input_wrap .wfob_checkbox {
    border: 1px solid #000000;
    width: 20px;
    height: 20px;
}

.menu-btn-pro > a {
    background: #F7F7F7 !important;
    color: #000 !important;
    border-radius: 0px !important;
    padding: 8px 18px !important;
}
.menu-btn-pro > a:hover {
    background: #005bb5;
}
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled {
    display: none !important;
}
.wd-wtl-form {
    margin-top: 0px !important;
}
@media (min-width: 1025px) {
    .elementor-element-2f264cdf {
        position: sticky;
        top: 120px;
        align-self: flex-start;
    }
}
:root {
    --btn-accented-brd-radius: 12px;
    --wd-brd-radius: 12px;
}
[data-cky-tag="powered-by"] {
    display: none !important;
}

/* Sélecteur de point relais Sendcloud */
#sendcloudshipping_service_point_select {
    background: #c7da1d;
    color: #000;
    font-size: 14px;
}

#fkcart-floating-toggler.fkcart-should-hide {
    visibility: hidden !important;
}

.whb-color-light .wd-header-text {
    --wd-text-color: rgba(255, 255, 255, 1) !important;
    --wd-title-color: #fff;
    --wd-link-color: rgba(255, 255, 255, 1) !important;
    --wd-link-color-hover: #fff;
    color: var(--wd-text-color);
}
@media (min-width: 480px) {
    .woocommerce-product-gallery__wrapper .owl-prev.wd-btn-arrow {
        margin-left: 4px;
        background: #fff;
        box-shadow: 0 0 5px rgba(0,0,0,0.17);
        border-radius: 50%;
    }
    .woocommerce-product-gallery__wrapper .owl-next.wd-btn-arrow {
        margin-right: 4px;
        background: #fff;
        box-shadow: 0 0 5px rgba(0,0,0,0.17);
        border-radius: 50%;
    }
}
.wd-checkout-prod-cont .quantity {
    display: flex;
}

.wd-btn-arrow[class*="next"] { transform: none; }
.wd-btn-arrow[class*="prev"] { transform: none; }
.wd-btn-arrow { visibility: visible; opacity: 100; }

[class*="wd-swatches"].wd-shape-rounded .wd-swatch {
    border-radius: 16px !important;
}

.cart-actions .button[name="apply_coupon"] {
    color: var(--btn-default-color-hover);
    background-color: var(--btn-default-bgcolor-hover);
    font-size: 12px;
}
.cart-actions .button[name="update_cart"] {
    font-size: 12px;
}
.cart-totals-section #shipping_method {
    display: none;
}
.cart-totals-inner .checkout-button {
    font-size: 16px;
    padding: 20px;
}
.product-labels.labels-rounded .out-of-stock {
    max-width: 90px !important;
}
.woocommerce-additional-fields {
    display: none;
}
[class*="wd-swatches"].wd-dis-style-2 .wd-swatch.wd-disabled {
    opacity: .2 !important;
}
[class*="wd-swatches"].wd-bg-style-4 .wd-swatch.wd-bg {
    border: 1px solid rgb(0 0 0);
}
.wd-load-more {
    --btn-color: #ffffff !important;
    --btn-color-hover: #fff !important;
    --btn-brd-color: #D82A30 !important;
    --btn-bgcolor: #D82A30 !important;
    --btn-bgcolor-hover: #000 !important;
}
.wd-copyrights {
    font-size: 14px;
}

div.quantity .minus {
    border-start-start-radius: 12px;
    border-end-start-radius: 12px;
}
div.quantity .plus {
    border-start-end-radius: 12px;
    border-end-end-radius: 12px;
}

/* =============================================================
   BANNIÈRE OFFRE — fiche produit
   ============================================================= */

.banniere-offre-single {
    display: grid;
    grid-template-columns: 140px 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 20px;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    background: #fff;
}
.banniere-offre-single__image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
}
.banniere-offre-single__badge {
    display: inline-block;
    margin-bottom: 10px;
    padding: 6px 10px;
    background: #D82A30;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 4px;
}
.banniere-offre-single__title {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}
.banniere-offre-single__text {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    color: #333;
}
.banniere-offre-single__cta {
    text-align: right;
}
.banniere-offre-single__button {
    display: inline-block;
    padding: 14px 22px;
    background: #7bc043;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 6px;
    white-space: nowrap;
}
.banniere-offre-single__button:hover {
    opacity: 0.9;
}
@media (max-width: 768px) {
    .banniere-offre-single {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .banniere-offre-single__cta {
        margin-top: 15px;
        text-align: left;
    }
}@media (min-width: 1025px) {
	#choisir-chariots {
  scroll-margin-top: 120px;
}
}

@media (max-width: 576px) {
	.woocommerce-message {
    display: none !important;
}
}

