/* Onglets de la fiche article */
.product-tabs { --pt-ink:#1d1d1f; --pt-muted:#6e6e73; --pt-line:#e5e5ea; --pt-accent:#e6383f; --pt-soft:#f5f5f7; margin-top:64px; }
.pt-tablist { position:relative; display:flex; gap:clamp(18px, 3vw, 40px); border-bottom:1px solid var(--pt-line); overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
.pt-tablist::-webkit-scrollbar { display:none; }
.pt-tablist [role="tab"] { flex:none; position:relative; min-height:48px; padding:12px 0 14px; border:0; background:none; color:var(--pt-muted); font:inherit; font-size:16px; font-weight:600; cursor:pointer; white-space:nowrap; }
.pt-tablist [role="tab"]:hover { color:var(--pt-ink); }
.pt-tablist [role="tab"][aria-selected="true"] { color:var(--pt-ink); }
.pt-tablist [role="tab"][aria-selected="true"]::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px; border-radius:3px 3px 0 0; background:var(--pt-accent); }
.pt-tablist [role="tab"]:focus-visible { outline:2px solid #0071e3; outline-offset:2px; border-radius:6px; }
.pt-panel { padding:34px 0 8px; max-width:1100px; }
.product-tabs:not(.is-tabbed) .pt-panel + .pt-panel { border-top:1px solid var(--pt-line); margin-top:16px; }
.pt-panel:focus-visible { outline:2px solid #0071e3; outline-offset:6px; border-radius:8px; }
.pt-panel h2 { margin:0 0 22px; font-size:clamp(24px, 3vw, 30px); letter-spacing:-.02em; }
.pt-panel > p { max-width:900px; margin:0 0 14px; font-size:17px; line-height:1.75; color:#333336; }
.pt-panel > p strong { color:var(--pt-ink); }
.pt-lead { font-weight:600; color:var(--pt-ink) !important; }
.pt-note { color:var(--pt-muted) !important; font-size:15px !important; line-height:1.6 !important; }
.pt-specs { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 48px; margin:0; max-width:1000px; }
.pt-specs > div { display:grid; grid-template-columns:minmax(120px, 38%) minmax(0, 1fr); gap:16px; padding:14px 0; border-bottom:1px solid var(--pt-line); }
.pt-specs dt { color:var(--pt-muted); font-size:14px; }
.pt-specs dd { margin:0; font-size:15px; font-weight:500; color:var(--pt-ink); overflow-wrap:anywhere; }
.pt-specs-compact { margin:18px 0; }
.pt-table-wrap { max-width:640px; overflow-x:auto; border:1px solid var(--pt-line); border-radius:16px; margin:6px 0 18px; }
.pt-tiers { width:100%; border-collapse:collapse; font-size:15px; }
.pt-tiers th { text-align:left; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--pt-muted); background:var(--pt-soft); padding:12px 16px; }
.pt-tiers td { padding:12px 16px; border-top:1px solid var(--pt-line); }
.pt-tiers td:nth-child(2) { font-weight:600; }
.pt-tiers td:nth-child(3) { color:#1d7a46; }
.pt-tiers th:not(:first-child), .pt-tiers td:not(:first-child) { text-align:right; }
.pt-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:10px; }
.pt-labels { list-style:none; margin:0 0 18px; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap:12px; max-width:1000px; }
.pt-labels li { display:grid; gap:4px; padding:14px 16px; border:1px solid var(--pt-line); border-radius:16px; background:#fff; }
.pt-labels strong { font-size:15px; }
.pt-labels span { color:var(--pt-muted); font-size:14px; line-height:1.5; }
.pt-links { font-size:15px; }
@media (max-width:700px) {
  .product-tabs { margin-top:40px; }
  .pt-tablist { gap:22px; }
  .pt-tablist [role="tab"] { font-size:15px; }
  .pt-panel { padding-top:24px; }
  .pt-panel > p { font-size:16px; }
  .pt-specs { grid-template-columns:1fr; }
  .pt-specs > div { grid-template-columns:minmax(110px, 40%) minmax(0, 1fr); }
}

/* Échantillon et réassurance */
.product-assurance { display:grid; gap:12px; margin-top:22px; }
.sample-cta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.sample-open { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.sample-cta small { color:#6e6e73; font-size:13px; }
.assurance-card { display:flex; gap:16px; align-items:flex-start; padding:18px 20px; border:1px solid #d2d2d7; border-radius:16px; background:#fff; }
.assurance-icon { flex:none; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#fdeeee; color:#e6383f; }
.assurance-card strong { display:block; font-size:16px; margin-bottom:4px; color:#1d1d1f; }
.assurance-card p { margin:0; color:#515154; font-size:15px; line-height:1.55; }
.assurance-line { margin:0; color:#6e6e73; font-size:13px; }
.assurance-line a { color:inherit; }
.sample-dialog { width:min(560px, calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:0; border:0; border-radius:22px; box-shadow:0 30px 80px rgba(0,0,0,.25); }
.sample-dialog::backdrop { background:rgba(15,15,20,.45); }
.sample-form { display:grid; gap:14px; padding:24px; }
.sample-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sample-head h2 { margin:0; font-size:22px; }
.sample-close { width:44px; height:44px; border:0; border-radius:50%; background:#f5f5f7; font-size:22px; cursor:pointer; }
.sample-intro { margin:0; color:#515154; font-size:15px; line-height:1.55; }
.sample-error { margin:0; padding:10px 14px; border-radius:12px; background:#fdeeee; color:#a1141b; font-size:14px; }
.sample-form label { display:grid; gap:6px; font-size:14px; font-weight:600; color:#1d1d1f; }
.sample-form label small { font-weight:400; color:#6e6e73; }
.sample-form input, .sample-form select, .sample-form textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #d2d2d7; border-radius:12px; font:inherit; font-size:16px; font-weight:400; background:#fff; box-sizing:border-box; }
.sample-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.sample-quantity input { max-width:140px; font-size:16px; }
.sample-price { margin:0; color:#1d1d1f; font-size:14px; }
.sample-badge { display:inline-block; margin-right:6px; padding:2px 8px; border-radius:999px; background:#fff3e6; color:#9a4a00; font-size:12px; font-weight:700; letter-spacing:.02em; vertical-align:middle; }
.sample-terms { margin:0; padding-left:18px; color:#6e6e73; font-size:13px; line-height:1.6; }
.sample-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
@media (max-width:520px) {
  .sample-dialog { width:100vw; max-width:100vw; max-height:100dvh; height:100dvh; margin:0; border-radius:0; }
  .sample-grid { grid-template-columns:1fr; }
  .sample-actions .btn { flex:1; }
}
/* Page de suivi d'une demande d'échantillon */
.sample-next { margin:24px 0; padding:20px 22px; border-radius:18px; background:#f5f5f7; }
.sample-next h2 { margin:0 0 8px; font-size:20px; }
.sample-next ul { margin:0 0 10px; padding-left:18px; line-height:1.7; }
