/* ═══════════════════════════════════════════════════════════
   XAUUSD Market Intelligence Page
   ═══════════════════════════════════════════════════════════ */

:root {
    --intel-spacing: 16px;
    --intel-spacing-sm: 8px;
    --intel-spacing-lg: 24px;
    --intel-radius: 8px;
    --intel-radius-md: 12px;
}

.intel-page {
    width: 100%;
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
}

/* ═══════════════════════════════════════════════════════════
   STICKY HEADER
   ═══════════════════════════════════════════════════════════ */

.intel-sticky-header {
    position: relative;
    background: var(--bg-alt);
    border-bottom: 1px solid var(--border);
    z-index: 40;
    transition: position 0.3s ease;
}

.intel-sticky-header.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.intel-sticky-header__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--intel-spacing-lg) var(--intel-spacing);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--intel-spacing-lg);
    flex-wrap: wrap;
}

.intel-sticky-header__left {
    display: flex;
    align-items: baseline;
    gap: var(--intel-spacing-sm);
    flex-shrink: 0;
}

.intel-asset-name {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.intel-asset-desc {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 500;
}

.intel-header-price {
    display: flex;
    align-items: baseline;
    gap: var(--intel-spacing-sm);
    margin: 0 var(--intel-spacing-lg);
}

.intel-header-price__val {
    font-size: 1.5rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.intel-header-price__chg {
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.intel-header-price__chg.is-up { color: #4caf72; }
.intel-header-price__chg.is-down { color: #ff5a5a; }

.intel-header-price__badge {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 2px 8px;
    border-radius: var(--intel-radius);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    white-space: nowrap;
}

.intel-sessions {
    display: flex;
    gap: var(--intel-spacing-lg);
    margin: 0 var(--intel-spacing-lg);
}

.intel-session {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
}

.intel-session__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.intel-session--open .intel-session__dot { background: #4caf72; }
.intel-session--pre .intel-session__dot { background: #ffc107; }
.intel-session--closed .intel-session__dot { background: #9e9e9e; }

.intel-session__label {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}

.intel-session__status {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.intel-last-analysis {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-left: auto;
}

/* TF Tab Bar */
.intel-tf-tabs {
    border-top: 1px solid var(--border);
    background: var(--bg);
}

/* Hub layout only: when the TF tabs sit immediately below the levels rail,
   drop their top border so it doesn't double the rail's bottom border.
   The adjacent-sibling selector never matches the legacy per-asset pages
   (where the tabs live inside the sticky header, not after the rail), so
   this leaves those pages untouched. */
.intel-levels-rail-wrap + .intel-tf-tabs {
    border-top: none;
}

.intel-tf-tabs__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--intel-spacing);
    display: flex;
    gap: var(--intel-spacing);
    overflow-x: auto;
    scrollbar-width: none;
}

.intel-tf-tabs__inner::-webkit-scrollbar { display: none; }

.intel-tf-tab {
    padding: var(--intel-spacing) var(--intel-spacing-lg);
    border: none;
    background: none;
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    transition: color 0.2s;
}

.intel-tf-tab:hover { color: var(--text); }

.intel-tf-tab.is-active {
    color: var(--accent);
}

.intel-tf-tab.is-active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: var(--intel-spacing);
    right: var(--intel-spacing);
    height: 3px;
    background: var(--accent);
    border-radius: 2px 2px 0 0;
}

.intel-tf-tab__badge {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    font-size: 0.65rem;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════
   NOTICE BANNER
   ═══════════════════════════════════════════════════════════ */

.intel-notice-banner {
    display: flex;
    align-items: center;
    gap: var(--intel-spacing);
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--intel-spacing-lg) var(--intel-spacing);
    background: rgba(255, 193, 7, 0.08);
    border: 1px solid rgba(255, 193, 7, 0.2);
    border-radius: var(--intel-radius);
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.intel-notice-banner__icon {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.intel-notice-banner__text {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.4;
}

.intel-notice-banner__dismiss {
    flex-shrink: 0;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 var(--intel-spacing-sm);
    transition: color 0.2s;
}

.intel-notice-banner__dismiss:hover {
    color: var(--text);
}

/* ═══════════════════════════════════════════════════════════
   LIVE PRICE STRIP
   ═══════════════════════════════════════════════════════════ */

.intel-live-strip {
    background: var(--bg-alt);
    border-bottom: 1px solid var(--border);
}

.intel-live-strip__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--intel-spacing-lg) var(--intel-spacing);
    display: flex;
    align-items: center;
    gap: var(--intel-spacing-lg);
}

.intel-live-strip-skeleton {
    display: flex;
    gap: var(--intel-spacing);
    width: 100%;
}

.intel-skeleton {
    background: rgba(255, 255, 255, 0.06);
    border-radius: var(--intel-radius);
    animation: shimmer 1.4s ease-in-out infinite;
}

@keyframes shimmer {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

.intel-live-strip__data {
    display: flex;
    align-items: baseline;
    gap: var(--intel-spacing);
}

.intel-live-strip__asset {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    min-width: 70px;
}

.intel-live-strip__price {
    font-size: 1.8rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.intel-live-strip__change {
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.intel-live-strip__change.is-up { color: #4caf72; }
.intel-live-strip__change.is-down { color: #ff5a5a; }

.intel-live-strip__badge {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 2px 8px;
    border-radius: var(--intel-radius);
    background: rgba(255, 255, 255, 0.06);
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════
   MARKET LEVELS RAIL
   ═══════════════════════════════════════════════════════════ */

.intel-levels-rail-wrap {
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    overflow: hidden;
}

.intel-levels-rail-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--intel-spacing-lg) var(--intel-spacing);
}

.intel-levels-rail-skel {
    display: flex;
    gap: var(--intel-spacing);
    overflow-x: auto;
    scrollbar-width: none;
}

.intel-levels-rail-skel::-webkit-scrollbar { display: none; }

.intel-skel-level {
    height: 60px;
    width: 80px;
    flex-shrink: 0;
}

.intel-levels-rail {
    display: flex;
    gap: var(--intel-spacing-lg);
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
}

.intel-levels-rail::-webkit-scrollbar { display: none; }

.intel-level-group {
    display: flex;
    align-items: center;
    gap: var(--intel-spacing);
    flex-shrink: 0;
    padding-right: var(--intel-spacing-lg);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.intel-level-group:last-child {
    border-right: none;
    padding-right: 0;
}

.intel-level-group__label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    flex-shrink: 0;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    min-height: 50px;
    display: flex;
    align-items: center;
}

.intel-level-group__items {
    display: flex;
    gap: var(--intel-spacing-sm);
}

.intel-level-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 6px 10px;
    border-radius: var(--intel-radius);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid transparent;
    min-width: 70px;
    transition: border-color 0.2s;
}

.intel-level-item__name {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.intel-level-item__value {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.intel-level-item--resistance {
    background: rgba(255, 90, 90, 0.06);
    border-color: rgba(255, 90, 90, 0.14);
}

.intel-level-item--resistance .intel-level-item__value {
    color: rgba(255, 100, 100, 0.9);
}

.intel-level-item--support {
    background: rgba(76, 175, 114, 0.06);
    border-color: rgba(76, 175, 114, 0.14);
}

.intel-level-item--support .intel-level-item__value {
    color: rgba(76, 175, 114, 0.9);
}

.intel-level-item--neutral {
    background: rgba(77, 163, 255, 0.08);
    border-color: rgba(77, 163, 255, 0.2);
}

.intel-level-item--neutral .intel-level-item__value {
    color: #4da3ff;
}

/* ═══════════════════════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════════════════════ */

.intel-hero {
    display: none;
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--intel-spacing-lg) var(--intel-spacing);
}

.intel-hero.is-active {
    display: block;
}

.intel-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--intel-spacing-lg);
    align-items: start;
}

/* Title (H2) — the analyst's own headline (_ap_title), same field/role as
   template-single.php's .as-subtitle. Sits above .intel-hero__inner, not
   inside it, so it spans full width above both the image and data
   columns rather than being squeezed into one. */
.intel-hero__subtitle {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-muted);
    margin: 0 0 var(--intel-spacing-sm);
    line-height: 1.4;
}

/* LEFT column — chart image */
.intel-hero__image {
    width: 100%;
}

.intel-hero__image-link {
    display: block;
}

.intel-hero__image img {
    width: 100%;
    border-radius: var(--intel-radius-md);
    cursor: pointer;
    transition: opacity 0.2s;
    display: block;
}

.intel-hero__image img:hover {
    opacity: 0.9;
}

.intel-hero__no-image {
    aspect-ratio: 16 / 9;
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* RIGHT column — analysis data */
.intel-hero__data {
    display: flex;
    flex-direction: column;
    gap: var(--intel-spacing);
}

/* Chart zoom */
.intel-chart-zoom { display: block; position: relative; cursor: zoom-in; }
.intel-chart-zoom__icon { position: absolute; top: 8px; right: 8px; background: rgba(0,0,0,.65); color: #fff; border-radius: 6px; padding: 4px 8px; font-size: .9rem; opacity: 0; transition: opacity .2s; pointer-events: none; }
.intel-chart-zoom:hover .intel-chart-zoom__icon { opacity: 1; }

/* ── Gallery carousel (posts with more than one chart image) ──────────────
   .intel-gallery-wrap gets its own fixed aspect-ratio box — unlike the
   single-image case above (a plain <img>, natural height), absolutely
   positioned stacked slides need an explicit height to size against, so
   this can't just reuse .intel-hero__image img's width:100%-only rule.

   .intel-gallery-slide is qualified with its .intel-hero__image
   .intel-gallery-wrap ancestors (specificity 0,0,3,0) rather than left bare
   (0,0,1,0) — .intel-hero__image img above (0,0,1,1) still matches these
   same <img> elements (they're img descendants of .intel-hero__image too),
   and a bare single-class selector loses that specificity comparison, so
   .intel-hero__image img's width/cursor/transition/border-radius would
   otherwise win over this rule's own values for those exact properties in
   this embedding context. The fully-qualified selector guarantees every
   property here — not just position/opacity — is actually this rule's,
   not silently inherited from the single-image styling it sits next to. */
.intel-gallery-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--intel-radius-md);
    background: var(--bg-alt);
}

.intel-hero__image .intel-gallery-wrap .intel-gallery-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    cursor: default;
    border-radius: 0;
}

.intel-hero__image .intel-gallery-wrap .intel-gallery-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    cursor: zoom-in;
}

.intel-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    border: none;
    color: #fff;
    font-size: 17px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.85;
    transition: opacity 0.15s, background 0.15s;
    z-index: 2;
}

/* Always visible (not hover-only) — hover has no equivalent on touch
   devices. Same reasoning as Market Hub Featured grid's arrows. */
.intel-gallery-nav:hover,
.intel-gallery-nav:focus-visible {
    opacity: 1;
    background: rgba(0, 0, 0, 0.75);
}

.intel-gallery-nav--prev { left: 8px; }
.intel-gallery-nav--next { right: 8px; }

.intel-gallery-dots {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 2;
}

.intel-gallery-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0.7;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.15s, background 0.15s;
}

/* Active state differs by size AND opacity, not color alone — same
   accessibility reasoning as the Market Hub Featured grid's dots
   (markets.css). */
.intel-gallery-dot.is-active {
    width: 8px;
    height: 8px;
    background: #fff;
    opacity: 1;
}

/* Count badge, opposite corner from the dots (bottom-center) — lets a
   visitor tell there's more content beyond the current slide even
   before they interact with nav/dots at all. Same treatment as
   template-single.php's .as-chart-carousel__counter. */
.intel-gallery-counter {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--accent);
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 600;
    z-index: 2;
}

/* Caption bar — normal flow below the image, not an overlay, so it's
   visible immediately on load rather than only inside the full-screen
   lightbox (the data-caption/data-timestamp attributes already carried
   per-slide were previously only read there). */
.intel-gallery-caption {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: var(--intel-spacing-sm);
}

.intel-gallery-caption-text { color: var(--text); font-size: 0.8125rem; font-weight: 600; }
.intel-gallery-caption-time { color: var(--text-muted); font-size: 0.75rem; }

/* Lightbox */
.intel-lightbox { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 99999; align-items: center; justify-content: center; cursor: zoom-out; }
.intel-lightbox.is-open { display: flex; }
.intel-lightbox__img { max-width: 95vw; max-height: 92vh; border-radius: 8px; object-fit: contain; }
.intel-lightbox__close { position: absolute; top: 16px; right: 20px; color: #fff; font-size: 2rem; cursor: pointer; background: none; border: none; line-height: 1; opacity: .7; }
.intel-lightbox__close:hover { opacity: 1; }

.intel-stat-grid {
    display: grid;
    /* 96px, not 150px: at 150px these three cards wrapped to two rows
       inside the 45% data column. They now sit on one row, which is most
       of the vertical space this section was wasting. */
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    gap: 6px;
}

.intel-stat-card {
    /* Was --intel-spacing-lg (24px) all round, which is a lot of box for a
       0.6rem label over a 0.8rem value. Matches template-single.php's
       .as-stat-card padding exactly, same as the font sizes already do. */
    padding: 8px 10px;
    border-radius: var(--intel-radius-md);
    background: var(--bg-alt);
    border: 1px solid var(--border);
}

.intel-stat-card--bullish {
    border-color: rgba(76, 175, 114, 0.2);
    background: rgba(76, 175, 114, 0.05);
}

.intel-stat-card--bearish {
    border-color: rgba(255, 90, 90, 0.2);
    background: rgba(255, 90, 90, 0.05);
}

.intel-stat-card--neutral {
    border-color: rgba(255, 193, 7, 0.2);
    background: rgba(255, 193, 7, 0.05);
}

.intel-stat-label {
    /* Matches template-single.php's .as-stat-card__label — this card grid
       is the same Bias/Condition/Confidence content that page shows. */
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 2px;
}

.intel-stat-value {
    /* Matches template-single.php's .as-stat-card__val. */
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text);
}

.intel-wave-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    /* Same trim as .intel-stat-card above — 24px of padding around what is
       now a single short line ("Minute · Wave 2 · Near Complete") was the
       other half of the wasted space in this top section. */
    padding: 8px 10px;
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
    font-size: 0.8rem;
}

.intel-wave-row__label {
    /* Matches template-single.php's .as-wave-compact__label. */
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    color: var(--text-muted);
}

.intel-wave-row__sep {
    color: var(--text-muted);
    margin: 0 var(--intel-spacing-sm);
}

.intel-wave-row__val {
    /* Matches template-single.php's .as-wave-compact__val — explicit
       override rather than inheriting .intel-wave-row's own 0.95rem. */
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text);
}

