.si-tonight {
    padding: 40px 24px;
    background: linear-gradient(120deg, #122a48, #302253);
    color: #fff;
}
.si-tonight-inner { max-width: 1200px; margin: auto; }
.si-tonight-kicker {
    color: #75e7dd; font-size: 12px; font-weight: 800; letter-spacing: .15em;
}
.si-tonight h2 {
    color: #fff; margin: 10px 0; font-size: clamp(28px, 3vw, 40px);
}
.si-tonight-inner > p { color: #e1e7f2; }
.si-tonight-controls {
    display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-top: 24px;
}
.si-tonight-controls label {
    display: flex; flex-direction: column; gap: 7px;
    font-size: 12px; font-weight: 700; min-width: 0;
}
.si-tonight-city { flex: 1; min-width: 220px !important; }
.si-tonight input, .si-tonight select {
    box-sizing: border-box; height: 48px; width: 100%;
    border: 1px solid #cbd7e2; border-radius: 10px;
    background: #fff; color: #122a48; padding: 10px 12px;
}
.si-tonight button {
    min-height: 48px; border: 0; border-radius: 10px;
    padding: 12px 18px; font-weight: 700; cursor: pointer;
}
.si-tonight-locate { background: #e4f9f6; color: #087f86; }
.si-tonight-search { background: #ff5064; color: #fff; }
.si-tonight-days { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.si-tonight-days button { background: #ffffff16; color: #fff; border: 1px solid #ffffff40; }
.si-tonight-days button[aria-pressed="true"] { background: #75e7dd; color: #122a48; }
.si-tonight-days span { margin-left: 8px; font-size: 12px; }
.si-tonight-empty {
    padding: 20px; margin-top: 22px; border: 1px solid #ffffff30;
    border-radius: 14px; background: #ffffff0b;
}
.si-tonight-note, .si-tonight-status { font-size: 13px; line-height: 1.6; }
#dove-si-balla .si-tonight-status.si-tonight-position-hint { color: #ff6679; }
@media (max-width: 600px) {
    .si-tonight-results { scroll-margin-top: 96px; }
}
.si-tonight-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 20px; margin-top: 24px;
}
.si-tonight-card {
    display: flex; flex-direction: column; padding: 24px;
    border-radius: 18px; background: #fff; color: #526279;
    border-top: 5px solid #00bcb3; overflow-wrap: anywhere;
}
.si-tonight-card:nth-child(3n+2) { border-color: #8954d4; }
.si-tonight-card:nth-child(3n+3) { border-color: #ff5064; }
.si-tonight-card h3 { color: #122a48; font-size: 21px; margin: 0 0 8px; }
.si-tonight-card p { margin: 0 0 10px; }
.si-tonight-time { display: block; white-space: nowrap; overflow-wrap: normal; word-break: normal; margin-bottom: 8px; color: #087f86; font-weight: 800; font-size: 15px; }
.si-tonight-venue { color: #122a48; font-weight: 700; }
.si-tonight-card a {
    margin-top: auto; padding-top: 15px; color: #087f86; font-weight: 800;
}
.si-tonight-card .si-driving-link { margin-top: 0; padding-top: 0; font-weight: 400; }
.si-tonight :is(button, input, select, a):focus-visible {
    outline: 3px solid #ffbb52; outline-offset: 3px;
}
@media (max-width: 800px) {
    .si-tonight-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .si-tonight { padding: 30px 16px; }
    .si-tonight-controls { align-items: stretch; flex-direction: column; }
    .si-tonight-city { min-width: 0 !important; }
    .si-tonight-days button { flex: 1; padding: 10px; }
}

/* Hide cached results until the fresh server response replaces them. */
.si-tonight-live .si-tonight-results[data-await-live]{display:none}
.si-tonight-period{margin-top:22px;color:#e1e7f2;font-size:14px}
.si-tonight[aria-busy="true"] .si-tonight-days button,.si-tonight[aria-busy="true"] .si-tonight-search{cursor:wait;opacity:.7}

/* Home evening search: share the existing city field's 48px external height. */
body.home #dove-si-balla .si-tonight-form{--si-tonight-control-height:48px}
body.home #dove-si-balla .si-tonight-controls :is(input:not([type=hidden]),select),
body.home #dove-si-balla :is(.si-tonight-controls,.si-tonight-days)>button{
 box-sizing:border-box;height:var(--si-tonight-control-height);min-height:var(--si-tonight-control-height);
}
body.home #dove-si-balla .si-tonight-controls :is(input:not([type=hidden]),select){border-radius:3px}
body.home #dove-si-balla :is(.si-tonight-controls,.si-tonight-days)>button{padding-top:0;padding-bottom:0;display:inline-flex;align-items:center;justify-content:center}
body.home #dove-si-balla .si-tonight-days>button>span{white-space:nowrap}

body.home #dove-si-balla .si-tonight-days>button{white-space:nowrap;min-width:max-content}

.si-tonight-card .si-tonight-evening { color: #122a48; font-size: 17px; font-weight: 600; margin-bottom: 8px; }
.si-tonight-card .si-tonight-start { color: #122a48; margin-bottom: 15px; }

.si-tonight-card a.si-tonight-detail-link,
.si-tonight-card .si-navigate,
.si-tonight-card .si-navigate-link { font-weight: 400; }

.si-tonight-controls .si-tonight-reset {
    display: inline-flex; align-items: center; justify-content: center;
    box-sizing: border-box; min-height: 48px; padding: 10px 16px;
    border: 1px solid #ffffff70; border-radius: 10px;
    color: #fff; background: transparent; font-weight: 400;
    text-decoration: none; white-space: nowrap;
}
.si-tonight-controls .si-tonight-reset:hover { background: #ffffff16; }

/* Keep the search band dark; give results their own full-width white surface. */
body.home section#dove-si-balla.si-tonight { padding: 0; background: #fff; }
.si-tonight-search-panel {
    background: linear-gradient(120deg, #122a48, #302253);
    padding: max(0px, calc(var(--si-band-padding, 36px) - 1mm)) 24px;
}
.si-tonight-results {
    box-sizing: border-box; max-width: 1248px; margin: 0 auto;
    padding: 24px; background: #fff; color: #33465b;
}
.si-tonight-results .si-tonight-period { margin-top: 0; color: #33465b; }
.si-tonight-results .si-tonight-note a { color: #087078; }
.si-tonight-results .si-tonight-empty { background: #f2f8fc; border-color: #c8ddeb; }
.si-tonight-results .si-tonight-card {
    --si-card-accent: #087f86;
    background: linear-gradient(145deg, #e9f8f5, #f8fcfb);
    border: 1px solid #a9d7d1; border-top: 4px solid var(--si-card-accent);
}
.si-tonight-results .si-tonight-card:nth-child(3n+2) {
    --si-card-accent: #7952a5;
    background: linear-gradient(145deg, #f0eafb, #fcfaff); border-color: #cdb9e6;
    border-top-color: var(--si-card-accent);
}
.si-tonight-results .si-tonight-card:nth-child(3n+3) {
    --si-card-accent: #ad4559;
    background: linear-gradient(145deg, #ffedf0, #fffafb); border-color: #ecc1cb;
    border-top-color: var(--si-card-accent);
}
.si-tonight-results .si-tonight-card,
.si-tonight-results .si-tonight-card :is(p, time, a, span) { font-weight: 400; }
.si-tonight-results .si-tonight-card h3,
.si-tonight-results .si-tonight-card h3 a { font-weight: 700; }
.si-tonight-results .si-tonight-card .si-tonight-detail-link { color: var(--si-card-accent); }
@media (max-width: 600px) {
    .si-tonight-search-panel { padding-inline: 16px; }
    .si-tonight-results { padding: 24px 16px; }
}
