/* produit.css */
.product-breadcrumb { padding: calc(var(--header-h) + 16px) 0 0; background:var(--dark); }
.product-detail-section { padding: 40px 0 100px; }
.product-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; margin-bottom:80px; }
/* Gallery */
.product-gallery { position:sticky; top: calc(var(--header-h) + 20px); }
.gallery-main { border-radius:var(--radius-lg); overflow:hidden; background:var(--dark-card); border:1px solid var(--dark-border); position:relative; margin-bottom:12px; }
.main-img { width:100%; height:480px; object-fit:cover; display:block; }
.gallery-thumbs { display:flex; gap:10px; flex-wrap:wrap; }
.gallery-thumb { width:72px; height:72px; border-radius:10px; overflow:hidden; cursor:pointer; border:2px solid transparent; transition:var(--transition); }
.gallery-thumb.active, .gallery-thumb:hover { border-color:var(--gold); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
/* Info */
.product-detail-title { font-size:clamp(1.5rem,3vw,2rem); font-weight:800; line-height:1.2; margin:8px 0 16px; }
.product-rating { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.stars-display { display:flex; gap:2px; }
.stars-display .star { font-size:1.1rem; }
.stars-display .filled { color:var(--gold); }
.stars-display .half { color:var(--gold); opacity:0.5; }
.rating-count { font-size:0.82rem; color:var(--gray-500); }
.product-detail-price { display:flex; align-items:center; gap:16px; margin:20px 0; flex-wrap:wrap; }
.price-old-lg { font-size:1.2rem; color:var(--gray-500); text-decoration:line-through; }
.price-current-lg { font-size:2rem; font-weight:800; color:var(--gold); }
.savings-badge { background:rgba(192,57,43,0.15); color:#e74c3c; border:1px solid rgba(192,57,43,0.3); padding:4px 12px; border-radius:20px; font-size:0.78rem; font-weight:700; }
.stock-indicator { margin-bottom:16px; }
.product-short-desc { color:var(--gray-400); font-size:0.92rem; line-height:1.7; margin:16px 0; padding:16px; background:rgba(255,255,255,0.03); border-left:3px solid var(--gold); border-radius:0 8px 8px 0; }
.product-specs { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }
.spec-item { background:var(--dark-card); border:1px solid var(--dark-border); border-radius:10px; padding:12px 14px; display:flex; flex-direction:column; gap:4px; }
.spec-label { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--gray-500); }
.spec-item > span:last-child { font-size:0.88rem; font-weight:600; }
.product-buy-block { display:flex; gap:12px; align-items:center; margin:24px 0; flex-wrap:wrap; }
.qty-selector { display:flex; align-items:center; gap:4px; background:var(--dark-card); border:1px solid var(--dark-border); border-radius:10px; padding:4px; }
.qty-btn-lg { width:38px; height:38px; border-radius:8px; background:none; color:var(--white); font-size:1.2rem; display:flex; align-items:center; justify-content:center; transition:var(--transition); cursor:pointer; }
.qty-btn-lg:hover { background:rgba(201,146,42,0.1); color:var(--gold); }
#productQty { width:48px; text-align:center; background:none; border:none; color:var(--white); font-size:1rem; font-weight:700; font-family:var(--font); }
.btn-buy { flex:1; justify-content:center; padding:14px 24px; font-size:0.95rem; }
.btn-wishlist { font-size:1.5rem; width:48px; height:48px; border-radius:12px; background:var(--dark-card); border:1px solid var(--dark-border); display:flex; align-items:center; justify-content:center; transition:var(--transition); cursor:pointer; }
.btn-wishlist:hover, .btn-wishlist.active { border-color:rgba(231,76,60,0.4); background:rgba(231,76,60,0.06); }
.btn-devis-link { display:block; padding:12px 16px; background:rgba(201,146,42,0.06); border:1px solid rgba(201,146,42,0.2); border-radius:10px; font-size:0.82rem; color:var(--gold); transition:var(--transition); margin:16px 0; }
.btn-devis-link:hover { background:rgba(201,146,42,0.12); }
.product-guarantees { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:20px 0; }
.guarantee { display:flex; gap:8px; font-size:0.78rem; color:var(--gray-400); align-items:flex-start; }
.product-share { display:flex; align-items:center; gap:10px; margin-top:20px; padding-top:20px; border-top:1px solid var(--dark-border); font-size:0.82rem; color:var(--gray-500); }
.share-btn { padding:6px 14px; border-radius:20px; font-size:0.75rem; font-weight:600; border:1px solid var(--dark-border); transition:var(--transition); }
.share-btn.whatsapp { color:#25D366; border-color:rgba(37,211,102,0.3); }
.share-btn.whatsapp:hover { background:rgba(37,211,102,0.1); }
.share-btn.facebook { color:#1877F2; border-color:rgba(24,119,242,0.3); }
.share-btn.facebook:hover { background:rgba(24,119,242,0.1); }
/* Tabs */
.product-tabs { margin-bottom:60px; }
.tabs-nav { display:flex; gap:4px; border-bottom:1px solid var(--dark-border); margin-bottom:32px; }
.tab-btn { padding:14px 24px; background:none; color:var(--gray-500); font-size:0.88rem; font-weight:600; font-family:var(--font); cursor:pointer; border-bottom:2px solid transparent; transition:var(--transition); }
.tab-btn:hover { color:var(--white); }
.tab-btn.active { color:var(--gold); border-bottom-color:var(--gold); }
.tab-content { display:none; }
.tab-content.active { display:block; animation:fadeIn 0.3s ease; }
.description-content { color:var(--gray-400); font-size:0.92rem; line-height:1.9; white-space:pre-line; }
.specs-table { width:100%; border-collapse:collapse; font-size:0.88rem; }
.specs-table td { padding:14px 16px; border-bottom:1px solid var(--dark-border); }
.specs-table tr:first-child td { padding-top:0; }
.specs-table td:first-child { font-weight:600; color:var(--gray-500); width:200px; }
/* Reviews */
.reviews-summary { margin-bottom:32px; text-align:center; }
.avg-rating-display { display:inline-flex; flex-direction:column; align-items:center; gap:8px; }
.avg-num { font-size:3rem; font-weight:900; color:var(--gold); line-height:1; }
.avg-stars { font-size:1.5rem; color:var(--gold); letter-spacing:4px; }
.avg-label { font-size:0.82rem; color:var(--gray-500); }
.reviews-list { display:flex; flex-direction:column; gap:16px; margin-bottom:32px; }
.review-card { background:var(--dark-card); border:1px solid var(--dark-border); border-radius:var(--radius-lg); padding:24px; }
.review-header { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.review-author-avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--wood-brown),var(--gold)); display:flex; align-items:center; justify-content:center; font-weight:700; color:white; flex-shrink:0; }
.review-stars { color:var(--gold); font-size:0.9rem; letter-spacing:2px; }
.review-date { margin-left:auto; font-size:0.75rem; color:var(--gray-500); }
.review-text { color:var(--gray-400); font-size:0.88rem; line-height:1.7; font-style:italic; }
.add-review-form { background:var(--dark-card); border:1px solid var(--dark-border); border-radius:var(--radius-lg); padding:28px; }
.add-review-form h4 { font-size:1rem; font-weight:700; margin-bottom:16px; }
.star-input { display:flex; gap:6px; font-size:1.8rem; cursor:pointer; margin-bottom:4px; }
.star-pick { color:var(--gold); transition:transform 0.1s; }
.star-pick:hover { transform:scale(1.2); }
/* Related */
.related-section { margin-top:60px; }
.related-section .section-title { font-size:1.5rem; margin-bottom:28px; }
/* Quick view modal styles */
.quick-view-layout { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:32px; }
.qv-images { }
.qv-main-img img { width:100%; height:300px; object-fit:cover; border-radius:12px; }
.qv-thumbs { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.qv-thumb { width:56px; height:56px; border-radius:8px; object-fit:cover; cursor:pointer; border:2px solid transparent; transition:var(--transition); }
.qv-thumb:hover { border-color:var(--gold); }
.qv-info .product-cat { margin-bottom:8px; display:block; }
.qv-info h2 { font-size:1.3rem; font-weight:800; margin-bottom:12px; }
.qv-features { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }
.qv-feat { display:flex; gap:8px; font-size:0.78rem; color:var(--gray-500); }
@media(max-width:768px){ .product-detail-grid{grid-template-columns:1fr;} .main-img{height:320px;} .product-specs{grid-template-columns:1fr;} .product-guarantees{grid-template-columns:1fr;} .quick-view-layout{grid-template-columns:1fr;} }
