/* product.css — single product supplement */

.rs-mobile-purchase { display: none; }

/* Keep large product galleries compact. The custom <article> product layout
 * does not match WooCommerce's stock div.product thumbnail selectors. */
.rs-single-product__gallery {
    min-width: 0;
}

.woocommerce .rs-single-product__gallery .woocommerce-product-gallery {
    width: 100%;
    overflow: hidden;
}

.woocommerce .rs-single-product__gallery .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    transform: none !important;
}

.woocommerce .rs-single-product__gallery .woocommerce-product-gallery__image {
    display: none !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce .rs-single-product__gallery .woocommerce-product-gallery__image.flex-active-slide {
    display: block !important;
    overflow: hidden;
    border: 1px solid var(--rs-gray-200);
    border-radius: var(--rs-radius-lg);
    background: #eef3f6;
}

.woocommerce .rs-single-product__gallery .woocommerce-product-gallery__image.flex-active-slide > a,
.woocommerce .rs-single-product__gallery .woocommerce-product-gallery__image.flex-active-slide img {
    display: block;
    background: #eef3f6;
}

.woocommerce .rs-single-product__gallery .woocommerce-product-gallery__image.flex-active-slide img {
    mix-blend-mode: multiply;
}

.woocommerce .rs-single-product__gallery .flex-control-thumbs {
    display: flex;
    gap: .5rem;
    margin-top: .75rem;
    padding: .25rem 0 .5rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.woocommerce .rs-single-product__gallery .flex-control-thumbs li {
    display: block;
    float: none;
    clear: none;
    flex: 0 0 84px;
    width: 84px;
}

.woocommerce .rs-single-product__gallery .flex-control-thumbs li img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border: 1px solid var(--rs-gray-200);
    border-radius: var(--rs-radius);
}

/* Variable product swatches area */
.variations select {
    border: 1.5px solid var(--rs-gray-300);
    border-radius: var(--rs-radius);
    padding: .5rem .85rem;
    font-family: inherit;
    font-size: .9rem;
    background: var(--rs-white);
    cursor: pointer;
    transition: border-color var(--rs-trans);
}

.variations select:focus {
    outline: none;
    border-color: var(--rs-primary);
    box-shadow: 0 0 0 3px var(--rs-primary-light);
}

.variations_button { margin-top: 1rem; }

/* WooCommerce rating */
.woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--rs-text-muted);
}

.star-rating { color: var(--rs-accent); letter-spacing: .1em; }

/* Add to cart form */
.cart { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }

.qty input {
    width: 64px;
    border: 1.5px solid var(--rs-gray-300);
    border-radius: var(--rs-radius);
    padding: .6rem .5rem;
    text-align: center;
    font-family: inherit;
    font-size: .95rem;
}

/* Product tabs */
.woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--rs-gray-200);
    overflow-x: auto;
    padding: 0;
}

.woocommerce-tabs ul.tabs li {
    padding: .75rem 1.25rem;
    font-size: .88rem;
    font-weight: 600;
    color: var(--rs-gray-500);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
    list-style: none;
}

.woocommerce-tabs ul.tabs li a { color: inherit; }
.woocommerce-tabs ul.tabs li.active { color: var(--rs-primary); border-bottom-color: var(--rs-primary); }

.woocommerce-Tabs-panel {
    padding: 1.5rem 0;
    font-size: .92rem;
    line-height: 1.8;
}

/* Related products */
.related.products > h2 {
    font-size: 1.2rem;
    margin-bottom: 1.25rem;
    padding-top: .5rem;
    border-top: 1px solid var(--rs-gray-200);
}

.related.products ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

/* Up-sells */
.up-sells > h2 {
    font-size: 1.2rem;
    margin-bottom: 1.25rem;
}

@media (max-width: 768px) {
    body.single-product { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

    .rs-mobile-purchase {
        position: fixed;
        z-index: 930;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(150px, 1.15fr);
        gap: .75rem;
        align-items: center;
        padding: .65rem max(.8rem, calc((100vw - var(--rs-container)) / 2)) max(.65rem, env(safe-area-inset-bottom));
        border-top: 1px solid var(--rs-gray-200);
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -10px 30px rgba(4, 29, 43, .12);
        backdrop-filter: blur(16px);
    }

    .rs-mobile-purchase__price { min-width: 0; }
    .rs-mobile-purchase__price small { display: block; color: var(--rs-text-muted); font-size: .7rem; }
    .rs-mobile-purchase__price strong { display: block; overflow: hidden; color: var(--rs-gray-900); font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
    .rs-mobile-purchase__button { min-height: 48px; padding: .65rem .75rem; border: 0; border-radius: var(--rs-radius); background: var(--rs-primary); color: #fff; font-family: inherit; font-size: .82rem; font-weight: 800; line-height: 1.5; cursor: pointer; }
    .rs-mobile-purchase__button:disabled { background: var(--rs-gray-300); color: var(--rs-gray-600); cursor: not-allowed; }
    .single-product :where(.aio-contact-floating, .aio-contact-trigger, .aio-prompt-memo) { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
}
