/*
Theme Name: Rage Technologies
Theme URI: https://www.ragetechinc.com
Author: Rage Technologies, Inc.
Author URI: https://www.ragetechinc.com
Description: Block theme for Rage Technologies, Inc., rebuilt from the original Wix site with refreshed content. Includes a one-click importer (Appearance > Rage Tech Setup) that creates all pages, images, logo and the home page image rotator, a built-in contact form, and redirects from the old Wix URLs. Edit everything visually in the block editor.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ragetech
Tags: block-theme, full-site-editing, business, custom-logo, custom-menu, editor-style
*/

/* ---------- Header ---------- */
.rt-header {
	padding-top: 18px;
	position: relative;
	z-index: 20;
}
.rt-header__inner {
	align-items: flex-end;
	gap: 24px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--wp--preset--color--rule);
}
.rt-logo img,
.rt-header .wp-block-site-logo img {
	display: block;
	height: auto;
	max-width: 200px;
}
.rt-header .rt-logo {
	margin: 0;
	flex-shrink: 0;
}
.rt-nav {
	gap: 4px 22px;
}
.rt-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	padding: 4px 0;
}
.rt-nav .wp-block-navigation-item__content:hover,
.rt-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary);
}
.rt-nav .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-top: 3px solid var(--wp--preset--color--primary) !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .14);
	padding: 6px 0;
	min-width: 220px !important;
}
.rt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 18px;
}
.rt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--muted);
}

/* ---------- Main ---------- */
.rt-main {
	padding-top: 36px;
	padding-bottom: 64px;
}
.rt-main h1.wp-block-heading:first-child {
	margin-top: 0;
}
.rt-small {
	font-size: var(--wp--preset--font-size--small);
	opacity: .85;
}
.rt-lead {
	font-size: var(--wp--preset--font-size--large);
}
.wp-block-separator.rt-rule {
	border: 0;
	border-top: 2px solid var(--wp--preset--color--rule);
	opacity: 1;
	width: 100%;
	max-width: none;
}

/* ---------- Home hero ---------- */
.rt-hero h1.wp-block-heading {
	font-size: var(--wp--preset--font-size--hero);
	line-height: 1.05;
	margin: 0 0 .4em;
	text-transform: uppercase;
	letter-spacing: .01em;
}
.rt-hero h1 strong {
	font-weight: 700;
}
.rt-hero p {
	font-size: var(--wp--preset--font-size--large);
}

/* ---------- Image rotator (home hero) ---------- */
.rt-slider {
	position: relative;
}
.rt-slider .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.rt-slider.is-ready {
	display: grid;
}
.rt-slider.is-ready > .rt-slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .8s ease, visibility .8s;
	margin: 0 !important;
}
.rt-slider.is-ready > .rt-slide.is-active {
	opacity: 1;
	visibility: visible;
}
.rt-slider__arrow {
	display: none;
}
.rt-slider__dots {
	grid-area: 2 / 1;
	display: flex;
	justify-content: center;
	gap: 9px;
	margin-top: 12px !important;
}
.rt-slider__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c5cbcc;
	cursor: pointer;
}
.rt-slider__dot[aria-current="true"] {
	background: var(--wp--preset--color--primary);
}

