/**
 * Special WooCommerce Gallery Styles
 * 
 * CSS Classes:
 * .swg-gallery-wrapper          - Main container
 * .swg-main-image-container     - Large image wrapper
 * .swg-main-image               - Active main image
 * .swg-thumbnails-container     - Slider wrapper with arrows
 * .swg-thumbnail-slider         - Swiper container
 * .swg-thumbnail-slide          - Individual slide
 * .swg-thumbnail                - Thumbnail button
 * .swg-thumbnail--active        - Active thumbnail state
 * .swg-nav-arrow                - Arrow base styles
 * .swg-nav-arrow--prev          - Left arrow
 * .swg-nav-arrow--next          - Right arrow
 * .swg-nav-arrow--hidden        - Hidden arrow state
 */

/* ============================================
   Gallery Wrapper
   ============================================ */
.swg-gallery-wrapper {
    width: 100%;
    max-width: 100%;
}

/* ============================================
   Main Image
   ============================================ */
.swg-main-image-container {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    margin-left: auto;
    margin-right: auto;
}

.swg-main-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

.swg-main-image.swg-loading {
    opacity: 0.5;
}

/* ============================================
   Thumbnails Container
   ============================================ */
.swg-thumbnails-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    position: relative;
}

/* ============================================
   Thumbnail Slider (Swiper)
   ============================================ */
.swg-thumbnail-slider {
    flex: 1;
    overflow: hidden;
    margin: 0 auto;
}

.swg-thumbnail-slider .swiper-wrapper {
    align-items: center;
}

.swg-thumbnail-slide {
    width: auto;
    display: flex;
    justify-content: center;
}

/* ============================================
   Thumbnail Button
   ============================================ */
.swg-thumbnail {
    width: 80px;
    height: 80px;
    padding: 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: none !important;
    background-color: transparent !important;
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease, border-width 0.2s ease;
    box-sizing: border-box;
}

.swg-thumbnail:hover,
.swg-thumbnail:focus,
.swg-thumbnail:active,
.swg-thumbnail--active,
.swg-thumbnail--active:hover,
.swg-thumbnail--active:focus,
.swg-thumbnail--active:active {
    background: none !important;
    background-color: transparent !important;
}

.swg-thumbnail:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

.swg-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Active Thumbnail State - only border changes, no background */
.swg-thumbnail--active {
    border-color: #00a99d;
    border-width: 2px;
}

/* ============================================
   Navigation Arrows
   ============================================ */
.swg-nav-arrow {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.3s ease, visibility 0.3s ease;
    padding: 0;
}

.swg-nav-arrow:hover {
    background-color: #f5f5f5;
    border-color: #cccccc;
}

.swg-nav-arrow:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

/* Arrow icon styling */
.swg-arrow-icon {
    width: 13px;
    height: 10px;
    color: inherit;
}

/* Mirror the arrow for previous button */
.swg-nav-arrow--prev .swg-arrow-icon {
    transform: scaleX(-1);
}

/* Arrow Hidden State */
.swg-nav-arrow--hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Arrow Disabled State */
.swg-nav-arrow--disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.swg-nav-arrow--disabled:hover {
    background-color: #ffffff;
    border-color: #e0e0e0;
}

/* ============================================
   Editor Notice (Elementor)
   ============================================ */
.swg-editor-notice {
    padding: 20px;
    background-color: #f0f0f1;
    border: 1px dashed #c3c4c7;
    border-radius: 4px;
    text-align: center;
    color: #50575e;
    font-size: 14px;
}

/* ============================================
   Responsive Adjustments
   ============================================ */
@media (max-width: 767px) {
    .swg-thumbnail {
        width: 60px;
        height: 60px;
    }

    .swg-nav-arrow {
        width: 32px;
        height: 32px;
    }

    .swg-nav-arrow svg {
        width: 16px;
        height: 16px;
    }

    .swg-thumbnails-container {
        gap: 6px;
    }
}

/* ============================================
   Animation for Image Loading
   ============================================ */
/* NOTE: Infinite pulse animation removed to prevent flickering
   when loading single-image variations. The opacity transition
   on .swg-main-image handles loading state smoothly. */