/* Jonathan's Studio — Minimal stylesheet (Bootstrap 3 friendly) */

/* ===== Fonts ===== */
@font-face{
  font-family: "BebasNeue Regular";
  src: url(../source/fonts/BebasNeue-Regular.otf) format("truetype");
}

/* ===== Layout container ===== */
.allcontain{
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1; /* always above background overlay */
}

/* ===============================
   Global Dark Background + Faint Lens
   =============================== */
body{
  margin: 0;
  color: #f5f5f5;
  background-color: #000;
  background-image: url("../assets/background.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
}
/* Force readable text on dark background */
p, li, label, small,
h1, h2, h3, h4, h5, h6,
.latestcars, .latestcars h2 {
  color: #fff !important;
}

.text-center { color: #fff; } /* your template uses this a lot */
/* Dark overlay to keep text readable */
body::before{
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.42); /* was 0.68; this reveals the image */
  pointer-events: none;
  z-index: 0;
}

/* Links */
/* Global links — readable on dark background */
a{
  color: #4da3ff;          /* classic readable blue */
  text-decoration: underline;
}

a:visited{
  color: #9b7dff;          /* classic purple */
}

a:hover,
a:focus{
  color: #79b7ff;
  text-decoration: underline;
}


/* ===============================
   Optional Hero Section (use if you wrap top content in .hero)
   =============================== */
.hero{
  padding: 3rem 0; /* reduced from 6rem so it doesn't push everything down */
}

/* ===== Navbar ===== */
.topnavbar.navbar-default{
  background: transparent;
  border: 0;
}

/* Make the collapse toggle visible on black */
.navbar-default .navbar-toggle{
  border-color: rgba(255,255,255,.35);
}
.navbar-default .navbar-toggle .icon-bar{
  background-color: #fff;
}

#navbarontop{
  padding-top: 12px;
}

#navbarontop > li > a{
  font-family: "BebasNeue Regular";
  font-size: 17px;
  color: #f5f5f5;
  padding: 6px 10px;
  margin: 0 18px;
  border-bottom: 2px solid transparent;
}

#navbarontop > li > a:hover,
#navbarontop > li > a:focus{
  background: none !important;
  border-bottom-color: #C59E47;
  outline: none;
}

/* Center navbar items */
.navbar-nav {
  float: none !important;
  display: inline-block;
}

.navbar-collapse {
  text-align: center;
}

/* Mobile collapse spacing */
@media (max-width: 767px){
  #navbarontop{ padding-top: 18px; }
  #navbarontop > li > a{
    margin: 0;
    padding: 10px 18px;
  }
}

/* ===== Top intro / hero area (logo left, paragraph right) ===== */
.js-hero{ margin-top: 10px; }

.js-present{
  text-align: left;
  margin: 0 0 12px;
  font-size: 14px;
  opacity: .85;
}

.js-logo{
  max-width: 460px; /* slightly bigger */
  width: 100%;
  height: auto;
}

.js-intro{
  text-align: right;
  max-width: 650px;
  margin-left: auto;
  margin-top: 10px;
  line-height: 1.65;
}

/* ===== Section headings ===== */
.latestcars h2{
  margin-top: 60px;
  margin-bottom: 30px;
  letter-spacing: .35em;
  color: #fff;
}

/* ===== Gallery grid tiles ===== */
.grid .txthover{
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111; /* darker placeholder for dark theme */
}

.grid .txthover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hover overlay */
.txtcontent{
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.72);
  opacity: 0;
  transition: opacity 250ms;
}

.txthover:hover .txtcontent{ opacity: 1; }

.stars{
  font-size: 10px;
  padding: 18px 0 10px;
  text-align: center;
  border-bottom: 2px solid rgba(246,246,251,.65);
  margin: 0 48px;
  color: #f6f6fb;
}

.simpletxt{
  text-align: center;
  border-top: 1px solid rgba(246,246,251,.65);
  border-bottom: 1px solid rgba(246,246,251,.65);
  margin: 8px 48px 0;
  padding: 18px 0;
  color: #f6f6fb;
}

