/**
 * Woo Variants Enhancer Pro - Frontend CSS
 */

/* Section Title */
.woovarenpro-section-title {
    font-size: 18px !important;
    font-weight: 800 !important;
    margin: 0 0 15px 0 !important;
    color: #111 !important;
}

/* Deconstruct variations table to behave like clean DIVs */
.variations,
.variations tbody,
.variations tr,
.variations td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.variations tr {
    margin-bottom: 15px !important;
}

.variations th.label,
.variations td.label,
.variations .value>label {
    display: none !important;
}

/* Container and Row Styling */
.woovarenpro-variations-container {
    width: 100% !important;
    margin-bottom: 25px !important;
}

.woovarenpro-variation-row {
    width: 100% !important;
    margin-bottom: 15px !important;
    position: relative !important;
}

.woovarenpro-variation-value {
    width: 100% !important;
    display: block !important;
}

/* Clear selection link */
.reset_variations {
    display: inline-block !important;
    margin-top: 10px !important;
    font-size: 13px !important;
    color: #2271b1 !important;
    text-decoration: none !important;
}

.reset_variations:hover {
    text-decoration: underline !important;
}

/* Select2 Container Styling */
.woovarenpro-select2-container.select2-container {
    width: 100% !important;
    margin-bottom: 0 !important;
}

.woovarenpro-variations-container .select2-container--default .select2-selection--single {
    height: 68px !important;
    /* Adjusted from 82px */
    border: 1.5px solid #d1d5db !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    padding: 0px !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

.woovarenpro-select2-container.select2-container--open .select2-selection--single {
    border-color: #2271b1 !important;
}

.woovarenpro-select2-container .select2-selection__rendered {
    padding: 0 !important;
    line-height: normal !important;
    width: 100% !important;
    display: block !important;
    color: inherit !important;
}

.woovarenpro-variations-container .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 20px !important;
    top: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.woovarenpro-select2-container .select2-selection__arrow b {
    border-color: #111 transparent transparent transparent !important;
    border-width: 6px 6px 0 6px !important;
}

.woovarenpro-select2-container.select2-container--open .select2-selection__arrow b {
    border-color: transparent transparent #2271b1 transparent !important;
    border-width: 0 6px 6px 6px !important;
}

/* Header UI */
.woovarenpro-select-header {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    text-align: left;
}

.woovarenpro-attr-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border-radius: 10px;
    color: #2271b1;
}

.woovarenpro-attr-icon img {
    max-width: 28px;
    max-height: 28px;
    object-fit: contain;
}

.woovarenpro-attr-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.woovarenpro-attr-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
    overflow: visible;
    gap: 2px;
    min-width: 0;
}

.woovarenpro-attr-label {
    font-size: 14px !important;
    color: #6b7280 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.woovarenpro-attr-value {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #000 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    word-break: break-word;
    word-wrap: break-word;
    white-space: normal;
}

.woovarenpro-select-placeholder {
    font-size: 16px;
    color: #9ca3af;
    font-weight: 500;
}

/* Dropdown Results Styling */
.select2-container--default .select2-results__option {
    padding: 8px !important;
    transition: all 0.2s ease;
}

/* Aktuálně vybraná položka - modrý border a pozadí */
.select2-container--default .select2-results__option--selected {
    background-color: transparent !important;
}

.select2-container--default .select2-results__option--selected .woovarenpro-dropdown-item {
    border-color: #2271b1 !important;
    background-color: #f0f7ff !important;
    border-radius: 12px;
}

/* Hover (přejíždění) - šedivá */
.select2-container--default .select2-results__option--highlighted {
    background-color: #f3f4f6 !important;
    color: inherit !important;
}

/* Pokud je vybraná i hovernutá zároveň, modrá má přednost */
.select2-container--default .select2-results__option--selected.select2-results__option--highlighted {
    background-color: transparent !important;
}

.select2-container--default .select2-results__option--selected.select2-results__option--highlighted .woovarenpro-dropdown-item {
    border-color: #2271b1 !important;
    background-color: #f0f7ff !important;
}

.woovarenpro-dropdown-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px;
    width: 100%;
    border: 2px solid transparent;
    transition: all 0.2s ease;
    border-radius: 12px;
}

.woovarenpro-item-img {
    width: 54px;
    height: 54px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.woovarenpro-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.woovarenpro-item-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    gap: 2px;
}

.woovarenpro-item-name-row {
    display: flex;
    align-items: baseline;
    /* Align price with name baseline */
    width: 100%;
    gap: 8px;
}

.woovarenpro-item-name {
    font-weight: 700;
    font-size: 16px;
    color: #000;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.woovarenpro-item-price,
.woovarenpro-item-price-absolute,
.woovarenpro-item-price-relative {
    font-size: 14px;
    color: #6b7280;
    font-weight: 600;
    flex-shrink: 0;
}

.woovarenpro-item-stock {
    font-size: 13px;
    font-weight: 600;
    display: block;
    text-align: left;
}

.woovarenpro-item-stock.in-stock {
    color: #10b981;
}

.woovarenpro-item-stock.out-of-stock {
    color: #ef4444;
}

/* Dropdown Stability */
.select2-dropdown.woovarenpro-select2-dropdown {
    border: 1.5px solid #d1d5db !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
    margin-top: 8px !important;
}

.woovarenpro-select2-dropdown .select2-results__options {
    padding: 8px !important;
    max-height: 400px !important;
}

/* Placeholder for variation image */
.woovarenpro-item-img-placeholder {
    background: #f3f4f6;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
}

.woovarenpro-item-img-placeholder .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
}