/* =========================================================
   OSMANTEK MAKINA SANAYI VE TICARET A.S.
   Wilshire Build — Template T03 "Industrial Block"
   Palette derived from client logo.
   ========================================================= */

/* ---------- 1. TOKENS ---------- */
:root{
  /* brand — from logo */
  --primary-color:#f15a29;
  --primary-light:#f8845e;
  --secondary-color:#16191d;
  --secondary-light:#2b3138;
  --accent-color:#f7941e;
  --accent-dark:#d97b0c;

  /* neutrals */
  --ink:#16191d;
  --body:#4d545c;
  --muted:#858d96;
  --band:#f7f8f9;
  --line:#e2e5e8;
  --white:#ffffff;

  /* template tokens — T03 */
  --radius:0px;
  --btn-radius:0px;
  --shadow:none;
  --section-pad:78px;
  --container-max:1240px;
  --grid-gap:1rem;
  --h1-size:clamp(2.3rem,5.6vw,4rem);
  --h2-size:clamp(1.5rem,3vw,2rem);
  --body-lh:1.7;
  --card-pad:1.6rem;
  --display:'Oswald',sans-serif;
  --text:'Roboto',sans-serif;
}

/* ---------- 2. BASE ---------- */
*{box-sizing:border-box;}
html,body{overflow-x:hidden;max-width:100%;}
body{
  font-family:var(--text);
  font-size:.9rem;
  line-height:var(--body-lh);
  color:var(--body);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:var(--display);color:var(--ink);letter-spacing:.01em;}
a{text-decoration:none;transition:.25s;}
img{max-width:100%;height:auto;}
.container{max-width:var(--container-max);}
.section-padding{padding:var(--section-pad) 0;}
.bg-light-soft{background:var(--band);}

.section-tag{
  display:inline-block;
  font-family:var(--text);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--primary-color);
  margin-bottom:.65rem;
}
.section-title{
  font-size:var(--h2-size);
  font-weight:700;
  text-transform:uppercase;
  line-height:1.15;
  margin-bottom:1.1rem;
}
.section-head-line{
  width:56px;height:3px;background:var(--primary-color);
  margin:0 0 1.6rem;border:0;opacity:1;
}

