/* Eclan Site Kit — quote form. Uses the Eclan theme's colors when available. */
.eclan-form { --ek-ink: var(--wp--preset--color--ink-2, #15171C); --ek-accent: var(--wp--preset--color--cobalt, #1F3FD1); --ek-accent-d: var(--wp--preset--color--cobalt-dark, #152C99); --ek-muted: var(--wp--preset--color--muted, #4A4F5C); --ek-line: #CFC9BD; --ek-soft: var(--wp--preset--color--soft, #EEF0FB);
	background: #fff; border: 1px solid var(--wp--preset--color--line, #DDD8CE); border-radius: 16px; padding: clamp(1.25rem, 3vw, 2.5rem); color: var(--ek-ink); display: flex; flex-direction: column; gap: 1.75rem; scroll-margin-top: 110px; }
.ec-contact__form .eclan-form { border: 0; padding: 0; border-radius: 0; }
.eclan-form.is-compact { gap: 1.1rem; }
.eclan-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.eclan-form legend { font-family: var(--wp--preset--font-family--display, inherit); font-weight: 700; font-size: 1.2rem; padding: 0; margin-bottom: 1rem; }
.eclan-form p { margin: 0; }
.eclan-form__title { font-family: var(--wp--preset--font-family--display, inherit); font-weight: 700; font-size: 1.4rem; }
.eclan-form__sub { font-size: 0.9rem; color: var(--ek-muted); margin-top: -0.6rem !important; }
.eclan-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.eclan-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.eclan-form__grid > legend { grid-column: 1 / -1; }
.is-compact .eclan-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.eclan-field { display: flex; flex-direction: column; gap: 0.4rem; }
.eclan-field--full, .is-compact .eclan-field:has(textarea) { grid-column: 1 / -1; }
.eclan-field label, .eclan-field__label { font-size: 0.88rem; font-weight: 500; }
.eclan-field input, .eclan-field select, .eclan-field textarea { font: inherit; font-size: 1rem; padding: 0.75rem 0.9rem; border: 1px solid var(--ek-line); border-radius: 8px; background: #fff; color: var(--ek-ink); width: 100%; box-sizing: border-box; min-height: 48px; }
.eclan-field textarea { resize: vertical; }
.eclan-field input:focus, .eclan-field select:focus, .eclan-field textarea:focus { outline: 2px solid var(--ek-accent); outline-offset: 1px; border-color: var(--ek-accent); }
.eclan-field--date { max-width: 320px; }
.eclan-form__project { display: flex; flex-direction: column; gap: 1rem; }
.eclan-form__project > legend + * { margin-top: 0; }
.eclan-form__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
@media (max-width: 700px) { .eclan-form__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eclan-form__grid, .is-compact .eclan-form__grid { grid-template-columns: minmax(0, 1fr); } }
.eclan-card-radio { position: relative; cursor: pointer; }
.eclan-card-radio input, .eclan-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.eclan-card-radio__box { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem; border: 1px solid var(--ek-line); border-radius: 12px; min-height: 88px; box-sizing: border-box; transition: border-color .15s, background .15s; }
.eclan-card-radio__box strong { font-family: var(--wp--preset--font-family--display, inherit); font-size: 1.05rem; }
.eclan-card-radio__box span { font-size: 0.82rem; color: var(--ek-muted); }
.eclan-card-radio:hover .eclan-card-radio__box { border-color: var(--ek-ink); }
.eclan-card-radio input:checked + .eclan-card-radio__box { border: 2px solid var(--ek-accent); background: var(--ek-soft); padding: calc(1rem - 1px); }
.eclan-card-radio input:focus-visible + .eclan-card-radio__box, .eclan-pill input:focus-visible + span { outline: 2px solid var(--ek-accent); outline-offset: 2px; }
.eclan-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.eclan-pill { cursor: pointer; }
.eclan-pill span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1rem; border: 1px solid var(--ek-line); border-radius: 99px; font-size: 0.95rem; }
.eclan-pill input:checked + span { background: var(--ek-ink); color: #fff; border-color: var(--ek-ink); }
.eclan-form__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid #EAE6DD; padding-top: 1.25rem; }
.is-compact .eclan-form__foot { border-top: 0; padding-top: 0; flex-direction: column-reverse; align-items: stretch; }
.eclan-form__legal { font-size: 0.82rem; color: var(--ek-muted); }
.eclan-btn { display: inline-flex; align-items: center; justify-content: center; font: inherit; font-weight: 600; font-size: 1rem; min-height: 52px; padding: 0 1.6rem; border: 0; border-radius: 8px; background: var(--ek-accent); color: #fff !important; cursor: pointer; text-decoration: none; }
.eclan-btn:hover { background: var(--ek-accent-d); }
.eclan-btn:disabled { opacity: .7; cursor: wait; }
.eclan-form__error { background: #FDECEC; color: #8A1C1C; border-radius: 8px; padding: 0.75rem 1rem; font-size: 0.95rem; }
.eclan-form__done { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; padding: 1rem 0; }
.eclan-form__done h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.eclan-form__done p { color: var(--ek-muted); margin: 0; }
.eclan-form__tick { width: 56px; height: 56px; border-radius: 50%; background: #E3F4EA; color: #146B3A; display: flex; align-items: center; justify-content: center; }
