/* ============================================================
   APC MOCKUP PDP V4 — Vaughn Rug style (image carrée + accordéons)
   Salon 13 places M3034851
   ============================================================ */

body.apc-v4 { margin:0; padding:0; background:#fff; color:#1a1a1a;
  font-family:'Inter', -apple-system, sans-serif; font-size:14px; line-height:1.5; }
body.apc-v4 * { box-sizing:border-box; }
body.apc-v4 a { color:#1a1a1a; text-decoration:none; }
body.apc-v4 a:hover { text-decoration:underline; }
body.apc-v4 img { max-width:100%; display:block; }
body.apc-v4 button { font-family:inherit; cursor:pointer; border:none; background:none; }

/* UTILITY BAR */
.v-utility-bar { background:#1a1a1a; color:#fff; font-size:12px; padding:7px 0; }
.v-utility-inner { max-width:1440px; margin:0 auto; padding:0 24px;
  display:flex; justify-content:space-between; gap:30px; }
.v-utility-bar a { color:#fff; text-decoration:underline; }

/* HEADER */
.v-header { border-bottom:1px solid #e5e5e5; padding:14px 24px 0; }
.v-header-top { display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  max-width:1440px; margin:0 auto; padding-bottom:14px; }
.v-utils { display:flex; gap:18px; font-size:12px; color:#666; }
.v-right { justify-content:flex-end; }
.v-logo { font-family:'Bodoni Moda', serif; font-size:26px; text-align:center; }
.v-nav { display:flex; gap:24px; max-width:1440px; margin:0 auto; padding:12px 0;
  font-size:13px; font-weight:500; justify-content:center; }
.v-nav a.active { border-bottom:2px solid #1a1a1a; padding-bottom:6px; }
.v-nav a.sale { color:#d9251c; font-weight:700; }

/* BREADCRUMB */
.v-breadcrumb { max-width:1440px; margin:0 auto; padding:14px 24px; font-size:11px; color:#888; }
.v-breadcrumb span { color:#1a1a1a; }

/* PRODUCT MAIN — image carrée à gauche, info à droite */
.v-product { max-width:1440px; margin:0 auto; padding:0 24px 60px; }
.v-product-inner { display:grid; grid-template-columns:1fr 380px; gap:48px; align-items:start; }

/* Gallery */
.v-gallery { display:grid; grid-template-columns:80px 1fr; gap:14px; }
.v-thumbs-side { display:flex; flex-direction:column; gap:8px; }
.v-thumb-side { width:80px; height:80px; border:1px solid #e5e5e5; padding:2px;
  background:#fafafa; }
.v-thumb-side img { width:100%; height:100%; object-fit:cover; }
.v-thumb-side.active { border-color:#1a1a1a; border-width:2px; }
.v-main { position:relative; background:#fafafa; aspect-ratio:1/1; overflow:hidden;
  display:flex; align-items:center; justify-content:center; }
.v-main img { width:100%; height:100%; object-fit:contain; }
.v-view-room { position:absolute; bottom:16px; left:16px; background:#fff;
  border:1px solid #1a1a1a; padding:8px 14px; font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.08em; }

/* Info */
.v-info h1 { font-family:'Bodoni Moda', serif; font-weight:500;
  font-size:28px; line-height:1.2; margin:0 0 12px; }
.v-rating { display:flex; align-items:center; gap:10px; font-size:12px;
  margin-bottom:14px; flex-wrap:wrap; }
.v-stars { color:#f5a623; font-size:14px; letter-spacing:1px; }
.v-rating a { color:#666; text-decoration:underline; }
.v-sku { color:#888; margin-left:auto; }
.v-price-range { font-size:22px; font-weight:600; margin:0 0 22px; color:#1a1a1a; }

/* Option group */
.v-opt-group { margin-bottom:20px; }
.v-opt-label { font-size:12px; text-transform:uppercase; letter-spacing:0.08em;
  font-weight:700; margin:0 0 8px; color:#555; }
.v-opt-label span { font-weight:400; color:#1a1a1a; text-transform:none; letter-spacing:normal; }

.v-opt-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.v-opt-card { border:2px solid #e0e0e0; padding:10px 8px; background:#fff;
  text-align:center; transition:border-color .15s; cursor:pointer; }
.v-opt-card.active { border-color:#1a1a1a; background:#fafafa; }
.v-opt-card strong { display:block; font-size:13px; margin-bottom:2px; }
.v-opt-card span { display:block; font-size:11px; color:#666; }

.v-swatches { display:flex; gap:8px; }
.v-swatch { width:40px; height:40px; border-radius:50%; box-shadow:0 0 0 1px #ccc; cursor:pointer; }
.v-swatch.active { box-shadow:0 0 0 2px #fff, 0 0 0 4px #1a1a1a; }

.v-size-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.v-size { border:1px solid #e0e0e0; padding:10px; font-size:12px; background:#fff;
  text-align:center; }
.v-size.active { border:2px solid #1a1a1a; background:#fafafa; font-weight:600; }

/* Quantity */
.v-qty-row { margin-bottom:18px; }
.v-qty { display:flex; align-items:center; border:1px solid #ccc; width:fit-content; }
.v-qty button { padding:9px 14px; font-size:16px; }
.v-qty span { padding:0 14px; font-weight:600; }

/* Delivery */
.v-delivery { background:#f7f5f0; padding:12px 14px; font-size:13px; margin-bottom:14px; }
.v-delivery a { color:#0073cf; text-decoration:underline; }

/* CTA */
.v-cta { width:100%; background:#0073cf; color:#fff; padding:16px;
  font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:0.08em;
  margin-bottom:8px; }
.v-cta:hover { background:#005ba6; }
.v-cta-save { width:100%; border:1px solid #ccc; padding:13px; font-size:13px;
  font-weight:500; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:20px; }
.v-cta-save:hover { border-color:#1a1a1a; }

/* Accordions */
.v-accordions { border-top:1px solid #e5e5e5; }
.v-accordions details { border-bottom:1px solid #e5e5e5; }
.v-accordions summary { padding:18px 0; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.12em; cursor:pointer;
  list-style:none; position:relative; }
.v-accordions summary::-webkit-details-marker { display:none; }
.v-accordions summary::after { content:'+'; position:absolute; right:0;
  top:50%; transform:translateY(-50%); font-size:22px; font-weight:300; }
.v-accordions details[open] summary::after { content:'−'; }
.v-acc-body { padding:0 0 22px; font-size:13px; line-height:1.7; color:#444; }
.v-acc-body p { margin:0 0 12px; }
.v-acc-body ul { padding-left:20px; }
.v-acc-body ul li { margin-bottom:5px; }
.v-acc-body table { width:100%; border-collapse:collapse; }
.v-acc-body th, .v-acc-body td { padding:8px 0; text-align:left;
  border-bottom:1px solid #eee; font-weight:400; font-size:13px; }
.v-acc-body th { color:#888; font-size:12px; text-transform:uppercase; width:42%; }

/* COMPLETE THE LOOK — 3 cards style Vaughn */
.v-complete { max-width:1440px; margin:80px auto 0; padding:0 24px;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.v-complete-card { aspect-ratio:1/1.1; overflow:hidden; }
.v-card-dark { background:#1a1a1a; color:#fff; padding:28px;
  display:flex; flex-direction:column; justify-content:flex-end; }
.v-complete-eye { font-size:11px; text-transform:uppercase; letter-spacing:0.15em;
  color:#bbb; margin:0 0 8px; }
.v-card-dark h3 { font-family:'Bodoni Moda', serif; font-weight:500;
  font-size:24px; margin:0 0 14px; line-height:1.2; }
.v-link-light { color:#fff; font-size:12px; text-transform:uppercase;
  letter-spacing:0.1em; font-weight:600; text-decoration:none; }
.v-card-img { background:#f5f5f5; }
.v-card-img img { width:100%; height:100%; object-fit:cover; }

/* PEOPLE ALSO VIEWED */
.v-also { max-width:1440px; margin:80px auto 0; padding:0 24px; }
.v-also h2 { font-family:'Bodoni Moda', serif; font-weight:500;
  font-size:28px; margin:0 0 22px; }
.v-also-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.v-prod { font-size:12px; }
.v-prod img { aspect-ratio:1/1; object-fit:cover; background:#f5f5f5; margin-bottom:8px; }
.v-prod p { margin:0 0 3px; }
.v-prod-price { color:#666; font-weight:500; }

/* RECENTLY VIEWED */
.v-recently { max-width:1440px; margin:60px auto 0; padding:0 24px; }
.v-recently h2 { font-family:'Bodoni Moda', serif; font-weight:500;
  font-size:22px; margin:0 0 18px; }
.v-recently-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; }
.v-prod.sm .v-ph { aspect-ratio:1/1; background:#f5f5f5; margin-bottom:8px; }

/* RELATED CATEGORIES */
.v-related-cat { max-width:1440px; margin:60px auto 0; padding:0 24px; }
.v-related-cat h2 { font-family:'Bodoni Moda', serif; font-weight:500;
  font-size:20px; margin:0 0 14px; }
.v-cat-row { display:flex; flex-wrap:wrap; gap:8px; }
.v-cat-row a { background:#f5f5f5; padding:8px 14px; font-size:12px;
  border-radius:20px; transition:background .15s; }
.v-cat-row a:hover { background:#e0e0e0; text-decoration:none; }

/* SALES BAR */
.v-sales-bar { background:#f5f0e8; padding:22px 24px; margin-top:60px;
  display:flex; justify-content:center; align-items:center; gap:20px; flex-wrap:wrap; font-size:13px; }
.v-form { display:flex; gap:0; }
.v-form input { border:1px solid #ccc; padding:9px 12px; font-size:13px; width:240px; }
.v-form button { background:#1a1a1a; color:#fff; padding:9px 22px;
  font-weight:600; font-size:13px; }

/* FOOTER */
.v-footer { padding:40px 24px; max-width:1440px; margin:0 auto; }
.v-foot-cols { display:grid; grid-template-columns:repeat(4, 1fr); gap:30px;
  padding-bottom:30px; border-bottom:1px solid #e5e5e5; }
.v-foot-title { font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.08em; margin:0 0 10px; }
.v-foot-cols p, .v-foot-cols a { font-size:12px; color:#666; margin:0 0 4px; }
.v-foot-cols a { color:#1a1a1a; }
.v-amp { font-family:'Bodoni Moda', serif; font-size:60px; line-height:1; }
.v-copy { text-align:center; font-size:11px; color:#888; margin:20px 0 0; }

/* RESPONSIVE */
@media (max-width: 1100px) {
  .v-product-inner { grid-template-columns:1fr; }
  .v-complete { grid-template-columns:1fr; }
}
@media (max-width: 768px) {
  .v-gallery { grid-template-columns:1fr; }
  .v-thumbs-side { flex-direction:row; overflow-x:auto; }
  .v-also-grid { grid-template-columns:repeat(2, 1fr); }
  .v-recently-grid { grid-template-columns:repeat(3, 1fr); }
  .v-foot-cols { grid-template-columns:repeat(2, 1fr); }
}
