/* SEOMA 2a: Phase 2 styles (design tokens from the 2a handoff). */
:root {
	--seoma-bg: #f2f2f3;
	--seoma-text: #1d1f20;
	--seoma-accent: #5980a6;
	--seoma-100: #eef6ff;
	--seoma-200: #d6ebff;
	--seoma-400: #94bce3;
	--seoma-700: #416180;
	--seoma-800: #2c455d;
	--seoma-900: #1d2d3d;
	--seoma-divider: rgba(29, 31, 32, .16);
	--seoma-heading: "Barlow Condensed", "Barlow", system-ui, sans-serif;
}

/* ---------- Links ---------- */
.wp-site-blocks a:where(:not(.wp-element-button)):hover { color: var(--seoma-900); }

/* ---------- Blueprint corner ticks (add class "blueprint" to any Group or Button) ---------- */
.blueprint {
	position: relative;
	--tick: var(--seoma-accent);
	--len: 10px;
	--w: 2px;
	background-image:
		linear-gradient(var(--tick), var(--tick)), linear-gradient(var(--tick), var(--tick)),
		linear-gradient(var(--tick), var(--tick)), linear-gradient(var(--tick), var(--tick)),
		linear-gradient(var(--tick), var(--tick)), linear-gradient(var(--tick), var(--tick)),
		linear-gradient(var(--tick), var(--tick)), linear-gradient(var(--tick), var(--tick));
	background-repeat: no-repeat;
	background-size:
		var(--len) var(--w), var(--w) var(--len),
		var(--len) var(--w), var(--w) var(--len),
		var(--len) var(--w), var(--w) var(--len),
		var(--len) var(--w), var(--w) var(--len);
	background-position:
		-1px -1px, -1px -1px,
		calc(100% + 1px) -1px, calc(100% + 1px) -1px,
		-1px calc(100% + 1px), -1px calc(100% + 1px),
		calc(100% + 1px) calc(100% + 1px), calc(100% + 1px) calc(100% + 1px);
}
.wp-block-button.blueprint { background-color: transparent; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { border-radius: 0; transition: background-color .15s, color .15s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background-color: var(--seoma-700) !important; color: var(--seoma-bg) !important; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background-color: var(--seoma-900) !important; color: var(--seoma-bg) !important; }

/* ---------- Signal Score tool ---------- */
.seoma-ss { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.seoma-ss__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid var(--seoma-divider); background: var(--seoma-bg); }
.seoma-ss__input { border: 0; border-right: 1px solid var(--seoma-divider); border-radius: 0; padding: 14px 16px; font: inherit; font-size: 15px; background: transparent; color: var(--seoma-text); min-width: 0; }
.seoma-ss__input:focus { outline: 2px solid var(--seoma-accent); outline-offset: -2px; }
.seoma-ss__button { border: 0; border-radius: 0; padding: 0 22px; font: inherit; font-weight: 600; font-size: 15px; background: var(--seoma-900); color: var(--seoma-bg); cursor: pointer; }
.seoma-ss__button:hover { background: var(--seoma-700); }
.seoma-ss__button:disabled { opacity: .6; cursor: progress; }
.seoma-ss__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.seoma-ss__status { margin: 0; font: 500 12px ui-monospace, Menlo, monospace; color: var(--seoma-800); min-height: 1em; }
.seoma-ss__fine { margin: 0; font-size: 12px; color: var(--seoma-700); }
.seoma-ss__grid { display: grid; grid-template-columns: auto repeat(4, minmax(0, 1fr)); border: 1px solid var(--seoma-divider); }
.seoma-ss__grid > div { padding: 14px 16px; border-right: 1px solid var(--seoma-divider); display: flex; flex-direction: column; gap: 8px; }
.seoma-ss__grid > div:last-child { border-right: 0; }
.seoma-ss__k { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--seoma-700); }
.seoma-ss__num { font-family: var(--seoma-heading); font-size: 40px; font-weight: 600; line-height: 1; }
.seoma-ss__num span { font-size: 18px; }
.seoma-ss__band { font-size: 12px; font-weight: 600; color: var(--seoma-800); }
.seoma-ss__meta, .seoma-ss__note { font-size: 11px; color: var(--seoma-700); line-height: 1.35; }
.seoma-ss__phead { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.seoma-ss__bar { height: 8px; background: rgba(29, 31, 32, .1); }
.seoma-ss__fill { height: 8px; background: var(--seoma-accent); width: 0; transition: width .6s ease; }
.seoma-ss__pillar.is-pending .seoma-ss__phead b { color: var(--seoma-700); font-weight: 500; }
.seoma-ss__cta { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.seoma-ss__cta p { margin: 0; font-size: 13px; }
.seoma-ss__book { display: inline-block; padding: 10px 16px; border: 1px solid var(--seoma-900); color: var(--seoma-900); text-decoration: none; font-weight: 600; font-size: 14px; }
.seoma-ss__book:hover { background: var(--seoma-900); color: var(--seoma-bg); }
@media (max-width: 781px) {
	.seoma-ss__grid { grid-template-columns: 1fr 1fr; }
	.seoma-ss__grid > div { border-right: 0; border-bottom: 1px solid var(--seoma-divider); }
	.seoma-ss__total { grid-column: 1 / -1; }
	.seoma-ss__row { grid-template-columns: 1fr; }
	.seoma-ss__input { border-right: 0; border-bottom: 1px solid var(--seoma-divider); }
	.seoma-ss__button { padding: 14px 22px; }
}

/* ---------- Mega-menu (add class "seoma-mega" to the header Navigation block) ---------- */
@media (min-width: 1100px) {
	.seoma-mega .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(200px, 1fr)) 280px;
		grid-auto-flow: row dense;
		gap: 4px 28px;
		width: min(860px, 92vw) !important;
		min-width: 0 !important;
		padding: 24px 28px !important;
		background: var(--seoma-bg) !important;
		color: var(--seoma-text) !important;
		border: 1px solid var(--seoma-divider) !important;
		border-bottom: 2px solid var(--seoma-accent) !important;
	}
	.seoma-mega .wp-block-navigation__submenu-container > li { grid-column: auto; }
	.seoma-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 0 !important; display: flex; flex-direction: column; gap: 2px; }
	.seoma-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-weight: 600; font-size: 14px; }
	.seoma-mega .wp-block-navigation-item__description { display: block; font-size: 12px; color: #4a4d50; font-weight: 400; }
	.seoma-mega .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label { color: var(--seoma-700); }
	.seoma-mega .seoma-mega-promo { grid-column: 3; grid-row: 1 / span 6; }
	.seoma-mega .seoma-mega-promo > .wp-block-navigation-item__content {
		height: 100%; padding: 22px !important; gap: 10px !important;
		background: var(--seoma-900); color: var(--seoma-bg) !important;
	}
	.seoma-mega .seoma-mega-promo .wp-block-navigation-item__label { font-family: var(--seoma-heading); font-size: 24px; line-height: 1.05; }
	.seoma-mega .seoma-mega-promo .wp-block-navigation-item__description { color: var(--seoma-100); font-size: 13px; }
	.seoma-mega .seoma-mega-promo .wp-block-navigation-item__description::after { content: "Get my Signal Score →"; display: block; margin-top: 14px; font-weight: 600; font-size: 14px; color: var(--seoma-bg); }
}
@media (max-width: 1099px) {
	.seoma-mega .seoma-mega-promo { display: none; }
}

