/* Broyles Farms: forest green, wheat and warm ivory. */
:root {
  --gem-forest: #173f35;
  --gem-green: #204c3c;
  --gem-gold: #c59a49;
  --gem-gold-dark: #806020;
  --gem-cream: #f7f5ed;
  --gem-ink: #22392f;
  --bs-border-radius-lg: 18px;
  --bs-border-radius-xl: 20px;
  --bs-border-radius-xxl: 20px;
}

/* The desktop navigation starts at the left edge. The mobile menu button
   stays in the same place when the navigation collapses. */
#header.miller-2026-header .main-header {
  background: #fcfbf7 !important;
  box-shadow: 0 8px 25px rgba(23,63,53,.08) !important;
}
#header.miller-2026-header .main-header-row { gap: 16px !important; }
#header.miller-2026-header .miller-logo {
  flex: 0 0 auto;
  width: auto;
  height: 68px;
  padding: 0 !important;
  gap: 10px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none !important;
  justify-content: flex-start;
  text-decoration: none;
}
#header.miller-2026-header .miller-logo img {
  flex: 0 0 auto;
  width: 216px !important;
  height: 72px !important;
  max-width: 216px !important;
  max-height: 72px !important;
  object-fit: contain;
}
#header.miller-2026-header .main-menu-list > li > a {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-radius: 14px !important;
}
#header.miller-2026-header .main-menu-list .nav-current > a {
  background: var(--gem-forest) !important;
  color: #fff !important;
}
#header.miller-2026-header .main-menu-list .nav-current > a:hover {
  background: var(--gem-green) !important;
  color: #fff !important;
}
#header.miller-2026-header .miller-mobile-toggle,
#header.miller-2026-header .mobile-header-search-toggle,
#header.miller-2026-header .account-dropdown .user-btn,
#header.miller-2026-header .search-expand-btn { border-radius: 14px !important; }
#header.miller-2026-header .miller-mobile-toggle {
  background: var(--gem-forest) !important;
  color: #fff !important;
  z-index: 10001;
}
#header.miller-2026-header .miller-topbar-inner { font-size: 11px; gap: 16px; }
#header.miller-2026-header .miller-topbar-inner > span { white-space: normal; }
#header.miller-2026-header .account-dropdown .dropdown-menu { border-radius: 18px; }

@media (min-width: 1200px) {
  #header.miller-2026-header .main-header-row { min-height: 82px !important; }
  #header.miller-2026-header .miller-navmenu,
  #header.miller-2026-header .navmenu > ul.main-menu-list { justify-content: flex-start !important; }
  #header.miller-2026-header .miller-navmenu { order: 0; }
  #header.miller-2026-header .miller-logo { order: 1; margin-left: 10px; }
  #header.miller-2026-header .miller-header-tools { order: 2; margin-left: 6px !important; }
  #header.miller-2026-header .main-menu-list > li > a { padding: 0 11px !important; }
  /* Search floats over the header instead of pushing navigation off-screen. */
  #header.miller-2026-header .desktop-search-form.collapsed-search,
  #header.miller-2026-header .desktop-search-form.collapsed-search.search-open,
  #header.miller-2026-header .desktop-search-form.collapsed-search.active,
  #header.miller-2026-header .desktop-search-form.collapsed-search:focus-within {
    position: relative;
    width: 48px !important;
    max-width: 48px !important;
    flex-basis: 48px !important;
    height: 48px;
  }
  #header.miller-2026-header .desktop-search-form.collapsed-search .input-group {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
  }
}

