/** Shopify CDN: Minification failed

Line 644:19 Unexpected "*"

**/
/* ==========================================================================
   Timber Mesa Outdoors — Custom Shopify Theme Overrides
   Applied on top of Dawn base theme to match apps/web dark-first design.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Google Fonts — Oswald (headings) + Inter (body)
   Loaded via <link> in theme.liquid, referenced here.
   -------------------------------------------------------------------------- */

:root {
  /* TMO Brand Colors */
  --tmo-lime: #D0DB51;
  --tmo-lime-bright: #DCE85D;
  --tmo-lime-dark: #B8C247;
  --tmo-charcoal: #1A1A1A;
  --tmo-gunmetal: #2A2D2A;
  --tmo-forest: #3D4A3D;
  --tmo-silver: #B8B8B8;
  --tmo-stone: #8A8A8A;
  --tmo-ash: #E5E5E5;
  --tmo-white: #FAFAFA;
  --tmo-error: #E85454;
  --tmo-success: #54B878;

  /* Override Dawn's color scheme variables */
  --color-base-text: 184, 184, 184;           /* tmo-silver */
  --color-base-background-1: 26, 26, 26;      /* tmo-charcoal */
  --color-base-background-2: 42, 45, 42;      /* tmo-gunmetal */
  --color-base-solid-button-labels: 26, 26, 26; /* charcoal text on lime buttons */
  --color-base-outline-button-labels: 208, 219, 81; /* lime text for outline buttons */
  --color-base-accent-1: 208, 219, 81;        /* tmo-lime */
  --color-base-accent-2: 61, 74, 61;          /* tmo-forest */

  /* Dawn shadow/border overrides */
  --color-shadow: 0, 0, 0;
  --color-border: 61, 74, 61;                 /* tmo-forest */

  /* Typography */
  --font-heading-family: 'Oswald', ui-sans-serif, system-ui, sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 600;
  --font-body-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;

  /* Button styling */
  --color-button: 208, 219, 81;              /* tmo-lime bg */
  --color-button-text: 26, 26, 26;           /* charcoal text */
}

/* --------------------------------------------------------------------------
   Global Base
   -------------------------------------------------------------------------- */

