/* Product Detail Page Styles */

/* Breadcrumbs */
.vb-breadcrumbs { font-size:var(--fs-sm); color:var(--vb-gray-500); }
.vb-breadcrumbs a { color:var(--vb-gray-500); text-decoration:none; transition:color var(--dur-fast); }
.vb-breadcrumbs a:hover { color:var(--vb-red); }

/* Layout Grid overridden in PHP inline for @media */

/* Gallery */
.vb-product-gallery { display:flex; flex-direction:column; gap:var(--sp-4); }
.vb-product-gallery__main { position:relative; background:var(--vb-gray-50); border-radius:var(--radius-lg); overflow:hidden; aspect-ratio: 3/4; max-height: 70vh; display: flex; align-items: center; justify-content: center; }
.vb-product-gallery__main img { max-width:100%; max-height:100%; object-fit:contain; }

.vb-product-gallery__thumbs { display:flex; gap:var(--sp-2); overflow-x:auto; padding-bottom:var(--sp-2); scrollbar-width:thin; }
.vb-product-gallery__thumb { flex-shrink:0; width:80px; height:100px; border-radius:var(--radius-md); overflow:hidden; cursor:pointer; opacity:0.6; transition:opacity var(--dur-fast), border var(--dur-fast); border:2px solid transparent; }
.vb-product-gallery__thumb:hover, .vb-product-gallery__thumb.active { opacity:1; border-color:var(--vb-red); }
.vb-product-gallery__thumb img { width:100%; height:100%; object-fit:cover; }

/* Info Section */
.vb-product-info { display:flex; flex-direction:column; }

/* Variant Options */
.vb-variant-group { margin-bottom:var(--sp-4); }
.vb-variant-group label { display:block; font-weight:700; color:var(--vb-gray-900); font-size:var(--fs-sm); margin-bottom:var(--sp-2); text-transform:uppercase; letter-spacing:0.05em; }
.vb-variant-options { display:flex; gap:var(--sp-2); flex-wrap:wrap; }

.vb-variant-btn { position:relative; cursor:pointer; display:inline-block; }
.vb-variant-btn input { position:absolute; opacity:0; width:0; height:0; }
.vb-variant-btn span { display:block; padding:var(--sp-2) var(--sp-4); background:var(--vb-white); border:1px solid var(--vb-gray-300); border-radius:var(--radius-base); font-size:var(--fs-sm); font-weight:600; color:var(--vb-gray-700); transition:all var(--dur-fast); }
.vb-variant-btn input:checked + span { background:var(--vb-red); border-color:var(--vb-red); color:var(--vb-white); }
.vb-variant-btn:hover span { border-color:var(--vb-gray-500); }

/* Quantity Input */
.vb-quantity-input { display:flex; align-items:center; border:1px solid var(--vb-gray-300); border-radius:var(--radius-base); overflow:hidden; background:var(--vb-white); }
.vb-quantity-input button { background:transparent; border:none; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--vb-gray-600); cursor:pointer; transition:background var(--dur-fast); }
.vb-quantity-input button:hover { background:var(--vb-gray-100); }
.vb-quantity-input input { width:50px; border:none; text-align:center; font-weight:700; font-size:var(--fs-base); color:var(--vb-gray-900); -moz-appearance:textfield; }
.vb-quantity-input input::-webkit-outer-spin-button, .vb-quantity-input input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

/* Trust Badges */
.vb-trust-badges { display:flex; flex-direction:column; gap:var(--sp-3); padding-top:var(--sp-4); border-top:1px solid var(--vb-gray-200); }
.vb-trust-badge { display:flex; align-items:center; gap:var(--sp-3); color:var(--vb-gray-700); font-weight:600; font-size:var(--fs-sm); }
.vb-trust-badge .icon { font-size:20px; }
.vb-trust-badge small { display:block; color:var(--vb-gray-500); font-weight:400; font-size:11px; margin-top:2px; }

/* Tabs */
.vb-tabs-nav { display:flex; gap:var(--sp-6); border-bottom:1px solid var(--vb-gray-200); }
.vb-tab-btn { background:transparent; border:none; border-bottom:2px solid transparent; padding:var(--sp-3) 0; font-size:var(--fs-base); font-weight:700; color:var(--vb-gray-500); cursor:pointer; transition:all var(--dur-fast); margin-bottom:-1px; }
.vb-tab-btn:hover { color:var(--vb-gray-900); }
.vb-tab-btn.active { color:var(--vb-red); border-bottom-color:var(--vb-red); }

/* Reviews */
.vb-review-card { background:var(--vb-white); border:1px solid var(--vb-gray-200); border-radius:var(--radius-lg); padding:var(--sp-4); box-shadow:var(--shadow-sm); }

/* Prose / WYSIWYG Content */
.vb-prose { color:var(--vb-gray-700); line-height:1.7; }
.vb-prose h1, .vb-prose h2, .vb-prose h3 { color:var(--vb-gray-900); margin-top:1.5em; margin-bottom:0.5em; font-weight:800; font-family:var(--font-display); }
.vb-prose ul { margin-left:var(--sp-4); margin-bottom:1em; }
.vb-prose li { margin-bottom:0.25em; }

@media (min-width: 768px) {
    .vb-product-grid { grid-template-columns: 1fr 1fr; }
}
