﻿/* â•â•â• FILOMAR â€” site stilleri (orijinal tasarÄ±mdan birebir) â•â•â• */
* { -webkit-tap-highlight-color: rgba(99,102,241,0.15); box-sizing: border-box; }
html, body {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
    min-width: 320px;
}
button, a, input[type="submit"], summary { min-height: 36px; }
img, video, iframe, svg { max-width: 100%; height: auto; }
.break-anywhere { overflow-wrap: anywhere; word-break: break-word; }

/* â•â•â• Hero â€” Kurumsal Lacivert â•â•â• */
.hero-bg {
    background:
        radial-gradient(ellipse 80% 50% at 50% 0%, rgba(21, 85, 192, 0.22) 0%, transparent 60%),
        radial-gradient(ellipse 80% 50% at 50% 100%, rgba(11, 30, 63, 0.80) 0%, transparent 60%),
        linear-gradient(180deg, #071226 0%, #0F2044 50%, #071226 100%);
    position: relative;
    overflow: hidden;
}
.hero-bg::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(circle at 15% 25%, rgba(21, 85, 192, 0.14) 0%, transparent 35%),
        radial-gradient(circle at 85% 35%, rgba(212, 160, 23, 0.10) 0%, transparent 35%),
        radial-gradient(circle at 50% 95%, rgba(21, 85, 192, 0.08) 0%, transparent 50%);
    animation: pulseGlow 12s ease-in-out infinite;
}
@keyframes pulseGlow { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }
.hero-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 60px 60px;
    -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
    mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.hero-bg::after {
    content: '';
    position: absolute; top: 0; left: 50%;
    transform: translateX(-50%);
    width: 1px; height: 200px;
    background: linear-gradient(to bottom, rgba(212,160,23,0.55), transparent);
    box-shadow: 0 0 30px 4px rgba(212,160,23,0.22);
}
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.float-anim { animation: float 4s ease-in-out infinite; }
.gradient-text {
    background: linear-gradient(135deg, #D4A017 0%, #F5C842 50%, #C8960A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800;
}
.feature-card {
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
    border-left: 3px solid transparent;
}
.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -10px rgba(15,32,68,0.12);
    border-color: #1555C0;
    border-left-color: #D4A017;
}
@keyframes pulseRing {
    0%   { box-shadow: 0 0 0 0 rgba(212,160,23, 0.6); }
    70%  { box-shadow: 0 0 0 16px rgba(212,160,23, 0); }
    100% { box-shadow: 0 0 0 0 rgba(212,160,23, 0); }
}
.pulse-ring { animation: pulseRing 2s infinite; }
/* Progressive enhancement: iÃ§erik JS olmadan da gÃ¶rÃ¼nÃ¼r kalÄ±r.
   Animasyon yalnÄ±zca <html class="js"> iken devreye girer. */
.js .reveal {
    opacity: 0; transform: translateY(20px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.js .reveal.visible { opacity: 1; transform: translateY(0); }
.stat-num {
    background: linear-gradient(135deg, #D4A017, #F5C842);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800;
}
.compare-table th, .compare-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e2e8f0;
}
.compare-table th { background: #f8fafc; text-align: center; font-weight: 700; color: #1e293b; }
.compare-table th:first-child { text-align: left; }
.compare-table tr:hover { background: #f8fafc; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(180deg); }
.faq-icon { transition: transform 0.3s; }

@media (max-width: 640px) {
    section { padding-top: 3rem !important; padding-bottom: 3rem !important; }
    /* navbar h-20 (5rem) + safe-area-inset-top + 2rem boşluk */
    section.hero-bg,
    main.hero-bg { padding-top: calc(5rem + env(safe-area-inset-top, 0px) + 2rem) !important; padding-bottom: 2.5rem !important; }
    .hero-bg h1 { font-size: 2.1rem !important; line-height: 1.15 !important; }
    .hero-bg .text-xl { font-size: 1rem !important; }
    .compare-table th, .compare-table td { padding: 10px 8px; font-size: 0.78rem; }
}

/* Skip link eriÅŸebilirlik */
.skip-link {
    position: absolute; top: -40px; left: 0;
    background: #0F2044; color: #fff;
    padding: 8px; z-index: 1000;
    transition: top 0.2s;
}
.skip-link:focus { top: 0; }

.scroll-x { -webkit-overflow-scrolling: touch; }
#mobileMenu { transition: max-height 0.3s ease, opacity 0.3s ease; max-height: 0; opacity: 0; overflow: hidden; }
#mobileMenu.open { max-height: 600px; opacity: 1; }
.screenshot-tab { transition: all 0.2s; }

/* â•â•â• Blog iÃ§erik tipografisi â•â•â• */
.article-body { color: #475569; font-size: 1.02rem; line-height: 1.75; }
.article-body h2 { color: #0f172a; }
.article-body h3 { color: #1e293b; }
.article-body p { margin-bottom: 1rem; }
.article-body a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 2px; }
.article-body a:hover { color: #1e40af; }
.article-body ul { list-style: disc; padding-left: 1.4rem; margin-bottom: 1rem; }
.article-body ol { list-style: decimal; padding-left: 1.4rem; margin-bottom: 1rem; }
.article-body li { margin-bottom: 0.35rem; }
.article-body table { border-collapse: collapse; }
.article-body th, .article-body td { padding: 10px 12px; border: 1px solid #e2e8f0; text-align: left; }
.article-body th { background: #f8fafc; font-weight: 700; color: #1e293b; }
.article-body blockquote { border-left: 4px solid #1555C0; padding-left: 1rem; color: #334155; font-style: italic; margin: 1.5rem 0; }
.article-body strong, .article-body b { color: #0f172a; }
/* not-prose: CTA kutularÄ±nÄ±n iÃ§indeki Ã¶ÄŸeleri article-body stilinden muaf tut */
.article-body .not-prose h2,
.article-body .not-prose h3 { color: inherit; }
.article-body .not-prose a { color: inherit; text-decoration: none; }
/* no-underline utility: article-body a override'Ä±nÄ± kÄ±r */
.article-body a.no-underline,
a.no-underline { text-decoration: none !important; }

/* â•â•â• Floating Action Buttons (WhatsApp + Ara) â•â•â• */

/* â”€â”€ MasaÃ¼stÃ¼: saÄŸ alt yÃ¼zen balonlar â”€â”€ */
.fab-container {
    position: fixed;
    bottom: 1.75rem;
    right: 1.25rem;
    z-index: 9000;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-end;
}
.fab-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 1rem 0.6rem 0.8rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(0,0,0,0.22);
    transition: transform 0.18s, box-shadow 0.18s;
    white-space: nowrap;
    border: none;
    cursor: pointer;
}
.fab-btn:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 8px 28px rgba(0,0,0,0.28); color: #fff; }
.fab-btn:active { transform: translateY(0) scale(0.98); }
.fab-btn i { font-size: 1.15rem; }
.fab-wa  { background: linear-gradient(135deg, #25d366, #128c50); }
.fab-tel { background: linear-gradient(135deg, #1e3a8a, #2563eb); }

/* Pulse halkasÄ± â€” sadece WhatsApp Ã¼zerinde */
.fab-wa-wrap {
    position: relative;
    display: inline-flex;
}
.fab-wa-wrap::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 9999px;
    background: rgba(37, 211, 102, 0.30);
    animation: fabPulse 2.2s ease-out infinite;
    pointer-events: none;
}
@keyframes fabPulse {
    0%   { transform: scale(0.88); opacity: 0.8; }
    70%  { transform: scale(1.18); opacity: 0;   }
    100% { transform: scale(0.88); opacity: 0;   }
}

/* â”€â”€ Mobil + PWA standalone: tam geniÅŸlik bottom bar â”€â”€ */
@media (max-width: 767px) {
    .fab-container { display: none; }   /* gizle, bar gÃ¶sterir */
    body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); } /* iÃ§erik barÄ±n altÄ±na gizlenmesin */
}
@media (display-mode: standalone) {
    .fab-container { display: none; }
    body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
}

/* bottom bar kendisi */
.mobile-cta-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0; right: 0;
    z-index: 9000;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.10);
    padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom, 0px));
    gap: 0.6rem;
    align-items: center;
    justify-content: center;
}
@media (max-width: 767px) {
    .mobile-cta-bar { display: flex; }
}
@media (display-mode: standalone) {
    .mobile-cta-bar { display: flex; }
}

.mobile-cta-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem 0.25rem;
    border-radius: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.15s;
    white-space: nowrap;
    touch-action: manipulation;
}
.mobile-cta-btn:active { opacity: 0.82; }
.mobile-cta-btn i { font-size: 1rem; }
.mobile-cta-btn img { width: 1.1rem; height: 1.1rem; border-radius: 50%; }
.mobile-cta-btn.mcb-tel  { background: linear-gradient(135deg, #1e3a8a, #2563eb); }
.mobile-cta-btn.mcb-wa   { background: linear-gradient(135deg, #25d366, #128c50); }
.mobile-cta-btn.mcb-mari { background: linear-gradient(135deg, #4338ca, #6d28d9); }

/* â”€â”€ Custom Select â”€â”€ */
.fm-select-wrap { position: relative; }
.fm-select-trigger {
  width: 100%; background: #fff; border: 1px solid #e2e8f0;
  border-radius: 0.75rem; padding: 0.75rem 1rem; font-size: 0.875rem;
  color: #0f172a; cursor: pointer; display: flex; align-items: center;
  justify-content: space-between; gap: 0.5rem;
  transition: border-color .15s, box-shadow .15s; user-select: none; outline: none;
}
.fm-select-trigger:focus,
.fm-select-wrap.fm-open .fm-select-trigger {
  border-color: #818cf8; box-shadow: 0 0 0 3px rgb(99 102 241 / .1);
}
.fm-select-val { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-select-val.placeholder { color: #94a3b8; }
.fm-select-arrow { font-size: .65rem; color: #94a3b8; flex-shrink: 0; transition: transform .2s; }
.fm-select-wrap.fm-open .fm-select-arrow { transform: rotate(180deg); }
.fm-select-dropdown {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: #fff; border: 1px solid #e2e8f0; border-radius: .875rem;
  box-shadow: 0 8px 28px rgb(0 0 0 / .10); z-index: 60;
  max-height: 230px; overflow-y: auto; display: none; padding: 4px;
}
.fm-select-wrap.fm-open .fm-select-dropdown { display: block; }
.fm-select-option {
  padding: .575rem .875rem; font-size: .875rem; color: #334155;
  cursor: pointer; border-radius: .5rem;
  transition: background .1s; display: flex; align-items: center; gap: .5rem;
}
.fm-select-option:hover { background: #f1f5f9; }
.fm-select-option.fm-selected { background: #eef2ff; color: #4f46e5; font-weight: 600; }
.fm-select-option[data-value=""] { color: #94a3b8; }

/* â”€â”€ Custom select dropdown scrollbar â”€â”€ */
.fm-select-dropdown::-webkit-scrollbar { width: 5px; }
.fm-select-dropdown::-webkit-scrollbar-track { background: transparent; margin: 4px 0; }
.fm-select-dropdown::-webkit-scrollbar-thumb {
  background: #c7d2fe; border-radius: 99px;
}
.fm-select-dropdown::-webkit-scrollbar-thumb:hover { background: #818cf8; }
.fm-select-dropdown { scrollbar-width: thin; scrollbar-color: #c7d2fe transparent; }

/* â”€â”€ iOS zoom prevention (font-size < 16px triggers zoom on tap) â”€â”€ */
@media (max-width: 1024px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="search"],
  textarea,
  select {
    font-size: 16px !important;
  }
  /* touch-action: manipulation prevents double-tap zoom on buttons/links */
  button, a, .fm-select-trigger, .fm-select-option,
  input[type="submit"], input[type="button"], label[for] {
    touch-action: manipulation;
  }
}