/* ---------- 3. BUTTONS ---------- */
.btn-brand,.btn-brand-outline,.btn-brand-secondary{
  font-family:var(--text);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:14px 32px;
  border-radius:var(--btn-radius);
  border:2px solid transparent;
  transition:.25s;
  display:inline-block;
  line-height:1.2;
}
.btn-brand{background:var(--primary-color);border-color:var(--primary-color);color:#fff;}
.btn-brand:hover{background:var(--secondary-color);border-color:var(--secondary-color);color:#fff;}
.btn-brand-outline{background:transparent;border-color:#fff;color:#fff;}
.btn-brand-outline:hover{background:#fff;color:var(--ink);}
.btn-brand-secondary{background:var(--secondary-color);border-color:var(--secondary-color);color:#fff;border-radius:50px;padding:13px 30px;}
.btn-brand-secondary:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;}
.btn-lg{padding:16px 38px;font-size:.8rem;}

/* ---------- 4. TOP BAR ---------- */
.top-bar{
  background:var(--secondary-color);
  color:#a7aeb6;
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:9px 0;
}
.top-bar a{color:#a7aeb6;}
.top-bar a:hover{color:var(--accent-color);}
.top-bar i{color:var(--primary-color);margin-right:7px;}

/* ---------- 5. NAVBAR ---------- */
.main-navbar{
  background:#fff;
  padding:.55rem 0;
  border-bottom:1px solid var(--line);
  transition:.25s;
}
.main-navbar.scrolled{box-shadow:0 2px 14px rgba(0,0,0,.09);}
.main-navbar .navbar-brand img{height:48px;width:auto;display:block;}
.main-navbar .nav-link{
  font-family:var(--text);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--ink);
  padding:.55rem 1rem !important;
  border:2px solid transparent;
  border-radius:50px;
}
.main-navbar .nav-link:hover{color:var(--primary-color);}
.main-navbar .nav-link.active{
  color:var(--primary-color);
  border-color:var(--primary-color);
}
.main-navbar .btn-brand{
  background:var(--secondary-color);
  border-color:var(--secondary-color);
  border-radius:50px;
  padding:11px 24px;
  font-size:.72rem;
  text-transform:none;
  letter-spacing:.02em;
}
.main-navbar .btn-brand:hover{background:var(--primary-color);border-color:var(--primary-color);}
.navbar-toggler{border:2px solid var(--line);border-radius:0;padding:.35rem .55rem;}
.navbar-toggler:focus{box-shadow:none;}

.nav-products-row{display:flex;align-items:center;}
.mobile-cat-toggle{
  background:transparent;border:0;color:var(--ink);
  padding:.25rem .6rem;line-height:1;
}
.mobile-cat-toggle.open i{transform:rotate(180deg);}
.mobile-cat-toggle i{display:inline-block;transition:.25s;}
.main-navbar .dropdown-menu{
  border:1px solid var(--line);
  border-top:3px solid var(--primary-color);
  border-radius:0;
  padding:.4rem 0;
  margin-top:.4rem;
  box-shadow:0 12px 28px rgba(0,0,0,.10);
  min-width:250px;
}
.main-navbar .dropdown-item{
  font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);padding:.6rem 1.2rem;
}
.main-navbar .dropdown-item:hover{background:var(--band);color:var(--primary-color);}

/* ---------- 6. HERO SLIDER (T03: 80vh, C5 two-tone, A3 bottom-left, B3 circles) ---------- */
.hero-slider{position:relative;}
.hero-slide{
  min-height:80vh;
  background-size:cover;
  background-position:center;
  position:relative;
  display:flex;
  align-items:center;
}
.hero-slide::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,12,14,.82) 0%,rgba(10,12,14,.58) 45%,rgba(10,12,14,.35) 100%);
}
.hero-slide .container{position:relative;z-index:2;}
.hero-tag{
  display:inline-block;
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent-color);
  padding-left:44px;position:relative;margin-bottom:1.1rem; padding-top: 20px;
}
.hero-tag::before{
  content:"";position:absolute;left:0;top:50%;width:32px;height:2px;
  background:var(--accent-color);
}
.hero-slide h1{
  font-size:var(--h1-size);
  font-weight:700;
  text-transform:uppercase;
  line-height:1.05;
  color:#fff;
  max-width:15ch;
  margin-bottom:1.1rem;
}
.hero-slide h1 span{color:var(--primary-color);display:block;}
.hero-slide p{
  color:#d3d7db;
  font-size:.95rem;
  max-width:46ch;
  margin-bottom:1.9rem;
}
.hero-slide .hero-actions{padding-left:0;}
@media(min-width:992px){
  .hero-slide .hero-actions{padding-left:96px; padding-bottom: 20px;}
}

.hero-slider .carousel-indicators{
  justify-content:flex-start;
  margin:0;bottom:46px;right:auto;
  width:min(var(--container-max), 100%);
  padding:0 12px;
  left:50%;transform:translateX(-50%);
}
.hero-slider .carousel-indicators [data-bs-target]{
  width:11px;height:11px;border-radius:50%;
  background:rgba(255,255,255,.45);
  border:0;margin:0 8px 0 0;opacity:1;transition:.25s;
}
.hero-slider .carousel-indicators .active{background:var(--primary-color);width:32px;border-radius:20px;}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next{
  width:52px;height:52px;top:50%;transform:translateY(-50%);
  left:auto;right:28px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  opacity:1;transition:.25s;
}
.hero-slider .carousel-control-prev{top:calc(50% - 34px);}
.hero-slider .carousel-control-next{top:calc(50% + 34px);}
.hero-slider .carousel-control-prev:hover,
.hero-slider .carousel-control-next:hover{background:var(--primary-color);border-color:var(--primary-color);}
.hero-slider .carousel-control-prev-icon,
.hero-slider .carousel-control-next-icon{width:18px;height:18px;}

/* ---------- 7. PAGE HERO ---------- */
.page-hero{
  min-height:300px;
  background-size:cover;background-position:center;
  position:relative;display:flex;align-items:center;
}
.page-hero::before{content:"";position:absolute;inset:0;background:rgba(11,13,16,.65);}
.page-hero .container{position:relative;z-index:2;}
.page-hero h1{
  color:#fff;font-size:clamp(1.9rem,4vw,2.9rem);
  font-weight:700;text-transform:uppercase;line-height:1.1;margin-bottom:.6rem;
}
.breadcrumb-custom{
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b8bec5;
}
.breadcrumb-custom a{color:var(--accent-color);}
.breadcrumb-custom a:hover{color:#fff;}

/* ---------- 8. ABOUT ROW (F3: outlined frame + circular inset) ---------- */
.about-img-wrap{position:relative;padding:12px;border:2px solid var(--line);}
.about-img-wrap>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;}
.about-img-wrap .badge-float{
  position:absolute;right:-14px;bottom:-14px;
  width:132px;height:132px;border-radius:50%;
  background:var(--primary-color);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1.25;
  font-family:var(--text);font-size:.66rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:0 14px;
  border:5px solid #fff;
}
.about-img-wrap .badge-float .num{
  display:block;font-family:var(--display);font-size:1.5rem;letter-spacing:.02em;margin-bottom:2px;
}
.about-img-wrap .inset-img{
  position:absolute;right:-18px;bottom:-18px;
  width:150px;height:150px;border-radius:50%;object-fit:cover;
  border:6px solid #fff;
}

