.today-holiday {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
    margin: 34px 0 28px;
    padding: 22px 24px;
    overflow: hidden;
    background: linear-gradient(105deg, rgba(230, 57, 70, 0.18), rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(230, 57, 70, 0.35);
    border-radius: var(--radius);
}

.today-holiday[data-theme="summer"] { border-color: rgba(0, 180, 216, 0.45); background: linear-gradient(105deg, rgba(0, 180, 216, 0.16), rgba(255, 255, 255, 0.04)); }
.today-holiday[data-theme="spring"] { border-color: rgba(82, 183, 136, 0.45); background: linear-gradient(105deg, rgba(82, 183, 136, 0.16), rgba(255, 255, 255, 0.04)); }
.today-holiday[data-theme="autumn"] { border-color: rgba(199, 92, 0, 0.45); background: linear-gradient(105deg, rgba(199, 92, 0, 0.16), rgba(255, 255, 255, 0.04)); }
.today-holiday[data-theme="winter"] { border-color: rgba(76, 201, 240, 0.45); background: linear-gradient(105deg, rgba(76, 201, 240, 0.16), rgba(255, 255, 255, 0.04)); }

.today-holiday-empty { border-color: var(--border); background: rgba(255, 255, 255, 0.035); }
.today-holiday-icon { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 16px; background: rgba(255, 255, 255, 0.1); font-size: 2rem; }
.today-holiday-copy h2 { margin: 3px 0 2px; font-size: 1.25rem; }
.today-holiday-copy p { margin: 0; color: var(--muted); font-size: 0.9rem; }
.today-holiday-link { white-space: nowrap; }

@media (max-width: 600px) {
    .today-holiday { grid-template-columns: auto 1fr; gap: 14px; padding: 18px; }
    .today-holiday-link { grid-column: 1 / -1; width: 100%; }
}