/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */

.verdora-single-product { padding-block: var(--space-8); }

.verdora-single-product__layout {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--space-8);
    align-items: start;
    margin-top: var(--space-5);
}

.verdora-single-product__gallery-sticky,
.verdora-single-product__buybox-sticky {
    position: sticky;
    top: calc(var(--space-6) + 88px);
}

/* WooCommerce's own gallery markup, restyled */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { border-radius: var(--radius-lg); overflow: hidden; }
.woocommerce-product-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--space-2);
    margin-top: var(--space-3);
    list-style: none; padding: 0;
}
.woocommerce-product-gallery .flex-control-thumbs img {
    border-radius: var(--radius-sm);
    cursor: pointer;
    opacity: 0.7;
    transition: opacity var(--duration-fast) var(--ease-standard);
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }

.verdora-single-product__summary-col .product_title { margin-bottom: var(--space-2); }
.verdora-single-product__summary-col .price { font-size: 1.5rem; font-weight: 600; display: block; margin-bottom: var(--space-4); }
.verdora-single-product__summary-col .woocommerce-product-rating { margin-bottom: var(--space-4); }

/* Variation swatches (color/scent) instead of the default <select> where
   a variation attribute is registered as a swatch type via ACF/plugin —
   base select styling kept as a graceful fallback for text-based variations. */
.variations { margin-bottom: var(--space-5); }
.variations td.label { font-weight: 600; padding-bottom: var(--space-2); }
.verdora-swatches { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.verdora-swatch {
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 2px solid var(--color-border);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: var(--fs-caption);
    background: var(--color-surface);
}
.verdora-swatch[aria-checked="true"] { border-color: var(--color-primary); }

.single_add_to_cart_button {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.75rem;
}

/* ---- Sticky add-to-cart bar (footer-injected) ---- */
.verdora-sticky-atc {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    background: var(--color-surface);
    border-top: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
    z-index: calc(var(--z-header) - 1);
    transform: translateY(100%);
    transition: transform var(--duration-base) var(--ease-standard);
}
.verdora-sticky-atc[data-visible="true"] { transform: translateY(0); }
.verdora-sticky-atc__inner { display: flex; align-items: center; gap: var(--space-4); padding-block: var(--space-3); }
.verdora-sticky-atc__thumb { width: 48px; height: 48px; object-fit: cover; border-radius: var(--radius-sm); }
.verdora-sticky-atc__meta { flex: 1; display: flex; flex-direction: column; }
.verdora-sticky-atc__title { font-weight: 600; font-size: var(--fs-small); }
.verdora-sticky-atc__price { font-size: var(--fs-small); color: var(--color-text-muted); }
.verdora-sticky-atc__hint { font-size: var(--fs-caption); color: var(--color-text-muted); }

/* ---- Product data tabs ---- */
.verdora-single-product__tabs .woocommerce-tabs { margin-top: var(--space-8); }
.verdora-single-product__tabs ul.tabs { display: flex; gap: var(--space-6); list-style: none; padding: 0; margin: 0 0 var(--space-6); border-bottom: 1px solid var(--color-border); }
.verdora-single-product__tabs ul.tabs li a { display: inline-block; padding-bottom: var(--space-3); font-weight: 600; color: var(--color-text-muted); }
.verdora-single-product__tabs ul.tabs li.active a { color: var(--color-text); border-bottom: 2px solid var(--color-primary); }

.verdora-benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-5); }
.verdora-benefits-grid__item h4 { margin: var(--space-2) 0 var(--space-1); }
.verdora-how-to-use { padding-left: var(--space-6); display: grid; gap: var(--space-3); }
.verdora-specs-table { width: 100%; border-collapse: collapse; }
.verdora-specs-table th, .verdora-specs-table td { text-align: left; padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); }
.verdora-specs-table th { width: 200px; color: var(--color-text-muted); font-weight: 500; }

@media (max-width: 900px) {
    .verdora-single-product__layout { grid-template-columns: 1fr; }
    .verdora-single-product__gallery-sticky,
    .verdora-single-product__buybox-sticky { position: static; }
}
