/* Sazair devis form — Figma skin. Colours fall back to the theme tokens when present. */
.sazair-devis {
	--sz-ink: var(--color-ink, #232323);
	--sz-body: var(--color-body, #777);
	--sz-yellow: var(--color-yellow, #F6A71C);
	--sz-yellow-600: var(--color-yellow-600, #DE9310);
	--sz-line: var(--color-line, #E5E5E5);
	--sz-radius: var(--radius-sm, 4px);
	--sz-error: #c62828;
	--sz-ok: #2e7d32;
	max-width: 1180px; margin: 0 auto; font-family: inherit; color: var(--sz-ink);
}
.sazair-devis--full { max-width: none; }
.sazair-devis__title { margin: 0 0 24px; font-size: 1.5625rem; line-height: 1.28; font-weight: 700; color: var(--sz-ink); }
.sazair-devis__sr, .sazair-devis__label {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.sazair-devis__grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) {
	.sazair-devis__grid { grid-template-columns: 1fr 1fr; }
	.sazair-devis__field--full { grid-column: 1 / -1; }
}
.sazair-devis__field { position: relative; margin: 0; display: flex; flex-direction: column; }
.sazair-devis__input {
	display: block; width: 100%; box-sizing: border-box; margin: 0;
	padding: 12px 16px; min-height: 48px;
	border: 1px solid var(--sz-line); border-radius: var(--sz-radius); background: #fff;
	box-shadow: 0 1px 2px rgb(35 35 35 / .05);
	font: inherit; font-size: .875rem; line-height: 1.5; color: var(--sz-ink);
	transition: border-color .18s ease;
}
.sazair-devis__input::placeholder { color: var(--sz-body); opacity: 1; }
.sazair-devis__input:focus { outline: none; border-color: var(--sz-ink); }
.sazair-devis__select-wrap { position: relative; display: block; }
.sazair-devis__select { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer; }
.sazair-devis__select:invalid { color: var(--sz-body); } /* placeholder option shows grey like the inputs */
.sazair-devis__chevron { position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); pointer-events: none; color: var(--sz-ink); }
.sazair-devis__textarea { min-height: 120px; resize: vertical; }
.sazair-devis__locked { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; background: #fafafa; cursor: default; }
.sazair-devis__locked-name { font-weight: 600; }
.sazair-devis__locked-sku { font-size: .8125rem; color: var(--sz-body); }
@media (min-width: 640px) { .sazair-devis__field--qty { grid-column: 1 / -1; max-width: 240px; } }
.sazair-devis__error { display: none; margin-top: 6px; font-size: .8125rem; color: var(--sz-error); }
.sazair-devis__field.has-error .sazair-devis__input { border-color: var(--sz-error); }
.sazair-devis__field.has-error .sazair-devis__error { display: block; }
.sazair-devis__actions { margin: 16px 0 0; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sazair-devis__submit {
	display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px;
	padding: 12px 24px; border: 0; border-radius: var(--sz-radius); cursor: pointer;
	background: var(--sz-yellow); color: #fff; font: inherit; font-size: 1rem; font-weight: 600; line-height: 1;
	transition: background-color .18s ease, transform .18s ease;
}
.sazair-devis__submit:hover { background: var(--sz-yellow-600); }
.sazair-devis__submit:active { transform: translateY(1px); }
.sazair-devis__submit[disabled] { opacity: .6; cursor: progress; }
.sazair-devis__note { font-size: .8125rem; color: var(--sz-body); text-align: center; }
.sazair-devis__status { margin: 0 0 16px; padding: 12px 16px; border-radius: var(--sz-radius); border: 1px solid transparent; font-size: .875rem; }
.sazair-devis__status.is-success { background: rgb(46 125 50 / .08); border-color: rgb(46 125 50 / .4); color: var(--sz-ok); }
.sazair-devis__status.is-error { background: rgb(198 40 40 / .08); border-color: rgb(198 40 40 / .4); color: var(--sz-error); }
/* Honeypot: off-screen, not display:none (some bots skip display:none fields). */
.sazair-devis__hp { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* These two sit in WooCommerce markup, outside .sazair-devis, so they read the theme tokens directly. */
.woocommerce .sazair-devis__loop-btn, .woocommerce .sazair-devis__cta {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px;
	border-radius: var(--radius-sm, 4px); background: var(--color-yellow, #F6A71C) !important; color: #fff !important;
	font-weight: 600; line-height: 1; text-decoration: none; transition: background-color .18s ease;
}
.woocommerce .sazair-devis__cta { margin: 8px 0 24px; }
.woocommerce .sazair-devis__loop-btn:hover, .woocommerce .sazair-devis__cta:hover { background: var(--color-yellow-600, #DE9310) !important; }
