/* =========================================================
   RecycleTek — couche de refonte (v1)
   Appliquée PAR-DESSUS le thème gdz_base, sans le modifier.
   Retrait : supprimer le lien dans _partials/head.tpl.
   ========================================================= */

:root {
  --rt-navy: #0f2b35;
  --rt-navy-2: #143845;
  --rt-navy-line: #23505f;
  --rt-green: #15803d;
  --rt-green-bright: #22c55e;
  --rt-green-soft: #eaf6ef;
  --rt-ground: #f7f6f2;
  --rt-card: #ffffff;
  --rt-line: #e6e3da;
  --rt-ink: #10212a;
  --rt-muted: #55645f;
  --rt-radius: 16px;
  --rt-radius-sm: 12px;
  --rt-shadow: 0 10px 30px rgba(15, 43, 53, .07);
  --rt-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rt-display: 'Bricolage Grotesque', 'Plus Jakarta Sans', sans-serif;
}

/* ---------- base ---------- */
body {
  font-family: var(--rt-font);
  background: var(--rt-ground);
  color: var(--rt-ink);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, .rtek-product-name, .product-title, .block-title {
  font-family: var(--rt-display);
  letter-spacing: -0.02em;
}
h1 { font-size: clamp(28px, 4vw, 46px); line-height: 1.1; }
h2 { font-size: clamp(24px, 3vw, 34px); line-height: 1.15; }
a { color: var(--rt-ink); }
a:hover, a:focus { color: var(--rt-green); }

/* ---------- boutons ---------- */
.btn-primary,
.rtek-voir-btn,
.add-to-cart,
button.add-to-cart,
.btn.btn-primary.add-to-cart {
  background: var(--rt-green-bright);
  border-color: var(--rt-green-bright);
  color: #052e16;
  font-weight: 700;
  border-radius: var(--rt-radius-sm);
  min-height: 46px;
  box-shadow: none;
}
.btn-primary:hover, .rtek-voir-btn:hover,
.add-to-cart:hover, button.add-to-cart:hover {
  background: #16a34a;
  border-color: #16a34a;
  color: #ffffff;
}
.btn-secondary, .btn-outline-primary {
  border-radius: var(--rt-radius-sm);
  min-height: 46px;
  font-weight: 700;
}

/* ---------- cartes produit ---------- */
.product-miniature,
.productbox-1 {
  background: var(--rt-card);
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-radius);
  overflow: hidden;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.product-miniature:hover {
  border-color: var(--rt-green);
  transform: translateY(-2px);
  box-shadow: var(--rt-shadow);
}
.rtek-card-body { padding: 16px; }
.rtek-product-name { font-size: 16px; font-weight: 700; line-height: 1.3; }
.rtek-spec-pill {
  background: var(--rt-ground);
  border: 1px solid var(--rt-line);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--rt-muted);
}
.rtek-from-label { font-size: 11.5px; letter-spacing: .04em; color: var(--rt-muted); }
.rtek-price-block .price,
.product-price-and-shipping .price {
  font-family: var(--rt-display);
  font-size: 24px;
  font-weight: 700;
  color: var(--rt-ink);
}
.instock { color: var(--rt-green); font-weight: 600; }

/* ---------- réassurance et blocs ---------- */
.block, .addon-box {
  border-radius: var(--rt-radius);
  border-color: var(--rt-line);
}

/* ---------- en-tête ---------- */
#header .menu-item > a { font-weight: 600; }
.yellowmenu, #header .nav-top { background: var(--rt-navy); }

/* ---------- pied de page ---------- */
#footer, .footer-container { background: var(--rt-navy); color: #9fb8bf; }
#footer a, .footer-container a { color: #9fb8bf; }
#footer a:hover, .footer-container a:hover { color: #ffffff; }

/* ---------- accessibilité : cibles tactiles ---------- */
.btn, button, .menu-item > a, .pagination a { min-height: 44px; }
:focus-visible { outline: 3px solid var(--rt-green-bright); outline-offset: 2px; }

/* =========================================================
   MOBILE — l'essentiel de l'audience
   ========================================================= */
@media (max-width: 767px) {
  /* le bandeau de service prend 3 lignes et repousse tout : masqué */
  .header-banner, .top-bar-info, #header .header-top-message { display: none; }

  h1 { font-size: 28px; }
  h2 { font-size: 23px; }

  .product-miniature { border-radius: 14px; }
  .rtek-card-body { padding: 12px; }
  .rtek-product-name { font-size: 14px; }
  .rtek-price-block .price { font-size: 20px; }

  /* deux colonnes de produits, lisibles au pouce */
  #products .product, .products .product, .product-list .product {
    padding-left: 6px;
    padding-right: 6px;
  }

  /* boutons pleine largeur */
  .add-to-cart, .btn-primary { width: 100%; }
}

