/* ============================================================
   Geo-based Language Suggestion Banner
   Sağ üstte, küçük, kapatılabilir
   ============================================================ */
.geo-banner {
    position: fixed;
    top: 90px;
    right: 20px;
    z-index: 9998;
    max-width: 340px;
    background: #ffffff;
    color: #1a1a2e;
    border-radius: 12px;
    box-shadow: 0 12px 34px rgba(26, 26, 46, 0.16);
    border: 1px solid rgba(26, 26, 46, 0.08);
    font-family: 'Inter', system-ui, sans-serif;
    animation: geoSlideIn 0.35s ease-out;
}

@keyframes geoSlideIn {
    from { transform: translateX(120%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}

.geo-banner.geo-out {
    animation: geoSlideOut 0.3s ease-in forwards;
}

@keyframes geoSlideOut {
    from { transform: translateX(0);    opacity: 1; }
    to   { transform: translateX(120%); opacity: 0; }
}

.geo-inner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
}

.geo-flag {
    font-size: 1.4rem;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.geo-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.geo-text strong {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.35;
}

.geo-text span {
    font-size: 0.78rem;
    color: rgba(26, 26, 46, 0.65);
    line-height: 1.4;
}

.geo-text b { color: #c9a96e; font-weight: 600; }

.geo-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
    align-items: stretch;
}

.geo-btn {
    border: none;
    background: transparent;
    color: inherit;
    font-family: inherit;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.8rem;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.geo-accept {
    background: #1a1a2e;
    color: #fff;
    font-weight: 500;
}
.geo-accept:hover { background: #c9a96e; }

.geo-dismiss {
    color: rgba(26, 26, 46, 0.4);
    font-size: 1.2rem;
    padding: 2px 8px;
    line-height: 1;
}
.geo-dismiss:hover { color: #1a1a2e; }

@media (max-width: 640px) {
    .geo-banner {
        top: auto;
        bottom: 100px;   /* consent bar üstünde kalsın */
        right: 8px;
        left: 8px;
        max-width: none;
    }
}

/* RTL */
html[dir="rtl"] .geo-banner { right: auto; left: 20px; }
html[dir="rtl"] .geo-banner.geo-out { animation-name: geoSlideOutRtl; }
@keyframes geoSlideOutRtl {
    from { transform: translateX(0);     opacity: 1; }
    to   { transform: translateX(-120%); opacity: 0; }
}
