/* ==========================================================================
   Teknik Proje — Kurumsal tema (Bootstrap 5.3 üzeri, mobile-first)
   Renk/font değişkenleri partials/theme.php'den (ayarlardan) gelir.
   ========================================================================== */

* { -webkit-tap-highlight-color: transparent; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--tp-font-body);
  font-size: var(--tp-font-size);
  line-height: var(--tp-line-height);
  color: var(--tp-text);
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6 { font-family: var(--tp-font-head); font-weight: var(--tp-head-weight); color: var(--tp-heading); line-height: 1.25; }

.container { max-width: var(--tp-container); }

a { color: var(--tp-primary); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--tp-accent); }

.text-muted-2 { color: var(--tp-muted) !important; }
.bg-primary-2 { background: var(--tp-primary) !important; }
.text-accent { color: var(--tp-accent) !important; }

/* ---- Butonlar ---- */
.btn { border-radius: calc(var(--tp-radius) * .8px); font-weight: 600; padding: .6rem 1.4rem; }
.btn-accent { background: var(--tp-accent); border-color: var(--tp-accent); color: #fff; }
.btn-accent:hover { background: var(--tp-primary); border-color: var(--tp-primary); color: #fff; }
.btn-primary { background: var(--tp-primary); border-color: var(--tp-primary); }
.btn-primary:hover { background: var(--tp-secondary); border-color: var(--tp-secondary); }
.btn-outline-light:hover { color: var(--tp-primary); }

/* ---- Topbar ---- */
.topbar { background: var(--tp-dark); color: #cdd9e6; font-size: .85rem; padding: .45rem 0; position: relative; z-index: 1040; }
.lang-switcher { position: relative; }
.lang-switcher .dropdown-menu { z-index: 1060; min-width: 160px; }
.lang-flag { border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.08); vertical-align: middle; }
.lang-current { vertical-align: middle; }
.topbar a { color: #cdd9e6; margin-inline-end: 1.2rem; }
.topbar a:hover { color: #fff; }
.topbar-social a { margin-inline-end: .6rem; font-size: 1rem; }

/* ---- Header / Navbar ---- */
.site-header { position: sticky; top: 0; z-index: 1030; background: #fff; box-shadow: 0 2px 18px rgba(15,44,77,.07); transition: box-shadow .3s; }
.site-header.scrolled { box-shadow: 0 4px 24px rgba(15,44,77,.12); }
.navbar { padding: .55rem 0; }
.navbar-brand { display: flex; align-items: center; }
.navbar-brand .brand-logo { height: 56px; width: auto; max-width: 220px; object-fit: contain; display: block; }
.navbar-brand .brand-text { font-family: var(--tp-font-head); font-weight: 800; color: var(--tp-primary); font-size: 1.4rem; }
@media (max-width: 575.98px) { .navbar-brand .brand-logo { height: 46px; max-width: 160px; } }
.navbar-nav .nav-link { color: var(--tp-heading); font-weight: 600; padding: .5rem .9rem; border-radius: 8px; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--tp-accent); }
.navbar-toggler { border: none; font-size: 1.6rem; color: var(--tp-primary); padding: 0; }
.navbar-toggler:focus { box-shadow: none; }

.lang-switcher .btn { background: transparent; border: 1px solid rgba(255,255,255,.25); color: #cdd9e6; }
.lang-switcher .btn:hover { color: #fff; }
.site-header .lang-switcher .btn { color: var(--tp-heading); border-color: rgba(15,44,77,.2); }

/* ---- Hero ---- */
.hero {
  position: relative;
  color: #fff;
  background: linear-gradient(rgba(var(--tp-dark-rgb), .62), rgba(var(--tp-dark-rgb), .78)), var(--hero-bg, #2f3a3f) center/cover no-repeat;
  padding: clamp(4rem, 11vw, 9rem) 0;
}
/* Slider: tüm slaytlar sabit yükseklik (içeriğe göre zıplamaz) */
.hero-slider .hero { min-height: clamp(440px, 68vh, 660px); display: flex; align-items: center; padding-block: 2rem; }
.hero-slider .carousel-item { transition: opacity .6s ease; }
@media (max-width: 575.98px){ .hero-slider .hero { min-height: 420px; } }

.hero h1 { color: #fff; font-size: clamp(2rem, 5.2vw, 3.6rem); letter-spacing: .2px; }
.hero p.lead { color: #ece6df; max-width: 640px; font-size: clamp(1rem, 2.2vw, 1.2rem); }
.hero .badge-soft { background: rgba(var(--tp-accent-rgb), .22); color: var(--tp-accent); border: 1px solid rgba(var(--tp-accent-rgb), .5); padding: .5rem 1.1rem; border-radius: 50px; font-weight: 600; letter-spacing: .5px; }

/* ---- Bölüm başlıkları ---- */
.section { padding: clamp(3rem, 8vw, 5.5rem) 0; }
.section-head { max-width: 720px; margin: 0 auto 2.6rem; text-align: center; }
.section-head .eyebrow { color: var(--tp-accent); font-weight: 700; text-transform: uppercase; letter-spacing: 2px; font-size: .8rem; }
.section-head h2 { font-size: clamp(1.6rem, 4vw, 2.4rem); margin-top: .4rem; }
.section-head p { color: var(--tp-muted); }

/* ---- Kartlar ---- */
.card-service, .card-project, .card-campaign {
  border: 1px solid rgba(15,44,77,.08);
  border-radius: var(--tp-radius);
  background: #fff;
  height: 100%;
  transition: transform .3s ease, box-shadow .3s ease;
  overflow: hidden;
}
.card-service:hover, .card-project:hover, .card-campaign:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(15,44,77,.13); }
.card-service { padding: 2rem 1.6rem; }
.card-service .icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 16px;
  background: rgba(var(--tp-accent-rgb), .12); color: var(--tp-accent); font-size: 1.8rem; margin-bottom: 1.2rem; }
.card-service h3 { font-size: 1.25rem; }
.card-service p { color: var(--tp-muted); margin-bottom: 1rem; }

/* ---- Proje kartı ---- */
.card-project .thumb { aspect-ratio: 4/3; overflow: hidden; background: #e9eef4; }
.card-project .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card-project:hover .thumb img { transform: scale(1.06); }
.card-project .body { padding: 1.2rem 1.3rem; }
.card-project .cat { color: var(--tp-accent); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: 1px; }
.card-project h3 { font-size: 1.15rem; margin: .3rem 0; }
.card-project .meta { color: var(--tp-muted); font-size: .85rem; display: flex; flex-wrap: wrap; gap: .8rem; }

/* ---- Sayaçlar ---- */
.stats { background: var(--tp-primary); color: #fff; }
.stat-item { text-align: center; padding: 1.4rem .5rem; }
.stat-item .num { font-family: var(--tp-font-head); font-weight: 800; font-size: clamp(1.8rem, 5vw, 2.8rem); color: #fff; }
.stat-item .num .suffix { color: var(--tp-accent); }
.stat-item .label { color: #b9c8d8; font-size: .9rem; margin-top: .2rem; }

/* ---- Süreç ---- */
.process-step { text-align: center; padding: 1rem; }
.process-step .step-num { width: 60px; height: 60px; margin: 0 auto 1rem; border-radius: 50%; display: grid; place-items: center;
  background: rgba(var(--tp-accent-rgb), .12); color: var(--tp-accent); font-weight: 800; font-size: 1.4rem; font-family: var(--tp-font-head); }
.process-step h4 { font-size: 1.1rem; }
.process-step p { color: var(--tp-muted); font-size: .92rem; }

/* ---- CTA ---- */
.cta { background: linear-gradient(120deg, var(--tp-primary), var(--tp-secondary)); color: #fff; border-radius: var(--tp-radius); padding: clamp(2rem,6vw,3.5rem); }
.cta h2 { color: #fff; }

/* ---- Sayfa başlığı ---- */
.page-hero { background: linear-gradient(rgba(var(--tp-dark-rgb),.74), rgba(var(--tp-dark-rgb),.84)), var(--tp-primary) center/cover; color: #fff; padding: clamp(2.5rem,7vw,4.5rem) 0; }
.page-hero h1 { color: #fff; }
.breadcrumb { --bs-breadcrumb-divider-color: #9fb3c8; }
.breadcrumb a { color: #cfe0ef; }
.breadcrumb .active { color: #fff; }

/* ---- İçerik (CKEditor çıktısı) ---- */
.rich-content { color: var(--tp-text); }
.rich-content h2,.rich-content h3 { margin-top: 1.6rem; }
.rich-content img { max-width: 100%; height: auto; border-radius: var(--tp-radius); }
.rich-content p { margin-bottom: 1rem; }
.rich-content ul,.rich-content ol { padding-inline-start: 1.4rem; }

/* ---- SSS Akordeon ---- */
.accordion-button:not(.collapsed) { background: rgba(var(--tp-accent-rgb), .08); color: var(--tp-primary); box-shadow: none; }
.accordion-button:focus { box-shadow: none; border-color: rgba(var(--tp-accent-rgb), .4); }

/* ---- İletişim ---- */
.contact-info-item { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.3rem; }
.contact-info-item .ic { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 12px; background: rgba(var(--tp-accent-rgb), .12); color: var(--tp-accent); display: grid; place-items: center; font-size: 1.2rem; }
.map-wrap { border-radius: var(--tp-radius); overflow: hidden; min-height: 300px; }
.map-wrap iframe { width: 100%; height: 100%; min-height: 300px; border: 0; }

/* ---- Footer ---- */
.site-footer { background: var(--tp-footer-bg); color: var(--tp-footer-text); padding: 3.5rem 0 1.5rem; }
.site-footer .footer-title { color: #fff; font-size: 1rem; margin-bottom: 1.1rem; }
.site-footer .footer-about { color: var(--tp-footer-text); font-size: .92rem; }
.footer-links, .footer-contact { list-style: none; padding: 0; margin: 0; }
.footer-links li, .footer-contact li { margin-bottom: .6rem; }
.footer-links a, .footer-contact a { color: var(--tp-footer-text); }
.footer-links a:hover, .footer-contact a:hover { color: #fff; }
.footer-social a { color: var(--tp-footer-text); font-size: 1.2rem; margin-inline-end: .9rem; }
.footer-social a:hover { color: var(--tp-accent); }
.footer-divider { border-color: rgba(255,255,255,.12); margin: 2.2rem 0 1.2rem; }
.footer-bottom { color: #9fb3c8; font-size: .88rem; }

/* ---- Yüzen butonlar ---- */
.whatsapp-float { position: fixed; bottom: 22px; inset-inline-end: 22px; width: 54px; height: 54px; border-radius: 50%;
  background: #25d366; color: #fff; display: grid; place-items: center; font-size: 1.6rem; z-index: 1040; box-shadow: 0 8px 24px rgba(37,211,102,.4); }
.whatsapp-float:hover { color: #fff; transform: scale(1.06); }
.to-top { position: fixed; bottom: 22px; inset-inline-start: 22px; width: 46px; height: 46px; border-radius: 50%; border: none;
  background: var(--tp-primary); color: #fff; display: none; place-items: center; z-index: 1040; box-shadow: 0 6px 18px rgba(15,44,77,.3); }
.to-top.show { display: grid; }

/* ---- Çerez ---- */
.cookie-consent { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; box-shadow: 0 -4px 24px rgba(15,44,77,.15); padding: 1rem 0; z-index: 1050; }
.cookie-consent p { color: var(--tp-text); font-size: .9rem; }

/* ---- Scroll reveal ---- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }

/* ---- RTL ince ayarlar ---- */
[dir="rtl"] .topbar a { margin-inline-end: 0; margin-inline-start: 1.2rem; }

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .navbar-nav .nav-link { padding: .8rem .4rem; border-bottom: 1px solid rgba(15,44,77,.06); }
}