/* === v2 : priorités face au thème === */
/* Fond crème : :not(#id) apporte une spécificité d'identifiant, sur toutes les pages */
html body:not(#rt-x) { background: var(--rt-ground); }
/* Conteneur fluide jusqu'à 1320 px (le thème le fixe à 1200 px !important) */
#wrapper .container { width: 100% !important; max-width: 1320px; }

/* === v3 : slider d'accueil, espacement, bouton Revendre === */
/* Slider : arrondi et respiration avant le titre de la page */
#rt-homebanner-slider { border-radius: 20px; overflow: hidden; margin-bottom: 48px !important; }
/* Titres "." saisis dans le module : masqués (le texte est dans les images) */
#rt-homebanner-slider .rthb-title,
#rt-homebanner-slider .rthb-subtitle { display: none; }
/* Pastilles de navigation : on neutralise le style bouton du thème */
#rt-homebanner-slider .rthb-dots {
  position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%);
  display: flex; gap: 8px; align-items: center; z-index: 3;
}
#rt-homebanner-slider .rthb-dot {
  width: 8px !important; height: 8px !important; min-width: 0 !important; min-height: 0 !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important;
  border-radius: 999px !important; background: rgba(15, 43, 53, .28) !important;
  transition: width .25s, background .25s; cursor: pointer;
}
#rt-homebanner-slider .rthb-dot.active { width: 24px !important; background: var(--rt-green-bright) !important; }
/* Flèches : ronds blancs discrets */
#rt-homebanner-slider .rthb-arrow {
  width: 40px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 999px !important; background: rgba(255, 255, 255, .9) !important;
  color: var(--rt-navy) !important; box-shadow: 0 2px 10px rgba(15, 43, 53, .15) !important;
  display: flex !important; align-items: center; justify-content: center;
}
#rt-homebanner-slider .rthb-arrow svg { width: 18px; height: 18px; }

/* === v4 : en-tête blanc (maquette validée) === */
html body #header-top {
  background: #ffffff !important;
  border-bottom: 1px solid #e6e3da;
}
/* Logo typographique : Recycle (bleu nuit) + Tek (vert) */
#header-top img.logo { display: none !important; }
#header-top a:has(> img.logo) {
  display: inline-flex; align-items: baseline; text-decoration: none;
  font-family: 'Bricolage Grotesque', sans-serif; font-size: 30px; font-weight: 800;
  letter-spacing: -.02em; line-height: 1; color: var(--rt-navy);
}
#header-top a:has(> img.logo)::before { content: "Recycle"; }
#header-top a:has(> img.logo)::after  { content: "Tek"; color: #15803d; }

/* Liens (FAQs, Suivre ma commande, Connexion) : bleu nuit */
#header-top a.header-icon,
#header-top a.header-icon .header-icon-text { color: var(--rt-navy) !important; font-weight: 600 !important; }
#header-top a.header-icon:hover .header-icon-text { color: #15803d !important; }
#header-top a.header-icon svg { color: var(--rt-navy) !important; }

/* Recherche : champ crème, bordure sable */
#header-top #search_query_top {
  background: #faf9f5 !important; border: 1px solid #d9d5c9 !important;
  border-radius: 10px !important; height: 44px !important; color: var(--rt-navy) !important;
  box-shadow: none !important;
}
#header-top #search_query_top:focus { border-color: var(--rt-navy) !important; outline: none; }
#header-top .button-search {
  background: var(--rt-navy) !important; color: #fff !important; border: 0 !important;
  border-radius: 10px !important; height: 44px !important;
}

/* Revendre : bouton à contour bleu nuit */
#header-top a.header-icon[href$="buyback"] {
  display: inline-flex !important; align-items: center; height: 44px; padding: 0 18px !important;
  border: 1px solid var(--rt-navy) !important; border-radius: 10px !important;
  background: transparent !important;
}
#header-top a.header-icon[href$="buyback"] .header-icon-text { margin: 0 !important; font-size: 14px !important; }
#header-top a.header-icon[href$="buyback"]:hover { background: #eef1ee !important; }

/* Panier : bouton plein bleu nuit */
#header-top a.cart-icon {
  display: inline-flex !important; align-items: center; gap: 8px; height: 44px; padding: 0 18px !important;
  background: var(--rt-navy) !important; border-radius: 10px !important;
}
#header-top a.cart-icon,
#header-top a.cart-icon .header-icon-text { color: #ffffff !important; }
#header-top a.cart-icon:hover { background: #143845 !important; }

