@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 {
    --pub-deep: #0e1829;
    --pub-elevated: #1a2640;
    --pub-page: #f5f7fa;
    --pub-white: #ffffff;
    --pub-text: #1a1f36;
    --pub-muted: #6b7280;
    --pub-inverse: #f0f3ff;
    --pub-inverse-muted: rgba(240, 243, 255, 0.6);
    --pub-accent: #1e6eb5;
    --pub-accent-light: #2196c9;
    --pub-gradient: var(--panel-navbar-bg, rgba(10, 14, 26, 0.92)) !important;
    --pub-success: #0d9f6e;
    --pub-border-light: #e5e7eb;
    --pub-border-glass: rgba(255, 255, 255, 0.08);
    --pub-glass-bg: rgba(10, 14, 39, 0.88);
    --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,0,0,0.06);
    --pub-shadow-md: 0 4px 20px rgba(0,0,0,0.08);
    --pub-shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
    --pub-shadow-glow: 0 8px 30px rgba(30, 110, 181, 0.18);
    --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: linear-gradient(135deg, #0e1829 0%, #1a2640 50%, #1d3050 100%);
    --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(30, 110, 181, 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; }

/* ---- TOP BAR ---- */
.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__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); }

/* ---- NAVBAR ---- */
.pub-navbar.navbar {
    background-color: #122040;
    position: sticky;
    top: 0;
    z-index: 1030;
    /*background: var(--pub-glass-bg) !important;*/
    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; }

/* ---- 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); color: #fff; box-shadow: 0 4px 14px rgba(30,110,181,0.3); }
.pub-btn--primary:hover { box-shadow: 0 8px 24px rgba(30,110,181,0.4); filter: brightness(1.06); color: #fff; }
.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(33,150,201,0.05); }
.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(33,150,201,0.1); color: var(--pub-accent); border: 1px solid rgba(33,150,201,0.2);
}
.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, #0e1829, #162238);
    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; gap: 0.5rem; margin-top: 1.25rem; }
.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(33,150,201,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(33,150,201,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(33,150,201,0.15); }
.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; }

/* ---- 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; } }