.intel-wave-status {
    font-size: 0.8rem;
    color: var(--text-muted);
    font-weight: 600;
    font-style: italic;
}

.intel-hero__thesis {
    padding: var(--intel-spacing-lg);
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
    position: relative;
}

/* Matches template-single.php's .as-thesis — explicit override, this
   block only ever renders a genuine Wave Thesis now (see
   intel-template.php's thesis_label==='Wave Thesis' guard), not
   whatever line-height/size the surrounding page happens to inherit. */
.intel-hero__thesis p {
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--text);
    margin: 0;
}

.intel-hero__thesis-label {
    /* Matches template-single.php's .as-panel-label. */
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.intel-hero__thesis p {
    margin: 0;
}

/* "Weekly/HTF Context" card — same card template-single.php's Market Hub
   "Next Timeframe Up" panel shows, new markup/classes here since that
   page's own analysis-single.css never loads on this one. Same visual
   language as .intel-wave-row/.intel-hero__thesis above (card, not an
   overlay). */
.intel-htf-context {
    padding: var(--intel-spacing-lg);
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
}

.intel-htf-context__label {
    /* Matches template-single.php's .as-panel-label. */
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 var(--intel-spacing-sm);
}

.intel-htf-context__empty {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin: 0;
}

.intel-htf-context__locked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--intel-spacing-sm);
    flex-wrap: wrap;
    font-size: 0.9rem;
    color: var(--text-muted);
}

