:root {
    --sd-bg: #06111f;
    --sd-panel: rgba(7, 18, 35, .78);
    --sd-panel-2: rgba(8, 22, 42, .88);
    --sd-border: rgba(148, 193, 232, .18);
    --sd-border-strong: rgba(125, 211, 252, .28);
    --sd-text: #f8fafc;
    --sd-muted: #b9c7d7;
    --sd-soft: #7f91a7;
    --sd-gold: #fbbf24;
    --sd-gold-2: #fde68a;
    --sd-cyan: #67e8f9;
    --sd-blue: #38bdf8;
    --sd-radius-xl: 34px;
    --sd-radius-lg: 26px;
    --sd-radius-md: 18px;
    --sd-shadow: 0 32px 90px rgba(0,0,0,.42);
}

body {
    background:
        radial-gradient(circle at 70% 0%, rgba(14, 165, 233, .12), transparent 35%),
        linear-gradient(180deg, #03101e 0%, #071827 48%, #06111f 100%);
}

.sd-page {
    min-height: 100vh;
    width: min(1180px, calc(100vw - 36px));
    max-width: 1180px;
    margin-inline: auto;
    padding: clamp(20px, 4vw, 42px) 0 34px;
}

.sd-tonight {
    position: relative;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto 28px;
    border: 1px solid var(--sd-border-strong);
    border-radius: var(--sd-radius-xl);
    background:
        linear-gradient(180deg, rgba(6, 18, 34, .84), rgba(3, 13, 26, .96));
    box-shadow: var(--sd-shadow);
    overflow: hidden;
    color: var(--sd-text);
}

.sd-hero-bg {
    position: absolute;
    inset: 0 0 auto 0;
    height: 560px;
    background:
        linear-gradient(180deg, rgba(3,10,24,.26) 0%, rgba(3,10,24,.42) 52%, rgba(3,10,24,.98) 100%),
        radial-gradient(circle at 18% 88%, rgba(251,146,60,.30), transparent 26%),
        radial-gradient(circle at 50% 18%, rgba(99,102,241,.12), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(56,189,248,.12), transparent 24%),
        url('/assets/astronomy/premium/hero/neptune.png') 95% 17% / 148px auto no-repeat,
        url('/assets/astronomy/premium/hero/uranus.png') 83.5% 17% / 156px auto no-repeat,
        url('/assets/astronomy/premium/hero/saturn-clean.png') 68.5% 10% / 270px auto no-repeat,
        url('/assets/astronomy/premium/hero/jupiter.png') 45.5% 8% / 286px auto no-repeat,
        url('/assets/astronomy/premium/hero/mars.png') 25.5% 16.5% / 198px auto no-repeat,
        url('/assets/astronomy/premium/hero/venus.png') 8.5% 17.5% / 178px auto no-repeat,
        linear-gradient(180deg, #020814 0%, #06111f 56%, #081627 100%);
    opacity: .98;
    pointer-events: none;
}

.sd-hero-bg::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 160px;
    background:
        radial-gradient(ellipse at 32% 88%, rgba(251, 146, 60, .36), transparent 38%),
        linear-gradient(180deg, transparent, rgba(2, 8, 20, .97));
}


/* V4.5 — header alignment parity with the rest of the site */
.sd-page > .site-header {
    width: 100%;
    margin-bottom: clamp(24px, 4vw, 42px);
}

.sd-stars {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 19% 12%, rgba(255,255,255,.72) 0 1px, transparent 1.8px),
        radial-gradient(circle at 44% 8%, rgba(255,255,255,.50) 0 1px, transparent 1.8px),
        radial-gradient(circle at 78% 15%, rgba(255,255,255,.44) 0 1px, transparent 1.8px),
        radial-gradient(circle at 63% 31%, rgba(255,255,255,.38) 0 1px, transparent 1.8px);
    opacity: .7;
}

.sd-hero,
.sd-programme,
.sd-visual-guide,
.sd-tips {
    position: relative;
    z-index: 1;
}

.sd-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) 260px minmax(300px, .92fr);
    gap: 34px;
    min-height: 590px;
    padding: 72px 54px 60px;
    align-items: center;
}

