/* Performance: disable preloader */
.preloader{display:none !important;}


/* 3D Mimarlık - minimal modern overrides (keeps original theme intact) */
:root{
  --brand-dark:#111111;
  --brand-mid:#2a2a2a;
  --brand-light:#f5f5f5;
  --brand-accent:#c7c7c7;
}
body{ color: var(--brand-mid); }
h1,h2,h3,h4,h5{ letter-spacing: .2px; }
.section-jumbotron{ background-position:center; }
.button-default, .button-primary { border-radius: 999px; }
.project-grid .inner{
  background: rgba(17,17,17,.55);
  backdrop-filter: blur(2px);
}
.badge-soft{
  display:inline-block;
  padding:.35rem .65rem;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  font-size:.85rem;
  line-height:1;
  background: rgba(255,255,255,.7);
  margin: .2rem .2rem 0 0;
}
.hero-kicker{ letter-spacing:.12em; text-transform:uppercase; font-size:.9rem; opacity:.9; }


/* Premium hero overlay */
.section-jumbotron{ position: relative; overflow: hidden; }
.section-jumbotron::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.45) 40%, rgba(0,0,0,.25) 100%);
  pointer-events:none;
}
.section-jumbotron > *{ position: relative; z-index:1; }

/* CTA buttons spacing */
.hero-cta{ margin-top: 22px; }

/* Filter controls */
.filter-controls .button{ margin: .25rem .35rem; }
.filter-controls .button.is-active{
  background: var(--brand-dark);
  color: #fff;
  border-color: var(--brand-dark);
}

/* Coming-soon cards */
.coming-soon{
  border:1px dashed rgba(0,0,0,.18);
  border-radius: 18px;
  padding: 28px;
  background: rgba(255,255,255,.6);
}
.coming-soon .title{ margin-bottom: 8px; }


/* Map placeholder (contact page) */
.map-placeholder{
  border:1px solid rgba(0,0,0,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.65);
  min-height: 320px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 22px;
}
.map-placeholder-inner{
  max-width: 360px;
}


/* Portfolio cards - hover + readability */
.project-grid{
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  transform: translateY(0);
  transition: transform .22s ease, box-shadow .22s ease;
  background-size: cover;
  background-position: center;
}
.project-grid::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.68) 100%);
  pointer-events:none;
}
.project-grid .inner{
  position: relative;
  z-index: 1;
  padding: 22px 22px 20px;
}
.project-grid:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
.project-grid .title{ margin-bottom: 10px; }
.project-grid .exeption{ opacity: .95; }

/* Timeline (Kurumsal) */
.timeline{
  position: relative;
  margin-top: 18px;
  padding-left: 18px;
  border-left: 2px solid rgba(0,0,0,.12);
}
.timeline-item{
  position: relative;
  padding: 14px 0 14px 18px;
}
.timeline-item::before{
  content:"";
  position:absolute;
  left:-9px;
  top: 22px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--brand-dark);
  box-shadow: 0 0 0 4px rgba(17,17,17,.10);
}
.timeline-year{
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .85rem;
  opacity: .85;
}
.why-us{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  padding: 22px;
  background: rgba(255,255,255,.65);
}


/* Project modal (Stage 6) */

.modal-lock { overflow: hidden; }

.project-grid { cursor: pointer; }
.project-grid .project-detail-btn { cursor: pointer; }

