/**
 * Guest travel eSIM pages (landing layout)
 */

.guest-esim-page {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  min-height: 100vh;
  padding-top: 120px;
}

.guest-esim-page .guest-esim-alert {
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 1rem;
}

.guest-esim-page .guest-esim-alert--danger {
  background: rgba(220, 53, 69, 0.15);
  border: 1px solid rgba(220, 53, 69, 0.35);
  color: #f87171;
}

.guest-esim-page .guest-esim-alert--success {
  background: rgba(40, 167, 69, 0.15);
  border: 1px solid rgba(40, 167, 69, 0.35);
  color: #34d399;
}

/* from resources/views/esim/guest/wizard.blade.php */
.guest-esim-page .wizard-progress{
                    display: grid;
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    align-items: start;
                    gap: 0;
                    width: min(100%, 32rem);
                    max-width: 32rem;
                    margin: 0 auto 2.5rem;
                    position: relative;
                }
                .guest-esim-page .wizard-progress::before{
                    content: '';
                    position: absolute;
                    top: 22px;
                    left: 25%;
                    right: 25%;
                    height: 3px;
                    background: rgba(255, 255, 255, 0.1);
                    z-index: 0;
                }
                .guest-esim-page .wizard-step{
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    position: relative;
                    z-index: 1;
                    min-width: 0;
                    padding: 0 0.5rem;
                    text-decoration: none;
                }
                .guest-esim-page .step-icon{
                    width: 44px;
                    height: 44px;
                    border-radius: 50%;
                    background: rgba(255, 255, 255, 0.1);
                    border: 3px solid rgba(255, 255, 255, 0.2);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-size: 18px;
                    color: rgba(255, 255, 255, 0.4);
                    transition: all 0.3s ease;
                    margin-bottom: 10px;
                }
                .guest-esim-page .wizard-step.active .step-icon{
                    background: #ffcd00;
                    border-color: #ffcd00;
                    color: #000;
                    box-shadow: 0 0 20px rgba(255, 205, 0, 0.5);
                }
                .guest-esim-page .wizard-step.completed .step-icon{
                    background: #28a745;
                    border-color: #28a745;
                    color: #fff;
                }
                .guest-esim-page .step-label{
                    font-size: 13px;
                    color: rgba(255, 255, 255, 0.5);
                    text-align: center;
                    font-weight: 500;
                    max-width: 9.5rem;
                    line-height: 1.35;
                }
                .guest-esim-page .wizard-step.active .step-label{ color: #ffcd00; font-weight: 600; }
                .guest-esim-page .wizard-step.completed .step-label{ color: #28a745; }
                
                .guest-esim-page .wizard-panel{
                    background: rgba(0, 0, 0, 0.3);
                    border-radius: 16px;
                    border: 1px solid rgba(255, 255, 255, 0.1);
                    padding: 30px;
                    margin-bottom: 20px;
                }
                .guest-esim-page .wizard-panel-title{
                    color: #ffcd00;
                    font-size: 24px;
                    font-weight: 600;
                    margin-bottom: 8px;
                    display: flex;
                    align-items: center;
                    gap: 12px;
                }
                .guest-esim-page .wizard-panel-subtitle{
                    color: rgba(255, 255, 255, 0.6);
                    font-size: 15px;
                    margin-bottom: 25px;
                }
                
                .guest-esim-page .country-search{
                    position: relative;
                    margin-bottom: 25px;
                    display: flex;
                    align-items: center;
                }
                .guest-esim-page .country-search > i.fa-search{
                    position: absolute;
                    left: 18px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: rgba(255, 255, 255, 0.4);
                    font-size: 18px;
                    z-index: 1;
                    pointer-events: none;
                }
                .guest-esim-page .country-search .clear-btn{
                    position: absolute;
                    right: 15px;
                    top: 50%;
                    transform: translateY(-50%);
                    background: none;
                    border: none;
                    color: rgba(255,255,255,0.4);
                    cursor: pointer;
                    font-size: 16px;
                    padding: 5px;
                }
                .guest-esim-page .country-search .clear-btn:hover{
                    color: #ffcd00;
                }
                .guest-esim-page .country-search .search-submit-btn{
                    background: #ffcd00;
                    border: none;
                    color: #000;
                    padding: 15px 20px;
                    border-radius: 0 12px 12px 0;
                    cursor: pointer;
                    font-size: 16px;
                    margin-left: -2px;
                }
                .guest-esim-page .country-search .search-submit-btn:hover{
                    background: #e6b800;
                }
                .guest-esim-page .country-search input{
                    background: rgba(0, 0, 0, 0.3);
                    border: 2px solid rgba(255, 255, 255, 0.1);
                    border-radius: 12px;
                    padding: 15px 20px 15px 50px;
                    font-size: 16px;
                    color: #fff;
                    width: 100%;
                    transition: all 0.3s ease;
                }
                .guest-esim-page .country-search input:focus{
                    border-color: #ffcd00;
                    outline: none;
                    box-shadow: 0 0 15px rgba(255, 205, 0, 0.2);
                }
                .guest-esim-page .country-search input::placeholder{ color: rgba(255,255,255,0.4); }
                
                .guest-esim-page .popular-chips{
                    display: flex;
                    flex-wrap: wrap;
                    gap: 10px;
                    margin-bottom: 25px;
                }
                .guest-esim-page .country-chip{
                    display: inline-flex;
                    align-items: center;
                    gap: 8px;
                    padding: 10px 16px;
                    background: rgba(255, 255, 255, 0.05);
                    border: 1px solid rgba(255, 255, 255, 0.1);
                    border-radius: 25px;
                    color: #fff;
                    font-size: 14px;
                    cursor: pointer;
                    transition: all 0.3s ease;
                    text-decoration: none;
                }
                .guest-esim-page .country-chip:hover{
                    background: rgba(255, 205, 0, 0.15);
                    border-color: #ffcd00;
                    color: #ffcd00;
                    transform: translateY(-2px);
                }
                .guest-esim-page .country-chip img{ width: 20px; height: 15px; object-fit: cover; border-radius: 2px; }
                
                .guest-esim-page .countries-grid{
                    display: grid;
                    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
                    gap: 12px;
                }
                
                /* Custom scrollbar for webkit browsers */
                .guest-esim-page .countries-grid::-webkit-scrollbar{
                    width: 6px;
                }
                .guest-esim-page .countries-grid::-webkit-scrollbar-track{
                    background: rgba(255,255,255,0.05);
                    border-radius: 3px;
                }
                .guest-esim-page .countries-grid::-webkit-scrollbar-thumb{
                    background: rgba(255,205,0,0.3);
                    border-radius: 3px;
                }
                .guest-esim-page .countries-grid::-webkit-scrollbar-thumb:hover{
                    background: rgba(255,205,0,0.5);
                }
                .guest-esim-page .country-option{
                    display: flex;
                    align-items: center;
                    gap: 10px;
                    padding: 12px 15px;
                    background: rgba(255, 255, 255, 0.03);
                    border: 1px solid rgba(255, 255, 255, 0.08);
                    border-radius: 10px;
                    color: #fff;
                    cursor: pointer;
                    transition: all 0.3s ease;
                    text-decoration: none;
                    overflow: hidden;
                }
                .guest-esim-page .country-option:hover{
                    background: rgba(255, 205, 0, 0.1);
                    border-color: rgba(255, 205, 0, 0.5);
                    color: #fff;
                }
                .guest-esim-page .country-option img{ width: 24px; height: 18px; object-fit: cover; border-radius: 2px; flex-shrink: 0; }
                .guest-esim-page .country-name{ flex: 1; font-size: 14px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
                
                /* Region filter buttons */
                .guest-esim-page .region-filters{
                    display: flex;
                    flex-wrap: wrap;
                    gap: 8px;
                    margin: 20px 0 15px 0;
                }
                .guest-esim-page .region-btn{
                    display: inline-flex;
                    align-items: center;
                    gap: 6px;
                    padding: 8px 16px;
                    background: rgba(255, 255, 255, 0.03);
                    border: 1px solid rgba(255, 255, 255, 0.15);
                    border-radius: 20px;
                    color: rgba(255, 255, 255, 0.7);
                    font-size: 13px;
                    cursor: pointer;
                    transition: all 0.2s ease;
                    text-decoration: none;
                }
                .guest-esim-page .region-btn:hover{
                    background: rgba(255, 205, 0, 0.1);
                    border-color: rgba(255, 205, 0, 0.4);
                    color: #fff;
                }
                .guest-esim-page .region-btn.active{
                    background: rgba(255, 205, 0, 0.2);
                    border-color: #ffcd00;
                    color: #ffcd00;
                }
                .guest-esim-page .region-btn i{
                    font-size: 12px;
                }
                
                .guest-esim-page .duration-grid{
                    display: grid;
                    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
                    gap: 15px;
                }
                .guest-esim-page .duration-card{
                    background: rgba(255, 255, 255, 0.03);
                    border: 2px solid rgba(255, 255, 255, 0.1);
                    border-radius: 12px;
                    padding: 20px;
                    text-align: center;
                    cursor: pointer;
                    transition: all 0.3s ease;
                    text-decoration: none;
                    color: #fff;
                }
                .guest-esim-page .duration-card:hover{
                    background: rgba(255, 205, 0, 0.1);
                    border-color: #ffcd00;
                    transform: translateY(-3px);
                }
                .guest-esim-page .duration-value{ font-size: 28px; font-weight: 700; color: #ffcd00; margin-bottom: 5px; }
                .guest-esim-page .duration-label{ font-size: 14px; color: rgba(255,255,255,0.6); }
                
                /* Package Cards - match user wizard style */
                .guest-esim-page .package-grid{
                    display: grid;
                    gap: 15px;
                }
                .guest-esim-page .package-card{
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    background: rgba(255, 255, 255, 0.03);
                    border: 2px solid rgba(255, 255, 255, 0.1);
                    border-radius: 12px;
                    padding: 20px;
                    cursor: pointer;
                    transition: all 0.3s ease;
                    text-decoration: none;
                    color: #fff;
                }
                .guest-esim-page .package-card:hover{
                    background: rgba(255, 202, 32, 0.1);
                    border-color: rgba(255, 202, 32, 0.3);
                }
                .guest-esim-page .package-card.selected{
                    background: rgba(255, 202, 32, 0.15);
                    border-color: #ffca20;
                }
                .guest-esim-page .package-info{
                    display: flex;
                    align-items: center;
                    gap: 15px;
                }
                .guest-esim-page .package-data{
                    background: #ffca20;
                    color: #000;
                    padding: 10px 16px;
                    border-radius: 8px;
                    font-weight: 700;
                    font-size: 18px;
                    min-width: 80px;
                    text-align: center;
                    white-space: nowrap;
                }
                .guest-esim-page .package-details h4{
                    margin: 0 0 4px 0;
                    font-size: 16px;
                    font-weight: 600;
                    color: #fff;
                }
                .guest-esim-page .package-details p{
                    margin: 0;
                    font-size: 13px;
                    color: rgba(255, 255, 255, 0.5);
                }
                .guest-esim-page .package-price{
                    text-align: right;
                }
                .guest-esim-page .package-price .amount{
                    font-size: 24px;
                    font-weight: 700;
                    color: #ffca20;
                }
                .guest-esim-page .package-price .per-day{
                    font-size: 12px;
                    color: rgba(255, 255, 255, 0.4);
                }
                @media (max-width: 576px) {
                    .guest-esim-page .package-card{
                        flex-direction: column;
                        text-align: center;
                        gap: 15px;
                    }
                    .guest-esim-page .package-info{
                        flex-direction: column;
                    }
                    .guest-esim-page .package-price{
                        text-align: center;
                    }
                }
                
                .guest-esim-page .review-panel{
                    background: linear-gradient(135deg, rgba(255,205,0,0.1) 0%, rgba(255,205,0,0.05) 100%);
                    border: 2px solid rgba(255, 205, 0, 0.3);
                }
                .guest-esim-page .review-item{
                    display: flex;
                    justify-content: space-between;
                    padding: 15px 0;
                    border-bottom: 1px solid rgba(255,255,255,0.1);
                }
                .guest-esim-page .review-item:last-child{ border-bottom: none; }
                .guest-esim-page .review-label{ color: rgba(255,255,255,0.7); }
                .guest-esim-page .review-value{ color: #fff; font-weight: 600; }
                .guest-esim-page .total-price{
                    font-size: 32px;
                    font-weight: 800;
                    color: #ffcd00;
                    text-align: center;
                    margin: 20px 0;
                }
                
                .guest-esim-page .btn-wizard{ 
                    padding: 15px 35px;
                    font-size: 16px;
                    font-weight: 600;
                    border-radius: 10px;
                }
                .guest-esim-page .btn-wizard-back{
                    background: rgba(255,255,255,0.1);
                    border: 1px solid rgba(255,255,255,0.2);
                    color: #fff;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    gap: 8px;
                    padding: 12px 20px;
                    text-decoration: none;
                }
                .guest-esim-page .btn-wizard-back:hover{ background: rgba(255,255,255,0.2); color: #fff; }
                
                .guest-esim-page .popular-label{
                    color: rgba(255, 255, 255, 0.5);
                    font-size: 12px;
                    text-transform: uppercase;
                    letter-spacing: 1px;
                    margin-bottom: 15px;
                }
                
                /* Multi-Country/Regional Section */
                .guest-esim-page .multi-country-section{
                    margin-bottom: 30px;
                    padding-bottom: 25px;
                    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
                }
                /* Step-2 "buy" header — flag for single countries,
                   region map for regional buckets. The two variants are
                   sized to occupy roughly the same visual envelope so the
                   header layout doesn't jump when switching between a
                   country and a region purchase. */
                .guest-esim-page .wizard-panel-title.wizard-panel-title-buy{
                    display: flex;
                    align-items: center;
                    gap: 12px;
                    justify-content: center;
                }
                .guest-esim-page .wizard-buy-flag{
                    width: 32px;
                    height: 24px;
                    border-radius: 4px;
                    object-fit: cover;
                    flex-shrink: 0;
                }
                .guest-esim-page .wizard-buy-region-map{
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    width: 56px;
                    height: 36px;
                    padding: 2px;
                    border-radius: 6px;
                    background:
                        radial-gradient(ellipse at center,
                            rgba(255, 205, 0, 0.10) 0%,
                            rgba(0, 0, 0, 0) 70%);
                    flex-shrink: 0;
                }
                .guest-esim-page .wizard-buy-region-map img{
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                    filter: drop-shadow(0 0 5px rgba(255, 205, 0, 0.35));
                }

                /* Hero region map: shown only on /esim/guest/region/{slug}
                   SEO landing pages. Reinforces the destination visually
                   (Europe glowing yellow against a faint world outline)
                   and adds content density for crawlers. Sized to read
                   without dominating — the H1 below it stays the hero. */
                .guest-esim-page .region-hero-map{
                    max-width: 480px;
                    margin: 0 auto 28px;
                    padding: 8px;
                    border-radius: 14px;
                    background:
                        radial-gradient(ellipse at center,
                            rgba(255, 205, 0, 0.10) 0%,
                            rgba(0, 0, 0, 0) 65%);
                }
                .guest-esim-page .region-hero-map img{
                    display: block;
                    width: 100%;
                    height: auto;
                    aspect-ratio: 16 / 10;
                    object-fit: contain;
                    filter: drop-shadow(0 0 18px rgba(255, 205, 0, 0.35));
                }
                @media (max-width: 768px) {
                    .guest-esim-page .region-hero-map{ max-width: 340px; margin-bottom: 20px; }
                }

                .guest-esim-page .multi-country-cards{
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
                    gap: 16px;
                }

                /* Region picker tile: map at top, label + meta + price below.
                   The map carries the visual identity of the region — Europe
                   highlighted in Crypton yellow against a faint world outline,
                   etc. — so the card reads at a glance even without text. */
                .guest-esim-page .multi-country-card{
                    display: flex;
                    flex-direction: column;
                    padding: 0;
                    background: linear-gradient(180deg, rgba(255, 205, 0, 0.08) 0%, rgba(255, 205, 0, 0.025) 100%);
                    border: 1px solid rgba(255, 205, 0, 0.18);
                    border-radius: 14px;
                    overflow: hidden;
                    cursor: pointer;
                    transition: transform 0.25s cubic-bezier(.2,.7,.2,1),
                                border-color 0.25s ease,
                                box-shadow 0.25s ease,
                                background 0.25s ease;
                    text-decoration: none;
                    position: relative;
                    isolation: isolate;
                }
                .guest-esim-page .multi-country-card:hover{
                    background: linear-gradient(180deg, rgba(255, 205, 0, 0.13) 0%, rgba(255, 205, 0, 0.045) 100%);
                    border-color: #ffcd00;
                    transform: translateY(-2px);
                    box-shadow: 0 12px 28px -8px rgba(255, 205, 0, 0.28),
                                0 4px 10px -2px rgba(0, 0, 0, 0.35);
                    text-decoration: none;
                }

                .guest-esim-page .multi-country-card .card-map{
                    aspect-ratio: 16 / 10;
                    display: block;
                    background:
                        radial-gradient(ellipse at center,
                            rgba(255, 205, 0, 0.06) 0%,
                            rgba(0, 0, 0, 0) 70%),
                        linear-gradient(180deg,
                            rgba(255, 255, 255, 0.02) 0%,
                            rgba(0, 0, 0, 0.18) 100%);
                    overflow: hidden;
                }
                .guest-esim-page .multi-country-card .card-map img{
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                    /* Subtle yellow halo by default so the highlighted region
                       glows even without hover; intensifies on hover. */
                    filter: drop-shadow(0 0 6px rgba(255, 205, 0, 0.22));
                    transition: filter 0.25s ease, transform 0.4s cubic-bezier(.2,.7,.2,1);
                }
                .guest-esim-page .multi-country-card:hover .card-map img{
                    filter: drop-shadow(0 0 16px rgba(255, 205, 0, 0.55));
                    transform: scale(1.035);
                }
                @media (prefers-reduced-motion: reduce) {
                    .guest-esim-page .multi-country-card,
.guest-esim-page .multi-country-card:hover,
.guest-esim-page .multi-country-card .card-map img,
.guest-esim-page .multi-country-card:hover .card-map img{
                        transition: none;
                        transform: none;
                    }
                }

                .guest-esim-page .multi-country-card .card-info{
                    padding: 14px 16px 16px;
                    display: flex;
                    flex-direction: column;
                    gap: 4px;
                }
                .guest-esim-page .multi-country-card .card-info h4{
                    color: #fff;
                    font-size: 16px;
                    font-weight: 600;
                    margin: 0;
                    letter-spacing: -0.005em;
                }
                .guest-esim-page .multi-country-card .card-info p{
                    color: rgba(255, 255, 255, 0.55);
                    font-size: 12.5px;
                    margin: 0;
                    line-height: 1.4;
                }

                @media (max-width: 768px) {
                    .guest-esim-page .countries-grid{ grid-template-columns: 1fr 1fr; }
                    .guest-esim-page .duration-grid,
.guest-esim-page .package-grid{ grid-template-columns: 1fr 1fr; }
                    .guest-esim-page .step-label{ font-size: 11px; }
                    .guest-esim-page .multi-country-cards{ grid-template-columns: 1fr 1fr; gap: 12px; }
                    .guest-esim-page .multi-country-card .card-info{ padding: 12px 12px 14px; }
                    .guest-esim-page .multi-country-card .card-info h4{ font-size: 14px; }
                    .guest-esim-page .multi-country-card .card-info p{ font-size: 11.5px; }
                }
                @media (max-width: 420px) {
                    .guest-esim-page .multi-country-cards{ grid-template-columns: 1fr; }
                }

/* from resources/views/esim/guest/details.blade.php */
.guest-esim-page .esim-details{
                max-width: 900px;
                margin: 0 auto;
            }
            .guest-esim-page .esim-header-card{
                background: linear-gradient(135deg, rgba(255,205,0,0.1) 0%, rgba(0,0,0,0.3) 100%);
                border: 1px solid rgba(255,205,0,0.3);
                border-radius: 20px;
                padding: 30px;
                margin-bottom: 30px;
                display: flex;
                align-items: center;
                gap: 25px;
                flex-wrap: wrap;
            }
            .guest-esim-page .esim-header-flag{
                width: 80px;
                height: 60px;
                border-radius: 10px;
                object-fit: cover;
                box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            }
            .guest-esim-page .esim-header-info h1{
                color: #fff;
                font-size: 28px;
                font-weight: 700;
                margin: 0 0 8px 0;
            }
            .guest-esim-page .esim-header-info p{
                color: rgba(255,255,255,0.6);
                margin: 0;
                font-size: 15px;
            }
            .guest-esim-page .status-badge-large{
                padding: 10px 25px;
                border-radius: 25px;
                font-size: 14px;
                font-weight: 700;
                text-transform: uppercase;
                margin-left: auto;
            }
            .guest-esim-page .status-active{ background: rgba(40,167,69,0.2); color: #28a745; border: 1px solid rgba(40,167,69,0.3); }
            .guest-esim-page .status-ready{ background: rgba(0,188,212,0.2); color: #00bcd4; border: 1px solid rgba(0,188,212,0.3); }
            .guest-esim-page .status-pending{ background: rgba(255,193,7,0.2); color: #ffc107; border: 1px solid rgba(255,193,7,0.3); }
            .guest-esim-page .status-expired{ background: rgba(108,117,125,0.2); color: #6c757d; border: 1px solid rgba(108,117,125,0.3); }
            .guest-esim-page .status-suspended{ background: rgba(220,53,69,0.2); color: #dc3545; border: 1px solid rgba(220,53,69,0.3); }
            
            .guest-esim-page .esim-grid{
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 25px;
            }
            @media (max-width: 768px) {
                .guest-esim-page .esim-grid{ grid-template-columns: 1fr; }
            }
            
            .guest-esim-page .esim-card{
                background: rgba(0, 0, 0, 0.3);
                border: 1px solid rgba(255, 255, 255, 0.1);
                border-radius: 16px;
                padding: 25px;
            }
            .guest-esim-page .esim-card h3{
                color: #ffcd00;
                font-size: 16px;
                font-weight: 600;
                margin-bottom: 20px;
                display: flex;
                align-items: center;
                gap: 10px;
            }
            
            .guest-esim-page .qr-container{
                background: #fff;
                padding: 20px;
                border-radius: 12px;
                display: inline-block;
                margin-bottom: 15px;
            }
            .guest-esim-page .qr-container img,
.guest-esim-page .qr-container svg{
                max-width: 200px;
                height: auto;
            }
            
            .guest-esim-page .activation-code-box{
                background: rgba(0, 0, 0, 0.3);
                border: 1px solid rgba(255, 255, 255, 0.1);
                border-radius: 8px;
                padding: 15px;
                font-family: monospace;
                color: #fff;
                font-size: 12px;
                word-break: break-all;
                margin-bottom: 15px;
            }
            
            .guest-esim-page .usage-bar-large{
                height: 12px;
                background: rgba(255,255,255,0.1);
                border-radius: 6px;
                overflow: hidden;
                margin: 15px 0;
            }
            .guest-esim-page .usage-bar-fill-large{
                height: 100%;
                border-radius: 6px;
                transition: width 0.5s ease;
            }
            .guest-esim-page .usage-bar-fill-large.healthy{ background: linear-gradient(90deg, #28a745, #20c997); }
            .guest-esim-page .usage-bar-fill-large.warning{ background: linear-gradient(90deg, #ffc107, #fd7e14); }
            .guest-esim-page .usage-bar-fill-large.critical{ background: linear-gradient(90deg, #dc3545, #e83e8c); }
            
            .guest-esim-page .stat-row{
                display: flex;
                justify-content: space-between;
                padding: 12px 0;
                border-bottom: 1px solid rgba(255,255,255,0.1);
            }
            .guest-esim-page .stat-row:last-child{ border-bottom: none; }
            .guest-esim-page .stat-row .label{ color: rgba(255,255,255,0.6); }
            .guest-esim-page .stat-row .value{ color: #fff; font-weight: 600; }
            
            .guest-esim-page .pending-state{
                text-align: center;
                padding: 40px;
            }
            .guest-esim-page .pending-icon{
                font-size: 48px;
                color: #ffc107;
                margin-bottom: 15px;
                animation: pulse 2s infinite;
            }
            @keyframes pulse {
                0%, 100% { opacity: 1; }
                50% { opacity: 0.5; }
            }
            
            /* Button icon alignment */
            .guest-esim-page .btn{
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
            }
            .guest-esim-page .btn i{
                flex-shrink: 0;
            }

/* from resources/views/esim/guest/my-esims.blade.php */
.guest-esim-page .stats-grid{
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 20px;
                margin-bottom: 40px;
                max-width: 900px;
                margin-left: auto;
                margin-right: auto;
            }
            .guest-esim-page .stat-card{
                background: rgba(0, 0, 0, 0.3);
                border: 1px solid rgba(255, 255, 255, 0.1);
                border-radius: 12px;
                padding: 20px;
                text-align: center;
            }
            .guest-esim-page .stat-value{
                font-size: 28px;
                font-weight: 700;
                color: #ffcd00;
                margin-bottom: 5px;
            }
            .guest-esim-page .stat-label{
                font-size: 14px;
                color: rgba(255, 255, 255, 0.6);
            }
            
            .guest-esim-page .esim-grid{
                display: grid;
                grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
                gap: 20px;
                max-width: 900px;
                margin: 0 auto;
            }
            .guest-esim-page .esim-card{
                background: rgba(0, 0, 0, 0.3);
                border: 1px solid rgba(255, 255, 255, 0.1);
                border-radius: 16px;
                padding: 25px;
                transition: all 0.3s ease;
            }
            .guest-esim-page .esim-card:hover{
                border-color: rgba(255, 205, 0, 0.3);
                transform: translateY(-3px);
            }
            .guest-esim-page .esim-card-header{
                display: flex;
                align-items: center;
                gap: 15px;
                margin-bottom: 20px;
            }
            .guest-esim-page .esim-flag{
                width: 48px;
                height: 36px;
                border-radius: 6px;
                object-fit: cover;
                box-shadow: 0 2px 8px rgba(0,0,0,0.3);
            }
            .guest-esim-page .esim-info h3{
                color: #fff;
                font-size: 18px;
                font-weight: 600;
                margin: 0 0 5px 0;
            }
            .guest-esim-page .esim-info p{
                color: rgba(255,255,255,0.6);
                font-size: 13px;
                margin: 0;
            }
            .guest-esim-page .status-badge{
                padding: 4px 12px;
                border-radius: 15px;
                font-size: 12px;
                font-weight: 600;
                text-transform: uppercase;
                margin-left: auto;
            }
            .guest-esim-page .status-active{ background: rgba(40,167,69,0.2); color: #28a745; }
            .guest-esim-page .status-pending{ background: rgba(255,193,7,0.2); color: #ffc107; }
            .guest-esim-page .status-expired{ background: rgba(108,117,125,0.2); color: #6c757d; }
            .guest-esim-page .status-suspended{ background: rgba(220,53,69,0.2); color: #dc3545; }
            
            .guest-esim-page .usage-bar{
                height: 8px;
                background: rgba(255,255,255,0.1);
                border-radius: 4px;
                overflow: hidden;
                margin: 15px 0;
            }
            .guest-esim-page .usage-bar-fill{
                height: 100%;
                border-radius: 4px;
                transition: width 0.5s ease;
            }
            .guest-esim-page .usage-bar-fill.healthy{ background: linear-gradient(90deg, #28a745, #20c997); }
            .guest-esim-page .usage-bar-fill.warning{ background: linear-gradient(90deg, #ffc107, #fd7e14); }
            .guest-esim-page .usage-bar-fill.critical{ background: linear-gradient(90deg, #dc3545, #e83e8c); }
            
            .guest-esim-page .esim-meta{
                display: flex;
                justify-content: space-between;
                font-size: 13px;
                color: rgba(255,255,255,0.6);
                margin-bottom: 15px;
            }
            
            .guest-esim-page .empty-state{
                text-align: center;
                padding: 60px 20px;
                max-width: 500px;
                margin: 0 auto;
            }
            .guest-esim-page .empty-icon{
                font-size: 64px;
                color: rgba(255,205,0,0.3);
                margin-bottom: 20px;
            }

/* from resources/views/esim/guest/topup.blade.php */
.guest-esim-page .payment-options-topup{
                                display: flex;
                                gap: 10px;
                                flex-wrap: wrap;
                            }
                            .guest-esim-page .payment-opt-topup{
                                flex: 1;
                                min-width: 140px;
                                cursor: pointer;
                            }
                            .guest-esim-page .payment-opt-topup input[type="radio"]{
                                display: none;
                            }
                            .guest-esim-page .payment-opt-content{
                                display: flex;
                                flex-direction: column;
                                align-items: center;
                                gap: 8px;
                                padding: 15px 10px;
                                background: rgba(255,255,255,0.05);
                                border: 2px solid rgba(255,255,255,0.1);
                                border-radius: 12px;
                                color: rgba(255,255,255,0.7);
                                font-size: 13px;
                                transition: all 0.2s;
                                text-align: center;
                            }
                            .guest-esim-page .payment-opt-topup input[type="radio"]:checked + .payment-opt-content{
                                border-color: #ffcd00;
                                background: rgba(255,205,0,0.1);
                                color: #fff;
                            }

/* from resources/views/esim/guest/support/index.blade.php */
.guest-esim-page .input input-bordered w-full form-control{
        background: rgba(40,40,40,0.9) !important;
        color: #fff !important;
    }
    .guest-esim-page .input input-bordered w-full form-control:focus{
        background: rgba(50,50,50,0.95) !important;
        border-color: rgba(255,205,0,0.5) !important;
        box-shadow: 0 0 0 2px rgba(255,205,0,0.1) !important;
        color: #fff !important;
    }
    .guest-esim-page .input input-bordered w-full form-control::placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control::-webkit-input-placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control::-moz-placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control:-ms-input-placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control option{
        background: #1a1a1a;
        color: #fff;
    }
    .guest-esim-page select.input input-bordered w-full form-control{
        background-color: rgba(40,40,40,0.9) !important;
    }

/* from resources/views/esim/guest/support/show.blade.php */
.guest-esim-page .input input-bordered w-full form-control{
        background: rgba(40,40,40,0.9) !important;
        color: #fff !important;
    }
    .guest-esim-page .input input-bordered w-full form-control:focus{
        background: rgba(50,50,50,0.95) !important;
        border-color: rgba(255,205,0,0.5) !important;
        box-shadow: 0 0 0 2px rgba(255,205,0,0.1) !important;
        color: #fff !important;
    }
    .guest-esim-page .input input-bordered w-full form-control::placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control::-webkit-input-placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control::-moz-placeholder{
        color: rgba(255,255,255,0.5) !important;
    }
    .guest-esim-page .input input-bordered w-full form-control:-ms-input-placeholder{
        color: rgba(255,255,255,0.5) !important;
    }

/* from resources/views/esim/partials/_guest-payment.blade.php */
.guest-esim-page .payment-options-guest{
    display: grid;
    grid-template-columns: repeat({{ $tor ? 2 : 3 }}, minmax(0, 1fr));
    gap: 10px;
}

.guest-esim-page .payment-option-guest{
    cursor: pointer;
    text-align: center;
}

.guest-esim-page .payment-option-guest input[type="radio"]{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.guest-esim-page .payment-option-guest .payment-option-content{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    transition: all 0.2s ease;
    line-height: 1.2;
}

.guest-esim-page .payment-option-guest input[type="radio"]:checked + .payment-option-content,
.guest-esim-page .payment-option-guest:has(input:checked) .payment-option-content{
    border-color: #ffca20;
    background: rgba(255, 202, 32, 0.1);
    color: #fff;
}

.guest-esim-page .payment-option-guest .payment-option-content:hover{
    border-color: rgba(255, 202, 32, 0.4);
}

.guest-esim-page .payment-option-guest .payment-option-content i{
    font-size: 22px;
    line-height: 1;
}

.guest-esim-page .guest-form-group{
    margin-top: 16px;
}

.guest-esim-page .guest-form-group > label{
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin-bottom: 6px;
}

.guest-esim-page .guest-form-group input[type="email"]{
    width: 100%;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    padding: 11px 14px;
    color: #fff;
    font-size: 14px;
    transition: border-color 0.2s ease;
}

.guest-esim-page .guest-form-group input[type="email"]:focus{
    border-color: #ffca20;
    outline: none;
}

.guest-esim-page .guest-form-group small{
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 11.5px;
}

.guest-esim-page .guest-terms-row{
    margin-top: 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12.5px;
    line-height: 1.5;
    cursor: pointer;
}

.guest-esim-page .guest-terms-row input[type="checkbox"]{
    margin-top: 2px;
    accent-color: #ffca20;
    flex-shrink: 0;
}

.guest-esim-page .guest-terms-row a{
    color: #ffca20;
    text-decoration: underline;
}

/* from resources/views/esim/partials/seo-faq.blade.php */
.guest-esim-page .esim-seo-block{
    max-width: 900px;
    margin: 48px auto 0;
}

.guest-esim-page .esim-seo-card{
    background: rgb(22, 25, 31);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 28px 26px;
    margin-bottom: 20px;
}

.guest-esim-page .esim-seo-card:last-child{
    margin-bottom: 0;
}

.guest-esim-page .esim-seo-kicker{
    color: #ffca20;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 10px;
}

.guest-esim-page .esim-seo-title{
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 16px;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
}

.guest-esim-page .esim-seo-title i{
    color: #ffca20;
    font-size: 20px;
    flex-shrink: 0;
}

.guest-esim-page .esim-seo-body{
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
    line-height: 1.75;
    margin: 0 0 14px;
}

.guest-esim-page .esim-seo-body:last-child{
    margin-bottom: 0;
}

.guest-esim-page .esim-faq-list{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.guest-esim-page .esim-faq-item{
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.guest-esim-page .esim-faq-item:first-child{
    border-top: none;
    padding-top: 0;
}

.guest-esim-page .esim-faq-item summary{
    list-style: none;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 4px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.92);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.guest-esim-page .esim-faq-item summary::-webkit-details-marker{
    display: none;
}

.guest-esim-page .esim-faq-item summary::marker{
    display: none;
}

.guest-esim-page .esim-faq-item summary:hover{
    color: #ffca20;
}

.guest-esim-page .esim-faq-icon{
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 202, 32, 0.12);
    border: 1px solid rgba(255, 202, 32, 0.25);
    color: #ffca20;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
}

.guest-esim-page .esim-faq-chevron{
    margin-left: auto;
    color: rgba(255, 202, 32, 0.7);
    font-size: 12px;
    transition: transform 0.2s ease;
}

.guest-esim-page .esim-faq-item[open] .esim-faq-chevron{
    transform: rotate(90deg);
}

.guest-esim-page .esim-faq-answer{
    margin: 0 0 18px 48px;
    padding: 0 4px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 576px) {
    .guest-esim-page .esim-seo-card{
        padding: 22px 18px;
    }

    .guest-esim-page .esim-seo-title{
        font-size: 19px;
    }

    .guest-esim-page .esim-faq-answer{
        margin-left: 0;
        padding-left: 48px;
    }
}
