﻿/* Accessible palette and image-local hero scrim; original theme stays intact. */
:root { --food-green: #4c7000; --food-orange: #b43d00; }
.green-color { color: var(--food-green); }
.orange-color, .subheading { color: var(--food-orange); }
header .navbar .navbar-nav .nav-link.active,
header .navbar .navbar-nav .nav-link:hover { color: var(--food-green); }
.btn.green-btn { background-color: var(--food-green); border-color: var(--food-green); color: #fff; }
.btn.orange-btn { background-color: var(--food-orange); border-color: var(--food-orange); color: #fff; }
.btn.btn-green::before, .btn.btn-green::after { background: var(--food-green); }
.btn.btn-orange::before, .btn.btn-orange::after { background: var(--food-orange); }
.btn.btn-hvr-green:hover { background-color: var(--food-green); border-color: var(--food-green); color: #fff; }
.btn.btn-hvr-orange:hover { background-color: var(--food-orange); border-color: var(--food-orange); color: #fff; }
.btn.button { text-transform: none; }
/* The white side-menu wordmark and links require a deeper green surface. */
.side-menu { background-color: #3b5700; }
.side-menu .hover:hover { color: #3b5700 !important; }
.heading { letter-spacing: -0.045em; line-height: 1.18; }
.banner-section .heading { letter-spacing: -0.055em; }
.banner-section .text { color: #30352b; }
.banner-section .img-section img { display: block; width: 100%; object-fit: cover; }
@media (min-width: 993px) {
  .banner-section .img-section::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(243,242,236,.96) 0%, rgba(243,242,236,.92) 27%, rgba(243,242,236,.55) 42%, rgba(243,242,236,0) 65%);
  }
}
.reviews-section .card .card-body .checked,
.reviews-section .card .card-body .half-checked { color: #947000; }
.contact-section .form-control { color: #30352b; border-color: #83887c; }
.contact-section .form-control::placeholder { color: #595e54; opacity: 1; }
a:focus-visible, .contact-section .form-control:focus-visible {
  outline: 3px solid #4c7000; outline-offset: 4px;
}
.side-menu a:focus-visible { outline-color: #fff; }
@media (max-width: 992px) {
  .banner-section .img-section { max-width: 100%; }
  .banner-section .heading { font-size: clamp(36px, 10vw, 70px); }
  .heading { letter-spacing: -0.045em; }
}
/* Keep the offset hero inside the content area at intermediate widths. */
@media (min-width: 993px) {
  .banner-section .img-section { margin-left: 80px; max-width: calc(100% - 80px); }
}
@media (max-width: 767px) {
  .banner-section .heading { font-size: clamp(36px, 13vw, 53px); }
  .banner-section .heading br { display: block; }
}
