/* ---------------------------------------------------------------------------
   Fiches avis, gabarit 2026 (maquette Scheppach du 02/10/2026).
   Toutes les classes sont prefixees fx- : la feuille du site a deja .toc, .bar,
   .hero, .panel... Chargee uniquement par les fiches qui declarent
   $page['css'] = ['fiche-avis'].
   Regles maison : angles droits partout (seuls les pastilles et le logo sont
   ronds), vert sapin #0E3B2E + blanc, accent jaune #F0B429.
   --------------------------------------------------------------------------- */

/* La fiche occupe toute la largeur : la moitie droite du hero est verte jusqu'au bord. */
.shell.fx-page{max-width:none;background:#fff;box-shadow:none}
.fx-root{background:#fff;color:#23312A;font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.65}
.fx-root h1,.fx-root h2,.fx-root h3{font-family:inherit}
.fx-root .rv{margin-top:12px}
/* La feuille du site stylise table/th/td globalement (min-width 820px, majuscules,
   bordures) : on remet a zero dans la fiche. */
.fx-root table{min-width:0}
.fx-root th{text-transform:none;font-size:inherit;color:inherit}
.fx-root td{border-bottom:0;font-size:inherit}
.fx-root tbody tr:hover{background:none}
.fx-root *{box-sizing:border-box}
.fx-root a{color:#0E3B2E}.fx-root a:hover{color:#1D5C46}
html{scroll-behavior:smooth}
.fx-root section[id]{scroll-margin-top:calc(var(--fx-hdr,76px) + 84px)}
.fx-f-disp{font-family:'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-0.02em}
.fx-f-mono{font-family:'DM Mono',ui-monospace,monospace}
.fx-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.fx-h2{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-0.02em;font-size:38px;line-height:1.08;font-weight:700;color:#0E3B2E}
.fx-lede{margin:12px 0 0;color:#5B6C62;max-width:60ch}
.fx-lab{font-family:'DM Mono',ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}

/* ---- Bouton Amazon ---- */
.fx-amzbtn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:14px;background:#FFD814;color:#0F1111;text-decoration:none;border-radius:0;padding:9px 24px 9px 9px;box-shadow:0 14px 28px -14px rgba(150,110,0,.75),inset 0 -3px 0 rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.fx-amzbtn:hover{background:#F7CA00;color:#0F1111;transform:translateY(-2px);box-shadow:0 20px 34px -14px rgba(150,110,0,.85),inset 0 -3px 0 rgba(0,0,0,.08)}
.fx-amzbtn:active{transform:none}
.fx-amzbtn .fx-logo{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.fx-amzbtn .fx-logo img{width:34px;height:34px;display:block}
.fx-amzbtn .fx-t{display:flex;flex-direction:column;line-height:1.15}
.fx-amzbtn .fx-t small{font-size:13px;font-weight:600;color:#3B3B3B}
.fx-amzbtn .fx-t b{font-size:20px;font-weight:700}
.fx-amzbtn .fx-arw{transition:transform .2s}
.fx-amzbtn:hover .fx-arw{transform:translateX(5px)}
.fx-amzbtn::after{content:'';position:absolute;top:0;left:-60%;width:30%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:fx-shine 6s ease-in-out 2s infinite;pointer-events:none}
@keyframes fx-shine{0%{left:-60%}14%{left:130%}100%{left:130%}}
.fx-amzbtn.lg{padding:11px 30px 11px 11px;gap:16px}
.fx-amzbtn.lg .fx-logo{width:56px;height:56px}.fx-amzbtn.lg .fx-logo img{width:40px;height:40px}
.fx-amzbtn.lg .fx-t b{font-size:23px}
.fx-amzbtn.xl{padding:16px 48px 16px 16px;gap:24px}
.fx-amzbtn.xl .fx-logo{width:96px;height:96px}.fx-amzbtn.xl .fx-logo img{width:68px;height:68px}
.fx-amzbtn.xl .fx-t small{font-size:20px}.fx-amzbtn.xl .fx-t b{font-size:40px}
.fx-amzbtn.xl .fx-arw{width:34px;height:34px}
.fx-amzbtn.sm{padding:5px 16px 5px 5px;gap:10px}
.fx-amzbtn.sm .fx-logo{width:34px;height:34px}.fx-amzbtn.sm .fx-logo img{width:24px;height:24px}
.fx-amzbtn.sm .fx-t b{font-size:16px}
/* Hero : toute la moitie droite est verte, du haut au bas de la section et jusqu'au
   bord de l'ecran. La couche demarre au milieu de la gouttiere entre les 2 colonnes
   (grille 1fr / 1.4fr, gap 40px, wrap 1200px, padding 32px). */
.fx-herosec{position:relative;overflow:hidden}
.fx-herosec>.fx-wrap{position:relative}
.fx-herobg{position:absolute;top:0;bottom:0;right:0;left:max(calc(50% - 91px),calc(52px + (100% - 104px) / 2.4));background:#0E3B2E}
.fx-stage{position:relative;display:flex;flex-direction:column;gap:12px;padding:4px 0;margin-right:calc(-1 * max(0px, (100vw - 1200px) / 2 - 8px))}
.fx-gal{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:start}
.fx-stage .fx-badge2{align-self:flex-start;background:#F0B429;color:#0E3B2E;border-radius:0;padding:6px 14px;font-size:13px;font-weight:700}
.fx-stage .fx-panel{position:relative;background:#fff;border-radius:0;display:grid;place-items:center;padding:10px;aspect-ratio:4/3}
.fx-stage .fx-panel img{position:relative;width:100%;height:100%;object-fit:contain;animation:fx-rise .9s cubic-bezier(.2,.7,.2,1) both}
.fx-stage .fx-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;box-sizing:border-box;border:2px dashed #B9CBBF;border-radius:0;color:#5B6C62;font-size:15px;font-weight:600}
.fx-stage .fx-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#0E3B2E;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.fx-stage .fx-nav.prev{left:12px}.fx-stage .fx-nav.next{right:12px}
.fx-stage .fx-nav:hover{background:#1D5C46}
.fx-thumbs{display:flex;flex-direction:column;gap:12px}
.fx-thumbs button{width:100%;aspect-ratio:4/3;background:#fff;border:3px solid transparent;border-radius:0;padding:6px;cursor:pointer;display:grid;place-items:center;overflow:hidden;opacity:.75;transition:opacity .15s,border-color .15s}
.fx-thumbs button:hover{opacity:1}
.fx-thumbs button.on{border-color:#F0B429;opacity:1}
.fx-thumbs img{width:100%;height:100%;object-fit:contain}
.fx-thumbs .fx-tph{font-size:12px;line-height:1.3;color:#5B6C62;font-weight:600;text-align:center}
.fx-stage .fx-count{color:#CFE0D6;font-size:13px;text-align:right;margin-top:-2px;padding-right:164px}
@keyframes fx-rise{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.fx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #DCE5DF;margin-top:22px}
.fx-stats div{padding:12px 0 0;border-right:1px solid #DCE5DF;padding-right:12px;padding-left:14px}
.fx-stats div:first-child{padding-left:0}.fx-stats div:last-child{border-right:0}
.fx-stats b{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-0.02em;color:#0E3B2E;line-height:1.1}
.fx-stats b small{font-size:15px;font-weight:500;color:#5B6C62;margin-left:2px}
.fx-stats span{font-size:13px;color:#5B6C62}
.fx-subbar{position:sticky;top:var(--fx-hdr,76px);z-index:25;background:rgba(255,255,255,.96);border-bottom:1px solid #DCE5DF;box-shadow:0 8px 24px -20px rgba(14,59,46,.45)}
.fx-toc{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0}
.fx-toc::-webkit-scrollbar{display:none}
.fx-toc a{flex:none;padding:6px 10px;border-radius:0;text-decoration:none;color:#5B6C62;font-size:13px;font-weight:500;transition:background .25s,color .25s}
.fx-toc a:hover{background:#F1F5F2;color:#0E3B2E}
.fx-toc a.on{background:#0E3B2E;color:#fff}
.fx-ctx{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid #DCE5DF;align-items:baseline}
.fx-ctx b{color:#0E3B2E}

/* ---- Tableau fiche technique ---- */
.fx-spec{width:100%;border-collapse:separate;border-spacing:0;font-size:17px}
.fx-spec thead th{background:#0E3B2E;color:#fff;text-align:left;padding:18px 26px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:-0.01em}
.fx-spec thead th:first-child{border-top-left-radius:0}
.fx-spec thead th:last-child{border-top-right-radius:0;text-align:right}
.fx-spec .fx-grp th{background:#F1F5F2;color:#1D5C46;text-align:left;padding:12px 26px;font-family:'DM Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #DCE5DF}
.fx-spec td{padding:15px 26px;border-top:1px solid #E8EFEA;background:#fff;transition:background .15s}
.fx-spec td:first-child{color:#23312A;width:42%;font-weight:600}
.fx-spec td:last-child{text-align:right;font-weight:700;color:#0E3B2E}
.fx-spec tr:hover td{background:#FAFCFA}
.fx-spec tr.key td{background:#FFF8E1}
.fx-spec tr.key td:last-child{font-size:19px}
.fx-spec tbody tr:last-child td:first-child{border-bottom-left-radius:0}
.fx-spec tbody tr:last-child td:last-child{border-bottom-right-radius:0}
.fx-spec-wrap{border:2px solid #0E3B2E;border-radius:0;overflow:hidden;box-shadow:0 24px 50px -36px rgba(14,59,46,.55)}
.fx-specgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.fx-specgrid .fx-spec-wrap{height:100%;box-sizing:border-box}
.fx-spec thead th.gh{font-size:19px;padding:16px 22px;text-align:left}
.fx-spec thead th.gh .fx-ghi{display:flex;align-items:center;gap:12px}
.fx-spec thead th.gh svg{flex:none}
.fx-spec.g td{padding:15px 22px;font-size:17px}
.fx-spec.g td:first-child{width:46%;font-size:18px}
.fx-spec.g tbody tr:last-child td{border-bottom-left-radius:0;border-bottom-right-radius:0}
.fx-atouts{margin:28px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fx-atouts li{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1.5px solid #DCE5DF;border-radius:0;padding:22px}
.fx-atouts .fx-ic{flex:none;width:44px;height:44px;border-radius:50%;background:#0E3B2E;display:grid;place-items:center}
.fx-atouts b{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:19px;font-weight:700;color:#0E3B2E;line-height:1.2}
.fx-atouts span{display:block;margin-top:4px;font-size:15px;color:#5B6C62;line-height:1.45}

.fx-note-card{background:#0E3B2E;color:#fff;border-radius:0;padding:36px;text-align:center}
.fx-crit{display:grid;grid-template-columns:170px minmax(0,1fr) 56px;gap:18px;align-items:center}
.fx-bar{display:block;height:14px;border-radius:0;background:#E8EFEA;overflow:hidden}
.fx-bar i{display:block;height:100%;border-radius:0;background:#1D5C46;transform-origin:left}
.fx-bars.in .fx-bar i{animation:fx-grow 1.4s cubic-bezier(.2,.7,.2,1) both}
.fx-bars.in .fx-crit-2 .fx-bar i{animation-delay:.12s}.fx-bars.in .fx-crit-3 .fx-bar i{animation-delay:.24s}.fx-bars.in .fx-crit-4 .fx-bar i{animation-delay:.36s}
@keyframes fx-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.fx-val{font-family:'DM Mono',monospace;font-weight:500;font-size:15px;background:#0E3B2E;color:#fff;border-radius:0;padding:3px 0;text-align:center}

.fx-q{border-top:1px solid #DCE5DF}
.fx-q:last-of-type{border-bottom:1px solid #DCE5DF}
.fx-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0}
.fx-q summary h3{margin:0;font-weight:600;font-size:17px;line-height:1.4;color:#0E3B2E}
.fx-q summary::-webkit-details-marker{display:none}
.fx-q summary::after{content:'+';font-family:'DM Mono',monospace;font-size:22px;color:#1D5C46;transition:transform .25s}
.fx-q[open] summary::after{transform:rotate(45deg)}
.fx-q[open] p{animation:fx-fade .3s ease}
@keyframes fx-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.fx-aff{position:relative;display:inline-block;vertical-align:middle}
.fx-aff summary{list-style:none;cursor:pointer;width:26px;height:26px;border-radius:50%;border:1.5px solid #5B6C62;color:#5B6C62;display:grid;place-items:center;font-family:'DM Mono',monospace;font-size:13px;font-weight:500}
.fx-aff summary::-webkit-details-marker{display:none}
.fx-aff[open] summary,.fx-aff summary:hover{background:#0E3B2E;border-color:#0E3B2E;color:#fff}
.fx-aff .fx-tip{position:absolute;left:0;top:36px;z-index:30;width:250px;background:#0E3B2E;color:#fff;border-radius:0;padding:12px 14px;font-size:13px;line-height:1.5;box-shadow:0 14px 30px -14px rgba(14,59,46,.5);animation:fx-fade .2s ease}
.fx-alt{background:#fff;border:1px solid #DCE5DF;border-radius:0;padding:26px;transition:transform .25s,box-shadow .25s}
.fx-alt:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(14,59,46,.35)}
.fx-alt.me{border:2px solid #0E3B2E}
.fx-alt .fx-r{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #E8EFEA;font-size:15px}
.fx-alt .fx-r span{color:#5B6C62}.fx-alt .fx-r b{color:#0E3B2E}
.fx-preset{cursor:pointer;border:1.5px solid #DCE5DF;background:#fff;color:#0E3B2E;border-radius:0;padding:8px 16px;font-family:'DM Mono',monospace;font-size:14px;transition:background .2s,border-color .2s}
.fx-preset:hover{border-color:#0E3B2E;background:#F1F5F2}
.fx-root input[type=range]{width:100%;accent-color:#0E3B2E;height:28px;cursor:pointer}
.fx-out{transition:color .2s}
.fx-ctastrip{position:relative;background:#0E3B2E;border:0;border-radius:0;padding:22px 22px 22px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 24px 50px -36px rgba(14,59,46,.55)}
.fx-mbar{display:none}
.fx-root :focus-visible{outline:3px solid #F0B429;outline-offset:3px}
@media (max-width:980px){
  .fx-hero,.fx-calc,.fx-cotes,.fx-verdict{grid-template-columns:1fr !important;gap:32px !important}
  .fx-g2,.fx-g3,.fx-g4{grid-template-columns:1fr !important}
  .fx-atouts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-nav-links,.fx-sub-cta{display:none !important}
  .fx-herobg{display:none}
  .fx-stage{background:#0E3B2E;margin:0 -32px;padding:20px 32px 28px}
}
@media (max-width:720px){
  .fx-wrap{padding:0 20px}
  .fx-h1{font-size:36px !important}
  .fx-h2{font-size:30px}
  .fx-ctx{grid-template-columns:1fr;gap:4px}
  .fx-crit{grid-template-columns:110px minmax(0,1fr) 48px;gap:12px}
  .fx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-stats div{border-right:0;padding-left:0}
  .fx-stage{margin:0 -20px;padding:16px 20px 20px;gap:12px}.fx-stage .fx-panel{border-radius:0;padding:8px}
  .fx-gal{grid-template-columns:1fr}.fx-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fx-stage .fx-count{padding-right:0}.fx-thumbs button{border-radius:0;padding:4px}.fx-stage .fx-nav{width:44px;height:44px}
  .fx-ctastrip{flex-direction:column;align-items:stretch}
  .fx-amzbtn{width:100%;justify-content:space-between}
  .fx-spec td,.fx-spec thead th,.fx-spec .fx-grp th{padding-left:16px;padding-right:16px}
  .fx-specgrid,.fx-atouts{grid-template-columns:1fr}
  .fx-amzbtn.xl{padding:10px 24px 10px 10px;gap:14px}.fx-amzbtn.xl .fx-logo{width:60px;height:60px}.fx-amzbtn.xl .fx-logo img{width:42px;height:42px}.fx-amzbtn.xl .fx-t b{font-size:24px}.fx-amzbtn.xl .fx-t small{font-size:14px}
  .fx-ctastrip img.cimg{width:88px !important;height:66px !important}
  .fx-mbar{display:flex !important;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid #DCE5DF;padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fx-amzbtn::after{display:none}.fx-amzbtn,.fx-alt,.fx-amzbtn .fx-arw{transition:none}.fx-stage img{animation:none}.fx-bar i{transform:none}.fx-bars.in .fx-bar i{animation:none}.fx-q[open] p,.fx-aff .fx-tip{animation:none}}

/* Bouton d'achat sans marchand affilie (pas de logo) */
.fx-amzbtn.fx-neutre{padding-left:24px}
.fx-amzbtn.fx-neutre.lg{padding-left:30px}
.fx-amzbtn.fx-neutre.xl{padding-left:48px}
.fx-amzbtn.fx-neutre.sm{padding-left:16px}
