/* static/css/public.css */
body {
    font-family: 'Josefin Sans', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

#menu-toggle {
  display: none;
  margin-right: 10px;
}
 .logo-image {
  max-height: 30px;
 }

 .logo {
  display: flex
 }

h1 {
    font-family: 'Josefin Sans', sans-serif;
    text-transform: uppercase;
    font-size: 4rem;  /* Adjust as needed */
    letter-spacing: 2px;
    color: #fff; /* Optional, for contrast */
    z-index: 3;
    position: relative;
}
h2 {
    font-family: 'Josefin Sans', sans-serif;
    text-transform: uppercase;
    font-size: 3rem;  /* Adjust as needed */
    letter-spacing: 2px;
    color: #fff; /* Optional, for contrast */
    z-index: 3;
    position: relative;
}
h3 {
    font-family: 'Josefin Sans', sans-serif;
    text-transform: uppercase;
    font-size: 2rem;  /* Adjust as needed */
    letter-spacing: 2px;
    color: #fff; /* Optional, for contrast */
    z-index: 3;
    position: relative;
}

.parallax {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 75vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero {
    position: relative;
    background-image: url("../images/public/hero.jpg");
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 75vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    overflow: hidden;
}

/* Add the gray overlay */
.hero::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);  /* Adjust alpha to control washout */
    z-index: 2;
}

/* Ensure content like the .overlay div is above the gray overlay */
.hero .overlay {
    position: relative;
    z-index: 3;
}

.inventory {
    background-image: url("../images/public/inventory.jpg");
    background-size: cover;         /* Ensures the image covers the entire area */
    background-position: center;    /* Keeps the focal point centered */
    background-repeat: no-repeat;   /* Prevents tiling */
    width: 100%;
    position: relative;
    display: grid;
    place-content: center;
}

.about {
    background-image: url("../images/about.jpg");
}

.overlay {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 2rem;
    text-align: center;
    border-radius: 8px;
    width: 60%
}

.section {
    padding: 4rem 2rem;
    text-align: center;
}
.light-text {
    color: #f0f0f0;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.dark {
    background-color: #1e1e1e;
    color: #f0f0f0;
}

.dark-text {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 2rem;
    text-align: center;
    border-radius: 8px;
    /* width: 60% */
}

footer {
    padding: 1rem;
    text-align: center;
    background-color: #000;
}

.about-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.about-text {
    flex: 1 1 500px;
    max-width: 600px;
}

.about-image img {
    max-width: 500px;
    width: 100%;
    border-radius: 8px;
    box-shadow: 10px 10px 15px rgba(0,0,0,0.5);
}

/* Base nav styles */
#main-nav {
    position: fixed;
    top: 0;
    width: 96%;
    z-index: 1000;
    padding: 1rem 2rem;
    transition: background-color 0.3s ease;
    background-color: transparent;
  }
  
  #main-nav ul {
    list-style: none;
    display: flex;
    justify-content: flex-end; /* Align to the right */
    gap: 2rem;
    margin: 0;
    padding: 0;
  }
  
  #main-nav li a {
    color: white;
    text-decoration: none;
    font-family: 'Josefin Sans', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    transition: color 0.3s;
  }
  
  #main-nav li a:hover {
    color: #ccc;
  }
  
  /* Sticky / Scrolled state */
  #main-nav.scrolled {
    background-color: rgba(0, 0, 0, 0.8);
  }
  
  .center-up {
    width: 100%;
    display: grid;
    align-items: center;
    justify-content: center;
  }
  @media (max-width: 768px) {
    /* Stack nav links vertically or into a mobile menu */
    body {
      font-family: 'Josefin Sans', sans-serif;
      margin: 0;
      padding: 0;
      overflow-x: hidden;
  }

    #main-nav ul {
      flex-direction: column;
      align-items: flex-end;
      background-color: rgba(0, 0, 0, 0.9);
      padding: 1rem;
      position: absolute;
      right: 0;
      top: 60px;
      display: none; /* For dropdown-style menu if you go that route */
    }
  
    #main-nav {
      flex-direction: row;
      justify-content: space-between;
      padding: 1rem;
    }

    #menu-toggle {
      display: block;
      max-height: 30px;
      background-color: black;
      color: white;
      border-radius: 5px;
    }
  
    #nav-links {
      display: none;
      flex-direction: column;
      position: absolute;
      top: 100%;
      right: 0;
      background-color: rgba(42, 77, 105, 0.95);
      width: 100%;
      padding: 1rem;
    }
  
    #nav-links.show {
      display: flex;
      align-items: flex-start;
    }
  
    #nav-links li {
      margin: 0.5rem 0;
      padding-left: 2rem;

    }
  
    .section {
      padding: 2rem 5px;
    }
  
    .split-section {
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
  
    .split-section img {
      max-width: 100%;
      margin-top: 1rem;
    }
  
    h1 {
      font-size: 1.5rem;
    }
    h3 {
      font-size: 1rem;
    }
    .dark-text {
      width: 100%;
      padding: 2rem 0rem  
    }
    .hero {
      background-attachment: scroll; /* Parallax tends to break on mobile */
      background-size: cover;
      background-position: center;
    }
    .modal {
      width: 75%;
      overflow-x: hidden;
    }

    .modal-content {
      padding: 1rem;
      max-width: 90%;
      overflow-x: hidden;
    }

    .view-more {
      font-size: 1.5rem;
      color: white;
      display: flex;
      place-content: center;
    }

    .dark-text {
      width: 70%;
      padding: 2rem 0rem;
    }
  }
  

  .contact-section {
    background-color: #111;
    color: #fff;
    padding: 60px 20px;
  }
  
  .contact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: center;
    justify-content: center;
  }
  
  .contact-left,
  .contact-right {
    flex: 1 1 300px;
  }
  
  .storefront-img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(255,255,255,0.1);
  }
  
  .contact-address {
    text-align: center;
    margin-top: 15px;
    font-size: 1.1rem;
    line-height: 1.5;
    color: #ddd;
  }
  
  .contact-right h2 {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 2rem;
    margin-bottom: 20px;
    text-transform: uppercase;
  }
  
  .contact-right p {
    font-size: 1.1rem;
    margin: 10px 0;
  }
  
  .contact-right a {
    color: #00aced;
    text-decoration: none;
  }
  
  .contact-right i {
    margin-right: 8px;
    color: #00aced;
  }
  

