/* Electoral History–style sticky page head + alternating approval headline */

body.sleek-home .all-polls-page-head.approval-page-head {
    position: sticky;
    top: 0;
    z-index: 45;
    padding: 2rem 0 1.35rem;
    border-bottom: none;
    background: #050608;
    box-shadow: 0 1px 0 rgba(51, 65, 85, 0.45);
}

body.sleek-home .all-polls-page-head.approval-page-head::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100vw;
    margin-left: -50vw;
    height: 1px;
    background: rgba(51, 65, 85, 0.45);
    pointer-events: none;
}

body.sleek-home .all-polls-page-head.approval-page-head .all-polls-page-head-inner {
    width: 100%;
}

body.sleek-home .all-polls-page-head.approval-page-head .all-polls-page-head-text {
    max-width: none;
    width: 100%;
    overflow: visible;
    box-sizing: border-box;
    /* padding-left set by JS to match header logo left edge */
}

body.sleek-home .all-polls-page-head.approval-page-head h1,
body.sleek-home .all-polls-page-head.approval-page-head .all-polls-page-sub {
    white-space: nowrap;
}

body.sleek-home .all-polls-page-head.approval-page-head h1 {
    font-size: clamp(1.75rem, 3.75vw, 2.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0;
    line-height: 1.15;
}

body.sleek-home .all-polls-page-head.approval-page-head .all-polls-page-sub {
    margin: 0.5rem 0 0;
    font-size: clamp(0.9375rem, 1.65vw, 1.125rem);
    font-weight: 400;
    line-height: 1.45;
    color: #94a3b8;
}

html[data-pollsmax-theme="light"] body.sleek-home .all-polls-page-head.approval-page-head {
    background: #ffffff;
    box-shadow: 0 1px 0 #cbd5e1;
}

html[data-pollsmax-theme="light"] body.sleek-home .all-polls-page-head.approval-page-head::after {
    background: #cbd5e1;
}

html[data-pollsmax-theme="light"] body.sleek-home .all-polls-page-head.approval-page-head h1 {
    color: #0f172a;
}

html[data-pollsmax-theme="light"] body.sleek-home .all-polls-page-head.approval-page-head .all-polls-page-sub {
    color: #64748b;
}

/* Rotating headline lines */
.approval-rotating-headline {
    display: block;
}

.approval-rotating-headline__track {
    display: grid;
    grid-template-areas: 'stack';
    align-items: start;
    width: max-content;
    max-width: none;
}

.approval-rotating-headline__line {
    grid-area: stack;
    margin: 0;
    font: inherit;
    color: inherit;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(0.35rem);
    transition: opacity 0.38s ease, transform 0.38s ease;
    pointer-events: none;
}

.approval-rotating-headline__line--active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.approval-rotating-kw--approve,
.approval-rotating-pct--approve,
.approval-rotating-kw--disapprove,
.approval-rotating-pct--disapprove,
.approval-rotating-kw--dem,
.approval-rotating-pct--dem,
.approval-rotating-kw--rep,
.approval-rotating-pct--rep {
    font-style: italic;
    font-weight: 700;
}

.approval-rotating-kw--approve,
.approval-rotating-pct--approve {
    color: #22c55e;
}

.approval-rotating-kw--disapprove,
.approval-rotating-pct--disapprove {
    color: #f93636;
}

.approval-rotating-kw--dem,
.approval-rotating-pct--dem {
    color: #1181ff;
}

.approval-rotating-kw--rep,
.approval-rotating-pct--rep {
    color: #f93636;
}

@media (max-width: 479px) {
    body.sleek-home .all-polls-page-head.approval-page-head h1,
    body.sleek-home .all-polls-page-head.approval-page-head .all-polls-page-sub,
    .approval-rotating-headline__line {
        white-space: normal;
    }

    .approval-rotating-headline__track {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .approval-rotating-headline__line {
        transition: opacity 0.15s ease;
        transform: none;
    }
}
