/* Shared Hydro Supply presentation. Brand artwork and commerce behavior are independent. */
.site-theme {
  --gold: #edb427;
  --gold-dark: #c4941f;
  --gold-light: #f5c842;
  --orange: #edb427;
  --green-deep: #0d1912;
  --green-dark: #14271c;
  --green-mid: #21372b;
  --green-light: #3c6547;
  --bg-base: #0d1912;
  --bg-dark: #101c15;
  --bg-darker: #14271c;
  --bg-card: #21372b;
  --bg-card-hover: #2b4535;
  --border: #8fa58b40;
  --border-light: #718369;
  --text-primary: #f5f2e8;
  --text-secondary: #cbd3c6;
  --text-muted: #b6c4b1;
  background: var(--bg-base);
  color: var(--text-secondary);
}
.site-theme .section-green, .site-theme .section-cta { background: var(--bg-card); border-block: 1px solid var(--border); }
.site-theme .section-stats { background: var(--bg-darker); border-block: 1px solid var(--border); }
.site-theme .section-stats::before { display: none; }
.site-theme .text-gradient { background: none; color: var(--gold); -webkit-text-fill-color: currentColor; }
.site-theme :is(.btn-primary, .pdp-cta-primary) { background: var(--gold); color: #14271c; box-shadow: none; }
.site-theme :is(.btn-primary, .pdp-cta-primary):hover { background: var(--gold-light); color: #14271c; box-shadow: 0 6px 20px #0003; }
.site-theme :is(.btn-secondary, .btn-outline, .pdp-cta-secondary) { background: transparent; color: var(--text-primary); border: 1px solid #a6b99b80; }
.site-theme :is(.btn-secondary, .btn-outline, .pdp-cta-secondary):hover { background: #ffffff0d; color: var(--text-primary); border-color: #d9dfd1; }
.site-theme :is(.btn, .pdp-cta-primary, .pdp-cta-secondary) { min-height: 48px; border-radius: 9px; line-height: 1.5; }
.site-theme .glass-card { background: var(--bg-card); border-color: var(--border); backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-theme .glass-card-icon--green { background: #14271c; color: #c3deb3; }
.site-theme :is(.section-subtitle, .section-text, .about-feature p) { color: var(--text-secondary); }
.site-theme :is(.breadcrumb, .breadcrumbs, .pdp-breadcrumb) { color: var(--text-muted); overflow-wrap: anywhere; }
.site-theme :is(.breadcrumb, .breadcrumbs, .pdp-breadcrumb) a { color: var(--text-secondary); }
.site-theme :is(.breadcrumb, .breadcrumbs, .pdp-breadcrumb) a:hover { color: var(--gold); }
.site-theme .pdp-breadcrumb .current { color: var(--gold); }
.site-theme .pdp-breadcrumb .sep { color: var(--text-muted); }

/* Shared category, directory, partner-program and article surfaces. */
.site-theme[data-site-page="category"] .page-hero { background: linear-gradient(180deg, #21372b, #0d1912); }
.site-theme[data-site-page="category"] .page-hero::before { opacity: .3; }
.site-theme :is(.brand-card, .brand-card-body, .blog-card, .quick-link-card, .privacy-card,
  .step-card, .cap-card, .freedom-card, .benefit-card, .shift-card, .comm-card, .acct-card, .pillar) { background-color: var(--bg-card); border-color: var(--border); }
.site-theme :is(.shift-card.win, .comm-card.win, .acct-card.is-current) { border-color: #edb42780; }
.site-theme .bl-card { background: var(--bg-card); border-color: var(--border); border-top-color: var(--accent); }
.site-theme .bl-card:hover { border-color: #edb42780; border-top-color: var(--accent); }
.site-theme :is(.bl-hero p, .bl-group-head p, .bl-body p, .blog-card-body p) { color: var(--text-secondary); }
.site-theme :is(.bl-group-link, .bl-count) { color: var(--gold); }
.site-theme .bl-grid { grid-template-columns: repeat(auto-fill, minmax(min(268px, 100%), 1fr)); }
.site-theme :is(.post-meta, .post-back, .blog-card-meta) { color: var(--text-muted); }
.site-theme :is(.post-content, .privacy-content) a { text-underline-offset: 4px; }
.site-theme :is(.post-content, .privacy-content) a:not(.btn) { text-decoration: underline; }
.site-theme .hsc-pricing-cta { background: var(--bg-dark); border-block: 1px solid var(--border); }
.site-theme .hpc-card { background: var(--bg-card); border-color: var(--border); }
.site-theme .hpc-aside { background: #14271c; border-color: var(--border); }
.site-theme .hpc-tag { color: var(--text-secondary); }
.site-theme .hpc-save { color: #b6db9c; }

/* Product templates use site colors for prices and actions, with original product images. */
.site-theme .pdp-hero-grid > * { min-width: 0; }
.site-theme .pdp-badges { display: flex; flex-wrap: wrap; }
.site-theme .pdp-title { color: var(--text-primary); overflow-wrap: anywhere; }
.site-theme .pdp-subtitle { color: var(--text-secondary); }
.site-theme .pdp-badge--brand { color: var(--text-primary); }
.site-theme .pdp-badge--avail { background: #21372b; color: #c3deb3; border-color: #8fac8080; }
.site-theme :is(.pdp-desc, .pdp-body p, .faq-section .faq-item p, .pdp-cta-section p) { color: var(--text-secondary); }
.site-theme .pdp-spec-card { background: var(--bg-card); border-color: var(--border); }
.site-theme .pdp-spec-value { color: var(--gold); overflow-wrap: anywhere; }
.site-theme .pdp-spec-label { color: var(--text-secondary); }
.site-theme .specs-card { background: var(--bg-dark); border-color: var(--border); }
.site-theme .specs-card-header { background: var(--bg-card); border-color: var(--border); }
.site-theme .specs-table { border-collapse: collapse; table-layout: fixed; }
.site-theme .specs-table td { overflow-wrap: anywhere; }
.site-theme .specs-table td:first-child { color: var(--text-secondary); }
.site-theme .specs-table td:last-child { color: var(--text-primary); }
.site-theme .specs-table tr { border-color: var(--border); }
.site-theme .specs-table tr:nth-child(even) { background: #14271c; }
.site-theme .pdp-cta-section { background: var(--bg-card); border-top: 1px solid var(--border); }
.site-theme .pdp-product-placeholder { background: var(--bg-card); border-color: var(--border); }
.site-theme .pdp-product-placeholder span { color: var(--text-primary); }
.site-theme .faq-item { border-color: var(--border); }
.site-theme .faq-question { background: var(--bg-card); }
.site-theme .faq-question:hover { background: var(--bg-card-hover); }

/* The same pricing and cart controls appear on product and manufacturer pages. */
.site-theme .hsc-shop { padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: #14271c; }
.site-theme :is(.hsc-shop-now, .hsc-shop-quoteline, .hsc-shop-note a, .hsc-shop-shipq a) { color: var(--gold); }
.site-theme :is(.hsc-shop-was, .hsc-shop-pack, .hsc-shop-detail, .hsc-shop-note,
  .hsc-shop-link, .hsc-shop-out-p, .hsc-shop-shipq, .hsc-shop-invnote) { color: var(--text-secondary); }
.site-theme :is(.hsc-shop-save, .hsc-shop-ship) { color: #c3deb3; background: #21372b; border-color: #8fac8066; }
.site-theme :is(.hsc-shop-add, .hsc-shop-cta, .hsc-shop-out-btn) { background: var(--gold); color: #14271c; min-height: 48px; border-radius: 9px; }
.site-theme :is(.hsc-shop-add, .hsc-shop-cta, .hsc-shop-out-btn):hover { background: var(--gold-light); box-shadow: 0 6px 20px #0003; }
.site-theme .hsc-shop-qty { background: var(--bg-base); border-color: var(--border-light); min-height: 48px; }
.site-theme .hsc-shop-invbtn { min-height: 44px; border-color: var(--border-light); }
.site-theme .hsc-shop-add:focus-visible { outline-color: var(--gold); }

/* Forms retain their existing labels, validation, selected states and handlers. */
.site-theme :is(.contact-form-card, .contact-info-card, .quote-form-card, .consultant-form-card, .form-card, .post-cta) { background: var(--bg-card); border-color: var(--border); }
.site-theme :is(.form-group, .form-group-fin) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { min-height: 48px; background-color: var(--bg-base); border-color: var(--border-light); color: var(--text-primary); }
.site-theme :is(.form-group, .form-group-fin) :is(input, select, textarea):focus { border-color: var(--gold); }
.site-theme :is(.form-group, .form-group-fin) :is(input, textarea)::placeholder { color: var(--text-muted); opacity: 1; }
.site-theme :is(.form-group, .form-group-fin) select option { background: var(--bg-base); color: var(--text-primary); }
.site-theme .form-group-fin :is(label, .helper) { color: var(--text-secondary); }
.site-theme :is(.form-row, .grid-fields, .contact-layout, .grid) > * { min-width: 0; }
.site-theme :is(.contact-info-item, .contact-info-value) { overflow-wrap: anywhere; }
.site-theme .form-section-h { color: var(--gold); border-color: #edb42755; }
.site-theme .radio-row label:has(input:checked) { background: #edb42712; border-color: var(--gold); color: var(--gold); }
.site-theme .radio-row input:checked { background: var(--gold); border-color: var(--gold); box-shadow: inset 0 0 0 3px #14271c; }

/* Financing uses the Hydro Supply frame, including its application and questionnaire. */
.site-theme[data-site-page="finance"] :is(.program-card, .equip-tile, .checklist-card, .download-card) { background: var(--bg-card); border-color: var(--border); }
.site-theme[data-site-page="finance"] :is(.program-card.feature, .ind-band) { background: #21372b; border-color: #edb42755; }
.site-theme[data-site-page="finance"] :is(.program-card h3, .program-card li strong, .brand-stamp, .ind-band h2 span) { color: var(--gold); }
.site-theme[data-site-page="finance"] :is(.equip-tile p, .program-card .footnote, .download-card .sub) { color: var(--text-secondary); }
.site-theme[data-site-page="finance"] .stat-row .stat .n { background: none; color: var(--gold); -webkit-text-fill-color: currentColor; }
.site-theme[data-site-page="finance"] :is(.equip-tile, .download-card):hover { background: var(--bg-card-hover); border-color: #edb42780; }

/* Readable gold footer matches the homepage; brand logos retain their own artwork. */
.site-theme .footer { background: #edb427; border-top-color: #14271c; }
.site-theme .footer::before { display: none; }
.site-theme .footer-brand p, .site-theme .footer-links h4,
.site-theme .footer-links a, .site-theme .footer-bottom p,
.site-theme .footer-bottom-links a { color: #14271c; text-shadow: none; }
/* Legacy product footers have an inline copyright color. */
.site-theme .footer > .container > p { color: #14271c !important; }
.site-theme .footer > .container > p a { color: #14271c; text-decoration: underline; }
.site-theme .footer-links a:hover, .site-theme .footer-bottom-links a:hover { color: #0d1912; }
.site-theme .footer a:focus-visible { outline-color: #14271c; }
.site-theme .footer-scripture { background: #21372b; border-color: #edb42766; box-shadow: 0 8px 24px #14271c30; }

@media (max-width: 1000px) {
  .site-theme .hpc-card { grid-template-columns: minmax(0, 1fr); padding: 32px; gap: 28px; }
  .site-theme .hpc-aside { order: 0; }
}
@media (max-width: 640px) {
  .site-theme :is(.pdp-ctas, .hpc-actions, .cta-row) { flex-direction: column; align-items: stretch; }
  .site-theme :is(.pdp-ctas, .hpc-actions, .cta-row) > a { width: 100%; justify-content: center; padding-inline: 18px; }
  .site-theme .hsc-shop { padding: 16px; }
  .site-theme .hsc-shop-add { flex: 1; padding-inline: 16px; }
  .site-theme :is(.hsc-shop-qty, .form-group input, .form-group select, .form-group textarea) { font-size: 16px; }
  .site-theme .hpc-card { padding: 24px 20px; }
  .site-theme :is(.consultant-form-card, .quote-form-card) { padding: 24px 20px; }
  .site-theme .pdp-main-image { height: 280px; }
  .site-theme .pdp-hero { padding-top: 112px; }
  .site-theme .pdp-breadcrumb { font-size: 12px; line-height: 1.6; }
  .site-theme .pdp-spec-card { padding: 16px; }
  .site-theme .specs-table td { padding: 14px 12px; font-size: 13px; }
  .site-theme :is(.program-card, .ind-band) { padding: 26px 20px; }
  .site-theme .program-card h3 { letter-spacing: .12em; }
}