/* === v4.1 : retouches en-tête et slider === */
/* Revendre : on neutralise la pastille propre au <p class="text-rev"> */
#header-top a.header-icon[href$="buyback"] .header-icon-text.text-rev {
  background: none !important; border: 0 !important; padding: 0 !important;
  box-shadow: none !important; border-radius: 0 !important;
}
/* Loupe blanche sur le bouton bleu nuit (police d'icône, SVG ou image) */
#header-top .button-search,
#header-top .button-search * { color: #ffffff !important; }
#header-top .button-search svg { fill: currentColor; stroke: currentColor; }
#header-top .button-search img { filter: brightness(0) invert(1); }
/* Bouton de slide : coin bas gauche, hors du texte de l'image */
#rt-homebanner-slider .rthb-content {
  position: absolute !important; top: auto !important; right: auto !important;
  bottom: 20px !important; left: 24px !important; transform: none !important;
  width: auto !important; padding: 0 !important; background: none !important; text-align: left !important;
}
#rt-homebanner-slider .rthb-btn {
  display: inline-flex !important; align-items: center; height: 40px; padding: 0 18px !important;
  background: var(--rt-navy) !important; color: #fff !important; border-radius: 10px !important;
  font-size: 14px !important; font-weight: 700 !important;
}

/* === v4.2 : espace sous le slider (le module impose margin 0 !important) === */
html body #wrapper > #rt-homebanner-slider { margin-bottom: 48px !important; }

/* === v5 : en-tête mobile (maquette mobile validée) === */
html body #header-mobile-top {
  background: #ffffff !important; border-bottom: 1px solid #e6e3da;
}
/* Burger et compte : carrés 44 px à bordure sable, icônes bleu nuit */
#header-mobile-top #mobile-menu-toggle,
#header-mobile-top a.account.header-icon {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 1px solid #e6e3da !important; border-radius: 10px !important;
  background: #ffffff !important; color: var(--rt-navy) !important;
}
#header-mobile-top #mobile-menu-toggle i,
#header-mobile-top a.account.header-icon svg { color: var(--rt-navy) !important; }
/* Panier : carré plein bleu nuit (le picto blanc reste lisible) */
#header-mobile-top a.cart-icon {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 44px; height: 44px; background: var(--rt-navy) !important; border-radius: 10px !important;
}
/* Logo typographique */
#header-mobile-top img.logo { display: none !important; }
#header-mobile-top a:has(> img.logo) {
  display: inline-flex; align-items: baseline; text-decoration: none;
  font-family: 'Bricolage Grotesque', sans-serif; font-size: 21px; font-weight: 800;
  letter-spacing: -.02em; line-height: 1; color: var(--rt-navy);
}
#header-mobile-top a:has(> img.logo)::before { content: "Recycle"; }
#header-mobile-top a:has(> img.logo)::after  { content: "Tek"; color: #15803d; }
/* Recherche : champ crème, bouton bleu nuit */
#header-mobile-top #search_query_top {
  background: #faf9f5 !important; border: 1px solid #d9d5c9 !important; border-radius: 12px !important;
  height: 46px !important; font-size: 15px !important; color: var(--rt-navy) !important; box-shadow: none !important;
}
#header-mobile-top .button-search { background: var(--rt-navy) !important; border: 0 !important; }
#header-mobile-top .button-search, #header-mobile-top .button-search * { color: #ffffff !important; }

@media (max-width: 767px) {
  /* Titre de l'accueil : retour à la ligne, taille mobile */
  html body h1.pb-heading {
    font-size: 26px !important; line-height: 1.15 !important;
    white-space: normal !important; overflow-wrap: break-word; padding: 0 16px; text-align: center;
  }
  /* Slider : hauteur dictée par l'image, plus de bandes vides */
  html body #wrapper > #rt-homebanner-slider { height: auto !important; margin-bottom: 28px !important; border-radius: 14px; }
  #rt-homebanner-slider .rthb-inner { height: auto !important; }
  #rt-homebanner-slider .rthb-slide.active { position: relative !important; height: auto !important; }
  #rt-homebanner-slider .rthb-slide.active img.rthb-bg {
    position: static !important; display: block; width: 100% !important; height: auto !important; object-fit: contain !important;
  }
  /* Flèches masquées : pastilles et glissement suffisent */
  #rt-homebanner-slider .rthb-arrow { display: none !important; }
  #rt-homebanner-slider .rthb-btn { height: 34px; padding: 0 14px !important; font-size: 13px !important; }
  #rt-homebanner-slider .rthb-content { bottom: 12px !important; left: 12px !important; }
}