.sd-kicker,
.sd-mini-kicker {
    margin: 0 0 22px;
    color: var(--sd-gold-2);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sd-copy h1 {
    margin: 0;
    max-width: 480px;
    font-size: clamp(48px, 6.2vw, 86px);
    line-height: .98;
    letter-spacing: -.065em;
    font-weight: 1000;
    color: var(--sd-text);
    text-wrap: balance;
    text-shadow: 0 16px 42px rgba(0,0,0,.38);
}

.sd-lead {
    max-width: 430px;
    margin: 28px 0 0;
    color: #d5deea;
    font-size: 18px;
    font-weight: 650;
    line-height: 1.55;
}

.sd-lead strong,
.sd-lead em {
    color: var(--sd-gold);
    font-style: normal;
}

.sd-condition-card {
    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 18px;
    width: min(340px, 100%);
    margin-top: 42px;
    padding: 19px 22px;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, .18);
    background: rgba(15, 23, 42, .54);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 16px 45px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
}

.sd-condition-card strong {
    display: block;
    color: var(--sd-gold);
    font-size: 15px;
    font-weight: 950;
}

.sd-condition-card span:not(.sd-condition-icon) {
    display: block;
    margin-top: 4px;
    color: #dbe7f2;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

.sd-condition-icon {
    width: 52px;
    height: 34px;
    border: 3px solid #f8fafc;
    border-radius: 18px;
    position: relative;
    opacity: .95;
}

.sd-condition-icon::before,
.sd-condition-icon::after {
    content: '';
    position: absolute;
    border: 3px solid #f8fafc;
    background: rgba(15, 23, 42, .9);
    border-radius: 50%;
}

.sd-condition-icon::before { width: 28px; height: 28px; left: 5px; top: -15px; }
.sd-condition-icon::after { width: 20px; height: 20px; right: 4px; top: -8px; }

.sd-object-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 300px;
}

.sd-orbit {
    position: absolute;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(251, 191, 36, .55);
    border-radius: 50%;
    box-shadow: 0 0 70px rgba(251, 191, 36, .12), inset 0 0 40px rgba(251, 191, 36, .08);
}

.sd-orbit::before,
.sd-orbit::after {
    content: '';
    position: absolute;
    inset: 23px;
    border: 1px solid rgba(251, 191, 36, .16);
    border-radius: 50%;
}

.sd-orbit::after {
    inset: -19px;
    opacity: .28;
}

.sd-hero-object {
    position: relative;
    width: min(260px, 72vw);
    height: auto;
    object-fit: contain;
    filter:
        drop-shadow(0 34px 64px rgba(0,0,0,.48))
        drop-shadow(0 0 26px rgba(251, 191, 36, .25));
    animation: sdFloat 8s ease-in-out infinite;
}

@keyframes sdFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.025); }
}

.sd-feature {
    align-self: center;
    padding-top: 12px;
}

.sd-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid rgba(251, 191, 36, .35);
    background: rgba(251, 191, 36, .10);
    color: var(--sd-gold-2);
    box-shadow: 0 0 26px rgba(251, 191, 36, .18);
    font-size: 12px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.sd-feature h2 {
    margin: 18px 0 10px;
    color: #fff4c5;
    font-size: clamp(46px, 5.1vw, 78px);
    line-height: .95;
    font-weight: 1000;
    letter-spacing: -.055em;
    text-transform: uppercase;
    text-shadow: 0 18px 55px rgba(0,0,0,.35);
}

.sd-rating {
    display: inline-flex;
    gap: 5px;
    color: var(--sd-gold);
    font-size: 28px;
    line-height: 1;
    letter-spacing: .02em;
    filter: drop-shadow(0 0 12px rgba(251, 191, 36, .24));
}

.sd-rating .off {
    color: rgba(148, 163, 184, .36);
    filter: none;
}

.sd-feature > p {
    max-width: 360px;
    margin: 22px 0 0;
    color: #eef5fb;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 780;
}

.sd-meta,
.sd-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 24px;
    color: #d7e1ee;
    font-size: 15px;
    font-weight: 720;
}

.sd-meta span,
.sd-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.sd-meta small {
    display: block;
    margin-left: 4px;
    color: #9cafc3;
    font-size: 11px;
    font-weight: 700;
}

.sd-pin,
.sd-clock {
    width: 18px;
    height: 18px;
    display: inline-block;
    position: relative;
    opacity: .8;
}

