/* ====== ROTO FERRAGE SAV — feuille de style principale ======
   Tokens relevés sur la maison mère ftt.roto-frank.com (30/06/2026) :
   Police Roboto. Corps 16/24 #4D4F53. H1 ROUGE #E60014 700 35/45.
   H2 sections 700 30/40 centré. H3 500 22/32. Boutons rouge angles droits.
   Tableaux de specs zébrés #F3F3F3. Container large ~1500px. Breakpoint 980px. */

:root{
  --roto-rot:#e60014;--roto-rot-hover:#c1000f;
  --roto-grau-1:#737378;--roto-grau-2:#76767a;--roto-grau-3:#e2e2e2;
  --roto-grau-4:#f2f2f2;--roto-zebra:#f3f3f3;
  --foot-bg:#4d4f53;
  --roto-text:#4d4f53;                 /* texte Roto (rgb 77,79,83) */
  --roto-font:"Roboto","Helvetica Neue",Arial,sans-serif;
  --roto-max:1500px;
}
*,*::before,*::after{box-sizing:border-box;}
[hidden]{display:none !important;}   /* l'attribut hidden prime sur display:inline-flex des boutons */
body{margin:0;font-family:var(--roto-font);font-weight:400;font-size:16px;color:var(--roto-text);background:#fff;line-height:1.625;} /* corps Roto = 16/26 #4D4F53 (relevé MM) */
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4{font-family:var(--roto-font);}

.rh-wrap{max-width:var(--roto-max);margin:0 auto;padding:0 30px;}

/* Titre de page rouge (catégorie / produit) — signature Roto */
.rh-page-title{font-weight:700;font-size:35px;line-height:45px;color:var(--roto-rot);margin:0 0 8px;}

/* Titre de section centré gris */
.rh-section-head{text-align:center;margin:0 auto 36px;max-width:760px;}
.rh-section-head h2{font-weight:700;font-size:30px;line-height:40px;color:var(--roto-text);margin:0 0 12px;}
.rh-section-head p{color:var(--roto-grau-1);font-size:16px;margin:0;}

/* Breadcrumb « Vous êtes ici › … » */
.rh-breadcrumb{padding:16px 0;font-size:14px;color:var(--roto-grau-1);}
.rh-breadcrumb .rh-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.rh-breadcrumb a{color:var(--roto-grau-1);}
.rh-breadcrumb a:hover{color:var(--roto-rot);}
.rh-breadcrumb .sep{color:var(--roto-grau-2);}
.rh-breadcrumb .cur{color:var(--roto-text);}

/* ---------- BANDEAU D'ALERTE (administrable par le client) ---------- */
.roto-alert{background:var(--roto-rot);color:#fff;text-align:center;font-size:14px;line-height:1.45;padding:11px 24px;}
.roto-alert a{color:#fff;text-decoration:underline;font-weight:700;}
.roto-alert a:hover{opacity:.85;}

/* ---------- HEADER ---------- */
.roto-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--roto-grau-3);}
/* Décalage d'ancrage sous le header sticky */
section[id]{scroll-margin-top:96px;}
/* Focus clavier visible (a11y) */
.roto-btn:focus-visible,.rh-prod__cart:focus-visible,.rh-facet__btn:focus-visible,
.rh-tabs button:focus-visible,.rh-qty button:focus-visible,.rh-facets__reset:focus-visible,
.rh-gallery__thumbs button:focus-visible,a:focus-visible{outline:2px solid var(--roto-rot);outline-offset:2px;}
.roto-topbar{display:flex;justify-content:flex-end;align-items:center;gap:20px;height:40px;border-bottom:1px solid var(--roto-grau-3);}
.roto-topbar a{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:400;color:var(--roto-grau-1);}
.roto-topbar a:hover{color:var(--roto-rot);}
.roto-topbar svg{width:22px;height:22px;}
.roto-mainbar{display:flex;align-items:center;justify-content:space-between;height:84px;}
.roto-logo{display:inline-flex;align-items:center;gap:12px;}
.roto-logo svg{width:104px;height:auto;display:block;}
.roto-logo .tagline{font-size:13px;color:var(--roto-grau-1);border-left:1px solid var(--roto-grau-3);padding-left:12px;}
/* Tagline long (retours Estelle 10/07) : le logo peut rétrécir sans pousser la nav/le burger */
.roto-mainbar .roto-logo{flex-shrink:1;min-width:0;}
.roto-mainbar .roto-logo svg{flex:none;}
@media (min-width:981px) and (max-width:1400px){
  /* Le champ de recherche du header prend de la place : on rend la main au logo/nav. */
  .roto-mainbar .roto-logo .tagline{display:none;}
  .roto-nav{gap:22px;}
  .roto-headsearch{flex-basis:220px;min-width:150px;margin-left:16px;}
}
.roto-nav{display:flex;align-items:center;gap:30px;height:100%;}
.roto-nav__item{display:flex;align-items:center;height:100%;}
.roto-nav__item>a{font-size:18px;font-weight:400;line-height:22px;color:var(--roto-text);display:inline-flex;align-items:center;height:100%;border-bottom:3px solid transparent;} /* nav Roto = Roboto 400/18 (relevé MM) */
.roto-nav__item>a:hover{color:var(--roto-rot);}
.roto-nav__item.has-mega:hover>a,.roto-nav__item.is-open>a{color:var(--roto-rot);border-bottom-color:var(--roto-rot);}
/* "Trouver une pièce" : mise en avant discrète — picto loupe rouge, typo nav inchangée */
.roto-nav__item--cta>a{gap:8px;}
.roto-nav__item--cta>a svg{width:20px;height:20px;flex:none;color:var(--roto-rot);}
.roto-nav__item--cta>a:hover svg{color:var(--roto-rot-hover);}
.roto-mega{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border-top:1px solid var(--roto-grau-3);box-shadow:0 16px 28px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
.roto-nav__item.has-mega:hover .roto-mega,.roto-nav__item.is-open .roto-mega{opacity:1;visibility:visible;transform:translateY(0);}
.roto-mega__inner{max-width:var(--roto-max);margin:0 auto;padding:34px 30px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.roto-megacol__head{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--roto-text);padding-bottom:12px;border-bottom:1px solid var(--roto-grau-3);}
.roto-megacol__head span{color:var(--roto-grau-1);font-weight:400;font-size:13px;}
.roto-megacol ul{list-style:none;margin:0;padding:0;}
.roto-megacol li{margin:0 0 10px;}
.roto-megacol a{font-size:14px;color:var(--roto-grau-1);}
.roto-megacol a:hover{color:var(--roto-rot);}
.roto-burger{display:none;border:0;background:none;padding:8px;cursor:pointer;color:var(--roto-rot);}
.roto-burger svg{width:26px;height:20px;display:block;}
.roto-mobile{position:fixed;inset:0;z-index:50;background:#fff;padding:18px 24px 40px;overflow-y:auto;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column;}
.roto-mobile.is-open{transform:translateX(0);}
.roto-mobile__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.roto-mobile__close{border:0;background:none;padding:8px;cursor:pointer;color:var(--roto-rot);}
.roto-mobile__close svg{width:22px;height:22px;display:block;}
.roto-mobile__list{list-style:none;margin:0;padding:0;}
.roto-mobile__list a{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;font-size:18px;color:var(--roto-text);border-bottom:1px solid var(--roto-grau-3);}
.roto-mobile__list a:hover{color:var(--roto-rot);}
.roto-mobile__list a>span{display:inline-flex;align-items:center;gap:10px;}
.roto-mobile__list svg{width:9px;height:15px;color:var(--roto-grau-1);}
/* Mise en avant discrète "Trouver une pièce" dans le menu mobile : loupe rouge */
.roto-mobile__list .is-cta a>span svg{width:20px;height:20px;color:var(--roto-rot);}
/* Zone utilitaire Panier / Mon compte du menu mobile (équivalent de la topbar desktop) */
.roto-mobile__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px;}
.roto-mobile__action{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 8px;border:1px solid var(--roto-grau-3);background:var(--roto-grau-4);font-size:15px;font-weight:500;color:var(--roto-text);}
.roto-mobile__action:hover{color:var(--roto-rot);border-color:var(--roto-rot);}
.roto-mobile__action svg{width:24px;height:24px;flex:none;color:var(--roto-rot);}
.roto-mobile__badge{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--roto-rot);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
/* Liens secondaires À propos / Contact, calés en pied de menu */
.roto-mobile__secondary{list-style:none;margin:auto 0 0;padding:26px 0 0;display:flex;gap:32px;}
.roto-mobile__secondary a{display:inline-block;padding:6px 0;font-size:15px;color:var(--roto-grau-2);}
.roto-mobile__secondary a:hover{color:var(--roto-rot);}

/* ---------- BOUTONS (angles droits, rouge plein) ---------- */
.roto-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:16px;font-weight:700;border-radius:0;border:2px solid var(--roto-rot);background:var(--roto-rot);color:#fff;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.roto-btn::after{content:"›";font-size:18px;line-height:1;}
.roto-btn svg{width:20px;height:20px;flex:none;}
.roto-btn:hover{background:var(--roto-rot-hover);border-color:var(--roto-rot-hover);}
.roto-btn--outline{background:#fff;color:var(--roto-rot);}
.roto-btn--outline:hover{background:var(--roto-rot);color:#fff;}
.roto-btn--ghost{background:transparent;border-color:#fff;color:#fff;}
.roto-btn--ghost:hover{background:#fff;color:var(--roto-rot);border-color:#fff;}
.rh-link{color:var(--roto-rot);font-weight:500;text-decoration:underline;text-underline-offset:3px;}
.rh-link:hover{color:var(--roto-rot-hover);}

/* ========================================================================
   ACCUEIL — reprise de la structure maison mère (ftt.roto-frank.com)
   ======================================================================== */

/* ---------- HERO CARROUSEL ---------- */
.rh-carousel{position:relative;}
.rh-carousel__track{position:relative;height:clamp(360px,42vw,560px);overflow:hidden;}
.rh-slide{position:absolute;inset:0;display:flex;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity .5s ease;}
.rh-slide.is-active{opacity:1;visibility:visible;}
.rh-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%);}
/* Mobile : le cadrage `cover` recentre la photo sur une zone claire et le voile
   n'y est presque plus opaque → légende blanche illisible (mesuré 1,7:1 sur le
   slide « Serrures Roto multipoints »). On assombrit et on remonte le dégradé. */
@media(max-width:980px){.rh-slide::after{background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.2) 100%);}}
.rh-slide__inner{position:relative;z-index:2;width:100%;padding-bottom:40px;}
.rh-slide__cap{max-width:620px;}
.rh-slide__title{margin:0 0 8px;font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:#fff;font-weight:400;}
.rh-slide__title strong{color:var(--roto-rot);font-weight:700;}
.rh-slide__sub{margin:0;font-size:16px;color:#f1f1f1;}
.rh-slide__sub a{color:var(--roto-rot);font-weight:500;text-decoration:underline;text-underline-offset:3px;}
.rh-slide__sub a:hover{color:#fff;}
.rh-carousel__nav{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px 0;}
.rh-carousel__arrow{width:34px;height:34px;border:0;background:none;font-size:26px;line-height:1;color:var(--roto-grau-1);cursor:pointer;border-radius:50%;transition:color .15s,background .15s;}
.rh-carousel__arrow:hover{color:var(--roto-rot);background:var(--roto-grau-4);}
.rh-carousel__count{font-size:14px;color:var(--roto-grau-1);}
.rh-carousel__count b{color:var(--roto-rot);font-weight:700;}

/* ---------- STATEMENT ROUGE ---------- */
.rh-statement{padding:88px 0 64px;text-align:center;}
.rh-statement h1{max-width:920px;margin:0 auto 14px;font-weight:700;font-size:clamp(26px,3vw,35px);line-height:1.28;color:var(--roto-rot);} /* statement rouge MM = 700 35/45 */
.rh-statement p{max-width:720px;margin:0 auto 18px;font-size:16px;line-height:1.75;color:var(--roto-text);}
.rh-statement p:last-child{margin-bottom:0;}
/* Accroche reprise sous le H1 (retour Maëlle 18/08/2026 : « réparer plutôt que remplacer »
   sort du H1, qui doit porter fenêtres/portes/coulissants, et redescend en accroche). */
.rh-statement .rh-statement__claim{max-width:920px;margin:0 auto 30px;font-size:clamp(19px,2vw,22px);line-height:1.35;font-weight:500;color:var(--roto-text);}

/* ---------- BLOCS SECTION + TITRE CENTRÉ ---------- */
.rh-block{padding:76px 0;}
.rh-block--alt{background:var(--roto-grau-4);}
.rh-h2c{text-align:center;font-weight:700;font-size:clamp(22px,2vw,26px);line-height:1.3;color:var(--roto-text);margin:0 0 44px;}
/* Titre du bandeau de familles sur une page catégorie (retour Maëlle 18/08/2026).
   Aligné à gauche comme le H1 et la grille : .rh-h2c est calibré pour l'accueil, dont
   toute la section est centrée. */
.rh-shop__striptitle{text-align:left;font-weight:700;font-size:22px;line-height:1.3;color:var(--roto-text);margin:0 0 18px;}

/* ---------- CARTES (familles) ---------- */
.rh-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.rh-card{display:flex;flex-direction:column;}
.rh-card__img{display:block;aspect-ratio:16/10;overflow:hidden;}
.rh-card__body{padding:18px 0 0;display:flex;flex-direction:column;flex:1;}
.rh-card__body h3{font-weight:700;font-size:17px;line-height:1.35;color:var(--roto-text);margin:0 0 8px;}
.rh-card__body p{font-size:14px;line-height:1.6;color:var(--roto-grau-1);margin:0 0 14px;flex:1;}
.rh-card__link{font-size:14px;font-weight:500;color:var(--roto-rot);align-self:flex-start;}
.rh-card__link:hover{color:var(--roto-rot-hover);text-decoration:underline;text-underline-offset:3px;}

/* Placeholder visuel (en attendant les vraies images produit) */
.rh-ph{display:flex;width:100%;height:100%;min-height:160px;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#e9e9ea,#dadadc);color:var(--roto-grau-2);font-size:13px;letter-spacing:.02em;}
.rh-card__img .rh-ph{transition:transform .3s;}
.rh-card__img:hover .rh-ph{transform:scale(1.04);}
.rh-card__img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s;} /* multiply : le fond blanc de la photo fond dans le fond de section, plus de pavé gris */
.rh-card__img:hover img{transform:scale(1.04);}

/* ---------- BLOCS 2 COLONNES (texte / média) ---------- */
.rh-split{padding:80px 0;}
.rh-split__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.rh-split--rev .rh-split__media{order:0;}
.rh-split__text h2{font-weight:700;font-size:clamp(22px,2vw,26px);line-height:1.3;color:var(--roto-text);margin:0 0 16px;}
.rh-split__text p{font-size:16px;line-height:1.625;color:var(--roto-text);margin:0 0 16px;}
.rh-split__text .roto-btn{margin-top:8px;}
.rh-split__media{aspect-ratio:4/3;}
.rh-split__media--schema svg{display:block;width:100%;height:100%;}
.rh-dl-list{list-style:none;margin:0 0 22px;padding:0;}
.rh-dl-list li{position:relative;padding:9px 0 9px 22px;font-size:15px;color:var(--roto-text);border-bottom:1px solid var(--roto-grau-3);}
.rh-dl-list li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;background:var(--roto-rot);}

/* ---------- PAGE CATEGORIE (boutique) ---------- */
.rh-shop{padding:8px 0 64px;}
.rh-shop__area{position:relative;}
.rh-shop__layout{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start;transition:opacity .15s;}
/* Filtrage AJAX : overlay + spinner */
.rh-shop__loader{position:absolute;inset:0;z-index:20;display:none;justify-content:center;align-items:flex-start;background:rgba(255,255,255,.55);}
.rh-shop__area.is-loading .rh-shop__loader{display:flex;}
.rh-shop__area.is-loading .rh-shop__layout{opacity:.45;pointer-events:none;}
.rh-spinner{position:sticky;top:140px;margin:120px 0;width:46px;height:46px;border:4px solid var(--roto-grau-3);border-top-color:var(--roto-rot);border-radius:50%;animation:rh-spin .8s linear infinite;}
@keyframes rh-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.rh-spinner{animation-duration:2.4s;}}
/* Sidebar facettes */
.rh-facets{border:1px solid var(--roto-grau-3);}
.rh-facets__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--roto-grau-3);}
.rh-facets__head strong{font-size:15px;font-weight:700;color:var(--roto-text);}
.rh-facets__reset{font-size:12px;color:var(--roto-rot);display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:none;border:0;padding:0;font-family:inherit;}
.rh-facets__reset:hover{color:var(--roto-rot-hover);text-decoration:underline;}
.rh-facet{border-bottom:1px solid var(--roto-grau-3);}
.rh-facet:last-child{border-bottom:0;}
.rh-facet__btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:700;color:var(--roto-text);cursor:pointer;}
.rh-facet__btn::after{content:"";width:9px;height:9px;border-right:2px solid var(--roto-grau-1);border-bottom:2px solid var(--roto-grau-1);transform:rotate(-45deg);transition:transform .2s;margin-top:-4px;}
.rh-facet.is-open .rh-facet__btn::after{transform:rotate(45deg);}
.rh-facet__body{padding:0 16px 14px;display:none;}
.rh-facet.is-open .rh-facet__body{display:block;}
.rh-facet__opt{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13px;color:var(--roto-text);cursor:pointer;}
.rh-facet__opt input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--roto-grau-2);border-radius:0;flex:none;position:relative;cursor:pointer;}
.rh-facet__opt input:checked{background:var(--roto-rot);border-color:var(--roto-rot);}
.rh-facet__opt input:checked::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.rh-facet__opt.is-active{color:var(--roto-rot);font-weight:500;}
.rh-facet__opt .cnt{margin-left:auto;color:var(--roto-grau-2);font-size:12px;}
.rh-facet__opt .cnt--add{color:var(--roto-rot);opacity:.8;}
.rh-facets__help{background:var(--roto-rot);padding:20px 16px 22px;}
.rh-facets__help-title{margin:0 0 8px;font-size:16px;font-weight:700;color:#fff;}
.rh-facets__help-text{margin:0 0 14px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.9);}
.rh-facets__help-link{display:inline-block;font-size:14px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px;}
.rh-facets__help-link:hover{color:#fff;text-decoration:none;}

/* Barre de tri / résultats */
.rh-shop__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.rh-shop__count{font-size:14px;color:var(--roto-grau-1);}
.rh-shop__count b{color:var(--roto-text);}
.rh-sort{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--roto-grau-1);}
.rh-sort select{font-family:inherit;font-size:14px;color:var(--roto-text);border:1px solid var(--roto-grau-3);border-radius:0;padding:9px 30px 9px 12px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23737378' stroke-width='1.5' fill='none'/></svg>") no-repeat right 12px center;appearance:none;cursor:pointer;}

/* Grille produits */
.rh-prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;} /* minmax(0,…) : les <img width=…> ne doivent pas gonfler le min-content des colonnes */
.rh-prods--4{grid-template-columns:repeat(4,minmax(0,1fr));} /* « Pièces souvent associées » : 4 cartes / rangée (les media queries plus bas ramènent à 2 puis 1) */
.rh-prod{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--roto-grau-3);transition:box-shadow .18s,border-color .18s;}
.rh-prod:hover{box-shadow:0 12px 26px rgba(0,0,0,.10);border-color:var(--roto-grau-2);}
.rh-prod__img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--roto-grau-2);font-size:12px;border-bottom:1px solid var(--roto-grau-3);position:relative;}
.rh-prod__body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1;}
.rh-prod__name{font-weight:500;font-size:15px;line-height:1.35;color:var(--roto-rot);margin:0 0 10px;}
.rh-prod__name:hover{text-decoration:underline;}
/* Lignes label/valeur reprises de la carte « Référence » de la fiche produit */
.rh-prod__specs{margin:0 0 14px;}
.rh-prod__spec{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;font-size:13px;border-top:1px solid var(--roto-grau-4);}
.rh-prod__spec:first-child{border-top:0;}
.rh-prod__spec span{color:var(--roto-grau-1);flex:none;}
.rh-prod__spec b{font-weight:500;color:var(--roto-text);text-align:right;min-width:0;}
.rh-prod__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rh-prod__price{font-weight:700;font-size:18px;color:var(--roto-text);}
.rh-prod__price small{font-weight:400;font-size:11px;color:var(--roto-grau-1);display:block;}
.rh-prod__cart{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--roto-rot);color:#fff;border:0;cursor:pointer;flex:none;transition:background .15s;}
.rh-prod__cart:hover{background:var(--roto-rot-hover);}
.rh-prod__cart svg{width:20px;height:20px;}

