/*
 * Sub-Zero Appliance Repair — visual overlay.
 * Built-in refrigeration vernacular: frost surfaces, stainless rules,
 * glacier accent. Loaded after main.css so Bosch red/orange pills recede.
 */

:root {
	--sz-cabinet: #0b1218;
	--sz-panel: #12202b;
	--sz-steel: #8fa0ad;
	--sz-frost: #eef3f6;
	--sz-ice: #d7e3ea;
	--sz-glacier: #2b7eb5;

	--rf-primary: #2b7eb5;
	--rf-secondary: #0b1218;
	--rf-primary-dark: #1f5f89;
	--rf-primary-soft: color-mix(in srgb, var(--sz-glacier) 12%, #fff);
	--rf-primary-tint: color-mix(in srgb, var(--sz-glacier) 18%, #fff);
	--rf-secondary-dark: #070c10;
	--rf-secondary-soft: color-mix(in srgb, var(--sz-cabinet) 8%, #fff);

	--rf-accent: #2b7eb5;
	--rf-accent-dark: #1f5f89;
	--rf-accent-soft: color-mix(in srgb, var(--sz-glacier) 10%, #fff);
	--rf-accent-tint: color-mix(in srgb, var(--sz-glacier) 16%, #fff);

	--rf-ink: #12202b;
	--rf-ink-2: #3d4f5c;
	--rf-muted: #6b7c88;
	--rf-line: #d5dee4;
	--rf-line-strong: #c0ccd4;
	--rf-surface: #f7fafb;
	--rf-surface-2: #eef3f6;
	--rf-surface-3: #e4ebf0;
	--rf-charcoal: #0b1218;

	--rf-font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
	--rf-font-display: "Syne", "IBM Plex Sans", sans-serif;
	--rf-font-mono: "IBM Plex Mono", ui-monospace, monospace;

	--rf-radius-sm: 3px;
	--rf-radius: 4px;
	--rf-radius-lg: 6px;
	--rf-radius-pill: 4px;

	--rf-shadow-xs: 0 1px 0 rgba(11, 18, 24, 0.04);
	--rf-shadow-sm: 0 8px 22px rgba(11, 18, 24, 0.06);
	--rf-shadow: 0 18px 40px rgba(11, 18, 24, 0.08);
	--rf-shadow-lg: 0 28px 64px rgba(11, 18, 24, 0.12);
}

body {
	background: var(--rf-surface);
	color: var(--rf-ink);
}

h1, h2, h3,
.rf-heading__title,
.rf-hero__title,
.rf-page-header__title,
.rf-ec-hero__title,
.rf-cta-banner h2,
.rf-locations__title {
	font-family: var(--rf-font-display);
	font-weight: 700;
	letter-spacing: -0.03em;
	text-transform: none;
}

/* =========================================================================
   Header — frost bar with ice edge
   ========================================================================= */
.rf-header {
	background: rgba(247, 250, 251, 0.94);
	border-bottom: 1px solid var(--rf-line);
	backdrop-filter: saturate(1.1) blur(12px);
	box-shadow: none;
}

.rf-header::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--sz-glacier), #7ec8e3 42%, transparent 100%);
	pointer-events: none;
}

.rf-header {
	position: sticky;
}

body.rf-scroll-locked .rf-header {
	background: rgba(247, 250, 251, 0.98);
}

.rf-nav a {
	color: var(--rf-ink-2);
	border-radius: 0;
	font-weight: 600;
	font-size: 0.84rem;
	letter-spacing: 0.04em;
}

.rf-nav a::after {
	left: 0.7rem;
	right: 0.7rem;
	bottom: 0.28rem;
	height: 1px;
	border-radius: 0;
	background: var(--sz-glacier);
}

.rf-nav a:hover,
.rf-nav .current-menu-item > a,
.rf-nav .current_page_item > a {
	color: var(--sz-cabinet);
}

.rf-phone-btn {
	border-radius: 3px;
}

.rf-header .rf-btn--primary {
	border-radius: 3px;
	box-shadow: none;
	letter-spacing: 0.04em;
}

.rf-drawer__nav a:hover {
	background: var(--rf-primary-soft);
	color: var(--sz-glacier);
}

/* =========================================================================
   Buttons — stainless rectangles, not Bosch pills
   ========================================================================= */
.rf-btn {
	border-radius: 3px;
	letter-spacing: 0.03em;
	font-weight: 650;
}

.rf-btn--primary {
	box-shadow: none;
	background: var(--sz-glacier);
}

.rf-btn--primary:hover {
	background: var(--rf-primary-dark);
	box-shadow: none;
}

/* =========================================================================
   Eyebrows — rating-label, not orange service tags
   ========================================================================= */
.rf-heading__eyebrow,
.rf-eyebrow {
	font-family: var(--rf-font-mono);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sz-glacier);
	font-weight: 500;
	font-size: 0.72rem;
}

.rf-heading__eyebrow::before {
	width: 16px;
	height: 1px;
	background: var(--sz-glacier);
	border-radius: 0;
}

/* =========================================================================
   Hero — cold cabinet wash over the refrigeration photo
   ========================================================================= */
.rf-hero {
	background-color: var(--sz-cabinet);
	background-image:
		linear-gradient(90deg, rgba(11, 18, 24, 0.88) 0%, rgba(11, 18, 24, 0.58) 38%, rgba(11, 18, 24, 0.18) 72%, rgba(11, 18, 24, 0.08) 100%),
		var(--rf-hero-image, url(../images/hero-appliances.jpg));
	background-repeat: no-repeat;
	background-position: center right;
	background-size: cover;
}

@media (max-width: 782px) {
	.rf-hero {
		background-image:
			linear-gradient(180deg, rgba(11, 18, 24, 0.88) 0%, rgba(11, 18, 24, 0.55) 48%, rgba(11, 18, 24, 0.88) 100%),
			var(--rf-hero-image, url(../images/hero-appliances.jpg));
		background-position: center;
	}
}

.rf-hero__title,
.rf-hero__lead,
.rf-hero p {
	color: #f4f8fa;
}

.rf-hero__lead,
.rf-hero .rf-hero__sub {
	color: rgba(215, 227, 234, 0.86);
}

.rf-hero__trust {
	color: #fff;
}

.rf-hero__badge {
	background: transparent;
	border: 1px solid rgba(215, 227, 234, 0.28);
	box-shadow: none;
	color: var(--sz-ice);
	border-radius: 3px;
	font-family: var(--rf-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.72rem;
	font-weight: 400;
}

.rf-hero__badge .rf-icon { color: #7ec8e3; }

.rf-hero__title .rf-accent { color: #7ec8e3; }

.rf-hero__card {
	background: rgba(18, 32, 43, 0.78);
	border: 1px solid rgba(215, 227, 234, 0.16);
	border-radius: 4px;
	color: var(--sz-ice);
	backdrop-filter: blur(8px);
}

/* =========================================================================
   Cards & archives
   ========================================================================= */
.rf-card,
.rf-cpt-card,
.rf-post-card,
.rf-service-card,
.rf-location-card {
	border-radius: 4px;
	box-shadow: none;
	border: 1px solid var(--rf-line);
	background: #fff;
}

.rf-card--hover:hover,
.rf-cpt-card:hover,
.rf-post-card:hover {
	transform: none;
	border-color: var(--sz-steel);
	box-shadow: var(--rf-shadow-sm);
}

.rf-card__icon,
.rf-feature__icon {
	background: var(--sz-panel);
	color: var(--sz-ice);
	border-radius: 3px;
}

.rf-section--alt { background: var(--rf-surface-2); }

.rf-page-header {
	background: linear-gradient(180deg, #f7fafb 0%, #eef3f6 100%);
	border-bottom: 1px solid var(--rf-line);
	box-shadow: inset 0 2px 0 var(--sz-glacier);
}

.rf-page-header--image {
	border-bottom: 0;
	box-shadow: none;
	background:
		linear-gradient(90deg, rgba(11, 18, 24, 0.92) 0%, rgba(11, 18, 24, 0.62) 44%, rgba(11, 18, 24, 0.2) 78%, rgba(11, 18, 24, 0.08) 100%),
		var(--rf-header-image) center right / cover no-repeat,
		var(--sz-cabinet);
}

.rf-page-header--image .rf-page-header__title,
.rf-page-header--image .rf-page-header__sub,
.rf-page-header--contact .rf-page-header__title,
.rf-page-header--contact .rf-page-header__sub {
	color: #f4f8fa;
}

.rf-page-header--contact {
	background:
		linear-gradient(90deg, rgba(11, 18, 24, 0.92) 0%, rgba(11, 18, 24, 0.58) 46%, rgba(11, 18, 24, 0.18) 100%),
		url(../images/contact-cta-bg.jpg) center right / cover no-repeat,
		var(--sz-cabinet);
}

@media (max-width: 782px) {
	.rf-page-header--image {
		background:
			linear-gradient(180deg, rgba(11, 18, 24, 0.9) 0%, rgba(11, 18, 24, 0.55) 50%, rgba(11, 18, 24, 0.9) 100%),
			var(--rf-header-image) center / cover no-repeat,
			var(--sz-cabinet);
	}
	.rf-page-header--contact {
		background:
			linear-gradient(180deg, rgba(11, 18, 24, 0.9) 0%, rgba(11, 18, 24, 0.55) 50%, rgba(11, 18, 24, 0.9) 100%),
			url(../images/contact-cta-bg.jpg) center / cover no-repeat,
			var(--sz-cabinet);
	}
}

.rf-ec-hero {
	background:
		linear-gradient(90deg, rgba(247, 250, 251, 0.96) 0%, rgba(247, 250, 251, 0.78) 42%, rgba(247, 250, 251, 0.2) 74%, transparent 100%),
		url(../images/error-codes-hero.jpg) center right / cover no-repeat,
		var(--rf-surface-2);
}

@media (max-width: 782px) {
	.rf-ec-hero {
		background:
			linear-gradient(180deg, rgba(247, 250, 251, 0.94) 0%, rgba(247, 250, 251, 0.7) 55%, rgba(247, 250, 251, 0.92) 100%),
			url(../images/error-codes-hero.jpg) center / cover no-repeat,
			var(--rf-surface-2);
	}
}

.rf-ec-popular__code,
.rf-ec-card__code,
.rf-model-meta,
.rf-spec,
.rf-code {
	font-family: var(--rf-font-mono);
	letter-spacing: 0.04em;
}

.rf-ec-popular__item {
	border-radius: 3px;
	border: 1px solid var(--rf-line);
	background: #fff;
}

.rf-ec-popular__code {
	color: var(--sz-glacier);
}

/* Model pages stay photo-free: treat the title as a rating plate. */
.single-appliance_model .rf-page-header,
body.single-appliance_model .rf-single__hero {
	background:
		linear-gradient(180deg, #0b1218 0%, #12202b 100%);
	color: #e8eef2;
}

.single-appliance_model .rf-page-header h1,
.single-appliance_model .rf-cpt-hero h1,
body.single-appliance_model .rf-single__hero h1 {
	font-family: var(--rf-font-mono);
	font-weight: 500;
	letter-spacing: 0.02em;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	color: #f7fafb;
}

.single-appliance_model .rf-page-header .rf-page-header__intro,
.single-appliance_model .rf-cpt-hero .rf-page-header__intro,
.single-appliance_model .rf-page-header p,
.single-appliance_model .rf-cpt-hero p {
	color: rgba(232, 238, 242, 0.82);
}

.single-appliance_model .rf-page-header .rf-breadcrumb a,
.single-appliance_model .rf-cpt-hero .rf-breadcrumb a,
.single-appliance_model .rf-page-header .rf-breadcrumb,
.single-appliance_model .rf-cpt-hero .rf-breadcrumb {
	color: rgba(232, 238, 242, 0.72);
}

/* =========================================================================
   Announcement / independent-service bar
   ========================================================================= */
.rf-announce {
	background: var(--sz-cabinet);
	border-bottom: 1px solid rgba(43, 126, 181, 0.28);
	color: rgba(232, 238, 242, 0.82);
	font-family: var(--rf-font-sans);
	font-size: 0.8125rem;
}

.rf-announce__note {
	color: rgba(232, 238, 242, 0.92);
	max-width: none;
	line-height: 1.35;
}

.rf-announce a {
	color: #7ec8e3;
}

/* =========================================================================
   Footer
   ========================================================================= */
.rf-footer {
	background: var(--sz-cabinet);
	border-top: 2px solid var(--sz-glacier);
}

.rf-footer__col-title {
	font-family: var(--rf-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.72rem;
	font-weight: 500;
	color: #7ec8e3;
}

/* =========================================================================
   Forms
   ========================================================================= */
.rf-field input,
.rf-field select,
.rf-field textarea,
.rf-ec-search input {
	border-radius: 3px;
	border-color: var(--rf-line-strong);
}

.rf-field input:focus,
.rf-field select:focus,
.rf-field textarea:focus,
.rf-ec-search input:focus {
	border-color: var(--sz-glacier);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sz-glacier) 22%, transparent);
}

/* =========================================================================
   CTA
   ========================================================================= */
.rf-cta-banner,
.rf-final-cta {
	background:
		linear-gradient(100deg, rgba(11, 18, 24, 0.9) 0%, rgba(11, 18, 24, 0.62) 48%, rgba(11, 18, 24, 0.45) 100%),
		url(../images/cta-bg.jpg) center right / cover no-repeat,
		var(--sz-panel);
	border-radius: 4px;
}

@media (max-width: 640px) {
	.rf-cta-banner,
	.rf-final-cta {
		background:
			linear-gradient(180deg, rgba(11, 18, 24, 0.9) 0%, rgba(11, 18, 24, 0.78) 100%),
			url(../images/cta-bg.jpg) center / cover no-repeat,
			var(--sz-panel);
	}
}

.rf-cta-banner h2,
.rf-final-cta h2 { color: #fff; }

.rf-cta-banner p,
.rf-final-cta p {
	color: rgba(232, 238, 242, 0.88);
}

.rf-cta-banner__actions,
.rf-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
}

.rf-cta-banner__actions .rf-btn,
.rf-final-cta__actions .rf-btn,
.rf-hero__actions .rf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3rem;
	line-height: 1.2;
}

.rf-cta-banner__actions .rf-btn .rf-icon,
.rf-final-cta__actions .rf-btn .rf-icon,
.rf-hero__actions .rf-btn .rf-icon {
	flex-shrink: 0;
	width: 1.1em;
	height: 1.1em;
}

.rf-cta-banner__actions .rf-btn--onink,
.rf-cta-banner__actions .rf-btn--secondary,
.rf-final-cta__actions .rf-btn--onink,
.rf-final-cta__actions .rf-btn--secondary {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.72);
	color: #fff;
	box-shadow: none;
}

.rf-cta-banner__actions .rf-btn--onink:hover,
.rf-cta-banner__actions .rf-btn--secondary:hover,
.rf-final-cta__actions .rf-btn--onink:hover,
.rf-final-cta__actions .rf-btn--secondary:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: #fff;
	color: #fff;
}

.rf-hero__actions .rf-btn--secondary {
	background: rgba(255, 255, 255, 0.95);
	border-color: rgba(255, 255, 255, 0.95);
	color: var(--sz-cabinet);
	box-shadow: none;
}

.rf-hero__actions .rf-btn--secondary:hover {
	background: #fff;
	border-color: #fff;
	color: var(--sz-cabinet);
}

@media (max-width: 640px) {
	.rf-cta-banner__actions,
	.rf-final-cta__actions {
		flex-wrap: nowrap;
		width: 100%;
	}

	.rf-cta-banner__actions .rf-btn,
	.rf-final-cta__actions .rf-btn {
		flex: 1 1 0;
		min-width: 0;
		padding: 0.8rem 0.65rem;
		font-size: 0.8125rem;
	}
}

.rf-page-header--image .rf-breadcrumbs__link,
.rf-page-header--contact .rf-breadcrumbs__link {
	color: rgba(215, 227, 234, 0.78);
}

.rf-page-header--image .rf-breadcrumbs__current,
.rf-page-header--contact .rf-breadcrumbs__current,
.rf-page-header--image .rf-breadcrumbs__sep,
.rf-page-header--contact .rf-breadcrumbs__sep {
	color: rgba(215, 227, 234, 0.55);
}

.rf-hero .rf-breadcrumbs__link { color: rgba(215, 227, 234, 0.78); }
.rf-hero .rf-breadcrumbs__current,
.rf-hero .rf-breadcrumbs__sep { color: rgba(215, 227, 234, 0.5); }

.rf-location__link:hover { color: var(--rf-primary-dark); }

@media (prefers-reduced-motion: reduce) {
	.rf-card--hover:hover,
	.rf-cpt-card:hover { box-shadow: none; }
}


/* =========================================================================
   Fleet UI: announce mobile phone + hero trust containers (UI only)
   ========================================================================= */
.rf-announce__copy {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem 1.25rem;
	flex: 1 1 auto;
	min-width: 0;
}

.rf-hero--campaign .rf-hero__trust,
.rf-hero__trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
}

.rf-hero--campaign .rf-hero__trust li,
.rf-hero__trust li {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 10.5rem;
	max-width: 16rem;
	min-height: 3.25rem;
	padding: 0.7rem 0.9rem 0.7rem 1.15rem;
	background: rgba(0, 0, 0, 0.42);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: inset 3px 0 0 var(--rf-primary);
}

.rf-hero:not(.rf-hero--campaign) .rf-hero__trust li {
	background: rgba(0, 0, 0, 0.52);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: inset 3px 0 0 var(--rf-primary);
	color: #fff;
}

.rf-hero--campaign .rf-hero__trust li::before,
.rf-hero__trust li::before {
	content: none;
}

.rf-hero--campaign .rf-hero__trust-ico,
.rf-hero__trust-ico {
	display: none !important;
}

@media (max-width: 900px) {
	.rf-hero--campaign .rf-hero__trust,
	.rf-hero__trust {
		flex-direction: column;
		gap: 0.55rem;
		font-size: 0.9375rem;
	}

	.rf-hero--campaign .rf-hero__trust li,
	.rf-hero__trust li {
		flex: 1 1 auto;
		max-width: none;
		width: 100%;
		min-height: 2.75rem;
		padding: 0.65rem 0.85rem 0.65rem 1.1rem;
		background: rgba(0, 0, 0, 0.52);
		border: 1px solid rgba(255, 255, 255, 0.2);
		box-shadow: inset 3px 0 0 var(--rf-primary);
		color: #fff;
	}

	.rf-hero--campaign .rf-hero__trust li::before,
	.rf-hero__trust li::before {
		content: none;
	}
}

@media (max-width: 768px) {
	.rf-hero::before {
		background: rgba(11, 18, 24, 0.55);
	}
}

/* ---- ProLead booking embed clip (JennAir/Wolf pattern) ---- */
.rf-booking-embed {
	width: 100%;
	background: #fff;
	border: 0;
	border-radius: 0;
	overflow: hidden;
}

.rf-booking-embed__frame,
iframe.schedule.rf-booking-embed__frame {
	display: block;
	width: 100%;
	height: 600px;
	min-height: 600px;
	margin-top: -12px;
	border: 0;
	border-radius: 0;
	background: #fff;
	overflow: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.rf-booking-embed__frame::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.rf-hero--campaign .rf-hero__card--embed,
.rf-hero__card--embed,
.rf-hero-card--embed {
	padding: 0;
	overflow: hidden;
	background: #fff;
}

.rf-hero--campaign .rf-hero__card--embed .rf-booking-embed,
.rf-hero__card--embed .rf-booking-embed,
.rf-hero-card--embed .rf-booking-embed,
.rf-panel .rf-booking-embed,
.rf-contact-panel .rf-booking-embed,
.rf-modal__body .rf-booking-embed,
.rf-book__panel .rf-booking-embed,
.rf-contact-layout__form .rf-booking-embed,
.rf-booksplit .rf-booking-embed,
#booking .rf-booking-embed {
	height: 728px;
	margin: 0;
	overflow: hidden;
	background: #fff;
}

.rf-hero--campaign .rf-hero__card--embed .rf-booking-embed__frame,
.rf-hero__card--embed .rf-booking-embed__frame,
.rf-hero-card--embed .rf-booking-embed__frame,
.rf-panel .rf-booking-embed__frame,
.rf-contact-panel .rf-booking-embed__frame,
.rf-modal__body .rf-booking-embed__frame,
.rf-book__panel .rf-booking-embed__frame,
.rf-contact-layout__form .rf-booking-embed__frame,
.rf-booksplit .rf-booking-embed__frame,
#booking .rf-booking-embed__frame {
	height: 860px !important;
	min-height: 860px !important;
	margin: -12px 0 0;
	overflow: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

/* Drawer: panel above overlay; header stays above overlay (see main.css). */
.rf-drawer {
	z-index: 400;
}

.rf-drawer__overlay {
	z-index: 0;
}

body.rf-scroll-locked .rf-announce {
	z-index: 460;
}

.rf-drawer__panel {
	z-index: 1;
	background: #fff;
	border-top: 1px solid rgba(43, 126, 181, 0.22);
}
