/* Boutique VOZit — styles spécifiques (hérite des variables de ../assets/css/style.css) */

.brand-shop{
  display:inline-block;margin-left:8px;padding:3px 10px;border-radius:999px;
  background:var(--cyan);color:#fff;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;
}

/* Recherche dans le header */
.shop-search{flex:1;max-width:520px;margin:0 24px;display:flex;align-items:center;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.shop-search input{flex:1;border:0;background:transparent;padding:11px 18px;font:inherit;color:var(--ink);outline:none}
.shop-search button{border:0;background:var(--navy);color:#fff;width:46px;height:42px;display:grid;place-items:center;cursor:pointer}
.shop-search button svg{width:18px;height:18px}
.shop-search button:hover{background:var(--cyan)}

/* Barre de catégories */
.shop-catbar{background:var(--navy);position:sticky;top:0;z-index:30}
.shop-catbar .container{display:flex;gap:4px;overflow-x:auto;padding:0}
.shop-catbar a{color:#cfe3f2;padding:13px 16px;font-size:.9rem;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent;transition:.2s}
.shop-catbar a:hover{color:#fff}
.shop-catbar a.active{color:#fff;border-bottom-color:var(--cyan)}
.shop-catbar .cnt{display:inline-block;background:rgba(255,255,255,.16);border-radius:999px;padding:1px 8px;font-size:.72rem;margin-left:4px}

.shop-main{padding:34px 0 60px;background:var(--bg-soft);min-height:50vh}

/* Hero */
.shop-hero{margin-bottom:26px}
.shop-hero h1{font-size:1.9rem;color:var(--navy-deep);margin:0 0 6px}
.wh-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.wh-filter a{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.85rem;font-weight:600;color:var(--slate)}
.wh-filter a:hover{border-color:var(--cyan);color:var(--navy)}
.wh-filter a.active{background:var(--navy);border-color:var(--navy);color:#fff}

/* Sections par catégorie */
.shop-cat-section{margin-bottom:38px}
.shop-cat-title{font-size:1.25rem;color:var(--navy);margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--line)}

/* Grille produits */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.2s var(--ease)}
.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#bcd4e6}
.product-thumb{position:relative;display:block;aspect-ratio:4/3;background:#fff;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.product-thumb img{width:100%;height:100%;object-fit:contain;padding:14px}
.noimg{color:#c4dcef}.noimg svg{width:64px;height:64px}.noimg.lg svg{width:120px;height:120px}
.wh-badge{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-size:.7rem;font-weight:700;padding:4px 9px;border-radius:6px;letter-spacing:.02em}
.product-body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:5px;flex:1}
.product-brand{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--cyan)}
.product-body h3{font-size:.95rem;line-height:1.35;margin:0;font-weight:600}
.product-body h3 a{color:var(--ink)}
.product-body h3 a:hover{color:var(--navy)}
.product-ref{font-size:.76rem;color:var(--muted)}
.product-foot{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.product-price strong{font-size:1.15rem;color:var(--navy-deep)}
.product-price small{color:var(--muted);font-size:.72rem}
.stock{font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px}
.stock.ok{background:#e7f7ee;color:#11804a}
.stock.ko{background:#fff3e0;color:#9a5b00}

.shop-empty{background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:44px;text-align:center;color:var(--muted)}
.shop-empty .btn{margin-top:14px}

/* Fiche produit */
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--navy)}
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:34px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px}
.pd-media{background:var(--bg-soft);border-radius:var(--radius);display:grid;place-items:center;min-height:340px;overflow:hidden}
.pd-media img{max-width:100%;max-height:440px;object-fit:contain}
.pd-info h1{font-size:1.6rem;color:var(--navy-deep);margin:6px 0 12px}
.pd-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.82rem;color:var(--slate);margin-bottom:16px}
.pd-price{display:flex;align-items:baseline;gap:10px;margin:10px 0 12px}
.pd-price strong{font-size:2rem;color:var(--navy-deep)}
.pd-price .ht{color:var(--muted);font-size:.9rem}
.pd-stock{font-weight:700;margin:0 0 14px}
.pd-stock.ok{color:#11804a}.pd-stock.ko{color:#9a5b00}
.pd-shipping{background:var(--cyan-soft);border-radius:10px;padding:12px 15px;font-size:.88rem;color:var(--navy);margin-bottom:16px}
.pd-short{color:var(--slate);line-height:1.6}
.pd-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.pd-description{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;margin-top:24px}
.pd-description h2{color:var(--navy);font-size:1.2rem;margin:0 0 12px}
.pd-desc-body{line-height:1.7;color:var(--slate)}

.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}

/* Bouton bloc + ajout panier sur les cartes */
.btn--block{width:100%;justify-content:center}
.add-form{margin-top:10px}
.add-form .btn{gap:7px}.add-form .btn svg{width:16px;height:16px}

/* Lien panier dans l'en-tête */
.cart-link{position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:var(--navy);color:#fff;font-weight:600}
.cart-link:hover{background:var(--cyan)}
.cart-link svg{width:18px;height:18px}
.cart-count{position:absolute;top:-6px;right:-6px;background:var(--cyan);color:#fff;font-size:.7rem;font-weight:700;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 5px;border:2px solid #fff}

/* Quantité fiche produit */
.qty-field{display:flex;flex-direction:column;gap:4px}
.qty-field label{font-size:.78rem;color:var(--muted);font-weight:600}
.qty-field input,.qty-inp{width:80px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}

/* Panier */
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.cart-table table{width:100%}
.cart-table td,.cart-table th{vertical-align:middle}
.cart-summary{position:sticky;top:80px}
.cart-summary h2{font-size:1.2rem;color:var(--navy);margin:0 0 14px}
.sum-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.sum-line.total{border-bottom:0;padding-top:12px;font-size:1.05rem}
.sum-line.ttc{border-top:2px solid var(--navy);border-bottom:0;font-size:1.25rem;color:var(--navy-deep)}
.cart-summary .btn--lg{margin-top:14px}
.link-danger{background:none;border:0;color:#c0392b;cursor:pointer;font:inherit;font-weight:600;font-size:1rem}
.link-danger:hover{text-decoration:underline}

@media(max-width:860px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}}

@media(max-width:860px){
  .shop-search{order:3;max-width:100%;width:100%;margin:10px 0 0}
  .product-detail{grid-template-columns:1fr;padding:20px}
  .pd-media{min-height:240px}
}
