/*
Theme Name: SolelySolar
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: solelysolar
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts margin-block-start: var(--wp--style--block-gap) between the
   template's top-level sections (header part, main, footer part) — a gap that
   exists even when no markup asks for it. Zero it so sections butt edge-to-edge
   and own their vertical rhythm via padding; this does not affect block gaps
   inside nested layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

/* ---------- SolelySolar design ---------- */

/* Floating header that sits over the opening hero band (a template-part wraps it, so it is not a direct .wp-site-blocks child) */
.site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
}
.site-header,
.site-header .wp-block-site-title a,
.site-header .wp-block-navigation-item a {
	color: #fff;
}
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover {
	opacity: 0.8;
}
.site-header .wp-block-navigation__responsive-container-open {
	color: #fff;
}

/* Soft aurora glow band (hero + one lower section only) */
.sls-glow {
	position: relative;
	overflow: hidden;
}
.sls-glow::before,
.sls-glow::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.55;
	z-index: 0;
	pointer-events: none;
}
.sls-glow::before {
	width: 560px;
	height: 560px;
	background: #4f8cff;
	top: -140px;
	left: -90px;
}
.sls-glow::after {
	width: 520px;
	height: 520px;
	background: #ff6f61;
	bottom: -160px;
	right: -70px;
}
.sls-glow > * {
	position: relative;
	z-index: 1;
}

/* Hero over the glow, content pinned center-left */
.sls-hero {
	min-height: 92vh;
	display: flex;
	align-items: center;
}
.sls-hero .wp-block-cover__inner-container {
	padding: 0;
}
.sls-hero .wp-block-cover__background {
	opacity: 0.55 !important;
}
.sls-hero .sls-hero-content {
	margin-left: 0 !important;
	margin-right: auto !important;
	background: transparent !important;
}
.sls-hero .sls-hero-content .wp-block-button__link {
	box-shadow: 0 8px 24px rgb(79 140 255 / 0.35);
}
/* Hero text on the dark scrim */
.sls-hero-content .wp-block-heading,
.sls-hero-content > p:not(.sls-eyebrow) {
	color: #fff !important;
}

/* Dark (ink) sections keep light text regardless of palette class soup */
.sls-ink {
	color: #fff;
}
.sls-ink h1,
.sls-ink h2,
.sls-ink h3,
.sls-ink p:not(.sls-eyebrow) {
	color: #fff;
}
.sls-ink .sls-eyebrow {
	color: #8fb1ff !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border-color: rgba(143, 177, 255, 0.4) !important;
}

/* Hero eyebrow: translucent light tag over the image */
.sls-hero .sls-eyebrow {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.16) !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
}

/* Footer is an ink band, so its text must be light */
.site-footer {
	color: #fff !important;
}
.site-footer p,
.site-footer .wp-block-site-title {
	color: #fff !important;
}
.site-footer .wp-block-separator {
	border-color: rgba(255, 255, 255, 0.18);
}

/* Contact form fields match the design's rounded cards */
.wp-block-jetpack-contact-form input[type],
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-contact-form select {
	border: 1px solid #e8eaf0 !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
	font: inherit !important;
}
.wp-block-jetpack-contact-form input[type]:focus,
.wp-block-jetpack-contact-form textarea:focus {
	border-color: #4f8cff !important;
	outline: none;
}

/* Service / project cards */
.sls-card {
	background: #fff;
	border: 1px solid #e8eaf0;
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
	padding: 24px;
}
.sls-card .wp-block-image img {
	border-radius: 0;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

/* Section eyebrow pill label */
.sls-eyebrow {
	display: inline-block;
	border: 1px solid #e8eaf0;
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #6b7080;
}

/* Stat numbers */
.sls-stat .wp-block-heading {
	font-variant-numeric: tabular-nums;
}

/* Dark (ink) band used to open inner pages so the white header reads */
.sls-ink {
	background: #0f1222;
	color: #fff;
}

/* Rounded media frames */
.sls-frame img {
	border-radius: 16px;
	border: 1px solid #e8eaf0;
}

/* Product tag line (colored lead-in) */
.sls-tag {
	color: #4f8cff;
}

/* Numbered service label */
.sls-num {
	color: #4f8cff;
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	margin-bottom: 0.4rem;
}

/* Flow / progression strip (e.g. Assess → Design → …) */
.sls-flow {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	background: #fff;
	border: 1px solid #e8eaf0;
	border-radius: 999px;
	padding: 12px 22px;
	font-weight: 600;
	color: #0f1222;
}
.sls-ink p.sls-flow {
	color: #0f1222;
}

/* Technical schematic (EV battery storage) */
.sls-schematic {
	background: #f5f7fb;
	border: 1px solid #e8eaf0;
	border-radius: 14px;
	padding: 20px 22px;
	font-weight: 600;
	color: #0f1222;
	line-height: 1.7;
}

/* Specification table */
.wp-block-table.sls-spec table {
	border-collapse: collapse;
	width: 100%;
	border: 1px solid #e8eaf0;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}
.wp-block-table.sls-spec th,
.wp-block-table.sls-spec td {
	border: 1px solid #e8eaf0;
	padding: 12px 16px;
	text-align: left;
	font-size: 0.95rem;
}
.wp-block-table.sls-spec th {
	background: #f5f7fb;
	font-weight: 600;
}

/* Check / bullet list */
.sls-check {
	list-style: none;
	padding-left: 0;
}
.sls-check li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 8px;
}
.sls-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.22em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #4f8cff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.5 11.6 2.9 8l1.2-1.2 2.4 2.4 5.3-5.3L13 5z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.5 11.6 2.9 8l1.2-1.2 2.4 2.4 5.3-5.3L13 5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}
