/* NineLife 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: 'Poppins';
  src: url("/fonts/Poppins-Regular.otf") format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

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

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

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

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


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

:root {
  /* Primary Colors */
  --color-brand: #005655;
  --color-brand-dark: #002f2e;
  --color-brand-light: #267c7b;
  
  /* Legacy variable names (for engine compatibility) */
  --color-nava: #005655;
  --color-nava-dark: #002f2e;
  --color-nava-light: #267c7b;
  --color-nava-pressed: #001615;
  --color-nava-active: #000000;
  
  /* Button aliases (engine CSS uses these) */
  --brand: #005655;
  --brand-hover: #002f2e;
  --brand-light: #267c7b;
  
  /* Secondary Colors */
  --color-brand-secondary: #00C81F;
  --color-brand-secondary-dark: #00a100;
  --color-brand-secondary-light: #26ee45;
  
  /* Neutrals */
  --brand-white: #FFFFFF;
  --brand-light-gray: #F5F5F5;
  --brand-gray: #666666;
  --brand-dark-gray: #333333;
  --brand-black: #000000;
  
  /* Typography */
  --font-primary: 'Poppins', sans-serif;
  --font-display: 'Poppins', sans-serif;
  --font-body: 'Poppins', sans-serif;

  /* Footer */
  --footer-text-color: #002f2e;
  --footer-headings-color: #002f2e;
}

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

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

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

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

.btn-primary:hover,
button[type="submit"]:not(.btn-secondary):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 and icon color overrides */
.top-info-bar,
.top-info-bar__text,
.top-info-bar__rating-text,
a.top-info-bar__link {
  color: var(--brand-white);
}

.navigation-header__icon-link {
  color: var(--brand-white);
}

.navigation-header__count--cart {
  background-color: var(--color-brand-secondary-dark);
}

/* Footer text overrides to avoid link color overrides */
.site-footer {
  color: var(--footer-text-color);
}

.site-footer__heading {
  color: var(--footer-headings-color);
}

.site-footer a.site-footer__link,
.site-footer .site-footer__text,
.site-footer .site-footer__address,
.site-footer .site-footer__newsletter-text {
  color: var(--footer-text-color);
}

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

/* Cart page readability tweaks */
.cart-item__remove {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

a.cart-page__step,
.cart-item__name a,
.cart-page__continue-shopping,
.cart-page__return {
  color: var(--brand-black);
}

/* Category pills (avoid global link overrides) */
a.category-page__pill {
  color: var(--brand-black);
}

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

/* Order confirmation button link color */
a.order-details__continue-btn {
  color: var(--brand-white);
}

/* Mobile bulk link text color */
a.product-detail__bulk-link {
  color: var(--color-nava);
}

@media (max-width: 767px) {
  a.product-detail__bulk-link {
    color: var(--brand-white);
  }
}

/* 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;
}
