/* ===== Base / Navbar ===== */
.navbar{
  height:70px; overflow:visible; position:fixed; top:0; left:0; width:100%;
  z-index:9999; display:flex; font-size:.8rem; justify-content:space-between; align-items:center;
  padding:1rem 2rem; background:linear-gradient(to left,#0b44ff,#0b44ff,#ffffff); color:#fff;
  font-family:'Segoe UI',sans-serif; box-shadow:0 4px 10px rgba(0,0,0,.1);
}
.carousel-caption{
  background:rgba(0,0,0,.356); padding:20px; width:100%; left:0; right:0; bottom:0;
  border-radius:0; backdrop-filter:blur(2px);
}
.cookie-bar{
  position:fixed; bottom:0; left:0; width:100%; background:rgba(0,0,0,.8); color:#fff;
  padding:10px 20px; z-index:9999; text-align:center; font-size:14px;
}
.brand-text{ font-family:'Segoe UI','Roboto',sans-serif; font-weight:600; font-size:1.1rem; color:whitesmoke; letter-spacing:.5px; text-transform:uppercase; padding-left:10px; }
.navbar-brand img{ max-height:100px; position:absolute; top:-15px; pointer-events:none; }

/* Cards (default) */
.card-img-top{ height:200px; object-fit:cover; width:100%; }
.card{ height:100%; }
.logo{ font-size:1.4rem; font-weight:bold; letter-spacing:px; }

/* Search */
.search-form{ display:flex; align-items:center; background:transparent; border:none; }
.search-input{
  background:transparent; border:none; color:#fff; font-size:.8rem; padding:4px 8px; border-radius:6px;
  width:100px; height:30px; outline:none; box-shadow:none; line-height:1.2;
}
.search-input::placeholder{ color:#fff; font-size:.8rem; line-height:1.2; }
.search-input:focus{
  background:rgba(255,255,255,.623); border:none; outline:none; box-shadow:none; width:100; height:20px;
  padding:4px 8px; font-size:.8rem; line-height:1.2;
}
.search-btn{ background:none; border:none; transform:translateX(-127px); padding-left:0; position:relative; top:-3px; }
.search-btn img{ height:18px; filter:invert(1); transition:transform .3s; }
.search-btn:hover img{ transform:scale(1.6); }

form button{ font-size:.8rem; padding:6px 12px; }

/* Header menu */
.nav-links{ display:flex; gap:1.5rem; list-style:none; margin:0; padding:0; }
.nav-item{ position:relative; display:flex; }
.nav-link{
  flex:1; color:#fff; text-decoration:none; font-weight:500; padding:12px 20px; display:flex; align-items:center; justify-content:center;
  transition:background-color .3s, color .3s;
}
.nav-item:hover>.nav-link{ background-color:rgba(255,255,255,.1); }
.nav-link::after{
  content:''; display:block; width:0%; height:2px; background:#fff; transition:width .3s; position:absolute; bottom:8px; left:20px;
}
.nav-link:hover::after{ width:60%; }

/* Dropdown */
.dropdown-menu{
  display:none; position:absolute; opacity:0; pointer-events:auto; transition:opacity .2s ease-in-out; top:100%; left:0;
  background-color:rgba(136,136,136,.5); box-shadow:0 4px 8px rgba(0,0,0,.1); min-width:200px; z-index:1000; border-radius:4px; padding:0; margin-top:8px;
}
.dropdown-menu li{ border-bottom:1px solid #ffffff07; }
.dropdown-menu a{ display:block; font-size:12px; color:#fff; padding:8px 10px; text-decoration:none; transition:background 2s; }
.dropdown-menu a:hover{ background-color:#071ff1; }
.nav-item:hover .dropdown-menu, .nav-item .dropdown-menu:hover{ display:block; opacity:1; }

/* Modal */
.custom-modal{ display:none; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; backdrop-filter:blur(3px); background:rgba(0,0,0,.158); align-items:center; justify-content:center; }
.modal-content{
  background:rgba(0,0,0,.356); color:#fff; padding:30px; border-radius:20px; max-width:500px; max-height:90vh; overflow-y:auto; width:90%;
  box-shadow:0 0 20px rgba(0,0,0,.774); animation:fadeIn .3s ease-out; position:relative;
}
.modal-content img{ border-radius:10px; max-height:250px; object-fit:cover; }
.close-btn{ position:absolute; top:15px; right:25px; color:#fff; font-size:2rem; cursor:pointer; }
@keyframes fadeIn{ from{opacity:0; transform:scale(.95);} to{opacity:1; transform:scale(1);} }
.modal-img{ height:auto; width:48%; object-fit:contain; border-radius:8px; }
#modal-description{ text-align:justify; }

/* Sections */
.vision-section{ background:#ffffffbe; position:relative; overflow:hidden; }
.vision-section2{ background:linear-gradient(to left,#0b44ff,#0b44ff,#ffffff); position:relative; overflow:hidden; color:#fff; }
.vision-section3{ background:#fff; position:relative; overflow:hidden; }
.custom-divider{ line-height:0; position:relative; margin-bottom:-5px; background:#0b44ff; }

/* References logos fixed height */
.client-logos img{ height:30px !important; width:auto; max-width:100%; display:inline-block; }

/* Industry icons */
.industry-icon{ font-size:2.5rem; color:#fff; transition:transform .3s ease, color .3s ease; }
.industry-icon:hover{ transform:scale(1.3); color:#fff; }

/* ===== Global overflow fix ===== */
*{ box-sizing:border-box; }
html,body{ width:100%; max-width:100%; overflow-x:hidden; }
.carousel,.carousel-inner,.carousel-item{ overflow:hidden; }
.hero img,.card-img-top{ max-width:100%; height:auto; display:block; }
.navbar-brand img{ max-width:100%; height:auto; left:0; right:0; }

/* ===== Our Applications — Slider ===== */
#our-applications{ padding-top:2rem; padding-bottom:1rem; }
#our-applications .app-track{
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:6px 56px; /* arrow iç boşluğu */
}

/* yatay barı tamamen gizle */
#our-applications .app-track{
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* eski Edge/IE */
}
#our-applications .app-track::-webkit-scrollbar{ display: none; } /* Chrome/Safari/Edge */


#our-applications .app-card{
  flex:0 0 clamp(260px, 28vw, 360px);
  scroll-snap-align:start; border-radius:10px; height:auto; margin-bottom:.5rem;
}
#our-applications .card-img-top{ height:180px; object-fit:cover; }
#our-applications .card-body{ padding:.85rem 1rem; }
#our-applications .card-title{ margin-bottom:.35rem; }
#our-applications .card-text{ font-size:.95rem; line-height:1.35; }

/* Slider arrows */
#our-applications .app-nav{
  position:absolute; top:calc(50% + 10px); transform:translateY(-50%);
  width:40px; height:40px; border-radius:999px; border:none; background:#ffffffaa; backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.15); z-index:2;
}
#our-applications .app-prev{ left:24px; }
#our-applications .app-next{ right:24px; }
#our-applications .app-nav span{ font-size:28px; line-height:1; }
#our-applications .app-nav:hover{ background:#fff; }

/* ==== COMPANY hero (video background) ==== */
.company-hero{
  position: relative;
  min-height: 1000px;
  padding-top: 90px;      /* fixed navbar boşluğu */
  overflow: hidden;
}
.company-hero .hero-media{
  position:absolute; inset:0; z-index:0;
}
.company-hero .hero-media video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;        /* full fit */
  filter:saturate(105%);
}
.company-hero .hero-overlay{
  position:absolute; inset:0; z-index:1;
  /* şeffaf koyu katman – transparanlık ayarı: */
  background: linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,.35));
}
.company-hero .hero-content{
  position:relative; z-index:2;
  padding:100px 0 30px;
  color:#b12a2a;
}

.brand-accent { color:#0b44ff; font-weight:700; }

.prose-justify p, .prose-justify li { text-align: justify; text-justify: inter-word; }
.prose-justify { hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }

.value-card{
  background:#f8f9fa; border:1px solid rgba(0,0,0,.06);
  border-radius:14px; padding:14px; text-align:center; height:100%;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}
.value-card .value-media{
  width:100%; height:120px; object-fit:cover; border-radius:10px; margin-bottom:10px;
  background:#e9ecef;
}
.value-card h6{ margin:.35rem 0 .2rem; font-weight:700; }
.value-card p{ font-size:.9rem; color:#6c757d; margin:0; }

/* Contact hero (index/company ile uyumlu) */
.sub-hero.contact-hero{
  min-height: 300px;
  padding-top: 90px;
  position: relative;
  background:
    url('../images/contact_hero.jpg') center/cover no-repeat,
    linear-gradient(#0b44ff,#0b44ff);
}
.sub-hero.contact-hero::after{
  content:""; position:absolute; inset:0; background:rgba(0,0,0,.35);
}
.sub-hero.contact-hero .container{ position:relative; z-index:1; padding:40px 0 30px; }

/* Footer */
.site-footer{ background: linear-gradient(90deg,#0b44ff,#0831c9); color:#fff; }
.site-footer a{ color:#fff; text-decoration:none; }
.site-footer a:hover{ text-decoration:underline; }
.border-white-10{ border-color: rgba(255,255,255,.1)!important; }

/* === One-screen layout === */
html, body { height: 100%; }
.contact-onepage { overflow: hidden; }           /* sayfayı tek ekrana kilitle */

/* Transparent nav & footer */
.nav-ghost{ background: transparent !important; box-shadow: none !important; }
.footer-ghost{
  background: transparent; color:#fff;
}
.footer-ghost a{ color:#fff; text-decoration:none; }
.footer-ghost a:hover{ text-decoration:underline; }

/* Fullscreen contact section */
.contact-fullscreen{
  position: relative;
  height: 100vh;                                 /* tek ekran */
  width: 100%;
}

/* Background media */
.contact-fullscreen .bg-media{ position:absolute; inset:0; z-index:0; }
.contact-fullscreen .bg-video,
.contact-fullscreen .bg-gif{
  width:100%; height:100%; object-fit:cover; display:block;
}
/* mp4 varsa gif'i gizle */
.contact-fullscreen .bg-video + .bg-gif{ display:none; }

/* Koyu şeffaf tint (okunurluk) */
.contact-fullscreen .bg-tint{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.45));
}

/* Başlık */
.contact-fullscreen .hero-text{
  position:absolute; left:0; right:0; top:92px;  /* nav altında */
  z-index:2; padding:0 16px;
}

/* Glass container (form+info) */
.glass-wrap{
  position:absolute; left:0; right:0; bottom:80px;  /* footer üstünde */
  z-index:2; padding:0 16px;
}
@media (max-height: 720px){
  .glass-wrap{ bottom:70px; }
  .contact-fullscreen .hero-text{ top:84px; }
}

.glass-card{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 18px;
  color:#fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}

/* Form alanları; cam üstünde okunur olsun */
.glass-card .form-control,
.glass-card .form-select,
.glass-card textarea{
  background: rgba(255,255,255,0.92);
  color:#111;
  border: 1px solid rgba(255,255,255,0.75);
}
.text-white-75{ color: rgba(255,255,255,.82) !important; }

/* Reusable glass footer (bottom bar) */
.glass-footer{
  background: rgba(15, 20, 40, 0.28);
  border-top: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color:#fff;
  z-index: 1030;
}
.glass-footer a{ color:#fff; text-decoration:none; }
.glass-footer a:hover{ text-decoration:underline; }

/* İçerik footer'ın altında kalmasın diye alt boşluk */
body.has-bottom-glass{ padding-bottom: 56px; }

/* Küçük ekranlarda sabit kalmasını istemezsen:
@media (max-width: 992px){
  .glass-footer{ position: static !important; }
  body.has-bottom-glass{ padding-bottom: 0; }
}
*/

/* Eğer index’te fixed cam footer (glass-footer) kullanıyorsan */
body.has-bottom-glass{
  padding-bottom: 0 !important;          /* beyaz boşluğu kaldır */
}

/* "Industries We Serve" bölümünün ID'si #industries ise: */
#industries{
  margin-bottom: 0 !important;           /* bölüme ait alt marjı sıfırla */
  padding-bottom: 64px;                  /* footer yüksekliği (56px) + nefes payı */
}

/* eğer bölüm id yoksa, index’teki o section’a bir class/ID ver:
   <section id="industries" ...> gibi.
*/

/* Contact: gömülü harita görünümü */
.map-embed .ratio{
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  /* Haritayı küçült (genişliği sınırla, yükseklik oranla küçülür) */
  .map-embed.map-sm{ max-width: 420px; }        /* 360–480px arası deneyebilirsin */
  .map-embed.map-sm .ratio{ --bs-aspect-ratio: 75%; } /* 4:3; istersen 56% (=16:9) */

}

/* Cam kartla uyumlu boşluk */
.glass-card .map-embed{ margin-top: .75rem; }

/* Mobilde daha yatay oran istersen 16:9’a çekebilirsin
@media (max-width: 576px){
  .map-embed .ratio{ aspect-ratio: 16/9; } 
}
*/

/* ==== LOGO POZİSYON AYARI (override) ==== */
:root{
  --logo-x: -5px;   /* sağa kaydırma miktarı */
  --logo-y: -2px;    /* aşağı kaydırma miktarı */
  --logo-h: 56px;   /* logo yüksekliği */
}

.navbar-brand{ position: relative; z-index: 2; }

.navbar-brand img{
  position: relative !important;   /* absolute/top bırakma */
  top: auto !important;
  left: auto !important;
  height: var(--logo-h) !important;
  width: auto !important;
  transform: translate(var(--logo-x), var(--logo-y));  /* sağa & aşağı */
  pointer-events: auto;    /* tıklanabilir kalsın */
}

/* İstersen mobilde biraz küçült */
@media (max-width: 992px){
  :root{ --logo-h: 44px; --logo-x: 8px; --logo-y: 4px; }
}

/* Sol form kartı kısa kalsın */
#contact-form-card{ height:auto; }

/* Mesaj kutusunu kısalt */
#contact-form-card textarea.form-control{
  min-height: 140px;   /* 120–160 arası deneyebilirsin */
}

/* Butonun üst-alt marjını sıkı tut */
#contact-form-card .btn{ margin-top:.25rem; margin-bottom:0; }

/* Sağ kartı eşit yüksekliğe zorlamayı bırak ve yüksekliğini kısalt */
.glass-wrap .col-lg-5 .glass-card{
  height: auto !important;
  padding-bottom: 12px;      /* alt nefes payı */
}

/* Haritanın oranını küçült → 4:3 (=75%) yerine 16:9 (=56%) */
.glass-wrap .col-lg-5 .map-embed .ratio{
  --bs-aspect-ratio: 56% !important;    /* daha küçük için 50% / 48% deneyebilirsin */
}

/* Büyük ekranlarda biraz daha ince istiyorsan */
@media (min-width: 1400px){
  .glass-wrap .col-lg-5 .map-embed .ratio{
    --bs-aspect-ratio: 50% !important;
  }
}

/* === CONTACT: iki kartı eşit yükseklikte hizala === */

/* Satırdaki kartları eşit yükseklikte esnet */
.glass-wrap .row{
  align-items: stretch !important;
}

/* Her iki kart da en yüksek karta eşitlensin */
#contact-form-card,
.glass-wrap .col-lg-5 .glass-card{
  height: 100% !important;
  display: flex;
  flex-direction: column;
}

/* Sağ kart içeriği üstte kalsın, harita altta dursun */
.glass-wrap .col-lg-5 .map-embed{
  margin-top: auto;        /* içerik üstte, harita en alta */
}

/* Haritanın yüksekliğini biraz büyüt (eşitlik için dengeleme) */
.glass-wrap .col-lg-5 .map-embed .ratio{
  --bs-aspect-ratio: 62% !important;   /* 58–66% arası deneyebilirsin */
}

/* Sol formdaki mesaj kutusu çok uzun olduysa biraz kısaltmak için (opsiyonel) */
#contact-form-card textarea.form-control{
  min-height: 160px;    /* 150–180px arası oyun alanı */
}

#form-error-summary{ min-height: 1.25rem; } /* yer oynamasın */
