/* Toiture Pro — fiche produit notée (bloc de notation, galerie, offres,
   sommaire, suggestions, barre d'action). Charge après styles-shop.css. */

/* ---- Bandeau d'auteur sous le titre ---- */
.byline{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18);font-size:.82rem;color:rgba(255,255,255,.72)}
.byline strong{color:#fff;font-weight:600}

/* ---- Bloc de notation ---- */
.scoreblock{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem;align-items:center;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:1.6rem 1.8rem;margin:0 0 2.5rem}
.scoreblock__total{display:flex;align-items:center;gap:1.2rem}
.scoreblock__total .kicker{display:block;font-size:.68rem}
.scoreblock__total strong{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.15;margin-top:.3rem}
.scoreblock__total small{display:block;color:var(--ink-muted);font-size:.76rem;margin-top:.35rem}
.dial{position:relative;width:110px;height:110px;flex:0 0 110px}
.dial svg{width:100%;height:100%;display:block}
.dial__track{fill:none;stroke:var(--rule);stroke-width:9}
.dial__fill{fill:none;stroke:var(--orange);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .5s ease}
.dial__num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.dial__num strong{font-family:var(--display);font-size:2rem;font-weight:800}
.dial__num span{font-size:.7rem;color:var(--ink-muted);margin-top:.15rem}
.scoreblock__crit{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.scoreblock__critrow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.86rem}
.scoreblock__critrow b{font-family:var(--display);font-size:.95rem}
.meter{height:6px;border-radius:3px;background:var(--rule);overflow:hidden;margin-top:.3rem}
.meter i{display:block;height:100%;border-radius:3px;background:var(--orange)}
@media(max-width:820px){.scoreblock{grid-template-columns:minmax(0,1fr);gap:1.5rem}}

/* ---- Galerie ---- */
.gallery{margin:0 0 2.5rem}
.gallery__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:1rem}
.gallery__head h2{margin:0}
.gallery__head small{color:var(--ink-muted);font-size:.78rem}
.gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.gallery__cell{position:relative;aspect-ratio:1/1;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:#fff;padding:0;cursor:default}
.gallery__cell--main{cursor:zoom-in;grid-column:span 2;grid-row:span 2;aspect-ratio:1/1}
.gallery__cell--main:hover{border-color:var(--orange)}
.gallery__zoom{position:absolute;bottom:.6rem;right:.6rem;background:rgba(8,40,68,.85);color:#fff;font-size:.7rem;font-weight:600;padding:.28rem .6rem;border-radius:4px}
@media(max-width:640px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.lightbox{position:fixed;inset:0;z-index:120;background:rgba(6,20,32,.9);display:grid;place-items:center;padding:4vmin}
.lightbox__inner{width:min(80vw,680px);aspect-ratio:1/1;background:#fff;border-radius:10px;overflow:hidden}
.lightbox__close{position:absolute;top:1.2rem;right:1.2rem;appearance:none;border:0;background:#fff;color:var(--ink);font-weight:600;font-size:.85rem;padding:.5rem .9rem;border-radius:6px;cursor:pointer}

/* ---- Où l'acheter ---- */
.offers{background:var(--bg-soft);border:1px solid var(--rule);border-radius:12px;padding:1.5rem 1.7rem;margin:0 0 2.5rem}
.offers__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:1rem}
.offers__head h2{margin:0}
.offers__head small{color:var(--ink-muted);font-size:.78rem}
.offers__list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.offers__list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:.8rem 1rem}
.offers__logo{font-family:var(--display);font-weight:800;font-size:.9rem;letter-spacing:.02em;background:var(--blue-deep);color:#fff;padding:.45rem .8rem;border-radius:5px}
.offers__body strong{display:block;font-family:var(--display);font-size:1.1rem}
.offers__body small{display:block;color:var(--ink-muted);font-size:.76rem;margin-top:.1rem}
.offers__legal{margin:1rem 0 0;font-size:.74rem;color:var(--ink-muted);line-height:1.55}
@media(max-width:640px){.offers__list li{grid-template-columns:minmax(0,1fr);gap:.6rem}}

/* ---- Sommaire ---- */
.ftoc{border:1px solid var(--rule);border-left:3px solid var(--orange);border-radius:0 8px 8px 0;padding:1.1rem 1.4rem;margin:0 0 2.5rem;background:var(--card)}
.ftoc__label{display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.6rem}
.ftoc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.5rem}
.ftoc a{display:flex;gap:.5rem;font-size:.88rem;cursor:pointer;padding:.15rem 0}
.ftoc b{color:var(--orange);font-weight:800}
@media(max-width:640px){.ftoc ol{grid-template-columns:minmax(0,1fr)}}

/* ---- Sections d'analyse notées ---- */
.critsec{margin:0 0 1.6rem}
.critsec h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:.7rem;margin:0 0 .5rem}
.critsec__note{font-family:var(--display);font-size:.78rem;font-weight:800;color:var(--orange);background:color-mix(in oklch,var(--orange) 12%,transparent);border-radius:4px;padding:.18rem .5rem;white-space:nowrap}
.critsec p{margin:0}

/* ---- Tableau de caractéristiques ---- */
.spectable{width:100%;border-collapse:collapse;margin:0 0 2rem;font-size:.9rem}
.spectable th,.spectable td{text-align:left;padding:.75rem 1rem;border:1px solid var(--rule);vertical-align:top}
.spectable th{width:38%;background:var(--bg-soft);font-weight:600}

/* ---- Carte produit de la colonne latérale ---- */
.sidebar-card--fiche{padding:0;overflow:hidden}
.sidebar-card__img{position:relative;aspect-ratio:4/3}
.sidebar-card__score{position:absolute;top:.7rem;left:.7rem;background:var(--orange);color:#fff;font-family:var(--display);font-weight:800;font-size:1.05rem;line-height:1;padding:.4rem .55rem;border-radius:6px;display:flex;align-items:baseline;gap:.1rem}
.sidebar-card__score small{font-size:.62rem;opacity:.85}
.sidebar-card__body{padding:1.4rem}
.sidebar-card__body h4{margin:.7rem 0 0}
.sidebar-card__body .product-card__use{margin:.6rem 0 1rem}
.sidebar-card__legal{display:block;margin-top:.6rem;color:var(--ink-muted);font-size:.72rem}

/* Note sur la vignette des cartes d'index */
.card-score{position:absolute;bottom:.7rem;left:.7rem;z-index:2;background:var(--blue-deep);color:#fff;font-family:var(--display);font-weight:800;font-size:1rem;line-height:1;padding:.35rem .5rem;border-radius:5px;display:flex;align-items:baseline;gap:.1rem}
.card-score small{font-size:.6rem;opacity:.8}

/* ---- Moteur de suggestions ---- */
.sugg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;margin-top:2.5rem}
.sugg{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:10px;overflow:hidden;cursor:pointer;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.sugg:hover{border-color:var(--orange);box-shadow:var(--shadow-md);transform:translateY(-2px);color:inherit}
.sugg__img{position:relative;aspect-ratio:4/3;background:#fff}
.sugg__score{position:absolute;top:.6rem;right:.6rem;background:var(--orange);color:#fff;font-family:var(--display);font-weight:800;font-size:.85rem;padding:.28rem .45rem;border-radius:5px}
.sugg__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.sugg__why{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.sugg__body h3{margin:0;font-size:1rem;line-height:1.3}
.sugg__body small{color:var(--ink-muted);font-size:.78rem}
.sugg__go{margin-top:auto;padding-top:.7rem;font-size:.8rem;font-weight:600;color:var(--blue-soft)}

/* ---- Barre d'action collante ---- */
.fichebar{position:sticky;bottom:0;z-index:60;display:none;gap:.5rem;padding:.6rem .9rem;background:var(--card);border-top:1px solid var(--rule);box-shadow:0 -6px 20px rgba(8,40,68,.1)}
.fichebar button{flex:1;appearance:none;border:1px solid var(--rule);background:var(--bg-soft);color:var(--ink);font-family:inherit;font-size:.82rem;font-weight:600;padding:.65rem .4rem;border-radius:6px;cursor:pointer;min-height:44px}
.fichebar__buy{background:var(--orange);border-color:var(--orange);color:#fff}
@media(max-width:900px){.fichebar{display:flex}}

/* ---- Notation et plateformes sur les cartes de comparatif ---- */
.product-card__img .card-score{bottom:.7rem;left:.7rem;background:var(--orange)}
.card-offers{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem;margin:.9rem 0 0;padding-top:.8rem;border-top:1px solid var(--rule)}
.card-offers__label{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.card-offers ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.card-offers li{display:flex;align-items:baseline;gap:.35rem;background:var(--bg-soft);border:1px solid var(--rule);border-radius:4px;padding:.2rem .5rem;font-size:.76rem}
.card-offers a{font-weight:600}
.card-offers b{font-family:var(--display);font-size:.8rem}
