.tta-ai { color: var(--wp--preset--color--primary); padding-block: var(--wp--custom--spacing--section-compact); }
.tta-ai.tta-section { margin-block: 0; }
.tta-ai.tta-section > .tta-ai__surface { max-width: none; width: 100%; margin-inline: 0; }
.tta-ai *, .tta-ai *::before, .tta-ai *::after { box-sizing: border-box; }
.tta-ai [hidden] { display: none !important; }
.tta-ai__surface { padding: var(--wp--custom--spacing--section-standard) var(--wp--custom--layout--padding); background: var(--wp--preset--color--blue-100); }
.tta-ai__inner { max-width: var(--wp--custom--layout--wide); margin-inline: auto; }
.tta-ai p, .tta-ai h2, .tta-ai fieldset { margin: 0; }
.tta-ai__heading { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--display-lg); font-weight: var(--wp--custom--font-weight--regular); line-height: var(--wp--custom--line-height--display); }
.tta-ai__columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); gap: var(--wp--custom--spacing--4-xl); align-items: start; margin-top: var(--wp--custom--spacing--7-xl); }
.tta-ai__card { display: grid; gap: var(--wp--custom--spacing--4-xl); min-width: 0; padding: var(--wp--custom--spacing--5-xl); border: 1px solid var(--wp--preset--color--blue-200); border-radius: var(--wp--custom--border-radius--element); background: var(--wp--preset--color--white); box-shadow: var(--wp--custom--shadow--card); }
.tta-ai__step { display: flex; align-items: center; gap: var(--wp--custom--spacing--md); font-size: var(--wp--preset--font-size--text-sm); font-weight: var(--wp--custom--font-weight--semibold); }
.tta-ai__step > span { background: var(--wp--preset--color--accent-soft); border-radius: var(--wp--custom--border-radius--full); font-size: var(--wp--preset--font-size--badge); padding: var(--wp--custom--spacing--md) var(--wp--custom--spacing--lg); }
.tta-ai fieldset { min-width: 0; border: 0; padding: 0; }
.tta-ai legend, .tta-ai__field label { font: var(--wp--custom--font-weight--semibold) var(--wp--preset--font-size--text-sm)/var(--wp--custom--line-height--compact) var(--wp--preset--font-family--sans); }
.tta-ai__modes { display: flex; flex-wrap: wrap; gap: var(--wp--custom--spacing--xl); margin-top: var(--wp--custom--spacing--xl); }
.tta-ai__modes label { position: relative; cursor: pointer; }
.tta-ai__modes input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.tta-ai__modes span { display: block; min-width: 88px; text-align: center; border: 1px solid var(--wp--preset--color--border-control); border-radius: var(--wp--custom--border-radius--full); padding: var(--wp--custom--spacing--lg) var(--wp--custom--spacing--2-xl); font-size: var(--wp--preset--font-size--text-sm); }
.tta-ai__modes input:checked + span { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); }
.tta-ai__modes input:focus-visible + span, .tta-ai__field :is(input, select):focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; }
.tta-ai__scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--custom--spacing--3-xl); }
.tta-ai__field { display: grid; min-width: 0; gap: var(--wp--custom--spacing--md); }
.tta-ai__field label span { color: var(--wp--preset--color--form-error); }
.tta-ai__field :is(input, select) { height: var(--wp--custom--spacing--7-xl); width: 100%; min-width: 0; padding: var(--wp--custom--spacing--xl); border: 1px solid var(--wp--preset--color--border-control); border-radius: var(--wp--custom--border-radius--control); background: var(--wp--preset--color--white); color: inherit; font: var(--wp--custom--font-weight--regular) var(--wp--preset--font-size--text-sm)/1 var(--wp--preset--font-family--sans); }
.tta-ai__field :is(input, select)[aria-invalid="true"] { border-color: var(--wp--preset--color--form-error); }
.tta-ai__hint, .tta-ai__error { color: var(--wp--preset--color--text-subtle); font-size: var(--wp--preset--font-size--text-xs); line-height: var(--wp--custom--line-height--normal); }
.tta-ai__error { color: var(--wp--preset--color--form-error); }
.tta-ai__result { padding: var(--wp--custom--spacing--5-xl); background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); border-radius: var(--wp--custom--border-radius--element); min-width: 0; }
.tta-ai__result-heading, .tta-ai__interpretation > p:first-child { font: var(--wp--custom--font-weight--semibold) var(--wp--preset--font-size--display-xs)/var(--wp--custom--line-height--tight) var(--wp--preset--font-family--sans); }
.tta-ai p.tta-ai__number { margin-top: var(--wp--custom--spacing--xl); font: var(--wp--custom--font-weight--regular) var(--wp--preset--font-size--calculator-score)/1 var(--wp--preset--font-family--sans); letter-spacing: -.03em; }
.tta-ai__scale, .tta-ai__ticks { color: var(--wp--preset--color--text-inverse-muted); font-size: var(--wp--preset--font-size--text-sm); }
.tta-ai__track { margin-top: var(--wp--custom--spacing--xl); height: var(--wp--custom--spacing--md); overflow: hidden; border-radius: var(--wp--custom--border-radius--full); background: var(--wp--preset--color--border-inverse-muted); }
.tta-ai__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--wp--preset--color--blue-300); }
.tta-ai__ticks { display: flex; justify-content: space-between; margin-top: var(--wp--custom--spacing--xs); }
.tta-ai__interpretation { border-top: 1px solid var(--wp--preset--color--border-inverse-muted); margin-top: var(--wp--custom--spacing--4-xl); padding-top: var(--wp--custom--spacing--4-xl); }
.tta-ai p.tta-ai__note { margin-top: var(--wp--custom--spacing--xl); font-size: var(--wp--preset--font-size--text-sm); line-height: var(--wp--custom--line-height--normal); }
.tta-ai__email-preview { display: grid; gap: var(--wp--custom--spacing--4-xl); border-top: 1px solid var(--wp--preset--color--blue-200); padding-top: var(--wp--custom--spacing--5-xl); }
.tta-ai__email-intro { display: grid; gap: var(--wp--custom--spacing--xl); }
.tta-ai__email-intro h3 { margin: 0; font: var(--wp--custom--font-weight--regular) var(--wp--preset--font-size--display-md)/var(--wp--custom--line-height--display) var(--wp--preset--font-family--serif); letter-spacing: -.01em; }
.tta-ai__email-intro p { font-size: var(--wp--preset--font-size--text-sm); line-height: var(--wp--custom--line-height--normal); }
.tta-ai .tta-ai__preview-fields { display: grid; gap: var(--wp--custom--spacing--4-xl); }
.tta-ai__preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--custom--spacing--4-xl); }
.tta-ai__field--full { grid-column: 1 / -1; }
.tta-ai__preview-fields input:disabled { opacity: 1; cursor: not-allowed; -webkit-text-fill-color: var(--wp--preset--color--text-subtle); }
.tta-ai__preview-fields input::placeholder { color: var(--wp--preset--color--text-subtle); opacity: 1; }
.tta-ai__preview-consent { display: flex; align-items: flex-start; gap: var(--wp--custom--spacing--lg); padding: var(--wp--custom--spacing--lg) var(--wp--custom--spacing--md); font-size: var(--wp--preset--font-size--text-xs); line-height: var(--wp--custom--line-height--normal); }
.tta-ai__preview-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; appearance: none; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--text-subtle); border-radius: 2px; }
.tta-ai__preview-consent a { color: inherit; text-decoration: underline; }
.tta-ai .tta-ai__preview-button { justify-self: center; min-height: 56px; max-width: 100%; padding: var(--wp--custom--spacing--xl) var(--wp--custom--spacing--4-xl); border: 1px solid var(--wp--preset--color--primary); border-radius: var(--wp--custom--border-radius--full); background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); font: var(--wp--custom--font-weight--semibold) var(--wp--preset--font-size--text-sm)/var(--wp--custom--line-height--normal) var(--wp--preset--font-family--sans); opacity: 1; cursor: not-allowed; }
@media (max-width: 767px) {
	.tta-ai { padding-block: var(--wp--custom--spacing--3-xl); }
	.tta-ai__surface { padding-block: var(--wp--custom--spacing--7-xl); }
	.tta-ai__columns { grid-template-columns: minmax(0, 1fr); gap: var(--wp--custom--spacing--3-xl); margin-top: var(--wp--custom--spacing--5-xl); }
	.tta-ai__card, .tta-ai__result { padding: var(--wp--custom--spacing--2-xl); }
	.tta-ai__scores, .tta-ai__preview-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ACF sanitises boolean form attributes; keep the editor preview on its initial SAT view. */
.tta-ai.is-editor-preview [data-ai-interactive] { display: grid !important; }
.tta-ai.is-editor-preview :is([data-ai-act], [data-ai-numeric-gpa], [data-ai-letter-gpa]) { display: none !important; }
.tta-ai.is-editor-preview .tta-ai__modes label:first-child span { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); }
