/* Securitise guided enquiry form. Uses theme tokens with fallbacks. */
.sx-enq {
	--enq-ink: var(--wp--preset--color--ink, #09160E);
	--enq-green: var(--wp--preset--color--green, #1B5638);
	--enq-racing: var(--wp--preset--color--racing, #0E3520);
	--enq-gold: var(--wp--preset--color--gold, #C9A040);
	--enq-gold-deep: var(--wp--preset--color--gold-deep, #8A6516);
	--enq-slate: var(--wp--preset--color--slate, #3D5245);
	--enq-tint: var(--wp--preset--color--tint, #F3F5F0);
	--enq-mist: var(--wp--preset--color--mist, #E4EBE2);
	--enq-alert: #B5401D;
	--enq-line: rgba(9, 22, 14, .16);
	--enq-radius: var(--wp--custom--radius, 6px);
	position: relative;
	background: #fff;
	border: 1px solid var(--enq-line);
	border-radius: calc(var(--enq-radius) * 2);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	box-shadow: 0 30px 60px -40px rgba(9, 22, 14, .35);
	scroll-margin-top: 100px;
}
.sx-enq__form { display: grid; gap: 1.25rem; }
.sx-enq fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 1.4rem; }
.sx-enq fieldset[hidden], .sx-enq [hidden] { display: none !important; }
.sx-enq:not(.is-enhanced) fieldset + fieldset { border-top: 1px solid var(--enq-line); padding-top: 1.75rem; }

/* Progress */
.sx-enq__top { display: grid; gap: .6rem; }
.sx-enq__meta { display: flex; justify-content: space-between; gap: 1rem; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--enq-gold-deep); }
.sx-enq__steplabel { color: var(--enq-slate); }
.sx-enq__bar { height: 3px; background: var(--enq-mist); border-radius: 3px; overflow: hidden; }
.sx-enq__bar span { display: block; height: 100%; width: 25%; background: linear-gradient(90deg, var(--enq-green), var(--enq-gold)); transition: width .35s ease; }

/* Questions */
.sx-enq__q { font-size: var(--wp--preset--font-size--xl, 1.9rem); font-weight: 700; line-height: 1.15; letter-spacing: -.01em; color: var(--enq-ink); padding: 0; margin: 0 0 .25rem; outline: none; }
.sx-enq__group { display: grid; gap: .65rem; }
.sx-enq__label, .sx-enq__field > label { font-weight: 700; font-size: var(--wp--preset--font-size--sm, .95rem); color: var(--enq-ink); margin: 0; }
.sx-enq__hint { font-weight: 400; color: var(--enq-slate); font-size: .85em; margin-left: .35rem; }

/* Reason cards */
.sx-enq__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (max-width: 620px) { .sx-enq__cards { grid-template-columns: 1fr; } }
.sx-enq__card {
	position: relative; display: grid; gap: .25rem;
	padding: 1rem 1.1rem 1rem 3rem;
	border: 1.5px solid var(--enq-line); border-radius: var(--enq-radius);
	background: #fff; cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.sx-enq__card:hover { border-color: var(--enq-green); transform: translateY(-1px); }
.sx-enq__card input { position: absolute; left: 1.1rem; top: 1.15rem; width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--enq-green); }
.sx-enq__card-t { font-weight: 700; color: var(--enq-ink); line-height: 1.25; }
.sx-enq__card-d { font-size: .9rem; color: var(--enq-slate); line-height: 1.35; }
.sx-enq__card:has(input:checked) { border-color: var(--enq-green); background: var(--enq-tint); box-shadow: inset 0 0 0 1px var(--enq-green); }
.sx-enq__card:has(input:focus-visible) { outline: 2px solid var(--enq-gold); outline-offset: 2px; }
.sx-enq__card--alert .sx-enq__card-t { color: var(--enq-alert); }
.sx-enq__card--alert:has(input:checked) { border-color: var(--enq-alert); background: #FDF1EC; box-shadow: inset 0 0 0 1px var(--enq-alert); }
.sx-enq__card--quiet { background: var(--enq-tint); grid-column: 1 / -1; }

/* Chips */
.sx-enq__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.sx-enq__chip { position: relative; cursor: pointer; }
.sx-enq__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sx-enq__chip span {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .55rem .95rem; border-radius: 999px;
	border: 1.5px solid var(--enq-line); background: #fff;
	font-size: .95rem; color: var(--enq-ink); line-height: 1.2;
	transition: border-color .15s ease, background-color .15s ease;
}
.sx-enq__chip:hover span { border-color: var(--enq-green); }
.sx-enq__chip input:checked + span { background: var(--enq-racing); border-color: var(--enq-racing); color: #fff; }
.sx-enq__chip input[type=checkbox]:checked + span::before { content: "\2713"; color: var(--enq-gold); font-weight: 700; }
.sx-enq__chip input:focus-visible + span { outline: 2px solid var(--enq-gold); outline-offset: 2px; }

/* Fields */
.sx-enq .sx-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 620px) { .sx-enq .sx-form__row { grid-template-columns: 1fr; } }
.sx-enq__field { display: grid; gap: .35rem; align-content: start; }
.sx-enq input[type=text], .sx-enq input[type=email], .sx-enq input[type=tel], .sx-enq select, .sx-enq textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem;
	padding: .75rem .9rem; border: 1.5px solid var(--enq-line); border-radius: var(--enq-radius);
	background: #fff; color: var(--enq-ink);
}
.sx-enq select { appearance: auto; }
.sx-enq textarea { resize: vertical; min-height: 120px; }
.sx-enq input:focus, .sx-enq select:focus, .sx-enq textarea:focus { outline: 2px solid var(--enq-gold); outline-offset: 1px; border-color: var(--enq-green); }
.sx-enq__fieldhint { margin: 0; font-size: .85rem; color: var(--enq-slate); min-height: 0; }
.sx-enq__fieldhint:empty { display: none; }
.sx-enq__link { background: none; border: 0; padding: 0; font: inherit; color: var(--enq-green); text-decoration: underline; cursor: pointer; }

/* Callouts */
.sx-enq__callout { padding: 1rem 1.2rem; border-radius: var(--enq-radius); background: var(--enq-tint); color: var(--enq-ink); font-size: .95rem; line-height: 1.5; }
.sx-enq__callout--alert { background: #FDF1EC; border: 1px solid rgba(181, 64, 29, .35); }
.sx-enq__callout a { color: inherit; font-weight: 700; }

/* Summary */
.sx-enq__summary { background: var(--enq-tint); border-radius: var(--enq-radius); padding: 1rem 1.2rem; }
.sx-enq__summary-t { margin: 0 0 .5rem; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--enq-gold-deep); }
.sx-enq__summary dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0; font-size: .92rem; }
.sx-enq__summary dt { color: var(--enq-slate); }
.sx-enq__summary dd { margin: 0; color: var(--enq-ink); }
.sx-enq__summary .sx-enq__link { font-size: .85rem; margin-left: .35rem; }

/* Errors and nav */
.sx-enq__error { margin: 0; padding: .75rem 1rem; border-radius: var(--enq-radius); background: #FDF1EC; color: #6B2210; font-size: .95rem; }
.sx-enq__nav { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.sx-enq__nav button { font: inherit; font-weight: 700; font-size: .95rem; letter-spacing: .02em; border-radius: var(--enq-radius); padding: .9rem 1.6rem; cursor: pointer; }
.sx-enq__next, .sx-enq__submit { margin-left: auto; background: var(--enq-gold); color: var(--enq-ink); border: 0; }
.sx-enq:not(.is-enhanced) .sx-enq__submit { margin-left: 0; }
.sx-enq__next:hover, .sx-enq__submit:hover { background: var(--wp--preset--color--gold-light, #D9B65C); }
.sx-enq__next::after { content: " \2192"; }
.sx-enq__back { background: transparent; color: var(--enq-ink); border: 1.5px solid var(--enq-line); }
.sx-enq__back:hover { border-color: var(--enq-ink); }
.sx-enq__submit[disabled] { opacity: .7; cursor: progress; }

/* Step transition */
.sx-enq.is-enhanced .sx-enq__step:not([hidden]) { animation: sx-enq-in .28s ease both; }
@keyframes sx-enq-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Thank you */
.sx-enq--done { text-align: left; }
.sx-enq--done h2 { font-size: var(--wp--preset--font-size--xxl, 2.6rem); margin: .25rem 0 .75rem; }
.sx-enq__ref { display: inline-block; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .85rem; letter-spacing: .08em; background: var(--enq-tint); padding: .35rem .7rem; border-radius: var(--enq-radius); color: var(--enq-ink); }
.sx-enq__next-steps { list-style: none; counter-reset: s; padding: 0; margin: 1.5rem 0; display: grid; gap: .9rem; }
.sx-enq__next-steps li { counter-increment: s; position: relative; padding-left: 2.6rem; }
.sx-enq__next-steps li::before { content: counter(s); position: absolute; left: 0; top: -.1rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center; background: var(--enq-racing); color: var(--wp--preset--color--gold-light, #D9B65C); font-weight: 700; font-size: .9rem; }

@media (prefers-reduced-motion: reduce) {
	.sx-enq *, .sx-enq.is-enhanced .sx-enq__step:not([hidden]) { animation: none !important; transition: none !important; }
}
