/*
Theme Name: Little Victories
Theme URI: https://lilvictoriesco.com
Author: Little Victories, LLC
Author URI: https://lilvictoriesco.com
Description: A custom block theme for Little Victories, a boutique grant writing and consulting firm in Lincoln, Nebraska. Includes the brand palette, type, logos and ready-made Home, Services and About & contact pages.
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: little-victories
Tags: block-patterns, full-site-editing, one-column, custom-colors, editor-style
*/

/* ---------- Small brand details theme.json can't express ---------- */

/* Sections sit flush against the header and footer */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Header: smaller button on phones so logo, menu and button share one row */
@media (max-width: 599px) {
	.lv-site-header .wp-block-button__link { padding: 12px 14px !important; font-size: 10px; letter-spacing: .12em; }
}

/* Eyebrow paragraph style: wide-tracked capitals above headings */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--sackers);
	font-size: 12px;
	line-height: 16px;
	font-weight: 300;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}
.is-style-eyebrow:not(.has-text-color) {
	color: var(--wp--preset--color--deep-clay);
}

/* Text link style for buttons: underlined capitals, no fill */
.wp-block-button.is-style-text-link .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--deep-clay);
	padding: 0 0 4px;
	border-radius: 0;
	border-bottom: 1px solid currentColor;
	font-size: 11px;
}
.wp-block-button.is-style-text-link .wp-block-button__link:hover,
.wp-block-button.is-style-text-link .wp-block-button__link:focus {
	background: transparent;
	color: var(--wp--preset--color--charcoal);
}

/* Sparkle rule: hairline with the brand sparkle in the middle */
.wp-block-separator.is-style-sparkle {
	border: 0;
	height: 24px;
	width: 100% !important;
	max-width: none !important;
	opacity: 1;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12 7.5 16.5 12 24 12C16.5 12 12 16.5 12 24C12 16.5 7.5 12 0 12C7.5 12 12 7.5 12 0Z' fill='%23d85637'/%3E%3C/svg%3E") center / 22px 22px no-repeat,
		linear-gradient(#d85637, #d85637) left center / calc(50% - 24px) 1px no-repeat,
		linear-gradient(#d85637, #d85637) right center / calc(50% - 24px) 1px no-repeat;
}

/* A lone sparkle before a paragraph (marks a win) */
.lv-sparkle::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 12px;
	vertical-align: -3px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12 7.5 16.5 12 24 12C16.5 12 12 16.5 12 24C12 16.5 7.5 12 0 12C7.5 12 12 7.5 12 0Z' fill='%23d85637'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Contact lines with small solid icons */
.lv-icon {
	display: flex;
	align-items: center;
	gap: 10px;
}
.lv-icon::before {
	content: "";
	flex: 0 0 15px;
	width: 15px;
	height: 15px;
	background-color: var(--wp--preset--color--lv-orange);
	-webkit-mask: var(--lv-icon) center / contain no-repeat;
	mask: var(--lv-icon) center / contain no-repeat;
}
.lv-icon a { color: inherit; text-decoration: none; }
.lv-icon a:hover { color: var(--wp--preset--color--deep-clay); text-decoration: underline; }
.lv-icon-phone { --lv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.lv-icon-email { --lv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 7.2V18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7.2l-10 6.2zM2.8 5 12 10.7 21.2 5z'/%3E%3C/svg%3E"); }
.lv-icon-web { --lv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 9h-3a15 15 0 0 0-1.3-5.6A8 8 0 0 1 18.9 11zM12 4.1c.9 1.2 1.8 3.6 2 6.9h-4c.2-3.3 1.1-5.7 2-6.9zM9.4 5.4A15 15 0 0 0 8.1 11h-3a8 8 0 0 1 4.3-5.6zM5.1 13h3a15 15 0 0 0 1.3 5.6A8 8 0 0 1 5.1 13zm6.9 6.9c-.9-1.2-1.8-3.6-2-6.9h4c-.2 3.3-1.1 5.7-2 6.9zm2.6-1.3a15 15 0 0 0 1.3-5.6h3a8 8 0 0 1-4.3 5.6z'/%3E%3C/svg%3E"); }
.lv-icon-location { --lv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.lv-icon-dark::before { background-color: var(--wp--preset--color--deep-clay); }

/* Hero photo with the seal overlapping its corner */
.lv-hero-media { position: relative; }
.lv-hero-media .lv-seal-badge {
	position: absolute;
	left: -40px;
	bottom: -40px;
	width: 150px;
	margin: 0 !important;
	z-index: 2;
}
@media (max-width: 781px) {
	.lv-hero-media .lv-seal-badge { left: -8px; bottom: -32px; width: 112px; }
}

/* Cards that are whole links */
.lv-link-card { transition: border-color .15s ease; }
.lv-link-card:hover { border-color: var(--wp--preset--color--deep-clay) !important; }

/* Placeholder captions inside photo blocks */
.lv-photo-note { font-size: 13px; }

/* Header: keep the logo crisp and the row tidy */
.lv-site-header .wp-block-image img { height: 44px; width: auto; }
.lv-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--warm-white);
	padding: 32px 24px;
}

/* Forms (Jetpack) in brand style */
.wp-block-jetpack-contact-form input:not([type="checkbox"]):not([type="radio"]),
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-contact-form textarea {
	border: 1px solid var(--wp--preset--color--deep-clay) !important;
	border-radius: 2px !important;
	background: var(--wp--preset--color--warm-white) !important;
	color: var(--wp--preset--color--charcoal) !important;
	font-family: var(--wp--preset--font-family--open-sans) !important;
	font-size: 16px !important;
	min-height: 50px;
	padding: 12px 16px !important;
	box-sizing: border-box;
}
.wp-block-jetpack-contact-form input[type="checkbox"] { accent-color: var(--wp--preset--color--deep-clay); width: 18px; height: 18px; }
.wp-block-jetpack-contact-form label,
.wp-block-jetpack-contact-form legend,
.wp-block-jetpack-contact-form .grunion-field-label { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--charcoal); }

/* Newsletter (Jetpack Subscribe) */
.wp-block-jetpack-subscriptions input[type="email"] {
	border: 1px solid var(--wp--preset--color--deep-clay) !important;
	border-radius: 2px !important;
	background: var(--wp--preset--color--warm-white) !important;
	min-height: 50px;
}
.wp-block-jetpack-subscriptions button[type="submit"] {
	font-family: var(--wp--preset--font-family--sackers) !important;
	font-size: 12px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	border-radius: 6px !important;
}

/* Visible keyboard focus */
:where(a, button, input, select, textarea, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--wp--preset--color--deep-clay);
	outline-offset: 3px;
}

/* Sparkle rule on its own inside a centered section stays short */
.is-layout-constrained > .wp-block-separator.is-style-sparkle {
	max-width: 420px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
