/**
 * GGM Commerce - Product Variations Styles (Structural Only)
 *
 * Design styles are in professional-defaults.css
 *
 * @package GGM_Commerce
 */

/* ==========================================================================
   VARIATION SELECTOR - Structural CSS
   ========================================================================== */

/* Variation Selector Container - Structural */
.ggmc-variation-selector {
    width: 100%;
}

/* Attribute Row - Structural */
.ggmc-variation-attribute-row:last-child {
    margin-bottom: 0;
}

/* Attribute Header - Structural */
.ggmc-variation-attribute-header {
    display: flex;
    align-items: center;
}

/* Options Container - Structural */
.ggmc-variation-options {
    display: flex;
    flex-wrap: wrap;
}

.ggmc-variation-options.layout-grid {
    display: grid;
}

/* Button Style Options - Structural */
.ggmc-variation-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.ggmc-variation-button.disabled {
    cursor: not-allowed;
    text-decoration: line-through;
}

.ggmc-variation-button.out-of-stock {
    position: relative;
}

.ggmc-variation-button.out-of-stock::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    transform: rotate(-10deg);
}

/* Swatch Styles - Structural */
.ggmc-variation-swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    overflow: hidden;
}

.ggmc-variation-swatch:hover {
    transform: scale(1.05);
}

.ggmc-variation-swatch.disabled {
    cursor: not-allowed;
}

/* Color Swatch - Structural */
.ggmc-variation-color-swatch {
    border-radius: 50%;
}

.ggmc-variation-color-swatch .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Image Swatch - Structural */
.ggmc-variation-image-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ggmc-variation-image-swatch .ggmc-swatch-label {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 100%;
}

/* Select Dropdown - Structural */
.ggmc-variation-select {
    width: 100%;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.ggmc-variation-select:hover,
.ggmc-variation-select:focus {
    outline: none;
}

/* Price Display - Structural */
.ggmc-variation-price-wrapper {
    border-top-width: 1px;
    border-top-style: solid;
}

/* Clear Button - Structural */
.ggmc-variation-clear {
    background: none;
    border-width: 1px;
    border-style: solid;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Notice Messages - Structural */
.ggmc-variation-selector-notice {
    text-align: center;
}
