[data-jweb-web-compare-button][hidden],
[data-jweb-web-compare-card-icon][hidden],
.jweb-web-compare-control[hidden],
[data-jweb-web-compare-tray][hidden] { display: none !important; }
.jweb-web-compare-page,
.jweb-web-compare-tray,
.jweb-web-compare-control,
.jweb-web-compare-live { font-family: inherit; color: #243548; font-size: max(16px, 1rem); line-height: 1.6; }
.jweb-web-compare-page,
.jweb-web-compare-tray,
.jweb-web-compare-page *,
.jweb-web-compare-tray *,
.jweb-web-compare-control,
.jweb-web-compare-control * { box-sizing: border-box; }
.jweb-web-compare-card-button,
.jweb-web-compare-action,
.jweb-web-compare-link {
    display: inline-flex; justify-content: center; align-items: center; min-height: 44px;
    padding: 9px 16px; border: 1px solid #b45a36; border-radius: 7px; background: #fff;
    color: #803a23; font: inherit; font-weight: 700; line-height: 1.5; text-align: center;
    text-decoration: none; white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.jweb-web-compare-control { display: flex; justify-content: center; width: 100%; margin: 0; padding: 2px 12px; border-top: 1px solid #ececec; background: #fff; }
.jweb-web-compare-card-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; margin: 0; padding: 0 8px; color: #46515d; font: inherit; font-weight: 500; line-height: 1.5; cursor: pointer; }
.jweb-web-compare-card-toggle .jweb-web-compare-card-checkbox { appearance: auto; -webkit-appearance: checkbox; position: static; flex: 0 0 20px; width: 20px; min-width: 20px; height: 20px; margin: 0; padding: 0; opacity: 1; accent-color: #b44d30; cursor: pointer; }
.jweb-web-compare-card-label { white-space: nowrap; }
.jweb-web-compare-card-toggle .jweb-web-compare-icon { color: #717982; }
.jweb-web-compare-card-toggle.jweb-web-compare-selected .jweb-web-compare-icon { color: #b44d30; }
.jweb-web-compare-card-toggle:has(input:disabled) { opacity: .6; cursor: default; }
.jweb-web-compare-card-checkbox:focus-visible { outline: 3px solid #172d45; outline-offset: 3px; }
/* Keep the glyph measurable while loading; the local SVG remains until FA is verified. */
.jweb-web-compare-icon { display: inline-flex; align-items: center; justify-content: center; position: relative; flex: 0 0 20px; width: 20px; height: 20px; vertical-align: middle; pointer-events: none; }
.jweb-web-compare-icon > .jweb-web-compare-fa { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; font-size: 20px; line-height: 1; text-align: center; opacity: 0; }
.jweb-web-compare-icon-fallback { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jweb-web-compare-icon-ready > .jweb-web-compare-fa { opacity: 1; }
.jweb-web-compare-icon-ready > .jweb-web-compare-icon-fallback { visibility: hidden; }
/* Cached pre-checkbox markup remains operable until the site's page cache is refreshed. */
.jweb-web-compare-card-button { width: 100%; }
.jweb-web-compare-card-button[aria-pressed="true"] { color: #8b3d25; background: #fff2eb; box-shadow: inset 3px 0 #b44d30; }
.jweb-web-compare-action:hover,
.jweb-web-compare-card-button:hover,
.jweb-web-compare-link:hover { color: #67260f; background: #fff2eb; text-decoration: underline; }
.jweb-web-compare-primary { background: #a84626; color: #fff; border-color: #a84626; }
.jweb-web-compare-primary:hover { background: #84351b; color: #fff; }
.jweb-web-compare-page button:disabled,
.jweb-web-compare-tray button:disabled,
.jweb-web-compare-card-button:disabled { color: #59616a; border-color: #c5c8cc; background: #eef0f2; cursor: default; text-decoration: none; }
.jweb-web-compare-page a:focus-visible,
.jweb-web-compare-page button:focus-visible,
.jweb-web-compare-tray a:focus-visible,
.jweb-web-compare-tray button:focus-visible,
.jweb-web-compare-card-button:focus-visible,
.jweb-web-compare-scroll:focus-visible { outline: 3px solid #172d45; outline-offset: 3px; box-shadow: 0 0 0 5px #ffe98b; }
.jweb-web-compare-heading,
.jweb-web-compare-page-heading { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: inherit !important; font-weight: 700 !important; color: #243548 !important; }
.jweb-web-compare-page-heading { font-size: max(24px, 1.5rem) !important; }
.jweb-web-compare-tray {
    position: fixed; z-index: 990; bottom: 0; left: 0; right: 0; width: 100%;
    max-height: 42vh; max-height: 42dvh; display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: 'heading selection tools actions'; align-items: center; gap: 8px 12px;
    padding: 8px max(16px, env(safe-area-inset-right, 0px)) max(8px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    background: #fff; border-top: 1px solid #c56a46; box-shadow: 0 -3px 18px rgb(36 53 72 / 12%);
    overflow-y: auto; overscroll-behavior: contain;
}
.jweb-web-compare-tray-header { grid-area: heading; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
.jweb-web-compare-tray .jweb-web-compare-heading { display: flex; align-items: center; gap: 8px; min-width: 0; }
.jweb-web-compare-tray .jweb-web-compare-heading > .jweb-web-compare-icon { color: #b44d30; }
.jweb-web-compare-tray-hint { margin: 0; font-size: 14px; color: #66717b; white-space: nowrap; }
.jweb-web-compare-tray-tools { grid-area: tools; display: flex; align-items: center; gap: 0; }
.jweb-web-compare-tray .jweb-web-compare-icon-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; min-width: 44px; width: 44px; min-height: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: #68747f; border-radius: 6px; }
.jweb-web-compare-tray .jweb-web-compare-icon-button:hover { background: #f2f3f4; color: #8b3d25; }
.jweb-web-compare-actions,
.jweb-web-compare-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 8px 0; flex: 0 0 auto; }
.jweb-web-compare-tray > .jweb-web-compare-actions { grid-area: actions; justify-content: flex-end; margin: 0; min-width: 0; }
.jweb-web-compare-tray .jweb-web-compare-primary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 8px 14px; font-size: 16px; white-space: nowrap; }
.jweb-web-compare-selection { grid-area: selection; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; min-width: 0; min-height: 0; }
.jweb-web-compare-selection[data-jweb-web-compare-count="1"] { grid-template-columns: minmax(0, 1fr); }
.jweb-web-compare-selection[data-jweb-web-compare-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jweb-web-compare-selection-item { display: flex; align-items: center; justify-content: space-between; gap: 0; width: 100%; margin: 0; padding: 0 0 0 8px; border: 1px solid #d9dde1; border-radius: 7px; background: #f6f7f8; min-width: 0; }
.jweb-web-compare-selection-label { display: block; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; min-width: 0; }
.jweb-web-compare-chip-hint { display: none; }
.jweb-web-compare-selection small,
.jweb-web-compare-table small { display: block; font-weight: 400; }
.jweb-web-compare-selection-item > button { flex: 0 0 auto; }
.jweb-web-compare-tray-status { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.jweb-web-compare-tray-status:empty { display: none; }
.jweb-web-compare-tray-status .jweb-web-compare-action { padding: 6px 12px; }
.jweb-web-compare-tray-collapsed { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: 'heading tools actions'; }
.jweb-web-compare-tray-collapsed .jweb-web-compare-tray-hint,
.jweb-web-compare-tray-collapsed [data-jweb-web-compare-clear] { display: none; }
.jweb-web-compare-message { margin: 0; overflow-wrap: anywhere; }
.jweb-web-compare-muted { color: #586574; font-size: .9em; }
.jweb-web-compare-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.jweb-web-compare-live-visible { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; margin: 16px; padding: 12px; border: 1px solid #b46f38; background: #fff7e9; }
.jweb-web-compare-empty { margin: 24px auto; padding: 32px 24px; max-width: 720px; border: 1px solid #e4d7cc; border-radius: 12px; background: #fffaf6; text-align: center; }
.jweb-web-compare-empty .jweb-web-compare-navigation { justify-content: center; }
.jweb-web-compare-page { max-width: 1200px; margin: 24px auto; }
.jweb-web-compare-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; margin: 20px 0 8px; border: 1px solid #d3d9df; border-radius: 8px; }
.jweb-web-compare-table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; table-layout: fixed; color: #243548; background: #fff; }
.jweb-web-compare-table caption { padding: 10px; text-align: left; font-weight: 700; }
.jweb-web-compare-table th,
.jweb-web-compare-table td { padding: 16px; vertical-align: top; text-align: left; overflow-wrap: anywhere; white-space: pre-line; border-right: 1px solid #d3d9df; border-top: 1px solid #d3d9df; }
.jweb-web-compare-table th:last-child,
.jweb-web-compare-table td:last-child { border-right: 0; }
.jweb-web-compare-table thead th { background: #fff4ed; }
.jweb-web-compare-table th:first-child { width: 180px; background: #f1f3f5; }
.jweb-web-compare-table td { width: 250px; }
.jweb-web-compare-table .jweb-web-compare-column-title { display: block; font-size: 1.1em; margin-bottom: 8px; }
.jweb-web-compare-table button,
.jweb-web-compare-table .jweb-web-compare-link { display: flex; width: 100%; margin-top: 12px; }
.jweb-web-compare-total-row td { color: #a64120; background: #fffaf4; font-size: 1.2em; font-weight: 700; }
.jweb-web-compare-notice { white-space: normal; }
.jweb-web-compare-notice p:first-child { margin-top: 0; }
.jweb-web-compare-notice a { text-decoration: underline; }
.jweb-web-compare-notice ul,
.jweb-web-compare-notice ol { padding-left: 1.25em; }
.jweb-web-compare-scroll-hint { margin: 0 0 16px; color: #586574; font-size: .9em; }
html.jweb-web-compare-active { scroll-padding-bottom: calc(var(--jweb-web-compare-tray-height, 0px) + 24px); }
/* The tray already includes the device safe area; do not add it twice to the launcher offset. */
html.jweb-web-compare-active .jwc-srs-help[data-help-mode="panel"] [data-help-open] { bottom: calc(var(--jweb-web-compare-tray-height, 0px) + 16px); }
@media (max-width: 767px) {
    .jweb-web-compare-tray { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: 'heading tools actions' 'selection selection selection'; gap: 4px 6px; padding: 4px max(12px, env(safe-area-inset-right, 0px)) max(8px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); }
    .jweb-web-compare-tray-header { gap: 8px; }
    .jweb-web-compare-tray .jweb-web-compare-heading { gap: 6px; }
    .jweb-web-compare-tray-hint { display: none; }
    .jweb-web-compare-chip-hint { display: inline; flex: 0 0 auto; margin-left: 8px; color: #66717b; font-size: 13px; white-space: nowrap; }
    .jweb-web-compare-tray-tools { justify-content: flex-end; }
    .jweb-web-compare-tray .jweb-web-compare-primary { padding: 8px 10px; font-size: 14px; gap: 6px; }
    .jweb-web-compare-tray-collapsed { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: 'heading tools actions'; }
    .jweb-web-compare-empty { padding: 24px 16px; }
    .jweb-web-compare-navigation { align-items: stretch; flex-direction: column; }
    .jweb-web-compare-table { width: max-content; table-layout: auto; }
    .jweb-web-compare-table th,
    .jweb-web-compare-table td { min-width: 230px; max-width: 260px; padding: 12px; }
    .jweb-web-compare-table th:first-child { position: sticky; left: 0; z-index: 1; width: 108px; min-width: 108px; max-width: 108px; padding: 10px; box-shadow: 2px 0 3px rgb(36 53 72 / 8%); }
}
@media (prefers-reduced-motion: no-preference) {
    .jweb-web-compare-tray.jweb-web-compare-new-selection { animation: jweb-web-compare-slide .18s ease-out; }
    @keyframes jweb-web-compare-slide { from { transform: translateY(10px); opacity: .7; } to { transform: translateY(0); opacity: 1; } }
}
@media print { .jweb-web-compare-control, .jweb-web-compare-tray, .jweb-web-compare-spacer { display: none !important; } }