.simpletxt .name{
  color: #f6f6fb;
  margin: 0;
}

/* Disabled preview buttons */
.btn.disabled[aria-disabled="true"],
.btn.disabled{
  pointer-events: none;
  opacity: .55;
}

/* ===== Equipment article box (dark-friendly) ===== */
article{
  border: 1px solid rgba(255,255,255,.18);
  padding: 20px;
  background: rgba(0,0,0,0.28) !important; /* more transparent */
  color: #fff !important;
  border-radius: 8px;
}

/* ===== Footer ===== */
footer{
  background: rgba(0,0,0,.75);
  color: #aaa;
  padding: 18px 0;
  text-align: center;
}

.footer-container{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 12px;
}

.footer-section{
  flex: 1;
  min-width: 160px;
  max-width: 260px;
}

.footer-section ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-section a{
  color: #fff;
}

.footer-section a:hover{
  text-decoration: underline;
}

/* Bottom copyright strip */
.footer{
  background: rgba(0,0,0,.85);
  color: #fff;
  font-size: 12px;
  width: 100%;
  padding: 6px 0;
}

.copyright{
  text-align: center;
}

/* ---- Navbar hard override (kills old template offsets) ---- */
.topnavbar .container{
  margin-left: auto !important;
  margin-right: auto !important;
}

#navbarontop{
  padding-left: 0 !important;   /* removes the old 312px shove */
  float: none !important;
  display: inline-block !important;
}

.navbar-collapse{
  text-align: center !important;
}

/* ===== Mobile fix: stop overlay lag / dark layer "settling" ===== */
@media (max-width: 767px){

  /* Mobile browsers hate fixed backgrounds (especially iOS) */
  body{
    background-attachment: scroll !important;
    background-position: center top !important;
  }

  /* Make overlay non-fixed on mobile so it doesn't repaint/lag */
  body::before{
    position: absolute !important;
    top: 0; left: 0; right: 0; bottom: 0;
  }

  /* Ensure all visible content sits above overlay */
  body > *{
    position: relative;
    z-index: 1;
  }
}

/* ===== Mobile nav: horizontal + wraps cleanly ===== */
@media (max-width: 767px){
  #navbarontop{
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 10px;
    padding: 0 !important;
    margin: 10px auto 0 !important;
  }

  #navbarontop > li{
    float: none !important;
    display: block;
    margin: 0 !important;
  }

  #navbarontop > li > a{
    display: inline-block;
    padding: 8px 10px;
    margin: 0 !important;
    border-radius: 10px;
    background: rgba(0,0,0,.35);
    border: 1px solid rgba(255,255,255,.18);
    line-height: 1;
  }
}

/* ===== Mobile hero: stack cleanly + center ===== */
@media (max-width: 767px){
  .js-hero-row{
    display: block; /* let Bootstrap stack */
    text-align: center;
  }

  .js-logo{
    margin: 0 auto 14px;
    max-width: 320px;
  }

  .js-intro{
    text-align: center;
    margin: 0 auto;
    max-width: 42ch;
  }
}

/* ===== Mobile typography fixes ===== */
@media (max-width: 480px){
  h2,
  .latestcars h2{
    font-size: 22px;          /* adjust to taste: 20–24px sweet spot */
    letter-spacing: .18em;    /* tighter so it doesn’t wrap awkwardly */
    line-height: 1.2;
  }
}

/* ===== Jonathan’s Studio Footer ===== */
.js-footer{
  display: flex;
  justify-content: center;
  gap: 3rem;
  padding: 2.5rem 1rem;
  background: #000;
}

.js-footer h4{
  color: #fff;
  letter-spacing: .15em;
  margin-bottom: 1rem;
  font-size: 14px;
}

.js-footer ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.js-footer li{
  margin: .5rem 0;
}

.js-footer a{
  color: #bbb;
  text-decoration: none;
  font-size: 14px;
}

.js-footer a:hover{
  color: #fff;
  text-decoration: underline;
}

/* Mobile stacking */
@media (max-width: 767px){
  .js-footer{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2rem;
  }
}