/* Pagination */
.rh-pager{display:flex;justify-content:center;gap:6px;margin-top:38px;}
.rh-pager a,.rh-pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--roto-grau-3);font-size:14px;color:var(--roto-text);}
.rh-pager .cur{background:var(--roto-rot);border-color:var(--roto-rot);color:#fff;font-weight:700;}
.rh-pager a:hover{border-color:var(--roto-rot);color:var(--roto-rot);}

/* ---------- FICHE PRODUIT (layout « carte » — maquette 06/07/2026) ---------- */
.rh-pdp{padding:8px 0 64px;}
.rh-pdp__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start;margin-bottom:8px;}
.rh-gallery__main{aspect-ratio:1/1;background:#fff;border:1px solid var(--roto-grau-3);box-shadow:0 2px 14px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;color:var(--roto-grau-2);font-size:13px;overflow:hidden;padding:28px;}
.rh-gallery__thumbs{display:flex;gap:12px;margin-top:16px;justify-content:center;flex-wrap:wrap;}
.rh-gallery__thumbs button{width:72px;height:72px;background:#fff;border:1px solid var(--roto-grau-3);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--roto-grau-2);font-size:10px;cursor:pointer;font-family:inherit;padding:6px;transition:border-color .15s;}
.rh-gallery__thumbs button:hover{border-color:var(--roto-grau-2);}
.rh-gallery__thumbs button.is-active{border:2px solid var(--roto-text);}
/* Badge famille (pilule) */
.rh-pdp__badges{margin:0 0 14px;display:flex;gap:8px;flex-wrap:wrap;}
.rh-pill{display:inline-flex;align-items:center;background:var(--roto-grau-4);border:1px solid var(--roto-grau-3);padding:6px 16px;font-size:13px;font-weight:500;color:var(--roto-text);transition:color .15s,border-color .15s;}
.rh-pill:hover{color:var(--roto-rot);border-color:var(--roto-rot);}
.rh-pdp__summary h1{font-weight:700;font-size:30px;line-height:38px;color:var(--roto-rot);margin:0 0 10px;}
.rh-pdp__meta{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--roto-grau-1);margin:0 0 18px;}
.rh-pdp__meta b{color:var(--roto-text);}
.rh-pdp__origin{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--roto-rot);color:#fff;font-size:11px;flex:none;}
.rh-pdp__lead{font-size:15px;color:var(--roto-text);margin:0 0 8px;}
/* Barre prix + achat (séparateurs façon maquette) */
.rh-pdp__pricebar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px 0 14px;margin-top:12px;border-top:1px solid var(--roto-grau-4);}
.rh-pdp__pricebar .price{font-weight:700;font-size:34px;line-height:1.1;color:var(--roto-text);}
.rh-pdp__pricebar .price small{display:block;font-weight:400;font-size:12px;color:var(--roto-grau-1);}
.rh-pdp__was{font-size:18px;color:var(--roto-grau-2);}
.rh-pdp__off{display:inline-flex;align-items:center;background:var(--roto-rot);color:#fff;padding:4px 12px;font-size:13px;font-weight:700;}
.rh-pdp__buyctl{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto;}
.rh-qty{display:inline-flex;border:1px solid var(--roto-grau-3);background:#fff;overflow:hidden;}
.rh-qty button{width:38px;height:46px;border:0;background:none;font-size:20px;color:var(--roto-text);cursor:pointer;}
.rh-qty input{width:46px;border:0;text-align:center;font-family:inherit;font-size:16px;color:var(--roto-text);}
.rh-stock{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#2e7d32;width:100%;}
.rh-stock::before{content:"";width:9px;height:9px;border-radius:50%;background:#2e7d32;}

/* Onglets (segmentés en pilule — maquette) */
.rh-tabs{margin-top:30px;display:inline-flex;gap:4px;flex-wrap:wrap;background:var(--roto-grau-4);padding:5px;}
.rh-tabs button{background:none;border:0;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:500;color:var(--roto-grau-1);cursor:pointer;transition:background .15s,color .15s;}
.rh-tabs button.is-active{background:#fff;color:var(--roto-text);font-weight:700;box-shadow:0 1px 5px rgba(0,0,0,.12);}
.rh-tabpane{display:none;padding:22px 2px 6px;}
.rh-tabpane.is-active{display:block;}
.rh-tabpane p{font-size:15px;line-height:1.7;margin-top:0;}

/* Cartes d'infos (Référence / Livraison — maquette) */
.rh-infocards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;}
.rh-infocard{background:#fff;border:1px solid var(--roto-grau-3);padding:18px 20px;}
.rh-infocard__head{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--roto-text);margin:0 0 6px;}
.rh-infocard__head svg{width:19px;height:19px;color:var(--roto-rot);flex:none;}
.rh-infocard__row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:8px 0;font-size:14px;border-top:1px solid var(--roto-grau-4);}
.rh-infocard__row:first-of-type{border-top:0;}
.rh-infocard__row span{color:var(--roto-grau-1);}
.rh-infocard__row b{font-weight:500;color:var(--roto-text);text-align:right;}
.rh-infocard__note{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--roto-grau-4);font-size:12.5px;line-height:1.55;color:var(--roto-grau-1);}
.rh-stock__note{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:var(--roto-grau-1);}
.rh-reassure__note{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--roto-grau-1);}

/* Réassurance (paiement sécurisé PayPal, origine, livraison, SAV) */
.rh-reassure{margin:22px 0 0;}
.rh-reassure__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--roto-grau-3);border:1px solid var(--roto-grau-3);}
.rh-reassure__item{display:flex;align-items:center;gap:12px;background:#fff;padding:14px 16px;min-width:0;}
.rh-reassure__item>svg{width:26px;height:26px;color:var(--roto-rot);flex:none;}
.rh-reassure__txt{display:flex;flex-direction:column;min-width:0;}
.rh-reassure__txt b{font-weight:700;font-size:14px;line-height:1.3;color:var(--roto-text);}
.rh-reassure__txt small{font-size:12px;color:var(--roto-grau-1);}
/* ⚠️ sélecteur préfixé par `img` : woocommerce-layout.css impose `.woocommerce img{height:auto}`
   (spécificité 0-1-1) et écrasait un `.rh-paypal{height:13px}` nu → logo géant sur fiche/panier. */
img.rh-paypal{height:13px;width:auto;vertical-align:-1px;margin-right:3px;}
.rh-pay-sep{white-space:nowrap;}
.rh-reassure__lead img.rh-paypal{height:15px;vertical-align:-2px;margin:0 2px;}
/* Variante panier / commande : bandeau axé paiement */
.rh-reassure--checkout{margin:0 0 26px;}
.rh-reassure__lead{display:flex;align-items:flex-start;gap:14px;background:var(--roto-grau-4);border-left:4px solid var(--roto-rot);padding:16px 20px;margin:0 0 1px;font-size:15px;line-height:1.55;}
.rh-reassure__lead svg{width:30px;height:30px;color:var(--roto-rot);flex:none;margin-top:1px;}
.rh-reassure__lead b{color:var(--roto-text);}
@media(max-width:860px){.rh-reassure__list{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.rh-reassure__list{grid-template-columns:1fr;}}

/* Tableau de specs — carte bordée, en-tête sombre, lignes label/valeur (même langage que la carte « Référence ») */
.rh-spec{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--roto-grau-3);}
.rh-spec th{text-align:left;background:var(--roto-text);color:#fff;font-weight:700;font-size:14px;padding:13px 18px;}
.rh-spec td{padding:12px 18px;color:var(--roto-text);border-top:1px solid var(--roto-grau-3);}
.rh-spec td:first-child{color:var(--roto-grau-1);font-weight:400;width:38%;border-right:1px solid var(--roto-grau-3);}
.rh-spec td:last-child{font-weight:500;}
.rh-spec tbody tr:nth-child(odd){background:#fafafa;}
.rh-spec tbody tr:hover{background:var(--roto-grau-4);}

/* Accessoires / liés */
.rh-related{margin-top:56px;}

/* ---------- FORMULAIRE « IDENTIFIER MA PIECE » ---------- */
.rh-formpage{padding:8px 0 64px;}
.rh-form-wrap{max-width:860px;margin:0 auto;padding:0 30px;}
.rh-form-intro{color:var(--roto-grau-1);font-size:16px;margin:0 0 28px;max-width:680px;}
.rh-notice{padding:16px 18px;margin:0 0 24px;border-left:4px solid;font-size:15px;}
.rh-notice--ok{background:#eef7ee;border-color:#2e7d32;color:#235c27;}
.rh-notice--err{background:#fdecec;border-color:var(--roto-rot);color:#9a1018;}
.rh-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.rh-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;}
.rh-field{display:flex;flex-direction:column;gap:7px;}
.rh-field--full{grid-column:1 / -1;}
.rh-field__label{font-size:14px;font-weight:500;color:var(--roto-text);}
.rh-field input[type=text],.rh-field input[type=email],.rh-field input[type=tel],
.rh-field select,.rh-field textarea{font-family:inherit;font-size:15px;color:var(--roto-text);
  border:1px solid var(--roto-grau-3);border-radius:0;padding:12px 14px;background:#fff;width:100%;}
.rh-field textarea{resize:vertical;min-height:120px;}
.rh-field input:focus,.rh-field select:focus,.rh-field textarea:focus{outline:0;border-color:var(--roto-rot);box-shadow:0 0 0 2px rgba(230,0,20,.12);}
.rh-field select{appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23737378' stroke-width='1.5' fill='none'/></svg>") no-repeat right 14px center;padding-right:34px;}
/* Champ fichier */
.rh-file{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed var(--roto-grau-3);padding:14px;cursor:pointer;}
.rh-file input[type=file]{position:absolute;left:-9999px;}
.rh-file__btn{display:inline-flex;align-items:center;background:var(--roto-text);color:#fff;font-size:14px;font-weight:500;padding:10px 16px;white-space:nowrap;}
.rh-file:hover .rh-file__btn{background:var(--roto-rot);}
.rh-file__list{font-size:13px;color:var(--roto-grau-1);}
/* ALTCHA + RGPD */
.rh-field--altcha{margin-top:4px;}
.rh-field--altcha .altcha-checkbox-wrap label{font-size:.6em;white-space:nowrap;}
altcha-widget{--altcha-color-base:#fff;--altcha-border-color:var(--roto-grau-3);--altcha-color-base-content:var(--roto-text);--altcha-color-success:var(--roto-rot);--altcha-max-width:100%;}
.rh-rgpd{flex-direction:row;align-items:flex-start;gap:10px;margin-top:22px;font-size:14px;color:var(--roto-text);}
.rh-rgpd input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--roto-rot);}
.rh-formpage .roto-btn{min-width:240px;justify-content:center;}
/* Sous-titres + répétiteur multi-pièces */
.rh-form__sub{font-size:18px;font-weight:700;color:var(--roto-text);margin:30px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--roto-grau-3);}
.rh-form__sub:first-of-type{margin-top:0;}
.rh-pieces{display:flex;flex-direction:column;gap:16px;}
.rh-piece{border:1px solid var(--roto-grau-3);border-left:3px solid var(--roto-rot);padding:16px 18px;background:#fff;}
.rh-piece__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.rh-piece__num{font-size:14px;font-weight:700;color:var(--roto-rot);}
.rh-piece__remove{background:none;border:0;color:var(--roto-grau-1);font-size:13px;cursor:pointer;font-family:inherit;}
.rh-piece__remove:hover{color:var(--roto-rot);}
.rh-piece__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.rh-addpiece{display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:#fff;border:1.5px dashed var(--roto-rot);color:var(--roto-rot);font-family:inherit;font-size:14px;font-weight:700;padding:11px 18px;cursor:pointer;border-radius:0;}
.rh-addpiece:hover{background:var(--roto-rot);color:#fff;}
.rh-addpiece:disabled{border-color:var(--roto-grau-3);color:var(--roto-grau-2);cursor:not-allowed;background:#fff;}

/* ---------- ASSISTANT GUIDÉ (wizard) ---------- */
.rh-wizsteps{list-style:none;display:flex;gap:0;margin:0 0 30px;padding:0;counter-reset:wz;}
.rh-wizsteps li{flex:1;position:relative;text-align:center;font-size:12px;color:var(--roto-grau-2);padding-top:34px;font-weight:500;}
.rh-wizsteps li::before{counter-increment:wz;content:counter(wz);position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--roto-grau-3);color:var(--roto-grau-2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;z-index:2;}
.rh-wizsteps li::after{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--roto-grau-3);z-index:1;}
.rh-wizsteps li:first-child::after{display:none;}
.rh-wizsteps li.is-active{color:var(--roto-text);}
.rh-wizsteps li.is-active::before{background:var(--roto-rot);border-color:var(--roto-rot);color:#fff;}
.rh-wizsteps li.is-active::after{background:var(--roto-rot);}
.rh-step{display:none;}
.rh-step.is-active{display:block;animation:rhFade .2s ease;}
@keyframes rhFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.rh-startlist{margin:0 0 18px;padding:0 0 0 4px;list-style:none;}
.rh-startlist li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid var(--roto-grau-4);font-size:15px;}
.rh-startlist li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;background:var(--roto-rot);}
.rh-branch__title{font-weight:700;color:var(--roto-rot);font-size:16px;margin:0 0 12px;}
/* Précision affichée sous la question, avant le champ (retours Estelle 23/07/2026) */
.rh-field__hint{font-size:12px;color:var(--roto-grau-1);margin:-3px 0 1px;}
.rh-checks{display:flex;flex-wrap:wrap;gap:8px 18px;}
.rh-check{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--roto-text);cursor:pointer;}
.rh-check input{width:16px;height:16px;accent-color:var(--roto-rot);}
.rh-wiznav{display:flex;align-items:center;gap:14px;margin-top:28px;flex-wrap:wrap;}
.rh-btn-back{background:none;border:0;color:var(--roto-grau-1);font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;padding:10px 4px;}
.rh-btn-back:hover{color:var(--roto-rot);}
.rh-wiznav .roto-btn{margin-left:auto;}
/* Questions à images (tuiles cliquables) */
.rh-imgq{margin:6px 0 4px;}
.rh-tiles-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:10px;}
.rh-tile-pick{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1.5px solid var(--roto-grau-3);background:#fff;padding:12px 10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.rh-tile-pick:hover{border-color:var(--roto-grau-2);}
.rh-tile-pick img{width:100%;height:130px;object-fit:contain;background:#fafafa;}
.rh-tile-pick span{font-size:13px;line-height:1.3;color:var(--roto-text);}
.rh-tile-pick input{accent-color:var(--roto-rot);width:16px;height:16px;}
.rh-tile-pick:has(input:checked){border-color:var(--roto-rot);box-shadow:0 0 0 2px rgba(230,0,20,.18);}
.rh-tile-pick:has(input:checked) span{font-weight:700;color:var(--roto-rot);}
/* Option sans visuel (« Pas de clé », « Non ») : même tuile, sans zone image */
.rh-tile-pick--text{justify-content:center;min-height:110px;}
/* Croquis explicatif inséré dans le questionnaire (serrure : axe de fouillot / entraxe) */
.rh-figq{margin:6px 0 10px;align-items:flex-start;}
.rh-figq img{max-width:240px;width:100%;height:auto;border:1px solid var(--roto-grau-3);background:#fff;padding:10px;}
.rh-figq figcaption{font-size:12px;color:var(--roto-grau-1);margin-top:6px;}

/* ---------- CONTENU GENERIQUE (index/page/single) ---------- */
.rh-content{max-width:820px;margin:0 auto;padding:56px 30px;}
.rh-content h1{font-weight:700;font-size:32px;color:var(--roto-rot);margin:0 0 24px;}
.rh-content article{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--roto-grau-3);}
.rh-content article h2{font-weight:700;font-size:22px;margin:0 0 10px;}
.rh-content article h2 a{color:var(--roto-text);}
.rh-content article h2 a:hover{color:var(--roto-rot);}
.rh-content .meta{font-size:13px;color:var(--roto-grau-1);margin:0 0 12px;}
.rh-content a{color:var(--roto-rot);}

/* ---------- BOUTIQUE RÉELLE (WooCommerce) ---------- */
/* Images produit réelles dans les cartes / galerie */
.rh-prod__img img{width:100%;height:100%;object-fit:contain;background:#fff;}
.rh-gallery__main img{width:100%;height:100%;object-fit:contain;background:#fff;}
.rh-gallery__thumbs button img{width:100%;height:100%;object-fit:contain;background:#fff;pointer-events:none;}
.rh-qty input[type=number]{-moz-appearance:textfield;appearance:textfield;}
.rh-qty input::-webkit-outer-spin-button,.rh-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.rh-pdp__buyform{display:block;}
/* Pagination générée par paginate_links */
.rh-pager .page-numbers{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--roto-grau-3);font-size:14px;color:var(--roto-text);padding:0 8px;}
.rh-pager .page-numbers.current{background:var(--roto-rot);border-color:var(--roto-rot);color:#fff;font-weight:700;}
.rh-pager a.page-numbers:hover{border-color:var(--roto-rot);color:var(--roto-rot);}
/* Facette « Univers » : options-liens */
a.rh-facet__opt{color:var(--roto-text);}
a.rh-facet__opt:hover{color:var(--roto-rot);}
a.rh-facet__opt.is-active{color:var(--roto-rot);font-weight:700;}
/* Recherche du header : champ visible en permanence (retour Estelle 27/07/2026) */
.roto-headsearch{display:flex;align-items:stretch;flex:0 1 320px;min-width:200px;margin-left:26px;}
.roto-headsearch input[type=search]{width:100%;font-family:inherit;font-size:15px;line-height:1.2;color:var(--roto-text);background:#fff;border:1px solid var(--roto-grau-3);border-right:0;border-radius:0;padding:0 14px;height:46px;}
.roto-headsearch input[type=search]::placeholder{color:var(--roto-grau-2);}
.roto-headsearch input[type=search]:focus{outline:0;border-color:var(--roto-rot);}
.roto-headsearch__btn{flex:none;min-height:46px;padding:0 16px;}
.roto-headsearch__btn::after{content:none;} /* bouton icône seule : pas de chevron auto */
.roto-headsearch__btn svg{width:22px;height:22px;}
/* Recherche mise en avant en tête de catalogue */
.rh-shopsearch{background:var(--roto-grau-4);padding:20px 24px;margin:0 0 30px;}
.rh-shopsearch__label{display:block;font-size:16px;font-weight:700;color:var(--roto-text);margin:0 0 12px;}
.rh-shopsearch__row{display:flex;gap:12px;}
.rh-shopsearch input[type=search]{width:100%;font-family:inherit;font-size:16px;color:var(--roto-text);background:#fff;border:1px solid var(--roto-grau-3);border-radius:0;padding:0 16px;height:48px;}
.rh-shopsearch input[type=search]::placeholder{color:var(--roto-grau-2);}
.rh-shopsearch input[type=search]:focus{outline:0;border-color:var(--roto-rot);box-shadow:0 0 0 2px rgba(230,0,20,.12);}
.rh-shopsearch .roto-btn{flex:none;}
/* Notices WooCommerce (ajout panier, erreurs) */
.woocommerce-message,.woocommerce-info{padding:14px 18px;margin:0 0 22px;border-left:4px solid #2e7d32;background:#eef7ee;color:#235c27;font-size:15px;list-style:none;display:flow-root;}
ul.woocommerce-error{padding:14px 18px;margin:0 0 22px;border-left:4px solid var(--roto-rot);background:#fdecec;color:#9a1018;font-size:15px;list-style:none;}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;background:var(--roto-rot);color:#fff;padding:8px 14px;font-weight:700;margin-left:14px;}
.woocommerce-message .button:hover{background:var(--roto-rot-hover);}
/* Pages WooCommerce (panier / commande / compte) : conteneur large */
.rh-content--wide{max-width:1200px;}
.rh-content--wide h1.rh-page-title{margin-bottom:24px;}

/* ---------- FOOTER ---------- */
.roto-footer{background:var(--foot-bg);color:#fff;padding:60px 30px 38px;}
.roto-footer__inner{max-width:1180px;margin:0 auto;}
.roto-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.25);}
.roto-fcol h3,.roto-fcol__head{margin:0 0 14px;font-size:17px;font-weight:700;color:inherit;}
.roto-fcol ul{list-style:none;margin:0;padding:0;}
.roto-fcol li{margin:0 0 9px;}
.roto-fcol a{color:#d7d8d9;font-size:14px;}
.roto-fcol a:hover{color:#fff;text-decoration:underline;}
.roto-footer__social{display:flex;justify-content:center;gap:26px;padding:32px 0;}
/* Desktop (maquette Figma) : © à gauche, réseaux sociaux à droite, sur une même rangée */
@media (min-width:981px){
  .roto-footer__bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-top:30px;}
  .roto-footer__bottom .roto-footer__social{order:2;padding:0;justify-content:flex-end;}
  .roto-footer__bottom .roto-footer__legal{order:1;text-align:left;}
}
.roto-footer__social a{color:#fff;display:inline-flex;}
.roto-footer__social a:hover{color:var(--roto-rot);}
.roto-footer__social svg{width:24px;height:24px;}
.roto-footer__legal{text-align:center;color:#d7d8d9;font-size:13px;line-height:1.7;}
.roto-footer__legal .cp{font-weight:700;color:#fff;margin-bottom:10px;}
.roto-footer__legal a{color:#d7d8d9;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .roto-topbar{display:none;}
  .roto-nav{display:none;}
  .roto-headsearch{display:none;} /* la recherche mobile vit dans le menu (roto-mobile__search) */
  .rh-shopsearch{padding:16px 18px;}
  .rh-shopsearch__row{flex-direction:column;}
  .rh-shopsearch .roto-btn{justify-content:center;}
  .roto-mainbar{height:64px;}
  .roto-logo svg{width:88px;}
  .roto-logo .tagline{display:none;} /* tagline long : masqué en mobile (barre + panneau), le burger reste accessible */
  .roto-burger{display:inline-flex;}
  .rh-page-title{font-size:28px;line-height:36px;}
  .rh-cards,.rh-prods{grid-template-columns:minmax(0,1fr);}
  .rh-cards{gap:24px;}
  .rh-prods{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rh-split__inner{grid-template-columns:1fr;gap:28px;}
  .rh-split--rev .rh-split__media{order:-1;}
  .rh-shop__layout{grid-template-columns:1fr;}
  .rh-facets{order:-1;}
  .rh-pdp__top{grid-template-columns:1fr;gap:28px;}
  .rh-infocards{grid-template-columns:1fr;}
  .rh-pdp__buyctl{margin-left:0;width:100%;}
  .rh-pdp__buyctl .roto-btn{flex:1;min-width:0;justify-content:center;}
  .rh-form__grid,.rh-piece__grid{grid-template-columns:1fr;}
  .roto-footer__cols{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .rh-prods{grid-template-columns:minmax(0,1fr);}
}
@media (min-width:981px){
  .roto-mobile{display:none;}
  .rh-gallery{position:sticky;top:110px;} /* galerie sticky pendant le scroll de la colonne droite (maquette) */
}

/* ========================================================================
   BLOCS PROMO + BANDEAU CATÉGORIES (démo — template-blocs-promo.php)
   ======================================================================== */
.rh-promos{display:grid;gap:30px;}
.rh-promos--3{grid-template-columns:repeat(3,1fr);}
.rh-promos--2{grid-template-columns:1fr 1fr;}
.rh-promo{position:relative;display:flex;align-items:center;min-height:250px;padding:34px 32px;overflow:hidden;}
.rh-promo__body{position:relative;z-index:2;max-width:420px;}
.rh-promo__title{margin:0 0 10px;font-weight:700;font-size:22px;line-height:1.25;color:#fff;}
.rh-promo__sub{margin:0 0 20px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.85);}
.rh-promo__btn{min-height:44px;font-size:15px;}
.rh-promo--red{background:var(--roto-rot);}
.rh-promo--red .rh-promo__sub{color:rgba(255,255,255,.9);}
.rh-promo--light{background:var(--roto-grau-4);}
.rh-promo--light .rh-promo__title{color:var(--roto-text);}
.rh-promo--light .rh-promo__sub{color:var(--roto-grau-1);}
.rh-promo__media{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:46%;z-index:1;pointer-events:none;}
.rh-promo__media img{display:block;width:100%;height:auto;mix-blend-mode:multiply;}

.rh-catstrip-carousel{position:relative;}
.rh-catstrip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:2px;}
.rh-catstrip::-webkit-scrollbar{display:none;}
.rh-catstrip__item{flex:0 0 calc((100% - 84px)/7);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 12px 18px;background:#fff;border:1px solid var(--roto-grau-3);text-align:center;transition:border-color .15s;}
.rh-catstrip__item:hover{border-color:var(--roto-rot);}
.rh-catstrip__img{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;overflow:hidden;}
.rh-catstrip__img img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;}
.rh-catstrip__label{font-size:13px;font-weight:700;line-height:1.35;color:var(--roto-text);}
.rh-catstrip__item:hover .rh-catstrip__label{color:var(--roto-rot);}
/* Flèches de défilement du bandeau catégories */
.rh-catstrip__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--roto-grau-3);color:var(--roto-text);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:border-color .15s,color .15s;}
.rh-catstrip__nav:hover{border-color:var(--roto-rot);color:var(--roto-rot);}
.rh-catstrip__nav[hidden]{display:none;}
.rh-catstrip__nav--prev{left:-14px;}
.rh-catstrip__nav--next{right:-14px;}
.rh-catstrip__nav svg{width:22px;height:22px;}

@media (max-width:1200px){.rh-catstrip__item{flex-basis:calc((100% - 42px)/4);}}
@media (max-width:980px){
  .rh-promos--3,.rh-promos--2{grid-template-columns:1fr;}
  .rh-promo{min-height:210px;}
  .rh-promo__media{width:38%;}
}
@media (max-width:560px){
  .rh-catstrip__item{flex-basis:calc((100% - 14px)/2);}
  .rh-catstrip__nav{width:38px;height:38px;}
  .rh-promo__media{display:none;}
  .rh-promo__body{max-width:none;}
}

/* ========================================================================
   MON COMPTE (WooCommerce) — habillage Roto de l'espace client
   ======================================================================== */
/* Layout connecté : sidebar nav (style facettes) + contenu */
.woocommerce-account.logged-in .entry > .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:start;}
/* ⚠️ le clearfix de woocommerce-layout.css (::before/::after display:table) devient
   un item de grille fantôme et décale nav/contenu → on le neutralise */
.woocommerce-account.logged-in .entry > .woocommerce::before,
.woocommerce-account.logged-in .entry > .woocommerce::after{content:none;display:none;}
.woocommerce-account .woocommerce-notices-wrapper{grid-column:1 / -1;}
.woocommerce-account .woocommerce-notices-wrapper:empty{display:none;}
/* préfixe .woocommerce-account requis : woocommerce-layout.css pose float+width en (0,2,0) */
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;border:1px solid var(--roto-grau-3);}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--roto-grau-3);}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-MyAccount-navigation a{display:block;padding:13px 16px;font-size:14px;font-weight:500;color:var(--roto-text);border-left:3px solid transparent;transition:color .15s,border-color .15s,background .15s;}
.woocommerce-MyAccount-navigation a:hover{color:var(--roto-rot);}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--roto-rot);border-left-color:var(--roto-rot);background:var(--roto-grau-4);font-weight:700;}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--roto-grau-1);}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:var(--roto-rot);}
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;font-size:15px;}
.woocommerce-MyAccount-content h2,.woocommerce-account .entry h2{font-weight:700;font-size:22px;line-height:1.3;color:var(--roto-text);margin:0 0 18px;}
.woocommerce-MyAccount-content h3{font-weight:500;font-size:18px;color:var(--roto-text);}
.woocommerce-MyAccount-content a:not(.button):not(.rh-account-card){color:var(--roto-rot);}
.woocommerce-MyAccount-content a:not(.button):not(.rh-account-card):hover{color:var(--roto-rot-hover);text-decoration:underline;text-underline-offset:3px;}

/* Tableau de bord : cartes d'accès rapide */
.rh-account-hello{font-size:15px;margin-top:0;}
.rh-account-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;}
.rh-account-card{display:flex;flex-direction:column;gap:7px;border:1px solid var(--roto-grau-3);padding:20px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.rh-account-card:hover{border-color:var(--roto-rot);box-shadow:0 10px 22px rgba(0,0,0,.08);}
.rh-account-card h3{margin:0;font-size:16px;font-weight:700;color:var(--roto-text);}
.rh-account-card p{margin:0;font-size:13px;line-height:1.55;color:var(--roto-grau-1);flex:1;}
.rh-account-card .rh-card__link{font-size:13px;}
.rh-account-card--sav{border-left:3px solid var(--roto-rot);}

/* Formulaires (connexion, inscription, adresses, détails du compte) */
.woocommerce-account .form-row{margin:0 0 16px;padding:0;}
.woocommerce-account .form-row label{display:block;font-size:14px;font-weight:500;color:var(--roto-text);margin-bottom:6px;}
.woocommerce-account .form-row .required{color:var(--roto-rot);text-decoration:none;}
.woocommerce-account .woocommerce input[type=text],.woocommerce-account .woocommerce input[type=email],
.woocommerce-account .woocommerce input[type=password],.woocommerce-account .woocommerce input[type=tel],
.woocommerce-account .woocommerce select,.woocommerce-account .woocommerce textarea{font-family:inherit;font-size:15px;color:var(--roto-text);border:1px solid var(--roto-grau-3);border-radius:0;padding:12px 14px;background:#fff;width:100%;}
.woocommerce-account .woocommerce input:focus,.woocommerce-account .woocommerce select:focus,
.woocommerce-account .woocommerce textarea:focus{outline:0;border-color:var(--roto-rot);box-shadow:0 0 0 2px rgba(230,0,20,.12);}
.woocommerce-account .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer;}
.woocommerce-account .woocommerce input[type=checkbox]{width:16px;height:16px;accent-color:var(--roto-rot);}
.woocommerce-account .lost_password{font-size:13px;}
.woocommerce-account .lost_password a,.woocommerce-account .woocommerce-privacy-policy-text a{color:var(--roto-rot);}
.woocommerce-account .woocommerce-privacy-policy-text{font-size:12px;color:var(--roto-grau-1);}
.woocommerce-account fieldset{border:1px solid var(--roto-grau-3);padding:18px;margin:26px 0 18px;}
.woocommerce-account fieldset legend{font-weight:700;font-size:15px;color:var(--roto-text);padding:0 8px;}

/* Boutons Woo → style Roto (angles droits, rouge plein) */
.woocommerce-account .woocommerce .button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px;font-family:inherit;font-size:15px;font-weight:700;border-radius:0;border:2px solid var(--roto-rot);background:var(--roto-rot);color:#fff;cursor:pointer;transition:background .15s,border-color .15s;}
.woocommerce-account .woocommerce .button::after{content:"›";font-size:18px;line-height:1;}
.woocommerce-account .woocommerce .button:hover{background:var(--roto-rot-hover);border-color:var(--roto-rot-hover);}

/* Connexion / création de compte : 2 colonnes encadrées */
.woocommerce-account .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.woocommerce-account .col2-set::before,.woocommerce-account .col2-set::after{content:none;display:none;} /* même piège clearfix */
.woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2{float:none;width:auto;max-width:none;}
#customer_login .col-1,#customer_login .col-2{border:1px solid var(--roto-grau-3);padding:26px 28px;}
#customer_login form{margin:0;border:0;padding:0;}

/* Tableaux (commandes, détail de commande) : zébrés façon specs */
.woocommerce-account table.shop_table{width:100%;border-collapse:collapse;border:0;border-radius:0;font-size:14px;margin:0 0 24px;}
.woocommerce-account table.shop_table th{text-align:left;background:var(--roto-zebra);font-weight:700;color:var(--roto-text);padding:12px 16px;border:0;}
.woocommerce-account table.shop_table td{padding:12px 16px;color:var(--roto-text);border:0;}
.woocommerce-account table.shop_table tbody tr:nth-child(even){background:var(--roto-zebra);}
.woocommerce-account table.shop_table tfoot th,.woocommerce-account table.shop_table tfoot td{background:none;border-top:1px solid var(--roto-grau-3);}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{min-height:36px;padding:0 14px;font-size:13px;}
.woocommerce-account .woocommerce-pagination{display:flex;justify-content:center;gap:10px;}

/* Adresses : cartes avec lien Modifier */
.woocommerce-account .woocommerce-Addresses{margin-top:6px;}
.woocommerce-account .woocommerce-Address{border:1px solid var(--roto-grau-3);padding:20px 22px;}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px;}
.woocommerce-account .woocommerce-Address-title h2,.woocommerce-account .woocommerce-Address-title h3{margin:0;font-size:17px;font-weight:700;color:var(--roto-text);}
.woocommerce-account .woocommerce-Address-title .edit{font-size:13px;font-weight:500;color:var(--roto-rot);white-space:nowrap;}
.woocommerce-account .woocommerce-Address address{font-style:normal;font-size:14px;line-height:1.7;color:var(--roto-grau-1);}

/* Responsive */
@media (max-width:980px){
  .woocommerce-account.logged-in .entry > .woocommerce{grid-template-columns:1fr;gap:26px;}
  .woocommerce-account .col2-set{grid-template-columns:1fr;}
  .rh-account-cards{grid-template-columns:1fr;}
}

/* ============ PAGE CONTACT ============ */
.rh-form-wrap--contact{max-width:1100px;}
.rh-contact{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start;}
.rh-contact__aside{background:var(--roto-grau-4);padding:26px 28px;}
.rh-contact__aside p{margin:0 0 14px;font-size:15px;line-height:24px;}
.rh-contact__aside .rh-form__sub{margin-top:0;}
.rh-contact__tel{margin:2px 0 10px;}
.rh-contact__tel a{color:var(--roto-rot);font-weight:700;font-size:22px;text-decoration:none;}
.rh-contact__mail a{color:var(--roto-rot);word-break:break-all;}
@media (max-width:980px){.rh-contact{grid-template-columns:1fr;gap:28px;}}
.rh-contact__photo{margin:0 0 18px;}
.rh-contact__photo img{display:block;width:100%;height:auto;}
.rh-content a.roto-btn,.rh-content a.roto-btn:hover{color:#fff;}

/* ============ PAGE À PROPOS ============ */
.rh-about .rh-split__media img{display:block;width:100%;height:100%;object-fit:cover;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.rh-about__intro{padding-top:24px;}
.rh-about__intro .rh-page-title{margin:0 0 18px;}
.rh-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;}
.rh-stats li{min-width:0;text-align:center;}
.rh-stats__num{display:block;font-weight:700;font-size:clamp(34px,3.4vw,46px);line-height:1.1;color:var(--roto-rot);margin-bottom:10px;}
.rh-stats__label{display:block;font-size:15px;line-height:23px;color:var(--roto-text);}
.rh-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;counter-reset:steps;}
.rh-steps li{min-width:0;position:relative;padding-top:6px;}
.rh-steps__num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--roto-rot);color:#fff;font-weight:700;font-size:22px;margin-bottom:16px;}
.rh-steps h3{font-weight:700;font-size:19px;margin:0 0 8px;color:var(--roto-text);}
.rh-steps p{margin:0;font-size:15px;line-height:24px;}
.rh-steps a{color:var(--roto-rot);text-decoration:underline;}
.rh-steps a:hover{text-decoration:none;}
.rh-steps__help{text-align:center;margin:36px 0 0;font-size:15px;}
.rh-steps__help a{color:var(--roto-rot);}
/* Deux chemins (à propos) : j'ai la réf / je ne l'ai pas */
.rh-paths__intro{text-align:center;max-width:720px;margin:0 auto 40px;font-size:16px;line-height:26px;color:var(--roto-text);}
.rh-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
.rh-path{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--roto-grau-3);padding:32px;}
.rh-path__head{border-bottom:1px solid var(--roto-grau-3);padding-bottom:16px;margin-bottom:22px;}
.rh-path__tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--roto-rot);margin-bottom:8px;}
.rh-path__head h3{font-weight:700;font-size:22px;line-height:28px;margin:0;color:var(--roto-text);}
.rh-path__steps{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:18px;}
.rh-path__steps li{min-width:0;display:flex;gap:14px;align-items:flex-start;}
.rh-path__num{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--roto-rot);color:#fff;font-weight:700;font-size:16px;}
.rh-path__steps p{margin:0;font-size:15px;line-height:24px;color:var(--roto-text);}
.rh-path .roto-btn{margin-top:auto;align-self:flex-start;}
@media (max-width:980px){
  .rh-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
  .rh-steps{grid-template-columns:1fr;gap:28px;}
  .rh-about__intro .rh-split__media{order:-1;}
}
@media (max-width:860px){
  .rh-paths{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:560px){
  .rh-stats{grid-template-columns:1fr;}
}

/* ============ PAGE MERCI (confirmation formulaire) ============ */
.roto-btn--outline{background:transparent;border-color:var(--roto-rot);color:var(--roto-rot);}
.roto-btn--outline:hover{background:var(--roto-rot);border-color:var(--roto-rot);color:#fff;}
/* bat .rh-content a.roto-btn{color:#fff} (même spécificité, déclaré plus loin) */
.rh-content a.roto-btn--outline{color:var(--roto-rot);}
.rh-content a.roto-btn--outline:hover{color:#fff;}

.rh-merci{max-width:760px;padding-top:56px;padding-bottom:72px;}
.rh-merci__card{background:#fff;border:1px solid var(--roto-grau-3);border-top:4px solid var(--roto-rot);
  padding:56px 48px 52px;text-align:center;box-shadow:0 18px 40px rgba(24,30,36,.07);}
.rh-merci__badge{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;
  border-radius:50%;background:#fdecee;margin-bottom:24px;}
.rh-merci__badge svg{color:var(--roto-rot);}
.rh-merci__badge-ring{stroke:var(--roto-rot);opacity:.28;}
.rh-merci__badge-check{stroke:var(--roto-rot);stroke-dasharray:48;stroke-dashoffset:48;
  animation:rh-merci-check .5s .15s ease forwards;}
@keyframes rh-merci-check{to{stroke-dashoffset:0;}}
@media (prefers-reduced-motion:reduce){.rh-merci__badge-check{animation:none;stroke-dashoffset:0;}}

.rh-merci__title{font-weight:700;font-size:34px;line-height:42px;color:var(--roto-rot);margin:0 0 12px;}
.rh-merci__lead{font-size:17px;line-height:27px;color:var(--roto-text);max-width:520px;margin:0 auto 36px;}

.rh-merci__steps{list-style:none;margin:0 0 32px;padding:28px 0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:26px;border-top:1px solid var(--roto-grau-3);
  border-bottom:1px solid var(--roto-grau-3);text-align:left;}
.rh-merci__step{display:flex;gap:13px;align-items:flex-start;}
.rh-merci__step-dot{flex:none;width:30px;height:30px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;font-weight:700;font-size:14px;
  background:var(--roto-grau-4);color:var(--roto-grau-1);}
.rh-merci__step.is-done .rh-merci__step-dot{background:var(--roto-rot);color:#fff;}
.rh-merci__step-txt{font-size:14px;line-height:20px;color:var(--roto-grau-1);}
.rh-merci__step-txt strong{color:var(--roto-text);font-weight:700;}

.rh-merci__phone{font-size:15px;color:var(--roto-grau-1);margin:0 0 30px;}
.rh-merci__phone a{color:var(--roto-rot);font-weight:700;white-space:nowrap;}
.rh-merci__phone a:hover{text-decoration:underline;}

.rh-merci__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.rh-merci__actions .roto-btn{justify-content:center;}

@media (max-width:680px){
  .rh-merci__card{padding:40px 22px 40px;}
  .rh-merci__steps{grid-template-columns:1fr;gap:16px;padding:22px 0;}
  .rh-merci__title{font-size:28px;line-height:36px;}
  .rh-merci__actions .roto-btn{flex:1 1 100%;}
}

/* ========================================================================
   RECHERCHE LIVE (suggestions, correction de frappe, surlignage)
   ======================================================================== */
.rh-search-field{position:relative;flex:1;display:flex;min-width:0;}
.rh-search-field input[type=search]{width:100%;}
.rh-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:70;background:#fff;border:1px solid var(--roto-grau-3);box-shadow:0 12px 28px rgba(24,30,36,.16);max-height:70vh;overflow:auto;text-align:left;}
.rh-suggest mark{background:rgba(230,0,20,.10);color:inherit;font-weight:700;padding:0;}
.rh-suggest__dym{margin:0;padding:12px 14px;font-size:14px;color:var(--roto-text);background:var(--roto-grau-4);border-bottom:1px solid var(--roto-grau-3);}
.rh-suggest__dym b{color:var(--roto-rot);}
.rh-suggest__sec{margin:0;padding:12px 14px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--roto-grau-1);}
.rh-suggest__item{display:flex;align-items:center;gap:12px;padding:9px 14px;color:var(--roto-text);}
.rh-suggest__item img{width:44px;height:44px;object-fit:contain;background:#fff;border:1px solid var(--roto-grau-3);flex:none;}
.rh-suggest__txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.rh-suggest__txt .t{font-size:15px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;}
.rh-suggest__txt .m{font-size:13px;color:var(--roto-grau-1);}
.rh-suggest__item--cat .t small{font-size:13px;color:var(--roto-grau-1);}
.rh-suggest__item .cnt{margin-left:auto;font-size:13px;color:var(--roto-grau-1);flex:none;}
.rh-suggest__item:hover,.rh-suggest__item.is-sel,.rh-suggest__all:hover,.rh-suggest__all.is-sel{background:var(--roto-grau-4);}
.rh-suggest__item:hover .t,.rh-suggest__item.is-sel .t{color:var(--roto-rot);}
.rh-suggest__all{display:block;padding:12px 14px;font-size:14px;font-weight:700;color:var(--roto-rot);border-top:1px solid var(--roto-grau-3);}
.rh-suggest__none{margin:0;padding:14px;font-size:14px;color:var(--roto-grau-1);}
.rh-suggest__none a{color:var(--roto-rot);font-weight:700;}
/* Surlignage sur la page de résultats + « Vouliez-vous dire » */
.rh-prod__name mark.rh-hl,.rh-prod__spec mark.rh-hl{background:rgba(230,0,20,.10);color:inherit;font-weight:inherit;padding:0;}
.rh-dym{margin:-14px 0 26px;font-size:15px;color:var(--roto-text);}
.rh-dym a{color:var(--roto-rot);font-weight:700;text-decoration:underline;}
/* Recherche dans le menu mobile */
.roto-mobile__search{display:flex;gap:10px;margin:0 0 18px;}
.roto-mobile__search .roto-btn{padding:12px 16px;flex:none;}
.roto-mobile__search .roto-btn svg{width:20px;height:20px;}
.roto-mobile__search .roto-btn::after{content:none;} /* pas de chevron auto : le bouton n'a que la loupe */

/* ==========================================================================
   Toast panier — alerte volante haut-droite (remplace le notice Woo vert).
   ========================================================================== */
.roto-toasts{position:fixed;top:24px;right:24px;z-index:100000;display:flex;flex-direction:column;gap:12px;width:360px;max-width:calc(100vw - 32px);pointer-events:none;}
.roto-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--roto-grau-3);border-left:4px solid #2e7d32;box-shadow:0 8px 28px rgba(0,0,0,.16);padding:14px 14px 14px 16px;opacity:0;transform:translateX(24px);transition:opacity .3s ease,transform .3s ease;}
.roto-toast.is-in{opacity:1;transform:translateX(0);}
.roto-toast.is-out{opacity:0;transform:translateX(24px);}
.roto-toast__ico{flex:none;width:26px;height:26px;border-radius:50%;background:#2e7d32;color:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.roto-toast__ico svg{width:16px;height:16px;fill:currentColor;}
.roto-toast__body{flex:1;min-width:0;}
.roto-toast__txt{margin:0 0 6px;font-size:15px;line-height:1.4;color:var(--roto-text);font-weight:500;}
.roto-toast__link{display:inline-block;font-size:14px;font-weight:700;color:var(--roto-rot);text-decoration:none;}
.roto-toast__link:hover{color:var(--roto-rot-hover);text-decoration:underline;}
.roto-toast__close{flex:none;border:0;background:none;padding:2px;margin:-2px -2px 0 0;cursor:pointer;color:var(--roto-grau-1);line-height:0;}
.roto-toast__close svg{width:18px;height:18px;fill:currentColor;}
.roto-toast__close:hover{color:var(--roto-text);}
.rh-prod__cart{cursor:pointer;}
.rh-prod__cart.loading{opacity:.6;pointer-events:none;}
@media (max-width:600px){
  .roto-toasts{top:12px;right:12px;left:12px;width:auto;max-width:none;}
}
@media (prefers-reduced-motion:reduce){
  .roto-toast{transition:opacity .2s ease;transform:none;}
  .roto-toast.is-in,.roto-toast.is-out{transform:none;}
}

/* ==========================================================================
   PANIER / COMMANDE — écrase les styles des blocs WooCommerce (wc-blocks)
   Charte Roto : boutons rouges angles droits, Roboto, texte #4D4F53.
   Spécificité : préfixe .rh-content pour battre wc-blocks (chargé après nous)
   et neutraliser .rh-content a{color:rouge} sur les boutons.
   ========================================================================== */
/* Boutons pleins (Valider la commande, Passer la commande, Appliquer) */
.rh-content .wc-block-components-button:not(.is-link),
.rh-content a.wc-block-components-button:not(.is-link){
  background:var(--roto-rot);color:#fff;border:2px solid var(--roto-rot);
  border-radius:0;box-shadow:none;font-family:var(--roto-font);
  font-weight:700;font-size:16px;min-height:48px;padding:0 22px;text-transform:none;
  transition:background .15s,border-color .15s;
}
.rh-content .wc-block-components-button:not(.is-link):hover,
.rh-content .wc-block-components-button:not(.is-link):focus,
.rh-content a.wc-block-components-button:not(.is-link):hover{
  background:var(--roto-rot-hover);border-color:var(--roto-rot-hover);color:#fff;box-shadow:none;
}
.rh-content .wc-block-components-button:not(.is-link):focus-visible{outline:2px solid var(--roto-rot);outline-offset:2px;}
.rh-content .wc-block-components-button .wc-block-components-button__text{color:inherit;}

/* Noms de produits : rouge Roto 700 (comme les cartes boutique) */
.rh-content .wc-block-components-product-name{color:var(--roto-rot);font-weight:700;font-size:16px;}
.rh-content a.wc-block-components-product-name:hover{color:var(--roto-rot-hover);text-decoration:underline;}
.rh-content .wc-block-components-product-metadata__description{color:var(--roto-grau-1);}

/* Prix et totaux : chiffres en 500/700, texte Roto */
.rh-content .wc-block-components-product-price,
.rh-content .wc-block-cart-item__total .wc-block-components-formatted-money-amount{color:var(--roto-text);font-weight:500;}
.rh-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.rh-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-weight:700;color:var(--roto-text);}

/* Colonne « Total panier » : carte grise angles droits (comme la fiche produit) */
.rh-content .wc-block-components-sidebar .wc-block-components-panel,
.rh-content .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
.rh-content .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block{border-radius:0;}
.rh-content .wc-block-components-sidebar{background:var(--roto-grau-4);padding:10px 24px 24px;}
.rh-content .wc-block-cart__totals-title,
.rh-content .wc-block-components-checkout-order-summary__title{font-family:var(--roto-font);font-weight:700;color:var(--roto-text);}

/* Stepper quantité + corbeille : angles droits, hover rouge */
.rh-content .wc-block-components-quantity-selector{border-radius:0;}
.rh-content .wc-block-components-quantity-selector::after{border-radius:0;border:1px solid var(--roto-grau-3);}
.rh-content .wc-block-components-quantity-selector input{font-family:var(--roto-font);color:var(--roto-text);}
.rh-content .wc-block-cart-item__remove-link{color:var(--roto-grau-1);text-decoration:none;}
.rh-content .wc-block-cart-item__remove-link:hover{color:var(--roto-rot);}

/* Champs de formulaire (checkout) : angles droits, focus rouge */
.rh-content .wc-block-components-text-input input[type="text"],
.rh-content .wc-block-components-text-input input[type="email"],
.rh-content .wc-block-components-text-input input[type="tel"],
.rh-content .wc-block-components-text-input input[type="number"],
.rh-content .wc-block-components-text-input input[type="url"],
.rh-content .wc-blocks-components-select .wc-blocks-components-select__select,
.rh-content .wc-block-components-form .wc-block-components-textarea{
  border-radius:0;border-color:var(--roto-grau-3);color:var(--roto-text);font-family:var(--roto-font);
}
.rh-content .wc-block-components-text-input input:focus,
.rh-content .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.rh-content .wc-block-components-form .wc-block-components-textarea:focus{
  border-color:var(--roto-rot);box-shadow:0 0 0 1px var(--roto-rot);outline:none;
}

/* Cases / radios (livraison, paiement) : accent rouge */
.rh-content .wc-block-components-checkbox .wc-block-components-checkbox__input:checked{background:var(--roto-rot);border-color:var(--roto-rot);}
.rh-content .wc-block-components-radio-control__input:checked{border-color:var(--roto-rot);}
.rh-content .wc-block-components-radio-control__input:checked::before{background:var(--roto-rot);}
.rh-content .wc-block-components-radio-control__option:focus-within,
.rh-content .wc-block-components-checkbox__input:focus{outline-color:var(--roto-rot);}

/* Liens d'action des blocs (codes promo, retour boutique…) : rouge charte */
.rh-content .wc-block-components-panel__button,
.rh-content .wc-block-components-totals-coupon-link{color:var(--roto-text);font-family:var(--roto-font);}
.rh-content .wc-block-components-panel__button:hover,
.rh-content .wc-block-components-totals-coupon-link:hover{color:var(--roto-rot);}

/* Panier vide : bouton « Retour à la boutique » déjà couvert par .wc-block-components-button */
.rh-content .wp-block-woocommerce-empty-cart-block h2{font-family:var(--roto-font);font-weight:700;color:var(--roto-text);}

/* Une seule méthode de livraison → on masque la section « Options de livraison »
   (sélecteur inutile). Le tarif unique reste auto-sélectionné côté serveur et son
   coût continue d'apparaître dans le récapitulatif de commande. */
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block{display:none !important;}


/* ==========================================================================
   PANIER VOLANT (drawer) — panneau qui glisse depuis la droite au clic sur
   « Panier ». Charte Roto : angles droits, titres 700, boutons rouges.
   ========================================================================== */
.roto-drawer{position:fixed;inset:0;z-index:99990;pointer-events:none;visibility:hidden;transition:visibility 0s linear .3s;}
.roto-drawer.is-open{pointer-events:auto;visibility:visible;transition:visibility 0s;}
.roto-drawer__overlay{position:absolute;inset:0;background:rgba(24,30,36,.45);opacity:0;transition:opacity .25s;}
.roto-drawer.is-open .roto-drawer__overlay{opacity:1;}
.roto-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:420px;max-width:calc(100vw - 40px);background:#fff;box-shadow:-12px 0 32px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column;}
.roto-drawer.is-open .roto-drawer__panel{transform:translateX(0);}
body.roto-drawer-lock{overflow:hidden;}
/* Barre d'admin WP (connecté) : décale le panneau pour ne pas passer dessous. */
body.admin-bar .roto-drawer__panel{top:32px;}
@media (max-width:782px){body.admin-bar .roto-drawer__panel{top:46px;}}
.roto-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--roto-grau-3);}
.roto-drawer__title{margin:0;font-size:18px;font-weight:700;color:var(--roto-text);}
.roto-drawer__close{border:0;background:none;padding:4px;cursor:pointer;color:var(--roto-grau-1);line-height:0;}
.roto-drawer__close svg{width:18px;height:18px;}
.roto-drawer__close:hover{color:var(--roto-rot);}
.roto-drawer__items{flex:1;overflow:auto;padding:4px 24px 8px;}
.roto-drawer__items[aria-busy]{opacity:.6;}
.roto-drawer__empty{color:var(--roto-grau-1);padding:20px 0;}
.roto-drawer__empty a{color:var(--roto-rot);font-weight:700;}
.roto-drawer__item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--roto-grau-3);}
.roto-drawer__item.is-busy{opacity:.5;pointer-events:none;}
.roto-drawer__img{flex:none;}
.roto-drawer__img img{width:64px;height:64px;object-fit:contain;border:1px solid var(--roto-grau-3);background:#fff;}
.roto-drawer__mid{flex:1;min-width:0;}
.roto-drawer__name{display:block;font-size:15px;font-weight:700;color:var(--roto-rot);line-height:1.3;margin:0 0 2px;}
.roto-drawer__name:hover{color:var(--roto-rot-hover);text-decoration:underline;}
.roto-drawer__unit{margin:0 0 8px;font-size:13px;color:var(--roto-grau-1);}
.roto-drawer__qty{display:inline-flex;align-items:center;border:1px solid var(--roto-grau-3);}
.roto-drawer__qty button{width:28px;height:28px;border:0;background:none;cursor:pointer;font-size:16px;color:var(--roto-text);line-height:1;}
.roto-drawer__qty button:hover{color:var(--roto-rot);}
.roto-drawer__qty span{min-width:26px;text-align:center;font-size:14px;}
.roto-drawer__right{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;}
.roto-drawer__line{margin:0;font-weight:500;color:var(--roto-text);}
.roto-drawer__rm{border:0;background:none;padding:2px;cursor:pointer;color:var(--roto-grau-1);line-height:0;}
.roto-drawer__rm svg{width:16px;height:16px;}
.roto-drawer__rm:hover{color:var(--roto-rot);}
.roto-drawer__foot{padding:18px 24px 22px;border-top:1px solid var(--roto-grau-3);background:var(--roto-grau-4);}
.roto-drawer__subtotal{display:flex;justify-content:space-between;margin:0 0 4px;font-size:16px;font-weight:700;color:var(--roto-text);}
.roto-drawer__note{margin:0 0 14px;font-size:13px;color:var(--roto-grau-1);}
.roto-drawer__foot .roto-btn{width:100%;justify-content:center;margin:0 0 10px;}
.roto-drawer__foot .roto-btn--outline{margin-bottom:0;}
.roto-drawer__secure{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:12px;color:var(--roto-grau-1);}
.roto-drawer__secure svg{width:18px;height:18px;color:var(--roto-rot);flex:none;}
@media (prefers-reduced-motion:reduce){
  .roto-drawer__panel,.roto-drawer__overlay{transition:none;}
}

/* ==========================================================================
   PAGES LÉGALES (Mentions légales / Politique de confidentialité / CGV)
   Template template-legal.php — prose lisible à la charte Roto.
   ========================================================================== */
.rh-legal{padding:8px 0 24px;}
.rh-legal__wrap{max-width:900px;margin:0 auto;padding:16px 30px 80px;}
.rh-legal .rh-page-title{margin:0 0 6px;}
.rh-legal__updated{font-size:14px;color:var(--roto-grau-1);margin:0 0 34px;}

.rh-legal__body{color:var(--roto-text);font-size:16px;line-height:1.625;}
.rh-legal__body > :first-child{margin-top:0;}
.rh-legal__lead{font-size:18px;line-height:1.6;color:var(--roto-text);margin:0 0 28px;}
.rh-legal__body h2{
  font-weight:700;font-size:22px;line-height:1.3;color:var(--roto-text);
  margin:44px 0 16px;padding-bottom:10px;position:relative;
}
.rh-legal__body h2::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--roto-rot);}
.rh-legal__body h3{font-weight:500;font-size:18px;line-height:1.35;color:var(--roto-text);margin:26px 0 10px;}
.rh-legal__body p{margin:0 0 16px;}
.rh-legal__body ul{margin:0 0 18px;padding-left:22px;}
.rh-legal__body li{margin:0 0 8px;padding-left:2px;}
.rh-legal__body strong{font-weight:700;color:#2b2d30;}
.rh-legal__body a{color:var(--roto-rot);text-decoration:underline;text-underline-offset:2px;}
.rh-legal__body a:hover{color:var(--roto-rot-hover);}
.rh-legal__body hr{border:0;border-top:1px solid var(--roto-grau-3);margin:40px 0;}

@media (max-width:600px){
  .rh-legal__wrap{padding:12px 18px 56px;}
  .rh-legal__body h2{font-size:20px;margin-top:34px;}
  .rh-legal__lead{font-size:17px;}
}

/* ========================================================================
   CADRES D'IMAGES — reprise sur woocommerce-layout.css
   `.woocommerce img,.woocommerce-page img{height:auto;max-width:100%}` (spécificité
   0-1-1, feuille chargée APRÈS la nôtre) neutralisait le `height:100%` de nos cadres :
   une photo au format portrait (ex. « Gâche M68A ») débordait de sa carte et cassait
   l'alignement de la rangée (constat Thomas 27/07/2026, bloc « Pièces souvent associées »).
   Même famille de piège que le logo PayPal du 23/07 → spécificité relevée.
   ======================================================================== */
/* Sans `overflow:hidden`, une image plus haute que le cadre l'emporte sur l'`aspect-ratio`
   (la taille minimale automatique de la boîte redevient celle du contenu) : la carte
   s'allonge et casse l'alignement de la rangée. Vérifié : photo 325×484 dans un cadre 1/1
   de 325px → 485px avant, 325px après. */
.rh-prod .rh-prod__img{overflow:hidden;min-height:0;}
.rh-prod .rh-prod__img img,
.rh-card .rh-card__img img,
.rh-pdp .rh-gallery__main img,
.rh-pdp .rh-gallery__thumbs button img{width:100%;height:100%;max-height:100%;object-fit:contain;}
.rh-catstrip .rh-catstrip__img img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
.rh-suggest .rh-suggest__item img{width:44px;height:44px;max-height:44px;object-fit:contain;}
.roto-drawer .roto-drawer__img img{width:64px;height:64px;max-height:64px;object-fit:contain;}
.rh-form .rh-tile-pick img{height:130px;max-height:130px;object-fit:contain;}

/* REPRISE DES COMPTES — encart sur l'écran de connexion et « mot de passe oublié ».
   Même langage que .rh-reassure__lead : fond gris, liseré rouge, jamais alarmiste. */
.rh-acctnotice{background:var(--roto-grau-4);border-left:4px solid var(--roto-rot);padding:16px 20px;margin:0 0 28px;}
.rh-acctnotice__body p{margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--roto-text);}
.rh-acctnotice__body p:last-child{margin-bottom:0;}
.rh-acctnotice__link{display:inline-block;margin-top:4px;font-size:15px;font-weight:700;color:var(--roto-rot);text-decoration:underline;text-underline-offset:3px;}
.rh-acctnotice__link:hover{text-decoration:none;}
@media(max-width:560px){.rh-acctnotice{padding:14px 16px;margin-bottom:22px;}.rh-acctnotice__body p{font-size:14px;}}