.sd-pin::before {
    content: '';
    position: absolute;
    inset: 2px 4px 5px;
    border: 2px solid #cfe6ff;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.sd-clock::before {
    content: '';
    position: absolute;
    inset: 1px;
    border: 2px solid #cfe6ff;
    border-radius: 50%;
}

.sd-clock::after {
    content: '';
    position: absolute;
    width: 6px;
    height: 2px;
    background: #cfe6ff;
    left: 9px;
    top: 8px;
    box-shadow: -2px -4px 0 -1px #cfe6ff;
}

.sd-seen {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.sd-seen.hero {
    width: min(360px, 100%);
    min-height: 72px;
    margin-top: 34px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fff4b8 0%, #fbbf24 72%, #fb923c 100%);
    color: #07111f;
    font-size: 24px;
    font-weight: 1000;
    box-shadow: 0 24px 60px rgba(251, 191, 36, .34), inset 0 1px 0 rgba(255,255,255,.55);
}

.sd-seen.mini {
    width: 100%;
    min-height: 44px;
    margin-top: 14px;
    border-radius: 14px;
    background: rgba(56, 189, 248, .12);
    border: 1px solid rgba(56, 189, 248, .35);
    color: #b7ecff;
    font-size: 14px;
    font-weight: 950;
}

.sd-seen:hover {
    transform: translateY(-2px);
}

.sd-seen:disabled {
    opacity: .72;
    cursor: default;
    transform: none;
}

.sd-seen-feedback {
    display: block;
    min-height: 18px;
    margin-top: 8px;
    color: #b7ecff;
    font-size: 12px;
    font-weight: 800;
}

.sd-community-link {
    display: inline-flex;
    margin-top: 12px;
    color: #d8e6f5;
    text-decoration: none;
    font-size: 14px;
    font-weight: 720;
}

.sd-programme {
    padding: 34px 28px 26px;
    border-top: 1px solid rgba(148, 193, 232, .12);
    background: linear-gradient(180deg, rgba(3, 13, 26, .70), rgba(3, 13, 26, .94));
}

.sd-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 24px;
}

.sd-section-title h2,
.sd-visual-guide h2,
.sd-tips h2 {
    margin: 0;
    color: #f8fafc;
    font-size: 26px;
    line-height: 1.05;
    font-weight: 980;
    letter-spacing: -.035em;
}

.sd-section-title h2::before {
    content: '✧';
    color: var(--sd-gold);
    margin-right: 12px;
    font-weight: 900;
}

.sd-section-title a,
.sd-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(56, 189, 248, .35);
    background: rgba(14, 165, 233, .08);
    color: #89dcff;
    text-decoration: none;
    font-weight: 850;
}

.sd-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr));
    gap: 18px;
}

.sd-event-card {
    position: relative;
    min-height: 360px;
    padding: 20px;
    border: 1px solid rgba(148, 193, 232, .16);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 0%, rgba(56, 189, 248, .10), transparent 50%),
        rgba(8, 22, 42, .78);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 24px 60px rgba(0,0,0,.20);
    overflow: hidden;
}

.sd-time {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(148, 193, 232, .18);
    color: #eef6ff;
    background: rgba(15, 23, 42, .52);
    font-weight: 950;
}

.sd-card-main {
    display: grid;
    grid-template-columns: 116px 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 20px;
}

.sd-card-main img {
    width: 116px;
    aspect-ratio: 1;
    object-fit: contain;
    filter: drop-shadow(0 26px 32px rgba(0,0,0,.35));
}

.sd-card-main h3 {
    margin: 0 0 10px;
    color: #f8fafc;
    font-size: 28px;
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -.04em;
    text-transform: uppercase;
}

.sd-event-card .sd-rating {
    font-size: 21px;
}

.sd-event-card > p {
    margin: 24px 0 0;
    min-height: 56px;
    color: #d7e1ee;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 660;
}

.sd-card-meta {
    margin-top: 20px;
    color: #b7c7d8;
    gap: 14px;
    font-size: 14px;
}

.sd-details {
    margin-top: 18px;
    border-top: 1px solid rgba(148, 193, 232, .12);
    padding-top: 15px;
}

.sd-details summary {
    cursor: pointer;
    color: #89dcff;
    font-size: 14px;
    font-weight: 900;
}

.sd-details p {
    margin: 10px 0 0;
    color: #c5d4e4;
    font-size: 13px;
    line-height: 1.45;
}

