/* Carnivals.ca - Classimax/Bootstrap overrides */

body {
  font-family: "Muli", -apple-system, sans-serif;
  color: #666;
  line-height: 1.7;
  background: #fafafa;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Muli", sans-serif;
  color: #333;
  font-weight: 600;
}

a { color: #d4380d; }
a:hover { color: #a8260a; }
img { max-width: 100%; height: auto; }

/* Navbar overrides */
.navbar-brand {
  font-size: 1.3rem;
  font-weight: 700;
}

.dropdown-menu {
  border: 1px solid #eee;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Section spacing */
.section { padding: 3rem 0; }
.section-sm { padding: 2rem 0; }

/* Card overrides */
.card {
  border: 1px solid #eee;
  border-radius: 4px;
  transition: box-shadow 0.2s;
}

.card:hover {
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.card-img-top {
  height: 200px;
  object-fit: cover;
}

.product-item .card-body h3 a,
.product-item .card-body h4 a {
  color: #333;
  text-decoration: none;
}

.product-item .card-body h3 a:hover,
.product-item .card-body h4 a:hover {
  color: #d4380d;
}

/* Badges */
.badge {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.2rem 0.5rem;
  border-radius: 2px;
}

/* Button overrides */
.btn-main {
  background: #ff6b35;
  border-color: #ff6b35;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  padding: 8px 20px;
  border-radius: 3px;
}

.btn-main:hover {
  background: #d4380d;
  border-color: #d4380d;
  color: #fff;
}

/* Quick facts / info boxes */
dl dt {
  font-weight: 600;
  color: #333;
  display: inline;
}

dl dd {
  display: inline;
  margin: 0 0 0 0.25rem;
  color: #666;
}

dl dd::after {
  content: '';
  display: block;
  margin-bottom: 0.4rem;
}

/* List styles in cards */
.card .list-unstyled a {
  color: #d4380d;
  text-decoration: none;
}

.card .list-unstyled a:hover {
  text-decoration: underline;
}

/* Font Awesome icon spacing */
.fa {
  margin-right: 6px;
  color: #999;
  width: 16px;
  text-align: center;
}

/* Footer link hover */
footer a:hover {
  color: #fff !important;
}

/* Responsive */
@media (max-width: 768px) {
  .section { padding: 2rem 0; }
  .section-sm { padding: 1.5rem 0; }
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.4rem; }
  .card-img-top { height: 160px; }
}
