.pdp{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}@media (width<=700px){.pdp{grid-template-columns:1fr}}.gallery{max-width:456px;position:relative}.image-mode-tabs{background:#fafafa;border:1px solid #e2e5eb;border-radius:8px;gap:.25rem;width:fit-content;margin-bottom:.5rem;padding:.25rem;display:flex}.image-mode-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.image-mode-tab:hover{color:var(--color-heading)}.image-mode-tab.selected{background:var(--color-navy);color:#fff}.gallery.dimension-mode .thumbnails,.gallery.dimension-mode .carousel-nav{display:none}.gallery.dimension-mode .main-image-wrap{background:#fff;border:none}.main-image-wrap{aspect-ratio:1;background:#fafafa;border:1px solid #eee;border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.main-image-wrap img{object-fit:contain;max-width:100%;max-height:100%}.carousel-nav{cursor:pointer;background:#ffffffd9;border:none;border-radius:50%;width:2rem;height:2rem;font-size:1rem;position:absolute;top:50%;transform:translateY(-50%)}.carousel-nav.prev{left:.4rem}.carousel-nav.next{right:.4rem}.gallery-loader{z-index:2;background:#ffffffb3;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.gallery-loader.visible{display:flex}.spinner{border:3px solid #ddd;border-top-color:var(--color-navy);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.thumbnails{scroll-snap-type:x mandatory;gap:.4rem;margin-top:.6rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.thumbnails img{scroll-snap-align:start;object-fit:contain;cursor:pointer;opacity:0;background:#fafafa;border:1px solid #ddd;border-radius:6px;flex:none;width:46px;height:46px;transition:opacity .15s ease-in}.thumbnails img.loaded{opacity:1}.thumbnails img.selected{border-color:var(--color-navy)}.info h1{margin-bottom:.5rem;font-size:30px;font-weight:700}.id-line{color:var(--color-heading);margin:0 0 .75rem;font-size:1.4rem}.price-cards{gap:.75rem;margin:.5rem 0 1rem;display:flex}.price-card{background:#f2f4f7;border:1px solid #0000;border-radius:4px;flex:1;min-width:0;padding:1rem}.price-card--branded{border-color:var(--color-navy);background:#eef0f6}.price-card-label{color:#6b7a90;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.875rem;font-weight:700}.price-card--branded .price-card-label{color:var(--color-navy)}.price-card-amount{flex-wrap:wrap;align-items:baseline;gap:.25rem;margin:.5rem 0 0;display:flex}.price-card-value{color:var(--color-heading);font-size:1.4rem;font-weight:700}.price-card-unit{color:#6b7a90;font-size:.95rem;font-weight:400}.price-card-note{color:#6b7a90;margin:.25rem 0 0;font-size:.8rem;font-weight:400}.price-card--unpriced .price-card-unit,.price-card--unpriced .price-card-note{display:none}@media (width<=600px){.price-cards{flex-direction:column}}.description{color:#444;margin:1rem 0;font-size:1rem}.swatches{flex-wrap:wrap;gap:.6rem;margin:.5rem 0 1rem;display:flex}.swatch{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:.3rem;width:4.2rem;padding:0;display:flex}.swatch img{object-fit:cover;background:#fafafa;border:1px solid #ddd;border-radius:10px;width:4.2rem;height:4.2rem}.swatch.selected img{border:2px solid var(--color-navy)}.swatch-label{color:#555;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;line-height:1.2;overflow:hidden}.swatch.selected .swatch-label{color:var(--color-navy);font-weight:600}.sizes{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;display:flex}.size-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.4rem .75rem}.size-btn.selected{border-color:var(--color-navy);background:var(--color-navy);color:#fff}.stock-card{gap:1rem;margin-top:.5rem;display:flex}.stock-box{background:#f2f4f7;border-radius:12px;flex:1;align-items:flex-start;gap:.75rem;min-width:0;padding:1.1rem 1.3rem;display:flex}.stock-box-icon{color:#8a97ab;flex:none;margin-top:.15rem}.stock-box-icon--truck{color:#3d6fe0}.stock-box-text{flex-direction:column;gap:.4rem;min-width:0;display:flex}.stock-box-label{color:#6b7a90;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.box-value{color:var(--color-navy);font-size:1.4rem;font-weight:700;line-height:1}.box-value--muted{color:#b7bfcc;font-size:1.4rem;font-weight:700}.box-value--empty{color:#a33;font-size:1rem;font-weight:600}.arrival-row{align-items:baseline;gap:.45rem;display:flex}.arrival-row+.arrival-row{margin-top:.3rem}.arrival-date{color:#7b8798;font-size:.85rem;font-weight:500}@media (width<=600px){.arrival-row{flex-direction:column;align-items:flex-start;gap:.1rem}}.stock-table-wrap{border:1px solid #eee;border-radius:10px;margin-top:.5rem;overflow:hidden}.stock-table{border-collapse:collapse;width:100%}.stock-table th,.stock-table td{text-align:left;border-bottom:1px solid #f0f0f0;padding:.55rem .9rem;font-size:.9rem}.stock-table tr:last-child td{border-bottom:none}.stock-table th{color:#777;background:#fafafa;font-weight:500}.stock-table td .box-value,.stock-table td .box-value--muted{font-size:1.05rem}.stock-table td .box-value--empty{font-size:.9rem}.stock-table .arrival-date{font-size:.8rem}.spec-accordion{border:1px solid #eee;border-radius:8px;margin-top:1.5rem;padding:.85rem 1.1rem}.spec-accordion summary{cursor:pointer;color:var(--color-heading);font-weight:600}.spec-accordion-body{margin-top:.85rem}.spec-table{border-collapse:collapse;width:100%}.spec-table th,.spec-table td{text-align:left;border-bottom:1px solid #f0f0f0;padding:.4rem .6rem .4rem 0;font-size:.9rem}.spec-table th{color:#777;width:40%;font-weight:500}.branding-badges{flex-wrap:wrap;gap:.4rem;display:flex}.branding-badges+.branding-badges{margin-top:.75rem}.branding-badge{color:#555;background:#f4f4f4;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;text-decoration:none}a.branding-badge{color:var(--color-navy);font-weight:600}a.branding-badge:hover{text-decoration:underline}