.check-list{list-style:none;padding:0;margin:0 0 1.6rem;}
.check-list li{position:relative;padding-left:30px;margin-bottom:.6rem;font-size:.88rem;}
.check-list li::before{
  content:"\F26E";font-family:"bootstrap-icons";
  position:absolute;left:0;top:0;color:var(--primary-color);font-size:1rem;
}

/* ---------- 9. FEATURE CARDS (J2 + E2) ---------- */
.feature-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:var(--card-pad);
  height:100%;
  transition:.25s;
}
.feature-card:hover{border-color:var(--primary-color);}
.feature-card .icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;flex:0 0 40px;
  background:var(--secondary-color);color:var(--primary-color);
  font-size:1.15rem;margin-right:.85rem;
}
.feature-card:hover .icon-wrap{background:var(--primary-color);color:#fff;}
.feature-card .card-head{display:flex;align-items:center;margin-bottom:.9rem;}
.feature-card h5{
  font-size:.92rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;margin:0;line-height:1.25;
}
.feature-card p{font-size:.85rem;margin:0;color:var(--body);}

/* ---------- 10. MISSION / VISION / VALUES ---------- */
.mv-card{
  background:var(--secondary-color);
  color:#c6ccd3;
  padding:2.2rem 2rem;
  height:100%;
  border-left:4px solid var(--primary-color);
}
.mv-card i{font-size:1.7rem;color:var(--accent-color);display:block;margin-bottom:1rem;}
.mv-card h4{color:#fff;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem;}
.mv-card p{font-size:.87rem;margin:0;}

.value-pill{
  background:#fff;border:1px solid var(--line);
  padding:1.7rem 1.4rem;height:100%;transition:.25s;
}
.value-pill:hover{border-color:var(--primary-color);}
.value-pill i{font-size:1.5rem;color:var(--primary-color);display:block;margin-bottom:.9rem;}
.value-pill h6{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;}
.value-pill p{font-size:.83rem;margin:0;}

/* ---------- 11. PRODUCT / ITEM CARDS ---------- */
.category-card-link{display:block;height:100%;}
.product-card,.item-card{
  background:#fff;border:1px solid var(--line);height:100%;transition:.25s;
}
.product-card:hover,.item-card:hover{border-color:var(--primary-color);}
.product-img,.item-img{overflow:hidden;}
.product-img img,.item-img img{
  width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:.5s;
}
.product-card:hover .product-img img,.item-card:hover .item-img img{transform:scale(1.06);}
.product-body,.item-body{padding:1.05rem 1.2rem;border-top:3px solid transparent;transition:.25s;}
.product-card:hover .product-body,.item-card:hover .item-body{border-top-color:var(--primary-color);}
.product-body h5,.item-body h5{
  font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  margin:0;color:var(--ink);line-height:1.35;
}
.category-card-link:hover .product-body h5{color:var(--primary-color);}

/* ---------- 12. CTA (H2: heading left / button right) ---------- */
.cta-section{
  background-size:cover;background-position:center;position:relative;
  padding:64px 0;
}
.cta-section::before{content:"";position:absolute;inset:0;background:rgba(11,13,16,.76);}
.cta-section .container{position:relative;z-index:2;}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-section h2{
  color:#fff;font-size:clamp(1.4rem,2.6vw,1.95rem);
  font-weight:700;text-transform:uppercase;line-height:1.15;margin:0 0 .5rem;max-width:22ch;
}
.cta-section p{color:#bcc2c9;font-size:.88rem;margin:0;max-width:52ch;}
.cta-section .btn-brand-secondary{background:#fff;border-color:#fff;color:var(--ink);white-space:nowrap;}
.cta-section .btn-brand-secondary:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;}

/* ---------- 13. CONTACT ---------- */
.contact-info-card{
  background:var(--secondary-color);color:#c6ccd3;padding:2.2rem 1.9rem;height:100%;
  border-top:4px solid var(--primary-color);
}
.contact-info-card h4{color:#fff;font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.6rem;}
.contact-info-item{display:flex;gap:.95rem;margin-bottom:1.5rem;}
.contact-info-item:last-child{margin-bottom:0;}
.ci-icon{
  flex:0 0 40px;width:40px;height:40px;
  background:rgba(241,90,41,.14);color:var(--primary-color);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;
}
.ci-text small{
  display:block;font-size:.66rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent-color);margin-bottom:.2rem;
}
.ci-text span,.ci-text a{color:#c6ccd3;font-size:.86rem;line-height:1.55;display:block;word-break:break-word;}
.ci-text a:hover{color:#fff;}

.contact-form-wrap{background:#fff;border:1px solid var(--line);padding:2.2rem 2rem;height:100%;}
.contact-form-wrap h4{font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;}
.contact-form-wrap .row{--bs-gutter-x:1rem;--bs-gutter-y:1rem;}
.form-control{
  border:1px solid var(--line);border-radius:0;
  padding:.7rem .9rem;font-size:.86rem;background:var(--band);
}
.form-control:focus{border-color:var(--primary-color);box-shadow:none;background:#fff;}
.form-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);}

/* ---------- 14. FOOTER ---------- */
.site-footer{background:#0c0e11;color:#9aa2ab;}
.footer-top{padding:64px 0 46px;}
.footer-brand,.footer-brand-text{margin-bottom:1.1rem;}
.footer-brand-text img{height:54px;width:auto;display:block;}
.site-footer p{font-size:.85rem;margin:0;max-width:46ch;}
.site-footer h5{
  color:#fff;font-size:.85rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;margin-bottom:1.3rem;padding-bottom:.7rem;position:relative;
}
.site-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--primary-color);}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer ul li{font-size:.85rem;margin-bottom:.7rem;display:flex;align-items:flex-start;line-height:1.6;}
.site-footer ul li i{color:var(--primary-color);margin-top:.22rem;flex:0 0 auto;}
.site-footer ul li a{color:#9aa2ab;}
.site-footer ul li a:hover{color:var(--accent-color);}
.footer-links li a{position:relative;padding-left:16px;}
.footer-links li a::before{
  content:"\F285";font-family:"bootstrap-icons";
  position:absolute;left:0;top:0;font-size:.7rem;color:var(--primary-color);
}
.footer-social{display:none;}
.footer-bottom{
  background:var(--primary-color);color:#fff;
  padding:15px 0;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
}

/* ---------- 15. BACK TO TOP ---------- */
.back-to-top{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:44px;height:44px;background:var(--primary-color);color:#fff;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s;
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--secondary-color);color:#fff;}

/* ---------- 16. RESPONSIVE ---------- */
@media(max-width:991.98px){
  :root{--section-pad:56px;}
  .top-bar{display:none;}
  .main-navbar .navbar-collapse{flex-basis:100%;}
  .main-navbar .navbar-nav{padding:.7rem 0 .4rem;}
  .main-navbar .nav-link{padding:.6rem .25rem !important;border:0;}
  .main-navbar .nav-link.active{border:0;}
  .main-navbar .btn-brand{display:inline-block;margin-top:.4rem;}
  .nav-products-row{justify-content:space-between;width:100%;}
  .main-navbar .dropdown-menu{border:0;border-left:2px solid var(--primary-color);box-shadow:none;margin-left:.25rem;}
  .hero-slide{min-height:74vh;}
  .hero-slide::before{background:rgba(10,12,14,.68);}
  .hero-slider .carousel-control-prev,
  .hero-slider .carousel-control-next{display:none;}
  .hero-slider .carousel-indicators{bottom:26px;}
  .about-img-wrap{padding:0;border:0;margin-bottom:1.4rem;}
  .about-img-wrap .inset-img{display:none;}
  .about-img-wrap .badge-float{right:12px;bottom:-16px;width:112px;height:112px;}
  .cta-row{flex-direction:column;align-items:flex-start;}
}
@media(max-width:575.98px){
  .hero-slide{min-height:640px;}
  .hero-slide .btn{margin-bottom:.6rem;}
  .contact-form-wrap,.contact-info-card{padding:1.6rem 1.3rem;}
  .about-img-wrap .badge-float{display:none;}
}
