.start-page-sidebar { text-align: left; }
.sp-weather { position: relative; overflow: hidden; color: #fff; border: 0; background: linear-gradient(145deg, #3b6b94, #233b62); }
.sp-weather::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55; }
.sp-weather.theme-clear { background: linear-gradient(140deg, #187ab8, #51b5dd); }
.sp-weather.theme-clear::before { background: radial-gradient(circle at 88% 30%, #fff8b6 0 32px, #ffd66e 33px 52px, transparent 54px); }
.sp-weather.theme-clear.is-night { background: linear-gradient(140deg, #13243e, #304772); }
.sp-weather.theme-clear.is-night::before { background: radial-gradient(circle at 88% 30%, #f0f5ff 0 24px, transparent 26px), radial-gradient(circle at 20% 60%, #fff 0 1px, transparent 2px); }
.sp-weather.theme-cloudy::before { background: radial-gradient(ellipse at 85% 35%, #b9d0e5 0 22%, transparent 24%), radial-gradient(ellipse at 50% 15%, #d5e2ed 0 20%, transparent 22%); }
.sp-weather.theme-fog { background: linear-gradient(150deg, #425b6e, #748994); }
.sp-weather.theme-fog::before { background: repeating-linear-gradient(0deg, transparent 0 35px, #cad5de55 36px 48px, transparent 60px 78px); }
.sp-weather.theme-rain { background: linear-gradient(150deg, #233c56, #526d86); }
.sp-weather.theme-rain::before { background: repeating-linear-gradient(115deg, transparent 0 18px, #b8dbf666 19px 20px, transparent 21px 42px); }
.sp-weather.theme-snow { background: linear-gradient(150deg, #34556f, #7698ad); }
.sp-weather.theme-snow::before { background: radial-gradient(circle, #fff 0 2px, transparent 3px) 0 0/38px 38px; }
.sp-weather.theme-storm { background: linear-gradient(140deg, #221c3e, #465371); }
.sp-weather.theme-storm::before { background: linear-gradient(125deg, transparent 55%, #f8e8a4 56%, #fff2bb 57%, transparent 59%); }
.sp-weather .card-header, .sp-weather .card-footer { background: #0002; border-color: #ffffff33; }
.sp-weather .card-body, .sp-weather .card-header, .sp-weather .card-footer { position: relative; z-index: 1; }
.sp-weather .card-body { background: linear-gradient(0deg, #0004, transparent); }
.sp-weather a { color: #fff; text-decoration: underline; }
.sp-weather-main { display: flex; align-items: center; justify-content: space-between; gap: .5rem; text-shadow: 0 2px 5px #0005; }
#sp-weather-temperature { font-size: 42px; line-height: 1.2; }
#sp-weather-icon { font-size: 3rem; }
.sp-weather-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; font-size: .85rem; }
.sp-holidays .card-header { background: #eef4fb; }
.sp-holidays-list { list-style: none; padding: 0; margin: 0; }
.sp-holidays-list li { border-bottom: 1px solid #e5eaf0; padding: .75rem 0; overflow-wrap: anywhere; }
.sp-holidays-list li:first-child { padding-top: 0; }
.sp-holidays-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.sp-holidays-date { display: block; color: #536987; font-size: .85rem; margin-bottom: .2rem; }
.sp-holidays-list a { font-weight: 600; }
@media (max-width: 767.98px) { .start-page-sidebar .btn { min-height: 40px; } }

.start-page-sidebar{display:flex;flex-direction:column;gap:18px}
.start-page-sidebar .card{margin:0;border:1px solid var(--line,#e3e9e8);border-radius:22px;overflow:hidden;background-color:#fff}
.start-page-sidebar .card-header,.start-page-sidebar .card-body,.start-page-sidebar .card-footer{padding:18px 22px}
.start-page-sidebar .card-header h5{margin:0;font-size:18px;font-weight:600;line-height:1.4}
.start-page-sidebar .card-header{padding-bottom:0;background:transparent}
.start-page-sidebar .card-footer{padding-top:14px;border-top:1px solid #e3e9e8;font-size:14px;line-height:1.5}
.start-page-sidebar .small,.start-page-sidebar .card-body p{font-size:14px;line-height:1.6}
.start-page-sidebar .btn{font:inherit;font-size:14px;padding:9px 12px;border:1px solid #bed8cc;border-radius:9px;color:#276b55;background:transparent;min-height:40px;margin-top:12px}
.start-page-sidebar .btn:hover{background:#e6f1eb}
.start-page-sidebar .sp-weather{border:0;background-color:#294d65}
.sp-weather .card-header,.sp-weather .card-footer{background:transparent;border-color:#ffffff33}
.sp-weather .card-body{background:transparent}
.sp-weather .btn{color:#fff;border-color:#ffffff88}
.sp-weather .btn:hover{background:#ffffff22}
.sp-weather #sp-weather-loading{margin:0}
#sp-weather-temperature{font-weight:400}
#sp-weather-description{margin-top:8px;margin-bottom:18px}
.sp-weather-facts{font-size:14px;line-height:1.6;gap:12px}
#sp-weather-updated{margin-top:16px}
.sp-holidays-list a{font-size:14px;font-weight:500;line-height:1.5}
.sp-holidays-list a:hover{color:#157f78;text-decoration:underline}
.sp-holidays-date{font-size:14px;color:#647e71;margin-bottom:6px}
.sp-holidays .card-footer a{color:#55796b}
.sp-holidays-list li.sp-holiday-today{background:#e8f3ed;border:0;border-left:3px solid #258069;border-radius:10px;padding:12px;margin-bottom:12px}
.sp-holiday-today .sp-holidays-date{color:#246e54;font-weight:600}
.sp-holiday-today a{color:#205e4a;font-weight:600}
@media(max-width:760px){.start-page-sidebar .card-header,.start-page-sidebar .card-body,.start-page-sidebar .card-footer{padding-inline:18px}}
