/**
 * KKTC AJAX Tabs CSS
 * Tab sistemi için temel stiller
 */

.ajax-tabs-container {
    position: relative;
    max-width: 100%;
    margin: 20px 0;
}

.ajax-tabs-container .tab-titles-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 15px;
    border-bottom: 2px solid #e1e1e1;
    background: #fff;
}

.ajax-tabs-container .tab-titles {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    min-width: max-content;
}

/* High specificity tab styles to override theme conflicts */
body .ajax-tabs-container .tab-titles li,
.ajax-tabs-container .tab-titles li {
    cursor: pointer !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #888 !important;
    position: relative !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
    border-bottom: 3px solid transparent !important;
    user-select: none !important;
    background-color: transparent !important;
}

body .ajax-tabs-container .tab-titles li:hover,
.ajax-tabs-container .tab-titles li:hover {
    color: #333 !important;
    background-color: transparent !important;
}

body .ajax-tabs-container .tab-titles li.active,
.ajax-tabs-container .tab-titles li.active {
    color: #000 !important;
    font-weight: 600 !important;
    border-bottom-color: #000 !important;
    border-bottom: 3px solid #000 !important;
    background-color: transparent !important;
}

/* Focus styling for accessibility */
body .ajax-tabs-container .tab-titles li:focus,
.ajax-tabs-container .tab-titles li:focus,
body .ajax-tabs-container .tab-titles li.kktc-tab-focused,
.ajax-tabs-container .tab-titles li.kktc-tab-focused {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
    background-color: rgba(0, 95, 204, 0.1) !important;
}

/* Screen reader only content */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ajax-tabs-container .tab-content {
    overflow: hidden;
}

.ajax-tabs-container .tab-content-inner {
    padding: 20px;
    min-height: 360px;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.ajax-tabs-container .tab-content-inner.loading {
    opacity: 0.6;
}

/* Loading spinner */
.loading-spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #0073aa;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 80px auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.error-message {
    text-align: center;
    color: #d63638;
    padding: 60px 20px;
    font-weight: 500;
    font-size: 16px;
}

