/* Keep the content-opinion form's existing controls, header and attachment UI. */
.wm-contact-faq-intro { max-width: none; }
.wm-contact-faq-intro a { color: var(--wm-theme-primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.wm-contact-faq-intro a:hover { color: var(--wm-theme-primary); }
.wm-contact-inquiry { min-width: 0; overflow: hidden; }
.wm-contact-inquiry .content-error-report__header { grid-template-columns: auto minmax(0, 1fr) auto; }
.wm-contact-inquiry .content-error-report__title { white-space: nowrap; }
.wm-contact-history-link { display: inline-flex; align-items: center; justify-self: end; gap: 6px; min-height: 44px; color: var(--wm-theme-primary-dark); font-size: .875rem; font-weight: 700; line-height: 1.5; white-space: nowrap; text-decoration: none; border-radius: 4px; cursor: pointer; }
.wm-contact-history-link svg { width: 16px; height: 16px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wm-contact-inquiry .wm-contact-history-link { color: var(--wm-theme-primary-dark); }
.wm-contact-history-link span { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.wm-contact-history-link:hover, .wm-contact-history-link:focus-visible { color: var(--wm-theme-primary); }
.wm-contact-history-link:hover span, .wm-contact-history-link:focus-visible span { text-decoration-thickness: 2px; }
.wm-contact-history-link:focus-visible { outline: 2px solid var(--wm-theme-primary); outline-offset: 4px; }
.wm-contact-email-label-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.wm-contact-email-label-row .content-error-report__label { flex-shrink: 0; }
.wm-contact-email-help { margin: 0; color: var(--wm-theme-muted); font-size: .8125rem; line-height: 1.5; }
.wm-contact-inquiry .content-error-report__body { gap: 24px; overflow: visible; }
.wm-contact-form-fields { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 24px; }
.wm-contact-form-fields > * { min-width: 0; }
.wm-contact-input { display: block; width: 100%; min-height: 48px; border: 1px solid var(--wm-theme-line); border-radius: 15px; background: var(--wm-mode-surface, white); color: var(--wm-theme-ink); padding: 10px 12px; font: inherit; font-size: .9375rem; }
.wm-contact-input:focus { border-color: rgba(109, 74, 255, .58); box-shadow: 0 0 0 4px rgba(109, 74, 255, .11); outline: none; }
.wm-contact-input[aria-invalid='true'] { border-color: #b42329; }
.wm-contact-inquiry .content-error-report__textarea { font-size: 1rem; }
.wm-contact-opinion-meta { justify-content: space-between; flex-wrap: wrap; }
.wm-contact-inquiry .content-error-report__image-help { font-size: .8125rem; line-height: 1.75; }
.wm-contact-inquiry .content-error-report__required,
.wm-contact-inquiry .content-error-report__optional { font-size: .6875rem; }
.wm-contact-field-error { color: var(--wm-mode-red, #b42329); font-size: .8125rem; }
.wm-contact-field-error ul, .wm-contact-inquiry .errorlist { margin: 0; padding: 0; list-style: none; }
.wm-contact-field-error p { margin: 4px 0 0; }
.wm-contact-inquiry [aria-busy='true'] { cursor: wait; }
.wm-contact-inquiry .content-error-report__status[data-tone='success'] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.wm-contact-login { padding: 32px; }
.wm-contact-login h2 { margin: 0 0 12px; font-size: 1.375rem; }
.wm-contact-login p { margin: 0 0 24px; color: var(--wm-theme-muted); }
.wm-contact-history, .wm-contact-history-item { scroll-margin-top: 100px; }
.wm-contact-history-heading { margin-bottom: 24px; }
.wm-contact-history-heading .wm-public-section-title { margin-bottom: 0; }
.wm-contact-history-list { display: grid; gap: 12px; }
.wm-contact-history-item { overflow: hidden; }
.wm-contact-history-item[open], .wm-contact-history-item:target { border-color: var(--wm-mode-line, #c7b9ff); }
.wm-contact-history-summary { display: flex; align-items: center; gap: 20px; padding: 22px 24px; cursor: pointer; list-style: none; }
.wm-contact-history-summary::-webkit-details-marker { display: none; }
.wm-contact-history-summary:hover { background: var(--wm-mode-surface, #faf9ff); }
.wm-contact-history-summary:focus-visible { outline-offset: -4px; }
.wm-contact-history-main { display: block; flex: 1; min-width: 0; }
.wm-contact-history-meta { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 2px; margin-bottom: 6px; font-size: .8125rem; }
.wm-contact-history-category { color: var(--wm-theme-primary-dark); font-weight: 700; }
.wm-contact-history-meta time, .wm-contact-history-reply time { color: var(--wm-theme-muted); font-size: .8125rem; }
.wm-contact-history-preview { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .9375rem; }
.wm-contact-history-item[open] .wm-contact-history-preview { display: none; }
.wm-contact-history-item[open] .wm-contact-history-meta { margin-bottom: 0; }
.wm-contact-history-status { flex-shrink: 0; padding: 4px 10px; border-radius: 20px; background: var(--wm-mode-soft, #f1f2f6); color: var(--wm-theme-muted); font-size: .75rem; font-weight: 700; }
.wm-contact-history-status[data-inquiry-status='in_progress'] { background: var(--wm-mode-amber-soft, #fff4d8); color: var(--wm-mode-amber, #805700); }
.wm-contact-history-status[data-inquiry-status='resolved'] { background: var(--wm-mode-soft, #eee9ff); color: var(--wm-theme-primary-dark); }
.wm-contact-history-chevron { flex-shrink: 0; color: var(--wm-theme-primary-dark); }
.wm-contact-history-item[open] .wm-contact-history-chevron { transform: rotate(180deg); }
.wm-contact-history-content { padding: 24px; border-top: 1px solid var(--wm-theme-line); }
.wm-contact-history-content h3 { margin: 0; font-size: .9375rem; }
.wm-contact-history-content p { margin: 12px 0 0; font-size: .9375rem; line-height: 1.85; overflow-wrap: anywhere; }
.wm-contact-history-images { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 20px 0 0; list-style: none; }
.wm-contact-history-images a { display: flex; flex-direction: column; gap: 6px; color: var(--wm-theme-primary-dark); font-size: .75rem; }
.wm-contact-history-images img { width: 112px; height: 84px; object-fit: cover; border: 1px solid var(--wm-theme-line); border-radius: 8px; }
.wm-contact-history-images a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.wm-contact-history-replies { display: grid; gap: 12px; margin-top: 24px; }
.wm-contact-history-reply { padding: 20px; background: var(--wm-mode-soft, #f6f3ff); border-radius: 8px; }
.wm-contact-history-reply-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.wm-contact-history-reply h3 { color: var(--wm-theme-primary-dark); }
.wm-contact-history-content .wm-contact-history-waiting { margin: 0; padding-top: 20px; border-top: 1px solid var(--wm-theme-line); color: var(--wm-theme-muted); font-size: .875rem; }
.wm-contact-history-empty { padding: 32px 24px; text-align: center; }
.wm-contact-history-empty p { margin: 0; font-weight: 700; }
.wm-contact-history-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 24px; font-size: .875rem; }
.wm-contact-history-pagination a, .wm-contact-history-pagination > span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.wm-contact-history-pagination a { padding: 6px 14px; border: 1px solid var(--wm-theme-line); border-radius: 8px; background: var(--wm-mode-surface, white); font-weight: 700; }
.wm-contact-history-pagination a:hover { border-color: var(--wm-mode-line, #bfb6e7); color: var(--wm-theme-primary-dark); }
.wm-contact-history-pagination [aria-disabled='true'] { color: var(--wm-theme-muted); opacity: .65; }
.wm-contact-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 1023px) {
    .wm-contact-form-fields { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
    .wm-contact-inquiry .content-error-report__header { gap: 12px; padding: 20px 16px; }
    .wm-contact-inquiry .content-error-report__body { padding: 20px 16px; }
    .wm-contact-inquiry .content-error-report__actions { padding-inline: 16px; }
    .wm-contact-history-link { font-size: .8125rem; }
    .wm-contact-login { padding: 24px 20px; }
    .wm-contact-history-heading { margin-bottom: 20px; }
    .wm-contact-history-summary { gap: 10px; padding: 18px 16px; }
    .wm-contact-history-meta { display: grid; }
    .wm-contact-history-status { padding: 4px 8px; font-size: .6875rem; }
    .wm-contact-history-content { padding: 20px 16px; }
    .wm-contact-history-reply { padding: 16px; }
    .wm-contact-history-images img { width: 100px; height: 76px; }
}

@media (max-width: 399px) {
    .wm-contact-inquiry .content-error-report__header { gap: 8px; }
    .wm-contact-inquiry .content-error-report__emergency-icon { width: 32px; height: 32px; border-radius: 10px; }
    .wm-contact-inquiry .content-error-report__emergency-icon svg { width: 20px; height: 20px; }
    .wm-contact-inquiry .content-error-report__title { font-size: 18px; }
    .wm-contact-history-link { gap: 4px; font-size: .75rem; }
    .wm-contact-history-link svg { width: 14px; height: 14px; }
}

/* Match the planner course picker and notification settings menus. */
.wm-contact-category { position: relative; min-width: 0; }
.wm-contact-category select.wm-contact-input { appearance: none; padding-right: 44px; }
.wm-contact-category-native-chevron, .wm-contact-category-chevron { width: 14px; height: 8px; flex-shrink: 0; color: var(--wm-theme-primary-dark); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.wm-contact-category-native-chevron { position: absolute; top: 50%; right: 16px; transform: translateY(-50%); }
.wm-contact-category-trigger.wm-contact-input { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-inline: 12px 16px; text-align: left; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.wm-contact-category-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wm-contact-category-chevron { transition: transform 160ms ease; }
.wm-contact-category-trigger:hover, .wm-contact-category-trigger[aria-expanded='true'] { border-color: rgba(109, 74, 255, .38); background: var(--wm-mode-surface, #fcfbff); }
.wm-contact-category-trigger[aria-expanded='true'] .wm-contact-category-chevron { transform: rotate(180deg); }
.wm-contact-category-trigger:disabled { opacity: .6; cursor: wait; }
.wm-contact-category-menu { position: fixed; z-index: 100; display: grid; gap: 4px; padding: 8px; border: 1px solid var(--wm-mode-line, #ded7ff); border-radius: 16px; background: linear-gradient(160deg, var(--wm-mode-surface, #fff), var(--wm-mode-surface, #faf8ff)); color: var(--wm-theme-ink); box-shadow: 0 18px 42px rgba(31, 35, 65, .16); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c7b9ed transparent; }
.wm-contact-category-menu[hidden], .wm-contact-category [hidden] { display: none !important; }
.wm-contact-category-menu .wm-contact-category-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--wm-theme-ink); font: inherit; font-size: .9375rem; font-weight: 700; line-height: 1.5; text-align: left; cursor: pointer; transition: background 150ms ease, border-color 150ms ease, color 150ms ease; }
.wm-contact-category-option:hover, .wm-contact-category-option:focus-visible { border-color: rgba(109, 74, 255, .18); background: var(--wm-mode-soft, #f1edff); color: var(--wm-theme-primary-dark); }
.wm-contact-category-option:focus-visible { outline: 2px solid rgba(109, 74, 255, .55); outline-offset: -2px; }
.wm-contact-category-menu .wm-contact-category-option[aria-selected='true'] { background: var(--wm-theme-primary-gradient); color: white; box-shadow: 0 6px 14px rgba(109, 74, 255, .18); }
.wm-contact-category-option[aria-selected='true']:focus-visible { outline-color: rgba(var(--wm-mode-line-rgb, 255, 255, 255), 0.8); outline-offset: -4px; }
.wm-contact-category-check { flex-shrink: 0; width: 18px; height: 18px; opacity: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wm-contact-category-option[aria-selected='true'] .wm-contact-category-check { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .wm-contact-category-trigger.wm-contact-input, .wm-contact-category-chevron, .wm-contact-category-menu .wm-contact-category-option { transition: none; }
}

@media screen {
    html[data-wm-theme="dark"] #contactEmail::placeholder {
        color: var(--wm-mode-muted, #acb7d1);
        opacity: 1;
    }
}
