/* Inherent Cost Review. Colours can be overridden from the theme via these variables. */
.icr {
	--icr-accent: #1d4ed8;
	--icr-accent-text: #fff;
	--icr-border: #d1d5db;
	--icr-muted: #4b5563;
	--icr-panel: #f3f6fb;
	--icr-error: #b42318;
	max-width: 1040px;
	margin: 0 auto;
	box-sizing: border-box;
	container-type: inline-size;
}
.icr *, .icr *::before, .icr *::after { box-sizing: inherit; }
.icr__title { margin: 0 0 .5em; }
.icr__intro { color: var(--icr-muted); max-width: 60ch; margin: 0 0 1.5em; }
.icr__grid { display: grid; grid-template-columns: 1fr; gap: 0 2.5rem; }
.icr__field { margin: 0 0 1.25em; border: 0; padding: 0; min-width: 0; }
.icr__field > label, .icr__field > legend { display: block; font-weight: 600; margin-bottom: .35em; padding: 0; }
.icr input[type="text"], .icr input[type="email"], .icr input[type="tel"], .icr input[type="number"], .icr input[type="month"], .icr textarea {
	width: 100%;
	padding: .6em .75em;
	border: 1px solid var(--icr-border);
	border-radius: 6px;
	font: inherit;
	background: #fff;
	color: inherit;
}
.icr__money { display: flex; align-items: center; gap: .4em; font-size: 1.25em; font-weight: 600; }
.icr__money input { font-size: 1em; }
.icr__hint { display: block; color: var(--icr-muted); font-size: .875em; margin-top: .35em; }
.icr__checks { display: grid; grid-template-columns: 1fr; gap: .35em 1em; }
.icr__checks label { display: flex; gap: .5em; align-items: flex-start; font-weight: normal; }
.icr__checks input { margin-top: .25em; }
.icr__radios { grid-template-columns: 1fr; }
.icr__req { color: var(--icr-error); }
.icr__ai-extra { background: var(--icr-panel); border-radius: 10px; padding: 1em 1.25em .25em; }
.icr__ai-extra > .icr__hint { margin: 0 0 1em; }
.icr__ai-extra .icr__field { margin-bottom: 1em; }
.icr__total { background: var(--icr-panel); border-radius: 10px; padding: 1.25em 1.5em; margin: 0 0 1.5em; }
.icr__total[hidden] { display: none; }
.icr__total p { margin: 0; }
.icr__total-label { color: var(--icr-muted); font-size: .9em; text-transform: uppercase; letter-spacing: .04em; }
.icr__total-year { font-size: 2em; font-weight: 700; line-height: 1.2; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .3em; }
.icr__total-year span:last-child { font-size: .5em; font-weight: 600; color: var(--icr-muted); white-space: nowrap; }
.icr__total-term { margin-top: .25em !important; }
.icr__total-note { margin-top: .75em !important; color: var(--icr-muted); font-size: .9em; }
.icr__button {
	display: inline-block;
	padding: .8em 1.6em;
	border: 0;
	border-radius: 6px;
	background: var(--icr-accent);
	color: var(--icr-accent-text);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.icr__button:hover, .icr__button:focus-visible { filter: brightness(1.1); }
.icr__error { color: var(--icr-error); font-weight: 600; }
.icr__thanks { background: var(--icr-panel); border-radius: 10px; padding: 1.5em; }
.icr__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Columns depend on the space the form gets, not the window: theme content areas are often narrow. */
@container (min-width: 480px) {
	.icr__checks { grid-template-columns: 1fr 1fr; }
}
@container (min-width: 820px) {
	.icr__grid { grid-template-columns: 1fr 1fr; }
	.icr__checks { grid-template-columns: 1fr; }
}
@container (min-width: 960px) {
	.icr__checks { grid-template-columns: 1fr 1fr; }
}

/* AI visibility check */
.icr__list { margin: .75em 0; padding-left: 1.2em; }
.icr__list li { margin-bottom: .4em; }
.icr__offer p { margin: 0 0 .5em; }
.icr--ai .icr__offer { position: sticky; top: 2rem; }

/* AI visibility check call-out on blog posts. */
.icr-callout {
	max-width: 760px;
	margin: 2.5em 0 1.5em;
	color: #3d3a36;
	padding: 1.5em 1.75em;
	background: #F7F7F7;
	border-top: 4px solid var(--icr-accent);
	border-radius: 6px;
}
.icr-callout p { margin: 0; }
.icr-callout .icr-callout__eyebrow { font-size: .8em; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--icr-muted); margin-bottom: .4em; }
.icr-callout--top { margin: 0 0 2em; }
.icr-callout .icr-callout__title { font-size: 1.45em; font-weight: 600; line-height: 1.25; margin-bottom: .5em; color: #201f1d; }
.icr-callout .icr-callout__text { color: #3d3a36; }
.icr-callout .icr-callout__text { line-height: 1.6; margin-bottom: 1.1em; }
.icr-callout .icr__button { text-decoration: none; }

/* Call-out at the end of a page (often a full-width Elementor layout): centred, with side gutters. */
.icr-callout--page { width: calc(100% - 32px); max-width: 1100px; margin: 3em auto; box-sizing: border-box; }
/* Homepage band: wide, text left and button right on larger screens. */
.icr-callout--band { width: calc(100% - 32px); max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
/* Side by side once the box itself is wide enough (container query on .icr). */
@container (min-width: 760px) {
	.icr-callout--page .icr-callout__inner, .icr-callout--band .icr-callout__inner { display: flex; align-items: center; gap: 2.5em; }
	.icr-callout--page .icr-callout__body, .icr-callout--band .icr-callout__body { flex: 1; }
	.icr-callout--page .icr-callout__text, .icr-callout--band .icr-callout__text { margin-bottom: 0; }
	.icr-callout--page .icr-callout__action, .icr-callout--band .icr-callout__action { flex: none; }
}
.icr__thanks-more { margin-top: 1em; }
