/* =============================================================
   NATAMAZON — parodie de marchand en ligne (natamazon.php + livre.php)
   Feuille SÉPARÉE et volontairement hors charte du site : le gag ne
   fonctionne que si le décor est copié (comme NatasTube copie YouTube).
   Codes du marchand (fond clair, bandeau sombre, boîte d'achat) mais palette
   et polices de la maison — comme NatasTube pour YouTube.
   ============================================================= */

.nz{
  /* Codes du marchand (fond clair, bandeau sombre, boîte d'achat) MAIS palette et
     polices de la maison : « Amazon vu par Natas », comme NatasTube est « YouTube
     vu par Natas » — même structure, vert au lieu du rouge. */
  --n-nav:#0c1210;        /* bandeau supérieur — near-black du site */
  --n-nav2:#16201c;       /* barre des rayons */
  --n-bg:#eef1ee;         /* fond de page, légèrement teinté vert */
  --n-panel:#fff;
  --n-ink:#0f1411;
  --n-ink2:#5a635c;
  --n-line:#d3dad4;
  --n-line2:#e6ebe7;
  --n-link:#00785a;       /* vert profond : lisible sur blanc */
  --n-link-h:#01a86d;
  --n-star:#f4b23e;       /* les étoiles restent ambrées : convention des avis */
  --n-cart:#01fe91;       /* bouton principal — le vert du site */
  --n-buy:#00c774;        /* bouton secondaire */
  --n-ok:#00785a;         /* « En stock » */
  --n-red:#ff5d73;        /* accent d'alerte de la charte */

  background:var(--n-bg);
  color:var(--n-ink);
  font-family:'Space Grotesk',system-ui,-apple-system,sans-serif;
  font-size:14.5px;
  line-height:1.5;
}
.nz *{ box-sizing:border-box; }
.nz a{ color:var(--n-link); text-decoration:none; }
.nz a:hover{ color:var(--n-link-h); text-decoration:underline; }
/* Lien d'évitement : masqué jusqu'à la tabulation (son style vivait dans style.css,
   que cette page ne charge plus). */
