/* Scoped support UI. Existing shop, search, checkout and service pages are unchanged. */
/* Inter is the first family in the supplied design; ship its heavy face locally. */
@font-face { font-family: EPrinterSupportDisplay; src: url('../fonts/Inter-Black.otf') format('opentype'); font-style: normal; font-weight: 900; font-display: swap; }
body.epr-support-page .page-content > .page-header { display: none; }
body.epr-support-page .page-content { max-width: none; width: 100%; }
body.epr-support-page .entry-content { max-width: none; }
.epr-product-support { display: flex; align-items: center; gap: 13px; padding: 16px; margin: 14px 0 20px; border: 1px solid #f1d5b9; border-radius: 10px; background: #fff8f1; color: #9a4c12; text-decoration: none; clear: both; box-sizing: border-box; }
.epr-product-support > img { width: 32px; height: 32px; flex: 0 0 32px; }
.epr-product-support > span { min-width: 0; }
.epr-product-support strong, .epr-product-support > span > span, .epr-product-support small { display: block; line-height: 1.5; }
.epr-product-support strong { color: #5c371c; font-size: 15px; }
.epr-product-support > span > span { font-size: 14px; font-weight: 700; }
.epr-product-support small { margin-top: 3px; color: #805d43; font-size: 12px; }
.epr-product-support:hover { border-color: #d6a06d; background: #fff1e3; color: #9a4c12; }
.epr-product-support:focus-visible { outline: 3px solid #b86d2a; outline-offset: 3px; }
.epr-core-home > .epr-sos-band {
    display: grid; grid-template-columns: minmax(0, 22fr) minmax(0, 32fr) minmax(0, 46fr);
    align-items: center; gap: 16px; padding: 16px 12px 16px 26px; margin-block: 16px;
    border-radius: 12px; background: #e8f8fc; color: #080f29; min-height: 185px;
    box-shadow: inset -12px 0 28px #d2edf4;
}
.epr-sos-band *, .epr-support * { box-sizing: border-box; }
.epr-sos-band a { text-decoration: none; }
.epr-sos-eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 7px; font: 900 clamp(11px, 1.13vw, 16px)/1.15 EPrinterSupportDisplay, Arial, sans-serif; margin: 0 0 6px; letter-spacing: -.04em; }
.epr-sos-eyebrow > span { white-space: nowrap; }
.epr-sos-eyebrow .epr-sos-wordmark { color: #007bb7; }
.epr-sos-eyebrow .epr-sos-logo { display: block; width: clamp(72px, 6.7vw, 96px); height: auto; max-height: 30px; object-fit: contain; flex: 0 0 auto; }
.epr-sos-intro h2 { color: #080f29; font: 900 clamp(23px, 2.45vw, 35px)/1.03 EPrinterSupportDisplay, Arial, sans-serif; letter-spacing: -.035em; margin: 0 0 8px; }
.epr-sos-highlight { display: inline; color: #08142c; background: #c5e8f7; border-radius: 4px; padding: 3px 5px; font: 900 clamp(11px, 1.22vw, 17px)/1.5 EPrinterSupportDisplay, Arial, sans-serif; letter-spacing: -.02em; box-decoration-break: clone; }
.epr-sos-copy { margin: 7px 0 0; font-size: clamp(11px, 1.02vw, 14px); line-height: 1.3; color: #101b27; }
.epr-sos-button { display: block; min-width: 0; border-radius: 10px; transition: transform .15s ease; }
.epr-sos-button img { display: block; width: 100%; height: auto; filter: drop-shadow(0 7px 5px #67838d63); }
.epr-sos-button:hover { transform: translateY(-2px); }
.epr-sos-routes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-self: stretch; }
.epr-sos-route { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 8px; padding: 11px 7px; border-radius: 16px; background: #f9fdff; color: #080f29; box-shadow: 0 9px 13px #2083a51b; border: 1px solid #ecf8fc; }
.epr-sos-route:hover { border-color: #0788bd; background: #fff; }
.epr-sos-route img { width: 40px; height: 40px; object-fit: contain; }
.epr-sos-route strong { font: 900 clamp(12px, 1.1vw, 15px)/1.08 EPrinterSupportDisplay, Arial, sans-serif; letter-spacing: -.035em; min-height: 2.2em; display: flex; align-items: center; }
.epr-sos-route > span { font-size: clamp(10px, .93vw, 13px); line-height: 1.2; }
.epr-sos-band a:focus-visible, .epr-support a:focus-visible, .epr-support button:focus-visible, .epr-support input:focus-visible, .epr-support textarea:focus-visible, .epr-support select:focus-visible { outline: 3px solid #e9ac00; outline-offset: 3px; }
.epr-support { --support-blue: #087bb8; --support-navy: #09264d; --support-line: #d4e7ef; color: var(--support-navy); font: 15px/1.5 Arial, Helvetica, sans-serif; max-width: 1360px; margin: 0 auto; }
.epr-support [hidden] { display: none !important; }
.epr-support .epr-check-copy { display: block; margin-top: 6px; font-weight: 400; color: #40556b; line-height: 1.6; }
.epr-support [data-diagnostic-checks] { margin-block: 20px; }
.epr-support [data-check-count] { font-size: 13px; color: #52697b; }
.epr-support [data-diagnostic-resolved] { padding: 24px 0; }
.epr-support [data-diagnostic-resolved] .epr-support-btn { margin: 5px; }
.epr-error-library { background: #f2f7fa; margin: 0; padding: 24px 12px; }
.epr-error-library > main { max-width: 1050px; }
.epr-error-library input, .epr-error-library select { font: inherit; padding: 12px; }
.epr-error-library .epr-support-btn { cursor: pointer; }
.epr-error-models { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; list-style: none; padding: 0; }
.epr-error-entry { margin-top: 18px; }
.epr-error-entry summary { cursor: pointer; padding: 8px 0; }
.epr-error-entry section { border-top: 1px solid #d4e7ef; margin-top: 14px; padding-top: 14px; }
.epr-error-text { overflow-wrap: anywhere; }
.epr-support h1, .epr-support h2, .epr-support h3, .epr-support h4 { color: var(--support-navy); line-height: 1.15; }
.epr-support h1 { font-size: clamp(26px, 3vw, 40px); margin: 8px 0 12px; letter-spacing: -.035em; }
.epr-support h2 { font-size: 23px; margin: 0 0 18px; }
.epr-support h3 { font-size: 20px; margin: 24px 0 10px; }
.epr-support h4 { font-size: 16px; margin: 0 0 8px; }
.epr-support a { color: #066da7; text-underline-offset: 3px; }
.epr-support-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 28px 32px; background: #eaf7fd; border: 1px solid var(--support-line); border-radius: 16px; margin-bottom: 24px; }
.epr-support-heading p { margin: 0; }
.epr-support-kicker { color: #056faa; font-weight: 800; font-size: 12px; letter-spacing: .06em; }
.epr-support-routes { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 26px; }
.epr-support-route { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-height: 165px; padding: 20px; border: 1px solid var(--support-line); border-radius: 14px; text-decoration: none; background: #fff; }
.epr-support-route strong { color: var(--support-navy); font-size: 17px; }
.epr-support-route span { font-size: 13px; color: #526d7f; }
.epr-support-route.is-active, .epr-support-route:hover { border-color: #087fbb; background: #eef9ff; box-shadow: inset 0 0 0 1px #087fbb; }
.epr-support-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 22px; align-items: start; }
.epr-support-panel { border: 1px solid var(--support-line); border-radius: 15px; padding: 26px; background: #fff; margin: 0 0 22px; box-shadow: 0 8px 24px #103e6710; min-width: 0; }
.epr-support-form--simple { max-width: 920px; margin-inline: auto; }
.epr-support-panel fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.epr-support-panel legend { font-size: 25px; font-weight: 800; padding: 0; margin: 0 0 16px; letter-spacing: -.025em; }
.epr-support-progress { margin-bottom: 22px; color: #076ea7; font-size: 12px; font-weight: bold; text-transform: uppercase; }
.epr-support-progress progress { display: block; width: 100%; height: 7px; margin-top: 10px; accent-color: #0996ba; }
.epr-support-muted, .epr-support-field small { font-size: 13px; color: #516e80; line-height: 1.5; }
.epr-support-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.epr-support-combo { position: relative; min-width: 0; font-weight: 400; }
.epr-support .epr-support-combo input { padding-right: 48px; font-size: 16px; }
.epr-support-combo [data-lookup-toggle] { position: absolute; right: 1px; top: 1px; display: flex; align-items: center; justify-content: center; width: 44px; height: calc(100% - 2px); min-height: 44px; padding: 0; border: 0; border-left: 1px solid #d4e7ef; border-radius: 0 8px 8px 0; color: #087bb8; background: #f3faff; line-height: 1; cursor: pointer; }
.epr-support-combo [data-lookup-toggle] > svg { display: block; flex: 0 0 16px; width: 16px; height: 16px; margin: 0; pointer-events: none; }
.epr-support-options { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 30; max-height: min(320px, 45vh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #b7d3e4; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px #103e6730; }
.epr-support-options ul { margin: 0; padding: 4px; list-style: none; }
.epr-support-options [role=option] { margin: 0; padding: 11px 12px; min-height: 44px; border-radius: 5px; cursor: pointer; overflow-wrap: anywhere; color: #123448; }
.epr-support-options [role=option]:hover, .epr-support-options [aria-selected=true] { background: #e4f3fc; color: #056397; }
.epr-support-options p { margin: 0; padding: 8px 12px; font-size: 12px; color: #52697b; }
.epr-support-options p:empty { display: none; }
.epr-support-options [data-lookup-more] { width: calc(100% - 16px); margin: 4px 8px 8px; padding: 10px; min-height: 44px; border: 1px solid #bdd5e2; border-radius: 6px; background: #f3faff; color: #076ea7; cursor: pointer; }
.epr-support-equipment-hint { margin: -5px 0 18px; }
.epr-customer-errors { margin: 0 0 24px; }
.epr-customer-error-entry { border: 1px solid #bdd5e2; border-radius: 9px; margin: 12px 0; padding: 14px; background: #f8fcff; overflow-wrap: anywhere; }
.epr-customer-error-entry summary { cursor: pointer; color: #076ea7; font-weight: 700; }
.epr-customer-error-entry section { border-top: 1px solid #d4e7ef; margin-top: 14px; }
.epr-customer-error-entry h3 { font-size: 16px; margin: 14px 0 8px; }
.epr-customer-error-entry p { white-space: pre-line; margin: 0; font-size: 14px; line-height: 1.65; }
.epr-support-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 19px; font-weight: 700; font-size: 14px; }
.epr-support-field > span, .epr-support-field small { font-weight: normal; }
.epr-support-field input:not([type="checkbox"]), .epr-support-field textarea, .epr-support-field select { width: 100%; max-width: none; padding: 11px 12px; border: 1px solid #bdd5e2; border-radius: 8px; background: #fff; color: #123448; font: 15px/1.5 Arial, sans-serif; min-height: 44px; }
.epr-support-field textarea { resize: vertical; }
.epr-support-field input[type="file"] { font-size: 13px; padding: 14px; background: #f3faff; border-style: dashed; }
.epr-support .epr-support-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; gap: 8px; padding: 10px 17px; border: 1px solid #087bb8; border-radius: 8px; background: #087bb8; color: #fff; font: 700 14px/1.35 Arial,sans-serif; text-decoration: none; cursor: pointer; text-align: center; }
.epr-support .epr-support-btn:hover { background: #056397; }
.epr-support .epr-support-btn.is-secondary { background: #fff; border-color: #bbd4e2; color: #125578; }
.epr-support .epr-support-btn:disabled { opacity: .55; cursor: wait; }
.epr-support-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.epr-support-hint { padding: 14px 16px; border-left: 3px solid #0b8ec0; border-radius: 6px; background: #eef8fd; color: #375a70; font-size: 13px; }
.epr-support-hint.is-warning { background: #fff7e8; border-left-color: #d6a035; color: #74531b; }
.epr-support-upload-advice { margin: 0 0 16px; padding: 16px 18px; border: 1px solid #efd2ad; border-left: 4px solid #bd752d; border-radius: 8px; background: #fff7ec; color: #654520; font-size: 14px; line-height: 1.65; }
.epr-support-upload-advice > strong { display: block; margin-bottom: 5px; font-size: 15px; }
.epr-support-upload-advice > p { margin: 0; }
.epr-support-print-instruction { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid #087bb8; border-radius: 5px; background: #edf7fc; color: #264c63; font-size: 14px; line-height: 1.6; }
.epr-support-screen-message { margin-bottom: 20px; padding: 0 16px 1px; border: 1px solid var(--support-line); border-radius: 8px; background: #f9fdff; }
.epr-support-checks { display: grid; gap: 10px; margin: 22px 0; }
.epr-support-checks label { display: flex; align-items: flex-start; gap: 11px; padding: 12px; border: 1px solid #e0edf3; border-radius: 8px; background: #f7fbfd; font-size: 13px; }
.epr-support input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; margin: 1px 0 0; accent-color: #087bb8; }
.epr-support-guides { display: grid; gap: 12px; }
.epr-support-guide { padding: 18px; border: 1px solid var(--support-line); border-radius: 10px; background: #f9fdff; }
.epr-support-guide > small { color: #516e80; }
.epr-support-guide details { margin: 12px 0; font-size: 13px; }
.epr-support-guide summary, .epr-support-completed summary { cursor: pointer; color: #096ba2; font-weight: bold; }
.epr-support-guide > label { display: flex; align-items: flex-start; gap: 8px; margin-top: 13px; font-size: 13px; }
.epr-support-aside { background: #f6fbfe; font-size: 13px; }
.epr-support-aside h2 { font-size: 19px; }
.epr-support-aside dt { border-top: 1px solid var(--support-line); padding-top: 12px; font-size: 12px; color: #617b8e; }
.epr-support-aside dd { margin: 2px 0 12px; font-weight: 700; overflow-wrap: anywhere; }
.epr-support-error, .epr-support-success { padding: 13px 16px; border-radius: 8px; font-size: 14px; }
.epr-support-error { color: #a12231; background: #fff0f2; border: 1px solid #e8bdc5; }
.epr-support-success { color: #17664d; background: #edf9f2; border: 1px solid #b6ddc7; }
.epr-support-file-list { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.epr-support-file-list figure { margin: 0; width: 145px; padding: 8px; border: 1px solid var(--support-line); border-radius: 8px; }
.epr-support-file-list img { width: 100%; height: 90px; object-fit: contain; }
.epr-support-file-list figcaption { overflow-wrap: anywhere; font-size: 11px; }
.epr-support-ticket-row { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 18px 0; border-top: 1px solid var(--support-line); text-decoration: none; }
.epr-support-ticket-row small { display: block; margin-top: 5px; color: #607487; font-size: 12px; }
.epr-support-status { display: inline-flex; border-radius: 20px; background: #e6f4fc; color: #066ba4; padding: 6px 12px; font-size: 12px; font-weight: bold; }
.epr-support-thread-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.epr-support-facts { display: flex; flex-wrap: wrap; gap: 18px; margin: 5px 0 20px; }
.epr-support-facts dt { font-size: 12px; color: #617b8e; }
.epr-support-facts dd { margin: 0; font-weight: bold; overflow-wrap: anywhere; }
.epr-support-completed { margin-bottom: 22px; font-size: 13px; }
.epr-support-message { border: 1px solid var(--support-line); border-radius: 10px; padding: 18px; margin: 14px 0; overflow-wrap: anywhere; }
.epr-support-message.is-staff { background: #eff9fe; border-color: #b6d8ed; }
.epr-support-message header { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.epr-support-message time { font-size: 12px; color: #597185; }
.epr-support-message p { margin: 12px 0; white-space: normal; }
.epr-support-attachment { display: block; font-size: 13px; margin-top: 9px; }
.epr-support-privacy { font-size: 12px; line-height: 1.55; color: #5d7485; border-top: 1px solid var(--support-line); margin-top: 30px; padding-top: 16px; }
.epr-support-admin { margin: 24px 24px 0 0; max-width: 1180px; }
.epr-support-admin .nav-tab { color: #194562; }
.epr-support-admin .widefat { margin-bottom: 24px; }
@media (min-width: 1440px) { .epr-core-home > .epr-sos-band { min-height: 212px; padding-block: 18px; } }
@media (max-width: 1050px) {
    .epr-core-home > .epr-sos-band { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); padding: 20px; gap: 20px; }
    .epr-sos-routes { grid-column: 1/-1; }
    .epr-sos-intro h2 { font-size: 30px; }
    .epr-sos-copy { font-size: 14px; }
    .epr-sos-eyebrow { font-size: 12px; }
    .epr-sos-highlight { font-size: 15px; }
    .epr-sos-route strong { font-size: 14px; min-height: 0; }
    .epr-sos-route > span { font-size: 12px; }
    .epr-support-workspace { grid-template-columns: minmax(0,1fr) 240px; gap: 16px; }
}
@media (max-width: 760px) {
    .epr-core-home > .epr-sos-band { grid-template-columns: 1fr; padding: 22px 16px; gap: 20px; }
    .epr-sos-intro { text-align: center; }
    .epr-sos-eyebrow { justify-content: center; }
    .epr-sos-intro h2 { font-size: 30px; }
    .epr-sos-eyebrow { font-size: 12px; }
    /* Keep the complete PNG in its own proportional row. Avoid a filtered
       image layer and sticky hover transforms on touch Safari. */
    .epr-sos-button { max-width: 400px; width: 100%; margin: 0 auto; aspect-ratio: 1903 / 826; align-self: start; line-height: 0; }
    .epr-sos-button img { width: 100%; height: auto; aspect-ratio: 1903 / 826; object-fit: contain; filter: none; }
    .epr-sos-routes { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .epr-sos-route { min-height: 160px; padding: 16px 12px; }
    .epr-support-heading { display: block; padding: 22px; }
    .epr-support-heading .epr-support-btn { margin-top: 18px; }
    .epr-support-routes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .epr-support-route { padding: 15px; }
    .epr-support-route strong { font-size: 15px; }
    .epr-support-workspace, .epr-support-grid { grid-template-columns: 1fr; }
    .epr-support-panel { padding: 19px; }
    .epr-support-panel legend { font-size: 22px; }
    .epr-support-ticket-row, .epr-support-thread-title { flex-direction: column; align-items: flex-start; gap: 10px; }
    .epr-support-message header { display: block; }
    .epr-support-message time { display: block; margin-top: 4px; }
    .epr-support-admin { margin: 15px 10px 0 0; }
}
@media (hover: none) { .epr-sos-button:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .epr-sos-button { transition: none; } }

/* State and unread information have separate semantics; text remains explicit without color. */
.woocommerce-MyAccount-navigation-link--eprinter-support > a { gap: 8px; justify-content: space-between; font-size: 14px; }
.woocommerce-MyAccount-navigation-link--eprinter-support .epr-account-menu-label { white-space: nowrap; }
.woocommerce-MyAccount-navigation .epr-account-unread-badge { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 22px; height: 22px; padding: 0 5px; box-sizing: border-box; border-radius: 11px; background: #0069a7; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.epr-support-status { border: 1px solid transparent; line-height: 1.45; max-width: 100%; }
.epr-support-status--open { background: #eaf3ff; color: #164b83; border-color: #b9d5f4; }
.epr-support-status--in_progress { background: #f1edff; color: #593493; border-color: #d9cbf6; }
.epr-support-status--waiting_customer { background: #fff4d9; color: #794700; border-color: #e9ce89; }
.epr-support-status--resolved { background: #e7f6ed; color: #17623c; border-color: #acd8bd; }
.epr-support-status--closed { background: #edf0f3; color: #485563; border-color: #cad2db; }
.epr-support-ticket-row { padding: 22px 12px; border-radius: 8px; }
.epr-support-ticket-row.has-unread { background: #f3f9fe; border-left: 4px solid #0075bc; padding-left: 16px; }
.epr-support-ticket-copy { min-width: 0; }
.epr-support-ticket-copy strong { overflow-wrap: anywhere; }
.epr-support-ticket-hint { display: block; margin: 8px 0; color: #445b70; font-size: 14px; line-height: 1.5; }
.epr-support-ticket-state { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; flex-shrink: 0; max-width: 290px; }
.epr-support-ticket-cta { color: #006bab; font-weight: 700; font-size: 13px; margin-top: 3px; }
.epr-support-unread { display: inline-flex; gap: 6px; align-items: center; border-radius: 6px; padding: 4px 9px; background: #0069a7; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.5; }
.epr-support-unread::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.epr-support-update { color: #654096; font-size: 13px; font-weight: 700; }
.epr-support-unread-summary { color: #145783; font-weight: 600; }
.epr-support-status-explanation { background: #f5f8fb; padding: 14px 16px; border-radius: 8px; color: #344d61; }
.epr-support-message.is-unread { border-left: 4px solid #0075bc; }
.epr-support-message > .epr-support-unread { margin-top: 12px; }
.epr-support-live { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 24px; padding: 14px 18px; border: 1px solid #d2e2ef; border-radius: 10px; background: #f6f9fc; }
.epr-support-live p { flex: 1 1 400px; margin: 0; font-size: 14px; color: #344d61; }
.epr-support-live small { flex: 1 0 100%; font-size: 12px; color: #526679; }
.epr-support-live.has-updates { background: #eaf5ff; border-color: #7bb5df; }
.epr-support-live .epr-support-btn { padding: 9px 14px; font-size: 13px; }
.epr-support-account-data { display: flex; flex-direction: column; gap: 5px; overflow-wrap: anywhere; }
.epr-support-account-data small { color: #526679; }
.epr-support-account h2 { margin-top: 0; }
.epr-support-table-scroll { overflow-x: auto; }
.epr-support-table-scroll td { vertical-align: top; padding: 14px 10px; }
.epr-support-table-scroll table { min-width: 720px; }
@media (max-width: 760px) {
    .epr-support-ticket-state { flex-direction: row; flex-wrap: wrap; align-items: center; max-width: 100%; }
    .epr-support-ticket-cta { flex: 1 0 100%; }
    .epr-support-ticket-row.has-unread { padding-left: 12px; }
}
