/* Extends the existing black, green and Outfit/Inter visual system. */
.section-orders { background: var(--bg-color); scroll-margin-top: 80px; }
.order-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.order-product h2 { font: 700 clamp(2.6rem, 5vw, 4rem)/1.06 var(--font-heading); letter-spacing: -.045em; margin: 12px 0 0; }
.order-image { display: block; width: min(100%, 320px); height: auto; margin: 12px 0; }
.order-product .order-price { color: #fff; font: 700 clamp(3.5rem, 7vw, 5rem)/1 var(--font-heading); letter-spacing: -.05em; margin: 16px 0; font-variant-numeric: tabular-nums; }
.order-price span { font: 500 1.1rem/1.5 var(--font-body); letter-spacing: normal; color: #b5b5bd; }
.order-price-note, .order-stock { color: #b5b5bd; font-size: .95rem; line-height: 1.6; }
.order-facts { padding-left: 20px; margin: 24px 0 16px; color: #dedee3; line-height: 1.7; }
.order-facts li + li { margin-top: 8px; }
.order-panel { background: #111113; border: 1px solid var(--border-soft); border-radius: 24px; padding: clamp(22px, 3vw, 36px); }
.order-panel h3 { font: 600 clamp(1.6rem, 3vw, 2rem)/1.2 var(--font-heading); letter-spacing: -.03em; margin: 0 0 24px; }
.order-steps { padding-left: 22px; color: #dedee3; line-height: 1.6; margin: 0 0 28px; }
.order-steps li + li { margin-top: 12px; }
.order-steps li::marker { color: var(--accent-green); font-weight: 600; }
.order-form, .order-fields { display: grid; gap: 18px; }
.order-fields { padding: 0; margin: 0; border: 0; min-width: 0; }
.order-fields:disabled { opacity: .6; }
.order-fields:disabled .order-submit { cursor: not-allowed; }
.order-field { display: grid; gap: 8px; min-width: 0; align-content: start; }
.order-field label { font-size: .88rem; font-weight: 500; color: #dedee3; }
.order-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.order-field input, .order-field select, .order-field textarea { width: 100%; min-height: 48px; border: 1px solid #55555e; border-radius: 10px; background: #080809; padding: 12px; color: #fff; font: inherit; font-size: 1rem; color-scheme: dark; }
.order-field input::placeholder { color: #aaaab4; }
.order-submit { width: 100%; min-height: 48px; cursor: pointer; white-space: normal; font: 600 1rem/1.4 var(--font-body); }
.order-help, .order-contact, .order-details { font-size: .85rem; line-height: 1.65; color: #b5b5bd; }
.order-help { margin: 0; }
.order-field textarea { resize: vertical; }
.order-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .85rem; line-height: 1.6; color: #dedee3; }
.order-consent input { flex-shrink: 0; width: 20px; height: 20px; margin-top: 3px; accent-color: var(--accent-green); }
.order-consent a { color: var(--accent-green); text-decoration: underline; }
.order-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.order-status.order-error { border-color: #ff879c; color: #ffd4db; }
.order-status { padding: 12px; border-left: 2px solid var(--accent-green); color: #e5e5ea; font-size: .9rem; line-height: 1.6; margin: 0; }
.order-contact { margin: 24px 0; overflow-wrap: anywhere; }
.order-contact a { color: var(--accent-green); text-decoration: underline; text-underline-offset: 3px; }
.order-details { padding-top: 20px; border-top: 1px solid var(--border-soft); }
.order-details summary { color: #e5e5ea; cursor: pointer; min-height: 44px; }
.order-details p { margin: 0 0 12px; }
.order-field input:focus-visible, .order-field select:focus-visible, .order-submit:focus-visible, .order-details summary:focus-visible, .order-contact a:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 4px; }
@media (max-width: 760px) {
    .order-layout { grid-template-columns: 1fr; }
    .order-image { width: min(100%, 240px); }
}
@media (max-width: 380px) { .order-field-row { grid-template-columns: 1fr; } }
