/* ==================================================================
   Boutique JNR — couche de design (chargée après le thème EtrendLite)
   Refonte du 27/10/2026 d'après la maquette validée (_design/jnr-refonte/maquette2.html).
   Esprit : boutique officielle, pro et sobre. Bleu, marine, ciel, nuage ;
   coins de 16 px, ombres douces, titres Plus Jakarta Sans 800.
   ================================================================== */

/* ---------- Police hébergée (Plus Jakarta Sans, licence OFL) ----------
   Le thème déclare « Manrope » et « Jost » sans jamais les charger : on leur
   donne les mêmes fichiers, plutôt que de surcharger chaque règle du thème. */
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}
@font-face {
    font-family: "Jost";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}

/* ---------- Jetons ---------- */
:root {
    --j-bleu: #1558D6;
    --j-bleu-fonce: #0F47B3;
    --j-bleu-vif: #2A7BFF;
    --j-marine: #0A1B3D;
    --j-marine-2: #10295A;
    --j-ciel: #EAF2FF;
    --j-nuage: #F5F7FB;
    --j-trait: #E1E7F2;
    --j-trait-fort: #C7D5F0;
    --j-texte: #0A1B3D;
    --j-texte-2: #53627E;
    --j-texte-3: #7A88A3;
    --j-sur-marine: #C5D2EC;
    --j-sur-marine-2: #AEBFE0;
    --j-vert: #12A06A;
    --j-vert-texte: #0B7A50;
    --j-vert-fond: #E7F7EF;
    --j-orange: #A5510A;
    --j-orange-fond: #FFF4E8;
    --j-rouge: #B42318;
    --j-rouge-fond: #FDECEA;
    --j-rayon: 16px;
    --j-rayon-s: 12px;
    --j-rayon-xs: 10px;
    --j-ombre: 0 1px 2px rgba(10, 27, 61, .06), 0 10px 30px -12px rgba(10, 27, 61, .22);
    --j-ombre-forte: 0 30px 60px -20px rgba(0, 0, 0, .55);
    --j-police: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --j-barre-h: 40px;
}

/* ---------- Base ---------- */
/* Le thème anime TOUTES les propriétés de TOUS les éléments : coûteux et brouillon. */
* { transition: none; }
a, button, .btn, .jnr-bt, .jnr-acc-gamme, .product-miniature .thumbnail-container, .jnr-gamme, .jnr-saveur {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
html { -webkit-text-size-adjust: 100%; }
body {
    background: #fff;
    color: var(--j-texte);
    font-family: var(--j-police);
    font-size: 15px;
    line-height: 1.5;
    border-top: 0;
}
body, input, button, select, textarea, .btn { font-family: var(--j-police); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--j-police); color: var(--j-texte); letter-spacing: -.015em; }
a { color: var(--j-bleu); }
a:hover, a:focus { color: var(--j-bleu-fonce); }
p { color: var(--j-texte-2); }
img { max-width: 100%; }
#wrapper { padding-top: 0; background: #fff; box-shadow: none; }

/* largeur de page alignée sur la maquette (1320 px utiles) */
@media (min-width: 1380px) {
    .container { width: 1320px; }
}