.sd-visual-guide {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 26px;
    margin: 22px 28px 0;
    padding: 26px;
    border-radius: 24px;
    border: 1px solid rgba(148, 193, 232, .16);
    background: rgba(8, 22, 42, .65);
}

.sd-visual-guide p {
    margin: 14px 0 0;
    color: #c9d8e8;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 650;
}

.sd-simple-map {
    position: relative;
    min-height: 250px;
    border-radius: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 26% 75%, rgba(251,146,60,.26), transparent 28%),
        radial-gradient(circle at 72% 25%, rgba(56,189,248,.16), transparent 36%),
        linear-gradient(180deg, rgba(3,12,28,.55), rgba(3,12,28,.92));
    border: 1px solid rgba(148, 193, 232, .14);
}

.sd-map-line {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 62px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(226,232,240,.5), transparent);
}

.sd-map-label {
    position: absolute;
    left: 24px;
    bottom: 78px;
    color: var(--sd-gold);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .12em;
}

.sd-map-object {
    position: absolute;
    width: 96px;
    right: 25%;
    bottom: 92px;
    filter: drop-shadow(0 0 26px rgba(251,191,36,.28));
}

.sd-map-caption {
    position: absolute;
    right: 21%;
    bottom: 58px;
    color: #f8fafc;
    font-weight: 950;
}

.sd-tips {
    margin: 20px 28px 28px;
    padding: 24px 26px;
    border-radius: 24px;
    border: 1px solid rgba(148, 193, 232, .16);
    background: rgba(8, 22, 42, .72);
}