body {
  background-color: var(--tmo-charcoal);
  color: var(--tmo-silver);
  font-family: var(--font-body-family);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading-family);
  color: var(--tmo-white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

a {
  color: var(--tmo-lime);
  transition: color 200ms ease;
}

a:hover {
  color: var(--tmo-lime-bright);
}

::selection {
  background-color: var(--tmo-lime);
  color: var(--tmo-charcoal);
}

/* --------------------------------------------------------------------------
   Header / Navigation
   -------------------------------------------------------------------------- */

.header-wrapper,
.section-header {
  background-color: rgba(26, 26, 26, 0.95) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(61, 74, 61, 0.5);
}

.header__heading-link {
  color: var(--tmo-white);
}

/* Nav links */
.header__menu-item,
.header__menu-item span,
.menu-drawer__menu-item {
  font-family: var(--font-body-family);
  color: var(--tmo-silver) !important;
  font-weight: 500;
  transition: color 200ms ease;
}

.header__menu-item:hover,
.header__menu-item:hover span,
.menu-drawer__menu-item:hover {
  color: var(--tmo-lime) !important;
}

/* Active nav underline in lime */
.header__active-menu-item {
  border-bottom-color: var(--tmo-lime) !important;
  color: var(--tmo-lime) !important;
}

/* Header icons (cart, search, account) */
.header__icon,
.header__icon svg {
  color: var(--tmo-silver);
  transition: color 200ms ease;
}

.header__icon:hover,
.header__icon:hover svg {
  color: var(--tmo-lime);
}

/* Cart count badge */
.cart-count-bubble {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
  font-weight: 600;
}

/* Mobile menu drawer */
.menu-drawer,
.menu-drawer__inner-container {
  background-color: var(--tmo-charcoal) !important;
  border-color: rgba(61, 74, 61, 0.5) !important;
}

.menu-drawer__close-button {
  color: var(--tmo-silver);
}

.menu-drawer__close-button:hover {
  color: var(--tmo-lime);
}

/* --------------------------------------------------------------------------
   Announcement Bar
   -------------------------------------------------------------------------- */

.announcement-bar,
.announcement-bar-section,
.utility-bar {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
  font-family: var(--font-body-family);
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
}

.announcement-bar a,
.announcement-bar__link,
.announcement-bar__message,
.announcement-bar__message span,
.announcement-bar p,
.utility-bar a,
.utility-bar p,
.utility-bar span {
  color: var(--tmo-charcoal) !important;
}

.announcement-bar .icon,
.announcement-bar svg,
.utility-bar .icon,
.utility-bar svg {
  color: var(--tmo-charcoal) !important;
  fill: var(--tmo-charcoal) !important;
}

/* Slider prev/next buttons in announcement bar */
.announcement-bar-slider .slider-button {
  color: var(--tmo-charcoal) !important;
}

/* --------------------------------------------------------------------------
   Product Cards
   -------------------------------------------------------------------------- */

.card-wrapper,
.card {
  background-color: var(--tmo-gunmetal);
  border: 1px solid rgba(61, 74, 61, 0.3);
  border-radius: 0.5rem;
  overflow: hidden;
  transition: border-color 300ms ease, box-shadow 300ms ease;
}

.card-wrapper:hover .card,
.card:hover {
  border-color: rgba(208, 219, 81, 0.5);
  box-shadow: 0 4px 20px rgba(208, 219, 81, 0.08);
}

.card__content {
  padding: 1rem;
}

.card__heading,
.card__heading a {
  font-family: var(--font-body-family);
  color: var(--tmo-white) !important;
  font-weight: 500;
  transition: color 200ms ease;
}

.card__heading a:hover {
  color: var(--tmo-lime) !important;
}

/* Product card image hover zoom */
.card__media img,
.card .media img {
  transition: transform 300ms ease;
}

.card-wrapper:hover .card__media img,
.card-wrapper:hover .card .media img {
  transform: scale(1.05);
}

.card__media,
.card .media {
  overflow: hidden;
  background-color: var(--tmo-charcoal);
}

/* --------------------------------------------------------------------------
   Pricing
   -------------------------------------------------------------------------- */

.price-item--regular,
.price-item--sale {
  color: var(--tmo-lime) !important;
  font-weight: 600;
}

.price-item--compare {
  color: var(--tmo-stone) !important;
  text-decoration: line-through;
}

/* Sale badge */
.badge--sale,
.badge[class*="sale"] {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
  font-weight: 700;
  border-radius: 0.25rem;
}

/* Sold out badge */
.badge--sold-out,
.badge[class*="sold"] {
  background-color: var(--tmo-forest) !important;
  color: var(--tmo-stone) !important;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

/* Primary button (Add to Cart, etc.) */
.button--primary,
.shopify-payment-button__button--unbranded,
button[name="add"] {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
  font-family: var(--font-body-family);
  font-weight: 700;
  border: none !important;
  border-radius: 0.375rem;
  transition: background-color 200ms ease;
}

.button--primary:hover,
.shopify-payment-button__button--unbranded:hover,
button[name="add"]:hover {
  background-color: var(--tmo-lime-bright) !important;
}

.button--primary:active,
button[name="add"]:active {
  background-color: var(--tmo-lime-dark) !important;
}

/* Secondary button */
.button--secondary {
  background-color: transparent !important;
  color: var(--tmo-lime) !important;
  border: 2px solid var(--tmo-lime) !important;
  font-family: var(--font-body-family);
  font-weight: 600;
  border-radius: 0.375rem;
  transition: background-color 200ms ease, color 200ms ease;
}

.button--secondary:hover {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
}

/* Tertiary / link button */
.button--tertiary {
  color: var(--tmo-lime) !important;
  font-weight: 600;
  padding: 0;
}

.button--tertiary:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* --------------------------------------------------------------------------
   Product Page
   -------------------------------------------------------------------------- */

.product__info-wrapper,
.product__info-container {
  background-color: var(--tmo-charcoal);
}

.product__title h1 {
  font-family: var(--font-heading-family);
  color: var(--tmo-white);
  font-weight: 600;
}

.product__description {
  color: var(--tmo-silver);
  line-height: 1.7;
}

/* Variant picker */
.product-form__input label {
  color: var(--tmo-white);
  font-weight: 500;
}

.product-form__input input[type="radio"]:checked + label,
.variant-input label.selected {
  border-color: var(--tmo-lime) !important;
  color: var(--tmo-lime) !important;
}

.product-form__input input[type="radio"] + label,
.variant-input label {
  border-color: rgba(61, 74, 61, 0.5);
  background-color: var(--tmo-gunmetal);
  color: var(--tmo-silver);
  transition: border-color 200ms ease, color 200ms ease;
}

.product-form__input input[type="radio"] + label:hover,
.variant-input label:hover {
  border-color: rgba(208, 219, 81, 0.5);
}

/* Quantity input */
.quantity__input,
.quantity__button {
  background-color: var(--tmo-gunmetal) !important;
  color: var(--tmo-white) !important;
  border-color: rgba(61, 74, 61, 0.5) !important;
}

/* Product media gallery */
.product__media-wrapper {
  background-color: var(--tmo-charcoal);
}

/* --------------------------------------------------------------------------
   Collection Pages
   -------------------------------------------------------------------------- */

.collection-hero {
  background-color: var(--tmo-gunmetal);
}

.collection-hero__title {
  font-family: var(--font-heading-family);
  color: var(--tmo-white);
}

.collection-hero__description {
  color: var(--tmo-silver);
}

/* Filters / Sort */
.facets__wrapper,
.facets-container {
  background-color: var(--tmo-charcoal);
  border-color: rgba(61, 74, 61, 0.5);
}

.facets__heading,
.facets__selected,
.facets__summary span {
  color: var(--tmo-white);
}

.facets__label,
.facets__display-count {
  color: var(--tmo-silver);
}

.facet-checkbox:checked {
  accent-color: var(--tmo-lime);
}

.active-facets__button {
  background-color: var(--tmo-gunmetal);
  color: var(--tmo-lime);
  border-color: rgba(61, 74, 61, 0.5);
}

/* Pagination */
.pagination__item--current {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
  font-weight: 600;
}

.pagination__item {
  color: var(--tmo-silver);
  border-color: rgba(61, 74, 61, 0.5);
}

.pagination__item:hover {
  color: var(--tmo-lime);
  border-color: var(--tmo-lime);
}

/* --------------------------------------------------------------------------
   Cart
   -------------------------------------------------------------------------- */

.cart-drawer,
.cart__items,
.drawer {
  background-color: var(--tmo-charcoal) !important;
}

table.cart-items {
  margin: 0 1.5rem;
  width: calc(100% - 3rem);
}

table.cart-items thead th {
  padding: 1rem 0 1rem 1.5rem !important;
}

tr.cart-item {
  padding: 1.5rem 0 !important;
}

td.cart-item__media {
  padding-left: 1.5rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

td.cart-item__details {
  padding-left: 1.5rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

td.cart-item__totals {
  padding-right: 1.5rem !important;
}

.cart-item__name,
.cart-item__details a {
  color: var(--tmo-white) !important;
}

.cart-item__price-wrapper {
  color: var(--tmo-lime);
}

.cart__footer {
  background-color: var(--tmo-gunmetal) !important;
  border-top: 1px solid rgba(61, 74, 61, 0.5) !important;
}

.totals__subtotal-value {
  color: var(--tmo-lime);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.footer,
.section-footer {
  background-color: var(--tmo-gunmetal) !important;
  border-top: 1px solid rgba(61, 74, 61, 0.5);
}

.footer__title,
.footer-block__heading {
  font-family: var(--font-heading-family);
  color: var(--tmo-white) !important;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.footer-block__details-content a,
.footer__list-social a,
.footer__content-bottom a,
.copyright a {
  color: var(--tmo-silver) !important;
  transition: color 200ms ease;
}

.footer-block__details-content a:hover,
.footer__list-social a:hover,
.footer__content-bottom a:hover,
.copyright a:hover {
  color: var(--tmo-lime) !important;
}

.copyright,
.footer__content-bottom-wrapper {
  color: var(--tmo-stone);
  border-top: 1px solid rgba(61, 74, 61, 0.5);
}

/* Footer social icons */
.footer__list-social .icon {
  fill: var(--tmo-silver);
  transition: fill 200ms ease;
}

.footer__list-social a:hover .icon {
  fill: var(--tmo-lime);
}

/* Newsletter form in footer */
.footer__newsletter input[type="email"] {
  background-color: var(--tmo-charcoal) !important;
  border-color: rgba(61, 74, 61, 0.5) !important;
  color: var(--tmo-white) !important;
}

.footer__newsletter input[type="email"]:focus {
  border-color: var(--tmo-lime) !important;
  outline: none;
}

.footer__newsletter .newsletter-form__button {
  background-color: var(--tmo-lime) !important;
  color: var(--tmo-charcoal) !important;
}

/* --------------------------------------------------------------------------
   Search
   -------------------------------------------------------------------------- */

.search__input,
.search-modal__input {
  background-color: var(--tmo-charcoal) !important;
  border-color: rgba(61, 74, 61, 0.5) !important;
  color: var(--tmo-white) !important;
  font-family: var(--font-body-family);
}

.search__input:focus,
.search-modal__input:focus {
  border-color: var(--tmo-lime) !important;
  box-shadow: 0 0 0 1px var(--tmo-lime);
}

.search-modal,
.search-modal__content {
  background-color: var(--tmo-charcoal) !important;
}

.predictive-search__result-group .predictive-search__heading {
  color: var(--tmo-stone);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* --------------------------------------------------------------------------
   Forms / Inputs
   -------------------------------------------------------------------------- */

.field__input,
.select__select,
textarea.text-area {
  background-color: var(--tmo-charcoal) !important;
  border: 1px solid rgba(61, 74, 61, 0.5) !important;
  color: var(--tmo-white) !important;
  font-family: var(--font-body-family);
  border-radius: 0.375rem;
}

.field__input:focus,
.select__select:focus,
textarea.text-area:focus {
  border-color: var(--tmo-lime) !important;
  box-shadow: 0 0 0 1px var(--tmo-lime);
  outline: none;
}

.field__label {
  color: var(--tmo-stone);
}

/* --------------------------------------------------------------------------
   Sections / General Layout
   -------------------------------------------------------------------------- */

.section-template--*,
.shopify-section {
  background-color: var(--tmo-charcoal);
}

/* Alternating section backgrounds */
.color-background-2 {
  background-color: var(--tmo-gunmetal) !important;
}

/* Section borders */
.section + .section {
  border-top: 1px solid rgba(61, 74, 61, 0.3);
}

/* Rich text sections */
.rich-text__wrapper {
  color: var(--tmo-silver);
}

.rich-text__heading {
  color: var(--tmo-white);
}

/* Image banner overlay */
.banner__content {
  color: var(--tmo-white);
}

/* --------------------------------------------------------------------------
   Breadcrumbs
   -------------------------------------------------------------------------- */

.breadcrumbs a {
  color: var(--tmo-stone);
}

.breadcrumbs a:hover {
  color: var(--tmo-lime);
}

.breadcrumbs__current {
  color: var(--tmo-silver);
}

/* --------------------------------------------------------------------------
   Loading / Spinner
   -------------------------------------------------------------------------- */

.loading-overlay__spinner .spinner {
  border-color: rgba(208, 219, 81, 0.2);
  border-top-color: var(--tmo-lime);
}

/* --------------------------------------------------------------------------
   Accessibility — Focus Rings
   -------------------------------------------------------------------------- */

*:focus-visible {
  outline: 2px solid var(--tmo-lime) !important;
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Reduced Motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* --------------------------------------------------------------------------
   "Visit Our Pro Shop" link styling (added in header)
   -------------------------------------------------------------------------- */

.tmo-main-site-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--tmo-stone);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 200ms ease;
}

.tmo-main-site-link:hover {
  color: var(--tmo-lime);
}

.tmo-main-site-link svg {
  width: 0.75rem;
  height: 0.75rem;
}

/* --------------------------------------------------------------------------
   Authorized Dealer / Brand Logos Section
   -------------------------------------------------------------------------- */

.tmo-brands {
  padding: 3rem 0;
}

.tmo-brands__heading {
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: var(--tmo-stone);
  margin-bottom: 2rem;
}

.tmo-brands__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 3rem;
}

.tmo-brands__logo {
  display: block;
  opacity: 0.5;
  transition: opacity 300ms ease;
}

.tmo-brands__logo:hover {
  opacity: 1;
}

.tmo-brands__logo img {
  height: 2.5rem;
  width: auto;
  filter: brightness(0) invert(1);
}

@media screen and (min-width: 750px) {
  .tmo-brands__grid {
    gap: 2rem 4rem;
  }
  .tmo-brands__logo img {
    height: 3rem;
  }
}

/* --------------------------------------------------------------------------
   Collection List Cards (homepage)
   -------------------------------------------------------------------------- */

.collection-list__item .card {
  background-color: var(--tmo-gunmetal);
  border: 1px solid rgba(61, 74, 61, 0.3);
  transition: border-color 300ms ease;
}

.collection-list__item .card:hover {
  border-color: rgba(208, 219, 81, 0.5);
}

.collection-list__item .card__heading a {
  color: var(--tmo-white) !important;
}

.collection-list__item .card__heading a:hover {
  color: var(--tmo-lime) !important;
}
