﻿@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");

/* ============================================================
   public.css - Dokuzgen Public Site
   Bootstrap 5.3 compatible, dark chrome theme
   ============================================================ */

:root {
    /* Brand — Renk Önerileri.pdf */
    --pub-brand: #00345D;
    --pub-brand-light: #79A1C0;
    --pub-brand-soft: #2a6a95;
    --pub-brand-mid: #1a5280;
    --pub-gradient-brand: linear-gradient(90deg, #00345D 0%, #1a5280 68%, #2a6a95 100%);
    --pub-gradient-brand-vertical: linear-gradient(180deg, #00345D 0%, #0a4a72 78%, #1a5280 100%);
    --pub-gradient-brand-hero: linear-gradient(135deg, #00345D 0%, #1a5280 52%, #245a80 100%);
    --pub-pkg-sayisal: linear-gradient(90deg, #2563eb 0%, #38bdf8 100%);
    --pub-pkg-ea: linear-gradient(90deg, #7c3aed 0%, #a855f7 100%);
    --pub-pkg-tyt: linear-gradient(90deg, #009600 0%, #00d600 100%);
    --pub-pkg-lgs: linear-gradient(90deg, #ea580c 0%, #fbbf24 100%);

    --pub-deep: #00345D;
    --pub-elevated: #0a4a72;
    --pub-page: #f5f8fb;
    --pub-white: #ffffff;
    --pub-text: #0f2544;
    --pub-muted: #5b6f91;
    --pub-inverse: #f0f6fb;
    --pub-inverse-muted: rgba(240, 246, 251, 0.72);
    --pub-accent: #00345D;
    --pub-accent-light: #79A1C0;
    --pub-gradient: var(--pub-gradient-brand);
    --pub-success: #009600;
    --pub-border-light: #dce6f0;
    --pub-border-glass: rgba(255, 255, 255, 0.1);
    --pub-glass-bg: rgba(0, 52, 93, 0.92);
    --pub-glass-blur: 20px;
    --pub-font: "Poppins", system-ui, -apple-system, sans-serif;
    --pub-radius: 0.625rem;
    --pub-radius-lg: 1rem;
    --pub-radius-xl: 1.25rem;
    --pub-shadow-sm: 0 1px 3px rgba(0, 52, 93, 0.06);
    --pub-shadow-md: 0 4px 20px rgba(0, 52, 93, 0.08);
    --pub-shadow-lg: 0 12px 40px rgba(0, 52, 93, 0.12);
    --pub-shadow-glow: 0 8px 30px rgba(0, 52, 93, 0.2);
    --pub-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --pub-dur: 300ms;

    /* Legacy variable aliases (backward compat for page CSS files) */
    --pub-color-bg-deep: var(--pub-deep);
    --pub-color-bg-elevated: var(--pub-elevated);
    --pub-color-bg-page: var(--pub-page);
    --pub-color-bg-white: var(--pub-white);
    --pub-color-text: var(--pub-text);
    --pub-color-text-muted: var(--pub-muted);
    --pub-color-text-inverse: var(--pub-inverse);
    --pub-color-text-inverse-muted: var(--pub-inverse-muted);
    --pub-color-border-light: var(--pub-border-light);
    --pub-color-border: var(--pub-border-glass);
    --pub-color-success: var(--pub-success);
    --pub-color-danger: #e5534b;
    --pub-color-warning: #e6a23c;
    --pub-gradient-primary: var(--pub-gradient);
    --pub-gradient-hero: var(--pub-gradient-brand-hero);
    --pub-gradient-dark: linear-gradient(180deg, var(--pub-deep), var(--pub-elevated));
    --pub-glass-bg: var(--pub-glass-bg);
    --pub-glass-border: var(--pub-border-glass);
    --pub-font-sans: var(--pub-font);
    --pub-font-size-xs: 0.75rem;
    --pub-font-size-sm: 0.875rem;
    --pub-font-size-base: 1rem;
    --pub-font-size-lg: 1.125rem;
    --pub-font-size-xl: 1.25rem;
    --pub-font-size-2xl: 1.5rem;
    --pub-font-size-3xl: 1.875rem;
    --pub-font-size-5xl: clamp(2rem, 5vw, 3rem);
    --pub-line-tight: 1.2;
    --pub-line-normal: 1.5;
    --pub-line-relaxed: 1.65;
    --pub-space-1: 0.25rem;
    --pub-space-2: 0.5rem;
    --pub-space-3: 0.75rem;
    --pub-space-4: 1rem;
    --pub-space-5: 1.25rem;
    --pub-space-6: 1.5rem;
    --pub-space-8: 2rem;
    --pub-space-10: 2.5rem;
    --pub-space-12: 3rem;
    --pub-space-16: 4rem;
    --pub-radius-sm: 0.375rem;
    --pub-radius-md: 0.625rem;
    --pub-radius-2xl: 1.5rem;
    --pub-container-padding: 1rem;
    --pub-container-max: 1200px;
    --pub-shadow-card-hover: 0 8px 30px rgba(0, 52, 93, 0.18);
    --pub-duration: 300ms;
    --pub-duration-fast: 150ms;
    --pub-duration-slow: 420ms;
    --pub-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; }

body.pub-layout {
    margin: 0;
    min-height: 100vh;
    font-family: var(--pub-font);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--pub-text);
    background: var(--pub-page);
    -webkit-font-smoothing: antialiased;
}

.pub-layout img { max-width: 100%; height: auto; display: block; }
.pub-layout a { color: inherit; text-decoration: none; }

/* ---- UNIFIED HEADER (tüm public sayfalar — anasayfa ile aynı) ---- */
.pub-layout .pub-header {
    position: sticky;
    top: 0;
    z-index: 110;
    background: var(--pub-gradient-brand-vertical);
    border-bottom: none;
    box-shadow: 0 8px 32px rgba(0, 52, 93, 0.28);
}

.pub-layout .pub-topbar {
    background: transparent;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.82rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.pub-layout .pub-topbar__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: rgba(255, 255, 255, 0.72);
    transition: color 200ms;
}

.pub-layout .pub-topbar__link:hover {
    color: #fff;
}

.pub-layout .pub-topbar__cta {
    display: flex;
    align-items: center;
}

.pub-layout .pub-topbar__signup {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #fff;
    color: var(--pub-brand) !important;
    border: none;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(0, 52, 93, 0.22);
    transition: box-shadow 200ms, transform 200ms, color 200ms;
}

.pub-layout .pub-topbar__signup:hover {
    color: var(--pub-brand-mid) !important;
    box-shadow: 0 6px 18px rgba(0, 52, 93, 0.3);
    filter: none;
}

.pub-layout .pub-topbar__quick {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}

.pub-layout .pub-topbar__sep {
    color: rgba(255, 255, 255, 0.35);
    user-select: none;
}

.pub-layout .pub-topbar__social {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.pub-layout .pub-topbar__social a,
.pub-layout .pub-topbar__social span {
    color: rgba(255, 255, 255, 0.72);
}

.pub-layout .pub-topbar__social a {
    display: inline-flex;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    transition: background 200ms, color 200ms;
}

.pub-layout .pub-topbar__social a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.pub-layout .pub-navbar.navbar {
    background: transparent !important;
    position: relative;
    top: auto;
    z-index: 1;
    border-bottom: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0.55rem 0 0.65rem;
}

.pub-layout .pub-navbar .nav-link {
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.55rem 0.85rem !important;
    border-radius: var(--pub-radius);
    transition: color 200ms, background 200ms;
}

.pub-layout .pub-navbar .nav-link:hover,
.pub-layout .pub-navbar .nav-link:focus,
.pub-layout .pub-navbar .nav-link.show {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
}

.pub-layout .pub-navbar .dropdown-menu {
    background: var(--pub-elevated);
    border: 1px solid var(--pub-border-glass);
    border-radius: var(--pub-radius);
    box-shadow: var(--pub-shadow-lg);
    padding: 0.4rem;
}

.pub-layout .pub-navbar .dropdown-item {
    color: rgba(240, 243, 255, 0.82);
    font-size: 0.85rem;
    padding: 0.45rem 0.8rem;
    border-radius: 0.35rem;
    transition: background 150ms, color 150ms;
}

.pub-layout .pub-navbar .dropdown-item:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.pub-layout .pub-navbar .dropdown-divider {
    border-color: rgba(255, 255, 255, 0.12);
}

.pub-layout .pub-navbar a.pub-btn--primary {
    background: #fff;
    color: var(--pub-brand) !important;
    border: none;
    box-shadow: 0 6px 18px rgba(0, 52, 93, 0.22);
    font-weight: 700;
}

.pub-layout .pub-navbar a.pub-btn--primary:hover {
    color: var(--pub-brand-mid) !important;
    filter: none;
    box-shadow: 0 8px 22px rgba(0, 52, 93, 0.28);
}

/* Legacy aliases (pub-layout dışı nadir kullanım) */
.pub-topbar {
    background: var(--pub-deep);
    color: var(--pub-inverse-muted);
    font-size: 0.82rem;
    border-bottom: 1px solid var(--pub-border-glass);
}
.pub-topbar__link {
    display: inline-flex; align-items: center; gap: 0.4rem;
    color: var(--pub-inverse-muted);
    transition: color 200ms;
}
.pub-topbar__link:hover { color: var(--pub-inverse); }
.pub-topbar__cta { display: flex; align-items: center; }
.pub-topbar__signup {
    display: inline-flex; align-items: center; gap: 0.4rem;
    background: #fff; color: var(--pub-brand) !important; border: none; font-weight: 700;
    box-shadow: 0 4px 14px rgba(0, 52, 93, 0.22);
}
.pub-topbar__signup:hover { color: var(--pub-brand-mid) !important; box-shadow: 0 6px 18px rgba(0, 52, 93, 0.3); filter: none; }
.pub-topbar__quick { display: flex; align-items: center; flex-wrap: wrap; gap: 0.35rem 0.5rem; }
.pub-topbar__sep { color: rgba(255,255,255,0.35); user-select: none; }
.pub-topbar__social { display: flex; align-items: center; gap: 0.35rem; }
.pub-topbar__social a {
    display: inline-flex; width: 1.75rem; height: 1.75rem; align-items: center; justify-content: center;
    border-radius: 0.25rem; color: var(--pub-inverse-muted);
    transition: background 200ms, color 200ms;
}
.pub-topbar__social a:hover { background: rgba(255,255,255,0.1); color: var(--pub-inverse); }

.pub-navbar.navbar {
    background-color: #122040;
    position: sticky;
    top: 0;
    z-index: 1030;
    backdrop-filter: blur(var(--pub-glass-blur));
    -webkit-backdrop-filter: blur(var(--pub-glass-blur));
    border-bottom: 1px solid var(--pub-border-glass);
    box-shadow: 0 2px 24px rgba(0,0,0,0.25);
    padding: 0.4rem 0;
}
.pub-navbar .nav-link {
    color: rgba(240,243,255,0.7) !important;
    font-weight: 500; font-size: 0.88rem;
    padding: 0.5rem 0.8rem !important;
    border-radius: var(--pub-radius);
    transition: color 200ms, background 200ms;
}
.pub-navbar .nav-link:hover,
.pub-navbar .nav-link:focus { color: #fff !important; background: rgba(255,255,255,0.07); }
.pub-navbar .dropdown-menu {
    background: var(--pub-elevated); border: 1px solid var(--pub-border-glass);
    border-radius: var(--pub-radius); box-shadow: var(--pub-shadow-lg); padding: 0.4rem;
}
.pub-navbar .dropdown-item {
    color: rgba(240,243,255,0.7); font-size: 0.85rem; padding: 0.45rem 0.8rem; border-radius: 0.35rem;
    transition: background 150ms, color 150ms;
}
.pub-navbar .dropdown-item:hover { background: rgba(255,255,255,0.08); color: #fff; }


/* ---- NAVBAR layout: logo | ortali menu | sag CTA ---- */
@media (min-width: 992px) {
    .pub-navbar .navbar-collapse {
        position: relative;
        flex-grow: 1;
        justify-content: center;
        align-items: center;
    }

    .pub-navbar .navbar-nav {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .pub-navbar__cta {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        margin-top: 0 !important;
        margin-left: 0 !important;
    }
}

.pub-navbar .navbar-brand img {
    max-height: 42px;
    width: auto;
}

/* ---- SECTIONS ---- */
.pub-section { padding: 4.5rem 1rem; }
.pub-section--white, .pub-section--alt { background: var(--pub-white); }
.pub-section--light, .pub-section--muted { background: var(--pub-page); }
.pub-section--dark {
    background: linear-gradient(180deg, var(--pub-deep) 0%, var(--pub-elevated) 100%);
}
.pub-section__inner { max-width: 1200px; margin: 0 auto; }
.pub-section__header { text-align: center; max-width: 36rem; margin: 0 auto 2.5rem; }

.section-title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700; letter-spacing: -0.02em;
    margin: 0 0 0.6rem;
}
.section-subtitle { margin: 0; font-size: 0.95rem; line-height: 1.65; }

/* Light section colors */
.pub-section--white .section-title,
.pub-section--light .section-title,
.pub-section--alt .section-title,
.pub-section--muted .section-title { color: var(--pub-text); }
.pub-section--white .section-subtitle,
.pub-section--light .section-subtitle,
.pub-section--alt .section-subtitle,
.pub-section--muted .section-subtitle { color: var(--pub-muted); }

/* Dark section colors */
.pub-section--dark .section-title { color: #fff; }
.pub-section--dark .section-subtitle { color: rgba(240,243,255,0.65); }

/* ---- CARD GRID ---- */
.pub-card-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 576px) { .pub-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .pub-card-grid { grid-template-columns: repeat(3, 1fr); } }

.pub-card {
    background: var(--pub-white); border: 1px solid var(--pub-border-light);
    border-radius: var(--pub-radius-xl); box-shadow: var(--pub-shadow-sm); overflow: hidden;
    transition: transform var(--pub-dur) var(--pub-ease), box-shadow var(--pub-dur) var(--pub-ease);
}
.pub-card:hover { transform: translateY(-6px); box-shadow: var(--pub-shadow-glow); }
.pub-card__media { aspect-ratio: 16/10; overflow: hidden; background: #e8ecf2; }
.pub-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--pub-ease); }
.pub-card:hover .pub-card__media img { transform: scale(1.05); }
.pub-card__body { padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
.pub-card__title { font-size: 1.05rem; font-weight: 600; color: var(--pub-text); margin: 0; }
.pub-card__footer {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem;
    padding-top: 1rem; margin-top: 0.5rem; border-top: 1px solid var(--pub-border-light);
}

/* ---- BUTTONS ---- */
.pub-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
    padding: 0.6rem 1.2rem; font-family: var(--pub-font); font-size: 0.875rem; font-weight: 600;
    border-radius: var(--pub-radius); border: 1px solid transparent; white-space: nowrap; cursor: pointer;
    transition: transform 150ms, box-shadow var(--pub-dur), background var(--pub-dur), color var(--pub-dur), border-color var(--pub-dur);
}
.pub-btn:active { transform: translateY(1px); }
.pub-btn--primary { background: var(--pub-gradient-brand); color: #fff !important; box-shadow: 0 4px 14px rgba(0, 52, 93, 0.28); }
.pub-btn--primary:hover { box-shadow: 0 8px 24px rgba(30,110,181,0.4); filter: brightness(1.06); color: #fff !important; }
.pub-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,0.4); }
.pub-btn--outline:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); color: #fff; }
.pub-btn--outline-dark { background: transparent; color: var(--pub-text); border-color: var(--pub-border-light); }
.pub-btn--outline-dark:hover { border-color: var(--pub-accent-light); color: var(--pub-accent); background: rgba(121, 161, 192, 0.08); }
.pub-btn--sm { padding: 0.4rem 0.9rem; font-size: 0.8rem; }
.pub-btn--lg { padding: 0.85rem 1.75rem; font-size: 1rem; border-radius: var(--pub-radius-lg); }

/* ---- BADGES ---- */
.pub-badge {
    display: inline-flex; padding: 0.2rem 0.65rem; font-size: 0.72rem; font-weight: 600;
    border-radius: 999px; background: rgba(0, 52, 93, 0.08); color: var(--pub-accent); border: 1px solid rgba(0, 52, 93, 0.18);
}
.pub-badge--success { background: rgba(13,159,110,0.1); color: var(--pub-success); border-color: rgba(13,159,110,0.25); }
.pub-badge--muted { background: rgba(10,14,39,0.05); color: var(--pub-muted); border-color: var(--pub-border-light); }

/* ---- PRICE ---- */
.pub-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; }
.pub-price__current { font-size: 1.15rem; font-weight: 700; color: var(--pub-text); }
.pub-price__original { font-size: 0.85rem; font-weight: 500; color: var(--pub-muted); text-decoration: line-through; }

/* ---- FOOTER ---- */
.pub-footer {
    background: linear-gradient(180deg, #00345D 0%, #0a4a72 100%);
    color: var(--pub-inverse-muted); font-size: 0.9rem;
}
.pub-footer h3 { color: var(--pub-inverse) !important; }
.pub-footer__title {
    font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
    margin-bottom: 1rem; color: var(--pub-inverse) !important;
}
.pub-footer__desc { font-size: 0.85rem; line-height: 1.65; color: var(--pub-inverse-muted); margin: 0; }
.pub-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.pub-footer__list a, .pub-footer__list span { color: var(--pub-inverse-muted); font-size: 0.85rem; transition: color 200ms; }
.pub-footer__list a:hover { color: var(--pub-inverse); }
.pub-footer__social { display: flex; align-items: center; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.25rem; }
.pub-footer__social-label { font-size: 0.82rem; color: var(--pub-inverse-muted); }
.pub-footer__social a {
    display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center;
    border-radius: var(--pub-radius); border: 1px solid var(--pub-border-glass); color: var(--pub-inverse-muted);
    transition: background 200ms, color 200ms, border-color 200ms;
}
.pub-footer__social a:hover { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.25); }
.pub-footer__bottom-bar { border-top: 1px solid var(--pub-border-glass); background: rgba(0,0,0,0.2); font-size: 0.78rem; color: var(--pub-inverse-muted); }

/* ---- BREADCRUMB ---- */
.pub-breadcrumb { padding: 1rem; background: var(--pub-white); border-bottom: 1px solid var(--pub-border-light); }
.pub-breadcrumb__inner { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--pub-muted); }
.pub-breadcrumb__inner a:hover { color: var(--pub-accent); }
.pub-breadcrumb__sep { color: #b4bccf; }
.pub-breadcrumb__current { color: var(--pub-text); font-weight: 500; }

/* ---- ACCORDION ---- */
.pub-accordion { border-radius: var(--pub-radius-lg); border: 1px solid var(--pub-border-light); background: var(--pub-white); box-shadow: var(--pub-shadow-sm); overflow: hidden; }
.pub-accordion__item + .pub-accordion__item { border-top: 1px solid var(--pub-border-light); }
.pub-accordion__trigger {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1rem 1.25rem; border: none; background: transparent; font-family: var(--pub-font);
    font-size: 1rem; font-weight: 600; text-align: left; color: var(--pub-text); cursor: pointer;
    transition: background 150ms;
}
.pub-accordion__trigger:hover { background: rgba(121,161,192,0.04); }
.pub-accordion__icon { flex-shrink: 0; width: 1.5rem; height: 1.5rem; border-radius: 0.3rem; background: rgba(10,14,39,0.06); position: relative; transition: transform var(--pub-dur), background var(--pub-dur); }
.pub-accordion__icon::before, .pub-accordion__icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 0.65rem; height: 2px; background: var(--pub-muted); transform: translate(-50%,-50%); transition: transform var(--pub-dur); }
.pub-accordion__icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.pub-accordion__item.is-open .pub-accordion__icon::after { transform: translate(-50%,-50%) rotate(0); }
.pub-accordion__item.is-open .pub-accordion__icon { background: rgba(121,161,192,0.12); }
.pub-accordion__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--pub-dur); }
.pub-accordion__item.is-open .pub-accordion__panel { grid-template-rows: 1fr; }
.pub-accordion__panel-inner { overflow: hidden; }
.pub-accordion__content { padding: 0 1.25rem 1.25rem; font-size: 0.9rem; color: var(--pub-muted); line-height: 1.65; }

/* ---- FORMS ---- */
.pub-form { display: flex; flex-direction: column; gap: 1.25rem; }
.pub-form__row { display: grid; gap: 1rem; }
.pub-form__row--2 { grid-template-columns: 1fr; }
@media (min-width: 768px) { .pub-form__row--2 { grid-template-columns: repeat(2, 1fr); } }
.pub-form__label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--pub-text); margin-bottom: 0.4rem; }
.pub-form__input, .pub-form__select, .pub-form__textarea {
    width: 100%; padding: 0.65rem 0.85rem; font-family: var(--pub-font); font-size: 0.9rem; color: var(--pub-text);
    background: var(--pub-white); border: 1px solid var(--pub-border-light); border-radius: var(--pub-radius);
    transition: border-color 200ms, box-shadow 200ms;
}
.pub-form__input:focus, .pub-form__select:focus, .pub-form__textarea:focus { outline: none; border-color: var(--pub-accent-light); box-shadow: 0 0 0 3px rgba(121, 161, 192, 0.22); }
.pub-form__textarea { min-height: 8rem; resize: vertical; }
.pub-form__check { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.85rem; color: var(--pub-muted); }
.pub-form__check input { accent-color: var(--pub-accent-light); }

/* ---- MODAL ---- */
.pub-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(10,14,39,0.6); backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity var(--pub-dur), visibility var(--pub-dur); }
.pub-modal.is-open { opacity: 1; visibility: visible; }
.pub-modal__dialog { width: min(100%, 40rem); max-height: 85vh; display: flex; flex-direction: column; background: var(--pub-white); border-radius: var(--pub-radius-xl); box-shadow: var(--pub-shadow-lg); transform: translateY(12px); transition: transform var(--pub-dur); }
.pub-modal.is-open .pub-modal__dialog { transform: translateY(0); }
.pub-modal__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--pub-border-light); }
.pub-modal__title { margin: 0; font-size: 1.1rem; font-weight: 600; }
.pub-modal__close { width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; border: none; border-radius: var(--pub-radius); background: rgba(10,14,39,0.06); color: var(--pub-muted); font-size: 1.25rem; cursor: pointer; }
.pub-modal__close:hover { background: rgba(10,14,39,0.1); color: var(--pub-text); }
.pub-modal__body { padding: 1.5rem; overflow-y: auto; font-size: 0.9rem; color: var(--pub-muted); line-height: 1.65; }