.intel-htf-context__upgrade {
    display: inline-block;
    padding: 8px 18px;
    background: var(--accent, #4DA3FF);
    color: #fff;
    font-weight: 700;
    font-size: 0.8rem;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
}
.intel-htf-context__upgrade:hover { opacity: 0.88; color: #fff; text-decoration: none; }

.intel-htf-context__row {
    /* No explicit font-size, matching .as-next-tf-card__row — inherits
       from the surrounding tab content instead of setting its own. */
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    color: var(--text);
    text-decoration: none;
}
.intel-htf-context__row:hover { text-decoration: underline; }

.intel-htf-context__bias { font-weight: 700; }

.intel-htf-context__ago {
    /* Matches template-single.php's .as-htf-context-row__ago. */
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 400;
}

.intel-htf-context__summary {
    /* Matches template-single.php's .as-next-tf-card__summary. */
    margin: var(--intel-spacing-sm) 0 0;
    font-size: 0.78rem;
    color: var(--text-muted);
    line-height: 1.5;
}


.intel-hero__inv {
    padding: var(--intel-spacing);
    background: rgba(255, 193, 7, 0.08);
    border-left: 3px solid #ffc107;
    font-size: 0.95rem;
}

.intel-hero__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9rem;
    color: var(--text-muted);
    padding-top: var(--intel-spacing);
    border-top: 1px solid var(--border);
}

/* Per-hero pill tabs (Analysis/Key Levels/Confluences) — same pill
   shape/behavior as template-single.php's .as-pill-tabs, new classes
   since that page's own analysis-single.css never loads here. Many
   independent instances exist at once (one per timeframe x primary/
   alternate); intel-page.v2.js's click handler scopes strictly to each
   one's own .intel-hero__data ancestor. */
.intel-pill-tabs {
    display: flex;
    gap: 3px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 999px;
    padding: 4px;
    margin-bottom: var(--intel-spacing);
    width: fit-content;
}

.intel-pill-tab {
    padding: 6px 16px;
    border-radius: 999px;
    border: none;
    background: transparent;
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.intel-pill-tab:hover { color: var(--text); }

.intel-pill-tab.is-active {
    background: var(--accent, #4DA3FF);
    color: #000;
}

.intel-pill-panel {
    margin-bottom: var(--intel-spacing);
}

.intel-read-link {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    transition: opacity 0.2s;
}

.intel-read-link:hover {
    opacity: 0.8;
}

/* ═══════════════════════════════════════════════════════════
   CONTENT TABS
   ═══════════════════════════════════════════════════════════ */

.intel-content-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--intel-spacing-lg) var(--intel-spacing);
}

.intel-content-tabs {
    border-bottom: 2px solid var(--border);
    margin-bottom: var(--intel-spacing-lg);
}

.intel-content-tabs__inner {
    display: flex;
    gap: var(--intel-spacing);
    overflow-x: auto;
    scrollbar-width: none;
}

.intel-content-tabs__inner::-webkit-scrollbar { display: none; }

.intel-content-tab {
    padding: var(--intel-spacing) var(--intel-spacing-lg);
    border: none;
    background: none;
    color: var(--text-muted);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    transition: color 0.2s;
}

.intel-content-tab:hover {
    color: var(--text);
}

.intel-content-tab.is-active {
    color: var(--accent);
}

.intel-content-tab.is-active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: var(--intel-spacing);
    right: var(--intel-spacing);
    height: 2px;
    background: var(--accent);
}

