/**
 * WCAG 2.x — keeps brand orange #F59A57, fixes contrast without muddy browns.
 * Load after ccb-brand.css and ccb-bootstrap-overrides.css.
 *
 * Buttons: brand orange fill + charcoal text (7:1)
 * Labels on light: charcoal text + brand orange bar (decorative)
 * Body: #767676 on white (OK); darker gray only on blue-gray bands
 */

.ccb-site {
	--orange: #F59A57;
	--orange-h: #DF8C4F;
	--charcoal: #242424;
	--text-on-tint: #5C5C5C;
	--mid-gray: #767676;
}

.ccb-site body {
	color: var(--mid-gray);
}

/* Tinted sections — body copy only */
.ccb-site .section-blue .section-desc,
.ccb-site .section-blue p,
.ccb-site .ccb-sub-hero__teaser,
.ccb-site .ccb-sub-hero__breadcrumb {
	color: var(--mid-gray);
}

.ccb-site .ccb-sub-hero__title {
	color: var(--charcoal);
}

.ccb-site .ccb-cat-hero__teaser,
.ccb-site .ccb-cat-hero__breadcrumb {
	color: var(--text-on-tint);
}

/* Headings on light surfaces only (do not flatten hero / quote / dark bands) */
.ccb-site .section-title:not(.light),
.ccb-site .product-name,
.ccb-site .ccb-cat-hero__title,
.ccb-site .ccb-cat-faq__title,
.ccb-site .quote-form-card h3 {
	color: var(--charcoal);
}

/* Dark sections — restore light headings */
.ccb-site .hero .hero-title,
.ccb-site .hero h1.hero-title,
.ccb-site .quote-section .section-title,
.ccb-site .quote-section .section-title.light,
.ccb-site .collection-week .cw-title,
.ccb-site .collection-week .section-title,
.ccb-site .ccb-cat-materials-fw__title,
.ccb-site .ccb-cat-materials-fw__card h3,
.ccb-site .porto-item .porto-caption,
.ccb-site .porto-overlay h3,
.ccb-site .ccb-about-cta__title,
.ccb-site .ccb-about-cta h2 {
	color: #fff !important;
}

.ccb-site .hero .hero-title em,
.ccb-site .collection-week .cw-title span {
	color: var(--orange) !important;
}

/* Labels: charcoal + orange bar on white; brand orange on dark */
.ccb-site .section-label,
.ccb-site .product-cat {
	color: var(--charcoal);
}

.ccb-site .ccb-cat-materials-fw__label,
.ccb-site .ccb-cat-faq__label {
	color: var(--orange) !important;
}

.ccb-site .section-label::before {
	background: var(--orange);
}

/* Primary CTAs — brand orange + charcoal label */
.ccb-site .btn-primary,
.ccb-site .top-bar__cta,
.ccb-site .product-cta,
.ccb-site .form-submit,
.ccb-site .ccb-btn--primary {
	background: var(--orange) !important;
	border-color: var(--orange) !important;
	color: var(--charcoal) !important;
}

.ccb-site .btn-primary:hover,
.ccb-site .top-bar__cta:hover,
.ccb-site .product-cta:hover,
.ccb-site .form-submit:hover,
.ccb-site .ccb-btn--primary:hover {
	background: var(--orange-h) !important;
	border-color: var(--charcoal) !important;
	color: var(--charcoal) !important;
}

/* Outline — brand border, charcoal text; hover fills brand orange */
.ccb-site .btn-outline-orange {
	color: var(--charcoal) !important;
	border-color: var(--orange) !important;
}

.ccb-site .btn-outline-orange:hover {
	background: var(--orange) !important;
	border-color: var(--orange) !important;
	color: var(--charcoal) !important;
}

.ccb-site .btn-ghost:hover {
	border-color: var(--orange);
	color: var(--charcoal);
}

/* Nav / link hovers — brand orange where background is light */
.ccb-site .nav-item:hover > .nav-link,
.ccb-site .ccb-cat-hero__breadcrumb a:hover {
	color: var(--orange);
}

/* Top bar readability */
.ccb-site .top-bar__link {
	color: rgba(255, 255, 255, 0.78);
}

.ccb-site .top-bar__promo {
	color: rgba(255, 255, 255, 0.72);
}

.ccb-site .top-bar__promo span {
	color: var(--orange);
}

/* Dark footer */
.ccb-site .ccb-footer .ft-col-title {
	color: rgba(255, 255, 255, 0.92) !important;
}

.ccb-site .ccb-footer .ft-blurb {
	color: rgba(255, 255, 255, 0.55);
}

.ccb-site .ccb-footer .ft-links-simple a,
.ccb-site .ccb-footer .ft-contact-simple a {
	color: rgba(255, 255, 255, 0.62);
}

.ccb-site .ccb-footer .ft-copy {
	color: rgba(255, 255, 255, 0.4);
}

.ccb-site .ccb-footer .ft-legal a {
	color: rgba(255, 255, 255, 0.45);
}

.ccb-site .ccb-footer .ft-links-simple a:hover,
.ccb-site .ccb-footer .ft-contact-simple a:hover,
.ccb-site .ccb-footer .ft-legal a:hover {
	color: var(--orange);
}

/* Forms */
.ccb-site .quote-form-card h3,
.ccb-site .quote-form-card label,
.ccb-site label {
	color: var(--charcoal) !important;
}

.ccb-site .quote-form-card .form-sub,
.ccb-site .form-note {
	color: var(--mid-gray) !important;
}

/* Dark sections — brand orange text is fine here */
.ccb-site .collection-week .section-label,
.ccb-site .quote-section .section-label {
	color: var(--orange) !important;
}

.ccb-site .collection-week .section-label::before {
	background: var(--orange);
}

/* Stars / icons — decorative brand color */
.ccb-site .stars {
	color: var(--orange);
}

/* Focus */
.ccb-site :focus-visible {
	outline: 3px solid var(--orange);
	outline-offset: 2px;
}

.ccb-site .btn-primary:focus-visible,
.ccb-site .btn-outline-orange:focus-visible {
	outline-color: var(--charcoal);
	outline-offset: 3px;
}

/* Orange chips / tabs on dark or orange fill */
.ccb-site .bs-tab.active,
.ccb-site .bs-tab:hover,
.ccb-site .ccb-cat-faq__item[open] .ccb-cat-faq__icon::before,
.ccb-site .choose-step:hover .step-num,
.ccb-site .mob-soc:hover {
	color: var(--charcoal) !important;
}

.ccb-site .ft-nl-btn,
.ccb-site .ft-cta-big {
	background: var(--orange) !important;
	color: var(--charcoal) !important;
}

.ccb-site .ft-nl-btn:hover,
.ccb-site .ft-cta-big:hover {
	background: var(--orange-h) !important;
	color: var(--charcoal) !important;
}

.ccb-site .ft-soc:hover {
	color: var(--charcoal) !important;
}
