/* ==========================================
   GOSIM eSIM PLUGIN - Public Styles
   Palette: #0066FF (primary) | #00C2FF (secondary)
   ========================================== */

/* ---- Tab Navigation ---- */
.esim-tabs-section { margin: 24px 0; }

.esim-tabs {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-bottom: 28px;
    border-bottom: 2px solid #E5EAF0;
    padding-bottom: 0;
    flex-wrap: wrap;
}

.esim-tab-btn {
    background: transparent;
    border: none;
    font-size: 14px;
    font-weight: 600;
    color: #6B7280;
    padding: 10px 18px;
    cursor: pointer;
    border-radius: 8px 8px 0 0;
    transition: all 0.25s ease;
    white-space: nowrap;
    font-family: 'Inter', sans-serif;
}
.esim-tab-btn:hover { color: #0066FF; background: #F0F6FF; }
.esim-tab-btn.active {
    color: #0066FF;
    border-bottom: 3px solid #0066FF;
    margin-bottom: -2px;
    background: transparent;
}

/* ---- Country Grid ---- */
.esim-country-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 18px;
    margin-top: 16px;
}

/* ---- Country Card ---- */
.esim-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,102,255,0.07);
    border: 1px solid #E5EAF0;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.esim-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0,102,255,0.14);
    border-color: #0066FF;
}
.esim-card .esim-price { color: #0066FF; }

/* ---- Buy Button ---- */
.esim-opt-btn.active {
    border-color: #0066FF !important;
    background: rgba(0,102,255,0.05) !important;
    color: #0066FF !important;
}
.esim-buy-btn {
    background: linear-gradient(135deg, #0066FF, #00C2FF) !important;
    transition: all 0.25s ease;
    border: none !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
}
.esim-buy-btn:hover {
    background: linear-gradient(135deg, #0047CC, #0099CC) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,102,255,0.3) !important;
}

/* ---- Spinner ---- */
.esim-spinner {
    border: 3px solid #F0F6FF;
    border-top: 3px solid #0066FF;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    animation: esim-spin 0.8s linear infinite;
    margin: 15px auto;
}
@keyframes esim-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ---- Compatibility Tabs ---- */
.esim-comp-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.esim-comp-btn {
    background: #F7FAFF;
    border: 1px solid #E5EAF0;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    transition: all 0.2s ease;
}
.esim-comp-btn:hover { border-color: #0066FF; color: #0066FF; }
.esim-comp-btn.active {
    background: linear-gradient(135deg, #0066FF, #00C2FF);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 3px 10px rgba(0,102,255,0.25);
}

.esim-comp-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    list-style: none;
    padding: 0;
}
.esim-comp-list li {
    padding: 8px 12px;
    background: #F0F6FF;
    border-radius: 6px;
    font-size: 13px;
    color: #1A1A2E;
}
.esim-comp-list li::before {
    content: "✓";
    color: #00C896;
    font-weight: 700;
    margin-right: 8px;
}

/* ---- Slideshow Scrollbar Hiding ---- */
.esim-slides-wrapper::-webkit-scrollbar { display: none; }
.esim-slides-wrapper {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* ---- Product Detail Layout ---- */
.esim-product-layout {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 36px;
    align-items: start;
}

/* ---- Mobile Responsive ---- */
@media (max-width: 768px) {
    .esim-country-grid {
        grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
        gap: 12px;
    }
    .esim-tabs { gap: 4px; }
    .esim-tab-btn { font-size: 12px; padding: 8px 12px; }

    .esim-product-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .esim-comp-list {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .esim-country-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .esim-comp-list {
        grid-template-columns: 1fr;
    }
}
