/* =========================================================
   Faralya Altyapı Sorgula — Frontend CSS  (v2 Redesign)
   ========================================================= */

/* ---------- Utility ---------- */
.fas-hidden { display: none !important; }

/* ---------- CSS Değişkenleri ---------- */
.fas-wrap {
    --fas-primary:    #1e4db7;
    --fas-secondary:  #0ea5a0;
    --fas-btn-bg:     #1e4db7;
    --fas-btn-text:   #ffffff;
    --fas-font:       -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --fas-radius:     16px;
    --fas-shadow:     0 8px 40px rgba(0,0,0,.13);
    --fas-border:     #e5e7eb;
    --fas-bg:         #f8fafc;
    --fas-white:      #ffffff;
    --fas-text:       #111827;
    --fas-muted:      #6b7280;
    --fas-legal-bg:   #fffbeb;
    --fas-legal-text: #92400e;
    font-family: var(--fas-font) !important;
    box-sizing: border-box !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    background: var(--fas-white) !important;
    border-radius: var(--fas-radius) !important;
    box-shadow: var(--fas-shadow) !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

/* Dış bölümler ana kutunun tam genişliği */
.fas-hero,
.fas-results-section,
.fas-results-inner,
.fas-infra-card--success,
.fas-tariffs-section,
.fas-tariff-table-wrap,
.fas-no-infra,
.fas-notify-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.fas-wrap *, .fas-wrap *::before, .fas-wrap *::after {
    box-sizing: border-box !important;
    font-family: inherit !important;
}

#fas-widget *, #fas-widget *::before, #fas-widget *::after {
    font-family: inherit !important;
}

/* ==========================================================
   HERO — koyu gradient üst alan
   ========================================================== */