/* Mobile responsive - Override ALL grid rules for ALL screen sizes below 769px */
@media (max-width: 768px) {
    /* FORCE 2-column grid on ALL mobile devices - no exceptions */
    body .ajax-tabs-container .kktc-regular-grid,
    html body .ajax-tabs-container .kktc-products-grid,
    body .ajax-tabs-container .kktc-masonry,
    html body .ajax-tabs-container .kktc-masonry,
    body .ajax-tabs-container .kktc-products-wrapper .kktc-products-grid,
    html body .ajax-tabs-container .kktc-products-wrapper .kktc-products-grid,
    .ajax-tabs-container .kktc-regular-grid,
    .ajax-tabs-container .kktc-products-grid,
    .ajax-tabs-container .kktc-masonry,
    .ajax-tabs-container .kktc-products-wrapper .kktc-products-grid,
    .kktc-products-grid,
    .kktc-regular-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        display: grid !important;
        padding: 0 5px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    /* Force tab scrolling on mobile */
    .ajax-tabs-container .tab-titles-wrapper {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth !important;
        padding-bottom: 5px !important;
        margin-bottom: 10px !important;
    }

    .ajax-tabs-container .tab-titles {
        display: flex !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .ajax-tabs-container .tab-titles li {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        min-width: max-content !important;
        padding: 10px 15px !important;
        font-size: 14px !important;
    }
    .ajax-tabs-container .tab-titles li {
        padding: 12px 18px;
        font-size: 14px;
        min-width: 120px;
        text-align: center;
    }
    
    .ajax-tabs-container .tab-content-inner {
        padding: 15px;
    }
}

/* Woodmart compatibility */
.woodmart-ajax-shop-on .ajax-tabs-container .tab-titles li {
    z-index: 1;
}

/* Swiper fixes inside tabs */
.ajax-tabs-container .swiper {
    overflow: visible !important;
}

.ajax-tabs-container .swiper-wrapper {
    display: flex !important;
    align-items: stretch !important;
}

.ajax-tabs-container .swiper-slide {
    flex-shrink: 0 !important;
    width: auto !important;
    height: auto !important;
}

/* KKTC Standardized Grid System */
.ajax-tabs-container .kktc-product-grid {
    display: grid !important;
    gap: 15px !important;
    padding: 10px !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

/* Force mobile grid layout in AJAX tabs */
@media (max-width: 768px) {
    .ajax-tabs-container .kktc-product-grid,
    .ajax-tabs-container .kktc-product-grid[data-columns="2"],
    .ajax-tabs-container .kktc-product-grid[data-columns="3"],
    .ajax-tabs-container .kktc-product-grid[data-columns="4"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 8px !important;
    }
    
    .ajax-tabs-container .kktc-product-card {
        width: 180px !important;
        max-width: 180px !important;
    }
    
    .ajax-tabs-container .kktc-card-image {
        height: 220px !important;
    }
}

/* Legacy grid system support - map to new system */
.ajax-tabs-container .kktc-grid-container,
.ajax-tabs-container .kktc-regular-grid,
.ajax-tabs-container .kktc-masonry {
    display: grid !important;
    gap: 15px !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

.ajax-tabs-container .kktc-masonry .kktc-grid-item {
    float: left;
    box-sizing: border-box;
    margin-bottom: 20px;
}

/* Grid Item Base Styles */
.ajax-tabs-container .kktc-grid-item {
    break-inside: avoid; /* Prevents breaking in masonry */
    page-break-inside: avoid;
    overflow: hidden;
    min-height: 1px; /* Prevents layout collapse */
    height: auto; /* Allow natural height */
    box-sizing: border-box; /* Include padding/border in width */
}

/* Desktop - 5 columns responsive */
@media (min-width: 1200px) {
    .ajax-tabs-container .kktc-regular-grid,
    .ajax-tabs-container .kktc-products-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 15px;
        justify-content: center;
        max-width: 1200px;
        margin: 0 auto;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item {
        width: 220px;
        margin-right: 15px;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item:nth-child(5n) {
        margin-right: 0;
    }
}

/* Large Tablet - 4 columns (900px - 1199px) */
@media (min-width: 900px) and (max-width: 1199px) {
    .ajax-tabs-container .kktc-regular-grid,
    .ajax-tabs-container .kktc-products-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 15px;
        justify-content: center;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item {
        width: 220px;
        margin-right: 15px;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item:nth-child(4n) {
        margin-right: 0;
    }
}

/* Medium Tablet - STILL 2 columns for smaller tablets */
@media (min-width: 768px) and (max-width: 899px) {
    body .ajax-tabs-container .kktc-regular-grid,
    html body .ajax-tabs-container .kktc-products-grid,
    .ajax-tabs-container .kktc-regular-grid,
    .ajax-tabs-container .kktc-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        justify-content: center !important;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item {
        width: calc(50% - 6px);
        margin-right: 12px;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item:nth-child(2n) {
        margin-right: 0;
    }
}

/* Mobile - 2 columns (480px - 767px) */
@media (min-width: 480px) and (max-width: 767px) {
    body .ajax-tabs-container .kktc-regular-grid,
    html body .ajax-tabs-container .kktc-products-grid,
    .ajax-tabs-container .kktc-regular-grid,
    .ajax-tabs-container .kktc-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        display: grid !important;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item {
        width: calc(50% - 6px);
        margin-right: 12px;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item:nth-child(2n) {
        margin-right: 0;
    }
}

/* Extra Small Mobile - 2 columns (0 - 479px) */
@media (max-width: 479px) {
    body .ajax-tabs-container .kktc-regular-grid,
    html body .ajax-tabs-container .kktc-products-grid,
    .ajax-tabs-container .kktc-regular-grid,
    .ajax-tabs-container .kktc-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        display: grid !important;
        padding: 0 5px !important;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item {
        width: calc(50% - 5px);
        margin-right: 10px;
    }
    .ajax-tabs-container .kktc-masonry .kktc-grid-item:nth-child(2n) {
        margin-right: 0;
    }
}

/* Load More Button Styles */
.kktc-load-more-wrapper {
    text-align: center !important;
    margin-top: 30px !important;
    padding: 20px 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.kktc-load-more-btn {
    background-color: #ff6000 !important;
    color: white !important;
    padding: 12px 30px !important;
    border: 2px solid #ff6000 !important;
    border-radius: 25px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(255, 96, 0, 0.3) !important;
    display: inline-block !important;
    text-decoration: none !important;
    margin: 0 auto !important;
}

.kktc-load-more-btn:hover {
    background-color: #e55500;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 96, 0, 0.4);
}

.kktc-load-more-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.kktc-load-more-btn:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 96, 0, 0.2);
}

/* Mobile responsive for load more button */
@media (max-width: 768px) {
    .kktc-load-more-wrapper {
        margin-top: 20px;
        padding: 15px 0;
    }

    .kktc-load-more-btn {
        padding: 10px 25px;
        font-size: 14px;
        border-radius: 20px;
    }
}.kktc-lazy-image{opacity:0;transition:opacity .3s ease-in-out;background-color:#f0f0f0;width:100%;height:auto;}.ajax-tabs-container .kktc-lazy-image,.kktc-grid-immediate .kktc-lazy-image,.kktc-products-grid .kktc-lazy-image{opacity:0;transition:opacity .1s ease-in-out;}.ajax-tabs-container .kktc-lazy-image.loaded,.kktc-grid-immediate .kktc-lazy-image.loaded,.kktc-products-grid .kktc-lazy-image.loaded{opacity:1 !important;display:block !important;visibility:visible !important;}.ajax-tabs-container .kktc-lazy-image,.kktc-grid-immediate .kktc-lazy-image,.kktc-products-grid .kktc-lazy-image{opacity:.7 !important;}.ajax-tabs-container .kktc-lazy-image[src]:not([src*="svg+xml"]),.kktc-grid-immediate .kktc-lazy-image[src]:not([src*="svg+xml"]),.kktc-products-grid .kktc-lazy-image[src]:not([src*="svg+xml"]){opacity:1 !important;}.kktc-lazy-image.loaded{opacity:1;}.kktc-lazy-image[data-src]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 300 300\"%3E%3Crect width=\"300\" height=\"300\" fill=\"%23f0f0f0\"/%3E%3Ctext x=\"150\" y=\"150\" text-anchor=\"middle\" dy=\".3em\" fill=\"%23999\" font-family=\"Arial\" font-size=\"14\"%3ELoading...%3C/text%3E%3C/svg%3E");background-size:cover;background-position:center;background-repeat:no-repeat;}.kktc-lazy-image[data-src].nitro-lazy{background-image:none !important;}.kktc-card-image{position:relative;overflow:hidden;background-color:#f8f9fa;}.kktc-card-image img{display:block;width:100%;height:auto;transition:opacity .3s ease,transform .3s ease;}.kktc-card-image.loading::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite;z-index:1;}@keyframes shimmer{0%{left:-100%;}100%{left:100%;}}.kktc-lazy-image[data-src]:not(.loaded){filter:blur(5px);transform:scale(1.1);}.kktc-lazy-image.loaded{filter:blur(0);transform:scale(1);}.kktc-lazy-image.error{background-image:url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 300 300\"%3E%3Crect width=\"300\" height=\"300\" fill=\"%23f0f0f0\"/%3E%3Ctext x=\"150\" y=\"150\" text-anchor=\"middle\" dy=\".3em\" fill=\"%23999\" font-family=\"Arial\" font-size=\"12\"%3EImage not found%3C/text%3E%3C/svg%3E");opacity:1;}.kktc-lazy-image.error.nitro-lazy{background-image:none !important;}@media (max-width: 768px){.kktc-lazy-image{transition:opacity .2s ease-in-out;}.kktc-card-image.loading::before{animation-duration:1s;}}@media (prefers-reduced-motion: reduce){.kktc-lazy-image,.kktc-card-image img{transition:none;}.kktc-card-image.loading::before{animation:none;}.kktc-lazy-image[data-src]:not(.loaded){filter:none;transform:none;}}@media (prefers-contrast: high){.kktc-lazy-image[data-src]{background-color:#000;color:#fff;}}.error{background-color:#ffebe8;border:1px solid #c00;border-radius:4px;padding:4px;}.error .title{font-weight:bold;font-size:large;}.widget_wc_aelia_currencyswitcher_widget .currency_button{display:inline-block;}.widget_wc_aelia_currencyswitcher_widget .widget_errors{list-style-type:disc;list-style-position:inside;}.wc_aelia_cs_country_selector .dropdown .option.filter_hidden{display:none;}.widget_wc_aelia_currencyswitcher_widget .dropdown .option.selected,.widget_wc_aelia_currencyswitcher_widget .dropdown .option:hover{background-color:whitesmoke;}.widget_wc_aelia_currencyswitcher_widget .dropdown .options{margin:0;}.widget_wc_aelia_currencyswitcher_widget .dropdown_selector .dropdown .search-container{width:calc(100% - 30px);margin:15px;}.widget_wc_aelia_currencyswitcher_widget .dropdown_selector .dropdown .search-container .search{display:block;border-style:solid;padding:10px;font-family:inherit;min-height:35px;height:auto;width:100%;transition:border-color ease .3s;min-width:50%;}.wc_aelia_cs_currency_selector{position:relative;width:100%;padding:10px 0;max-width:400px;font-size:15px;}.wc_aelia_cs_currency_selector .selected_currency{align-items:center;user-select:none;max-width:400px;position:relative;padding:10px 32px 10px 8px;display:flex;cursor:pointer;width:100%;border:1px solid silver;}.wc_aelia_cs_currency_selector .selected_currency:before{content:"";background-size:contain;height:12px;width:12px;position:absolute;right:12px;top:12px;transition:.2s ease-out;border-bottom:1px solid gray;border-right:1px solid gray;transform:rotate(45deg);color:silver;}.wc_aelia_cs_currency_selector.active .selected_currency:before{transform:rotate(225deg);top:18px;}.wc_aelia_cs_currency_selector .dropdown{display:none;position:absolute;top:calc(100%);width:100%;max-width:100% !important;min-width:130px;background-color:#fff;z-index:1000;border:1px solid silver;padding:6px 0;}.wc_aelia_cs_currency_selector .dropdown .currencies{max-height:190px;margin-top:8px;margin-bottom:8px;overflow-y:auto;}.wc_aelia_cs_currency_selector .dropdown .currency{display:flex;padding:5px 8px;align-items:center;margin-bottom:0;cursor:pointer;transition:.3s;text-decoration:none !important;outline:none !important;}.wc_aelia_cs_currency_selector .dropdown .currency:hover{background-color:whitesmoke;}.wc_aelia_cs_currency_selector .currency_flag{position:relative;justify-content:center;border-radius:2px;align-items:center;display:flex;height:fit-content;max-height:20px;min-width:30px;z-index:1;}.wc_aelia_cs_currency_selector .currency_name{width:100%;max-width:300px;overflow:hidden;white-space:nowrap;display:block;text-overflow:ellipsis;margin-left:10px;}.wc_aelia_cs_currency_selector.dropdown_selector .currency_flag img{border-radius:2px;max-height:30px;object-fit:cover;max-width:30px !important;z-index:-1;}.wc_aelia_cs_country_selector{position:relative;width:100%;padding:10px 0;max-width:400px;font-size:15px;}.wc_aelia_cs_country_selector .selected_country{align-items:center;user-select:none;max-width:400px;position:relative;padding:10px 32px 10px 8px;display:flex;cursor:pointer;width:100%;border:1px solid silver;}.wc_aelia_cs_country_selector .selected_country:before{content:"";background-size:contain;height:12px;width:12px;position:absolute;right:12px;top:12px;transition:.2s ease-out;border-bottom:1px solid gray;border-right:1px solid gray;transform:rotate(45deg);color:silver;}.wc_aelia_cs_country_selector.active .selected_country:before{transform:rotate(225deg);top:18px;}.wc_aelia_cs_country_selector .dropdown{display:none;position:absolute;top:calc(100%);width:100%;max-width:100% !important;min-width:130px;background-color:#fff;z-index:1000;border:1px solid silver;padding:6px 0;}.wc_aelia_cs_country_selector .dropdown .countries{max-height:190px;margin-top:8px;margin-bottom:8px;overflow-y:auto;}.wc_aelia_cs_country_selector .dropdown .country{display:flex;padding:5px 8px;align-items:center;margin-bottom:0;cursor:pointer;transition:.3s;text-decoration:none !important;outline:none !important;}.wc_aelia_cs_country_selector .country_flag{position:relative;justify-content:center;border-radius:2px;align-items:center;display:flex;height:fit-content;max-height:20px;min-width:30px;z-index:1;}.wc_aelia_cs_country_selector .country_name{width:100%;max-width:300px;overflow:hidden;white-space:nowrap;display:block;text-overflow:ellipsis;margin-left:10px;}.wc_aelia_cs_country_selector.dropdown_selector .country_flag img{border-radius:2px;max-height:30px;object-fit:cover;max-width:30px !important;z-index:-1;}