.project-modal { position: fixed; inset: 0; z-index: 9999; display: none; }
.project-modal.is-open { display: block; }
.project-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.project-modal__dialog {
  position: relative;
  width: min(980px, calc(100% - 32px));
  margin: 48px auto;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.project-modal__close{
  position: absolute;
  top: 10px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: 0;
  background: rgba(0,0,0,.55);
  color: #fff;
  border-radius: 999px;
  font-size: 22px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  z-index: 2;
}
.project-modal__media{
  height: 280px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.project-modal__content{ padding: 22px 22px 26px; }
.project-modal__title{ margin-bottom: 10px; }
.project-modal__meta{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 14px; }
.project-modal__desc{ color: #444; margin-bottom: 18px; }
.project-modal__actions{ display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width: 575px){
  .project-modal__dialog{ margin: 18px auto; }
  .project-modal__media{ height: 220px; }
}


/* Kurumsal timeline + CTA (Stage 6) */

.timeline-3d{ border-left: 2px solid rgba(0,0,0,.12); padding-left: 18px; }
.timeline-3d__item{ position: relative; padding: 14px 0 14px 0; }
.timeline-3d__item:before{
  content:'';
  position:absolute;
  left:-27px;
  top: 22px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background:#111;
  box-shadow: 0 0 0 5px rgba(0,0,0,.08);
}
.timeline-3d__year{ font-weight: 700; letter-spacing: .5px; }
.timeline-3d__body h5{ margin: 6px 0 4px; }
.timeline-3d__body p{ margin: 0; color:#555; }

.cta-strip{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: #fff;
}
.cta-strip__actions{ display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width: 767px){
  .cta-strip{ flex-direction: column; align-items: flex-start; }
}

/* --- Stage 7: Search + Detail page + Polish --- */
.project-search{max-width:360px;margin-left:auto;margin-bottom:10px;}
.project-search .form-input{height:42px;padding:10px 14px;border-radius:10px;}
@media (max-width: 991px){.project-search{max-width:100%;margin-left:0;}}

.project-detail-hero{width:100%;min-height:360px;border-radius:18px;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 18px 50px rgba(0,0,0,.12);}
@media (max-width: 767px){.project-detail-hero{min-height:240px;}}

/* Softer typography + spacing tweaks */
.section-md{padding-top:80px;padding-bottom:80px;}
@media (max-width: 767px){.section-md{padding-top:56px;padding-bottom:56px;}}

.project-grid .title{letter-spacing:.2px;line-height:1.25;}
.project-grid .exeption{opacity:.92;}

/* Make primary buttons a bit more "architect" */
.button-primary{border-radius:999px;}
.button-default{border-radius:999px;}

/* Modal action buttons spacing on mobile */
.project-modal__actions .button{margin-right:10px;margin-bottom:10px;}
@media (max-width: 575px){.project-modal__actions{display:flex;flex-wrap:wrap;}}


/* Contact form validation */
.form-error-custom{margin-top:6px;font-size:12px;line-height:1.3;color:#b00020;}


/* Share actions */
.share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.share-actions .button{min-width:160px;}
@media (max-width:575px){.share-actions .button{width:100%;}}


/* Featured mini cards */
.project-card-mini{background:#fff;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.06);padding:18px;height:100%;}
.project-card-mini__media{height:160px;border-radius:14px;background-size:cover;background-position:center;margin-bottom:14px;border:1px solid rgba(0,0,0,.06);}
.project-card-mini__title{font-weight:600;line-height:1.25;min-height:48px;}
.project-card-mini__meta{opacity:.8;margin-bottom:14px;}
.stat-box{background:#fff;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.06);padding:16px;}
.stat-box__num{font-weight:700;font-size:20px;line-height:1;}
.stat-box__label{opacity:.8;margin-top:6px;font-size:13px;}



/* Related projects & cards */
.project-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:transform .2s ease, box-shadow .2s ease;
  height:100%;
}
.project-card:hover{ transform:translateY(-4px); box-shadow:0 14px 40px rgba(0,0,0,.12); }
.project-card__media{
  display:block;
  width:100%;
  padding-top:56%;
  background-size:cover;
  background-position:center;
}
.project-card__body{ padding:18px 18px 20px; }
.project-card__title{ margin:0; line-height:1.25; }
.project-card__meta{ opacity:.8; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.project-card__meta .dot{ opacity:.6; }
.project-card__actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* Project list share buttons */
.project-actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* Ensure top navbar visible above hero */
.page-header { z-index: 1000; }
.rd-navbar { background: rgba(21,21,21,.6); backdrop-filter: blur(6px); }
.rd-navbar .rd-navbar-nav > li > a { color: #fff; }
.rd-navbar .rd-navbar-nav > .active > a { color: #caa45a; }
.section-jumbotron { padding-top: 90px; } /* prevent overlap on home */
@media (min-width: 992px){
  .section-jumbotron { padding-top: 110px; }
}

/* Fix: header overlap on pages with absolute header */
.page-header.header-absolute + .section{ padding-top: 130px; }
@media (max-width: 991px){
  .page-header.header-absolute + .section{ padding-top: 110px; }
}

/* Navbar readability over content */
.rd-navbar.rd-navbar-aside{ z-index: 10000; }
.rd-navbar.rd-navbar-aside .rd-navbar-main-outer{ background: rgba(182,150,87,.92); backdrop-filter: blur(6px); }

/* Lazy images inside project cards */
.project-grid{ background-image: none !important; }
.project-grid__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.01);
  z-index:0;
}
.project-grid::before{ z-index:1; }
.project-grid .inner{ z-index:2; }

/* Modal action buttons: unified (no solid background) */
.project-modal__actions .button{
  border-radius: 999px;
}
.project-modal__actions .button.button-primary{
  background: transparent;
  color: #111;
  border: 1px solid rgba(0,0,0,.18);
}
.project-modal__actions .button.button-primary:hover{
  background: rgba(0,0,0,.05);
}

/* Fix: header overlap on pages with absolute header */
.page-header.header-absolute + .section{
  padding-top: 120px;
}
@media (max-width: 991px){
  .page-header.header-absolute + .section{ padding-top: 92px; }
}

/* Fix: modal action buttons unified (no filled background) */
.project-modal__actions .button{
  background: transparent !important;
}

/* Performance: neutralize wow/animation overhead */
.wow{ visibility: visible !important; }
.animated{ animation: none !important; }

/* Footer: pre-footer + footer birleşik görünüm */
.footer-3d{ background:#2f2f2f; }
.footer-3d .section-md{ padding-top:60px; padding-bottom:40px; }
.footer-3d .rights{ opacity:.85; }

/* Home featured section: reduce extra white space */
#featured-projects{ padding-bottom:70px; }
