/* ===== Longines ilhamli: lüks, sade, net hiyerarsi ===== */
:root {
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --color-bg: #fafaf8;
    --color-bg-warm: #f7f6f3;
    --color-surface: #ffffff;
    --color-text: #1a1a1a;
    --color-text-secondary: #4a4a4a;
    --color-text-muted: #6b6b6b;
    --color-accent: #1a1a1a;
    --color-accent-hover: #333;
    --color-border: #e8e6e3;
    --color-border-soft: #f0eeeb;
    --radius: 0;
    --radius-sm: 2px;
    --radius-lg: 0;
    --header-bg: #fff;
    --footer-bg: #f5f4f1;
    --transition: 0.2s ease;
}

html, body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text);
    background: var(--color-bg);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    font-weight: 500;
    color: var(--color-text);
    letter-spacing: 0.02em;
}
h1:focus { outline: none; }

a {
    color: var(--color-text);
    text-decoration: none;
    transition: color var(--transition), opacity var(--transition);
}
a:hover { opacity: 0.75; }

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.btn-primary {
    background: var(--color-accent);
    color: #fff;
    border: none;
    padding: 0.75rem 1.75rem;
    border-radius: 0;
    font-weight: 500;
    font-family: var(--font-body);
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background var(--transition), color var(--transition);
}
.btn-primary:hover { background: var(--color-accent-hover); color: #fff; }

#blazor-error-ui {
    background: #fef3c7;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0,0,0,0.06);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-family: var(--font-body);
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }

.blazor-error-boundary {
    background: #b91c1c;
    color: white;
    padding: 1rem 1rem 1rem 3.5rem;
    font-family: var(--font-body);
}

.loading-progress { position: relative; display: block; width: 6rem; height: 6rem; margin: 20vh auto 1rem auto; }
.loading-progress circle { fill: none; stroke: var(--color-border); stroke-width: 0.4rem; transform-origin: 50% 50%; transform: rotate(-90deg); }
.loading-progress circle:last-child { stroke: var(--color-text); stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%; transition: stroke-dasharray 0.05s ease-in-out; }
.loading-progress-text { position: absolute; text-align: center; font-weight: 500; font-size: 0.875rem; inset: calc(20vh + 3rem) 0 auto 0.2rem; color: var(--color-text-muted); }
.loading-progress-text:after { content: var(--blazor-load-percentage-text, "Yukleniyor..."); }

.valid.modified:not([type=checkbox]) { outline: 1px solid #16a34a; }
.invalid { outline: 1px solid #dc2626; }
.validation-message { color: #dc2626; }
code { color: var(--color-text); }

/* Yasal sayfalar (satis, uyelik, teslimat, gizlilik, garanti-iade, iade-degisim, sss) */
.page-legal { padding: 2rem 0 4rem; }
.page-legal .page-header { margin-bottom: 1.5rem; }
.page-legal .page-header h1 { font-size: 1.5rem; margin: 0; }
.legal-frame-wrap { position: relative; min-height: 60vh; border: 1px solid var(--color-border); background: var(--color-surface); }
.legal-iframe { width: 100%; height: 75vh; min-height: 500px; border: 0; display: block; }
.legal-fallback { margin: 0.75rem 0 0; font-size: 0.8125rem; color: var(--color-text-muted); }
.legal-fallback a { color: var(--color-text); text-decoration: underline; }
.legal-content { max-width: 48rem; line-height: 1.6; color: var(--color-text); }
.legal-content h2 { font-size: 1.125rem; margin: 1.5rem 0 0.5rem; }
.legal-content p { margin: 0 0 0.75rem; }
.legal-content ul, .legal-content ol { margin: 0 0 0.75rem; padding-left: 1.25rem; }
.legal-content a { color: var(--color-text); text-decoration: underline; }
.legal-content a:hover { opacity: 0.85; }
.sss-content .sss-item { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
.sss-content .sss-item:last-child { border-bottom: 0; }
.sss-content .sss-item h2 { font-size: 1rem; margin: 0 0 0.5rem; }

/* Giris / kayit: magaza sitesi tarzi iki kolon (marka + form) */
.auth-split-page {
    padding: 2rem 0 4rem;
    background: var(--color-bg-warm);
    min-height: min(70vh, calc(100vh - 12rem));
}

.auth-split-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    max-width: 920px;
    margin: 0 auto;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
}

.auth-split-brand {
    padding: 2.5rem 2rem;
    background: linear-gradient(160deg, #f3f1ec 0%, #ebe8e2 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.25rem;
    border-right: 1px solid var(--color-border);
}

.auth-split-logo {
    height: 44px;
    width: auto;
    max-width: 200px;
    object-fit: contain;
    object-position: left center;
}

.auth-split-tagline {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 1.25;
    color: var(--color-text);
}

.auth-split-lead {
    margin: 0;
    font-size: 0.9375rem;
    color: var(--color-text-secondary);
    line-height: 1.55;
}

.auth-split-bullets {
    margin: 0;
    padding: 0 0 0 1.1rem;
    font-size: 0.875rem;
    color: var(--color-text-muted);
    line-height: 1.7;
}

.auth-split-form-side {
    padding: 2rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.auth-split-form-side .auth-card {
    max-width: 400px;
    width: 100%;
    margin: 0;
    border: none;
    padding: 0;
    box-shadow: none;
}

@media (max-width: 768px) {
    .auth-split-grid {
        grid-template-columns: 1fr;
        margin: 0 1rem;
    }
    .auth-split-brand {
        border-right: none;
        border-bottom: 1px solid var(--color-border);
        padding: 1.75rem 1.5rem;
    }
    .auth-split-form-side {
        padding: 1.75rem 1.5rem 2.25rem;
    }
}
