/**
 * Product page styles
 * Sources:
 *   - trafic-product-gallery-redesign (product-gallery.php)
 *   - trafic_display_variation_info_block() CSS (variations.php)
 *   - trafic_display_sku_under_title() CSS (variations.php)
 * Condition: is_product()
 */

/* === DESKTOP : thumbs a droite === */
@media (min-width: 768px) {
    .woocommerce-product-gallery {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        position: relative;
    }
    /* Image principale */
    .woocommerce-product-gallery .flex-viewport {
        width: calc(100% - 135px) !important;
        border-radius: 42px !important;
        border: 1px solid #2B4678 !important;
        overflow: hidden !important;
        flex-shrink: 0;
        order: 1;
    }
    .woocommerce-product-gallery .flex-viewport img {
        border-radius: 0 !important;
    }
    /* Thumbnails en colonne a droite */
    .woocommerce-product-gallery .flex-control-thumbs {
        display: flex !important;
        flex-direction: column !important;
        width: 115px !important;
        margin-left: 20px !important;
        gap: 8px !important;
        order: 2;
        max-height: var(--gallery-viewport-h, 555px);
        overflow-y: auto;
        flex-shrink: 0;
    }
    .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
        display: none;
    }
    .woocommerce-product-gallery .flex-control-thumbs li {
        width: 115px !important;
        height: 103px !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        flex-shrink: 0;
    }
    .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 115px !important;
        height: 103px !important;
        object-fit: cover !important;
        border-radius: 24px !important;
        border: 1px solid #2B4678 !important;
        background: lightgray 50% / cover no-repeat;
        cursor: pointer;
        opacity: 0.5;
        transition: opacity 0.2s ease;
    }
    .woocommerce-product-gallery .flex-control-thumbs li img:hover,
    .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
        opacity: 1;
    }
    /* Zoom trigger */
    .woocommerce-product-gallery__trigger {
        z-index: 5;
        right: auto !important;
        left: calc(100% - 135px - 52px) !important;
    }
}

/* === MOBILE : thumbs horizontales en-dessous === */
@media (max-width: 767px) {
    .woocommerce-product-gallery {
        display: flex !important;
        flex-direction: column !important;
    }
    .woocommerce-product-gallery .flex-viewport {
        border-radius: 42px !important;
        border: 1px solid #2B4678 !important;
        overflow: hidden !important;
    }
    .woocommerce-product-gallery .flex-control-thumbs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        margin-top: 12px !important;
        padding-bottom: 8px !important;
    }
    .woocommerce-product-gallery .flex-control-thumbs li {
        width: 81px !important;
        height: 75px !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }
    .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 81px !important;
        height: 75px !important;
        object-fit: cover !important;
        border-radius: 24px !important;
        border: 1px solid #2B4678 !important;
        background: lightgray 50% / cover no-repeat;
        opacity: 0.5;
    }
    .woocommerce-product-gallery .flex-control-thumbs li img:hover,
    .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
        opacity: 1;
    }
}

/* === Variation info block === */
.trafic-variation-info {
    margin: 20px 0;
    padding: 15px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-left: 4px solid #2271b1;
    border-radius: 0 8px 8px 0;
    display: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.trafic-variation-info.visible {
    display: block;
    animation: traficFadeIn 0.3s ease;
}
@keyframes traficFadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}
.trafic-variation-info .variation-name {
    font-size: 1.1em;
    font-weight: 600;
    color: #2271b1;
    margin-bottom: 8px;
    display: block;
}
.trafic-variation-info .variation-sku {
    font-size: 0.95em;
    color: #555;
    display: flex;
    align-items: center;
    gap: 8px;
}
.trafic-variation-info .variation-sku .label {
    font-weight: 500;
    color: #777;
}
.trafic-variation-info .variation-sku .value {
    font-family: 'Courier New', Consolas, monospace;
    background: #fff;
    padding: 4px 12px;
    border-radius: 4px;
    border: 1px solid #ddd;
    font-weight: 600;
    color: #333;
}