.fas-hero {
    background: linear-gradient(
        135deg,
        var(--fas-primary) 0%,
        color-mix(in srgb, var(--fas-primary) 62%, #050d2e) 100%
    ) !important;
    padding: 48px 44px 40px !important;
    text-align: center !important;
}

.fas-widget-title {
    font-size: var(--fas-font-size-title, var(--fas-fs-title, clamp(22px, 4vw, 30px))) !important;
    font-weight: var(--fas-font-weight-title, 800) !important;
    color: var(--fas-color-widget-title, #ffffff) !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
    letter-spacing: var(--fas-letter-spacing-widget-title, var(--fas-ls-widget-title, -.02em)) !important;
}

.fas-widget-subtitle {
    font-size: var(--fas-font-size-subtitle, var(--fas-fs-subtitle, 15px)) !important;
    font-weight: var(--fas-font-weight-subtitle, 400) !important;
    color: var(--fas-color-widget-subtitle, rgba(255,255,255,.72)) !important;
    letter-spacing: var(--fas-letter-spacing-widget-subtitle, 0) !important;
    margin: 0 0 28px !important;
    line-height: 1.5 !important;
}

/* ---------- Adres Seçim Tetikleyicisi (hero içinde beyaz pill) ---------- */
.fas-address-trigger {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: rgba(255,255,255,.97) !important;
    border: 2px solid transparent !important;
    border-radius: 50px !important;
    padding: 14px 22px !important;
    cursor: pointer !important;
    transition: box-shadow .2s, transform .15s !important;
    text-align: left !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.18) !important;
}

.fas-address-trigger:hover,
.fas-address-trigger:focus {
    box-shadow: 0 6px 28px rgba(0,0,0,.26) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

.fas-trigger-icon { color: var(--fas-primary) !important; flex-shrink: 0 !important; display: flex !important; }
.fas-trigger-text {
    flex: 1 !important;
    font-size: var(--fas-font-size-body, var(--fas-fs-body, 15px)) !important;
    color: var(--fas-color-trigger-text, var(--fas-muted)) !important;
    font-weight: var(--fas-font-weight-trigger, 600) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}

.fas-trigger-text.fas-has-address {
    color: var(--fas-color-trigger-active, var(--fas-text)) !important;
    font-weight: var(--fas-font-weight-trigger, 600) !important;
}
.fas-trigger-chevron { color: var(--fas-muted) !important; flex-shrink: 0 !important; display: flex !important; }

/* ---------- Geçmiş Sorgular (hero içinde, koyu arkaplanda) ---------- */
.fas-history-section {
    max-width: 100% !important;
    margin: 12px auto 0 !important;
}

.fas-history-heading {
    margin: 0 0 8px !important;
    font-size: var(--fas-font-size-history, 13px) !important;
    font-weight: var(--fas-font-weight-history, 500) !important;
    color: var(--fas-color-history-text, rgba(255,255,255,.9)) !important;
    text-align: left !important;
}

.fas-history-section.fas-visible { display: block !important; }

.fas-history-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 11px 16px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    margin-bottom: 6px !important;
    gap: 12px !important;
    transition: background .15s !important;
}

.fas-history-item:hover { background: rgba(255,255,255,.2) !important; }
.fas-history-item:last-child { margin-bottom: 0 !important; }

.fas-history-addr,
.fas-btn-history-query {
    color: var(--fas-color-history-text, rgba(255,255,255,.9)) !important;
}

.fas-history-addr {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: var(--fas-font-size-history, 13px) !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.fas-history-addr span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.fas-history-addr svg { flex-shrink: 0 !important; color: rgba(255,255,255,.7) !important; }

.fas-history-actions {
    display: flex !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
}

.fas-btn-history-query {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    border-radius: 6px !important;
    padding: 5px 12px !important;
    font-size: 12px !important;
    font-weight: var(--fas-font-weight-history, 500) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background .15s !important;
    line-height: 1.4 !important;
}

.fas-btn-history-query:hover { background: rgba(255,255,255,.3) !important; }

.fas-btn-history-del {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 6px !important;
    padding: 5px 8px !important;
    cursor: pointer !important;
    color: rgba(255,255,255,.6) !important;
    display: flex !important;
    align-items: center !important;
    transition: color .15s, border-color .15s !important;
    line-height: 1 !important;
}

.fas-btn-history-del:hover { color: #f87171 !important; border-color: #f87171 !important; }

/* ==========================================================
   SONUÇ ALANI — beyaz, hero'nun altında
   ========================================================== */
.fas-results-section {
    background: var(--fas-bg) !important;
    padding: 32px 32px 0 !important;
}

.fas-results-section.fas-visible { display: block !important; }

.fas-results-inner {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* ==========================================================
   SONUÇ BAŞLIĞI (altyapı kartının üstü)
   ========================================================== */
.fas-result-header {
    text-align: center !important;
    padding: 20px 8px 28px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.fas-result-title {
    font-size: var(--fas-font-size-result-title, clamp(24px, 5vw, 36px)) !important;
    font-weight: var(--fas-font-weight-result-title, 800) !important;
    color: var(--fas-color-result-title, var(--fas-text)) !important;
    margin: 0 0 10px !important;
    letter-spacing: var(--fas-letter-spacing-result-title, var(--fas-ls-result-title, -.03em)) !important;
    line-height: 1.15 !important;
}

.fas-result-subtitle {
    font-size: var(--fas-font-size-result-subtitle, clamp(14px, 2.5vw, 17px)) !important;
    color: var(--fas-color-result-subtitle, var(--fas-muted)) !important;
    letter-spacing: var(--fas-letter-spacing-result-subtitle, 0) !important;
    margin: 0 !important;
    font-weight: var(--fas-font-weight-result-subtitle, 500) !important;
    line-height: 1.5 !important;
}

/* ==========================================================
   ALT YAPI KARTI — satış vitrini (tür | onay | hız)
   ========================================================== */
.fas-infra-card--success {
    --fas-sales-gold: var(--fas-sales-accent, #ffc94d);
    --fas-sales-gold-dim: color-mix(in srgb, var(--fas-sales-gold) 35%, transparent);
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--fas-primary) 92%, #010818) 0%,
        color-mix(in srgb, var(--fas-primary) 68%, #030d28) 42%,
        color-mix(in srgb, var(--fas-primary) 48%, #020a1e) 100%
    ) !important;
    border-radius: 22px !important;
    padding: 0 !important;
    color: #fff !important;
    margin-bottom: 32px !important;
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow:
        0 4px 0 color-mix(in srgb, var(--fas-primary) 70%, #000),
        0 22px 56px color-mix(in srgb, var(--fas-primary) 48%, transparent),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    min-height: 240px !important;
}

.fas-infra-card-shine {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        105deg,
        transparent 38%,
        rgba(255,255,255,.06) 48%,
        rgba(255,255,255,.14) 50%,
        rgba(255,255,255,.06) 52%,
        transparent 62%
    ) !important;
    animation: fas-card-shine 6s ease-in-out infinite !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

@keyframes fas-card-shine {
    0%, 100% { transform: translateX(-120%); opacity: 0; }
    12%      { opacity: 1; }
    50%      { transform: translateX(120%); opacity: 1; }
    62%      { opacity: 0; }
}

.fas-infra-card-glow {
    position: absolute !important;
    right: -12% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 55% !important;
    height: 140% !important;
    background: radial-gradient(
        ellipse at center,
        var(--fas-sales-gold-dim) 0%,
        rgba(255, 201, 77, .08) 35%,
        transparent 70%
    ) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.fas-infra-ribbon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 14px 20px !important;
    background: linear-gradient(90deg, rgba(255,201,77,.18), rgba(255,255,255,.1), rgba(255,201,77,.18)) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    position: relative !important;
    z-index: 3 !important;
}

.fas-infra-ribbon-pulse {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: var(--fas-sales-gold) !important;
    box-shadow: 0 0 0 0 rgba(255, 201, 77, .7) !important;
    animation: fas-ribbon-pulse 2s ease-in-out infinite !important;
    flex-shrink: 0 !important;
}

@keyframes fas-ribbon-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 201, 77, .65); transform: scale(1); }
    50%      { box-shadow: 0 0 0 8px rgba(255, 201, 77, 0); transform: scale(1.15); }
}

.fas-infra-ribbon-text {
    font-size: var(--fas-font-size-ribbon, clamp(12px, 2.8vw, 14px)) !important;
    font-weight: var(--fas-font-weight-ribbon, 700) !important;
    letter-spacing: var(--fas-letter-spacing-ribbon, .04em) !important;
    text-transform: uppercase !important;
    color: var(--fas-color-ribbon-text, rgba(255,255,255,.95)) !important;
    text-align: center !important;
    line-height: 1.35 !important;
}

.fas-infra-banner {
    display: grid !important;
    grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
    grid-template-rows: minmax( 80px, 1fr ) auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    position: relative !important;
    z-index: 3 !important;
    padding: 28px 20px 32px !important;
    min-height: 200px !important;
}

.fas-infra-left {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: 1 / -1 !important;
    grid-column: auto !important;
    align-items: center !important;
    justify-items: center !important;
    align-self: stretch !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 20px !important;
    position: relative !important;
    box-sizing: border-box !important;
    row-gap: 12px !important;
}

/* Ayırıcılar: DOM sırasına göre son sütun hariç (admin sütun sırası ile uyumlu) */
.fas-infra-banner > .fas-infra-left:not(:last-child)::after,
.fas-infra-banner > .fas-infra-center-col:not(:last-child)::after,
.fas-infra-banner > .fas-speed-box--hero.fas-infra-col-speed:not(:last-child)::after {
    content: '' !important;
    position: absolute !important;
    top: 8% !important;
    bottom: 8% !important;
    right: 0 !important;
    width: 1px !important;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255,255,255,.4) 22%,
        rgba(255,255,255,.4) 78%,
        transparent
    ) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

/* Altyapı türü — üst satır: FIBER; alt satır: «Altyapı Türü» (ortadaki «Altyapı Mevcut» ile aynı grid satırı) */
.fas-infra-type-panel {
    --fas-infra-accent: #4ade80;
    position: relative !important;
    display: contents !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.fas-infra-type-panel-aura {
    display: none !important;
}

.fas-infra-type-hero {
    position: relative !important;
    z-index: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.fas-infra-type-status-row {
    grid-row: 2 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    width: 100% !important;
}

.fas-infra-type-chip,
.fas-infra-pill.fas-infra-type-chip {
    --fas-chip-accent: var(--fas-color-infra-chip-bg, var(--fas-infra-accent, #4ade80));
    position: static !important;
    transform: none !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 22px !important;
    border-radius: 100px !important;
    font-size: var(--fas-font-size-infra-chip, var(--fas-font-size-infra-status, 11px)) !important;
    font-weight: var(--fas-font-weight-infra-chip, 800) !important;
    color: var(--fas-color-infra-chip, var(--fas-color-infra-status, #ecfdf5)) !important;
    letter-spacing: var(--fas-letter-spacing-infra-chip, var(--fas-letter-spacing-infra-status, .12em)) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--fas-chip-accent) 55%, rgba(34, 197, 94, .35)),
        color-mix(in srgb, var(--fas-chip-accent) 35%, rgba(16, 185, 129, .2))
    ) !important;
    border: 1px solid color-mix(in srgb, var(--fas-chip-accent) 65%, rgba(134, 239, 172, .55)) !important;
    backdrop-filter: blur(8px) !important;
    box-shadow: 0 6px 20px color-mix(in srgb, var(--fas-chip-accent) 40%, rgba(34, 197, 94, .28)) !important;
}

.fas-infra-type-chip-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--fas-chip-accent, var(--fas-infra-accent, #4ade80)) !important;
    box-shadow: 0 0 8px var(--fas-chip-accent, var(--fas-infra-accent, #4ade80)) !important;
    animation: fas-status-pulse 2.2s ease-in-out infinite !important;
    flex-shrink: 0 !important;
}

.fas-infra-type-val {
    font-size: var(--fas-font-size-infra, clamp(24px, 4.2vw, var(--fas-fs-infra, 36px))) !important;
    font-weight: var(--fas-font-weight-infra, 900) !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    letter-spacing: var(--fas-letter-spacing-infra-type, -.03em) !important;
    word-break: break-word !important;
    color: var(--fas-color-infra-type, #ffffff) !important;
    background: none !important;
    -webkit-text-fill-color: var(--fas-color-infra-type, #ffffff) !important;
    text-shadow: 0 2px 20px rgba(0,0,0,.25) !important;
    max-width: 100% !important;
}

.fas-infra-center-col {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: 1 / -1 !important;
    grid-column: auto !important;
    align-items: center !important;
    justify-items: center !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    row-gap: 12px !important;
    padding: 0 20px !important;
    min-width: 0 !important;
    width: 100% !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.fas-infra-center-col::before {
    display: none !important;
}

.fas-infra-confirm-wrap {
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    line-height: 0 !important;
}

.fas-infra-confirm-wrap--fallback .fas-status-dot {
    width: 20px !important;
    height: 20px !important;
}

.fas-infra-confirm-icon {
    display: block !important;
    width: 88px !important;
    height: 88px !important;
    max-width: 88px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    filter:
        brightness(0) saturate(100%) invert(62%) sepia(79%) saturate(600%) hue-rotate(95deg) brightness(98%) contrast(92%)
        drop-shadow(0 4px 18px rgba(74, 222, 128, .55)) !important;
    animation: fas-icon-glow-green 3s ease-in-out infinite !important;
}

@keyframes fas-icon-glow-green {
    0%, 100% {
        filter:
            brightness(0) saturate(100%) invert(62%) sepia(79%) saturate(600%) hue-rotate(95deg) brightness(98%) contrast(92%)
            drop-shadow(0 2px 12px rgba(74, 222, 128, .45));
        transform: scale(1);
    }
    50% {
        filter:
            brightness(0) saturate(100%) invert(62%) sepia(79%) saturate(600%) hue-rotate(95deg) brightness(108%) contrast(92%)
            drop-shadow(0 4px 22px rgba(74, 222, 128, .75));
        transform: scale(1.04);
    }
}

.fas-speed-box--hero {
    grid-row: 1 / -1 !important;
    grid-column: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    align-self: stretch !important;
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    padding: 0 8px 2px !important;
    gap: 2px !important;
    text-align: center !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

.fas-speed-aura {
    display: none !important;
}

.fas-speed-box--hero > *:not(.fas-speed-aura) {
    position: relative !important;
    z-index: 1 !important;
}

.fas-speed-label-top {
    font-size: var(--fas-font-size-speed-label, 11px) !important;
    font-weight: var(--fas-font-weight-speed-label, 800) !important;
    color: var(--fas-color-speed-label, var(--fas-sales-gold)) !important;
    letter-spacing: var(--fas-letter-spacing-speed-label, .18em) !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    white-space: nowrap !important;
}

.fas-speed-display {
    display: flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 6px 10px !important;
    line-height: 1 !important;
    margin: 4px 0 2px !important;
    padding: 0 10px !important;
    overflow: visible !important;
}

.fas-speed-num {
    display: inline-block !important;
    font-size: clamp(48px, 8vw, var(--fas-font-size-speed, var(--fas-fs-speed, 72px))) !important;
    font-weight: var(--fas-font-weight-speed, 900) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
    color: var(--fas-color-speed-num, #ffffff) !important;
    -webkit-text-fill-color: var(--fas-color-speed-num, #ffffff) !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    text-shadow: 0 2px 16px rgba(255, 201, 77, .35) !important;
    padding: 0 2px !important;
    overflow: visible !important;
}

.fas-speed-unit {
    font-size: clamp(18px, 3.5vw, var(--fas-font-size-speed-unit, calc(var(--fas-font-size-speed, var(--fas-fs-speed, 72px)) * 0.32))) !important;
    font-weight: var(--fas-font-weight-speed-unit, 800) !important;
    letter-spacing: .02em !important;
    color: var(--fas-color-speed-unit, rgba(255,255,255,.92)) !important;
    padding-bottom: .15em !important;
    -webkit-text-fill-color: var(--fas-color-speed-unit, rgba(255,255,255,.92)) !important;
}

.fas-speed-suffix {
    font-size: var(--fas-font-size-speed-suffix, 13px) !important;
    font-weight: var(--fas-font-weight-speed-suffix, 800) !important;
    color: var(--fas-color-speed-suffix, rgba(255,255,255,.75)) !important;
    letter-spacing: var(--fas-letter-spacing-speed-suffix, .2em) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    margin-top: 2px !important;
}

.fas-speed-hint {
    display: block !important;
    margin-top: 10px !important;
    font-size: var(--fas-font-size-speed-hint, 10px) !important;
    font-weight: var(--fas-font-weight-speed-hint, 500) !important;
    color: var(--fas-color-speed-hint, rgba(255,255,255,.5)) !important;
    line-height: 1.35 !important;
    max-width: 200px !important;
    letter-spacing: var(--fas-letter-spacing-speed-hint, .02em) !important;
}

.fas-infra-center-col .fas-infra-status-row {
    grid-row: 2 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex-shrink: 0 !important;
}

.fas-infra-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: var(--fas-font-size-infra-status, 11px) !important;
    font-weight: var(--fas-font-weight-infra-status, 800) !important;
    color: var(--fas-color-infra-status, #ecfdf5) !important;
    letter-spacing: var(--fas-letter-spacing-infra-status, .12em) !important;
    background: linear-gradient(135deg, rgba(34,197,94,.35), rgba(16,185,129,.2)) !important;
    border: 1px solid rgba(134, 239, 172, .55) !important;
    padding: 10px 22px !important;
    border-radius: 100px !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(8px) !important;
    white-space: nowrap !important;
    box-shadow: 0 6px 20px rgba(34,197,94,.28) !important;
}

.fas-infra-status-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #4ade80 !important;
    box-shadow: 0 0 8px #4ade80 !important;
    animation: fas-status-pulse 2.2s ease-in-out infinite !important;
    flex-shrink: 0 !important;
}

.fas-status-dot {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #4ade80 !important;
    box-shadow: 0 0 0 0 rgba(74,222,128,.6) !important;
    animation: fas-status-pulse 2.2s ease-in-out infinite !important;
    flex-shrink: 0 !important;
}

@keyframes fas-status-pulse {
    0%   { box-shadow: 0 0 0 0   rgba(74,222,128,.6); }
    60%  { box-shadow: 0 0 0 7px rgba(74,222,128,0);  }
    100% { box-shadow: 0 0 0 0   rgba(74,222,128,0);  }
}

.fas-infra-name-row { display: flex !important; align-items: center !important; gap: 12px !important; }

/* Geriye dönük: eski sınıf adı */
.fas-infra-card:not(.fas-infra-card--success) {
    border-radius: 20px !important;
    padding: 32px 36px !important;
    margin-bottom: 28px !important;
}

.fas-speed-box:not(.fas-speed-box--hero) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 18px 22px !important;
    background: rgba(255,255,255,.08) !important;
    border-radius: 16px !important;
}

/* ==========================================================
   ÖZELLİK ÇUBUĞU
   ========================================================== */
.fas-features-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px 0 !important;
    padding: 8px 4px 16px !important;
    margin-bottom: 24px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fas-feat-item {
    font-size: var(--fas-font-size-feat, 13px) !important;
    font-weight: var(--fas-font-weight-feat, 600) !important;
    color: var(--fas-color-feat-text, var(--fas-text)) !important;
    padding: 0 14px !important;
    letter-spacing: var(--fas-letter-spacing-feat, .02em) !important;
}

.fas-feat-sep {
    display: inline-block !important;
    width: 1px !important;
    height: 14px !important;
    background: var(--fas-border) !important;
    margin: 0 2px !important;
    flex-shrink: 0 !important;
}

/* ==========================================================
   TARİFELER
   ========================================================== */
.fas-tariffs-section {
    padding-bottom: 28px !important;
}

.fas-tariffs-title {
    font-size: var(--fas-font-size-tariffs-title, clamp(22px, 4vw, 28px)) !important;
    font-weight: var(--fas-font-weight-tariffs-title, 800) !important;
    color: var(--fas-color-tariffs-title, var(--fas-text)) !important;
    margin: 0 0 20px !important;
    letter-spacing: var(--fas-letter-spacing-tariffs-title, var(--fas-ls-tariffs-title, -.03em)) !important;
    text-align: center !important;
}

.fas-tariffs-title::after {
    content: '' !important;
    display: block !important;
    width: 56px !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--fas-primary), var(--fas-secondary)) !important;
    border-radius: 2px !important;
    margin: 10px auto 0 !important;
}
/* ==========================================================


.fas-tariff-table-wrap {
    background: var(--fas-white) !important;
    border: 1px solid var(--fas-border) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.06) !important;
}
   ========================================================== */
.fas-tariff-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: var(--fas-fs-body, 14px) !important;
    border: none !important;
    margin: 0 !important;
}

.fas-tariff-table thead tr {
    background: var(--fas-color-table-th-bg, color-mix(in srgb, var(--fas-primary) 6%, #f8fafc)) !important;
    border-bottom: 1px solid var(--fas-border) !important;
}

.fas-tariff-table thead th {
    text-align: center !important;
    padding: 14px 18px !important;
    font-size: var(--fas-font-size-table-th, 11px) !important;
    font-weight: var(--fas-font-weight-table-th, 800) !important;
    color: var(--fas-color-table-th, var(--fas-muted)) !important;
    white-space: nowrap !important;
    letter-spacing: var(--fas-letter-spacing-table-th, .06em) !important;
    text-transform: uppercase !important;
    border: none !important;
    vertical-align: middle !important;
}

.fas-th-arrow {
    font-weight: var(--fas-font-weight-table-th, 800) !important;
    color: var(--fas-color-table-th-arrow, var(--fas-primary)) !important;
}

.fas-tariff-row {
    transition: background .15s ease !important;
}

.fas-tariff-row:hover {
    background: color-mix(in srgb, var(--fas-primary) 3%, white) !important;
}

.fas-tariff-row:last-child td { border-bottom: none !important; }

.fas-tariff-table td {
    padding: 18px 16px !important;
    vertical-align: middle !important;
    text-align: center !important;
    border: none !important;
    border-bottom: 1px solid var(--fas-border) !important;
}

/* Tarife adı hücresi */
.fas-tr-name { min-width: 180px !important; }

.fas-tr-name-head {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px 10px !important;
    margin-bottom: 0 !important;
}

.fas-tr-title {
    font-size: var(--fas-font-size-tariff-name, 15px) !important;
    font-weight: var(--fas-font-weight-tariff-name, 800) !important;
    color: var(--fas-color-tariff-name, var(--fas-text)) !important;
    line-height: 1.3 !important;
    letter-spacing: var(--fas-letter-spacing-tariff-name, -.01em) !important;
}

a.fas-tr-title-link {
    text-decoration: none !important;
    color: var(--fas-color-tariff-price, var(--fas-primary)) !important;
    transition: color .15s, opacity .15s !important;
}

a.fas-tr-title-link:hover,
a.fas-tr-title-link:focus {
    color: color-mix(in srgb, var(--fas-primary) 75%, #000) !important;
    text-decoration: underline !important;
    outline: none !important;
}

.fas-tr-badge {
    display: inline-flex !important;
    align-items: center !important;
    font-size: var(--fas-font-size-tariff-badge, 10px) !important;
    font-weight: var(--fas-font-weight-tariff-badge, 800) !important;
    background: var(--fas-color-tariff-badge-bg, var(--fas-primary)) !important;
    color: var(--fas-color-tariff-badge-text, #fff) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    letter-spacing: var(--fas-letter-spacing-tariff-badge, .04em) !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--fas-primary) 25%, transparent) !important;
}

.fas-tr-detail-list {
    list-style: none !important;
    margin: 12px auto 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px dashed var(--fas-border) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    max-width: 280px !important;
}

.fas-tr-detail-item {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: baseline !important;
    gap: 0.35em !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.fas-tr-dl {
    font-weight: var(--fas-font-weight-tariff-detail-dl, 600) !important;
    font-size: var(--fas-font-size-tariff-detail, 12px) !important;
    color: var(--fas-color-tariff-detail-dl, var(--fas-muted)) !important;
}

.fas-tr-dv {
    font-weight: var(--fas-font-weight-tariff-detail-dv, 700) !important;
    font-size: var(--fas-font-size-tariff-detail, 12px) !important;
    color: var(--fas-color-tariff-detail-dv, var(--fas-text)) !important;
}

/* Hız & taahhüt */
.fas-tr-speed-val {
    font-size: var(--fas-font-size-table-td, 14px) !important;
    font-weight: var(--fas-font-weight-table-td, 600) !important;
    color: var(--fas-color-table-td, var(--fas-text)) !important;
    white-space: nowrap !important;
}

.fas-tr-commit-pill {
    display: inline-block !important;
    font-size: var(--fas-font-size-table-td, 12px) !important;
    font-weight: var(--fas-font-weight-table-td, 600) !important;
    color: var(--fas-color-table-td, var(--fas-text)) !important;
    background: #f3f4f6 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
}

/* Fiyat + satır başvur butonu */
.fas-tr-price { text-align: center !important; }

.fas-tr-price-inner {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
}

.fas-tr-apply-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    min-height: 42px !important;
    font-size: var(--fas-font-size-btn, 13px) !important;
    font-weight: var(--fas-font-weight-apply-btn, 700) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    border-radius: 10px !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}

.fas-tr-apply-btn .fas-btn-apply-icon-wrap {
    width: 18px !important;
    height: 18px !important;
}

.fas-tr-apply-text,
.fas-btn-apply-label {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

.fas-tr-price-box {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0 !important;
}

.fas-tr-old-price {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 1px !important;
    font-size: var(--fas-font-size-tariff-old-price, 13px) !important;
    font-weight: var(--fas-font-weight-tariff-old-price, 500) !important;
    color: var(--fas-color-tariff-old-price, #9ca3af) !important;
    text-decoration: line-through !important;
    line-height: 1 !important;
}

.fas-tr-price-val {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 2px !important;
    line-height: 1 !important;
}

.fas-tr-price-num {
    font-size: var(--fas-font-size-price, var(--fas-fs-price, 24px)) !important;
    font-weight: var(--fas-font-weight-price, 900) !important;
    color: var(--fas-color-tariff-price, var(--fas-primary)) !important;
    letter-spacing: var(--fas-letter-spacing-tariff-price, -.02em) !important;
}

.fas-tr-currency {
    font-size: 14px !important;
    font-weight: var(--fas-font-weight-price, 900) !important;
    color: var(--fas-color-tariff-price, var(--fas-primary)) !important;
}

.fas-tr-old-price .fas-tr-currency {
    font-size: 11px !important;
    color: var(--fas-color-tariff-old-price, #9ca3af) !important;
}

/* Fiyat girilmemiş satır: kutu ve mobil «Fiyat» etiketi yok */
.fas-tr-price--empty::before {
    display: none !important;
    content: none !important;
}

/* Geriye dönük */
.fas-tariff-info-banner {
    display: inline-flex !important;
    background: linear-gradient(135deg, var(--fas-primary), color-mix(in srgb, var(--fas-primary) 70%, var(--fas-secondary))) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: var(--fas-font-weight-tariff-badge, 800) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
}

/* ==========================================================
   AKSİYON BUTONLARI
   ========================================================== */
.fas-action-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 8px 0 32px !important;
    margin-top: 4px !important;
}

.fas-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    border-radius: 50px !important;
    font-size: var(--fas-fs-btn, 15px) !important;
    font-weight: var(--fas-font-weight-btn, 700) !important;
    cursor: pointer !important;
    border: none !important;
    text-decoration: none !important;
    transition: opacity .15s, transform .1s, box-shadow .15s !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    flex: 1 !important;
    min-width: 160px !important;
}

.fas-btn:hover  { opacity: .88 !important; transform: translateY(-1px) !important; }
.fas-btn:active { transform: translateY(0) !important; opacity: 1 !important; }

.fas-btn-primary {
    background: color-mix(in srgb, var(--fas-btn-bg) 85%, #020b2e) !important;
    color: var(--fas-btn-text) !important;
    box-shadow: 0 4px 16px color-mix(in srgb, var(--fas-btn-bg) 35%, transparent) !important;
}

/* Hemen Başvur (tarife satırı) — Tipografi → Hemen Başvur rengi; boşsa Tasarım → Buton Arka Plan */
.fas-tr-apply-btn {
    background: color-mix(
        in srgb,
        var(--fas-color-apply-btn, var(--fas-btn-bg)) 85%,
        #020b2e
    ) !important;
    color: var(--fas-btn-text) !important;
    box-shadow: 0 4px 16px color-mix(
        in srgb,
        var(--fas-color-apply-btn, var(--fas-btn-bg)) 35%,
        transparent
    ) !important;
}

/* Adresi Değiştir (sorgu üst CTA) — Tipografi → Adresi Değiştir rengi */
.fas-change-addr-trigger {
    background: color-mix(
        in srgb,
        var(--fas-color-change-addr, #6b7280) 88%,
        #020b2e
    ) !important;
    color: #fff !important;
    box-shadow: 0 4px 16px color-mix(
        in srgb,
        var(--fas-color-change-addr, #6b7280) 35%,
        transparent
    ) !important;
    font-size: var(--fas-font-size-btn, var(--fas-fs-btn, 14px)) !important;
    font-weight: var(--fas-font-weight-change-addr, 600) !important;
}

.fas-change-addr-trigger:hover {
    opacity: .88 !important;
    transform: translateY(-1px) !important;
}

.fas-btn-apply-icon-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    line-height: 0 !important;
}

.fas-btn-apply-icon {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain !important;
    object-position: center center !important;
    flex-shrink: 0 !important;
    filter: brightness(0) invert(1) !important;
}

.fas-btn-apply-icon-svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

.fas-btn-secondary {
    background: var(--fas-secondary) !important;
    color: var(--fas-color-change-op-btn, #fff) !important;
    font-size: var(--fas-font-size-btn, var(--fas-fs-btn, 14px)) !important;
    font-weight: var(--fas-font-weight-change-op-btn, 600) !important;
    box-shadow: 0 4px 16px color-mix(in srgb, var(--fas-secondary) 30%, transparent) !important;
}

.fas-btn-primary.fas-notify-btn {
    color: var(--fas-color-notify-btn, var(--fas-btn-text)) !important;
    font-size: var(--fas-font-size-notify-btn, var(--fas-font-size-btn, 14px)) !important;
    font-weight: var(--fas-font-weight-notify-btn, 700) !important;
}

/* ==========================================================
   SONRASI: Bildirim + Adresi Değiştir + Yasal Uyarı
   ========================================================== */
.fas-after-result {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 20px 32px 28px !important;
}

.fas-after-result.fas-visible { display: flex !important; }
.fas-after-result.fas-hidden  { display: none !important; }

.fas-results-footer-card {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 auto !important;
}

.fas-results-footer-card--combined {
    background: var(--fas-white) !important;
    border: 1.5px solid var(--fas-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .06) !important;
    align-items: stretch !important;
}

.fas-results-footer-card--combined .fas-notify-slot,
.fas-results-footer-card--combined .fas-results-footer-bottom {
    width: 100% !important;
}

.fas-notify-slot {
    width: 100% !important;
}

.fas-notify-slot.fas-visible { display: block !important; }
.fas-notify-slot.fas-hidden  { display: none !important; }

.fas-results-footer-card--combined .fas-notify-section {
    margin-top: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #d4e4f7 !important;
}

.fas-action-buttons .fas-change-addr-trigger {
    border: none !important;
    font-family: inherit !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.fas-results-footer-bottom {
    display: none !important;
}

.fas-results-footer-card--combined .fas-results-footer-bottom {
    padding: 20px 20px 22px !important;
    background: #fafbfc !important;
}

.fas-results-footer-card .fas-legal-notice {
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.fas-results-footer-card:not(.fas-results-footer-card--combined) .fas-legal-notice {
    margin-top: 16px !important;
    max-width: min(560px, 100%) !important;
}

.fas-results-footer-card--combined .fas-legal-notice {
    margin: 0 16px 16px !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    text-align: center !important;
}

.fas-results-footer-card:not(.fas-results-footer-card--combined) .fas-results-footer-bottom {
    padding-top: 8px !important;
}

.fas-btn-change-addr {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 9px 20px !important;
    border: 1.5px solid var(--fas-border) !important;
    border-radius: 50px !important;
    background: var(--fas-white) !important;
    color: var(--fas-color-change-addr, var(--fas-muted)) !important;
    font-size: var(--fas-font-size-btn, var(--fas-fs-btn, 13px)) !important;
    font-weight: var(--fas-font-weight-change-addr, 600) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: border-color .15s, color .15s !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
}

.fas-btn-change-addr:hover {
    border-color: var(--fas-primary) !important;
    color: var(--fas-color-tariff-price, var(--fas-primary)) !important;
}

/* ---------- Yasal / Bilgilendirme Uyarısı ---------- */
.fas-legal-notice {
    padding: 13px 20px !important;
    background: var(--fas-legal-bg) !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    color: var(--fas-color-legal-text, var(--fas-legal-text)) !important;
    font-size: var(--fas-font-size-legal, 12px) !important;
    font-weight: var(--fas-font-weight-legal, 600) !important;
    line-height: 1.65 !important;
    text-align: center !important;
    max-width: 560px !important;
    width: 100% !important;
}

.fas-legal-notice strong { font-weight: var(--fas-font-weight-legal, 600) !important; }

#fas-legal-notice { margin-top: 0 !important; }

/* ==========================================================
   ALT YAPI BULUNAMADI
   ========================================================== */
.fas-no-infra {
    text-align: center !important;
    padding: 48px 24px !important;
}

.fas-no-infra-icon { font-size: 52px !important; margin-bottom: 16px !important; }
.fas-no-infra h3 {
    font-size: var(--fas-font-size-no-infra-title, 20px) !important;
    font-weight: var(--fas-font-weight-no-infra-title, 800) !important;
    color: var(--fas-color-no-infra-title, var(--fas-text)) !important;
    margin: 0 0 8px !important;
}
.fas-no-infra p {
    font-size: var(--fas-font-size-no-infra-desc, var(--fas-font-size-body, 15px)) !important;
    font-weight: var(--fas-font-weight-no-infra-desc, 500) !important;
    color: var(--fas-color-no-infra-desc, var(--fas-muted)) !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* Pasif altyapı (hizmet sunulmuyor) */
.fas-infra-disabled {
    text-align: center !important;
    padding: 40px 24px 32px !important;
    background: #fff8f0 !important;
    border: 1px solid #fcd9b8 !important;
    border-radius: var(--fas-radius) !important;
    margin-bottom: 24px !important;
}

.fas-infra-disabled-icon {
    font-size: 48px !important;
    margin-bottom: 14px !important;
    line-height: 1 !important;
}

.fas-infra-disabled-title {
    font-size: var(--fas-font-size-result-title, 22px) !important;
    font-weight: var(--fas-font-weight-result-title, 800) !important;
    color: #9a3412 !important;
    margin: 0 0 8px !important;
}

.fas-infra-disabled-type {
    font-size: 14px !important;
    font-weight: var(--fas-font-weight-infra, 900) !important;
    color: var(--fas-primary) !important;
    margin: 0 0 10px !important;
}

.fas-infra-disabled-msg {
    font-size: var(--fas-font-size-body, 15px) !important;
    font-weight: var(--fas-font-weight-body, 500) !important;
    color: #7c2d12 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ---------- Altyapı yoksa bildirim isteği ---------- */
.fas-notify-section {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%) !important;
    border: 1.5px solid #bbd6f7 !important;
    border-radius: 14px !important;
    padding: 20px 22px !important;
    margin-top: 0 !important;
}
.fas-notify-icon { font-size: 36px !important; flex-shrink: 0 !important; line-height: 1 !important; }
.fas-notify-content { flex: 1 !important; min-width: 0 !important; }
.fas-notify-title {
    font-size: var(--fas-font-size-notify-title, 15px) !important;
    font-weight: var(--fas-font-weight-notify-title, 700) !important;
    color: var(--fas-color-notify-title, var(--fas-text)) !important;
    margin: 0 0 4px !important;
}
.fas-notify-desc {
    font-size: var(--fas-font-size-notify-desc, 13px) !important;
    font-weight: var(--fas-font-weight-notify-desc, 500) !important;
    color: var(--fas-color-notify-desc, var(--fas-muted)) !important;
    margin: 0 !important;
}
.fas-notify-btn {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

/* ==========================================================
   MODAL OVERLAY
   ========================================================== */
.fas-modal-overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.55) !important;
    z-index: 999999 !important;
    padding: 16px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    backdrop-filter: blur(2px) !important;
    overflow: hidden !important;
}

.fas-modal-overlay.fas-active { display: flex !important; }
.fas-modal-overlay.fas-hidden { display: none !important; }
body.fas-modal-open,
html.fas-modal-open {
    overflow: hidden !important;
}

body.fas-modal-open {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
}

/* ---------- Modal ---------- */
.fas-modal {
    background: var(--fas-white) !important;
    border-radius: var(--fas-radius) !important;
    width: 100% !important;
    max-width: min(92vw, 860px) !important;
    margin: 0 auto !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.2) !important;
    position: relative !important;
    max-height: 58vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    animation: fasSlideUp .2s ease !important;
}

@keyframes fasSlideUp {
    from { transform: translateY(20px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.fas-modal-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 20px 14px !important;
    border-bottom: 1px solid var(--fas-border) !important;
    flex-shrink: 0 !important;
}

.fas-modal-title {
    font-size: var(--fas-font-size-modal-title, 17px) !important;
    font-weight: var(--fas-font-weight-modal-title, 700) !important;
    color: var(--fas-color-modal-title, var(--fas-modal-title, var(--fas-text))) !important;
    margin: 0 !important;
}

.fas-modal-close {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: var(--fas-muted) !important;
    padding: 4px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .15s, color .15s !important;
    line-height: 1 !important;
}

.fas-modal-close:hover { background: #f3f4f6 !important; color: var(--fas-text) !important; }

/* ---------- Breadcrumb — tek satır, yatay kaydırma ---------- */
.fas-breadcrumb {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 12px 16px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid var(--fas-border) !important;
    min-height: 48px !important;
    flex-shrink: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: color-mix(in srgb, var(--fas-primary) 35%, transparent) transparent !important;
}

.fas-breadcrumb::-webkit-scrollbar { height: 4px !important; }
.fas-breadcrumb::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--fas-primary) 40%, #ccc) !important;
    border-radius: 4px !important;
}
.fas-breadcrumb.fas-hidden { display: none !important; }

.fas-crumb {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    font-size: 12px !important;
    font-weight: var(--fas-font-weight-modal-crumb, 700) !important;
    color: var(--fas-modal-crumb-text, #fff) !important;
    cursor: pointer !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    background: var(--fas-modal-crumb-bg, var(--fas-secondary)) !important;
    border: 1px solid color-mix(in srgb, var(--fas-modal-crumb-bg, var(--fas-secondary)) 80%, #fff) !important;
    transition: opacity .15s, transform .15s !important;
    white-space: nowrap !important;
    max-width: none !important;
}

.fas-crumb:hover, .fas-crumb:focus {
    opacity: .9 !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

.fas-crumb-sep {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    font-weight: var(--fas-font-weight-body, 500) !important;
    color: var(--fas-muted) !important;
    line-height: 1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    user-select: none !important;
}

/* ---------- Modal Arama ---------- */
.fas-modal-search {
    position: relative !important;
    padding: 12px 16px !important;
    flex-shrink: 0 !important;
}

.fas-search-icon {
    position: absolute !important;
    left: 28px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--fas-muted) !important;
    pointer-events: none !important;
}

.fas-search-input {
    width: 100% !important;
    padding: 10px 12px 10px 36px !important;
    border: 1px solid var(--fas-border) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    outline: none !important;
    background: var(--fas-bg) !important;
    color: var(--fas-text) !important;
    transition: border-color .15s !important;
}

.fas-search-input:focus { border-color: var(--fas-primary) !important; }

/* ---------- Modal Body ---------- */
.fas-modal-body {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
    min-height: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
}

.fas-step-label {
    font-size: var(--fas-font-size-modal-step, 13px) !important;
    font-weight: var(--fas-font-weight-modal-step, 600) !important;
    color: var(--fas-color-modal-step, var(--fas-modal-step, var(--fas-muted))) !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    padding: 10px 20px 4px !important;
}

.fas-list-wrap {
    position: relative !important;
    min-height: 80px !important;
}

.fas-loader {
    display: none !important;
    justify-content: center !important;
    padding: 32px !important;
}

.fas-loader.fas-visible { display: flex !important; }
.fas-loader.fas-hidden  { display: none !important; }

.fas-select-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
}

.fas-select-list li {
    padding: 14px 20px !important;
    cursor: pointer !important;
    font-size: var(--fas-font-size-list, var(--fas-fs-list, 13px)) !important;
    font-weight: var(--fas-font-weight-list, 500) !important;
    color: var(--fas-color-modal-list, var(--fas-modal-list, var(--fas-text))) !important;
    border-bottom: 1px solid #f3f4f6 !important;
    transition: background .1s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    letter-spacing: .01em !important;
}

.fas-select-list li:last-child { border-bottom: none !important; }

.fas-select-list li:hover, .fas-select-list li:focus {
    background: color-mix(in srgb, var(--fas-primary) 6%, white) !important;
    color: var(--fas-primary) !important;
    outline: none !important;
}

.fas-select-list li::after {
    content: '›' !important;
    color: #bbb !important;
    font-size: 20px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.fas-select-list li.fas-list-hidden { display: none !important; }

.fas-list-empty, .fas-list-error {
    padding: 24px 20px !important;
    color: var(--fas-muted) !important;
    font-size: 14px !important;
    text-align: center !important;
    list-style: none !important;
}

.fas-list-error { color: #ef4444 !important; }

/* ==========================================================
   SORGU OVERLAY (yükleniyor)
   ========================================================== */
.fas-querying-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(3px) !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 50 !important;
    border-radius: var(--fas-radius) !important;
}

.fas-querying-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    background: var(--fas-white) !important;
    border: 1px solid var(--fas-border) !important;
    border-radius: 16px !important;
    padding: 32px 40px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
}

.fas-querying-text {
    font-size: 15px !important;
    font-weight: var(--fas-font-weight-body, 500) !important;
    color: var(--fas-text) !important;
    letter-spacing: .1px !important;
}

.fas-querying-overlay.fas-visible { display: flex !important; }
.fas-querying-overlay.fas-hidden  { display: none !important; }

/* ---------- Spinner ---------- */
.fas-spinner {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border: 3px solid color-mix(in srgb, var(--fas-primary) 20%, white) !important;
    border-top-color: var(--fas-primary) !important;
    border-radius: 50% !important;
    animation: fasSpinAnim .7s linear infinite !important;
    flex-shrink: 0 !important;
}

.fas-spinner-lg {
    width: 32px !important;
    height: 32px !important;
    border-width: 4px !important;
}

@keyframes fasSpinAnim { to { transform: rotate(360deg); } }

/* ---------- Lisans Hata Mesajı ---------- */
.fas-license-error {
    padding: 20px !important;
    background: #fff3cd !important;
    border: 1px solid #ffc107 !important;
    border-radius: 8px !important;
    color: #856404 !important;
    font-size: 14px !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 992px) {
    .fas-tr-name { min-width: 0 !important; }
}

/* Mobil modal — üstten açılır, başlık + arama her zaman görünür */
@media (max-width: 768px) {
    .fas-hero { padding: 36px 18px 28px !important; }

    .fas-modal-overlay {
        padding: 0 !important;
        align-items: flex-start !important;
        justify-content: stretch !important;
        overflow: hidden !important;
    }

    .fas-modal {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0 0 18px 18px !important;
        max-height: min(92dvh, 720px) !important;
        height: auto !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        animation: fasSlideDown .22s ease !important;
    }

    @keyframes fasSlideDown {
        from { transform: translateY(-16px); opacity: 0; }
        to   { transform: translateY(0); opacity: 1; }
    }

    .fas-modal-header,
    .fas-modal-search,
    .fas-breadcrumb,
    .fas-step-label {
        flex-shrink: 0 !important;
    }

    .fas-modal-header {
        padding: 16px 16px 12px !important;
    }

    .fas-modal-close {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 10px !important;
    }

    .fas-modal-search {
        padding: 10px 14px 12px !important;
    }

    .fas-search-input {
        font-size: 16px !important;
        min-height: 48px !important;
        padding: 12px 12px 12px 40px !important;
        border-radius: 12px !important;
    }

    .fas-search-icon { left: 26px !important; }

    .fas-breadcrumb {
        padding: 10px 12px !important;
        min-height: 44px !important;
    }

    .fas-crumb {
        font-size: 11px !important;
        padding: 8px 12px !important;
    }

    .fas-select-list li {
        min-height: 48px !important;
        padding: 14px 16px !important;
        font-size: 15px !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .fas-list-wrap { min-height: 120px !important; }

    /* Tarifeler — tablo yerine kart */
    .fas-tariff-table-wrap {
        overflow: visible !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .fas-tariff-table thead { display: none !important; }

    .fas-tariff-table,
    .fas-tariff-table tbody {
        display: block !important;
        width: 100% !important;
    }

    .fas-tariff-row {
        display: block !important;
        width: 100% !important;
        margin: 0 0 14px !important;
        padding: 16px !important;
        background: var(--fas-white) !important;
        border: 1px solid var(--fas-border) !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 16px rgba(15, 23, 42, .06) !important;
    }

    .fas-tariff-row:hover { background: var(--fas-white) !important; }

    .fas-tariff-table td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        padding: 10px 0 !important;
        text-align: right !important;
        border-bottom: 1px solid #f3f4f6 !important;
    }

    .fas-tariff-table td:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }

    .fas-tr-name {
        display: block !important;
        text-align: left !important;
        padding: 0 0 12px !important;
        margin-bottom: 4px !important;
        border-bottom: 1px solid var(--fas-border) !important;
    }

    .fas-tr-name::before { display: none !important; }

    .fas-tr-name-head {
        justify-content: flex-start !important;
    }

    .fas-tr-speed::before,
    .fas-tr-commit::before,
    .fas-tr-price::before {
        content: attr(data-label) !important;
        font-size: var(--fas-font-size-table-th, 12px) !important;
        font-weight: var(--fas-font-weight-table-th, 800) !important;
        color: var(--fas-color-table-th, var(--fas-muted)) !important;
        text-transform: uppercase !important;
        letter-spacing: var(--fas-letter-spacing-table-th, .06em) !important;
        flex: 1 1 auto !important;
        text-align: left !important;
    }

    .fas-tr-price {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        padding-top: 14px !important;
    }

    .fas-tr-price--empty {
        padding-top: 0 !important;
        justify-content: center !important;
    }

    .fas-tr-price--empty .fas-tr-price-inner {
        justify-content: center !important;
    }

    .fas-tr-price::before {
        text-align: center !important;
        margin-bottom: 4px !important;
    }

    .fas-tr-price-inner {
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .fas-tr-apply-btn {
        width: 100% !important;
        max-width: none !important;
        min-height: 48px !important;
    }

    .fas-tr-detail-list {
        margin-top: 10px !important;
        text-align: left !important;
    }

    .fas-tariffs-section { padding: 0 !important; }
    .fas-tariffs-title { font-size: 20px !important; margin-bottom: 16px !important; }
}

@media (max-width: 720px) {
    .fas-infra-banner {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto !important;
        gap: 20px !important;
        padding: 20px 20px 24px !important;
        text-align: center !important;
    }
    .fas-infra-left {
        display: flex !important;
        flex-direction: column !important;
        grid-row: auto !important;
        grid-column: auto !important;
        align-items: center !important;
        justify-self: center !important;
        max-width: 100% !important;
        padding: 0 !important;
        row-gap: 0 !important;
    }
    .fas-infra-banner > .fas-infra-left:not(:last-child)::after,
    .fas-infra-banner > .fas-infra-center-col:not(:last-child)::after,
    .fas-infra-banner > .fas-speed-box--hero.fas-infra-col-speed:not(:last-child)::after {
        display: none !important;
    }
    .fas-infra-type-panel {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        min-height: unset !important;
        justify-content: flex-start !important;
        gap: 16px !important;
        padding: 0 !important;
    }
    .fas-infra-type-hero {
        grid-row: auto !important;
        flex: none !important;
        justify-content: center !important;
        width: 100% !important;
    }
    .fas-infra-type-status-row {
        grid-row: auto !important;
        width: 100% !important;
        justify-content: center !important;
    }
    .fas-infra-type-chip,
    .fas-infra-center-col .fas-infra-status {
        white-space: normal !important;
        text-align: center !important;
        line-height: 1.35 !important;
        max-width: 100% !important;
        font-size: var(--fas-font-size-infra-chip, var(--fas-font-size-infra-status, 11px)) !important;
        padding: 10px 20px !important;
    }
    .fas-infra-center-col {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        grid-row: auto !important;
        grid-column: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 0 0 !important;
        min-width: unset !important;
        row-gap: 16px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    .fas-infra-confirm-wrap {
        grid-row: auto !important;
        width: 100% !important;
        justify-content: center !important;
    }
    .fas-infra-center-col .fas-infra-status-row {
        grid-row: auto !important;
        width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .fas-infra-center-col .fas-infra-status {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .fas-infra-center-col::before,
    .fas-infra-center-col::after { display: none !important; }
    .fas-speed-box--hero {
        grid-row: auto !important;
        grid-column: auto !important;
        justify-self: center !important;
        max-width: 100% !important;
        min-width: unset !important;
        width: 100% !important;
    }
    .fas-infra-ribbon-text { font-size: 11px !important; }
}

@media (max-width: 640px) {
    .fas-hero { padding: 32px 20px 28px !important; }
    .fas-results-section { padding: 24px 18px 0 !important; }
    .fas-infra-card--success { min-height: unset !important; margin-bottom: 24px !important; }
    .fas-infra-confirm-icon { width: 72px !important; height: 72px !important; max-width: 72px !important; max-height: 72px !important; }
    .fas-infra-type-val { font-size: 22px !important; }
    .fas-speed-num { font-size: 52px !important; }
    .fas-speed-hint { font-size: 9px !important; }
    .fas-action-buttons { flex-direction: column !important; }
    .fas-btn { min-width: unset !important; width: 100% !important; }
    .fas-after-result { padding: 16px 18px 20px !important; }
    .fas-results-footer-card--combined .fas-notify-section { flex-direction: column !important; text-align: center !important; padding: 18px 16px !important; }
    .fas-results-footer-card--combined .fas-notify-btn { width: 100% !important; justify-content: center !important; }
    .fas-results-footer-bottom { padding: 16px !important; }
    .fas-features-bar { padding: 12px 14px !important; margin-bottom: 16px !important; }
    .fas-feat-item { font-size: 12px !important; padding: 0 10px !important; }
    .fas-tariffs-title { font-size: 20px !important; }
    .fas-tr-detail-list { max-width: 100% !important; }
}

@media (max-width: 480px) {
    .fas-address-trigger { border-radius: 12px !important; padding: 13px 16px !important; }
    .fas-notify-section { flex-direction: column !important; text-align: center !important; }
    .fas-notify-btn { width: 100% !important; justify-content: center !important; }
}