.contact-table {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.contact-table .row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 1.1rem;
}

.contact-table .label {
  flex: 0 0 120px;
  font-weight: bold;
  color: #ccc;
}

.contact-table .value {
  flex: 1;
  color: #fff;
}

.contact-table a {
  color: #00aced;
  text-decoration: none;
}

.contact-table i {
  margin-right: 5px;
  color: #00aced;
}

/* Modal overlay */
.modal {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  /* overflow: auto; */
  background-color: rgba(0, 0, 0, 0.6); /* semi-transparent black */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Modal content box */
.modal-content {
  background-color: #1c1c1c;
  padding: 2rem;
  border-radius: 10px;
  max-width: 300px;
  width: 90%;
  color: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  position: relative;
}

/* Close button (X) */
.modal .close {
  position: absolute;
  top: 10px;
  right: 15px;
  color: #ccc;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer; /* show pointer cursor */
  transition: color 0.2s;
}

.modal .close:hover {
  color: #fff;
}

/* Form styling */
#ffl-form label {
  display: block;
  margin-top: 1rem;
  font-weight: bold;
}

#ffl-form input {
  width: 100%;
  padding: 0.5rem;
  margin-top: 0.3rem;
  border-radius: 5px;
  border: none;
}

#ffl-form button {
  margin-top: 1.5rem;
  padding: 0.6rem 1.2rem;
  background-color: #2980b9;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
}

#ffl-form button:hover {
  background-color: #3498db;
}


.listing-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin: 2rem;
}

.listing-card {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  width: 250px;
  overflow: hidden;
  text-align: center;
  padding: 1rem;
}

.listing-card img {
  border-bottom: 1px solid #eee;
  margin-bottom: 0.5rem;
}

.listing-info strong {
  display: block;
  /* margin-bottom: 0.2rem; */
  color: black
}

.price {
  color: darkgreen;
  font-style: italic;
}

.search-bar {
  margin-top:100px;
}

.listing-card {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  margin: 1rem;
  width: 300px;
  display: flex;
  flex-direction: column;
  box-shadow: 8px 8px 10px rgba(255, 255, 255, 0.4)
}

.listing-image img {
  width: 100%;
  height: auto;
  display: block;
}

.listing-info {
  padding: 1rem;
  font-size: 1rem;
  text-align: center;
}

.price, .sale-price {
  color: darkgreen;
  font-style: italic;
  display: block;
  margin-top: 0.5rem;
}

.autocomplete-item {
  display: flex; 
  align-items: center; 
  gap: 10px; 
  padding: 8px; 
  border: 1px solid #ccc; 
  border-radius: 4px; 
  margin-bottom: 6px; 
  background-color: #f9f9f9;

}

.autocomplete-item:hover {
  background-color: #e0e0e0; 
}
.result-thumbnail {
  width: 40px; 
  height: auto; 
  border-radius: 3px;
}

#inventory-search {
  margin-bottom: 10px
}

.view-more {
  font-size: 2rem;
  color: white;
}

.placeholder {
  max-width: 234px;
  max-height: 234px;
  display: block;
  margin: 0 auto;
}

/* Positioning Utilities */
.position-fixed {
  position: fixed !important;
}

.top-0 {
  top: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

/* Spacing Utilities */
.mt-3 {
  margin-top: 1rem !important;
}

.w-100 {
  width: 100% !important;
}

.p-3 {
  padding: 1rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

/* Display Utilities */
/* .d-flex {
  display: flex !important;
} */

.justify-content-center {
  justify-content: center !important;
}

/* Background & Border Utilities */
.bg-white {
  background-color: #fff !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.rounded {
  border-radius: 0.375rem !important;
}

/* Shadow Utility */
.shadow {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Alert Styles (Base + Variants) */
.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
}

.alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}

.alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

.alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}

.alert-info {
  color: #055160;
  background-color: #cff4fc;
  border-color: #b6effb;
}

/* Alert Dismiss Button */
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1.25rem 1rem;
}

/* Fade In/Out Transition */
.fade {
  transition: opacity 0.15s linear;
}

.fade.show {
  opacity: 1;
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") center/1em auto no-repeat;
  border: none;
  appearance: none;
}

.listing-link {
  text-decoration: none;
  color: inherit;
}