/* Yugantar & Associates theme: the few things theme.json cannot express. */

.ya-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--wp--preset--color--line);
	backdrop-filter: saturate(1.4) blur(8px);
}
.admin-bar .ya-header { top: var(--wp-admin--admin-bar--height, 32px); }
.ya-brand .wp-block-site-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.ya-brand .ya-brand-sub { margin: 0; }
.ya-header .wp-block-navigation { font-size: 15px; font-weight: 600; gap: 28px; }
.ya-header .wp-block-navigation a { color: var(--wp--preset--color--ink); text-decoration: none; }
.ya-header .wp-block-navigation a:hover,
.ya-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--green); }

a { text-underline-offset: 3px; }

/* Hero */
.ya-hero { position: relative; overflow: hidden; }
.ya-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(78, 154, 53, 0.22), transparent 65%);
	pointer-events: none;
}
.ya-hero h1, .ya-hero p { color: #fff; }
.ya-hero .is-style-eyebrow { color: #A8D99A; }
.ya-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, 0.6); background: transparent; }
.ya-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.1); }
.ya-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff; color: var(--wp--preset--color--ink); }

.is-style-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--green);
}

/* Stats */
.ya-stats .ya-stat-value {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--ink);
	margin: 0;
}
.ya-stats .ya-stat-label { margin: 6px 0 0; font-size: 14px; color: var(--wp--preset--color--muted); }

/* Cards */
.wp-block-group.is-style-card {
	height: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: 28px;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.wp-block-group.is-style-card:hover { border-color: #B9D2D9; box-shadow: 0 14px 32px rgba(6, 48, 58, 0.07); }
.wp-block-group.is-style-card h3 { margin-top: 0; }
.ya-card-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 0 18px;
	border-radius: 10px;
	background: var(--wp--preset--color--sky);
	color: var(--wp--preset--color--ca-blue);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 15px;
}
.wp-block-columns.ya-grid > .wp-block-column { display: flex; flex-direction: column; }

/* Lists with ticks */
ul.is-style-ticks { list-style: none; padding-left: 0; }
ul.is-style-ticks li { position: relative; padding-left: 26px; margin: 0 0 10px; }
ul.is-style-ticks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.5em;
	width: 11px;
	height: 6px;
	border-left: 2px solid var(--wp--preset--color--green);
	border-bottom: 2px solid var(--wp--preset--color--green);
	transform: rotate(-45deg);
}

/* Industry chips */
.ya-chips p {
	margin: 0;
	padding: 8px 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

/* Contact */
.ya-contact-card { background: var(--wp--preset--color--sky); border-radius: 14px; padding: 32px; }
.ya-map iframe { display: block; width: 100%; height: 360px; border: 0; border-radius: 14px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"], .wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #C8D7DB;
	border-radius: 8px;
	font: inherit;
	background: #fff;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--ca-blue); outline-offset: 1px; border-color: transparent; }
.wpcf7 textarea { min-height: 140px; }
.wpcf7 input[type="submit"] {
	padding: 13px 28px;
	border: 0;
	border-radius: 8px;
	background: var(--wp--preset--color--ca-blue);
	color: #fff;
	font: 600 15px var(--wp--preset--font-family--body);
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--ink); }

/* Footer */
.ya-footer a { color: #fff; }
.ya-footer .ya-footer-label { margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #A8D99A; }
.ya-footer .ya-footer-legal { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.7); }

@media (max-width: 781px) {
	.ya-header .wp-block-navigation { gap: 16px; }
	.ya-hero::after { width: 300px; height: 300px; }
}

/* Header, page and footer sit flush against each other. */
.wp-site-blocks > * + * { margin-block-start: 0; }
main > .wp-block-post-content > *:first-child { margin-block-start: 0; }

/* Contact Form 7 forms laid out with Bootstrap-style columns (the form made for Cynic). */
.wpcf7 .row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; text-align: left; }
.wpcf7 .row > .col-lg-12 { grid-column: 1 / -1; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 button[type="submit"] {
	margin-top: 14px;
	padding: 13px 28px;
	border: 0;
	border-radius: 8px;
	background: var(--wp--preset--color--ca-blue);
	color: #fff;
	font: 600 15px var(--wp--preset--font-family--body);
	cursor: pointer;
}
.wpcf7 button[type="submit"]:hover { background: var(--wp--preset--color--ink); }
@media (max-width: 600px) { .wpcf7 .row { grid-template-columns: 1fr; } }