/* ---------- Three colored service columns (home) ---------- */
.rt-trio > .wp-block-column {
	display: flex;
	flex-direction: column;
}
.rt-trio h2.wp-block-heading {
	font-size: 26px;
	padding-bottom: .5em;
	margin-bottom: .2em;
	border-bottom: 2px solid var(--wp--preset--color--rule);
}
.rt-trio .wp-block-buttons {
	margin-top: auto;
	justify-content: flex-end;
}
.rt-tint-crimson h2 { color: var(--wp--preset--color--crimson); }
.rt-tint-crimson .wp-element-button { background: var(--wp--preset--color--crimson); }
.rt-tint-crimson .wp-element-button:hover { background: #7d1d32; }
.rt-tint-teal h2 { color: var(--wp--preset--color--contrast); }
.rt-tint-gold h2 { color: var(--wp--preset--color--gold-dark); }
.rt-tint-gold .wp-element-button { background: var(--wp--preset--color--gold); color: #262626; }
.rt-tint-gold .wp-element-button:hover { background: #a8a124; color: #000; }

/* ---------- Audience chips ---------- */
.rt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.rt-chips li {
	background: var(--wp--preset--color--muted);
	border-left: 4px solid var(--wp--preset--color--primary);
	padding: 8px 14px;
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- Feature icons & cards ---------- */
.rt-features .rt-feature__icon img {
	height: 72px;
	width: auto;
}
.rt-features h4.wp-block-heading {
	margin-top: .6rem;
	margin-bottom: .2rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.rt-features p {
	font-size: var(--wp--preset--font-size--small);
}
.rt-cards > .rt-card {
	border-top: 4px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--muted);
	padding: 22px;
	display: flex;
	flex-direction: column;
}
.rt-cards > .rt-card h3 {
	margin-top: 0;
}
.rt-cards > .rt-card .wp-block-buttons {
	margin-top: auto;
	padding-top: .8rem;
}
.rt-cards > .rt-card:nth-child(3n+2) { border-top-color: var(--wp--preset--color--crimson); }
.rt-cards > .rt-card:nth-child(3n+3) { border-top-color: var(--wp--preset--color--gold); }

/* Two-column checklist (cabling services etc.) */
ul.rt-checklist {
	columns: 2;
	column-gap: 32px;
	list-style: none;
	padding-left: 0;
}
ul.rt-checklist li {
	break-inside: avoid;
	padding: 4px 0 4px 26px;
	position: relative;
}
ul.rt-checklist li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: .75em;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--wp--preset--color--primary);
	border-bottom: 2px solid var(--wp--preset--color--primary);
	transform: rotate(-45deg);
}
@media (max-width: 600px) {
	ul.rt-checklist { columns: 1; }
}

.rt-photo img {
	width: 100%;
	height: auto;
}

/* ---------- Call-to-action band ---------- */
.rt-cta {
	background: var(--wp--preset--color--primary);
	color: #fff;
	padding: 36px 24px;
	margin-top: 48px !important;
}
.rt-cta h2 {
	color: #fff;
	margin-top: 0;
}
.rt-cta a:not(.wp-element-button) {
	color: #fff;
}
.rt-cta .wp-element-button {
	background: #fff;
	color: var(--wp--preset--color--primary-dark);
}
.rt-cta .wp-element-button:hover {
	background: var(--wp--preset--color--gold);
	color: #262626;
}

/* ---------- Contact form ---------- */
.rt-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
}
.rt-form__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}
.rt-form__field--full {
	grid-column: 1 / -1;
}
.rt-form input,
.rt-form textarea {
	font: inherit;
	font-size: 16px;
	font-weight: 400;
	padding: 9px 11px;
	border: 1px solid #a9b1b2;
	border-radius: 0;
	background: #fff;
	color: var(--wp--preset--color--contrast);
}
.rt-form input:focus,
.rt-form textarea:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 0;
	border-color: var(--wp--preset--color--primary);
}
.rt-form textarea {
	min-height: 150px;
	resize: vertical;
}
.rt-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.rt-form button {
	justify-self: start;
	font: inherit;
	color: #fff;
	background: var(--wp--preset--color--primary);
	border: 0;
	padding: .65em 2.4em;
	cursor: pointer;
}
.rt-form button:hover,
.rt-form button:focus-visible {
	background: var(--wp--preset--color--primary-dark);
}
.rt-form-notice {
	padding: 14px 18px;
	margin-bottom: 18px;
	background: #e8f2ea;
	color: #1d5e2c;
	border-left: 4px solid #2e8b47;
}
.rt-form-notice--error {
	background: #fbecee;
	color: #7d1d32;
	border-left-color: var(--wp--preset--color--crimson);
}
@media (max-width: 600px) {
	.rt-form { grid-template-columns: 1fr; }
}

/* ---------- Footer ---------- */
.rt-footer {
	border-top: 2px solid var(--wp--preset--color--rule);
	background: var(--wp--preset--color--muted);
	padding-top: 34px;
	padding-bottom: 18px;
	font-size: var(--wp--preset--font-size--small);
}
.rt-footer p {
	line-height: 1.9;
}
.rt-footer strong {
	color: var(--wp--preset--color--primary);
}
.rt-footer a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.rt-footer a:hover {
	color: var(--wp--preset--color--crimson);
	text-decoration: underline;
}
.rt-footer__copy {
	border-top: 1px solid #d3d8d9;
	padding-top: 14px;
	margin-top: 18px !important;
	color: #5c5c5c;
}

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.rt-hero .wp-block-column:last-child { order: -1; }
	.rt-features.wp-block-columns {
		flex-wrap: wrap !important;
		gap: 24px 16px;
	}
	.rt-features.wp-block-columns > .wp-block-column {
		flex-basis: calc(50% - 8px) !important;
		flex-grow: 0;
	}
}
@media (max-width: 600px) {
	.rt-logo img,
	.rt-header .wp-block-site-logo img {
		max-width: 150px;
	}
}