/* focus clavier visible partout */
:focus-visible { outline: 3px solid var(--j-bleu-vif); outline-offset: 2px; }
.jnr-pied :focus-visible, .jnr-barre :focus-visible, .jnr-hero :focus-visible, .jnr-bx-marine :focus-visible { outline-color: #9CC0FF; }

/* lien d'évitement */
.jnr-evitement { position: absolute; left: 12px; top: -60px; z-index: 1100; padding: 10px 16px; border-radius: var(--j-rayon-xs); background: #fff; color: var(--j-marine); font-weight: 700; box-shadow: var(--j-ombre); }
.jnr-evitement:focus { top: 12px; }

/* ---------- Boutons ---------- */
.btn {
    border-radius: var(--j-rayon-s);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
}
.btn-primary, .btn-primary:visited {
    border: 1.5px solid var(--j-bleu);
    background: var(--j-bleu);
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .btn-primary:active:focus, .btn-primary:not(:disabled):not(.disabled):active {
    border-color: var(--j-bleu-fonce);
    background: var(--j-bleu-fonce);
    color: #fff;
}
.btn-primary.disabled, .btn-primary:disabled { border-color: var(--j-trait-fort); background: var(--j-trait-fort); color: #fff; }
.btn-secondary, .btn-tertiary {
    border: 1.5px solid var(--j-trait);
    background: #fff;
    color: var(--j-marine);
}
.btn-secondary:hover, .btn-tertiary:hover, .btn-secondary:focus { border-color: var(--j-marine); background: #fff; color: var(--j-marine); }

.jnr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border: 1.5px solid var(--j-bleu);
    border-radius: 14px;
    background: var(--j-bleu);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 22px -10px rgba(21, 88, 214, .7);
}
.jnr-btn:hover, .jnr-btn:focus { border-color: var(--j-bleu-fonce); background: var(--j-bleu-fonce); color: #fff; text-decoration: none; }
.jnr-btn-blanc { border-color: #fff; background: #fff; color: var(--j-marine); box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .6); }
.jnr-btn-blanc:hover, .jnr-btn-blanc:focus { border-color: var(--j-ciel); background: var(--j-ciel); color: var(--j-marine); }
.jnr-btn-contour { border-color: rgba(255, 255, 255, .45); background: transparent; color: #fff; box-shadow: none; }
.jnr-btn-contour:hover, .jnr-btn-contour:focus { border-color: #fff; background: rgba(255, 255, 255, .1); color: #fff; }

/* ---------- Formulaires (communs) ---------- */
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="search"], input[type="number"], textarea, select.form-control {
    border: 1.5px solid var(--j-trait);
    border-radius: var(--j-rayon-s);
    background-color: #fff;
    color: var(--j-texte);
    font-size: 15px;
    box-shadow: none;
}
.form-control { min-height: 46px; padding: 10px 14px; }
textarea.form-control { min-height: 120px; }
.form-control:focus, input:focus, textarea:focus, select:focus { border-color: var(--j-bleu); outline: none; box-shadow: 0 0 0 3px rgba(21, 88, 214, .18); }
.form-control-label, label { color: var(--j-texte-2); font-weight: 700; font-size: 13.5px; }
.form-control-comment { color: var(--j-texte-3); font-size: 12.5px; }
.custom-checkbox input[type="checkbox"] + span, .custom-radio { border-color: var(--j-trait-fort); }
.custom-checkbox input[type="checkbox"]:checked + span { border-color: var(--j-bleu); background: var(--j-bleu); color: #fff; }
.custom-radio input[type="radio"]:checked + span { background: var(--j-bleu); }
.input-group .input-group-btn > .btn { border-radius: 0 var(--j-rayon-s) var(--j-rayon-s) 0; }

/* alertes et notifications */
.alert { border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); font-size: 14px; }
.alert-success { border-color: #BFE3CE; background: var(--j-vert-fond); color: var(--j-vert-texte); }
.alert-danger { border-color: #F3C5C0; background: var(--j-rouge-fond); color: var(--j-rouge); }
.alert-warning { border-color: #F6D2AA; background: var(--j-orange-fond); color: var(--j-orange); }
.alert-info { border-color: var(--j-trait-fort); background: var(--j-ciel); color: var(--j-marine); }

/* fil d'Ariane */
.breadcrumb { margin: 18px 0 14px; padding: 0; background: none; font-size: 13px; }
.breadcrumb ol { margin: 0; padding: 0; }
.breadcrumb li, .breadcrumb li a, .breadcrumb li span { color: var(--j-texte-3); font-weight: 600; }
.breadcrumb li a:hover { color: var(--j-bleu); }
.breadcrumb li:last-child span { color: var(--j-texte-2); }
#index .breadcrumb { display: none; }

/* cartes Bootstrap du thème */
.card { border: 1px solid var(--j-trait); border-radius: var(--j-rayon); box-shadow: none; }
.page-content.card, .card-block { background: #fff; }

/* ==================================================================
   EN-TÊTE
   ================================================================== */
#header {
    position: sticky;
    top: calc(-1 * var(--j-barre-h));
    z-index: 900;
    background: #fff;
    box-shadow: none;
}
#header .header-banner:empty { display: none; }

/* barre du haut, marine */
.jnr-barre { height: var(--j-barre-h); background: var(--j-marine); color: var(--j-sur-marine); font-size: 13px; font-weight: 500; }
.jnr-barre-in { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.jnr-barre b { color: #fff; font-weight: 700; }
.jnr-barre-off { white-space: nowrap; }
.jnr-barre-faits { display: flex; align-items: center; }
.jnr-barre-faits span { display: inline-flex; align-items: center; margin: 0 14px; white-space: nowrap; }
.jnr-barre-faits i { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: #3DDC97; }
.jnr-barre-tel { display: inline-flex; align-items: center; color: #fff; font-weight: 700; white-space: nowrap; text-decoration: none; }
.jnr-barre-tel svg { width: 15px; height: 15px; margin-right: 8px; fill: currentColor; }
.jnr-barre-tel:hover, .jnr-barre-tel:focus { color: #fff; text-decoration: underline; }

/* bloc logo + recherche + compte + panier */
.jnr-entete { border-bottom: 1px solid var(--j-trait); background: #fff; }
.jnr-entete-in { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 36px; min-height: 84px; }
.jnr-logo { display: block; line-height: 0; }
.jnr-logo img { width: auto; height: 50px; }
.jnr-recherche { justify-self: center; width: 100%; max-width: 640px; }
.jnr-actions { display: flex; align-items: center; gap: 10px; }

/* recherche (widget ps_searchbar) */
.jnr-recherche #search_widget { float: none; width: 100%; max-width: none; margin: 0; padding: 0; }
.jnr-recherche #search_widget form { position: relative; margin: 0; }
.jnr-recherche #search_widget input[type="text"] {
    width: 100%;
    height: 50px;
    padding: 0 20px 0 52px;
    border: 1.5px solid var(--j-trait);
    border-radius: 999px;
    background: var(--j-nuage);
    color: var(--j-texte);
    font-size: 15px;
    font-weight: 500;
    box-shadow: none;
}
.jnr-recherche #search_widget input[type="text"]::placeholder { color: var(--j-texte-3); opacity: 1; }
.jnr-recherche #search_widget input[type="text"]:focus { border-color: var(--j-bleu); background: #fff; box-shadow: 0 0 0 3px rgba(21, 88, 214, .15); }
.jnr-recherche #search_widget button[type="submit"] {
    position: absolute;
    top: 0;
    left: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 50px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--j-texte-2);
}
.jnr-recherche #search_widget button[type="submit"] svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; }
.jnr-recherche #search_widget button[type="submit"]:hover { color: var(--j-bleu); }
/* propositions de la recherche (jQuery UI) */
.ui-autocomplete.searchbar-autocomplete { z-index: 1000; padding: 6px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; box-shadow: var(--j-ombre); }
.ui-autocomplete.searchbar-autocomplete li a { padding: 8px 10px; border-radius: 8px; color: var(--j-texte); font-size: 14px; }
.ui-autocomplete.searchbar-autocomplete li a.ui-state-focus, .ui-autocomplete.searchbar-autocomplete li a:hover { border: 0; background: var(--j-ciel); color: var(--j-bleu); }

/* boutons compte / panier */
.jnr-bt {
    display: inline-flex;
    align-items: center;
    height: 46px;
    padding: 0 16px;
    border: 1.5px solid var(--j-trait);
    border-radius: var(--j-rayon-s);
    background: #fff;
    color: var(--j-marine);
    font-size: 14.5px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
}
.jnr-bt svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jnr-bt svg + span { margin-left: 9px; }
.jnr-bt:hover, .jnr-bt:focus { border-color: var(--j-trait-fort); background: var(--j-ciel); color: var(--j-bleu); text-decoration: none; }
.jnr-bt-panier { border-color: var(--j-bleu); background: var(--j-bleu); color: #fff; box-shadow: 0 8px 18px -8px rgba(21, 88, 214, .7); }
.jnr-bt-panier:hover, .jnr-bt-panier:focus { border-color: var(--j-bleu-fonce); background: var(--j-bleu-fonce); color: #fff; }
/* le thème colore tous les liens de l'en-tête (#header a) et dessine un sac en ::before sur le panier */
#header .jnr-barre-tel, #header .jnr-barre-tel:hover, #header .jnr-barre-tel:focus { color: #fff; }
#header .jnr-bt { color: var(--j-marine); }
#header .jnr-bt:hover, #header .jnr-bt:focus { color: var(--j-bleu); }
#header .jnr-bt-panier, #header .jnr-bt-panier:hover, #header .jnr-bt-panier:focus { color: #fff; }
#_desktop_cart .header > a.jnr-bt-panier { display: inline-flex; padding: 0 16px; }
#_desktop_cart .header > a.jnr-bt-panier::before { content: none; display: none; }
#header .jnr-menu-item > a { color: var(--j-marine); }
#header .jnr-menu-item > a:hover, #header .jnr-menu-item > a:focus, #header .jnr-menu-item:hover > a, #header .jnr-menu-item.is-current > a { color: var(--j-bleu); }
#header #lnk-cartes-cadeaux > a { color: var(--j-bleu); }
#header .jnr-menu-panneau a { color: var(--j-texte); }
#header .jnr-menu-panneau a:hover, #header .jnr-menu-panneau a:focus, #header .jnr-menu-panneau .jnr-menu-tout a { color: var(--j-bleu); }
#header .jnr-evitement { color: var(--j-marine); }
.jnr-bt-n { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; margin-left: 9px; padding: 0 6px; border-radius: 999px; background: #fff; color: var(--j-bleu); font-size: 12px; font-weight: 800; }
#_desktop_cart { float: none; margin: 0; padding: 0; }
#_desktop_cart .blockcart { float: none; margin: 0; padding: 0; background: none; }
#_desktop_cart .blockcart .header { margin: 0; padding: 0; }

/* navigation en pastilles (ps_mainmenu) */
.jnr-nav { border-bottom: 1px solid var(--j-trait); background: #fff; }
.jnr-menu { display: flex; align-items: center; min-height: 54px; margin: 0; padding: 0; list-style: none; }
.jnr-menu-item { position: relative; margin: 0 6px 0 0; }
.jnr-menu-item > a {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 16px;
    border-radius: var(--j-rayon-xs);
    color: var(--j-marine);
    font-size: 14.5px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
}
.jnr-menu-item > a:hover, .jnr-menu-item > a:focus, .jnr-menu-item:hover > a, .jnr-menu-item.is-current > a { background: var(--j-ciel); color: var(--j-bleu); text-decoration: none; }
.jnr-menu-item.has-child > a::after { content: ""; width: 7px; height: 7px; margin: -3px 0 0 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .55; }
#lnk-cartes-cadeaux { margin-left: auto; margin-right: 0; }
#lnk-cartes-cadeaux > a { color: var(--j-bleu); }

/* panneau des sous-rayons : survol ou focus clavier, sans JavaScript */
.jnr-menu-panneau {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 950;
    display: none;
    min-width: 260px;
    padding: 12px;
    border: 1px solid var(--j-trait);
    border-radius: var(--j-rayon);
    background: #fff;
    box-shadow: var(--j-ombre);
}
.jnr-menu-item:hover > .jnr-menu-panneau, .jnr-menu-item:focus-within > .jnr-menu-panneau { display: block; }
.jnr-menu-panneau ul { margin: 0; padding: 0; list-style: none; }
.jnr-menu-panneau.jnr-menu-large { width: 720px; }
.jnr-menu-panneau.jnr-menu-large ul { columns: 4; column-gap: 8px; }
.jnr-menu-panneau li { break-inside: avoid; }
.jnr-menu-panneau a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--j-texte); font-size: 14px; font-weight: 600; text-decoration: none; }
.jnr-menu-panneau a:hover, .jnr-menu-panneau a:focus { background: var(--j-ciel); color: var(--j-bleu); }
.jnr-menu-panneau .jnr-menu-tout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--j-trait); }
.jnr-menu-panneau .jnr-menu-tout a { color: var(--j-bleu); font-weight: 700; }

/* ---------- en-tête du tunnel de commande ---------- */
.jnr-entete-tunnel { border-bottom: 1px solid var(--j-trait); background: #fff; }
.jnr-entete-tunnel .jnr-entete-in { grid-template-columns: auto 1fr; min-height: 76px; }
.jnr-tunnel-surete { justify-self: end; display: flex; align-items: center; color: var(--j-texte-2); font-size: 13.5px; font-weight: 600; }
.jnr-tunnel-surete svg { width: 18px; height: 18px; margin-right: 8px; fill: none; stroke: var(--j-vert); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
#checkout #header { position: static; }

/* ==================================================================
   ACCUEIL
   ================================================================== */
.jnr-sec { padding: 72px 0 0; }
.jnr-sec-tete { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.jnr-sec-tete h2 { margin: 0; font-size: 38px; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; text-transform: none; }
.jnr-sec-tete p { margin: 6px 0 0; color: var(--j-texte-2); font-size: 15.5px; font-weight: 500; }
.jnr-sec-lien { flex: none; margin-left: 20px; color: var(--j-bleu); font-size: 15px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.jnr-sec-lien:hover, .jnr-sec-lien:focus { color: var(--j-bleu-fonce); text-decoration: underline; }

/* héros */
.jnr-hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(1200px 520px at 78% 40%, #2F7BFF 0%, rgba(47, 123, 255, 0) 60%), linear-gradient(135deg, #0B2A6B 0%, #0A1B3D 70%);
    color: #fff;
}
.jnr-hero::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, 0) 40%); pointer-events: none; }
.jnr-hero-in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; column-gap: 40px; min-height: 560px; }
.jnr-kick { display: inline-flex; align-items: center; color: #9CC0FF; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.jnr-kick::before { content: ""; width: 28px; height: 2px; margin-right: 10px; background: #9CC0FF; }
.jnr-hero h1 { margin: 20px 0; color: #fff; font-size: 72px; font-weight: 800; line-height: 1; letter-spacing: -.035em; text-transform: none; }
.jnr-hero h1 span { color: #7FB0FF; }
.jnr-hero-intro { max-width: 500px; margin: 0 0 32px; color: #C5D6F5; font-size: 19px; font-weight: 500; line-height: 1.55; }
.jnr-hero-cta { display: flex; flex-wrap: wrap; margin: -6px; }
.jnr-hero-cta .jnr-btn { min-height: 56px; margin: 6px; padding: 0 28px; font-size: 16px; }
.jnr-hero-faits { display: flex; flex-wrap: wrap; margin: 38px 0 0; padding: 0; list-style: none; color: #B5C8EE; font-size: 14px; font-weight: 600; }
.jnr-hero-faits li { margin: 0 30px 8px 0; }
.jnr-hero-faits b { display: block; color: #fff; font-size: 15px; }

/* scène de trois vraies photos produit */
.jnr-scene { position: relative; height: 520px; }
.jnr-hc { position: absolute; display: block; color: var(--j-marine); text-decoration: none; }
.jnr-hc-img { display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: var(--j-ombre-forte); }
.jnr-hc-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jnr-hc1 { top: 20px; left: 12%; width: 300px; height: 300px; transform: rotate(-3deg); }
.jnr-hc2 { top: 110px; right: 2%; z-index: 2; width: 340px; height: 340px; transform: rotate(2.5deg); }
.jnr-hc3 { bottom: 6px; left: 4%; z-index: 3; width: 250px; height: 250px; transform: rotate(2deg); }
.jnr-hc:hover, .jnr-hc:focus { text-decoration: none; }
.jnr-hc:hover .jnr-hc-img { box-shadow: 0 34px 70px -18px rgba(0, 0, 0, .65); }
.jnr-hc-lab { position: absolute; z-index: 4; padding: 11px 15px; border-radius: 14px; background: #fff; color: var(--j-marine); font-size: 14px; font-weight: 800; line-height: 1.2; white-space: nowrap; box-shadow: 0 18px 34px -14px rgba(0, 0, 0, .5); }
.jnr-hc-lab small { display: block; color: var(--j-bleu); font-size: 12px; font-weight: 700; }
.jnr-hc1 .jnr-hc-lab { top: 46px; left: -64px; transform: rotate(3deg); }
.jnr-hc2 .jnr-hc-lab { bottom: -18px; left: -10px; transform: rotate(-2.5deg); }
.jnr-hc3 .jnr-hc-lab { right: -30px; bottom: 26px; transform: rotate(-2deg); }

/* gammes */
.jnr-acc-gammes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.jnr-acc-gamme { display: block; overflow: hidden; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; color: var(--j-texte); text-align: center; text-decoration: none; }
.jnr-acc-gamme:hover, .jnr-acc-gamme:focus { border-color: var(--j-trait-fort); box-shadow: var(--j-ombre); color: var(--j-texte); text-decoration: none; transform: translateY(-3px); }
.jnr-acc-gamme-vis { display: block; aspect-ratio: 1 / 1; background: var(--j-nuage); }
.jnr-acc-gamme-vis img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jnr-acc-gamme-tx { display: block; padding: 14px 10px 16px; }
.jnr-acc-gamme b { display: block; font-size: 16px; font-weight: 800; }
.jnr-acc-gamme small { color: var(--j-texte-2); font-size: 12.5px; font-weight: 600; }

/* grille produits de l'accueil */
.jnr-acc-produits .jnr-grille-produits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; }
#index #content-wrapper, #index #main, #index #content { margin: 0; padding: 0; }
#index #content.page-home { min-height: 0; }

/* duo 50 ml / carte cadeau */
.jnr-duo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; }
.jnr-bx { position: relative; overflow: hidden; min-height: 330px; padding: 42px 44px; border-radius: 24px; }
.jnr-bx h2 { margin: 0 0 14px; font-size: 34px; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; text-transform: none; }
.jnr-bx p { max-width: 420px; margin: 0 0 24px; font-size: 15.5px; font-weight: 500; line-height: 1.55; }
.jnr-bx-ciel { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 28px; align-items: start; background: var(--j-ciel); }
.jnr-bx-ciel p { color: var(--j-texte-2); }
.jnr-dose { display: grid; row-gap: 10px; margin: 0; padding: 0; list-style: none; }
.jnr-dose li { display: flex; align-items: baseline; padding: 12px 18px; border-radius: 14px; background: #fff; box-shadow: var(--j-ombre); color: var(--j-bleu); font-size: 26px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; }
.jnr-dose small { margin-left: 8px; color: var(--j-texte-2); font-size: 12.5px; font-weight: 700; letter-spacing: 0; }
.jnr-bx-marine { background: linear-gradient(135deg, #0B2A6B, #0A1B3D); color: #fff; }
.jnr-bx-marine h2 { color: #fff; }
.jnr-bx-marine p { max-width: 340px; color: #C5D6F5; }
.jnr-carte { position: absolute; right: 30px; bottom: 32px; display: flex; flex-direction: column; justify-content: space-between; width: 230px; height: 140px; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, #2A7BFF, #7FB0FF); color: #fff; font-size: 15px; font-weight: 800; box-shadow: 0 24px 40px -14px rgba(0, 0, 0, .6); transform: rotate(-7deg); }
.jnr-carte b { font-size: 30px; line-height: 1; letter-spacing: -.03em; }

/* une équipe à votre écoute */
.jnr-contact { margin-top: 76px; border-top: 1px solid var(--j-trait); border-bottom: 1px solid var(--j-trait); background: var(--j-nuage); }
.jnr-contact-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; column-gap: 64px; padding-top: 64px; padding-bottom: 64px; }
.jnr-contact h2 { margin: 0; font-size: 40px; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; text-transform: none; }
.jnr-contact-tx p { max-width: 440px; margin: 12px 0 0; color: var(--j-texte-2); font-size: 15.5px; font-weight: 500; }
.jnr-tele { display: inline-flex; align-items: center; margin-top: 26px; padding: 14px 22px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; color: var(--j-texte); text-decoration: none; box-shadow: var(--j-ombre); }
.jnr-tele:hover, .jnr-tele:focus { border-color: var(--j-trait-fort); color: var(--j-texte); text-decoration: none; }
.jnr-tele-ic { display: flex; flex: none; align-items: center; justify-content: center; width: 46px; height: 46px; margin-right: 16px; border-radius: 50%; background: var(--j-ciel); color: var(--j-bleu); }
.jnr-tele-ic svg { width: 20px; height: 20px; fill: currentColor; }
.jnr-tele small { display: block; color: var(--j-texte-2); font-size: 12.5px; font-weight: 600; }
.jnr-tele b { font-size: 24px; font-weight: 800; letter-spacing: -.01em; }
.jnr-contact-form { padding: 30px; border: 1px solid var(--j-trait); border-radius: 22px; background: #fff; box-shadow: var(--j-ombre); }

/* ---------- formulaire de contact (module contactform), accueil et page contact ---------- */
.contact-form { color: var(--j-texte); }
.contact-form form { margin: 0; }
.contact-form .form-fields > .form-group:first-child h3 { margin: 0 0 6px; font-size: 22px; font-weight: 800; text-transform: none; }
.jnr-contact-form .contact-form .form-fields > .form-group:first-child { display: none; }
.contact-form .form-group.row { position: relative; display: block; margin: 0 0 14px; }
.contact-form input[type="file"] { max-width: 100%; }
.contact-form .form-group.row > [class*="col-"] { float: none; width: 100%; max-width: none; margin-left: 0; padding: 0; }
.contact-form .form-group.row > .offset-md-3 { margin: 0; }
.contact-form .form-control-label { display: block; margin: 0 0 6px; padding: 0; text-align: left; }
.contact-form .form-control-comment { display: block; padding: 4px 0 0; }
.contact-form .form-control, .contact-form .form-control-select { width: 100%; }
.contact-form .bootstrap-filestyle { display: flex; width: 100%; }
.contact-form .bootstrap-filestyle .form-control { flex: 1 1 auto; min-width: 0; border-radius: var(--j-rayon-s) 0 0 var(--j-rayon-s); }
.contact-form .bootstrap-filestyle .btn, #wrapper .contact-form .bootstrap-filestyle .btn { border-color: var(--j-marine); border-radius: 0 var(--j-rayon-s) var(--j-rayon-s) 0; background: var(--j-marine); color: #fff; font-weight: 700; text-transform: none; }
#wrapper .input-group-btn .btn[data-action="show-password"] { border-color: var(--j-trait); background: var(--j-nuage); color: var(--j-marine); font-weight: 700; text-transform: none; }
.contact-form .form-footer { margin: 6px 0 0; padding: 0; text-align: left; }
.contact-form .form-footer .btn-primary { width: 100%; height: 54px; border-radius: 14px; font-size: 15.5px; font-weight: 800; box-shadow: 0 12px 24px -10px rgba(21, 88, 214, .7); }
.contact-form .notification, .contact-form .alert { margin-bottom: 14px; }
/* page contact : le formulaire dans une carte, la colonne d'infos en carte nuage */
#contact #content.page-content.card { padding: 30px; border-radius: 22px; box-shadow: var(--j-ombre); }
#contact #content .contact-form .form-fields > .form-group:first-child h3 { display: block; }
.contact-rich { padding: 22px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: var(--j-nuage); }
.contact-rich h4 { margin: 0 0 12px; color: var(--j-texte); font-size: 18px; font-weight: 800; text-transform: none; }
.contact-rich .block { display: flex; align-items: flex-start; margin: 0 0 12px; }
.contact-rich .block .icon { flex: none; width: auto; margin-right: 12px; color: var(--j-bleu); }
.contact-rich .block .data { color: var(--j-texte-2); font-size: 14px; }
.contact-rich .block .data b, .contact-rich .block .data a { color: var(--j-texte); font-weight: 700; }
.contact-rich hr { display: none; }

/* ==================================================================
   CARTE PRODUIT (accueil, rayons, recherche)
   ================================================================== */
/* le thème centre la carte dans un conteneur flex : elle se rétractait à la largeur de son texte */
.product-miniature, #wrapper .product-miniature { display: block; width: 100%; margin: 0; padding: 0; }
#wrapper .product-miniature .thumbnail-container { width: 100%; height: 100%; margin: 0; background: #fff; }
#wrapper .product-miniature .product-title, #wrapper .product-miniature .product-title a { text-align: left; }
#wrapper .product-miniature .product-title a { color: var(--j-texte); font-weight: 700; }
/* étiquettes : position et couleurs du thème remplacées ; « rupture » est déjà dit par la ligne d'état */
#wrapper .product-miniature .product-flags li.product-flag {
    position: static;
    min-width: 0;
    min-height: 0;
    margin: 0 0 5px;
    padding: 4px 10px;
    border-radius: 8px;
    background: var(--j-bleu);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
    text-transform: none;
}
#wrapper .product-miniature .product-flags li.product-flag.out_of_stock { display: none; }
.product-miniature .thumbnail-container {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--j-trait);
    border-radius: var(--j-rayon);
    background: #fff;
    box-shadow: none;
}
.product-miniature .thumbnail-container:hover { border-color: var(--j-trait-fort); box-shadow: var(--j-ombre); transform: translateY(-3px); }
.product-miniature .thumbnail-container:hover .product-thumbnail img { transform: none; }
.product-miniature .thumbnail-top { position: relative; margin: 0; background: var(--j-nuage); }
.product-miniature .product-thumbnail { display: block; margin: 0; }
.product-miniature .product-thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.product-miniature .highlighted-informations { display: none; }
.product-miniature .product-description {
    position: static;
    display: flex;
    flex: 1;
    flex-direction: column;
    width: auto;
    height: auto;
    margin: 0;
    padding: 16px 18px 18px;
    background: #fff;
    text-align: left;
}
.product-miniature .jnr-carte-gamme { margin: 0 0 4px; color: var(--j-bleu); font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.product-miniature .product-title { margin: 0 0 6px; text-align: left; }
.product-miniature .product-title a {
    display: -webkit-box;
    overflow: hidden;
    min-height: 2.6em;
    color: var(--j-texte);
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.product-miniature .product-title a:hover { color: var(--j-bleu); text-decoration: none; }
.product-miniature .jnr-carte-etat { display: inline-flex; align-items: center; color: var(--j-vert-texte); font-size: 12.5px; font-weight: 700; }
.product-miniature .jnr-carte-etat::before { content: ""; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--j-vert); }
.product-miniature .jnr-carte-etat.ko { color: var(--j-texte-3); }
.product-miniature .jnr-carte-etat.ko::before { background: var(--j-texte-3); }
.product-miniature .jnr-carte-etat.peu { color: var(--j-orange); }
.product-miniature .jnr-carte-etat.peu::before { background: #E08A2E; }
.product-miniature .jnr-carte-bas { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 12px; }
.product-miniature .product-price-and-shipping { margin: 0; text-align: left; }
.product-miniature .price { color: var(--j-texte); font-size: 22px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; }
.product-miniature .regular-price { display: none; }
.product-miniature .add { margin: 0 0 0 10px; }
.product-miniature .add form { margin: 0; }
.product-miniature .add .btn { height: 42px; padding: 0 16px; border-radius: var(--j-rayon-s); font-size: 14px; font-weight: 800; line-height: 1; }
.product-miniature .jnr-prevenir { display: inline-flex; align-items: center; height: 42px; margin-left: 10px; padding: 0 14px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; color: var(--j-marine); font-size: 13px; font-weight: 700; white-space: nowrap; }
.product-miniature .jnr-prevenir:hover, .product-miniature .jnr-prevenir:focus { border-color: var(--j-marine); color: var(--j-marine); text-decoration: none; }
.product-miniature.jnr-epuise .product-thumbnail img { opacity: .55; }
.product-miniature .product-list-reviews { display: none; }
.product-miniature .product-flags { position: absolute; top: 12px; left: 12px; right: auto; display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0; pointer-events: none; }
.product-miniature .product-flags li.product-flag, #product .product-flags li.product-flag {
    position: static;
    min-height: 0;
    margin: 0 0 5px;
    padding: 4px 10px;
    border-radius: 8px;
    background: var(--j-bleu);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
}
.product-flags li.product-flag.out_of_stock { border: 1px solid var(--j-trait); background: #fff; color: var(--j-texte-2); }
/* pas de promotion affichée sur cette boutique */
.product-flags li.product-flag.discount, .product-flags li.product-flag.on-sale, .product-miniature .discount-product { display: none; }

/* grilles : la carte n'utilise pas les colonnes Bootstrap de productlist.tpl */
#js-product-list .products, .jnr-grille-produits, .featured-products .products, #products .products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
}
#js-product-list .products::before, #js-product-list .products::after, .jnr-grille-produits::before, .jnr-grille-produits::after, .featured-products .products::before, .featured-products .products::after { display: none; }
#js-product-list .product-item, .jnr-grille-produits .product-item, .featured-products .product-item, #products .product-item {
    display: block;
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
}
#js-product-list .product-item.list-view { width: auto; }
/* le thème impose 33 % de large et une marge basse aux cellules du rayon */
#products .products-grid .products .product-item, #products #js-product-list .products .product-item { width: auto; margin: 0; padding: 0; }
.layout-full-width #js-product-list .products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.products-grid > .row { margin: 0; }
.show_grid, .show_list, .grid-list { display: none; }

/* ==================================================================
   RAYONS
   ================================================================== */
#category #left-column, #search #left-column, #new-products #left-column, #prices-drop #left-column, #best-sales #left-column { padding-right: 24px; }
#js-product-list-header, #category #js-product-list-header, .page-header h1 { margin: 4px 0 8px; color: var(--j-texte); font-size: 34px; font-weight: 800; line-height: 1.15; letter-spacing: -.025em; text-transform: none; }
.block-category, .block-category.card { margin-bottom: 18px; padding: 0; border: 0; background: none; box-shadow: none; }
.block-category h1, #category .block-category h1.h1 { margin: 4px 0 10px; color: var(--j-texte); font-size: 36px; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; text-transform: none; }
.block-category .block-category-inner #category-description { color: var(--j-texte-2); }
.block-category .block-category-inner #category-description p, .block-category #category-description > p { display: block; max-width: 85ch; margin: 0 0 8px; color: var(--j-texte-2); font-size: 15px; line-height: 1.6; }
.block-category .block-category-inner #category-description p strong, .block-category #category-description p strong { display: inline; margin: 0; color: var(--j-texte); font-size: inherit; font-weight: 700; line-height: inherit; }
#left-column .text-uppercase { text-transform: none; }
.jnr-cat-intro { max-width: 82ch; margin: 0 0 16px; color: var(--j-texte-2); font-size: 15px; line-height: 1.6; }
#category #js-product-list-header .jnr-cat-intro p:last-child { margin-bottom: 0; }

/* tuiles de gammes en tête de rayon (jnrfiche) */
.jnr-rayon-gammes { margin: 8px 0 22px; }
.jnr-rayon-gammes h2 { margin: 0 0 12px; color: var(--j-texte); font-size: 18px; font-weight: 800; text-transform: none; }
.jnr-rayon-gammes-liste { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.jnr-gamme { display: block; padding: 10px 10px 12px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; color: var(--j-texte); text-align: center; text-decoration: none; }
.jnr-gamme:hover, .jnr-gamme:focus { border-color: var(--j-trait-fort); box-shadow: var(--j-ombre); color: var(--j-texte); text-decoration: none; }
.jnr-gamme .jnr-gamme-vis { display: flex; align-items: center; justify-content: center; height: 84px; margin-bottom: 8px; overflow: hidden; border-radius: var(--j-rayon-xs); background: var(--j-nuage); }
.jnr-gamme .jnr-gamme-vis img { width: auto; max-height: 84px; mix-blend-mode: multiply; }
.jnr-gamme b { display: block; font-size: 14px; font-weight: 800; }
.jnr-gamme span { color: var(--j-texte-2); font-size: 12px; font-weight: 600; }
.jnr-gamme-cachee { display: none; }
.jnr-bascule:checked ~ .jnr-rayon-gammes-liste .jnr-gamme-cachee { display: block; }
.jnr-gammes-toutes { display: inline-block; margin: 12px 0 0; color: var(--j-bleu); font-size: 14px; font-weight: 700; cursor: pointer; }
.jnr-gammes-toutes:hover { text-decoration: underline; }
.jnr-gammes-toutes .jnr-reduire { display: none; }
.jnr-bascule:checked ~ .jnr-gammes-toutes .jnr-voir { display: none; }
.jnr-bascule:checked ~ .jnr-gammes-toutes .jnr-reduire { display: inline; }

/* barre d'outils du rayon */
#js-product-list-top.products-selection { display: flex; flex-wrap: wrap; align-items: center; margin: 0 0 16px; padding: 12px 0; border-top: 1px solid var(--j-trait); border-bottom: 1px solid var(--j-trait); }
#js-product-list-top .total-products p { margin: 0; color: var(--j-texte-2); font-size: 13.5px; font-weight: 600; }
#js-product-list-top .sort-by { color: var(--j-texte-2); font-size: 13.5px; }
.jnr-outils-rayon { margin-bottom: 10px; }
.products-sort-order .select-title { height: 40px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-xs); background: #fff; color: var(--j-texte); font-size: 13.5px; font-weight: 600; box-shadow: none; }
.products-sort-order .dropdown-menu { border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); box-shadow: var(--j-ombre); }
.products-sort-order .dropdown-menu .select-list:hover { background: var(--j-ciel); color: var(--j-bleu); }
.filter-button .btn-secondary { height: 40px; border: 1.5px solid var(--j-marine); border-radius: 999px; background: #fff; color: var(--j-marine); font-size: 13.5px; font-weight: 700; }
.showing { color: var(--j-texte-3); font-size: 12.5px; }

/* raccourci « disponible uniquement » */
.jnr-dispo-raccourci { display: inline-flex; align-items: center; padding: 8px 15px; border: 1.5px solid var(--j-trait); border-radius: 999px; background: #fff; color: var(--j-texte); font-size: 13.5px; font-weight: 700; text-decoration: none; }
.jnr-dispo-raccourci i { width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--j-vert); }
.jnr-dispo-raccourci:hover, .jnr-dispo-raccourci:focus { border-color: var(--j-marine); color: var(--j-texte); text-decoration: none; }
.jnr-dispo-raccourci[aria-pressed="true"] { border-color: var(--j-marine); background: var(--j-marine); color: #fff; }
.jnr-dispo-raccourci[aria-pressed="true"] i { background: #3DDC97; }

/* filtres actifs */
.jnr-filtres-actifs { margin-bottom: 12px; }
.jnr-filtres-actifs .active_filters, .jnr-filtres-actifs .active-filters { margin: 0; padding: 0; border: 0; background: none; }
.jnr-filtres-actifs .active-filter-title { display: none; }
.jnr-filtres-actifs ul { margin: 0; padding: 0; }
.jnr-filtres-actifs .filter-block, .jnr-filtres-actifs li { display: inline-flex; align-items: center; margin: 0 6px 6px 0; padding: 5px 12px; border-radius: 999px; background: var(--j-ciel); color: var(--j-bleu); font-size: 13px; font-weight: 700; box-shadow: none; }
.jnr-filtres-actifs .filter-block .close { margin-left: 6px; color: var(--j-bleu); font-size: 15px; opacity: 1; }
.jnr-filtres-actifs .js-search-filters-clear-all { margin-left: 4px; border: 0; background: none; color: var(--j-texte-2); font-size: 13px; font-weight: 700; text-decoration: underline; }

/* colonne de filtres */
#left-column .block-categories, #search_filters { margin: 0 0 18px; padding: 18px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; box-shadow: none; }
#left-column .block-categories .category-top-menu > li > a, #left-column .block-categories .h6, #search_filters > .h6, #search_filters > p.h6 { color: var(--j-texte); font-size: 16px; font-weight: 800; text-transform: none; }
#left-column .block-categories .category-sub-menu li a { color: var(--j-texte-2); font-size: 14px; font-weight: 600; }
#left-column .block-categories .category-sub-menu li a:hover { color: var(--j-bleu); }
#search_filters .facet { margin: 0; padding: 14px 0 12px; border-top: 1px solid var(--j-trait); border-bottom: 0; }
#search_filters .facet-title, #search_filters .facet .h6 { color: var(--j-texte-3); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#search_filters .facet ul { max-height: 260px; margin: 0; padding-right: 4px; overflow-y: auto; }
#search_filters .facet ul::-webkit-scrollbar { width: 6px; }
#search_filters .facet ul::-webkit-scrollbar-thumb { border-radius: 3px; background: var(--j-trait); }
#search_filters .facet-label { margin: 0 0 5px; }
#search_filters .facet-label a { color: var(--j-texte-2); font-size: 14px; font-weight: 500; }
#search_filters .facet-label a:hover, #search_filters .facet-label.active a { color: var(--j-bleu); }
#search_filters .magnitude { color: var(--j-texte-3); }
#search_filters .js-search-filters-clear-all { border-radius: 999px; font-size: 13px; }

/* filtres au téléphone : le thème masquait le bouton « Filtrer » (règle .col-xs-4.col-sm-3.hidden-md-up.filter-button).
   Le JavaScript du thème retire hidden-sm-down de #search_filters_wrapper au clic et masque la liste. */
@media (max-width: 767px) {
    #js-product-list-top .col-xs-4.col-sm-3.hidden-md-up.filter-button { display: block; }
    #left-column .block-categories { display: none; }
    #search_filters_wrapper #search_filters { margin: 0 0 16px; }
    #search_filter_controls { margin: 0 0 16px; }
    #search_filter_controls .btn { border-radius: var(--j-rayon-s); }
}
}

/* pagination */
.pagination { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--j-trait); color: var(--j-texte-2); font-size: 13.5px; }
.pagination .page-list { margin: 0; padding: 0; background: none; box-shadow: none; }
.pagination .page-list li a { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-xs); color: var(--j-texte); font-weight: 700; text-decoration: none; }
.pagination .page-list li a:hover { border-color: var(--j-bleu); color: var(--j-bleu); }
.pagination .page-list li.current a { border-color: var(--j-bleu); background: var(--j-bleu); color: #fff; }

/* texte de bas de rayon */
#js-product-list-footer .category-additional-description, .category-additional-description { margin: 26px 0 8px; padding: 26px 28px; border: 0; border-radius: var(--j-rayon); background: var(--j-nuage); color: var(--j-texte-2); font-size: 14.5px; line-height: 1.65; }
.category-additional-description h2 { margin: 0 0 8px; color: var(--j-texte); font-size: 20px; font-weight: 800; text-transform: none; }
.category-additional-description h3 { margin: 18px 0 6px; color: var(--j-texte); font-size: 16px; font-weight: 800; text-transform: none; }
.category-additional-description p { max-width: 90ch; }
#js-product-list-footer .card { border: 0; background: none; box-shadow: none; }

/* sous-catégories (si le thème les affiche) */
#subcategories .subcategory-image { display: none; }
#subcategories ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
#subcategories ul li { width: auto; margin: 0; }
#subcategories ul li h5 a, #subcategories ul li .subcategory-name { display: block; padding: 12px 14px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; color: var(--j-texte); font-size: 14px; font-weight: 700; text-align: center; text-transform: none; }

/* ==================================================================
   FICHE PRODUIT
   ================================================================== */
#product .product-container { margin-top: 6px; }
#product .page-content.product-cover img, #product .product-cover img { border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: var(--j-nuage); }
#product .product-cover .layer { border-radius: var(--j-rayon); }
#product .product-images > li.thumb-container > .thumb { border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-xs); }
#product .product-images > li.thumb-container > .thumb.selected, #product .product-images > li.thumb-container > .thumb:hover { border-color: var(--j-bleu); }
#product h1.h1, #product .product-detail-name { margin: 0 0 12px; color: var(--j-texte); font-size: 32px; font-weight: 800; line-height: 1.15; letter-spacing: -.025em; text-transform: none; }
#product .product-manufacturer { margin-bottom: 8px; }
#product .product-prices { margin: 14px 0 8px; }
#product .product-prices .current-price span, #product .current-price .price, #product .product-price { color: var(--j-texte); font-size: 34px; font-weight: 800; letter-spacing: -.02em; }
#product .tax-shipping-delivery-label { color: var(--j-texte-3); font-size: 12.5px; }
#product .product-discount, #product .discount-percentage, #product .discount-amount { display: none; }
#product .product-description { color: var(--j-texte-2); font-size: 15px; line-height: 1.65; }
#product .product-variants .control-label { color: var(--j-texte-2); font-size: 13.5px; font-weight: 700; }
#product .product-actions .product-quantity { display: flex; flex-wrap: wrap; align-items: center; }
#product .product-actions .qty { margin: 0 10px 10px 0; }
#product .product-actions .qty .input-group { height: 52px; }
#product .product-actions #quantity_wanted { height: 52px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s) 0 0 var(--j-rayon-s); font-weight: 700; }
#product .product-actions .bootstrap-touchspin .btn-touchspin { height: 26px; border-color: var(--j-trait); background: #fff; }
#product .product-actions .add { margin: 0 0 10px; }
#product .product-actions .add-to-cart.btn-primary { height: 52px; padding: 0 30px; border-radius: 14px; font-size: 16px; font-weight: 800; box-shadow: 0 12px 24px -10px rgba(21, 88, 214, .7); }
#product .product-actions .add-to-cart .material-icons { display: none; }

/* points clés */
.jnr-cles { display: flex; flex-wrap: wrap; margin: 0 0 14px; padding: 0; list-style: none; }
.jnr-cles li { margin: 0 6px 6px 0; padding: 5px 12px; border-radius: 999px; background: var(--j-ciel); color: var(--j-marine); font-size: 13px; font-weight: 600; }

/* pastille de disponibilité (celle du thème est masquée) */
.jnr-dispo { display: inline-flex; align-items: center; margin: 0 0 6px; padding: 5px 13px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.jnr-dispo::before { content: ""; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: currentColor; }
.jnr-dispo.ok { background: var(--j-vert-fond); color: var(--j-vert-texte); }
.jnr-dispo.peu { background: var(--j-orange-fond); color: var(--j-orange); }
.jnr-dispo.ko { background: var(--j-rouge-fond); color: var(--j-rouge); }
#product-availability, #product .product-availability { display: none; }

/* alerte de retour en stock */
.jnr-alerte-stock { margin: 16px 0 12px; padding: 18px; border: 1px solid #F6D2AA; border-radius: var(--j-rayon); background: var(--j-orange-fond); }
.jnr-alerte-stock > b { display: block; margin-bottom: 3px; color: var(--j-texte); font-size: 15.5px; }
.jnr-alerte-stock > p { margin: 0 0 10px; color: #6B5540; font-size: 14px; }
.jnr-alerte-stock .js-mailalert { display: flex; flex-wrap: wrap; align-items: center; margin: 0; }
.jnr-alerte-stock input[type="email"] { flex: 1 1 200px; min-width: 0; height: 46px; margin: 0 8px 8px 0; padding: 0 14px; border-color: #E9C8A2; }
.jnr-alerte-stock .btn { flex: 1 1 100%; box-sizing: border-box; max-width: 100%; height: auto; min-height: 46px; margin: 0 0 8px; padding: 10px 16px; white-space: normal; line-height: 1.3; }
.jnr-alerte-stock .tabs, .jnr-alerte-stock .js-mailalert > * { min-width: 0; max-width: 100%; }
.jnr-alerte-stock p.mailalert-msg, .jnr-alerte-stock .alert { margin: 8px 0 0; font-size: 13px; }

/* services et mention légale */
.jnr-services { display: grid; row-gap: 14px; margin: 20px 0 0; padding: 18px 20px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: var(--j-nuage); font-size: 14px; }
.jnr-services > div { display: flex; align-items: flex-start; }
.jnr-services i { flex: none; width: 22px; margin: 3px 12px 0 0; color: var(--j-bleu); font-size: 17px; text-align: center; }
.jnr-services b { display: block; color: var(--j-texte); font-weight: 800; }
.jnr-services span { color: var(--j-texte-2); line-height: 1.45; }
.jnr-legal { margin: 12px 0 0; color: var(--j-texte-3); font-size: 12.5px; line-height: 1.5; }

/* onglets */
#product .tabs { margin-top: 30px; padding: 0; border: 0; background: none; box-shadow: none; }
#product .nav-tabs { border-bottom: 1px solid var(--j-trait); }
#product .nav-tabs .nav-item { margin-bottom: -1px; }
#product .nav-tabs .nav-link { padding: 12px 18px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--j-texte-2); font-size: 15px; font-weight: 700; text-transform: none; }
#product .nav-tabs .nav-link.active, #product .nav-tabs .nav-link:hover { border-bottom-color: var(--j-bleu); background: none; color: var(--j-texte); }
#product .tab-content { padding: 22px 0 6px; color: var(--j-texte-2); font-size: 15px; line-height: 1.65; }
#product .tab-content h2, #product .tab-content h3 { color: var(--j-texte); font-weight: 800; text-transform: none; }
#product .product-description p { max-width: 82ch; }

/* caractéristiques */
#product .data-sheet { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 58%); max-width: 640px; margin: 0; font-size: 14.5px; }
#product .data-sheet dt.name, #product .data-sheet dd.value { margin: 0; padding: 11px 0; border-top: 1px solid var(--j-trait); background: none; }
#product .data-sheet dt.name { color: var(--j-texte-2); font-weight: 700; }
#product .data-sheet dd.value { color: var(--j-texte); }
#product .product-features { margin-top: 0; }
#product .product-features > .h6 { color: var(--j-texte); font-size: 16px; font-weight: 800; text-transform: none; }
#product .product-reference span { color: var(--j-texte); font-variant-numeric: tabular-nums; }

/* autres saveurs de la gamme */
.jnr-saveurs-section { clear: both; width: 100%; margin: 34px 0 8px; padding-top: 26px; border-top: 1px solid var(--j-trait); }
.jnr-saveurs-tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.jnr-saveurs-tete h2 { margin: 0 0 3px; color: var(--j-texte); font-size: 26px; font-weight: 800; letter-spacing: -.02em; text-transform: none; }
.jnr-saveurs-tete p { margin: 0; color: var(--j-texte-2); font-size: 14px; }
.jnr-saveurs-lien { color: var(--j-bleu); font-size: 14px; font-weight: 700; white-space: nowrap; }
.jnr-saveurs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.jnr-saveur { display: block; padding: 10px 10px 12px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; color: var(--j-texte); text-align: center; text-decoration: none; }
.jnr-saveur:hover, .jnr-saveur:focus { border-color: var(--j-trait-fort); box-shadow: var(--j-ombre); color: var(--j-texte); text-decoration: none; }
.jnr-saveur .vis { display: flex; align-items: center; justify-content: center; height: 110px; margin-bottom: 8px; overflow: hidden; border-radius: var(--j-rayon-xs); background: var(--j-nuage); }
.jnr-saveur .vis img { width: auto; max-height: 106px; mix-blend-mode: multiply; }
.jnr-saveur b { display: block; font-size: 13.5px; font-weight: 700; line-height: 1.3; }
.jnr-saveur .prix { display: block; margin-top: 3px; font-size: 14px; font-weight: 800; }
.jnr-saveur .etat { display: block; margin-top: 2px; color: var(--j-vert-texte); font-size: 12px; font-weight: 600; }
.jnr-saveur.epuise .vis { opacity: .5; }
.jnr-saveur.epuise .etat { color: var(--j-texte-3); }

/* produits liés du thème */
#product .featured-products, .product-accessories { margin-top: 30px; }
.featured-products .section-title, .product-accessories .h5 { margin: 0 0 18px; text-align: left; }
.featured-products .section-title span, .product-accessories .h5 { color: var(--j-texte); font-size: 26px; font-weight: 800; letter-spacing: -.02em; text-transform: none; }
.section-title::before, .section-title::after, .section-title > span::before, .section-title > span::after { display: none; }

/* fenêtre « ajouté au panier » */
#blockcart-modal .modal-content { overflow: hidden; border: 0; border-radius: var(--j-rayon); box-shadow: var(--j-ombre); }
#blockcart-modal .modal-header { border-bottom: 1px solid var(--j-trait); background: var(--j-vert-fond); }
#blockcart-modal .modal-title { color: var(--j-vert-texte); font-size: 16px; font-weight: 800; }
#blockcart-modal .product-name { color: var(--j-texte); font-weight: 800; }
#blockcart-modal .cart-content-btn .btn { border-radius: var(--j-rayon-s); }

/* ---------- boosters de nicotine (module nicoboost, fiches E-liquides 50 ml) ----------
   Le module charge sa feuille (rouge) avant celle-ci : on la ramène au bleu JNR,
   options en boutons, dosage final mis en avant. */
.nicoboost-block { margin: 18px 0; padding: 18px; border: 1px solid var(--j-trait-fort); border-radius: var(--j-rayon); background: var(--j-ciel); }
.nicoboost-title { margin: 0 0 12px; color: var(--j-texte); font-size: 16px; font-weight: 800; }
.nicoboost-title .material-icons { color: var(--j-bleu); }
.nicoboost-dose { color: var(--j-texte-2); font-size: 13px; font-weight: 600; }
.nicoboost-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.nicoboost-options li { margin: 0; }
.nicoboost-opt { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 6px; align-items: center; height: 100%; padding: 12px 14px; text-align: left; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; color: var(--j-texte); font-weight: 700; box-shadow: none; }
.nicoboost-opt:hover { border-color: var(--j-bleu); }
.nicoboost-opt:focus-within { outline: 3px solid var(--j-bleu-vif); outline-offset: 2px; }
.nicoboost-knob { width: 20px; height: 20px; border-color: var(--j-trait-fort); }
.nicoboost-name { font-size: 14px; }
.nicoboost-mg { grid-column: 2; justify-self: start; padding: 3px 10px; border: 0; border-radius: 999px; background: var(--j-ciel); color: var(--j-bleu); font-size: 14px; font-weight: 800; }
.nicoboost-opt .nicoboost-extra { display: block; grid-column: 2; margin: 0; color: var(--j-texte-2); font-size: 12.5px; font-weight: 600; }
.nicoboost-opt.is-active { border-color: var(--j-bleu); background: #fff; box-shadow: 0 8px 18px -10px rgba(21, 88, 214, .6); }
.nicoboost-opt.is-active .nicoboost-knob { border-color: var(--j-bleu); background: var(--j-bleu); }
.nicoboost-opt.is-active .nicoboost-mg { background: var(--j-bleu); color: #fff; }
.nicoboost-hint { margin: 10px 0 0; color: var(--j-texte-2); font-size: 13px; }
/* proposition de boosters sous un e-liquide, dans le panier */
.cig-panier-booster { display: flex; flex-wrap: wrap; align-items: center; margin: 10px 0 4px; padding: 12px 14px; border: 1px solid var(--j-trait-fort); border-radius: var(--j-rayon-s); background: var(--j-ciel); }
.cig-panier-booster img { flex: none; margin-right: 12px; border-radius: 8px; background: #fff; }
.cig-panier-booster p { flex: 1 1 220px; margin: 0; color: var(--j-texte-2); font-size: 13px; }
.cig-panier-booster p b { display: block; color: var(--j-texte); font-size: 13.5px; }
.cig-panier-booster-choix { display: flex; flex-wrap: wrap; flex: 1 1 100%; margin-top: 10px; }
.cig-panier-booster .cig-btn-secondaire { margin: 0 8px 6px 0; padding: 8px 14px; border: 1.5px solid var(--j-bleu); border-radius: var(--j-rayon-xs); background: #fff; color: var(--j-bleu); font-size: 13.5px; font-weight: 800; cursor: pointer; }
.cig-panier-booster .cig-btn-secondaire:hover, .cig-panier-booster .cig-btn-secondaire:focus { background: var(--j-bleu); color: #fff; }
.cig-panier-booster .cig-btn-secondaire small { font-weight: 600; }

/* ---------- page « Cartes cadeaux » (module pscadeau) : orange d'origine -> bleu JNR ---------- */
.cad-page { color: var(--j-texte); }
.cad-banniere { padding: 30px 32px; border-radius: 24px; background: linear-gradient(135deg, #0B2A6B, #0A1B3D); }
.cad-page .cad-banniere h2 { color: #fff; font-size: 32px; font-weight: 800; letter-spacing: -.025em; }
.cad-banniere p { color: #C5D6F5; font-size: 15px; }
.cad-carte p, .cad-carte .cad-pied { color: #fff; }
.cad-mode, .cad-mode span, .cad-mode b, .cad-mode small { text-align: left; }
.cad-carte { border-radius: 18px; box-shadow: 0 24px 40px -14px rgba(10, 27, 61, .55); }
.cad-apercu-mot { border-color: var(--j-trait); border-radius: var(--j-rayon-s); background: var(--j-nuage); color: var(--j-texte-2); }
.cad-etape legend { color: var(--j-texte); font-size: 16px; font-weight: 800; }
.cad-n { width: 24px; height: 24px; background: var(--j-bleu); font-size: 12.5px; }
.cad-visuel { border-radius: var(--j-rayon-s); }
.cad-visuel.is-choisi, .cad-montant.is-choisi, .cad-mode.is-choisi { border-color: var(--j-bleu); }
.cad-visuel input:focus-visible + .cad-visuel-nom { outline-color: var(--j-bleu-vif); }
.cad-montant { border-color: var(--j-trait); border-radius: var(--j-rayon-s); color: var(--j-texte); }
.cad-montant.is-choisi { background: var(--j-ciel); color: var(--j-bleu); }
.cad-montant:focus-within, .cad-mode:focus-within { outline: 3px solid var(--j-bleu-vif); outline-offset: 2px; }
.cad-mode { border-color: var(--j-trait); border-radius: var(--j-rayon-s); }
.cad-mode.is-choisi { background: var(--j-ciel); }
.cad-mode small { color: var(--j-texte-2); }
.cad-page .cad-champ label { color: var(--j-texte-2); font-weight: 700; }
.cad-champ input, .cad-champ textarea { border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); }
.cad-rappel { border-radius: var(--j-rayon-s); background: var(--j-vert-fond); color: var(--j-vert-texte); }
.cad-acheter { border-top-color: var(--j-trait); }
.cad-prix { color: var(--j-texte); font-size: 26px; }
.cad-page .cad-bouton, .cad-page .cad-bouton:hover, .cad-page .cad-bouton:focus { height: 52px; padding: 0 26px; border-radius: 14px; font-size: 16px; font-weight: 800; box-shadow: 0 12px 24px -10px rgba(21, 88, 214, .7); }
.cad-page .cad-bouton { background: var(--j-bleu); color: #fff; }
.cad-page .cad-bouton:hover, .cad-page .cad-bouton:focus { background: var(--j-bleu-fonce); color: #fff; }
.cad-alerte, .cad-partiel { border-radius: var(--j-rayon-s); background: var(--j-orange-fond); color: var(--j-orange); }
.cad-couvre { border-radius: var(--j-rayon-s); background: var(--j-vert-fond); color: var(--j-vert-texte); }
.cad-erreur { border-radius: var(--j-rayon-s); background: var(--j-rouge-fond); color: var(--j-rouge); }
.cad-ligne-code input { border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); }
.cad-confirmation { border-color: var(--j-trait); border-radius: var(--j-rayon); }

/* ==================================================================
   PANIER ET TUNNEL DE COMMANDE
   ================================================================== */
.jnr-etapes { display: flex; flex-wrap: wrap; align-items: center; margin: 4px 0 20px; padding: 14px 18px; border-radius: var(--j-rayon); background: var(--j-nuage); font-size: 13.5px; }
.jnr-etape { display: inline-flex; align-items: center; color: var(--j-texte-3); font-weight: 600; }
.jnr-etape i { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-right: 8px; border: 1.5px solid var(--j-trait-fort); border-radius: 50%; background: #fff; font-size: 12px; font-style: normal; font-weight: 800; }
.jnr-etape.active { color: var(--j-texte); font-weight: 800; }
.jnr-etape.active i { border-color: var(--j-bleu); background: var(--j-bleu); color: #fff; }
.jnr-sep { margin: 0 10px; color: var(--j-texte-3); }

#cart .cart-container, #cart .cart-summary, #checkout .cart-summary, #checkout .cart-grid-right .card { border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; box-shadow: none; }
#cart .cart-container .card-block { padding: 22px 22px 6px; }
#cart h1.h1 { margin: 0 0 4px; color: var(--j-texte); font-size: 30px; font-weight: 800; letter-spacing: -.025em; text-transform: none; }
.jnr-panier-sous { margin: 0; color: var(--j-texte-2); font-size: 14px; }
#cart .cart-container hr.separator { margin: 14px 0 0; border-color: var(--j-trait); }
#cart .cart-overview { padding: 6px 22px 10px; }
#cart .cart-overview .no-items { display: block; padding: 18px 0; color: var(--j-texte-2); font-size: 15px; }
#cart .cart-items { margin: 0; padding: 0; list-style: none; }
#cart .cart-item { padding: 16px 0; border-bottom: 1px solid var(--j-trait); }
#cart .cart-item:last-child { border-bottom: 0; }
#cart .product-line-grid { display: flex; flex-wrap: wrap; align-items: center; margin: 0; }
#cart .product-line-grid > [class*="col-"] { float: none; width: auto; }
#cart .product-line-grid > .clearfix { display: none; }
#cart .product-line-grid .product-line-grid-left { flex: 0 0 104px; max-width: 104px; padding: 0; }
#cart .product-line-grid .product-line-grid-body { flex: 1 1 0; min-width: 0; padding: 0 12px; }
#cart .product-line-grid .product-line-grid-right { flex: 0 0 auto; padding: 0; }
#cart .product-line-grid + .product-line-grid { border-top: 1px solid var(--j-trait); }
#cart .product-line-grid-left { max-width: 110px; }
#cart .product-line-grid-left .product-image img { width: 92px; height: 92px; padding: 6px; border-radius: var(--j-rayon-xs); background: var(--j-nuage); object-fit: contain; mix-blend-mode: multiply; }
#cart .product-line-grid-body { padding-left: 6px; }
#cart .product-line-info .label, #cart .product-line-info a.label { color: var(--j-texte); font-size: 15px; font-weight: 700; text-decoration: none; }
#cart .product-line-grid-right .product-price, #cart .product-line-grid-right .price { color: var(--j-texte); font-size: 17px; font-weight: 800; }
#cart .product-line-grid-right .qty { margin-right: 10px; }
#cart .product-line-grid-right input.js-cart-line-product-quantity { height: 42px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-xs) 0 0 var(--j-rayon-xs); font-weight: 700; }
#cart .bootstrap-touchspin .btn-touchspin { height: 21px; border-color: var(--j-trait); background: #fff; }
#cart .remove-from-cart { color: var(--j-texte-3); }
#cart .remove-from-cart:hover { color: var(--j-rouge); }
#cart .cart-grid-body > a.label { display: inline-flex; align-items: center; margin: 14px 0 0; color: var(--j-bleu); font-weight: 700; }

.cart-summary-line { margin-bottom: 6px; }
.cart-summary-line .label { color: var(--j-texte-2); font-weight: 600; }
.cart-summary-line .value { color: var(--j-texte); font-weight: 700; }
.cart-summary-line.cart-total .label, .cart-summary-line.cart-total .value, .cart-total .label, .cart-total .value { color: var(--j-texte); font-size: 20px; font-weight: 800; }
.cart-summary-totals { background: none; }
.cart-detailed-actions .btn, #cart .checkout .btn { width: 100%; height: 54px; border-radius: 14px; font-size: 16px; font-weight: 800; line-height: 1; box-shadow: 0 12px 24px -10px rgba(21, 88, 214, .7); }
#cart .cart-summary .block-promo .promo-code-button, .block-promo .promo-code-button { color: var(--j-bleu); font-size: 14px; font-weight: 700; }
.block-promo .promo-input { height: 44px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-xs); }

/* jauge du franco de port */
.jnr-franco { margin: 0 0 14px; padding: 14px 16px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); background: var(--j-nuage); }
.jnr-franco p { margin: 0 0 9px; color: var(--j-texte-2); font-size: 14px; line-height: 1.45; }
.jnr-franco b { color: var(--j-texte); font-weight: 800; }
.jnr-franco-jauge { height: 7px; overflow: hidden; border-radius: 999px; background: var(--j-trait); }
.jnr-franco-jauge span { display: block; height: 100%; border-radius: 999px; background: var(--j-bleu); }
.jnr-franco-ok { border-color: #BFE3CE; background: var(--j-vert-fond); }
.jnr-franco-ok b { color: var(--j-vert-texte); }
.jnr-franco-ok .jnr-franco-jauge span { background: var(--j-vert); }

/* réassurance et mentions, panier et tunnel */
.jnr-rassure-tunnel { display: grid; row-gap: 12px; margin-top: 14px; padding: 16px 18px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: var(--j-nuage); font-size: 13.5px; }
.jnr-rassure-tunnel > div { display: flex; align-items: flex-start; }
.jnr-rassure-tunnel i { flex: none; width: 20px; margin: 2px 11px 0 0; color: var(--j-bleu); font-size: 16px; text-align: center; }
.jnr-rassure-tunnel b { display: block; color: var(--j-texte); font-size: 14px; font-weight: 800; }
.jnr-rassure-tunnel span { color: var(--j-texte-2); line-height: 1.45; }
.jnr-tunnel-legal { display: block; margin-top: 6px; color: var(--j-texte-3); font-size: 12.5px; }

/* étapes du tunnel */
#checkout #wrapper { padding-top: 22px; background: var(--j-nuage); }
#checkout .checkout-step { margin-bottom: 14px; overflow: hidden; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; box-shadow: none; }
#checkout .checkout-step .step-title { margin: 0; padding: 18px 20px; color: var(--j-texte); font-size: 17px; font-weight: 800; text-transform: none; }
#checkout .checkout-step.-current .step-title { border-bottom: 1px solid var(--j-trait); }
#checkout .checkout-step.-unreachable .step-title { color: var(--j-texte-3); }
#checkout .checkout-step .step-number { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-right: 10px; border-radius: 50%; background: var(--j-nuage); color: var(--j-texte-2); font-size: 13px; font-weight: 800; }
#checkout .checkout-step.-current .step-number { background: var(--j-bleu); color: #fff; }
#checkout .checkout-step.-complete .step-number { background: var(--j-vert-fond); color: var(--j-vert-texte); }
#checkout .checkout-step .step-edit { color: var(--j-bleu); font-size: 13.5px; font-weight: 700; text-transform: none; }
#checkout .checkout-step .content { padding: 20px; }
#checkout .nav-inline .nav-link, #checkout .nav-tabs .nav-link { color: var(--j-texte-2); font-weight: 700; }
#checkout .nav-inline .nav-link.active, #checkout .nav-tabs .nav-link.active { color: var(--j-bleu); }
#checkout .form-footer .btn, #checkout .continue.btn { min-width: 200px; height: 50px; border-radius: 14px; font-size: 15px; font-weight: 800; }

/* modes de livraison : le thème garde ses colonnes Bootstrap, on n'habille que la carte */
#checkout .delivery-option { margin: 0 0 10px; padding: 14px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; }
#checkout .delivery-option:hover { border-color: var(--j-bleu); }
#checkout .delivery-option .carrier-name, #checkout .delivery-option .h6 { color: var(--j-texte); font-size: 15px; font-weight: 800; }
#checkout .delivery-option .carrier-delay { color: var(--j-texte-2); font-size: 13.5px; }
#checkout .delivery-option .carrier-price { color: var(--j-texte); font-weight: 800; white-space: nowrap; }
#checkout .carrier-extra-content { margin: 6px 0 14px; padding: 14px; border: 1px dashed var(--j-trait-fort); border-radius: var(--j-rayon-s); background: var(--j-nuage); }

/* moyens de paiement */
#checkout .payment-options .payment-option { margin: 0 0 10px; padding: 14px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; }
#checkout .payment-options .payment-option:hover { border-color: var(--j-bleu); }
#checkout .payment-options .payment-option label { margin: 0; color: var(--j-texte); font-size: 15px; font-weight: 700; }
#checkout .additional-information { color: var(--j-texte-2); font-size: 14px; }
#checkout #conditions-to-approve { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); background: var(--j-nuage); }
#checkout #conditions-to-approve label { color: var(--j-texte-2); font-size: 14px; font-weight: 600; }
#checkout #conditions-to-approve a { color: var(--j-bleu); font-weight: 700; text-decoration: underline; }
#checkout #payment-confirmation button { width: 100%; height: 56px; border-radius: 14px; font-size: 16px; font-weight: 800; }

/* récapitulatif du tunnel */
#checkout .cart-summary-products p, #checkout .cart-summary-products a { color: var(--j-texte-2); font-weight: 600; }
#checkout .cart-summary-product-list .media-body .product-name a { color: var(--j-texte); font-weight: 700; }
#checkout .cart-summary-product-list img { border-radius: 8px; background: var(--j-nuage); mix-blend-mode: multiply; }

/* le thème met les titres d'étape et les onglets en capitales, avec ses propres couleurs */
.jnr-entete-tunnel { padding: 12px 0; }
.jnr-entete-tunnel .jnr-logo img { width: auto; height: 46px; }
body#checkout #wrapper section.checkout-step .step-title, body#checkout #wrapper .checkout-step .step-title { color: var(--j-texte); font-size: 17px; font-weight: 800; text-transform: none; }
body#checkout #wrapper .checkout-step.-unreachable .step-title { color: var(--j-texte-3); }
body#checkout #wrapper .checkout-step .step-edit { color: var(--j-bleu); text-transform: none; }
body#checkout #wrapper .nav-inline .nav-link, body#checkout #wrapper .nav .nav-link { padding: 10px 16px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s); background: #fff; color: var(--j-texte-2); font-size: 14px; font-weight: 700; text-transform: none; }
body#checkout #wrapper .nav-inline .nav-link.active, body#checkout #wrapper .nav .nav-link.active { border-color: var(--j-bleu); background: var(--j-bleu); color: #fff; }
body#checkout #wrapper .btn-primary:disabled, body#checkout #wrapper .btn-primary.disabled { border-color: var(--j-trait-fort); background: var(--j-trait-fort); color: #fff; opacity: 1; }
body#checkout #wrapper .btn, body#cart #wrapper .btn { text-transform: none; }
body#checkout #wrapper .cart-summary-products .js-show-details, body#checkout #wrapper .cart-summary-products a { text-transform: none; }
body#checkout #wrapper .input-group-btn .btn { border-radius: 0 var(--j-rayon-s) var(--j-rayon-s) 0; text-transform: none; }

/* pied du tunnel */
#checkout #footer { padding: 18px 0 24px; border-top: 1px solid var(--j-trait); background: #fff; color: var(--j-texte-3); font-size: 12.5px; text-align: center; }
#checkout #footer .js-terms, #checkout #footer .js-terms a { color: var(--j-texte-2); }

/* confirmation de commande */
#order-confirmation #content-hook_order_confirmation { border: 1px solid #BFE3CE; border-radius: var(--j-rayon); background: var(--j-vert-fond); }
#order-confirmation #content-hook_order_confirmation .card-title { color: var(--j-vert-texte); font-weight: 800; text-transform: none; }
.jnr-suite { margin: 18px 0; padding: 20px 22px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; }
.jnr-suite h2 { margin: 0 0 12px; color: var(--j-texte); font-size: 19px; font-weight: 800; text-transform: none; }
.jnr-suite-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.jnr-suite-liste > div { padding: 14px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); background: var(--j-nuage); color: var(--j-texte-2); font-size: 13.5px; }
.jnr-suite-liste b { display: block; margin-bottom: 3px; color: var(--j-texte); font-size: 14px; }

/* ==================================================================
   COMPTE CLIENT ET PAGES DE CONTENU
   ================================================================== */
.page-header h1, #main > .page-header h1, .page-customer-account #main .page-header h1 { margin: 6px 0 16px; color: var(--j-texte); font-size: 34px; font-weight: 800; letter-spacing: -.025em; text-transform: none; }
.page-customer-account #content, #authentication #content, #registration #content, #password #content, #identity #content, #address #content { padding: 28px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; box-shadow: none; }
#authentication .login-form, #authentication .register-form { max-width: 640px; }
#authentication .forgot-password a, .no-account a { color: var(--j-bleu); font-weight: 700; }
.no-account { margin-top: 10px; }
#authentication hr, #registration hr { border-color: var(--j-trait); }
#my-account .links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; }
#my-account .links a { display: flex; flex-direction: column; align-items: center; justify-content: center; float: none; width: auto; max-width: none; margin: 0; padding: 22px 14px; border: 1px solid var(--j-trait); border-radius: var(--j-rayon); background: #fff; color: var(--j-texte); font-size: 14.5px; font-weight: 700; text-align: center; text-transform: none; }
#my-account .links a:hover, #my-account .links a:focus { border-color: var(--j-trait-fort); box-shadow: var(--j-ombre); color: var(--j-bleu); text-decoration: none; }
#my-account .links a span.link-item { display: flex; flex-direction: column; align-items: center; padding: 0; border: 0; background: none; box-shadow: none; }
#my-account .links a i { margin-bottom: 8px; color: var(--j-bleu); font-size: 30px; }
.page-customer-account .table, .order-confirmation-table, #order-detail .table { border: 1px solid var(--j-trait); border-radius: var(--j-rayon-s); }
.page-customer-account .table thead th { border-bottom: 1px solid var(--j-trait); background: var(--j-nuage); color: var(--j-texte-2); font-size: 13px; text-transform: none; }
.page-customer-account .address { border: 1px solid var(--j-trait); border-radius: var(--j-rayon); box-shadow: none; }
.page-footer .account-link, .page-customer-account .page-footer a { color: var(--j-bleu); font-weight: 700; }
#cms #content, .page-cms #content { color: var(--j-texte-2); font-size: 15px; line-height: 1.65; }
#cms #content h2, #cms #content h3 { color: var(--j-texte); font-weight: 800; text-transform: none; }
/* Tableaux de contenu CMS : jamais plus larges que l'écran. */
#cms #content table { width: 100%; max-width: 100%; }
#cms #content table th, #cms #content table td { padding: 8px 10px; vertical-align: top; }
#cms #content p, #cms #content li, #cms #content h2, #cms #content h3 { text-align: left; }
@media (max-width: 575px) {
    #cms #content table { font-size: 12px; table-layout: auto; }
    #cms #content table th, #cms #content table td { padding: 6px 4px; overflow-wrap: anywhere; hyphens: auto; }
    #cms #content table .cig-num { white-space: nowrap; }
}

/* ==================================================================
   NEWSLETTER ET PIED DE PAGE
   ================================================================== */
#footer { margin: 0; padding: 0; background: var(--j-marine); }
.jnr-lettre { float: none; clear: both; width: 100%; padding: 44px 0; border-top: 1px solid var(--j-trait); background: #fff; text-align: left; }
.jnr-pied { clear: both; }
#footer .jnr-lettre .block_newsletter, .jnr-lettre .block_newsletter { display: block; float: none; width: 100%; max-width: 640px; margin: 0; padding: 0; text-align: left; }
#footer .jnr-lettre .newsletter-title h2, #footer .jnr-lettre .newsletter-title h2 span, #footer .jnr-lettre .block_newsletter p { text-align: left; }
#footer .footer-top.jnr-lettre .block_newsletter .newsletter-title h2 span::before, #footer .footer-top.jnr-lettre .block_newsletter .newsletter-title h2 span::after, #footer .footer-top.jnr-lettre .block_newsletter .newsletter-title h2::before, #footer .footer-top.jnr-lettre .block_newsletter .newsletter-title h2::after { content: none; display: none; }
.jnr-lettre .block_newsletter > * { max-width: none; }
.jnr-lettre .block_newsletter .newsletter-title h2, .jnr-lettre .block_newsletter .newsletter-title h2 span { margin: 0 0 4px; color: var(--j-texte); font-size: 24px; font-weight: 800; letter-spacing: -.02em; text-transform: none; }
.jnr-lettre .block_newsletter p { margin: 0 0 14px; color: var(--j-texte-2); font-size: 14.5px; }
.jnr-lettre .block_newsletter form .row { margin: 0; }
.jnr-lettre .block_newsletter .subscribe-block { display: flex; max-width: 560px; padding: 0; }
.jnr-lettre .block_newsletter .input-wrapper { flex: 1 1 auto; min-width: 0; }
.jnr-lettre .block_newsletter input[type="email"] { width: 100%; height: 50px; padding: 0 16px; border: 1.5px solid var(--j-trait); border-radius: var(--j-rayon-s) 0 0 var(--j-rayon-s); background: var(--j-nuage); }
.jnr-lettre .block_newsletter .btn { float: none; height: 50px; margin: 0; padding: 0 22px; border-radius: 0 var(--j-rayon-s) var(--j-rayon-s) 0; }
.jnr-lettre .block_newsletter .condition { padding: 0; }
.jnr-lettre .block_newsletter .condition p { margin: 8px 0 0; color: var(--j-texte-3); font-size: 12.5px; }
.jnr-lettre .block_newsletter .alert { margin-top: 10px; }
#footer .footer-top.jnr-lettre .block_newsletter .footer-block-toggle-content p { max-width: none; margin: 0 0 14px; padding: 0; color: var(--j-texte-2); font-size: 14.5px; font-weight: 500; text-align: left; }
#footer .footer-top.jnr-lettre .block_newsletter .footer-block-toggle-content form .subscribe-block { display: flex; max-width: 560px; margin: 0; }
#footer .footer-top.jnr-lettre .block_newsletter .footer-block-toggle-content form .condition p { margin: 8px 0 0; color: var(--j-texte-3); font-size: 12.5px; }
#footer .footer-top.jnr-lettre .block_newsletter .btn { text-transform: none; font-weight: 800; }

.jnr-pied { padding: 60px 0 0; background: var(--j-marine); color: var(--j-sur-marine-2); font-size: 14.5px; }
.jnr-pied-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; }
.jnr-pied-logo { display: block; width: auto; height: 46px; margin-bottom: 16px; }
.jnr-pied p { max-width: 360px; margin: 0; color: var(--j-sur-marine-2); font-size: 14.5px; line-height: 1.6; }
.jnr-pied-age { display: flex; align-items: center; max-width: 380px; margin-top: 18px; font-size: 13px; font-weight: 500; line-height: 1.5; }
.jnr-pied-age b { display: flex; flex: none; align-items: center; justify-content: center; width: 46px; height: 46px; margin-right: 14px; border: 2px solid #fff; border-radius: 50%; color: #fff; font-weight: 800; }
.jnr-pied-titre { margin: 0 0 14px; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jnr-pied ul { margin: 0; padding: 0; list-style: none; }
.jnr-pied li { margin: 0 0 10px; }
.jnr-pied a { color: var(--j-sur-marine-2); font-weight: 500; text-decoration: none; }
.jnr-pied a:hover, .jnr-pied a:focus { color: #fff; text-decoration: underline; }
.jnr-pied .jnr-pied-tel { display: inline-flex; align-items: center; margin-top: 6px; color: #fff; font-size: 17px; font-weight: 800; }
.jnr-pied .jnr-pied-tel svg { width: 16px; height: 16px; margin-right: 8px; fill: currentColor; }
.jnr-pied-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-top: 40px; padding-top: 20px; padding-bottom: 24px; border-top: 1px solid #20386E; font-size: 13px; }
.jnr-pied-bas > * { margin: 4px 0; }
.jnr-pied-bas .gag-lien { padding: 0; opacity: 1; }
.jnr-pied-bas .gag-lien a { color: var(--j-sur-marine-2); }
.jnr-pied-paie { display: flex; flex-wrap: wrap; }
.jnr-pied-paie span { margin-left: 8px; padding: 4px 10px; border: 1px solid #2C4A8A; border-radius: 6px; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

/* bouton « haut de page » du module ht_scrolltop */
a.scrollTop, a.scrollTop:visited, a.scrollTop:focus, a.scrollTop:active {
    right: 20px;
    bottom: 24px;
    width: 44px;
    min-height: 44px;
    border: 1px solid var(--j-trait);
    border-radius: var(--j-rayon-s);
    background: #fff;
    color: var(--j-marine);
    font-size: 0;
    line-height: 44px;
    box-shadow: var(--j-ombre);
}
a.scrollTop::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-top: 6px; border-top: 2.5px solid var(--j-marine); border-left: 2.5px solid var(--j-marine); transform: rotate(45deg); }
a.scrollTop:hover { border-color: var(--j-bleu); background: var(--j-bleu); }
a.scrollTop:hover::before { border-color: #fff; }

/* ==================================================================
   ADAPTATIF
   ================================================================== */
@media (max-width: 1199px) {
    .jnr-barre-off .jnr-barre-maj { display: none; }
    .jnr-hero h1 { font-size: 60px; }
    .jnr-hc1 { width: 250px; height: 250px; }
    .jnr-hc2 { width: 290px; height: 290px; }
    .jnr-hc3 { width: 210px; height: 210px; }
    .jnr-scene { height: 470px; }
    .jnr-acc-gammes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .jnr-acc-produits .jnr-grille-produits, .layout-full-width #js-product-list .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jnr-saveurs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .jnr-menu-panneau.jnr-menu-large { width: 560px; }
    .jnr-menu-panneau.jnr-menu-large ul { columns: 3; }
}

@media (max-width: 991px) {
    .jnr-barre-faits span:nth-child(3) { display: none; }
    .jnr-entete-in { column-gap: 20px; }
    .jnr-bt-tx-compte { display: none; }
    .jnr-bt-compte svg + span { margin-left: 0; }
    .jnr-hero-in { grid-template-columns: minmax(0, 1fr); padding-top: 44px; padding-bottom: 36px; min-height: 0; }
    .jnr-scene { height: 360px; margin-top: 30px; }
    .jnr-hc1 { left: 6%; }
    .jnr-hc1 .jnr-hc-lab { left: -14px; }
    .jnr-duo { grid-template-columns: minmax(0, 1fr); }
    .jnr-contact-in { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
    .jnr-pied-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
    .jnr-pied-marque { grid-column: 1 / -1; }
    #js-product-list .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jnr-rayon-gammes-liste { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    #my-account .links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    :root { --j-barre-h: 34px; }
    body { font-size: 14.5px; }
    .container { padding-left: 16px; padding-right: 16px; }
    .jnr-barre { font-size: 12px; }
    .jnr-barre-off, .jnr-barre-faits span:nth-child(2) { display: none; }
    .jnr-barre-faits span { margin: 0 12px 0 0; }
    .jnr-barre-in { justify-content: space-between; }

    .jnr-entete-in { grid-template-columns: auto minmax(0, 1fr); row-gap: 10px; min-height: 0; padding-top: 10px; padding-bottom: 12px; }
    .jnr-logo img { height: 40px; }
    .jnr-actions { justify-self: end; }
    .jnr-recherche { grid-column: 1 / -1; grid-row: 2; max-width: none; }
    .jnr-recherche #search_widget input[type="text"] { height: 44px; font-size: 16px; }
    .jnr-recherche #search_widget button[type="submit"] { height: 44px; }
    .jnr-bt { height: 42px; padding: 0 12px; }
    .jnr-bt-tx-panier { display: none; }
    .jnr-bt-panier svg + .jnr-bt-n { margin-left: 7px; }

    /* les pastilles défilent à l'horizontale ; les sous-rayons se trouvent sur la page du rayon */
    .jnr-nav .container { padding-left: 0; padding-right: 0; }
    .jnr-menu { min-height: 50px; padding: 0 16px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .jnr-menu::-webkit-scrollbar { display: none; }
    .jnr-menu-item > a { height: 36px; padding: 0 13px; font-size: 14px; }
    .jnr-menu-item.has-child > a::after { display: none; }
    .jnr-menu-panneau, .jnr-menu-item:hover > .jnr-menu-panneau, .jnr-menu-item:focus-within > .jnr-menu-panneau { display: none; }
    #lnk-cartes-cadeaux { margin-left: 0; padding-right: 16px; }

    .jnr-entete-tunnel .jnr-entete-in { grid-template-columns: auto 1fr; padding-bottom: 10px; }
    .jnr-tunnel-surete { font-size: 12.5px; }

    .jnr-sec { padding-top: 48px; }
    .jnr-sec-tete { display: block; margin-bottom: 20px; }
    .jnr-sec-tete h2 { font-size: 28px; }
    .jnr-sec-lien { display: inline-block; margin: 10px 0 0; }

    .jnr-hero-in { padding-top: 34px; padding-bottom: 30px; }
    .jnr-hero h1 { margin: 14px 0; font-size: 42px; }
    .jnr-hero-intro { margin-bottom: 24px; font-size: 16.5px; }
    .jnr-hero-cta .jnr-btn { flex: 1 1 auto; min-height: 52px; padding: 0 18px; font-size: 15px; }
    .jnr-hero-faits { margin-top: 26px; font-size: 13px; }
    .jnr-hero-faits li { margin-right: 20px; }
    .jnr-scene { height: 250px; margin-top: 26px; }
    .jnr-hc1 { top: 0; left: 0; width: 46%; height: auto; aspect-ratio: 1 / 1; }
    .jnr-hc2 { top: 34px; right: 0; width: 50%; height: auto; aspect-ratio: 1 / 1; }
    .jnr-hc3 { display: none; }
    .jnr-hc-img { border-radius: 16px; }
    .jnr-hc-lab { padding: 8px 11px; font-size: 12.5px; }
    .jnr-hc1 .jnr-hc-lab { top: auto; bottom: -14px; left: 8px; }
    .jnr-hc2 .jnr-hc-lab { bottom: -14px; left: auto; right: 8px; }

    .jnr-acc-gammes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .jnr-acc-gamme-tx { padding: 9px 6px 11px; }
    .jnr-acc-gamme b { font-size: 13.5px; }
    .jnr-acc-gamme small { font-size: 11.5px; }

    .jnr-acc-produits .jnr-grille-produits, #js-product-list .products, .layout-full-width #js-product-list .products, .featured-products .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .product-miniature .product-description { padding: 12px 12px 14px; }
    .product-miniature .jnr-carte-gamme { font-size: 10.5px; }
    .product-miniature .product-title a { font-size: 13.5px; }
    .product-miniature .jnr-carte-bas { flex-wrap: wrap; }
    .product-miniature .price { font-size: 18px; }
    .product-miniature .add, .product-miniature .jnr-prevenir { width: 100%; margin: 10px 0 0; }
    .product-miniature .add .btn, .product-miniature .jnr-prevenir { justify-content: center; width: 100%; height: 40px; }
    .product-miniature .product-flags { top: 8px; left: 8px; }

    .jnr-bx { min-height: 0; padding: 28px 22px; border-radius: 20px; }
    .jnr-bx h2 { font-size: 26px; }
    .jnr-bx-ciel { grid-template-columns: minmax(0, 1fr); }
    .jnr-dose { display: flex; flex-wrap: wrap; grid-row: 1; margin: 0 0 18px; }
    .jnr-dose li { margin: 0 8px 8px 0; padding: 9px 12px; font-size: 21px; }
    .jnr-dose small { font-size: 11px; }
    .jnr-bx-marine { padding-bottom: 150px; }
    .jnr-carte { right: 22px; bottom: 26px; width: 190px; height: 112px; }
    .jnr-carte b { font-size: 24px; }

    .jnr-contact { margin-top: 48px; }
    .jnr-contact-in { padding-top: 40px; padding-bottom: 40px; }
    .jnr-contact h2 { font-size: 30px; }
    .jnr-tele b { font-size: 20px; }
    .jnr-contact-form { padding: 20px; border-radius: 18px; }
    #contact #content.page-content.card { padding: 20px; }

    .jnr-pied { padding-top: 44px; }
    .jnr-pied-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
    .jnr-pied-bas { display: block; }
    .jnr-pied-paie span { margin: 6px 6px 0 0; }

    #js-product-list-header, .page-header h1, #cart h1.h1 { font-size: 26px; }
    .jnr-rayon-gammes-liste { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .jnr-gamme .jnr-gamme-vis { height: 70px; }
    #subcategories ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #product h1.h1 { font-size: 25px; }
    #product .product-prices .current-price span, #product .current-price .price, #product .product-price { font-size: 28px; }
    .jnr-saveurs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #product .data-sheet { grid-template-columns: minmax(0, 45%) minmax(0, 55%); }
    .jnr-etapes { padding: 12px; font-size: 12.5px; }
    .cad-banniere { padding: 22px; border-radius: 20px; }
    .cad-page .cad-banniere h2 { font-size: 26px; }
    .nicoboost-options { grid-template-columns: minmax(0, 1fr); }
    #cart .product-line-grid .product-line-grid-left { flex-basis: 84px; max-width: 84px; }
    #cart .product-line-grid-left .product-image img { width: 76px; height: 76px; }
    #cart .product-line-grid .product-line-grid-right { flex: 1 1 100%; margin-top: 10px; padding-left: 96px; }
    #cart .product-line-grid-right > .row { display: flex; align-items: center; margin: 0; }
    #cart .product-line-grid-right > .row > .hidden-md-up { display: none; }
    #cart .product-line-grid-right > .row > [class*="col-"], #cart .product-line-grid-right > .row > [class*="col-"] > .row > [class*="col-"] { float: none; width: auto; padding: 0; }
    #cart .product-line-grid-right > .row > .col-md-10 { flex: 1 1 auto; }
    #cart .product-line-grid-right > .row > .col-md-10 > .row { display: flex; align-items: center; margin: 0; }
    #cart .product-line-grid-right .price { margin-left: 14px; }
    #cart .product-line-info .label, #cart .product-line-info a.label { font-size: 14px; }
    .jnr-sep { margin: 0 6px; }
    .jnr-suite-liste { grid-template-columns: minmax(0, 1fr); }
    #my-account .links { grid-template-columns: minmax(0, 1fr); }
    .page-customer-account #content, #authentication #content, #registration #content { padding: 18px; }
    .jnr-lettre { padding: 32px 0; }
}

@media (max-width: 380px) {
    .jnr-etape { font-size: 0; }
    .jnr-etape i { margin-right: 0; font-size: 12px; }
    .jnr-etape.active { font-size: 12.5px; }
    .jnr-etape.active i { margin-right: 6px; }
}

/* mouvement réduit : ni translation au survol ni défilement animé */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms; animation-duration: .01ms; animation-iteration-count: 1; }
    .jnr-acc-gamme:hover, .product-miniature .thumbnail-container:hover { transform: none; }
}

/* ---------- Texte SEO de l'accueil (module jnrfiche, hook displayJnrAccueilTexte) ---------- */
.jnr-accueil-texte-in { box-sizing: border-box; max-width: 80ch; padding: 26px 28px; border-radius: var(--j-rayon); background: var(--j-nuage); color: var(--j-texte-2); font-size: 14.5px; line-height: 1.65; overflow-wrap: break-word; }
.jnr-accueil-texte-in h2 { margin: 0 0 8px; color: var(--j-texte); font-size: 20px; font-weight: 800; line-height: 1.25; text-transform: none; }
.jnr-accueil-texte-in h3 { margin: 18px 0 6px; color: var(--j-texte); font-size: 16px; font-weight: 800; line-height: 1.3; text-transform: none; }
.jnr-accueil-texte-in p { margin: 0 0 10px; }
.jnr-accueil-texte-in ul { margin: 0 0 10px; padding-left: 20px; list-style: disc; }
.jnr-accueil-texte-in li { margin-bottom: 4px; }
.jnr-accueil-texte-in a { color: var(--j-bleu); font-weight: 600; text-decoration: underline; }
.jnr-accueil-texte-in a:hover, .jnr-accueil-texte-in a:focus { color: var(--j-bleu-fonce); }
@media (max-width: 767px) {
    .jnr-accueil-texte-in { padding: 20px 18px; }
}
