/* Eudora_ContactPlus: contact page and order tracking (2026-10-17). Loaded only on those pages. */
.ec-wrap { max-width: 1080px; margin: 0 auto; padding: 24px 16px 48px; font-size: 17px; line-height: 1.55; color: var(--el-text, #555); }
.ec-wrap--narrow { max-width: 720px; }
.ec-title { margin: 0 0 16px; font-size: 34px; font-weight: 500; line-height: 1.2; text-align: center; color: var(--el-ink, #1d1d1f); }
.ec-intro { max-width: 720px; margin: 0 auto 28px; font-size: 17px; text-align: center; }
.ec-wrap a { color: var(--el-brand-dark, #a8034c); text-decoration: underline; text-underline-offset: 2px; }
.ec-wrap a:hover { color: var(--el-ink, #1d1d1f); }
.ec-wrap a:focus-visible, .ec-wrap input:focus-visible, .ec-wrap select:focus-visible, .ec-wrap textarea:focus-visible, .ec-wrap button:focus-visible {
    outline: 3px solid var(--el-ink, #1d1d1f); outline-offset: 2px;
}
.ec-wrap h2 { margin: 0 0 12px; font-size: 22px; font-weight: 500; color: var(--el-ink, #1d1d1f); }
.ec-wrap h3 { margin: 24px 0 8px; font-size: 18px; font-weight: 600; color: var(--el-ink, #1d1d1f); }

/* two columns on desktop, stacked on phones */
.ec-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.ec-aside { padding: 24px; background: var(--el-soft, #f7f7f7); border: 1px solid var(--el-line, #ececec); }
.ec-aside dl { margin: 0 0 12px; }
.ec-aside dt { margin: 14px 0 2px; font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--el-muted, #6b6b6b); }
.ec-aside dd { margin: 0; font-size: 18px; color: var(--el-ink, #1d1d1f); overflow-wrap: anywhere; }
.ec-aside a { display: inline-block; padding: 6px 0; min-height: 44px; box-sizing: border-box; }

/* form */
.ec-form--card { max-width: 560px; margin: 0 auto; padding: 24px; border: 1px solid var(--el-line, #ececec); }
.ec-required-note { margin: 0 0 16px; font-size: 16px; color: var(--el-muted, #6b6b6b); }
.ec-row { display: grid; gap: 0 20px; }
.ec-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ec-field { margin: 0 0 20px; }
.ec-field label { display: block; margin: 0 0 6px; font-size: 17px; font-weight: 600; color: var(--el-ink, #1d1d1f); }
.ec-req { color: var(--el-brand-dark, #a8034c); }
.ec-wrap .ec-field input[type=text], .ec-wrap .ec-field input[type=email], .ec-wrap .ec-field input[type=tel],
.ec-wrap .ec-field select, .ec-wrap .ec-field textarea {
    display: block; width: 100%; min-height: 50px; box-sizing: border-box; padding: 10px 14px;
    border: 1px solid #8a8a8a; border-radius: 0; background: #fff; font: inherit; font-size: 17px; color: var(--el-ink, #1d1d1f);
}
.ec-wrap .ec-field textarea { min-height: 170px; resize: vertical; }
.ec-wrap .ec-field input[type=file] { display: block; width: 100%; box-sizing: border-box; padding: 10px; min-height: 50px; border: 1px dashed #8a8a8a; background: #fff; font-size: 16px; }
.ec-wrap .ec-field input[type=file]::file-selector-button { min-height: 44px; margin-right: 12px; padding: 0 16px; border: 1px solid var(--el-ink, #1d1d1f); background: #fff; font: inherit; font-size: 16px; cursor: pointer; }
.ec-wrap .ec-field [aria-invalid=true], .ec-wrap .ec-field .validation-failed { border-color: #b00020; border-width: 2px; }
.ec-help { margin: 6px 0 0; font-size: 16px; color: var(--el-muted, #6b6b6b); }
.ec-error, .ec-wrap .validation-advice { margin: 6px 0 0; font-size: 16px; font-weight: 600; color: #b00020; }
.ec-summary { margin: 0 0 20px; padding: 14px 16px; border: 2px solid #b00020; background: #fff5f6; color: var(--el-ink, #1d1d1f); font-size: 17px; }
.ec-summary ul { margin: 8px 0 0 20px; padding: 0; }
.ec-summary a { color: #8a0018; }
.ec-wrap .ec-btn, .ec-wrap button.ec-btn { min-height: 52px; padding: 0 32px; font-size: 18px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.ec-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ec-messages ul.messages { max-width: 720px; margin: 0 auto 20px; padding: 0; list-style: none; font-size: 17px; }
.ec-messages ul.messages li { margin: 0 0 8px; padding: 12px 16px; border: 1px solid var(--el-line, #ececec); }
.ec-messages .error-msg li { border-color: #b00020; background: #fff5f6; color: #8a0018; }
.ec-messages .success-msg li { border-color: #2d6a3e; background: #f1faf3; }

.ec-success { max-width: 620px; margin: 8px auto; padding: 28px; border: 1px solid #2d6a3e; background: #f1faf3; text-align: center; }
.ec-success:focus { outline: 3px solid var(--el-ink, #1d1d1f); }
.ec-success p { margin: 0 0 16px; font-size: 19px; color: var(--el-ink, #1d1d1f); }
.ec-link { margin-left: 16px; display: inline-block; padding: 12px 4px; }

/* tracking results */
.ec-result { margin: 32px 0 0; padding: 24px; border: 1px solid var(--el-line, #ececec); background: #fff; }
.ec-result:focus { outline: 3px solid var(--el-ink, #1d1d1f); }
.ec-status { display: inline-block; margin: 0 0 8px; padding: 8px 14px; background: var(--el-soft, #f7f7f7); border-left: 6px solid #8a8a8a; font-size: 19px; color: var(--el-ink, #1d1d1f); }
.ec-status--shipped { border-left-color: #2d6a3e; }
.ec-status--processing { border-left-color: #b26a00; }
.ec-status--received { border-left-color: var(--el-brand, #d1045f); }
.ec-status--canceled { border-left-color: #b00020; }
.ec-items, .ec-tracks { margin: 0; padding: 0; list-style: none; }
.ec-items li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--el-line, #ececec); }
.ec-items__qty { white-space: nowrap; color: var(--el-muted, #6b6b6b); }
.ec-shipment { margin: 0 0 16px; padding: 14px 16px; background: var(--el-soft, #f7f7f7); }
.ec-shipment p { margin: 0 0 6px; }
.ec-tracks li { padding: 6px 0; font-size: 18px; overflow-wrap: anywhere; }
.ec-note { margin: 40px 0 0; padding: 20px 0 0; border-top: 1px solid var(--el-line, #ececec); }

/* legacy order lookup form: pointer to the new page */
.ec-guest-note { margin: 0 0 20px; padding: 14px 16px; border: 1px solid var(--el-line, #ececec); background: var(--el-soft, #f7f7f7); font-size: 17px; }
.ec-guest-note a { color: var(--el-brand-dark, #a8034c); font-weight: 600; text-decoration: underline; }

@media (max-width: 800px) {
    .ec-title { font-size: 28px; }
    .ec-grid { grid-template-columns: 1fr; gap: 28px; }
    .ec-row--2 { grid-template-columns: 1fr; }
    .ec-form--card { padding: 16px; }
    .ec-wrap .ec-btn, .ec-wrap button.ec-btn { width: 100%; }
    .ec-link { display: block; margin: 8px 0 0; text-align: center; }
}

/* theme overrides: full-width textarea and padded contact form card */
.ec-wrap .ec-field textarea.input-text { width: 100%; max-width: 100%; }
.ec-wrap .ec-grid > .ec-form { padding: 24px; border: 1px solid var(--el-line, #ececec); }

/* Title-case headings like the other content pages (legacy theme uppercases h1). */
.contacts-index-index .col-main h1, .eudora-tracking-page .col-main h1 { text-transform: none; }

/* Contact form card: keep fields off the outer border. */
.ec-wrap #contactForm { box-sizing: border-box; padding: 28px 28px 32px; }
@media (max-width: 599px) { .ec-wrap #contactForm { padding: 20px 18px 24px; } }