.nz .skip-link{ position:absolute; left:-9999px; top:0; z-index:60;
  background:var(--n-cart); color:#08090a; padding:10px 16px; font-weight:700; border-radius:0 0 6px 0; }
.nz .skip-link:focus{ left:0; text-decoration:none; }
.nz ::selection{ background:var(--n-cart); color:#08090a; }
.nz :focus-visible{ outline:2px solid var(--n-cart); outline-offset:1px; border-radius:3px;
  box-shadow:0 0 0 3px #01fe9140; }

/* ---------- Bandeau supérieur ---------- */
.nz-bar{ display:flex; align-items:center; gap:10px; padding:6px 14px; flex-wrap:nowrap;
  background:var(--n-nav); color:#fff; }
.nz-bar a{ color:#fff; text-decoration:none; }
.nz-bar a:hover{ color:#fff; text-decoration:none; }
.nz-cell{ padding:7px 9px; border:1px solid transparent; border-radius:2px; white-space:nowrap; }
.nz-cell:hover{ border-color:#fff; }
.nz-logo{ display:flex; flex-direction:column; flex:none; padding:8px 9px 4px;
  border:1px solid transparent; border-radius:2px; }
.nz-logo:hover{ border-color:#fff; }
.nz-logo__t{ font-family:'Michroma',sans-serif; font-size:17px; font-weight:400;
  letter-spacing:.01em; line-height:1.15; color:#fff; }
.nz-logo__smile{ display:block; width:76%; height:8px; margin:1px 0 0 auto;
  border-bottom:2.5px solid var(--n-buy); border-radius:0 0 70% 70%/0 0 100% 100%;
  transform:rotate(-4deg); }
.nz-loc{ display:flex; align-items:flex-end; gap:5px; line-height:1.15; }
.nz-loc__s{ font-size:12px; color:#ccc; display:block; }
.nz-loc__b{ font-size:14px; font-weight:700; }

/* Recherche : champ + bouton orange */
.nz-search{ display:flex; flex:1; min-width:180px; height:40px; border-radius:4px; overflow:hidden;
  border:2px solid transparent; }
.nz-search:focus-within{ border-color:var(--n-cart); box-shadow:0 0 0 3px #01fe9155; }
.nz-search__all{ display:flex; align-items:center; padding:0 10px; font-size:12px; color:#555;
  background:#e6e6e6; border-right:1px solid #ccc; white-space:nowrap; }
.nz-search input{ flex:1; min-width:0; border:0; padding:0 10px; font-size:15px; color:#0f1111;
  background:#fff; font-family:inherit; }
.nz-search input:focus{ outline:none; }
.nz-search__go{ display:grid; place-items:center; width:45px; background:var(--n-cart);
  font-size:16px; color:#08090a; border:0; cursor:pointer; }
.nz-search__go:hover{ background:var(--n-buy); }

.nz-lang{ display:flex; align-items:center; gap:5px; font-size:14px; font-weight:700; }
.nz-acct{ line-height:1.15; }
.nz-acct__s{ font-size:12px; display:block; }
.nz-acct__b{ font-size:14px; font-weight:700; display:flex; align-items:center; gap:3px; }
.nz-cart{ display:flex; align-items:flex-end; gap:3px; }
.nz-cart__n{ color:var(--n-cart); font-size:16px; font-weight:700; line-height:1; }
.nz-cart__l{ font-size:14px; font-weight:700; }

/* ---------- Barre des rayons ---------- */
.nz-sub{ display:flex; align-items:center; gap:4px; padding:5px 14px; flex-wrap:wrap;
  background:var(--n-nav2); color:#fff; font-size:14px; }
.nz-sub a{ color:#fff; padding:5px 9px; border:1px solid transparent; border-radius:2px; text-decoration:none; }
.nz-sub a:hover{ border-color:#fff; color:#fff; text-decoration:none; }
.nz-sub__promo{ margin-left:auto; padding:5px 9px; color:#fff; font-weight:700; }
.nz-sub__cur{ padding:5px 9px; color:#ccc; }
.nz-sub span[aria-hidden]{ color:#888; padding:0 2px; }

/* ---------- Corps ---------- */
.nz-main{ display:grid; grid-template-columns:230px minmax(0,1fr); gap:0;
  max-width:1500px; margin:0 auto; padding:0; align-items:start; }
.nz-side{ background:var(--n-panel); padding:16px 18px; min-height:100%; }
.nz-side__h{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; font-weight:700; color:var(--n-ink); margin:16px 0 7px; }
.nz-side__h:first-child{ margin-top:0; }
.nz-facet{ list-style:none; margin:0 0 6px; padding:0; }
.nz-facet li{ margin:0 0 4px; }
.nz-facet a{ font-size:14px; color:var(--n-ink); }
.nz-facet a:hover{ color:var(--n-link-h); text-decoration:underline; }
.nz-facet a.is-on{ font-weight:700; }
.nz-facet a.is-off{ color:#aaa; cursor:not-allowed; text-decoration:line-through; }
.nz-facet i{ font-style:normal; color:var(--n-ink2); font-size:13px; }

.nz-res{ background:var(--n-panel); padding:14px 20px 30px; min-height:70vh; }
.nz-res__top{ display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  flex-wrap:wrap; padding:0 0 10px; border-bottom:1px solid var(--n-line2); margin-bottom:4px; }
.nz-res__count{ margin:0; font-size:14px; color:var(--n-ink2); }
.nz-res__count span{ color:var(--n-ink); font-weight:700; }
.nz-res__count i{ font-style:normal; font-size:13px; }
.nz-sort{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--n-ink); }
.nz-sort select{ font-family:inherit; font-size:13px; color:var(--n-ink); background:#f0f2f2;
  border:1px solid #cdcdcd; border-radius:8px; padding:6px 8px; box-shadow:0 2px 5px rgba(15,17,17,.15); }

/* Lignes produit */
.nz-list{ list-style:none; margin:0; padding:0; }
.nz-item{ display:grid; grid-template-columns:180px minmax(0,1fr); gap:22px; padding:22px 0;
  border-bottom:1px solid var(--n-line2); }
.nz-item__img{ display:grid; place-items:center; }
.nz-item__img img{ max-width:100%; height:auto; max-height:230px; display:block; }
.nz-item__noimg{ display:grid; place-items:center; aspect-ratio:2/3; width:100%; padding:12px;
  text-align:center; background:#f7f7f7; border:1px solid var(--n-line); font-size:13px; color:var(--n-ink2); }
.nz-item__cat{ display:block; font-family:'Space Mono',monospace; font-size:10.5px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--n-ink2); margin-bottom:3px; }
.nz-item__t{ margin:0 0 3px; font-size:20px; line-height:1.3; font-weight:500; }
.nz-item__t a{ color:var(--n-link); }
.nz-item__by{ margin:0 0 4px; font-size:14px; color:var(--n-ink2); }
.nz-item__by b{ color:var(--n-link); font-weight:400; }
.nz-item__rate{ display:flex; align-items:center; gap:7px; margin:0 0 8px; font-size:13px; }
.nz-item__price{ margin:0 0 3px; display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.nz-price{ font-size:28px; color:var(--n-ink); font-weight:400; }
.nz-price--none{ font-size:15px; color:var(--n-ink2); }
.nz-item__ship{ font-size:13px; color:var(--n-ink2); }
.nz-item__stock{ margin:0 0 12px; font-size:14px; color:var(--n-ok); }
.nz-item__acts{ display:flex; gap:10px; flex-wrap:wrap; }

/* Boutons du marchand */
.nz-btn{ display:inline-flex; align-items:center; justify-content:center; font-family:inherit;
  font-size:13px; color:var(--n-ink); background:#fff; border:1px solid #d5d9d9; border-radius:8px;
  padding:7px 14px; cursor:pointer; text-decoration:none;
  box-shadow:0 2px 5px rgba(15,17,17,.15); }
.nz-btn:hover{ background:#f7fafa; color:var(--n-ink); text-decoration:none; }
.nz-btn--cart{ background:var(--n-cart); border-color:#01e484; color:#08090a; font-weight:700; }
.nz-btn--cart:hover{ background:#01e484; color:#08090a; }
.nz-btn--buy{ background:var(--n-buy); border-color:#00b368; color:#08090a; font-weight:700; }
.nz-btn--buy:hover{ background:#00b368; color:#08090a; }

/* Étoiles */
.nz-stars{ display:inline-flex; gap:0; line-height:1; }
.star{ color:#e3e6e6; font-size:15px; }
.star.is-full{ color:var(--n-star); }
.star.is-half{ background:linear-gradient(90deg,var(--n-star) 50%,#e3e6e6 50%);
  -webkit-background-clip:text; background-clip:text; color:transparent; }

.nz-empty,.nz-noresult{ padding:26px 0; color:var(--n-ink2); }
.nz-pages{ display:flex; gap:6px; align-items:center; justify-content:center; margin:28px 0 0; }
.nz-pages span{ padding:7px 13px; border:1px solid var(--n-line); border-radius:6px;
  color:var(--n-ink2); background:#fff; font-size:14px; }
.nz-pages .is-on{ background:#e7e9ec; border-color:#adb1b8; color:var(--n-ink); font-weight:700; }
.nz-pages .is-dead{ color:#c5c5c5; }

/* ---------- Pied de page marchand ---------- */
.nz-foot{ margin-top:26px; }
.nz-foot__top{ display:block; text-align:center; padding:15px; background:#37475a; color:#fff;
  font-size:13px; text-decoration:none; }
.nz-foot__top:hover{ background:#485769; color:#fff; text-decoration:none; }
.nz-foot__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:30px;
  background:var(--n-nav2); color:#ddd; padding:40px 24px; }
.nz-foot__cols b{ display:block; font-size:16px; color:#fff; margin-bottom:10px; }
.nz-foot__cols a{ display:block; font-size:14px; color:#ddd; margin-bottom:6px; }
.nz-foot__cols a:hover{ color:#fff; text-decoration:underline; }
.nz-foot__legal{ text-align:center; font-family:'Space Mono',monospace; font-size:11.5px;
  color:#b9c2bb; background:var(--n-nav);
  padding:22px 20px; margin:0; line-height:1.8; }
.nz-foot__legal a{ color:#ddd; }

/* =============================================================
   FICHE PRODUIT (livre.php)
   ============================================================= */
.nz-prod{ background:var(--n-panel); max-width:1500px; margin:0 auto; padding:20px 24px 40px; }
.nz-cols{ display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr) 300px; gap:30px; align-items:start; }

.nz-gal{ position:sticky; top:14px; }
.nz-gal img{ width:100%; height:auto; display:block; }
.nz-gal__auto{ display:grid; place-items:center; aspect-ratio:2/3; padding:20px; text-align:center;
  background:#f7f7f7; border:1px solid var(--n-line); font-size:15px; color:var(--n-ink2); }

.nz-info h1{ font-family:'Michroma',sans-serif; font-size:23px; font-weight:400; line-height:1.28;
  margin:0 0 8px; color:var(--n-ink); }
.nz-info__by{ margin:0 0 6px; font-size:14px; }
.nz-info__by a{ color:var(--n-link); }
.nz-rate{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:0 0 10px;
  border-bottom:1px solid var(--n-line2); margin-bottom:12px; font-size:14px; }
.nz-rate b{ color:var(--n-ink); font-weight:400; }
.nz-h{ font-family:'Michroma',sans-serif; font-size:15px; font-weight:400; color:var(--n-ink);
  margin:24px 0 12px; letter-spacing:.005em; }
.nz-desc{ font-size:14px; line-height:1.6; color:var(--n-ink); }
.nz-desc p{ margin:0 0 .9em; }
.nz-desc a{ color:var(--n-link); }

.nz-specs{ display:grid; grid-template-columns:auto 1fr; gap:6px 18px; margin:0; font-size:14px; }
.nz-specs dt{ color:var(--n-ink2); }
.nz-specs dd{ margin:0; color:var(--n-ink); }

/* Boîte d'achat (colonne de droite) */
.nz-buy{ border:1px solid var(--n-line); border-radius:8px; padding:16px; background:#fff;
  position:sticky; top:14px; }
.nz-buy__price{ margin:0 0 6px; }
.nz-buy__ship{ margin:0 0 4px; font-size:13px; color:var(--n-ink2); }
.nz-buy__ship b{ color:var(--n-ink); }
.nz-buy__stock{ margin:10px 0 12px; font-size:18px; color:var(--n-ok); }
.nz-buy .nz-btn{ display:flex; width:100%; margin-bottom:8px; padding:9px 14px; font-size:14px; }
.nz-buy__sold{ margin:12px 0 0; font-size:12.5px; color:var(--n-ink2); line-height:1.7; }
.nz-buy__sold a{ color:var(--n-link); }
.nz-buy__sold i{ font-style:normal; color:#ccc; margin:0 4px; }

/* Fréquemment achetés ensemble */
.nz-bundle{ border-top:1px solid var(--n-line2); margin-top:26px; padding-top:20px; }
.nz-bundle__row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.nz-bundle__i{ display:flex; flex-direction:column; gap:6px; width:110px; }
.nz-bundle__i img{ width:100%; height:auto; }
.nz-bundle__i span{ font-size:12.5px; color:var(--n-ink); line-height:1.35; }
.nz-plus{ font-size:22px; color:var(--n-ink2); }
.nz-bundle__tot{ margin-left:10px; }
.nz-bundle__l{ margin:0; font-size:13px; color:var(--n-ink2); }
.nz-bundle__p{ margin:0; font-size:19px; color:var(--n-ink); }
.nz-bundle__s{ margin:3px 0 0; font-size:13px; color:var(--n-red); }

/* Avis */
.nz-reviews{ border-top:1px solid var(--n-line2); margin-top:26px; padding-top:20px; }
.nz-rsum{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0 0 18px; font-size:15px; }
.nz-rsum b{ font-weight:700; }
.nz-rsum span{ color:var(--n-ink2); font-size:14px; }
.nz-rlist{ list-style:none; margin:0; padding:0; }
.nz-r{ padding:0 0 20px; margin:0 0 20px; border-bottom:1px solid var(--n-line2); }
.nz-r:last-child{ border-bottom:0; }
.nz-r__head{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:5px; }
.nz-r__ava{ width:28px; height:28px; border-radius:50%; background:#d5d9d9; display:grid;
  place-items:center; font-size:12px; color:#555; flex:none; }
.nz-r__who{ font-size:13px; color:var(--n-ink); }
.nz-r__stars{ display:flex; align-items:center; gap:8px; margin:0 0 4px; flex-wrap:wrap; }
.nz-r__stars b{ font-size:14px; color:var(--n-ink); }
.nz-r__date{ margin:0 0 6px; font-size:13px; color:var(--n-ink2); }
.nz-r__ok{ display:inline-block; margin:0 0 6px; font-size:12px; color:var(--n-red); font-weight:700; }
.nz-r__txt{ margin:0 0 10px; font-size:14px; line-height:1.6; color:var(--n-ink); }
.nz-r__help{ margin:0; font-size:12.5px; color:var(--n-ink2); }
.nz-rlegal{ margin:18px 0 0; padding:10px 12px; background:#f7f7f7; border:1px solid var(--n-line2);
  border-radius:6px; font-size:12.5px; color:var(--n-ink2); }
.nz-rnone{ font-size:14px; color:var(--n-ink2); }

/* Cross-vente */
.nz-xsell{ border-top:1px solid var(--n-line2); margin-top:26px; padding-top:20px; }
.nz-xrow{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr)); gap:18px; }
.nz-x{ display:flex; flex-direction:column; gap:7px; }
.nz-x__th{ display:block; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--n-line2); }
.nz-x__th img{ width:100%; height:100%; object-fit:cover; display:block; }
.nz-x:hover .nz-x__th{ border-color:var(--n-star); }
.nz-x__t{ font-size:13px; line-height:1.35; color:var(--n-link); }
.nz-xmore{ margin:14px 0 0; font-size:14px; }

/* Autres livres */
.nz-more{ border-top:1px solid var(--n-line2); margin-top:26px; padding-top:20px; }
.nz-more__row{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr)); gap:20px; }
.nz-card{ display:flex; flex-direction:column; gap:7px; }
.nz-card img{ width:100%; height:auto; display:block; }
.nz-card__auto{ display:grid; place-items:center; aspect-ratio:2/3; padding:12px; text-align:center;
  background:#f7f7f7; border:1px solid var(--n-line); font-size:12.5px; color:var(--n-ink2); }
.nz-card__t{ font-size:13.5px; color:var(--n-link); line-height:1.35; }
.nz-card__c{ font-size:12px; color:var(--n-ink2); }

@media(max-width:1100px){
  .nz-cols{ grid-template-columns:minmax(0,280px) minmax(0,1fr); }
  .nz-buy{ grid-column:1 / -1; position:static; max-width:420px; }
}
@media(max-width:900px){
  .nz-main{ grid-template-columns:1fr; }
  .nz-side{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0 20px; }
  .nz-item{ grid-template-columns:120px minmax(0,1fr); gap:16px; }
  .nz-cols{ grid-template-columns:1fr; }
  .nz-gal{ position:static; max-width:280px; }
}
@media(max-width:700px){
  .nz-loc,.nz-lang,.nz-acct{ display:none; }
  .nz-bar{ flex-wrap:wrap; }
  .nz-search{ order:5; width:100%; flex-basis:100%; }
}
