/* EVE Fashion Engine front-end styles. Uses the EVE theme colours when present, with safe fallbacks. */
.eve-form { max-width: 44rem; }
.eve-form fieldset { border: 1px solid var(--eve-border, #DDD6CA); background: var(--eve-white, #fff); margin: 0 0 1.25rem; padding: 1rem 1.25rem; }
.eve-form legend { font: 400 1.25rem/1.2 var(--eve-display, Georgia, serif); padding: 0 .5rem; }
.eve-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
.eve-hint { display: block; font-size: .9rem; font-weight: 400; color: var(--eve-muted, #5B564F); margin-bottom: .25rem; }
.eve-form input[type=text], .eve-form input[type=email], .eve-form input[type=tel], .eve-form input[type=url], .eve-form input[type=date], .eve-form select, .eve-form textarea, .eve-form input[type=file] { width: 100%; max-width: 100%; padding: .7rem .8rem; border: 1px solid var(--eve-border-strong, #7D776D); border-radius: 3px; background: #fff; font: inherit; }
.eve-checks { border: 0; padding: 0; }
.eve-checks legend { font: 600 1rem var(--eve-body, sans-serif); padding: 0; }
.eve-check { display: inline-block; font-weight: 400; margin: 0 1rem .5rem 0; }
.eve-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.eve-notice { border: 1px solid var(--eve-border, #DDD6CA); border-left: 4px solid var(--eve-accent-deep, #7A5632); background: var(--eve-white, #fff); padding: .75rem 1.1rem; margin: 0 0 1.25rem; }
.eve-notice-ok { border-left-color: var(--eve-success, #1F6B45); }
.eve-notice-error { border-left-color: var(--eve-error, #A32A2A); }
.eve-code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1.15em; letter-spacing: .05em; }
.eve-trust { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: .35rem; }
.eve-trust li::before { content: "\2713"; color: var(--eve-success, #1F6B45); font-weight: 700; margin-right: .5rem; }
.eve-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.eve-quote { width: 100%; border-collapse: collapse; background: var(--eve-white, #fff); }
.eve-quote td, .eve-quote th { padding: .6rem .8rem; border-bottom: 1px solid var(--eve-border, #DDD6CA); text-align: left; }
.eve-quote .eve-num { text-align: right; white-space: nowrap; }
.eve-timeline { list-style: none; margin: 1rem 0 1.5rem; padding: 0; display: grid; gap: .5rem; }
.eve-timeline li { position: relative; padding-left: 1.75rem; color: var(--eve-muted, #5B564F); }
.eve-timeline li::before { content: ""; position: absolute; left: 0; top: .35em; width: .9rem; height: .9rem; border: 2px solid var(--eve-border-strong, #7D776D); border-radius: 50%; background: #fff; }
.eve-timeline li.is-done { color: var(--eve-ink, #292929); }
.eve-timeline li.is-done::before { background: var(--eve-success, #1F6B45); border-color: var(--eve-success, #1F6B45); }
.eve-timeline li.is-current { color: var(--eve-ink, #292929); font-weight: 700; }
.eve-timeline li.is-current::before { background: var(--eve-accent-deep, #7A5632); border-color: var(--eve-accent-deep, #7A5632); }
.eve-care { padding-left: 1.1rem; }
.eve-wa { position: fixed; right: 1rem; bottom: 1rem; z-index: 50; background: #1F6B45; color: #fff; padding: .7rem 1rem; border-radius: 2rem; text-decoration: none; font-weight: 600; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.eve-wa:hover, .eve-wa:focus { background: #174f34; color: #fff; }
@media (min-width: 40rem) { .eve-timeline { grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); } .eve-timeline li { padding: 1.5rem 0 0; } .eve-timeline li::before { top: 0; } }
