/* Futures and after-hours quote pages. Scope is intentionally narrower than shared shell CSS. */
html.ds-theme body.sd-rd--futures section.sd-rd--futures,
html.ds-theme body.sd-rd--holiday section.sd-rd--holiday {
    --f2-blue: #1769d1;
    --f2-ink: #13284a;
    --f2-muted: #65758d;
    --f2-line: #dfe8f4;
    --f2-up: #e54358;
    --f2-down: #2f73e5;
    background: #f8fbff;
}
html.ds-theme body.sd-rd--holiday section.sd-rd--holiday { background: var(--hm-bg); }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-hero,
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-heading {
    min-height: 140px !important;
    padding: 24px 29px !important;
    margin-bottom: 12px;
    border-radius: 12px !important;
    background-position: center 48%;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .ds-hub-tabs,
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .ds-hub-tabs { margin-bottom: 11px; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .ds-hub-tabs a,
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .ds-hub-tabs a {
    min-width: 104px;
    text-align: center;
    font-weight: 700;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-heading,
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-quote-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 12px;
    margin: 4px 0 9px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-heading h2,
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-quote-head h2 {
    margin: 2px 0 0;
    color: var(--f2-ink);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.035em;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-heading > span,
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-quote-head > span {
    color: var(--f2-muted);
    font-size: 11px;
}

/* Six real futures instruments in a dense 3 x 2 quote grid. */
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures__grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 11px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card {
    min-height: 205px;
    padding: 13px 14px 10px !important;
    border: 1px solid var(--f2-line) !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 3px 14px rgba(20,53,101,.05) !important;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card:hover,
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card:focus-visible {
    transform: translateY(-2px);
    border-color: #b7cfee !important;
    box-shadow: 0 8px 24px rgba(20,53,101,.1) !important;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__top {
    display: grid;
    grid-template-columns: 31px minmax(0,1fr) auto;
    gap: 8px;
    margin-bottom: 8px;
    align-items: center;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__top > div:nth-child(2) { min-width: 0; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__icon {
    width: 31px;
    height: 31px;
    border-radius: 8px;
    font-size: 14px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__name {
    color: var(--f2-ink) !important;
    font-size: 14px;
    line-height: 1.24;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__name-en {
    overflow: hidden;
    color: var(--f2-muted) !important;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-card__tag {
    padding: 4px 6px;
    border-radius: 5px;
    background: #edf5ff;
    color: var(--f2-blue);
    font-size: 10px;
    font-weight: 700;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__price-row {
    display: grid;
    gap: 3px;
    margin-bottom: 3px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-card__value {
    display: flex;
    align-items: baseline;
    gap: 5px;
    white-space: nowrap;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__price {
    color: var(--f2-ink) !important;
    font-size: 25px !important;
    font-weight: 800;
    line-height: 1.08;
    font-variant-numeric: tabular-nums;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-card__value small {
    color: var(--f2-muted);
    font-size: 10px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__change {
    min-height: 16px;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-chg-up { color: var(--f2-up) !important; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-chg-down { color: var(--f2-down) !important; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .ds-spark {
    display: block;
    width: 100%;
    height: 46px;
    margin: 5px 0 6px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__meta {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 3px 9px;
    margin-top: auto;
    padding-top: 7px;
    border-color: var(--f2-line);
    color: var(--f2-muted) !important;
    font-size: 10px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__meta-item { min-width: 0; white-space: nowrap; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__meta-item span {
    overflow: hidden;
    text-overflow: ellipsis;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__source {
    margin-top: 5px;
    color: var(--f2-muted);
    font-size: 10px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card__arrow { top: 16px; right: 8px; font-size: 10px; opacity: .5; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures__refresh-bar { margin: 9px 0 0; font-size: 11px; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-rd-data-note { margin: 4px 0 0; }

html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-bottom {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);
    gap: 11px;
    margin: 14px 0 0;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-bottom > :is(section,aside) {
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--f2-line);
    border-radius: 11px;
    background: #fff;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-bottom__title h2 { margin: 2px 0 10px; color: var(--f2-ink); font-size: 15px; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 5px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid > div {
    display: grid;
    gap: 3px;
    padding: 8px 7px;
    border: 1px solid var(--f2-line);
    border-radius: 7px;
}
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid strong { color: var(--f2-ink); font-size: 11px; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid span { color: var(--f2-muted); font-size: 10px; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid span.is-open { color: #149d83; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-bottom p { margin: 10px 0 0; color: var(--f2-muted); font-size: 11px; line-height: 1.55; }
html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-holiday a { display: inline-flex; margin-top: 11px; color: var(--f2-blue); font-size: 12px; font-weight: 700; text-decoration: none; }

/* Eight after-hours instruments remain complete; charts, filters and currency controls are untouched. */
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-market-strip {
    gap: 15px;
    padding: 9px 11px;
    margin: 0 0 10px;
    border: 1px solid var(--hm-border);
    border-radius: 8px;
    background: var(--hm-panel);
}
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-breadcrumb { margin-bottom: 9px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-toolbar {
    padding: 9px 10px;
    border: 1px solid var(--hm-border);
    border-radius: 10px;
    background: var(--hm-panel);
}
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card {
    min-height: 197px;
    padding: 12px 12px 9px;
    border-radius: 11px;
    box-shadow: 0 3px 14px rgba(20,53,101,.05);
}
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card-head { margin-bottom: 8px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-avatar { width: 30px; height: 30px; border-radius: 8px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card-name { font-size: 13px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card-price { font-size: 24px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-spark { height: 42px; margin: 8px 0 6px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card-bottom { padding-top: 7px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 16px;
    align-items: center;
    padding: 12px 15px;
    margin: 0 0 13px;
    border: 1px solid var(--hm-border);
    border-radius: 11px;
    background: var(--hm-panel);
}
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note > div:first-child { display: grid; gap: 2px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note strong { color: var(--hm-text); font-size: 13px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note .ds-market-status { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; padding: 0; border: 0; box-shadow: none; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note .ds-market-status span { display: inline-flex; padding: 5px 8px; border: 1px solid var(--hm-border); border-radius: 6px; color: var(--hm-muted); font-size: 10px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note p { grid-column: 1 / -1; margin: 0; color: var(--hm-muted); font-size: 10px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-detail { grid-template-columns: minmax(0,1fr) 260px; gap: 11px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-chart-panel { padding: 17px 18px 12px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-context { padding: 17px 15px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-chart-wrap { height: 330px; }
html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-guide { margin-top: 15px; padding: 20px 22px; }

@media (max-width: 1000px) {
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-bottom { grid-template-columns: 1fr; }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-hero,
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-heading { min-height: 122px !important; padding: 19px 18px !important; }
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-heading > span,
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-quote-head > span { display: none; }
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-detail { grid-template-columns: 1fr; }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-chart-wrap { height: 310px; }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-v2-session-note { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures__grid { grid-template-columns: 1fr !important; }
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-futures-card { min-height: 198px; }
    html.ds-theme body.sd-rd--futures .sd-rd--futures .sd-v2-futures-sessions__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card { min-height: 191px; padding: 10px 9px 8px; }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-card-price { font-size: 21px; }
    html.ds-theme body.sd-rd--holiday .sd-rd--holiday .hm-chart-panel { padding: 14px 12px; }
}