/* Text on the left, a street-front farm illustration on the right. */
.index-page #hero.hero.section {
  background: radial-gradient(ellipse at 88% 32%, rgba(92,134,92,.22), transparent 55%), #173f35 !important;
}
.index-page #hero.hero.section::before { display: none; }
.index-page #hero .hero-container {
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr) !important;
  max-width: 1320px;
  gap: clamp(32px,5vw,78px);
  padding: 58px 24px 72px !important;
}
.index-page #hero .hero-container > .hero-content { order: 1; }
.index-page #hero .hero-container > .hero-visuals { order: 2; }
.index-page #hero .hero-content .content-wrapper { max-width: 620px; padding: 0; }
.broyles-hero-eyebrow {
  display: inline-block;
  margin-bottom: 24px;
  color: #dec28a;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.index-page #hero .hero-title {
  font-size: clamp(40px,5.3vw,72px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.048em !important;
  margin-bottom: 22px;
}
.index-page #hero .hero-title span { color: #dec28a !important; }
.index-page #hero .hero-description {
  max-width: 570px;
  font-size: 18px !important;
  line-height: 1.7 !important;
  margin-bottom: 30px;
}
.index-page #hero .hero-actions { gap: 12px; }
.index-page #hero .hero-actions a {
  min-height: 50px;
  padding: 15px 22px;
  border-radius: 16px !important;
  font-size: 14px;
  font-weight: 700;
}
.index-page #hero .hero-actions .btn-primary {
  background: #dec28a !important;
  border-color: #dec28a !important;
  color: #173f35 !important;
}
.index-page #hero .hero-actions .btn-primary:hover { background: #f7f5ed !important; border-color: #f7f5ed !important; }
.index-page #hero .hero-visuals { min-width: 0; padding: 0; }
.broyles-hero-photo {
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  border: 4px solid rgba(247,245,237,.88);
  background: #f7f5ed;
  box-shadow: 0 24px 60px rgba(5,24,17,.22);
}
.index-page #hero .hero-visuals img.broyles-hero-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none !important;
  filter: none !important;
  transform: none;
}
.rebrand-trust-strip { background: #173f35 !important; }
.rebrand-trust-strip .trust-strip-grid { border-radius: 20px !important; box-shadow: 0 14px 38px rgba(23,63,53,.08) !important; }
.rebrand-trust-strip .trust-strip-item { background: #f7f5ed !important; border-radius: 15px !important; }

/* Small geometry changes retain the existing components and buying flows. */
.miller-promo-v4 { padding-top: 54px !important; padding-bottom: 54px !important; }
.promo-section-head { justify-content: flex-start; }
.promo-section-head h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(25px,3vw,36px);
  line-height: 1.15;
  letter-spacing: -.04em;
}
.category-card-v4,
.index-page .best-sellers .homepage-product-card,
.category-page .best-sellers .inventory-product-card,
.privacy .info-card,
.help-faq-card { border-radius: 18px !important; }
.category-card-v4 {
  border-color: rgba(23,63,53,.13) !important;
  box-shadow: 0 8px 24px rgba(23,63,53,.055) !important;
  overflow: hidden;
}
.category-card-v4::before { border-color: rgba(197,154,73,.22); border-radius: 13px; }
.category-card-v4::after { width: 44px; height: 44px; opacity: .65; }
.category-card-v4 .category-content h4 { font-size: 18px; font-weight: 700; }
.category-card-v4 .card-link { border-radius: 13px; font-weight: 650; }
.btn-primary, .btn-dark, .cta-button, .hero-cta { color: #fff !important; }
.btn-primary:hover, .btn-dark:hover, .cta-button:hover, .hero-cta:hover { color: #173f35 !important; }
.index-page .section-title h2, .index-page .privacy-header h2 { font-size: clamp(28px,3vw,38px); letter-spacing: -.035em; }
.broyles-inventory-empty {
  max-width: 780px;
  margin: 0 auto;
  padding: 38px 28px;
  text-align: center;
  border: 1px solid #dce2d8;
  border-radius: 20px;
  background: #f7f5ed;
}
.broyles-inventory-empty > i { display: block; margin-bottom: 18px; color: #806020; font-size: 38px; }
.broyles-inventory-empty h3 { font-size: 25px; margin-bottom: 12px; }
.broyles-inventory-empty p { max-width: 540px; margin: 0 auto 24px; color: #58675c; line-height: 1.7; }
.broyles-inventory-empty .btn-primary { display: inline-flex; align-items: center; gap: 14px; padding: 13px 20px; border-radius: 14px !important; }
.index-page .privacy .security-section { border-radius: 20px !important; }
.broyles-news-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.broyles-section-eyebrow { display: block; color: #806020; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
.broyles-news-card { border-radius: 20px; padding: 28px; background: #f7f5ed; }
.broyles-news-card h3 { font-size: 23px; letter-spacing: -.035em; }
.broyles-news-card > p { line-height: 1.65; font-size: 15px; }
.broyles-guide-icon { color: #806020; font-size: 30px; margin-bottom: 20px; }
.broyles-news-link { border-radius: 14px; font-size: 13px; min-height: 44px; padding: 11px 16px; }
#footer.footer { background: #173f35 !important; }
#footer .footer-logo-link { display: inline-flex; width: 180px; height: 180px; padding: 10px; background: #f7f5ed; border-radius: 20px; box-shadow: none; }
#footer .footer-logo-link img { width: 160px; height: 160px; max-height: 160px !important; object-fit: contain; background: transparent; }
#footer .footer-brand-text { margin-top: 20px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.7; }
#footer .footer-contact a { overflow-wrap: anywhere; }

@media (max-width: 1199px) {
  #header.miller-2026-header .main-header-row { gap: 12px !important; }
  #header.miller-2026-header .main-header-row > .miller-mobile-toggle { order: 0 !important; }
  #header.miller-2026-header .miller-navmenu { order: 1; width: 0; }
  #header.miller-2026-header .miller-logo { order: 2; margin-right: auto; }
  #header.miller-2026-header .miller-header-tools { order: 3; margin-left: 0 !important; }
  #header.miller-2026-header .mobile-header-search-panel { order: 4; }
  #header.miller-2026-header .main-menu-list { right: auto !important; width: min(360px,calc(100vw - 24px)) !important; border-radius: 18px !important; }
  #header.miller-2026-header .main-menu-list > li > a { background: #f7f5ed !important; }
  #header.miller-2026-header .main-menu-list .nav-current > a { background: #173f35 !important; color: #fff !important; }
  .index-page #hero .hero-container { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) !important; padding-top: 44px !important; padding-bottom: 60px !important; gap: 32px; }
  .index-page #hero .hero-title { font-size: clamp(38px,5.2vw,60px) !important; }
  .index-page #hero .hero-description { font-size: 16px !important; }
  .broyles-hero-photo { border-width: 3px; }
}
@media (max-width: 767.98px) {
  #header.miller-2026-header .miller-logo { height: 64px; gap: 6px; }
  #header.miller-2026-header .miller-logo img { width: 180px !important; height: 60px !important; max-width: 180px !important; max-height: 60px !important; }
  .index-page #hero .hero-container { grid-template-columns: minmax(0,1fr) !important; padding: 40px 22px 54px !important; gap: 32px; }
  .index-page #hero .hero-content { text-align: left; }
  .index-page #hero .hero-content .content-wrapper { max-width: 580px; margin: 0; }
  .broyles-hero-eyebrow { margin-bottom: 18px; font-size: 10px; letter-spacing: .11em; }
  .index-page #hero .hero-title { max-width: 600px; font-size: clamp(39px,9.5vw,56px) !important; }
  .index-page #hero .hero-description { margin-bottom: 24px; }
  .index-page #hero .hero-actions { justify-content: flex-start; }
  .index-page #hero .hero-actions a { font-size: 13px; padding: 13px 18px; }
  .broyles-hero-photo { max-width: 620px; margin: 0 auto; border-radius: 18px; }
  .broyles-news-grid { grid-template-columns: minmax(0,1fr); }
  .broyles-news-card { padding: 24px; }
  .broyles-inventory-empty { padding: 30px 20px; }
  .broyles-inventory-empty h3 { font-size: 22px; }
}
@media (max-width: 575px) {
  #header.miller-2026-header .main-header-row { gap: 5px !important; }
  #header.miller-2026-header .miller-logo { width: auto; min-width: 0; padding: 0 !important; }
  #header.miller-2026-header .main-header-row > .miller-mobile-toggle,
  #header.miller-2026-header .miller-header-tools .mobile-header-search-toggle,
  #header.miller-2026-header .miller-header-tools .header-action-btn {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    min-height: 40px !important;
  }
  #header.miller-2026-header .miller-header-tools { gap: 5px !important; }
  .promo-section-head h2 { font-size: 27px; }
  .category-card-v4 .category-content h4 { font-size: 16px; }
}
@media (max-width: 359px) {
  #header.miller-2026-header .miller-logo img { width: 150px !important; height: 50px !important; max-width: 150px !important; max-height: 50px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #header, .btn, button, .category-card-v4 .category-image img { animation: none !important; transition: none !important; }
}

/* Reviews and published coverage use the current Broyles brand. */
#testimonials.gem-reviews .testimonial-content { border-radius: 18px !important; }
#news .broyles-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
#news .broyles-news-card { height: 100%; }
@media (max-width: 767px) {
  #news .broyles-news-grid { grid-template-columns: minmax(0,1fr); }
}