/* ---------- Testimonial carousel (add class "seoma-carousel" to the Group holding the cards) ---------- */
.seoma-carousel { overflow: hidden; position: relative; }
.seoma-carousel__track { display: flex; transition: transform .5s ease; }
.seoma-carousel__slide { flex: 0 0 100%; min-width: 0; margin: 0 !important; }
.seoma-carousel__nav { display: flex; align-items: center; gap: 8px; margin-top: 14px; }
.seoma-carousel__dots { display: flex; gap: 6px; margin-right: auto; }
.seoma-carousel__dot { width: 28px !important; height: 4px; padding: 0 !important; border: 0 !important; background: var(--seoma-400) !important; cursor: pointer; }
.seoma-carousel__dot[aria-current="true"] { background: var(--seoma-900) !important; }
.seoma-carousel__arrow { width: 40px; height: 40px; border: 1px solid var(--seoma-900); background: transparent; color: var(--seoma-900); font-size: 16px; cursor: pointer; border-radius: 0; }
.seoma-carousel__arrow:hover { background: var(--seoma-900); color: var(--seoma-bg); }
@media (prefers-reduced-motion: reduce) {
	.seoma-carousel__track, .seoma-ss__fill { transition: none; }
}

/* ---------- Jetpack contact form on the dark contact section ---------- */
.seoma-dark-form input, .seoma-dark-form select, .seoma-dark-form textarea {
	background: transparent !important; color: var(--seoma-bg) !important;
	border: 1px solid var(--seoma-400) !important; border-radius: 0 !important;
}
.seoma-dark-form select option { color: var(--seoma-text); }
.seoma-dark-form ::placeholder { color: var(--seoma-200) !important; opacity: 1; }
.seoma-dark-form label { color: var(--seoma-bg) !important; }

/* ---------- Headings ---------- */
.wp-site-blocks :where(h1, h2, h3) { text-wrap: balance; }