.pub-callback-lead {
    margin: 0 0 1.25rem;
    color: var(--pub-text);
}

.pub-callback-feedback {
    margin: 0 0 1rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--pub-radius);
    font-size: 0.85rem;
    line-height: 1.5;
}

.pub-callback-feedback.is-success {
    background: rgba(13, 159, 110, 0.1);
    color: #0a7a55;
    border: 1px solid rgba(13, 159, 110, 0.25);
}

.pub-callback-feedback.is-error {
    background: rgba(220, 53, 69, 0.08);
    color: #b42318;
    border: 1px solid rgba(220, 53, 69, 0.2);
}

.pub-callback-submit[disabled] {
    opacity: 0.75;
    cursor: not-allowed;
}

/* ---- SLIDER / CAROUSEL ---- */
.pub-slider-wrap { position: relative; }
.pub-slider {
    display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; padding-bottom: 0.5rem; scroll-behavior: smooth;
    scrollbar-width: none;
}
.pub-slider::-webkit-scrollbar { display: none; }
.pub-slider > * { scroll-snap-align: start; flex-shrink: 0; }

.pub-slider-nav {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 2.5rem; height: 2.5rem; border-radius: 50%;
    background: var(--pub-white); border: 1px solid var(--pub-border-light);
    box-shadow: var(--pub-shadow-md); color: var(--pub-text);
    display: flex; align-items: center; justify-content: center; font-size: 1rem;
    cursor: pointer; transition: box-shadow 200ms, background 200ms;
}
.pub-slider-nav:hover { box-shadow: var(--pub-shadow-lg); background: var(--pub-accent); color: #fff; border-color: var(--pub-accent); }
.pub-slider-nav--prev { left: -1rem; }
.pub-slider-nav--next { right: -1rem; }
@media (max-width: 767px) {
    .pub-slider-nav--prev { left: 0.25rem; }
    .pub-slider-nav--next { right: 0.25rem; }
    .pub-slider-nav { width: 2rem; height: 2rem; font-size: 0.85rem; background: rgba(255,255,255,0.9); }
}

.pub-slider-dots {
    display: flex; justify-content: center; gap: 0.4rem; margin-top: 1.25rem;
}
.pub-slider-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--pub-border-light); border: none; padding: 0; cursor: pointer;
    transition: background 200ms, transform 200ms;
}
.pub-slider-dot.is-active { background: var(--pub-accent); transform: scale(1.3); }

/* Dark slider nav variant */
.pub-section--dark .pub-slider-nav { background: rgba(255,255,255,0.1); border-color: var(--pub-border-glass); color: #fff; }
.pub-section--dark .pub-slider-nav:hover { background: var(--pub-accent); border-color: var(--pub-accent); }
.pub-section--dark .pub-slider-dot { background: rgba(255,255,255,0.2); }
.pub-section--dark .pub-slider-dot.is-active { background: var(--pub-accent-light); }

/* Belediye modu — navbar kurum etiketi */
.pub-brand-belediye-mark {
    font-family: var(--pub-font-primary);
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    color: rgba(250, 250, 255, 0.96);
    line-height: 1.25;
    max-width: 220px;
}

/* ---- RESPONSIVE ---- */
@media (min-width: 768px) { .pub-section { padding: 5rem 1.5rem; } }
@media (min-width: 992px) { .pub-section { padding: 5.5rem 2rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }
