/* /Applications/MAMP/htdocs/star-bilisim/public/assets/css/style.css */

/* Reset ve Temel Stiller */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-color: #1a365d;
    --secondary-color: #3182ce;
    --accent-color: #38b2ac;
    --light-color: #f7fafc;
    --dark-color: #2d3748;
    --text-color: #4a5568;
    --white: #ffffff;
    --shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    --transition: all 0.3s ease;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--text-color);
    background-color: var(--white);
}

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

/* Header ve Navigation */
header {
    background-color: var(--white);
    box-shadow: var(--shadow);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
}

.logo {
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--primary-color);
    text-decoration: none;
}

.logo span {
    color: var(--secondary-color);
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 2rem;
}

.nav-menu a {
    color: var(--dark-color);
    text-decoration: none;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    transition: var(--transition);
}

.nav-menu a:hover {
    background-color: var(--light-color);
    color: var(--secondary-color);
}

/* Buton Stilleri */
.btn {
    display: inline-block;
    padding: 0.8rem 2rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    border: 2px solid transparent;
}

.btn-primary {
    background-color: var(--secondary-color);
    color: var(--white);
}

.btn-primary:hover {
    background-color: #2c5282;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(49, 130, 206, 0.3);
}

.btn-secondary {
    background-color: var(--accent-color);
    color: var(--white);
}

.btn-secondary:hover {
    background-color: #319795;
    transform: translateY(-2px);
}

.btn-outline {
    border: 2px solid var(--secondary-color);
    color: var(--secondary-color);
    background-color: transparent;
}

.btn-outline:hover {
    background-color: var(--secondary-color);
    color: var(--white);
}

.btn-large {
    padding: 1rem 3rem;
    font-size: 1.1rem;
}

/* Hero Section */
.hero {
    background: linear-gradient(135deg, rgba(26, 54, 93, 0.9) 0%, rgba(49, 130, 206, 0.9) 100%),
                url('../images/hero-bg.jpg') center/cover no-repeat;
}

.hero h1 {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

.hero-subtitle {
    font-size: 1.3rem;
    max-width: 800px;
    margin: 0 auto 2.5rem;
    opacity: 0.9;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Features Section */
.features {
    padding: 6rem 0;
    background-color: var(--light-color);
}

.section-title {
    text-align: center;
    font-size: 2.5rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.section-subtitle {
    text-align: center;
    color: var(--text-color);
    max-width: 800px;
    margin: 0 auto 3rem;
    font-size: 1.1rem;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.feature-card {
    background: var(--white);
    padding: 2rem;
    border-radius: 8px;
    text-align: center;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.feature-card h3 {
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

/* Services Section */
.services-preview {
    padding: 6rem 0;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.service-card {
    background: var(--white);
    padding: 2.5rem 2rem;
    border-radius: 8px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    border-top: 4px solid var(--secondary-color);
    text-align: center;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.service-icon {
    font-size: 3rem;
    margin-bottom: 1.5rem;
}

.service-card h3 {
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-size: 1.4rem;
}

.service-card p {
    margin-bottom: 1.5rem;
    color: var(--text-color);
    line-height: 1.6;
}

.service-link {
    color: var(--secondary-color);
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.service-link:hover {
    color: var(--primary-color);
}

/* Brands Section */
.brands-section {
    padding: 4rem 0;
    background-color: var(--light-color);
}

.brands-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.brand-logo {
    background: var(--white);
    padding: 1.5rem 3rem;
    border-radius: 8px;
    font-weight: bold;
    color: var(--primary-color);
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.brand-logo:hover {
    transform: scale(1.05);
}

/* CTA Section */
.cta-section {
    padding: 6rem 0;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    color: var(--white);
    text-align: center;
}

.cta-section h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.cta-section p {
    font-size: 1.2rem;
    max-width: 800px;
    margin: 0 auto 2.5rem;
    opacity: 0.9;
}

/* Footer */
footer {
    background-color: var(--dark-color);
    color: var(--white);
    padding: 4rem 0 2rem;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    margin-bottom: 3rem;
}

.footer-column h3 {
    color: var(--white);
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 0.8rem;
}

.footer-links a {
    color: #cbd5e0;
    text-decoration: none;
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--white);
    padding-left: 5px;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.social-links {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: var(--white);
    text-decoration: none;
    transition: var(--transition);
}

.social-links a:hover {
    background: var(--secondary-color);
    transform: translateY(-3px);
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #cbd5e0;
}

/* Responsive Tasarım */
    
    .hero h1 {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .brands-grid {
        gap: 1.5rem;
    }
    
    .brand-logo {
        padding: 1rem 2rem;
    }
}

.text-center {
    text-align: center;
}
.hero-slider{position:relative;height:85vh;overflow:hidden}
.hero-slider .slides{height:100%;position:relative}
.hero-slider .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease}
.hero-slider .slide.active{opacity:1;z-index:2}
.hero-slider .slide::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1}
.hero-slider .slide-content{position:relative;z-index:2;padding:120px 20px;color:#fff}
.hero-slider h1{font-size:48px;line-height:1.15;margin:0 0 16px}
.hero-slider p{font-size:18px;max-width:760px;margin:0 0 22px}

.slider-dots{position:absolute;left:0;right:0;bottom:22px;display:flex;gap:10px;justify-content:center;z-index:5}
.slider-dots .dot{width:10px;height:10px;border-radius:999px;border:0;opacity:.6;cursor:pointer}
.slider-dots .dot.active{opacity:1}

.page-hero{
  padding:90px 0;
  background:#0b1b2b;
  background-size:cover;
  background-position:center;
  position:relative;
}
.page-hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:44px;margin:0}

.page-content{padding:50px 0}
.content-box{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px}

/* Page Hero (iç sayfalar) */
.page-hero{
  padding:90px 0;
  background:#0b1b2b;
  background-size:cover;
  background-position:center;
  position:relative;
  color:#fff;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(26,54,93,.75) 0%, rgba(0,0,0,.55) 100%);
}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:44px;margin:0 0 10px}
.page-hero p{margin:0;opacity:.92;font-size:16px}

/* service-card anchor fix */
a.service-card{
  text-decoration:none;
  color:inherit;
  display:block;
}
a.service-card:hover{
  text-decoration:none;
}

@media (max-width: 900px) {
  .content-box[style*="grid-template-columns"]{
    display:block !important;
  }
}
.faq-list{display:grid;gap:12px}
.faq-item{border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;background:#fff}
.faq-item summary{cursor:pointer;font-weight:600;color:var(--primary-color);list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-answer{margin-top:10px;color:var(--text-color);line-height:1.75}
/* --- Brands Marquee --- */
.brand-marquee{
  overflow:hidden;
  position:relative;
  padding:18px 0 6px;
}
.brand-track{
  display:flex;
  gap:18px;
  width:max-content;
  animation: brandScroll 26s linear infinite;
}
.brand-item{
  min-width:170px;
  background: var(--white);
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:14px 16px;
  box-shadow: var(--shadow);
  text-align:center;
}
.brand-item img{
  height:44px;
  max-width:150px;
  object-fit:contain;
  display:block;
  margin:0 auto 10px;
}
.brand-name{
  font-weight:700;
  color: var(--primary-color);
  font-size:13px;
  letter-spacing:.2px;
  opacity:.9;
}
@keyframes brandScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.brand-marquee:hover .brand-track{ animation-play-state: paused; }

@media (max-width:768px){
  .brand-item{ min-width:150px; }
  .brand-track{ animation-duration: 20s; }
}

/* --- References (büyük görsel + alt isim) --- */
.references-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:18px;
}
.reference-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  overflow:hidden;
  box-shadow: var(--shadow);
  transition: var(--transition);
}
.reference-card:hover{
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0,0,0,.14);
}
.reference-img{
  width:100%;
  height:170px;
  background:#0b1b2b;
  overflow:hidden;
}
.reference-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.reference-body{
  padding:14px 16px 16px;
}
.reference-title{
  margin:0;
  font-size:16px;
  color: var(--primary-color);
}
.reference-desc{
  margin:8px 0 0;
  font-size:13px;
  color: var(--text-color);
  line-height:1.55;
}
/* --- Brands Marquee --- */
.brand-marquee{overflow:hidden;position:relative;padding:18px 0 6px}
.brand-track{display:flex;gap:18px;width:max-content;animation:brandScroll 26s linear infinite}
.brand-item{min-width:170px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);text-align:center}
.brand-item img{height:44px;max-width:150px;object-fit:contain;display:block;margin:0 auto 10px}
.brand-name{font-weight:700;color:var(--primary-color);font-size:13px;opacity:.9}
@keyframes brandScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.brand-marquee:hover .brand-track{animation-play-state:paused}

/* --- References Marquee (daha büyük görsel) --- */
.ref-marquee{overflow:hidden;position:relative;padding:18px 0 6px}
.ref-track{display:flex;gap:14px;width:max-content;animation:refScroll 28s linear infinite}
.ref-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:var(--shadow);min-width:260px}
.ref-item img{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid #e2e8f0;background:#0b1b2b}
.ref-name{font-weight:800;color:var(--primary-color);line-height:1.2}
@keyframes refScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ref-marquee:hover .ref-track{animation-play-state:paused}

@media (max-width:768px){
  .brand-item{min-width:150px}
  .brand-track{animation-duration:20s}
  .ref-item{min-width:220px}
  .ref-track{animation-duration:22s}
}
/* === Keşif / Form ortak stiller === */

.content-box{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:18px;
  box-shadow: 0 10px 25px rgba(0,0,0,.04);
}

.k-form{max-width:980px}
.k-form h2{margin:0 0 10px}
.k-form p{margin:0 0 14px;opacity:.85}

.k-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}

.k-span-2{grid-column:1 / -1}

.k-field label{
  display:block;
  margin:0 0 6px;
  font-weight:700;
}

.input{
  width:100%;
  display:block;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  outline:none;
  background:#fff;
  transition: box-shadow .15s ease, border-color .15s ease;
}

.input:focus{
  border-color: rgba(49,130,206,.55);
  box-shadow: 0 0 0 4px rgba(49,130,206,.12);
}

textarea.input{
  min-height:110px;
  resize:vertical;
  line-height:1.5;
}

select.input{
  appearance:none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(0,0,0,.55) 50%),
                    linear-gradient(135deg, rgba(0,0,0,.55) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(1em + 2px), calc(100% - 13px) calc(1em + 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:42px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:12px;
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  font-weight:700;
}

.btn-primary{
  background: var(--primary-color, #3182ce);
  color:#fff;
}

.btn-outline{
  background: transparent;
  border-color: rgba(0,0,0,.12);
  color: var(--text-color, #1f2937);
}

@media (max-width: 900px){
  .k-grid{grid-template-columns:1fr}
}

/* formun kesin toparlanması için */
.k-form .input{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:#fff;
}
.k-form .btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  cursor:pointer;
}
.k-form .btn.btn-primary{
  border-color:transparent;
}
/* HEADER LOGO */
.logo{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:900;letter-spacing:.2px}
.logo img{height:56px;max-width:240px;object-fit:contain;display:block}
@media (max-width: 768px){
  .logo{font-size:22px}
  .logo img{height:46px;max-width:200px}
}
/* Frontend mobile hamburger */
.nav-toggle{
  display:none;
  background:transparent;
  border:0;
  font-size:22px;
  cursor:pointer;
}

@media (max-width: 992px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}

  /* desktop menü yerine mobil dropdown */
  .main-nav{position:relative}

  .main-nav .nav-menu{
    display:none;
    position:absolute;
    top:55px; right:0;
    width:min(320px, 92vw);
    background:#fff;
    border-radius:14px;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
    padding:12px;
    z-index:2000;
    flex-direction:column;
    gap:6px;
  }

  .main-nav .nav-menu a{
    display:block;
    padding:10px 12px;
    border-radius:10px;
  }

  body.sb-nav-open .main-nav .nav-menu{display:flex}

  /* overlay */
  body.sb-nav-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:1500;
  }
  body.sb-nav-open .main-nav .nav-menu{z-index:2001;}
}
/* === FORCE mobile menu visible when open === */
@media (max-width: 992px){
  body.sb-nav-open .main-nav .nav-menu{
    display:flex !important;         /* kritik */
    flex-direction:column;
    gap:6px;
  }

  body.sb-nav-open .main-nav .nav-menu a{
    color:#111 !important;           /* soluk görünmesin */
    opacity:1 !important;
  }
}
@media (max-width: 992px){
  .main-nav .nav-menu{
    background:#fff !important;
    border:1px solid rgba(0,0,0,.08);
  }
}
/* =========================
   FRONTEND MOBILE MENU (FIX)
   ========================= */

/* Desktop: normal */
.nav-toggle{ display:none; }

/* Daralınca taşma olmasın */
@media (max-width: 1100px){
  .nav-menu{ gap:1rem; }
  .nav-menu a{ padding:.45rem .6rem; }
}

/* Mobile */
@media (max-width: 992px){

  /* hamburger görünür */
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    border:0;
    font-size:24px;
    cursor:pointer;
    padding:10px;
    border-radius:10px;
    color: var(--dark-color);
    z-index: 4001;
  }

  /* masaüstü menüyü kapat */
  .nav-container nav{ display:block; } /* nav dursun */

  /* Menü: fixed drawer */
  .main-nav .nav-menu{
    display:none;
    position:fixed;
    top:76px;               /* header yüksekliğine göre; gerekirse 70-90 oynarsın */
    right:14px;
    left:14px;
    max-width:420px;
    margin-left:auto;

    background:#fff;
    border:1px solid rgba(0,0,0,.10);
    border-radius:16px;
    box-shadow:0 18px 40px rgba(0,0,0,.18);
    padding:12px;

    flex-direction:column;
    gap:6px;

    z-index: 4002;          /* overlay’in üstü */
  }

  .main-nav .nav-menu li{ list-style:none; }
  .main-nav .nav-menu a{
    display:block;
    padding:12px 12px;
    border-radius:12px;
    color:#111;
    font-weight:600;
    text-decoration:none;
    background:transparent;
  }
  .main-nav .nav-menu a:hover{ background:rgba(0,0,0,.05); }

  /* Açıkken göster */
  body.sb-nav-open .main-nav .nav-menu{ display:flex; }

  /* Overlay: MENÜNÜN ALTINDA KALSIN */
  body.sb-nav-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index: 4000;          /* menü 4002 → tıklanabilir */
  }

  /* İstersen mobilde sağdaki "Ücretsiz Keşif" butonunu küçült */
  .nav-container > .btn.btn-primary{
    padding:.6rem .9rem;
    font-size:14px;
    white-space:nowrap;
  }
}
/* FIX: header stacking context -> menu clickable */
@media (max-width: 992px){

  header{
    z-index: 5000;       /* body overlay’den büyük */
    position: sticky;
    top: 0;
  }

  body.sb-nav-open::before{
    z-index: 4990;       /* header(5000) ve menu(5001) altında */
  }

  .main-nav .nav-menu{
    z-index: 5001;       /* en üstte */
    pointer-events: auto;
  }
}