#loftOrderForm .fv-order-details {
    --surface:#f3effa;
    --field:#f0ebf7;
    --ink:#231934;
    --muted:#5f526e;
    --line:#d8cce5;
    --accent:#5f398d;
    --tint:#e9dff5;
    --error:#a32149;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    color:var(--ink);
}
body.dark #loftOrderForm .fv-order-details {
    --surface:#30283d;
    --field:#241d30;
    --ink:#f3edf9;
    --muted:#c5b7d1;
    --line:#514361;
    --accent:#dfbdff;
    --tint:#423353;
    --error:#ff9cb4;
    color-scheme:dark;
}
.fv-order-details [hidden] { display:none!important; }
.fv-order-section {
    padding:clamp(18px,2.8vw,32px);
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--surface);
}
.fv-order-section:first-child {
    background:linear-gradient(135deg,var(--tint),var(--surface) 72%);
    border-top:3px solid var(--accent);
}
.fv-order-section + .fv-order-section { margin-top:14px; }
.fv-order-heading { margin-bottom:14px; }
.fv-order-step {
    display:block;
    margin-bottom:7px;
    color:var(--accent);
    font-size:11px;
    font-weight:750;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.fv-order-country svg {
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.orderArea .fv-order-details h2 { color:var(--ink); font-size:clamp(20px,2vw,27px); font-weight:750; line-height:1.25; margin:0; }
.orderArea .fv-order-details p { color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 14px; }
.fv-order-details label { display:block; color:var(--ink); font-weight:650; font-size:13px; margin-bottom:7px; }
.orderArea .fv-order-details .ord-control {
    width:100%; min-width:0; margin:0; padding:12px 15px; min-height:52px;
    border:1px solid var(--line); border-radius:12px; background:var(--field); color:var(--ink);
    font:inherit; font-size:16px; box-sizing:border-box;
}
.fv-order-details .ord-control::placeholder { color:var(--muted); opacity:.8; }
.orderArea .fv-order-details .ord-control:focus, .fv-order-country:focus-visible, .fv-order-country-option:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.orderArea .fv-order-details .ord-control[aria-invalid="true"] { border-color:var(--error); }
.fv-order-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fv-order-grid > div { min-width:0; }
.fv-order-wide { grid-column:1 / -1; }
.fv-order-phone { display:flex; position:relative; align-items:stretch; }
.orderArea .fv-order-phone > input[type="tel"] { border-radius:0 12px 12px 0; flex:1; font-variant-numeric:tabular-nums; }
.fv-order-country {
    display:inline-flex; gap:8px; align-items:center; justify-content:center; flex:0 0 auto;
    padding:0 12px; background:var(--tint); border:1px solid var(--line); border-right:0;
    border-radius:12px 0 0 12px; font-variant-numeric:tabular-nums; color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer; min-width:91px;
}
.fv-order-country svg { width:13px; height:13px; }
.fv-order-countries {
    position:absolute; z-index:20; top:calc(100% + 7px); inset-inline:0; max-width:420px;
    padding:8px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 12px 34px #21153126;
}
.orderArea .fv-order-countries > input { min-height:45px; }
.fv-order-country-list { max-height:min(238px,35vh); overflow:auto; overscroll-behavior:contain; margin-top:5px; }
.fv-order-country-option {
    width:100%; min-height:44px; display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center;
    gap:8px; padding:7px 10px; border:0; background:transparent; border-radius:8px; color:var(--ink);
    text-align:left; font:inherit; font-size:13px; cursor:pointer;
}
.fv-order-country-option:hover, .fv-order-country-option[aria-pressed="true"] { background:var(--tint); }
.fv-order-country-option strong { color:var(--accent); }
.orderArea .fv-order-details #fv-order-phone-hint, .orderArea .fv-order-details .fv-order-error, .orderArea .fv-order-details .fv-order-no-country { margin:7px 0 0; font-size:12px; }
.orderArea .fv-order-details .fv-order-error { color:var(--error); }
.fv-order-error:empty { display:none; }
.orderArea .fv-order-details .fv-order-remember { display:flex; align-items:center; gap:9px; padding:12px; margin:0; border-radius:12px; background:var(--tint); }
.fv-order-remember input { flex:0 0 auto; accent-color:var(--accent); }
.fv-order-remember label { margin:0; line-height:1.45; cursor:pointer; }
.fv-order-remember label span { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
@media(max-width:575px) {
    .fv-order-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
    .fv-order-section { border-radius:16px; }
    .fv-order-country { min-width:83px; padding-inline:9px; }
}