.sd-tips h2 {
    color: var(--sd-gold-2);
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.sd-tip-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.sd-tip-grid p {
    margin: 0;
    padding-left: 18px;
    border-left: 1px solid rgba(251,191,36,.24);
}

.sd-tip-grid strong {
    display: block;
    color: #f8fafc;
    font-size: 14px;
    font-weight: 950;
}

.sd-tip-grid span {
    display: block;
    margin-top: 5px;
    color: #c7d5e4;
    font-size: 13px;
    line-height: 1.4;
}

.sd-actions {
    max-width: 1180px;
    margin: 0 auto 26px;
    display: flex;
    justify-content: center;
    gap: 12px;
}

@media (max-width: 980px) {
    .sd-tonight { margin: 0 auto 22px; border-radius: 28px; }
    .sd-hero { grid-template-columns: 1fr; padding: 36px 22px 34px; gap: 26px; text-align: left; }
    .sd-copy h1 { font-size: clamp(42px, 13vw, 64px); }
    .sd-lead { font-size: 16px; }
    .sd-object-stage { min-height: 210px; order: -1; }
    .sd-hero-object { width: 210px; }
    .sd-orbit { width: 210px; height: 210px; }
    .sd-feature h2 { font-size: 50px; }
    .sd-card-grid, .sd-visual-guide, .sd-tip-grid { grid-template-columns: 1fr; }
    .sd-programme { padding: 28px 18px 20px; }
    .sd-visual-guide, .sd-tips { margin-left: 18px; margin-right: 18px; }
    .sd-section-title { align-items: flex-start; flex-direction: column; }
    .sd-card-main { grid-template-columns: 98px 1fr; }
    .sd-card-main img { width: 98px; }
}

@media (max-width: 560px) {
    .sd-hero-bg { height: 520px; }
    .sd-condition-card { grid-template-columns: 1fr; }
    .sd-feature h2 { font-size: 44px; }
    .sd-seen.hero { min-height: 62px; font-size: 20px; }
    .sd-event-card { min-height: auto; }
    .sd-card-main { grid-template-columns: 82px 1fr; gap: 14px; }
    .sd-card-main img { width: 82px; }
    .sd-card-main h3 { font-size: 23px; }
    .sd-actions { margin-left: 12px; margin-right: 12px; flex-direction: column; }
}


/* v2: il pulsante L'ho vista deve essere visibile senza aprire i dettagli */
.sd-card-actions {
    margin: 16px 0 4px;
}
.sd-event-card .sd-seen.mini {
    width: 100%;
    min-height: 46px;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffe08a, #d9a22b);
    color: #07111f;
    border: 0;
    box-shadow: 0 16px 34px rgba(248, 200, 91, .22), inset 0 1px 0 rgba(255,255,255,.36);
}
.sd-event-card .sd-details {
    margin-top: 12px;
}

@media (max-width: 980px) {
    .sd-hero-bg {
        background:
            linear-gradient(180deg, rgba(3,10,24,.28) 0%, rgba(3,10,24,.48) 52%, rgba(3,10,24,.98) 100%),
            radial-gradient(circle at 18% 88%, rgba(251,146,60,.26), transparent 24%),
            url('/assets/astronomy/premium/hero/neptune.png') 95% 18% / 88px auto no-repeat,
            url('/assets/astronomy/premium/hero/uranus.png') 83.5% 18% / 92px auto no-repeat,
            url('/assets/astronomy/premium/hero/saturn-clean.png') 68.5% 12% / 148px auto no-repeat,
            url('/assets/astronomy/premium/hero/jupiter.png') 46% 10% / 162px auto no-repeat,
            url('/assets/astronomy/premium/hero/mars.png') 23.5% 18% / 110px auto no-repeat,
            url('/assets/astronomy/premium/hero/venus.png') 7.5% 18% / 98px auto no-repeat,
            linear-gradient(180deg, #020814 0%, #06111f 56%, #081627 100%);
    }
}

/* V4.7 — prevent desktop hero from breaking on medium-width/zoomed screens */
@media (max-width: 1220px) and (min-width: 981px) {
    .sd-hero {
        grid-template-columns: minmax(0, 1fr) minmax(175px, .52fr) minmax(250px, .78fr);
        gap: 22px;
        padding: 58px 40px 52px;
    }

    .sd-copy h1 {
        font-size: clamp(48px, 5.4vw, 76px);
    }

    .sd-lead {
        max-width: 390px;
    }

    .sd-object-stage {
        min-width: 0;
        min-height: 370px;
    }

    .sd-hero-object {
        width: min(250px, 24vw);
    }

    .sd-orbit {
        width: min(250px, 24vw);
        height: min(250px, 24vw);
    }

    .sd-feature {
        min-width: 0;
    }

    .sd-feature h2 {
        font-size: clamp(48px, 5.2vw, 72px);
    }

    .sd-seen.hero {
        min-height: 58px;
        font-size: 21px;
    }
}


/* V4.9 — visual polish -------------------------------------------------- */
.sd-tonight::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(125,211,252,.10);
}

.sd-hero-bg {
    filter: saturate(1.05) contrast(1.02);
}

.sd-stars {
    mix-blend-mode: screen;
    opacity: .54;
}

.sd-copy,
.sd-feature,
.sd-object-stage {
    position: relative;
    z-index: 3;
}

.sd-copy h1 {
    max-width: 8.2ch;
    text-shadow: 0 18px 46px rgba(0,0,0,.50), 0 1px 0 rgba(255,255,255,.02);
}

.sd-feature {
    padding: 22px 0 18px;
    border-radius: 28px;
}

.sd-feature h2 {
    text-shadow: 0 18px 50px rgba(0,0,0,.48);
}

.sd-feature > p {
    color: #dfeaf6;
}

.sd-seen.hero,
.sd-event-card .sd-seen.mini {
    position: relative;
    overflow: hidden;
}

.sd-seen.hero::after,
.sd-event-card .sd-seen.mini::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0 36%, rgba(255,255,255,.36) 45%, transparent 56%);
    transform: translateX(-120%);
    transition: transform .7s ease;
    pointer-events: none;
}

.sd-seen.hero:hover::after,
.sd-event-card .sd-seen.mini:hover::after {
    transform: translateX(120%);
}

.sd-condition-card,
.sd-event-card,
.sd-visual-guide,
.sd-tips {
    backdrop-filter: blur(18px);
}