.intel-content-tab__badge {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 700;
}

.intel-content-panel {
    display: none;
}

.intel-content-panel.is-active {
    display: block;
    animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ═══════════════════════════════════════════════════════════
   SECTIONS & PANELS
   ═══════════════════════════════════════════════════════════ */

.intel-section {
    display: flex;
    flex-direction: column;
    gap: var(--intel-spacing-lg);
}

.intel-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--intel-spacing);
}

.intel-section-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
}

.intel-section-meta {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.intel-tf-block {
    display: none;
}

.intel-tf-block.is-active {
    display: block;
}

.intel-empty {
    /* Matches template-single.php's .as-empty. */
    padding: var(--intel-spacing-lg);
    text-align: center;
    color: var(--text-muted);
    background: var(--bg-alt);
    border: 1px dashed var(--border);
    border-radius: var(--intel-radius-md);
    font-size: 0.875rem;
}

.intel-panel {
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
    overflow: hidden;
}

.intel-panel__header {
    padding: var(--intel-spacing);
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid var(--border);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.intel-panel__body {
    padding: var(--intel-spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--intel-spacing);
}

.intel-wave-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--intel-spacing-lg);
}

.intel-wave-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--intel-spacing-sm) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-size: 0.9rem;
}

.intel-wave-detail-row:last-child {
    border-bottom: none;
}

