/* 1. IMPORT FONTS */
/* Importing Montserrat for that "Galos" modern header look */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Open+Sans:wght@400;600&display=swap');

/* 2. GLOBAL STYLES */
body {
  width: 100%;
  height: 100%;
  font-family: 'Open Sans', sans-serif;
  color: #333;
  background-color: #f8f8f8; /* Slight grey for depth */
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif; /* Modern heading font */
  color: #1F1F1F;
  font-weight: 700;
  text-transform: uppercase; /* Galos style usually uses uppercase headers */
  letter-spacing: 0.5px;
}

/* 3. CORE COLORS (The "Galos" Theme) */
:root {
  --galos-red: #D92E2E;       /* Piri-Piri Red */
  --galos-dark: #1F1F1F;      /* Charcoal/Grill */
  --galos-gold: #F0A500;      /* Roasted Gold */
  --galos-light: #FFFFFF;
}

/* Links */
a {
  color: var(--galos-dark);
}
a:hover {
  color: var(--galos-red);
  text-decoration: none;
}

legend {
  padding: 7px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
  color: var(--galos-dark);
}

label {
  font-size: 12px;
  font-weight: 600;
}

button:focus {
  outline: none !important;
}

/* 4. LAYOUT & CONTAINERS */
#container {
  width: 100%;
  min-height: 100%;
  position: absolute;
  margin-bottom: 300px;
}

#content, #column-left, #column-right {
  padding-bottom: 730px;
}

@media (min-width: 576px) {
  #content, #column-left, #column-right {
    padding-bottom: 400px;
  }
}

/* 5. ALERTS */
#alert {
  z-index: 9999;
  position: fixed;
  top: 30%;
  left: 50%;
  width: 400px;
  margin-left: -200px;
}
/* ... (Keep your media queries for alert widths here) ... */
@media (min-width: 992px) { #alert { width: 600px; margin-left: -300px; } }

#alert .alert-success {
  border-color: var(--galos-gold);
  background-color: #fffbf0;
  color: #8a6d3b;
}

/* 6. TOP BAR */
#top {
  background-color: #ffffff;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 0px; /* Removed margin to connect with menu */
  position: relative;
  padding: 10px 0;
}

#top .list-inline-item > a, 
#top .list-inline-item .dropdown > a {
  font-size: 13px;
  color: #666;
  font-weight: 600;
  text-transform: uppercase;
}
#top .list-inline-item > a:hover {
  color: var(--galos-red);
}

/* 7. LOGO */
#logo {
  text-align: center;
  margin: 15px 0;
}
#logo img {
  max-width: 200px;
}
@media (min-width: 768px) {
  #logo { text-align: left; }
}

/* 8. SEARCH BAR */
#search {
  margin-bottom: 10px;
}
#search .form-control-lg {
  height: 45px;
  font-size: 14px;
  border: 1px solid #ddd;
  border-right: none;
  border-radius: 4px 0 0 4px;
}
#search .btn-lg {
  font-size: 16px;
  padding: 0.5rem 25px;
  background-color: var(--galos-dark); /* Black button */
  color: #fff;
  border: 1px solid var(--galos-dark);
  border-radius: 0 4px 4px 0;
}
#search .btn-lg:hover {
  background-color: var(--galos-red); /* Red on hover */
  border-color: var(--galos-red);
}

/* 9. CART BUTTON */
#cart {
  margin-bottom: 10px;
}
#cart > .btn {
  background-color: var(--galos-red); /* BRAND RED */
  color: #fff;
  border: none;
  border-radius: 4px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  padding: 10px 20px;
}
#cart > .btn:hover {
  background-color: #b91d1d; /* Darker red */
}
#cart .btn-lg {
  font-size: 15px;
  line-height: 18px;
}

/* 10. MAIN MENU - The biggest visual change */
#menu {
  background-color: var(--galos-dark) !Important; /* Solid Charcoal */
  background-image: none; /* Removed the blue gradient */
  border: none;
  border-radius: 0; /* Full width look usually prefers square corners */
  min-height: 50px;
  padding: 0 1rem;
  margin-bottom: 30px;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}

#menu .navbar-nav > li > a {
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
  padding: 15px 20px;
  text-shadow: none;
}

#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li.show > a {
  background-color: var(--galos-red); /* Highlight in Red */
  color: #fff;
}

#menu .dropdown-menu {
  border-radius: 0;
  border: none;
  box-shadow: 0 6px 12px rgba(0,0,0,0.175);
  margin-top: 0;
}

/* 11. PRODUCTS */
.product-thumb {
  background: #fff;
  border: none; /* Clean look */
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  transition: all 0.3s;
  margin-bottom: 20px;
  overflow: hidden;
}

.product-thumb:hover {
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transform: translateY(-3px);
}

.product-thumb .image {
  text-align: center;
  padding: 15px;
}

.product-thumb .description {
  padding: 15px;
  text-align: center;
}

.product-thumb .description h4 {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 10px;
}
.product-thumb .description h4 a {
  color: var(--galos-dark);
  text-decoration: none;
}
.product-thumb .description h4 a:hover {
  color: var(--galos-red);
}

/* Price Styling */
.price {
  color: var(--galos-red); /* Price in Red */
  font-size: 18px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}
.price-new {
  font-weight: 700;
}
.price-old {
  color: #999;
  text-decoration: line-through;
  font-size: 14px;
}

/* Product Buttons (Add to Cart) */
.product-thumb .button-group {
  background-color: #f8f8f8;
  border-top: 1px solid #eee;
  display: flex;
}
.product-thumb .button-group button {
  width: 33.33%;
  border: none;
  background: transparent;
  color: #666;
  padding: 10px 0;
  transition: 0.2s;
}
.product-thumb .button-group button:hover {
  background-color: var(--galos-dark);
  color: #fff;
}
/* Make the "Add to Cart" button (usually the first one) stand out */
.product-thumb .button-group button:first-child {
  background-color: var(--galos-red);
  color: white;
}
.product-thumb .button-group button:first-child:hover {
  background-color: #b91d1d;
}

/* 12. BREADCRUMBS */
.breadcrumb {
  background-color: transparent;
  padding: 10px 0;
  margin-bottom: 20px;
  border: none;
}
.breadcrumb a {
  color: #888;
}
.breadcrumb a:hover {
  color: var(--galos-red);
}

/* 13. FOOTER */
footer {
  background-color: #1a1a1a; /* Very dark grey, almost black */
  color: #ccc;
  padding-top: 60px;
  border-top: 4px solid var(--galos-red); /* The "Galos" red stripe on top */
  position: absolute;
  bottom: -1px;
  width: 100%;
}

footer h5 {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px;
  text-transform: uppercase;
}

footer a {
  color: #999;
  font-size: 14px;
  line-height: 30px;
}
footer a:hover {
  color: var(--galos-red);
  padding-left: 5px; /* Slight movement effect */
  transition: 0.2s;
}

/* 14. EXTRAS (Cookie, Ratings) */
.rating .fa-star {
  color: #ddd;
}
.rating .fa-star.active {
  color: var(--galos-gold); /* Gold stars */
}

#cookie {
  background: var(--galos-dark);
  color: #fff;
}