/* Pogoda — style odizolowane od stron regionów i shortcode wyciągów. */
.vds-weather { --weather-ink:#081b3d; --weather-muted:#536680; --weather-line:#d9e3ec; --weather-accent:#fe4158; color:var(--weather-ink); background:#fff; font-family:var(--vds-font-family,Inter,Arial,sans-serif); font-weight:400; overflow-wrap:anywhere; }
.vds-weather,.vds-weather * { box-sizing:border-box; }
.vds-weather [hidden] { display:none!important; }
.vds-weather__container { width:min(calc(100% - 3rem),90rem); margin-inline:auto; }
.vds-weather__icon { display:block; flex:0 0 auto; width:1.4rem; height:1.4rem; }
.vds-weather__hero { position:relative; isolation:isolate; display:grid; align-items:center; min-height:clamp(340px,30vw,490px); overflow:hidden; background:#123c5d; color:#fff; border-radius:0 0 50% 50% / 0 0 6% 6%; }
.vds-weather__hero::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,36,61,.94),rgba(7,36,61,.7) 42%,rgba(7,36,61,.12) 82%); pointer-events:none; }
.vds-weather__hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.vds-weather__hero-content { padding-block:2rem 4rem; }
.vds-weather__breadcrumbs { margin-bottom:2rem; font-size:.78rem; line-height:1.5; }
.vds-weather__breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.7rem 1rem; margin:0; padding:0; list-style:none; }
.vds-weather__breadcrumbs li,.vds-weather__breadcrumbs a { display:flex; align-items:center; gap:.6rem; }
.vds-weather__breadcrumbs li+li::before { content:'›'; margin-right:.4rem; }
.vds-weather__breadcrumbs a { color:#fff; text-decoration:none; }
.vds-weather__breadcrumbs .vds-weather__icon { width:1rem; height:1rem; }
.vds-weather h1 { max-width:23ch; margin:0; color:inherit; font-size:clamp(2.5rem,4.2vw,4.5rem); font-weight:300; line-height:1.05; letter-spacing:-.04em; }
.vds-weather__subtitle { max-width:55ch; margin:1.2rem 0 0; color:#fff; font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.6; }
.vds-weather__eyebrow { display:flex; align-items:center; gap:.8rem; margin:0 0 1rem; font-size:.67rem; font-weight:500; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; }
.vds-weather__eyebrow::before { content:''; flex:0 0 2rem; height:2px; background:var(--weather-accent); }
.vds-weather__section { padding-block:clamp(2rem,3.5vw,3.5rem); }
.vds-weather__heading { margin:0 0 1rem; color:inherit; font-size:clamp(1.8rem,2.8vw,3rem); font-weight:300; line-height:1.05; letter-spacing:-.04em; }
.vds-weather__description { color:var(--weather-muted); font-size:.98rem; line-height:1.7; }
.vds-weather__description p { margin:0 0 1rem; }
.vds-weather__description p:last-child { margin-bottom:0; }
.vds-weather__description a,.vds-weather__rich-text a { color:#b7253d; text-underline-offset:.2em; }
.vds-weather__section-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; }
.vds-weather__region-control { display:grid; gap:.5rem; min-width:min(100%,17rem); max-width:100%; font-size:.8rem; }
.vds-weather__region-control select { width:100%; min-height:3rem; padding:.75rem 2.5rem .75rem 1rem; border:1px solid var(--weather-line); border-radius:3px; background:#fff; color:var(--weather-ink); font:inherit; font-size:.9rem; }
.vds-weather__load-status { margin:1rem 0; color:var(--weather-muted); font-size:.85rem; line-height:1.6; }
.vds-weather__load-status:empty { display:none; }
.vds-weather__current-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.3fr); align-items:center; gap:2rem; margin-top:1.5rem; padding:1.8rem 0; border-block:1px solid var(--weather-line); }
.vds-weather__place h3 { margin:0 0 .6rem; font-size:clamp(1.5rem,2vw,2rem); font-weight:400; line-height:1.1; letter-spacing:-.04em; }
.vds-weather__place p { margin:0; color:var(--weather-muted); font-size:.8rem; line-height:1.6; }
.vds-weather__temperature { display:flex; align-items:center; gap:1.2rem; }
.vds-weather .weather-page__icon { display:block; width:3rem; height:3rem; flex:0 0 auto; overflow:visible; }
.vds-weather .weather-page__icon-sun { fill:#ffce35; stroke:#e8a400; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.vds-weather .weather-page__icon-cloud { fill:#fff; stroke:#367fae; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.vds-weather .weather-page__icon-lines { fill:none; stroke:#367fae; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.vds-weather__temperature>.weather-page__icon { width:5rem; height:5rem; }
.vds-weather__temperature strong { display:block; font-size:clamp(2.6rem,4vw,4.2rem); font-weight:300; line-height:1.05; letter-spacing:-.04em; }
.vds-weather__temperature span { display:block; margin-top:.6rem; color:var(--weather-muted); font-size:.9rem; line-height:1.5; }
.vds-weather__metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(6rem,1fr)); gap:1rem; margin:0; }
.vds-weather__metrics>div { min-width:0; padding:.5rem 0 .5rem 1rem; border-left:1px solid var(--weather-line); }
.vds-weather__metrics dt { color:var(--weather-muted); font-size:.78rem; line-height:1.5; }
.vds-weather__metrics dd { margin:.6rem 0 0; font-size:1.35rem; font-weight:400; line-height:1.3; letter-spacing:-.03em; }
.vds-weather__updated { margin:1rem 0 0; color:var(--weather-muted); font-size:.72rem; line-height:1.6; }
.vds-weather__explanation,.vds-weather__source { margin:.6rem 0 0; color:var(--weather-muted); font-size:.75rem; line-height:1.65; }
.vds-weather__source a { color:inherit; text-underline-offset:.2em; }
.vds-weather__forecast { padding-top:0; }
.vds-weather__forecast-place { margin:0 0 1rem; color:var(--weather-muted); font-size:.85rem; line-height:1.5; }
.vds-weather__days { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(132px,1fr); gap:.8rem; max-width:100%; margin:0; padding:0 0 .8rem; overflow-x:auto; list-style:none; }
.vds-weather__day { display:flex; flex-direction:column; align-items:center; min-width:0; padding:1.2rem .7rem; border:1px solid var(--weather-line); border-radius:4px; background:linear-gradient(160deg,#fff,#f1f7fb); text-align:center; }
.vds-weather__day h3 { margin:0 0 1rem; font-size:.95rem; font-weight:500; line-height:1.4; }
.vds-weather__day h3 small { display:block; margin-top:.3rem; color:var(--weather-muted); font-size:.75rem; font-weight:400; }
.vds-weather__day-temperatures { margin:.9rem 0 .5rem; font-size:1rem; font-variant-numeric:tabular-nums; }
.vds-weather__day-temperatures strong { font-weight:500; }
.vds-weather__day-temperatures span { color:var(--weather-muted); }
.vds-weather__day-description { min-height:2.8em; margin:0; color:var(--weather-muted); font-size:.75rem; line-height:1.4; }
.vds-weather__day-wind { margin:.7rem 0 0; color:var(--weather-muted); font-size:.72rem; line-height:1.5; }
.vds-weather__regions { padding-top:1rem; }
.vds-weather__region-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; margin-top:1.7rem; }
.vds-weather__region-card { min-width:0; overflow:hidden; border:1px solid var(--weather-line); border-radius:4px; background:#fff; }
.vds-weather__card-image-wrap { aspect-ratio:3.2; overflow:hidden; background:#edf3f8; }
.vds-weather__card-image { display:block; width:100%; height:100%; object-fit:cover; }
.vds-weather__card-copy { padding:1.3rem; }
.vds-weather__card-copy>h3 { margin:0 0 .5rem; font-size:1.3rem; font-weight:400; line-height:1.2; letter-spacing:-.035em; }
.vds-weather__card-place { margin:0 0 1.2rem; color:var(--weather-muted); font-size:.75rem; line-height:1.5; }
.vds-weather__card-weather { display:flex; align-items:center; gap:1rem; min-height:4rem; }
.vds-weather__card-weather strong { display:block; font-size:2rem; font-weight:300; line-height:1.1; letter-spacing:-.04em; }
.vds-weather__card-weather span { display:block; margin-top:.3rem; color:var(--weather-muted); font-size:.8rem; line-height:1.5; }
.vds-weather__card-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1rem 0 0; }
.vds-weather__card-metrics>div { padding:.8rem; border:1px solid #e8eef4; border-radius:3px; background:#f7fafc; }
.vds-weather__card-metrics dt { color:var(--weather-muted); font-size:.72rem; line-height:1.5; }
.vds-weather__card-metrics dd { margin:.3rem 0 0; font-size:1rem; line-height:1.5; }
.vds-weather__card-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--weather-line); }
.vds-weather__text-button { display:inline-flex; align-items:center; gap:.5rem; margin:0; padding:0; border:0; border-radius:0; color:#b7253d; background:none; font:inherit; font-size:.8rem; line-height:1.5; text-align:left; cursor:pointer; }
.vds-weather__text-button .vds-weather__icon { width:1rem; height:1rem; }
.vds-weather__card-actions>a { color:var(--weather-muted); font-size:.78rem; text-underline-offset:.2em; }
.vds-weather__intro { padding-top:1rem; }
.vds-weather__intro .vds-weather__description { max-width:100ch; }
.vds-weather__tips { padding-top:0; }
.vds-weather__tips-panel { padding:clamp(1.3rem,3vw,2rem); border-radius:5px; background:linear-gradient(110deg,#edf6ff,#f4f8fc); }
.vds-weather__tips-panel>.vds-weather__heading { margin-bottom:1.5rem; font-size:1.5rem; }
.vds-weather__tips-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.vds-weather__tips-grid>article { display:flex; align-items:flex-start; gap:1rem; min-width:0; }
.vds-weather__tips-grid>article>.vds-weather__icon { color:#267eaf; }
.vds-weather__tips-grid h3 { margin:0 0 .5rem; font-size:1rem; font-weight:500; line-height:1.4; }
.vds-weather__tips-grid .vds-weather__description { font-size:.87rem; }
.vds-weather__faq { padding-top:0; }
.vds-weather__faq-list { margin-top:1.5rem; border:1px solid var(--weather-line); border-radius:3px; }
.vds-weather__faq-list details+details { border-top:1px solid var(--weather-line); }
.vds-weather__faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.3rem; list-style:none; cursor:pointer; font-size:1rem; line-height:1.5; }
.vds-weather__faq-list summary::-webkit-details-marker { display:none; }
.vds-weather__faq-list summary::marker { content:''; }
.vds-weather__faq-list summary:hover,.vds-weather__faq-list details[open] summary { background:#f6f9fb; }
.vds-weather__faq-list summary .vds-weather__icon { width:1.1rem; height:1.1rem; color:var(--weather-accent); }
.vds-weather__faq-list details[open] summary .vds-weather__icon { transform:rotate(180deg); }
.vds-weather__rich-text { padding:0 1.3rem 1.3rem; color:var(--weather-muted); font-size:.95rem; line-height:1.7; }
.vds-weather__rich-text p { margin:1rem 0 0; }
.vds-weather__rich-text ul,.vds-weather__rich-text ol { padding-left:1.3rem; }
.vds-weather__notice { margin:1rem 0; padding:1rem 1.2rem; border-left:2px solid var(--weather-accent); background:#f2f6f9; color:var(--weather-muted); font-size:.88rem; line-height:1.65; }
.vds-weather__cta { position:relative; isolation:isolate; overflow:hidden; padding-block:clamp(3rem,5vw,5rem); background:#123c5d; color:#fff; clip-path:polygon(0 4%,50% 0,100% 4%,100% 100%,0 100%); }
.vds-weather__cta::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,28,51,.9),rgba(7,28,51,.6)); pointer-events:none; }
.vds-weather__cta-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.vds-weather__cta-copy { max-width:55rem; }
.vds-weather__cta .vds-weather__description { color:#eef4fa; }
.vds-weather__cta-links { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.8rem; }
.vds-weather__button,.vds-weather__button:visited { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; min-width:14rem; min-height:3.2rem; max-width:100%; padding:.95rem 1.4rem; border:1px solid transparent; border-radius:2px; color:#fff; background:var(--weather-accent); font-size:.85rem; font-weight:500; line-height:1.4; text-decoration:none; }
.vds-weather__button:hover { background:#c9344b; color:#fff; }
.vds-weather__button .vds-weather__icon { width:1.1rem; height:1.1rem; }
.vds-weather__cta-links .vds-weather__button--outline { border-color:#ffffffb3; background:transparent; color:#fff; }
.vds-weather__cta-links .vds-weather__button--outline:hover { border-color:#fff; background:#fff; color:var(--weather-ink); }
.vds-weather a:focus-visible,.vds-weather button:focus-visible,.vds-weather select:focus-visible,.vds-weather summary:focus-visible { outline:2px solid var(--weather-accent); outline-offset:4px; }
.vds-weather__days:focus-visible { outline:2px solid var(--weather-accent); outline-offset:3px; }
@media(max-width:1100px) {
    .vds-weather__current-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .vds-weather__metrics { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); }
    .vds-weather__region-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .vds-weather__hero { min-height:350px; }
    .vds-weather__hero::after { background:linear-gradient(90deg,rgba(7,36,61,.93),rgba(7,36,61,.55)); }
    .vds-weather__region-grid,.vds-weather__tips-grid { grid-template-columns:minmax(0,1fr); }
    .vds-weather__current-grid { gap:1.4rem; }
    .vds-weather__temperature { gap:.7rem; }
    .vds-weather__temperature>.weather-page__icon { width:3.5rem; height:3.5rem; }
    .vds-weather__region-control { width:100%; }
}
@media(max-width:480px) {
    .vds-weather__container { width:calc(100% - 2.5rem); }
    .vds-weather__current-grid { grid-template-columns:minmax(0,1fr); }
    .vds-weather__metrics { gap:.6rem; }
    .vds-weather__metrics>div { padding-left:.65rem; }
    .vds-weather__metrics dd { font-size:1.1rem; }
    .vds-weather__cta-links .vds-weather__button { width:100%; min-width:0; }
}
@media(prefers-reduced-motion:reduce) { .vds-weather * { scroll-behavior:auto; transition:none; } }

/* Lista regionów — wspólny wygląd w przeglądarkach, obsługa klawiatury w JS. */
.vds-weather__picker { position:relative; width:19rem; z-index:5; }
.vds-weather .vds-weather__picker-trigger { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; min-height:3.1rem; margin:0; padding:.85rem 1rem; border:1px solid var(--weather-line); border-radius:8px; background:#fff; color:var(--weather-ink); font:inherit; font-size:.9rem; line-height:1.4; text-align:left; text-transform:none; letter-spacing:normal; cursor:pointer; box-shadow:0 3px 12px rgba(8,27,61,.035); }
.vds-weather__picker-trigger::after { content:''; width:8px; height:8px; flex:0 0 auto; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 .15rem .25rem .75rem; }
.vds-weather .vds-weather__picker-trigger:hover,.vds-weather .vds-weather__picker-trigger[aria-expanded="true"] { border-color:#a7b8cc; background:#f8fafc; color:var(--weather-ink); }
.vds-weather .vds-weather__picker-trigger[aria-expanded="true"]::after { transform:rotate(225deg); margin-top:.35rem; margin-bottom:0; }
.vds-weather .vds-weather__picker-trigger:focus-visible { outline:2px solid var(--weather-ink); outline-offset:3px; }
.vds-weather .vds-weather__picker-list { position:absolute; z-index:20; inset:100% 0 auto; display:block; max-height:20rem; overflow-y:auto; overscroll-behavior:contain; margin:.5rem 0 0; padding:.4rem; list-style:none; border:1px solid var(--weather-line); border-radius:10px; background:#fff; color:var(--weather-ink); box-shadow:0 12px 35px rgba(8,27,61,.13); scrollbar-width:thin; }
.vds-weather__picker-list:focus { outline:none; }
.vds-weather .vds-weather__picker-list [role="option"] { position:relative; display:block; margin:0; padding:.8rem 2.3rem .8rem .8rem; border:0; border-radius:5px; font-size:.9rem; line-height:1.4; cursor:pointer; }
.vds-weather__picker-list [role="option"]::before { content:none; }
.vds-weather .vds-weather__picker-list [role="option"]:hover,.vds-weather .vds-weather__picker-list [role="option"].is-active { background:#edf3f9; color:var(--weather-ink); }
.vds-weather .vds-weather__picker-list [aria-selected="true"] { background:#fff0f3; color:#c92840; font-weight:500; }
.vds-weather__picker-list [aria-selected="true"]::after { content:''; position:absolute; right:1rem; top:50%; width:6px; height:11px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-65%) rotate(45deg); }
.vds-weather .vds-weather__picker-list [aria-selected="true"].is-active { background:#ffe5eb; color:#b42238; }
@media(max-width:700px) { .vds-weather__picker { width:100%; } }
