/* resources.css — pages Ressources (répertoires + tiroir latéral droit) & fiches produit ecom.
   Réutilise les tokens :root du styles.css du front (--primary, --ink, --cream, --line…). */

/* ---------- Répertoire de cartes ---------- */
.rdir-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.rdir-search{flex:1 1 240px;border:1px solid var(--line,#E2D9C8);border-radius:10px;padding:11px 13px;font:600 15px var(--sans);color:var(--ink,#2B2620);background:#fff}
.rdir-search:focus{outline:2px solid var(--primary,#C96F4A);outline-offset:1px;border-color:var(--primary,#C96F4A)}
.rdir-fams{display:flex;gap:7px;flex-wrap:wrap}
.rdir-fam{border:1px solid var(--line,#E2D9C8);background:#fff;border-radius:999px;padding:7px 13px;font:700 12.5px var(--sans);color:var(--text-secondary,#5A5248);cursor:pointer;transition:.15s}
.rdir-fam:hover{border-color:var(--primary,#C96F4A);color:var(--primary,#C96F4A)}
.rdir-fam.is-active{background:var(--primary,#C96F4A);border-color:var(--primary,#C96F4A);color:#fff}
.rdir-count{font-size:13px;color:var(--text-muted,#857C6F);font-weight:600;margin-left:auto}
.rdir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.rcard{background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:14px;padding:15px 16px;cursor:pointer;text-align:left;transition:.18s;display:flex;flex-direction:column;gap:7px;font-family:var(--sans)}
.rcard:hover{border-color:var(--primary,#C96F4A);transform:translateY(-2px);box-shadow:0 10px 26px rgba(43,38,32,.08)}
.rcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rcard-name{font:700 16px/1.2 var(--serif);color:var(--ink,#2B2620)}
.rcard-fam{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--secondary,#8A9B7C);white-space:nowrap}
.rcard-d{font-size:13px;line-height:1.5;color:var(--text-muted,#857C6F);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rcard-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.rcard-chip{font-size:11px;font-weight:700;background:var(--fill,#EFE8DA);color:var(--text-secondary,#5A5248);border-radius:99px;padding:3px 9px}
.rcard-chip.vol{background:var(--callout-bg,#F5E9DF);color:var(--callout-text,#8A4A2C)}
.rdir-more{display:block;margin:20px auto 0;border:1.5px solid var(--primary,#C96F4A);background:transparent;color:var(--primary,#C96F4A);border-radius:999px;padding:11px 24px;font:700 14px var(--sans);cursor:pointer}
.rdir-more:hover{background:var(--callout-bg,#F5E9DF)}
.rdir-empty{padding:26px;text-align:center;color:var(--text-muted,#857C6F);font-size:15px}

/* ---------- Tiroir latéral droit ---------- */
.rdrawer-ov{position:fixed;inset:0;background:rgba(43,38,32,.45);opacity:0;visibility:hidden;transition:.25s;z-index:60}
.rdrawer-ov.open{opacity:1;visibility:visible}
.rdrawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:var(--cream,#F6F1E7);box-shadow:-14px 0 44px rgba(43,38,32,.18);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:61;overflow-y:auto;padding:26px 24px 40px}
.rdrawer.open{transform:translateX(0)}
.rdrawer-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line,#E2D9C8);background:#fff;color:var(--ink,#2B2620);font-size:20px;line-height:1;cursor:pointer}
.rdrawer-close:hover{border-color:var(--primary,#C96F4A);color:var(--primary,#C96F4A)}
.rdrawer-fam{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--secondary,#8A9B7C);margin:0 0 6px}
.rdrawer h3{font:700 clamp(23px,3vw,29px)/1.12 var(--serif);margin:0 0 10px;color:var(--ink,#2B2620);padding-right:40px}
.rdrawer .rd-d{font-size:15px;line-height:1.6;color:var(--text-secondary,#5A5248);margin:0 0 16px}
.rd-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
.rd-facts div{background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:11px;padding:10px 12px}
.rd-facts b{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#857C6F);margin-bottom:3px}
.rd-facts span{font:600 14px var(--sans);color:var(--ink,#2B2620)}
.rd-block{background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:12px;padding:14px 16px;margin-bottom:12px}
.rd-block h4{font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#857C6F);margin:0 0 7px}
.rd-block p{font-size:14.5px;line-height:1.6;color:var(--text,#2B2620);margin:0}
.rd-block.warn{background:var(--callout-bg,#F5E9DF);border-color:var(--callout-border,#E4C9B5)}
.rd-block.warn p{color:var(--callout-text,#8A4A2C)}
.rd-seo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.rd-seo span{font-size:11.5px;font-weight:700;background:var(--fill,#EFE8DA);color:var(--text-secondary,#5A5248);border-radius:99px;padding:4px 10px}
.rd-cta{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.rd-cta a{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;font:700 14px var(--sans);text-align:center}
.rd-cta a.primary{background:var(--primary,#C96F4A);color:#fff}
.rd-cta a.primary:hover{background:var(--primary-hover,#B45C39)}
.rd-cta a.ghost{border:1.5px solid var(--primary,#C96F4A);color:var(--primary,#C96F4A)}
.rd-cta a.ghost:hover{background:var(--callout-bg,#F5E9DF)}
@media(max-width:560px){.rd-facts{grid-template-columns:1fr}.rdrawer{width:100%}}

/* ---------- Fiche produit (ecom) ---------- */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}
.pdp-gal{position:sticky;top:90px}
.pdp-main{position:relative;background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:16px;padding:18px;display:grid;place-items:center;min-height:320px}
.pdp-main img{max-width:100%;max-height:360px;object-fit:contain}
.pdp-ph{width:100%;height:320px;border-radius:12px;background:linear-gradient(135deg,var(--fill,#EFE8DA),var(--callout-bg,#F5E9DF));display:grid;place-items:center;color:var(--callout-text,#8A4A2C);font:700 15px var(--sans);text-align:center;padding:20px}
/* Flèches sur l'image principale */
.pdp-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid var(--line,#E2D9C8);background:rgba(255,255,255,.92);color:var(--ink,#2B2620);display:grid;place-items:center;cursor:pointer;opacity:0;transition:.18s;box-shadow:0 4px 14px rgba(43,38,32,.12);z-index:2}
.pdp-nav svg{width:19px}
.pdp-nav.prev{left:10px}.pdp-nav.next{right:10px}
.pdp-main:hover .pdp-nav,.pdp-nav:focus-visible{opacity:1}
.pdp-nav:hover{border-color:var(--primary,#C96F4A);color:var(--primary,#C96F4A)}
.pdp-counter{position:absolute;right:12px;bottom:10px;background:rgba(43,38,32,.72);color:#fff;border-radius:99px;padding:3px 10px;font:700 11.5px var(--sans);letter-spacing:.03em}
/* Carrousel de miniatures sous l'image */
.pdp-carousel{position:relative;display:flex;align-items:center;gap:6px;margin-top:10px}
.pdp-car-arrow{flex:0 0 28px;width:28px;height:66px;border:1px solid var(--line,#E2D9C8);border-radius:9px;background:#fff;color:var(--ink,#2B2620);display:grid;place-items:center;cursor:pointer;transition:.15s}
.pdp-car-arrow svg{width:16px}
.pdp-car-arrow:hover:not(:disabled){border-color:var(--primary,#C96F4A);color:var(--primary,#C96F4A)}
.pdp-car-arrow:disabled{opacity:.3;cursor:default}
.pdp-car-arrow[hidden]{display:none}
.pdp-thumbs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0;flex:1}
.pdp-thumbs::-webkit-scrollbar{display:none}
.pdp-thumbs button{flex:0 0 66px;height:66px;border:1.5px solid var(--line,#E2D9C8);border-radius:10px;background:#fff;padding:4px;cursor:pointer;display:grid;place-items:center;scroll-snap-align:start;transition:.15s}
.pdp-thumbs button:hover{border-color:var(--secondary,#8A9B7C)}
.pdp-thumbs button.is-active{border-color:var(--primary,#C96F4A);box-shadow:0 0 0 2px rgba(201,111,74,.16)}
.pdp-thumbs img{max-width:100%;max-height:56px;object-fit:contain}
@media(hover:none){.pdp-nav{opacity:1}}
.pdp-brand{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--secondary,#8A9B7C);margin:0 0 6px}
.pdp h1{font:700 clamp(26px,3.4vw,36px)/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 10px;color:var(--ink,#2B2620)}
.pdp-sub{font-size:16px;line-height:1.6;color:var(--text-secondary,#5A5248);margin:0 0 16px}
.pdp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:14px 0}
.pdp-price .now{font:700 30px var(--serif);color:var(--callout-text,#8A4A2C)}
.pdp-price .was{font-size:16px;color:var(--text-muted,#857C6F);text-decoration:line-through}
.pdp-price .note{font-size:12.5px;color:var(--text-muted,#857C6F);width:100%}
.pdp-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--primary,#C96F4A);color:#fff;border-radius:999px;padding:15px 22px;font:700 16px var(--sans);transition:.2s}
.pdp-cta:hover{background:var(--primary-hover,#B45C39);transform:translateY(-2px)}
.pdp-cta-note{font-size:12px;color:var(--text-muted,#857C6F);text-align:center;margin:8px 0 0}
.pdp-badges{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
.pdp-badge{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:11px;padding:10px 12px;font:600 13px var(--sans);color:var(--text-secondary,#5A5248)}
.pdp-badge svg{width:17px;color:var(--secondary,#8A9B7C);flex:0 0 17px}
.pdp-bene{margin:18px 0}
.pdp-bene h2{font:700 19px/1.2 var(--serif);margin:0 0 10px;color:var(--ink,#2B2620)}
.pdp-bene ul{list-style:none;padding:0;margin:0}
.pdp-bene li{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--text,#2B2620);margin:8px 0}
.pdp-bene li svg{width:17px;color:var(--primary,#C96F4A);flex:0 0 17px;margin-top:3px}
.pdp-specs{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:12px;overflow:hidden;margin:16px 0}
.pdp-specs td{padding:10px 13px;border-bottom:1px solid var(--line,#E2D9C8)}
.pdp-specs td:first-child{color:var(--text-muted,#857C6F);width:45%}
.pdp-specs td:last-child{font-weight:700;color:var(--ink,#2B2620)}
.pdp-specs tr:last-child td{border-bottom:0}
.pdp-verdict{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.pdp-verdict div{border-radius:12px;padding:14px 16px;font-size:14.5px;line-height:1.55}
.pdp-verdict .pour{background:#F0F3EA;border:1px solid #D9E2CC;color:#3F4F33}
.pdp-verdict .contre{background:var(--callout-bg,#F5E9DF);border:1px solid var(--callout-border,#E4C9B5);color:var(--callout-text,#8A4A2C)}
.pdp-verdict h3{font:700 12.5px var(--sans);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;opacity:.85}
.pdp-disc{font-size:12.5px;color:var(--text-muted,#857C6F);background:var(--fill,#EFE8DA);border-radius:10px;padding:11px 14px;margin-top:18px;line-height:1.5}
@media(max-width:900px){.pdp{grid-template-columns:1fr;gap:22px}.pdp-gal{position:static}}
@media(max-width:560px){.pdp-badges,.pdp-verdict{grid-template-columns:1fr}}

/* ---------- Comparatif machines ---------- */
.cmp-wrap{overflow-x:auto;margin:18px 0}
.cmp{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:12px;overflow:hidden}
.cmp th,.cmp td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line,#E2D9C8);vertical-align:middle}
.cmp th{background:var(--fill,#EFE8DA);font:700 12px var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--ink,#2B2620);white-space:nowrap}
.cmp tr:last-child td{border-bottom:0}
.cmp tbody tr:hover{background:var(--callout-bg,#F5E9DF)}
.cmp .m-name{font:700 15px var(--serif);color:var(--ink,#2B2620);display:block}
.cmp .m-brand{font-size:11.5px;color:var(--text-muted,#857C6F)}
.cmp .m-price{font-weight:700;color:var(--callout-text,#8A4A2C);white-space:nowrap}
.cmp a.m-go{display:inline-flex;align-items:center;gap:5px;background:var(--primary,#C96F4A);color:#fff;border-radius:999px;padding:7px 13px;font:700 12.5px var(--sans);white-space:nowrap}
.cmp a.m-go:hover{background:var(--primary-hover,#B45C39)}
.cmp-thumb{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:8px}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0}
.pick{background:#fff;border:1px solid var(--line,#E2D9C8);border-radius:14px;padding:18px;display:flex;flex-direction:column}
.pick.best{border-color:var(--primary,#C96F4A);box-shadow:0 10px 30px rgba(201,111,74,.13)}
.pick-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--secondary,#8A9B7C);border-radius:99px;padding:4px 10px;align-self:flex-start;margin-bottom:9px}
.pick.best .pick-tag{background:var(--primary,#C96F4A)}
.pick h3{font:700 18px/1.2 var(--serif);margin:0 0 5px;color:var(--ink,#2B2620)}
.pick p{font-size:14px;line-height:1.55;color:var(--text-secondary,#5A5248);margin:0 0 12px}
.pick a{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;padding:10px 16px;font:700 13.5px var(--sans);background:var(--primary,#C96F4A);color:#fff}
.pick a:hover{background:var(--primary-hover,#B45C39)}