/* === v5.1 : recherche mobile et titre (spécificité d'identifiant) === */
html body:not(#rt-x) #header-mobile-top .button-search {
  background: var(--rt-navy) !important; background-image: none !important; border: 0 !important;
}
@media (max-width: 767px) {
  html body:not(#rt-x) #wrapper h1.pb-heading {
    font-size: 26px !important; line-height: 1.15 !important; white-space: normal !important;
    overflow-wrap: break-word; max-width: 100%; padding: 0 16px !important; text-align: center;
  }
}

/* === v5.2 : icône compte et carré du burger (mobile) === */
html body:not(#rt-x) #header-mobile-top a.account.header-icon svg {
  stroke: currentColor !important; color: var(--rt-navy) !important; margin: 0 !important;
}
html body:not(#rt-x) #header-mobile-top #mobile-menu-toggle {
  border: 1px solid #e6e3da !important; display: inline-flex !important;
  align-items: center; justify-content: center;
}

/* === Accueil — lot 1 : hero + réassurance === */
html body#index { overflow-x: clip; }
.rtk-bleed { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); box-sizing: border-box; }
.rtk-wrap { max-width: 1320px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.rtk-hero { background: var(--rt-navy); padding: 72px 0 80px; }
.rtk-hero > .rtk-wrap { display: flex; gap: 56px; align-items: center; }
.rtk-hero__main { flex: 0 1 640px; display: flex; flex-direction: column; gap: 22px; }
.rtk-hero__badge { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; background: #17404d; color: #bbf7d0; font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: 999px; }
html body .rtk-hero .rtk-hero__title { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 62px !important; line-height: 1.04 !important; font-weight: 800 !important; letter-spacing: -.02em; color: #ffffff !important; margin: 0 !important; text-align: left !important; }
.rtk-hero__lead { font-size: 19px; line-height: 1.6; color: #cfe0e5; margin: 0; }
.rtk-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.rtk-btn { display: inline-flex; align-items: center; justify-content: center; height: 56px; padding: 0 28px; border-radius: 12px; font-weight: 700; font-size: 16px; text-decoration: none !important; transition: filter .2s, background .2s; }
.rtk-btn--green { background: var(--rt-green-bright); color: #052e16 !important; }
.rtk-btn--green:hover { filter: brightness(1.06); }
.rtk-btn--ghost { border: 1px solid #3c6270; color: #ffffff !important; }
.rtk-btn--ghost:hover { background: #17404d; }
.rtk-hero__pts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 14px; font-size: 14px; color: #9fb8bf; }
.rtk-hero__aside { flex: 1 1 0; display: flex; justify-content: center; }
.rtk-card { width: 100%; max-width: 480px; box-sizing: border-box; background: #143845; border: 1px solid #23505f; border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.rtk-card__top { display: flex; gap: 20px; align-items: center; }
.rtk-card__phone { flex: 0 0 116px; height: 220px; box-sizing: border-box; border-radius: 20px; background: #0b2029; border: 5px solid #2d5a68; display: flex; justify-content: center; padding-top: 10px; }
.rtk-card__phone::before { content: ""; width: 44px; height: 7px; border-radius: 4px; background: #2d5a68; }
.rtk-card__info { display: flex; flex-direction: column; gap: 10px; }
.rtk-card__kicker { font-size: 13px; color: #9fb8bf; }
.rtk-card__name { font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; font-weight: 800; color: #ffffff !important; text-decoration: none !important; }
.rtk-card__tag { align-self: flex-start; background: #eaf6ef; color: #15803d; font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 6px; }
.rtk-card__prices { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.rtk-card__price { font-family: 'Bricolage Grotesque', sans-serif; font-size: 38px; font-weight: 800; color: #4ade80; }
.rtk-card__old { font-size: 14px; color: #9fb8bf; text-decoration: line-through; }
.rtk-card__foot { border-top: 1px solid #23505f; padding-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.rtk-card__foot-txt { display: flex; flex-direction: column; gap: 2px; }
.rtk-card__foot-txt span { font-size: 13px; color: #9fb8bf; }
.rtk-card__foot-txt strong { font-size: 20px; color: #ffffff; }
.rtk-card__cta { display: inline-flex; align-items: center; height: 46px; padding: 0 20px; background: #ffffff; color: var(--rt-navy) !important; border-radius: 10px; font-weight: 700; font-size: 14px; white-space: nowrap; text-decoration: none !important; }
.rtk-reass { background: #ffffff; border-bottom: 1px solid #e6e3da; padding: 26px 0; margin-bottom: 48px; }
.rtk-reass__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.rtk-reass__item { display: flex; gap: 14px; align-items: flex-start; }
.rtk-reass__item svg { flex: 0 0 26px; }
.rtk-reass__item div { display: flex; flex-direction: column; gap: 3px; }
.rtk-reass__item strong { font-size: 15px; color: var(--rt-navy); }
.rtk-reass__item span { font-size: 13px; color: #55645f; }

@media (max-width: 991px) {
  .rtk-hero > .rtk-wrap { flex-direction: column; align-items: stretch; gap: 36px; }
  .rtk-hero__main { flex: none; }
  .rtk-reass__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .rtk-wrap { padding: 0 16px; }
  .rtk-hero { padding: 40px 0 44px; }
  html body .rtk-hero .rtk-hero__title { font-size: 34px !important; line-height: 1.1 !important; }
  .rtk-hero__lead { font-size: 16px; }
  .rtk-btn { height: 50px; padding: 0 20px; font-size: 15px; flex: 1 1 auto; }
  .rtk-hero__pts { font-size: 13px; gap: 6px 18px; }
  .rtk-card { padding: 20px; border-radius: 18px; }
  .rtk-card__phone { flex-basis: 84px; height: 160px; border-radius: 16px; }
  .rtk-card__name { font-size: 21px; }
  .rtk-card__price { font-size: 30px; }
  .rtk-card__foot-txt strong { font-size: 17px; }
  .rtk-reass { padding: 20px 0; margin-bottom: 32px; }
  .rtk-reass__grid { gap: 18px 14px; }
  .rtk-reass__item { gap: 10px; }
  .rtk-reass__item strong { font-size: 14px; }
  .rtk-reass__item span { font-size: 12px; }
}

/* === v5.3 : en-têtes blancs aussi en état collant (défilement) === */
html body:not(#rt-x) #header-mobile-top,
html body:not(#rt-x) #header-mobile-top[class*="sticky"],
html body:not(#rt-x) #header-top,
html body:not(#rt-x) #header-top[class*="sticky"] {
  background: #ffffff !important; background-color: #ffffff !important;
  border-bottom: 1px solid #e6e3da !important; box-shadow: 0 2px 12px rgba(15, 43, 53, .06);
}
/* Étiquette de la carte hero : une seule ligne sur mobile */
@media (max-width: 767px) {
  .rtk-card__tag { font-size: 11px; white-space: nowrap; }
}

/* === Accueil — lot 2 : bloc reprise === */
.rtk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rtk-sec { padding: 0 0 56px; }
.rtk-reprise { background: #eaf6ef; border: 1px solid #cfe9d8; border-radius: 24px; padding: 40px 44px; display: flex; gap: 48px; align-items: center; }
.rtk-reprise__txt { flex: 0 1 560px; display: flex; flex-direction: column; gap: 14px; }
.rtk-eyebrow { font-size: 13px; font-weight: 700; color: #15803d; letter-spacing: .08em; text-transform: uppercase; }
html body .rtk-sec .rtk-h2 { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 38px !important; line-height: 1.12 !important; font-weight: 800 !important; letter-spacing: -.02em; color: var(--rt-navy) !important; margin: 0 !important; text-align: left !important; }
.rtk-reprise__txt p { font-size: 16px; line-height: 1.6; color: #3f4f4a; margin: 0; }
.rtk-reprise__act { flex: 1 1 0; display: flex; flex-direction: column; gap: 14px; }
.rtk-reprise__form { display: flex; gap: 12px; margin: 0; }
html body .rtk-reprise__form input {
  flex: 1 1 auto; min-width: 0; height: 58px !important; border: 1px solid #cfe9d8 !important; border-radius: 12px !important;
  padding: 0 18px !important; font-family: inherit; font-size: 16px !important; background: #ffffff !important; color: var(--rt-navy) !important; box-shadow: none !important;
}
html body .rtk-reprise__form input:focus { border-color: var(--rt-navy) !important; outline: none; }
html body .rtk-reprise__form button {
  height: 58px !important; padding: 0 26px !important; background: var(--rt-navy) !important; color: #ffffff !important;
  border: 0 !important; border-radius: 12px !important; font-weight: 700 !important; font-size: 15px !important; cursor: pointer;
}
html body .rtk-reprise__form button:hover { background: #143845 !important; }
.rtk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rtk-chip { background: #ffffff; border: 1px solid #cfe9d8; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600; color: var(--rt-navy) !important; text-decoration: none !important; }
.rtk-chip:hover { border-color: #15803d; }
.rtk-chip span { color: #15803d; }

@media (max-width: 991px) {
  .rtk-reprise { flex-direction: column; align-items: stretch; gap: 24px; }
  .rtk-reprise__txt { flex: none; }
}
@media (max-width: 767px) {
  .rtk-sec { padding-bottom: 36px; }
  .rtk-reprise { padding: 26px 20px; border-radius: 18px; }
  html body .rtk-sec .rtk-h2 { font-size: 26px !important; }
  .rtk-reprise__txt p { font-size: 15px; }
  html body .rtk-reprise__form input, html body .rtk-reprise__form button { height: 50px !important; }
  html body .rtk-reprise__form button { padding: 0 18px !important; }
}

/* === v5.4 : recherche mobile conforme à la maquette === */
html body:not(#rt-x) #header-mobile-top form:has(#search_query_top) {
  position: relative !important; display: block !important; width: auto !important;
  margin: 2px 16px 12px !important; padding: 0 !important; background: none !important; border: 0 !important;
}
html body:not(#rt-x) #header-mobile-top #search_query_top {
  width: 100% !important; height: 46px !important; box-sizing: border-box !important;
  background: #faf9f5 !important; border: 1px solid #d9d5c9 !important; border-radius: 12px !important;
  padding: 0 48px 0 14px !important; margin: 0 !important;
  font-size: 15px !important; color: var(--rt-navy) !important; box-shadow: none !important;
}
html body:not(#rt-x) #header-mobile-top #search_query_top::placeholder { color: #8a938e !important; opacity: 1; }
html body:not(#rt-x) #header-mobile-top #search_query_top:focus { border-color: var(--rt-navy) !important; outline: none; }
/* Loupe dans le champ, sans fond */
html body:not(#rt-x) #header-mobile-top .button-search {
  position: absolute !important; top: 50% !important; right: 6px !important; left: auto !important;
  transform: translateY(-50%) !important; width: 36px !important; height: 36px !important;
  min-width: 0 !important; padding: 0 !important; margin: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important;
  display: inline-flex !important; align-items: center; justify-content: center;
}
html body:not(#rt-x) #header-mobile-top .button-search,
html body:not(#rt-x) #header-mobile-top .button-search * { color: var(--rt-navy) !important; font-size: 16px !important; }

/* Formulaire de reprise empilé en mobile (comme la maquette) */
@media (max-width: 767px) {
  .rtk-reprise__form { flex-direction: column; }
  html body .rtk-reprise__form button { width: 100%; }
}

/* === Accueil — lot 3 : blocs éditoriaux === */
html body .rtk-h2 { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 40px !important; line-height: 1.12 !important; font-weight: 800 !important; letter-spacing: -.02em; color: var(--rt-navy) !important; margin: 0 !important; text-align: left !important; }
html body .rtk-h2--mb { margin-bottom: 26px !important; }
html body .rtk-grades .rtk-h2 { color: #ffffff !important; }
.rtk-p { font-size: 16px; line-height: 1.7; color: #3f4f4a; margin: 0; }
.rtk-ed { background: #ffffff; border-top: 1px solid #e6e3da; border-bottom: 1px solid #e6e3da; padding: 68px 0; }
.rtk-block { padding: 68px 0; }
.rtk-two { display: flex; gap: 64px; }
.rtk-two--center { align-items: center; gap: 56px; }
.rtk-two__main { flex: 0 1 580px; display: flex; flex-direction: column; gap: 18px; }
.rtk-tiles { flex: 1 1 0; display: flex; flex-direction: column; gap: 14px; }
.rtk-tile { background: var(--rt-ground); border-radius: 16px; padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.rtk-tile strong { font-size: 16px; color: var(--rt-navy); }
.rtk-tile span { font-size: 14.5px; line-height: 1.6; color: #55645f; }
.rtk-head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 34px; }
.rtk-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rtk-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.rtk-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rtk-step { background: #ffffff; border: 1px solid #e6e3da; border-radius: 18px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.rtk-step__n { width: 44px; height: 44px; border-radius: 12px; background: var(--rt-navy); color: #4ade80; font-family: 'Bricolage Grotesque', sans-serif; font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
html body .rtk-step h3, html body .rtk-faq h3 { font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: var(--rt-navy) !important; margin: 0 !important; line-height: 1.3 !important; text-transform: none !important; }
.rtk-step p, .rtk-faq p { font-size: 14.5px; line-height: 1.65; color: #55645f; margin: 0; }
.rtk-grades { background: var(--rt-navy); padding: 68px 0; }
.rtk-grades .rtk-p { color: #cfe0e5; }
.rtk-grade { background: #143845; border: 1px solid #23505f; border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
html body .rtk-grade h3 { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 20px !important; font-weight: 800 !important; color: #ffffff !important; margin: 0 !important; text-transform: none !important; }
.rtk-grade p { font-size: 14.5px; line-height: 1.65; color: #cfe0e5; margin: 0; }
.rtk-grade span { margin-top: auto; padding-top: 6px; font-size: 13px; color: #4ade80; font-weight: 700; }
.rtk-batt { border: 1px solid #e6e3da; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; background: #ffffff; }
.rtk-batt--opt { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; }
.rtk-batt--opt > div { display: flex; flex-direction: column; gap: 4px; }
.rtk-batt--opt strong { font-size: 16px; color: var(--rt-navy); }
.rtk-batt__row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: var(--rt-navy); }
.rtk-batt__bar { height: 10px; border-radius: 999px; background: #eef1ee; }
.rtk-batt__bar div { width: 85%; height: 10px; border-radius: 999px; background: var(--rt-green-bright); }
.rtk-batt__note { font-size: 13.5px; line-height: 1.55; color: #55645f; }
.rtk-batt__price { font-family: 'Bricolage Grotesque', sans-serif; font-size: 24px !important; font-weight: 800; color: #15803d !important; white-space: nowrap; }
.rtk-faq { background: #ffffff; border: 1px solid #e6e3da; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
html body .rtk-faq h3 { font-size: 16.5px !important; }

@media (max-width: 991px) {
  .rtk-two { flex-direction: column; gap: 32px; }
  .rtk-two__main { flex: none; }
  .rtk-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rtk-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  html body .rtk-h2 { font-size: 26px !important; }
  .rtk-ed, .rtk-grades { padding: 44px 0; }
  .rtk-block { padding: 44px 0; }
  .rtk-head { margin-bottom: 22px; }
  .rtk-p { font-size: 15px; }
  .rtk-grid3, .rtk-grid2 { grid-template-columns: 1fr; gap: 12px; }
  .rtk-grid4 { gap: 12px; }
  .rtk-step, .rtk-faq { padding: 20px; }
  .rtk-grade { padding: 18px; }
  html body .rtk-grade h3 { font-size: 17px !important; }
  .rtk-grade p { font-size: 13.5px; }
}

/* === Accueil — retouches lot 3 === */
.rtk-batt__row strong { white-space: nowrap; }
@media (max-width: 767px) { .rtk-block { padding-left: 8px; padding-right: 8px; } }

/* === Accueil — lot 4 : listes produits === */
.rtk-products { padding: 0 0 64px; }
.rtk-products__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 26px; }
.rtk-products__intro { display: flex; flex-direction: column; gap: 8px; }
html body .rtk-products .rtk-h2 { font-size: 34px !important; }
.rtk-products .rtk-p { font-size: 15px; color: #55645f; }
.rtk-more { font-weight: 700; font-size: 15px; color: #15803d !important; white-space: nowrap; text-decoration: none !important; }
.rtk-products__grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 !important; }
.rtk-products__grid > * { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; }
@media (max-width: 991px) { .rtk-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .rtk-products { padding-bottom: 40px; }
  .rtk-products__head { flex-direction: column; align-items: flex-start; }
  html body .rtk-products .rtk-h2 { font-size: 24px !important; }
  .rtk-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* === Pied de page (maquette) — commun à tout le site === */
html body:not(#rt-x) #footer { background: var(--rt-navy) !important; color: #9fb8bf; display: flex; flex-direction: column; }
#footer > #footer-main { order: 1; }
#footer > .footer-money { order: 2; }
#footer > .rc-footer-args { order: 3; }
#footer > #footer-copyright { order: 4; }

/* Zone principale */
html body:not(#rt-x) #footer #footer-main { background: transparent !important; padding: 54px 0 28px !important; }
#footer-main .footer-separator { display: none !important; }
#footer-main .container > a:first-child img { display: none !important; }
#footer-main .container > a:first-child {
  display: inline-flex; align-items: baseline; text-decoration: none !important;
  font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: #ffffff !important;
}
#footer-main .container > a:first-child::before { content: "Recycle"; }
#footer-main .container > a:first-child::after { content: "Tek"; color: #4ade80; }
#footer-main .row { margin-top: 26px; row-gap: 28px; }
html body:not(#rt-x) #footer-main .layout-column :is(h1, h2, h3, h4, h5, h6, .title, .block-title, .footer-title) {
  font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 15px !important; font-weight: 700 !important;
  color: #ffffff !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 14px !important; border: 0 !important;
}
html body:not(#rt-x) #footer-main :is(p, li, span, address, div) { color: #9fb8bf; font-size: 14px; line-height: 1.7; }
html body:not(#rt-x) #footer a { color: #9fb8bf !important; text-decoration: none !important; transition: color .2s; }
html body:not(#rt-x) #footer a:hover { color: #ffffff !important; }
/* Lettre d'information */
html body:not(#rt-x) #footer-main :is(input[type="email"], input[type="text"]) {
  background: #143845 !important; border: 1px solid #23505f !important; color: #ffffff !important;
  border-radius: 10px !important; height: 46px !important; padding: 0 14px !important; box-shadow: none !important;
}
html body:not(#rt-x) #footer-main :is(input[type="email"], input[type="text"])::placeholder { color: #7f9aa2 !important; }
html body:not(#rt-x) #footer-main :is(button, input[type="submit"]) {
  background: var(--rt-green-bright) !important; color: #052e16 !important; border: 0 !important;
  border-radius: 10px !important; height: 46px !important; font-weight: 700 !important; text-transform: none !important;
}

/* Liens de référencement : discrets, au-dessus du copyright */
html body:not(#rt-x) #footer .footer-money {
  border-top: 1px solid #23505f; padding: 24px 15px !important; margin: 0 auto !important;
  display: flex; flex-wrap: wrap; gap: 16px 56px; background: transparent !important;
}
html body:not(#rt-x) #footer .footer-money .block-title { color: #ffffff !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 14px !important; font-weight: 700 !important; text-transform: none !important; }
html body:not(#rt-x) #footer .footer-money li, html body:not(#rt-x) #footer .footer-money a { font-size: 13px !important; }

/* Arguments : masqués sur l'accueil (déjà dans la réassurance), sobres ailleurs */
html body#index .rc-footer-args { display: none !important; }
html body:not(#rt-x) #footer .rc-footer-args { background: #143845 !important; border-top: 1px solid #23505f; padding: 14px 0 !important; }
#footer .rc-footer-arg-icon { display: none !important; }
html body:not(#rt-x) #footer .rc-footer-arg > span:not(.rc-footer-arg-icon) { color: #cfe0e5 !important; font-size: 13px !important; font-weight: 600; }
#footer .rc-footer-arg > span:not(.rc-footer-arg-icon)::before { content: "✓  "; color: #4ade80; font-weight: 800; }

/* Barre du bas */
html body:not(#rt-x) #footer #footer-copyright { background: transparent !important; border-top: 1px solid #23505f; padding: 20px 0 28px !important; }
html body:not(#rt-x) #footer #footer-copyright, html body:not(#rt-x) #footer #footer-copyright * { color: #9fb8bf !important; font-size: 13px !important; }

@media (max-width: 767px) {
  html body:not(#rt-x) #footer #footer-main { padding: 32px 0 16px !important; }
  #footer-main .container > a:first-child { font-size: 22px; }
  #footer-main .row { margin-top: 18px; row-gap: 8px; }
  html body:not(#rt-x) #footer .footer-money { flex-direction: column; gap: 4px; padding: 16px 15px !important; }
  html body:not(#rt-x) #footer #footer-copyright { padding: 16px 0 90px !important; } /* place pour la bulle de chat */
}

/* === Pied de page — retouches === */
html body:not(#rt-x) #footer #footer-main .container > a:first-child { color: #ffffff !important; }
@media (max-width: 767px) {
  html body:not(#rt-x) #footer #footer-main .container { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 767px) {
  html body:not(#rt-x) #footer #footer-copyright .container { padding-right: 76px !important; padding-left: 16px !important; }
  html body:not(#rt-x) #footer #footer-copyright .layout-column { text-align: left !important; }
}

/* Badge Avis Vérifiés cliquable */
html body .rtk-hero a.rtk-hero__badge { color: #bbf7d0 !important; text-decoration: none !important; transition: background .2s; }
html body .rtk-hero a.rtk-hero__badge:hover { background: #1c4a58; }

/* Conformité prix de référence : pas de badge -X % ni de prix neuf barré (comparaison au neuf ≠ réduction) */
.rt-eco-badge, #rt-sticky-discount-badge, .product-prices .rt-neuf { display: none !important; }
