/* NineFit Application Styles
 * Brand-specific overrides and additions
 * Generated by h9 brand launcher
 * 
 * Note: All component CSS files are loaded individually via stylesheet_link_tag 
 * in application.html.erb to ensure proper digest hash handling by Propshaft.
 * DO NOT use @import statements here as they cause 404 errors.
 */

/* =========================================================
 * Font Definitions
 * ========================================================= */

@font-face {
  font-family: 'Montserrat';
  src: url("/fonts/Montserrat-Regular.otf") format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url("/fonts/Montserrat-Medium.otf") format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url("/fonts/Montserrat-SemiBold.otf") format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url("/fonts/Montserrat-Bold.otf") format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url("/fonts/Montserrat-Light.otf") format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}


/* =========================================================
 * Brand Color Variables
 * ========================================================= */

:root {
  /* Primary Colors */
  --color-brand: #C72727;
  --color-brand-dark: #a00000;
  --color-brand-light: #ed4d4d;
  
  /* Legacy variable names (for engine compatibility) */
  --color-nava: #C72727;
  --color-nava-dark: #a00000;
  --color-nava-light: #ed4d4d;
  --color-nava-pressed: #870000;
  --color-nava-active: #6d0000;
  
  /* Button aliases (engine CSS uses these) */
  --brand: #C72727;
  --brand-hover: #a00000;
  --brand-light: #ed4d4d;
  
  /* Secondary Colors */
  --color-brand-secondary: #333E48;
  --color-brand-secondary-dark: #0c1721;
  --color-brand-secondary-light: #59646e;
  
  /* Neutrals */
  --brand-white: #FFFFFF;
  --brand-light-gray: #F5F5F5;
  --brand-gray: #666666;
  --brand-dark-gray: #333333;
  --brand-black: #000000;
  
  /* Typography */
  --font-primary: 'Montserrat', sans-serif;
  --font-display: 'Montserrat', sans-serif;

  /* Footer */
  --footer-bg-color: #222930;
  --footer-text-color: #f1f1f1;
  --footer-headings-color: #ffffff;
}

/* =========================================================
 * Brand-Specific Overrides
 * ========================================================= */

.ninefit-logo {
  /* Custom logo styles */
}

.ninefit-banner {
  /* Custom banner styles */
}

/* Primary buttons use brand color */
.btn-primary,
button[type="submit"]:not(.btn-secondary):not(.cart-item__remove),
.add-to-cart-btn {
  background-color: var(--color-brand);
  border-color: var(--color-brand);
}

.btn-primary:hover,
button[type="submit"]:not(.btn-secondary):not(.cart-item__remove):hover,
.add-to-cart-btn:hover {
  background-color: var(--color-brand-dark);
  border-color: var(--color-brand-dark);
}

/* Links use brand color */
a:not(.btn) {
  color: var(--color-brand);
}

a:not(.btn):hover {
  color: var(--color-brand-dark);
}

/* Header text should stay white (icons are red assets) */
a.top-info-bar__link {
  color: var(--color-white);
}

a.top-info-bar__link:hover {
  color: var(--color-white);
}

/* Category pills need readable text */
a.category-page__pill {
  color: var(--color-black);
}

a.category-page__pill.category-page__pill--active {
  color: var(--color-white);
}

/* Cart page link colors */
a.cart-page__step,
.cart-item__name a {
  color: var(--color-black);
}

a.cart-page__button {
  color: var(--color-white);
}

/* Footer links should not inherit brand red */
.site-footer a.site-footer__link {
  color: var(--footer-text-color);
}

.site-footer a.site-footer__link:hover {
  color: var(--footer-headings-color);
}

/* Products page mobile overflow fixes */
@media (max-width: 768px) {
  .category-page__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .category-page__pagination {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .category-page__products {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Force secure payments icon to brand color (overrides inline SVG) */
.product-detail__feature--secure .product-detail__feature-icon {
  color: var(--color-nava);
}

.product-detail__feature--secure .product-detail__feature-icon path,
.product-detail__feature--secure .product-detail__feature-icon rect,
.product-detail__feature--secure .product-detail__feature-icon line,
.product-detail__feature--secure .product-detail__feature-icon polyline,
.product-detail__feature--secure .product-detail__feature-icon polygon,
.product-detail__feature--secure .product-detail__feature-icon circle {
  stroke: var(--color-nava) !important;
}

.product-detail__feature--secure .product-detail__feature-icon circle {
  fill: var(--color-nava) !important;
}

/* Bulk order CTA button uses brand colors (overrides inline styles) */
.bulk-order-page input[type="submit"],
.bulk-order-page button[type="submit"] {
  background: var(--color-nava) !important;
  background-color: var(--color-nava) !important;
  border-color: var(--color-nava) !important;
}

.bulk-order-page input[type="submit"]:hover,
.bulk-order-page button[type="submit"]:hover,
.bulk-order-page input[type="submit"]:focus,
.bulk-order-page button[type="submit"]:focus {
  background: var(--color-nava-dark) !important;
  background-color: var(--color-nava-dark) !important;
  border-color: var(--color-nava-dark) !important;
}
