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

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

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


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

:root {
  /* Primary Colors */
  --color-brand: #456362;
  --color-brand-dark: #1e3c3b;
  --color-brand-light: #6b8988;
  --color-brand-rgb: 69, 99, 98;
  --color-brand-dark-rgb: 30, 60, 59;
  --color-brand-light-rgb: 107, 137, 136;
  --color-brand-accent: #F5E5C9;
  --color-brand-accent-rgb: 245, 229, 201;
  --about-questions-overlay-rgb: var(--color-brand-accent-rgb);
  --about-questions-overlay-opacity: 1;
  
  /* Legacy variable names (for engine compatibility) */
  --color-nava: #456362;
  --color-nava-dark: #1e3c3b;
  --color-nava-light: #6b8988;
  --color-nava-pressed: #052322;
  --color-nava-active: #000908;
  
  /* Button aliases (engine CSS uses these) */
  --brand: #456362;
  --brand-hover: #1e3c3b;
  --brand-light: #6b8988;
  
  /* Secondary Colors */
  --color-brand-secondary: #B05B34;
  --color-brand-secondary-dark: #89340d;
  --color-brand-secondary-light: #d6815a;
  --color-brand-secondary-rgb: 176, 91, 52;
  --color-brand-secondary-dark-rgb: 137, 52, 13;
  --color-brand-secondary-light-rgb: 214, 129, 90;
  
  /* Neutrals */
  --brand-white: #FFFFFF;
  --brand-light-gray: #F5F5F5;
  --brand-gray: #666666;
  --brand-dark-gray: #333333;
  --brand-black: #000000;
  
  /* Typography */
  --font-primary: 'Lato', sans-serif;
  --font-display: 'Lato', sans-serif;
  --font-body: 'Lato', sans-serif;

  /* Cart semantics */
  --color-cart-item-brand: #1e3c3b;
}

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

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

.rhinecart-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 */
/* Use :where() so this stays low-specificity and doesn't override component CTAs/pills. */
a:where(:not(.btn)) {
  color: var(--color-brand);
}

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

/* Keep cart remove icon neutral (not highlighted) */
.cart-item__remove {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

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