.sd-event-card {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.sd-event-card:hover {
    transform: translateY(-3px);
    border-color: rgba(186, 230, 253, .26);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 28px 72px rgba(0,0,0,.28);
}

.sd-card-main img {
    border-radius: 20px;
    background: rgba(2, 8, 20, .22);
}

.sd-card-main h3 {
    text-wrap: balance;
}

.sd-details summary {
    list-style-position: outside;
}

.sd-simple-map::before {
    content: '';
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 58px;
    height: 70px;
    background: radial-gradient(ellipse at center, rgba(248,200,91,.14), transparent 62%);
    pointer-events: none;
}

@media (max-width: 1220px) and (min-width: 981px) {
    .sd-feature {
        padding: 18px 0 14px;
    }
    .sd-copy h1 {
        max-width: 7.6ch;
    }
}

@media (max-width: 980px) {
    .sd-copy h1 {
        max-width: 9ch;
    }
    .sd-feature {
        padding: 0;
    }
}

/* V5.1 — clearer sky-finding guidance and observation feedback */
.sd-finder {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.sd-finder p {
    margin: 0;
    padding: 13px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148, 193, 232, .14);
    background: rgba(2, 8, 20, .28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.sd-finder strong {
    display: block;
    margin-bottom: 5px;
    color: #fde68a;
    font-size: 11px;
    font-weight: 1000;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.sd-finder span {
    display: block;
    color: #dbeafe;
    font-size: 13px;
    line-height: 1.42;
    font-weight: 720;
}

.sd-finder-hero {
    width: min(390px, 100%);
    margin-top: 24px;
}

.sd-finder-hero p {
    background: rgba(15, 23, 42, .46);
    border-color: rgba(251, 191, 36, .18);
}

.sd-finder-card {
    margin-top: 16px;
}

.sd-finder-card p {
    padding: 12px 13px;
    background: rgba(15, 23, 42, .34);
}

.sd-seen-feedback {
    color: #fde68a;
    font-weight: 850;
}

.sd-card-actions + .sd-details {
    margin-top: 10px;
}

@media (max-width: 980px) {
    .sd-finder-hero { width: 100%; }
}


/* V5.2 — no ghost column after removing duplicated hero object */
.sd-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr));
}

.sd-event-card {
    height: 100%;
}

@media (min-width: 981px) {
    .sd-card-grid:has(.sd-event-card:nth-child(2):last-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sd-card-grid:has(.sd-event-card:nth-child(1):last-child) {
        grid-template-columns: minmax(320px, 520px);
    }
}

@media (max-width: 1120px) and (min-width: 981px) {
    .sd-hero {
        grid-template-columns: minmax(0, .95fr) minmax(170px, .44fr) minmax(260px, .82fr);
        gap: 18px;
    }

    .sd-finder-hero {
        width: 100%;
    }
}

/* v6.5.18 — Tonight Sky Story + satellite agenda */
.sd-satellite-agenda {
    position: relative;
    z-index: 2;
    margin: clamp(28px, 6vw, 72px) auto 0;
    padding: clamp(22px, 4vw, 36px);
    border: 1px solid rgba(125, 211, 252, .22);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(8, 24, 43, .94), rgba(15, 23, 42, .78));
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}
.sd-satellite-agenda .sd-section-title { align-items: flex-end; }
.sd-satellite-agenda .sd-section-title h2 { max-width: 820px; margin-top: 5px; }
.sd-satellite-intro, .sd-satellite-note { color: #cbd5e1; line-height: 1.55; font-weight: 650; }
.sd-satellite-intro { max-width: 850px; margin: 12px 0 22px; }
.sd-satellite-note { margin: 18px 0 0; font-size: 12px; opacity: .82; }
.sd-satellite-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(235px, 100%), 1fr)); gap: 14px; }
.sd-satellite-card { padding: 18px; border: 1px solid rgba(255,255,255,.11); border-radius: 20px; background: rgba(255,255,255,.055); }
.sd-satellite-time { color: #7dd3fc; font-size: 24px; font-weight: 1000; letter-spacing: -.04em; }
.sd-satellite-name { display: flex; align-items: center; gap: 9px; margin-top: 8px; font-size: 19px; }
.sd-satellite-name span { font-size: 23px; }
.sd-satellite-rating { margin-top: 7px; color: #fde68a; letter-spacing: .08em; }
.sd-satellite-card p { margin: 12px 0; color: #dbeafe; line-height: 1.45; }
.sd-satellite-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.sd-satellite-meta span { padding: 6px 9px; border-radius: 999px; background: rgba(125,211,252,.1); color: #bae6fd; font-size: 12px; font-weight: 850; }
.sd-satellite-loading, .sd-satellite-empty { grid-column: 1 / -1; padding: 22px; border-radius: 18px; background: rgba(255,255,255,.05); color: #cbd5e1; font-weight: 750; }
@media (max-width: 700px) {
    .sd-satellite-agenda .sd-section-title { align-items: flex-start; }
    .sd-satellite-agenda .sd-section-title a { margin-top: 10px; }
}