.intel-wave-detail-row__label {
    color: var(--text-muted);
    font-weight: 600;
}

.intel-wave-detail-row__val {
    color: var(--text);
    font-variant-numeric: tabular-nums;
}

.intel-wave-thesis-body {
    line-height: 1.7;
    font-size: 0.95rem;
}

.intel-invalidation-bar {
    display: flex;
    align-items: center;
    gap: var(--intel-spacing-sm);
    padding: var(--intel-spacing);
    background: rgba(255, 193, 7, 0.08);
    border: 1px solid rgba(255, 193, 7, 0.2);
    border-radius: var(--intel-radius);
    font-size: 0.9rem;
    margin-top: var(--intel-spacing);
}

.intel-invalidation-bar__label {
    font-weight: 600;
    color: var(--text-muted);
}

.intel-invalidation-bar__price {
    color: var(--text);
    font-variant-numeric: tabular-nums;
    font-family: monospace;
}

.intel-source-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9rem;
    margin-top: var(--intel-spacing);
    padding-top: var(--intel-spacing);
    border-top: 1px solid var(--border);
}

.intel-source-link a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.intel-source-link a:hover {
    opacity: 0.8;
}

.intel-source-link__date {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* ═══════════════════════════════════════════════════════════
   CONFLUENCE
   ═══════════════════════════════════════════════════════════ */

.intel-conf-group {
    margin-bottom: var(--intel-spacing-lg);
}

.intel-conf-group__header {
    margin-bottom: var(--intel-spacing);
    display: flex;
    align-items: center;
    gap: var(--intel-spacing-sm);
}

.intel-conf-cat {
    display: inline-block;
    padding: 4px 8px;
    border-radius: var(--intel-radius);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.intel-conf-cat--elliott_wave { background: rgba(77, 163, 255, 0.15); color: #4da3ff; }
.intel-conf-cat--fibonacci { background: rgba(156, 39, 176, 0.15); color: #9c27b0; }
.intel-conf-cat--ict_concept { background: rgba(233, 30, 99, 0.15); color: #e91e63; }
.intel-conf-cat--price_action { background: rgba(76, 175, 114, 0.15); color: #4caf72; }
.intel-conf-cat--intermarket { background: rgba(255, 152, 0, 0.15); color: #ff9800; }
.intel-conf-cat--custom { background: rgba(158, 158, 158, 0.15); color: #9e9e9e; }

.intel-conf-row {
    display: flex;
    align-items: center;
    gap: var(--intel-spacing);
    padding: var(--intel-spacing-sm) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-size: 0.9rem;
}

.intel-conf-row:last-child {
    border-bottom: none;
}

.intel-conf-row__type {
    flex: 1;
    font-weight: 600;
}

.intel-conf-row__price {
    font-variant-numeric: tabular-nums;
    font-family: monospace;
    font-weight: 600;
    color: var(--accent);
}

.intel-conf-row__notes {
    flex: 0 1 200px;
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* ═══════════════════════════════════════════════════════════
   KEY LEVELS
   ═══════════════════════════════════════════════════════════ */

/* Inline key-levels summary inside the per-timeframe hero block
   (relocated from the Key Levels content tab). */
/* Key Levels grid now lives inside .intel-hero__image, under the chart —
   reuses the same spacing token the old full-width .intel-hero__levels
   wrapper used, for visual consistency. */
.intel-hero__image .ap-qv-levels-grid {
    margin-top: var(--intel-spacing-lg);
}

/* ── Alternate-view / invalidation ──────────────────────────
   The count-block wrapper is visually inert in the common single-count case
   (no box styling), so a primary-only asset renders exactly as before. When an
   alternate exists, only the .is-shown block is visible and the segmented
   toggle switches between them. */
.intel-count-block:not(.is-shown) { display: none; }
.intel-count-block--invalidated { opacity: 0.85; }

.intel-count-toggle {
    display: inline-flex;
    gap: 4px;
    margin-bottom: var(--intel-spacing);
    padding: 4px;
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
}
.intel-count-toggle__btn {
    padding: 6px 14px;
    border: none;
    background: none;
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: calc(var(--intel-radius-md) - 4px);
    cursor: pointer;
}
.intel-count-toggle__btn.is-active {
    background: var(--accent, #4da3ff);
    color: #04101f;
}

.intel-count-note,
.intel-count-invalidated-banner {
    margin-bottom: var(--intel-spacing);
    padding: 8px 12px;
    font-size: 0.85rem;
    color: var(--text);
}
.intel-count-note {
    border-left: 3px solid var(--accent, #4da3ff);
    background: rgba(77, 163, 255, 0.08);
}
.intel-count-invalidated-banner {
    border-left: 3px solid rgba(255, 90, 90, 0.8);
    background: rgba(255, 90, 90, 0.08);
}

.intel-levels-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--intel-spacing);
    margin-bottom: var(--intel-spacing-lg);
}

.intel-level-summary-card {
    padding: var(--intel-spacing-lg);
    border-radius: var(--intel-radius-md);
    background: var(--bg-alt);
    border: 1px solid var(--border);
}

.intel-level-summary-card--support {
    border-color: rgba(76, 175, 114, 0.2);
    background: rgba(76, 175, 114, 0.05);
}

.intel-level-summary-card--resistance {
    border-color: rgba(255, 90, 90, 0.2);
    background: rgba(255, 90, 90, 0.05);
}

.intel-level-summary-card--invalidation {
    border-color: rgba(255, 193, 7, 0.2);
    background: rgba(255, 193, 7, 0.05);
}

.intel-level-summary-card--target {
    border-color: rgba(77, 163, 255, 0.2);
    background: rgba(77, 163, 255, 0.05);
}

.intel-level-summary-card__label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.intel-level-summary-card__price {
    font-size: 1.15rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text);
    font-family: monospace;
}

.intel-level-summary-card__reason {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 4px;
}

.intel-levels-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.intel-levels-table thead {
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid var(--border);
}

.intel-levels-table th {
    padding: var(--intel-spacing);
    text-align: left;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.intel-levels-table td {
    padding: var(--intel-spacing);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.intel-levels-table tbody tr:last-child td {
    border-bottom: none;
}

.intel-levels-table__price {
    font-variant-numeric: tabular-nums;
    font-family: monospace;
    font-weight: 600;
    color: var(--accent);
}

/* ═══════════════════════════════════════════════════════════
   ANALYSIS FEED
   ═══════════════════════════════════════════════════════════ */

.intel-feed-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--intel-spacing-lg);
}

.intel-analysis-card {
    display: flex;
    flex-direction: column;
    gap: var(--intel-spacing);
    padding: var(--intel-spacing-lg);
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
    text-decoration: none;
    color: inherit;
    transition: all 0.2s;
}

.intel-analysis-card:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
}

.intel-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.intel-analysis-card__title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
}

.intel-analysis-card__summary {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.4;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.intel-analysis-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: var(--text-muted);
    padding-top: var(--intel-spacing);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* ═══════════════════════════════════════════════════════════
   BADGES
   ═══════════════════════════════════════════════════════════ */

.intel-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.intel-badge--bullish { background: rgba(76, 175, 114, 0.15); color: #4caf72; }
.intel-badge--bearish { background: rgba(255, 90, 90, 0.15); color: #ff5a5a; }
.intel-badge--neutral { background: rgba(255, 193, 7, 0.15); color: #ffc107; }
.intel-badge--high { background: rgba(255, 90, 90, 0.15); color: #ff5a5a; }
.intel-badge--medium { background: rgba(255, 193, 7, 0.15); color: #ffc107; }
.intel-badge--low { background: rgba(77, 163, 255, 0.15); color: #4da3ff; }
.intel-badge--free { background: rgba(76, 175, 114, 0.15); color: #4caf72; }
.intel-badge--premium { background: rgba(156, 39, 176, 0.15); color: #9c27b0; }
.intel-badge--tf { background: rgba(0, 188, 212, 0.15); color: #00bcd4; }

/* ═══════════════════════════════════════════════════════════
   RISK EVENTS
   ═══════════════════════════════════════════════════════════ */

.intel-risk-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--intel-spacing-lg);
}

.intel-risk-card {
    padding: var(--intel-spacing-lg);
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--intel-radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--intel-spacing);
}

.intel-impact {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 8px;
    border-radius: var(--intel-radius);
    width: fit-content;
}

.intel-impact__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.intel-impact--high { background: rgba(255, 90, 90, 0.15); color: #ff5a5a; }
.intel-impact--high .intel-impact__dot { background: #ff5a5a; }

.intel-impact--medium { background: rgba(255, 193, 7, 0.15); color: #ffc107; }
.intel-impact--medium .intel-impact__dot { background: #ffc107; }

.intel-impact--low { background: rgba(77, 163, 255, 0.15); color: #4da3ff; }
.intel-impact--low .intel-impact__dot { background: #4da3ff; }

.intel-risk-card__name {
    font-weight: 700;
    line-height: 1.4;
}

.intel-risk-card__datetime {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

.intel-risk-card__countdown {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--accent);
    font-variant-numeric: tabular-nums;
}

.intel-countdown-val {
    font-family: monospace;
}

/* ═══════════════════════════════════════════════════════════
   ADMIN BAR
   ═══════════════════════════════════════════════════════════ */

.intel-admin-bar {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    gap: var(--intel-spacing);
    padding: var(--intel-spacing);
    background: var(--accent);
    color: #000;
    border-radius: var(--intel-radius-md);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    z-index: 30;
    font-size: 0.85rem;
    font-weight: 600;
}

.intel-admin-bar__eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.7rem;
    opacity: 0.8;
    margin-right: var(--intel-spacing-sm);
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    padding-right: var(--intel-spacing-sm);
}

.intel-admin-bar a {
    color: #000;
    text-decoration: none;
    transition: opacity 0.2s;
    white-space: nowrap;
}

.intel-admin-bar a:hover {
    opacity: 0.8;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .intel-hero__inner {
        grid-template-columns: 1fr;
    }

    .intel-hero__image {
        order: -1;
    }
}

@media (max-width: 1024px) {
    .intel-sticky-header__inner {
        flex-direction: column;
        gap: var(--intel-spacing);
    }

    .intel-sticky-header__left {
        width: 100%;
    }

    .intel-sessions {
        width: 100%;
        justify-content: space-around;
        margin: 0;
    }

    .intel-last-analysis {
        margin-left: 0;
        width: 100%;
    }

    .intel-header-price {
        margin: 0;
    }

    .intel-stat-grid {
        grid-template-columns: 1fr;
    }

    .intel-wave-grid {
        grid-template-columns: 1fr;
    }

    .intel-levels-summary-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .intel-feed-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }

    .intel-risk-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    :root {
        --intel-spacing: 12px;
        --intel-spacing-sm: 6px;
        --intel-spacing-lg: 16px;
    }

    .intel-sticky-header.is-sticky {
        position: relative;
        box-shadow: none;
    }

    .intel-sessions {
        flex-wrap: wrap;
    }

    .intel-session {
        flex-grow: 1;
        justify-content: center;
    }

    .intel-levels-summary-grid {
        grid-template-columns: 1fr;
    }

    .intel-content-tabs__inner {
        gap: 0;
    }

    .intel-content-tab {
        padding: var(--intel-spacing) var(--intel-spacing-sm);
        font-size: 0.8rem;
    }

    .intel-feed-grid {
        grid-template-columns: 1fr;
    }

    .intel-admin-bar {
        flex-direction: column;
        gap: var(--intel-spacing-sm);
        bottom: 10px;
        right: 10px;
        left: 10px;
        width: auto;
    }

    .intel-admin-bar__eyebrow {
        border-right: none;
        margin-right: 0;
        padding-right: 0;
        width: 100%;
        text-align: center;
    }

    .intel-admin-bar a {
        display: block;
        text-align: center;
        padding: 4px 0;
    }
}

/* ═══════════════════════════════════════════════════════════
   UNAVAILABLE STATE — price data fallback
   ═══════════════════════════════════════════════════════════ */

.intel-price--unavailable .intel-live-price {
    display: none;
}

.intel-price--unavailable::after {
    content: 'Live price data not available for this asset';
    font-size: 0.75rem;
    color: var(--text-muted);
    padding: 8px 0;
    display: block;
}

.intel-levels--unavailable .intel-level-val {
    color: var(--text-muted);
}

.intel-levels-note {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-align: center;
    padding: 4px 0;
    display: none;
}

.intel-levels--unavailable .intel-levels-note {
    display: block;
}

.intel-level-item__value--high { color: #4caf72; }
.intel-level-item__value--low  { color: #ff5a5a; }

/* ── Intel sidebar layout ─────────────────────────────── */
.mkt-hub--intel { display: flex; flex-direction: column; min-height: 100vh; }
.mkt-hub--intel .mkt-hub__body { display: flex; flex: 1; min-height: 0; }
.mkt-hub--intel .mkt-hub__panel { flex: 1; min-width: 0; overflow-y: auto; }

/* ── Price / Notice row ──────────────────────────────── */
.intel-price-notice-row { display: flex; align-items: stretch; border-bottom: 1px solid var(--border, #2a2a2a); background: var(--bg-alt, #161616); min-height: 52px; }
.intel-price-bar { display: flex; align-items: center; gap: 12px; padding: 10px 20px; flex-shrink: 0; border-right: 1px solid var(--border, #2a2a2a); min-width: 320px; }
.intel-notice-inline { flex: 1; display: flex; align-items: center; gap: 10px; padding: 10px 20px; background: rgba(255,165,0,0.06); border-left: 3px solid rgba(255,165,0,0.4); }
.intel-notice-inline--empty { background: transparent; border-left: none; }
.intel-notice-inline__icon { font-size: 0.9rem; flex-shrink: 0; }
.intel-notice-inline__text { font-size: 0.85rem; color: var(--text, #e6e6e6); line-height: 1.4; flex: 1; }
.intel-notice-inline__dismiss { background: none; border: none; color: var(--text-muted, #a8a8a8); font-size: 1.2rem; cursor: pointer; padding: 0 4px; }
@media (max-width: 768px) {
    .intel-price-notice-row { flex-direction: column; }
    .intel-price-bar { min-width: unset; border-right: none; border-bottom: 1px solid var(--border, #2a2a2a); }
    .mkt-hub--intel .mkt-hub__sidebar { display: none; }
}

/* ── Risk disclaimer ─────────────────────────────────────── */
.intel-risk-disclaimer { max-width: 1400px; margin: 24px auto 0; padding: 16px 24px; border-top: 1px solid var(--border, #2a2a2a); }
.intel-risk-disclaimer p { font-size: 0.75rem; color: var(--text-muted, #a8a8a8); line-height: 1.65; margin: 0; }

/* ── Per-timeframe locked state (Premium-tagged post, viewer not entitled) ── */
.intel-tf-locked { text-align: center; padding: 40px 20px; }
.intel-tf-locked p { color: var(--text-muted, #a8a8a8); font-size: 0.9rem; margin: 0 0 16px; }
.intel-tf-locked__cta {
    display: inline-block;
    padding: 10px 24px;
    background: var(--accent, #4DA3FF);
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    border-radius: 8px;
    text-decoration: none;
}
.intel-tf-locked__cta:hover { opacity: 0.88; color: #fff; text-decoration: none; }
