/* Smart AZZ quote form. Uses theme variables when available, with fallbacks. */
.saz-form {
	--saz-ink: var(--wp--preset--color--ink, #15181D);
	--saz-blue: var(--wp--preset--color--blue, #1B63E8);
	--saz-volt: var(--wp--preset--color--volt, #2F7BFF);
	--saz-line: var(--wp--preset--color--line, #DDE3EB);
	--saz-mist: var(--wp--preset--color--mist, #F3F5F8);
	--saz-slate: var(--wp--preset--color--slate, #5B6472);
	--saz-error: #B42318;
	--saz-radius: var(--wp--custom--radius--small, 8px);
	color: var(--saz-ink);
	font-size: 1rem;
}
.saz-form * { box-sizing: border-box; }
.saz-form__group { border: 0; padding: 0; margin: 0 0 2rem; display: grid; grid-template-columns: 1fr; gap: 1.1rem 1.25rem; min-width: 0; }
@media (min-width: 640px) { .saz-form__group { grid-template-columns: 1fr 1fr; } }
.saz-form__legend {
	grid-column: 1 / -1; display: flex; align-items: center; gap: .75rem; padding: 0; margin-bottom: .25rem;
	font-family: var(--wp--preset--font-family--sora, inherit); font-weight: 600; font-size: 1.25rem; letter-spacing: -0.01em;
}
.saz-form__legend span {
	display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--saz-blue); color: #fff; font-size: .95rem;
}
.saz-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.saz-field--full { grid-column: 1 / -1; }
.saz-field__label { font-weight: 600; font-size: .95rem; }
.saz-field__label abbr { color: var(--saz-error); text-decoration: none; border: 0; }
.saz-optional { font-weight: 400; color: var(--saz-slate); }
.saz-field__help { margin: 0; color: var(--saz-slate); font-size: .9rem; }
.saz-form input[type="text"], .saz-form input[type="email"], .saz-form input[type="tel"], .saz-form select, .saz-form textarea {
	width: 100%; font: inherit; color: inherit; background: #fff;
	border: 1.5px solid var(--saz-line); border-radius: var(--saz-radius);
	padding: .8rem .9rem; min-height: 3rem; transition: border-color .15s ease, box-shadow .15s ease;
}
.saz-form select { appearance: none; -webkit-appearance: none; padding-right: 2.5rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .8rem center / 1.1rem; }
.saz-form textarea { resize: vertical; min-height: 8rem; }
.saz-form input:focus, .saz-form select:focus, .saz-form textarea:focus { outline: none; border-color: var(--saz-volt); box-shadow: 0 0 0 4px rgba(47,123,255,.18); }
.saz-form [aria-invalid="true"], .saz-form--checked :invalid:not(fieldset):not(div) { border-color: var(--saz-error) !important; }
.saz-field__error { margin: 0; color: var(--saz-error); font-size: .9rem; font-weight: 600; }

/* Device chips */
.saz-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.saz-chip { position: relative; cursor: pointer; }
.saz-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.saz-chip span {
	display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1rem; border-radius: 999px;
	border: 1.5px solid var(--saz-line); background: #fff; font-weight: 500; font-size: .95rem;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.saz-chips--small .saz-chip span { padding: .5rem .9rem; font-size: .9rem; }
.saz-chip:hover span { border-color: var(--saz-volt); }
.saz-chip input:checked + span { background: var(--saz-ink); border-color: var(--saz-ink); color: #fff; }
.saz-chip input:focus-visible + span { outline: 2px solid var(--saz-volt); outline-offset: 3px; }
.saz-chip:not(.saz-chips--small .saz-chip) span::before {
	content: ""; width: 1.1rem; height: 1.1rem; background: currentColor; opacity: .8;
	-webkit-mask: var(--saz-chip-icon) center / contain no-repeat; mask: var(--saz-chip-icon) center / contain no-repeat;
}
.saz-chips--small .saz-chip span::before { display: none; }
.saz-chip--phone { --saz-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='3'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E"); }
.saz-chip--tablet { --saz-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='3'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E"); }
.saz-chip--laptop { --saz-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='11' rx='2'/%3E%3Cpath d='M2 19h20'/%3E%3C/svg%3E"); }
.saz-chip--desktop { --saz-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 16v5'/%3E%3C/svg%3E"); }
.saz-chip--other { --saz-chip-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .9-1 1.6M12 17h.01'/%3E%3C/svg%3E"); }

/* Upload */
.saz-upload input[type="file"] {
	width: 100%; padding: 1rem; border: 1.5px dashed #B8C4D6; border-radius: var(--saz-radius); background: var(--saz-mist); font: inherit; cursor: pointer;
}
.saz-upload input[type="file"]::file-selector-button {
	font: inherit; font-weight: 600; margin-right: 1rem; padding: .55rem 1rem; border: 0; border-radius: 999px; background: var(--saz-ink); color: #fff; cursor: pointer;
}

/* Consent */
.saz-consent label { display: flex; gap: .75rem; align-items: flex-start; font-size: .95rem; cursor: pointer; }
.saz-consent input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex: none; accent-color: var(--saz-blue); }

/* Honeypot */
.saz-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Actions */
.saz-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.saz-form__submit {
	font-family: var(--wp--preset--font-family--sora, inherit); font-weight: 600; font-size: 1.05rem; cursor: pointer;
	border: 0; border-radius: 999px; padding: 1rem 2rem; background: var(--saz-blue); color: #fff;
	transition: background-color .2s ease, transform .2s ease;
}
.saz-form__submit:hover { background: #1652C4; transform: translateY(-1px); }
.saz-form__submit:disabled { opacity: .7; cursor: progress; transform: none; }
.saz-form__note { margin: 0; color: var(--saz-slate); font-size: .9rem; }

/* Alerts and result */
.saz-form__alert { border: 1.5px solid var(--saz-error); background: #FEF3F2; color: #7A271A; border-radius: var(--saz-radius); padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.saz-form__alert ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.saz-form__alert a { color: inherit; }
.saz-form--sent { text-align: center; padding: 2.5rem 1rem; }
.saz-form--sent:focus { outline: none; }
.saz-form__tick { width: 4rem; height: 4rem; margin: 0 auto 1rem; display: block; }
.saz-form__tick circle { fill: var(--saz-blue); }
.saz-form__tick path { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: saz-tick .6s .2s ease forwards; }
.saz-form__title { font-size: 1.5rem; margin: 0 0 .5rem; }
@keyframes saz-tick { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .saz-form__tick path { animation: none; stroke-dashoffset: 0; } }

.saz-editor-note { padding: .75rem 1rem; border: 1.5px dashed #FFB547; background: #FFF6E6; border-radius: 8px; font-size: 13px; color: #15181D; }
