/* Ferie zimowe — niezależne style, bez modyfikacji katalogu ofert. */
.vds-holidays { --holiday-ink:#081b3d; --holiday-muted:#536680; --holiday-line:#dce5ed; --holiday-accent:#fe4158; color:var(--holiday-ink); background:#fff; font-family:var(--vds-font-family,Inter,Arial,sans-serif); font-weight:400; overflow-wrap:anywhere; }
.vds-holidays,.vds-holidays * { box-sizing:border-box; }
.vds-holidays [hidden] { display:none!important; }
.vds-holidays__container { width:min(calc(100% - 3rem),90rem); margin-inline:auto; }
.vds-holidays__icon { display:block; flex:0 0 auto; width:1.4rem; height:1.4rem; }
.vds-holidays__hero { position:relative; isolation:isolate; display:grid; align-items:center; min-height:clamp(410px,36vw,580px); overflow:hidden; background:#e9f3fb; border-radius:0 0 50% 50% / 0 0 7% 7%; }
.vds-holidays__hero-image { position:absolute; z-index:-2; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.vds-holidays__hero::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(247,251,255,.97),rgba(247,251,255,.88) 30%,rgba(247,251,255,.08) 68%); pointer-events:none; }
.vds-holidays__hero-content { padding-block:3rem 5rem; }
.vds-holidays__eyebrow { display:flex; align-items:center; gap:.8rem; margin:0 0 1rem; font-size:.68rem; line-height:1.5; font-weight:500; text-transform:uppercase; letter-spacing:.12em; }
.vds-holidays__eyebrow::before { content:''; flex:0 0 2rem; height:2px; background:var(--holiday-accent); }
.vds-holidays h1 { max-width:18ch; margin:0; color:var(--holiday-ink); font-size:clamp(2.7rem,4.7vw,5rem); line-height:1.03; font-weight:300; letter-spacing:-.04em; text-wrap:balance; }
.vds-holidays__subtitle { max-width:43ch; margin:1.25rem 0 1.6rem; font-size:clamp(1.05rem,1.7vw,1.5rem); line-height:1.45; color:#30455f; }
.vds-holidays .vds-holidays__button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.25rem; min-height:3rem; margin:0; padding:.9rem 1.25rem; border:1px solid var(--holiday-accent); border-radius:2px; background:var(--holiday-accent); color:#fff; font:inherit; font-size:.85rem; font-weight:500; line-height:1.3; letter-spacing:normal; text-transform:none; text-decoration:none; cursor:pointer; }
.vds-holidays .vds-holidays__button:hover { background:#d92a44; border-color:#d92a44; }
.vds-holidays .vds-holidays__button:disabled { cursor:not-allowed; opacity:.6; }
.vds-holidays__button>.vds-holidays__icon { width:1.05rem; height:1.05rem; }
.vds-holidays__search { position:relative; z-index:5; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) auto; align-items:center; gap:1rem; margin:-1.8rem auto 1rem; padding:1.4rem; border:1px solid #e6edf3; border-radius:8px; background:#fff; box-shadow:0 12px 35px rgba(8,27,61,.1); }
.vds-holidays__field { display:flex; align-items:center; gap:.85rem; min-width:0; padding-right:.8rem; border-right:1px solid var(--holiday-line); }
.vds-holidays__field>span { flex:1; min-width:0; }
.vds-holidays__field-label { display:block; margin-bottom:.35rem; color:var(--holiday-ink); font-size:.73rem; font-weight:500; line-height:1.4; }
.vds-holidays select { min-height:2.5rem; margin:0; border:1px solid var(--holiday-line); border-radius:4px; background:#fff; color:var(--holiday-ink); font:inherit; font-size:.85rem; line-height:1.4; }
.vds-holidays__field select { display:block; width:100%; max-width:100%; min-height:2rem; padding:.3rem 1.3rem .3rem 0; border:0; border-radius:0; background:transparent; }
.vds-holidays select:disabled { opacity:.65; }
.vds-holidays__people { position:relative; min-width:0; }
.vds-holidays__people summary { display:flex; align-items:center; gap:.85rem; padding:.25rem 0; cursor:pointer; list-style:none; }
.vds-holidays__people summary::-webkit-details-marker { display:none; }
.vds-holidays__people summary::marker { content:''; }
.vds-holidays__people summary>span:last-child { margin-left:auto; }
.vds-holidays__people-count,.vds-holidays__people strong { font-size:.85rem; font-weight:400; }
.vds-holidays__people-panel { position:absolute; top:calc(100% + 1rem); right:0; z-index:20; display:grid; grid-template-columns:1fr 1fr; gap:1rem; width:min(340px,calc(100vw - 3rem)); padding:1.25rem; border:1px solid var(--holiday-line); border-radius:7px; background:#fff; box-shadow:0 12px 35px rgba(8,27,61,.16); }
.vds-holidays__people-panel label { display:grid; gap:.4rem; color:var(--holiday-ink); font-size:.8rem; }
.vds-holidays__people-panel select { width:100%; padding:.5rem; }
.vds-holidays__ages { display:grid; gap:.8rem; grid-column:1/-1; }
.vds-holidays__ages:empty { display:none; }
.vds-holidays__search-status { grid-column:1/-1; margin:0; color:var(--holiday-muted); font-size:.77rem; line-height:1.6; }
.vds-holidays__search-status a { color:#b7253d; text-underline-offset:.2em; }
.vds-holidays__search noscript { grid-column:1/-1; }
.vds-holidays__section { padding-block:clamp(2rem,3.5vw,3.5rem); }
.vds-holidays__heading { margin:0 0 1.2rem; color:inherit; font-size:clamp(1.9rem,3vw,3.3rem); line-height:1.08; font-weight:300; letter-spacing:-.04em; text-wrap:balance; }
.vds-holidays__description { color:var(--holiday-muted); font-size:.96rem; line-height:1.7; }
.vds-holidays__description p { margin:0 0 1rem; }
.vds-holidays__description p:last-child { margin-bottom:0; }
.vds-holidays__description a { color:#b7253d; text-underline-offset:.2em; }
.vds-holidays__description h3 { margin:1.4rem 0 .5rem; color:var(--holiday-ink); font-size:1.1rem; font-weight:500; line-height:1.4; }
.vds-holidays__map-layout { display:grid; grid-template-columns:minmax(210px,.85fr) minmax(0,1.8fr) minmax(230px,.8fr); gap:1.5rem; align-items:center; }
.vds-holidays__map-copy .vds-holidays__heading { font-size:clamp(2rem,3.3vw,3.5rem); }
.vds-holidays__map-copy .vds-holidays__description { font-size:.9rem; }
.vds-holidays__legend { display:grid; gap:1.2rem; margin:1.7rem 0; padding:0; list-style:none; }
.vds-holidays__legend li { display:flex; align-items:flex-start; gap:.75rem; }
.vds-holidays__swatch { display:block; flex:0 0 auto; width:1.5rem; height:1.5rem; border:1px solid rgba(8,27,61,.08); border-radius:4px; background:var(--period-color,#31567f); }
.vds-holidays__legend a { color:var(--holiday-ink); font-size:.82rem; line-height:1.5; font-weight:500; text-decoration:none; }
.vds-holidays__legend a:hover { text-decoration:underline; text-underline-offset:.2em; }
.vds-holidays__legend p { margin:.3rem 0 0; color:var(--holiday-muted); font-size:.74rem; line-height:1.55; }
.vds-holidays__source { display:inline-flex; align-items:center; gap:.5rem; color:var(--holiday-muted); font-size:.74rem; line-height:1.5; text-underline-offset:.2em; }
.vds-holidays__source>.vds-holidays__icon { width:1rem; height:1rem; }
.vds-holidays__map-visual { min-width:0; }
.vds-holidays__map { display:block; width:100%; height:auto; overflow:visible; }
.vds-holidays__map path { fill:var(--province-color,#e7edf3); stroke:#fff; stroke-width:1.7; stroke-linejoin:round; transition:filter .15s ease,stroke .15s ease; }
.vds-holidays__map text { fill:var(--province-ink,#536680); font-family:inherit; font-size:10.4px; font-weight:500; text-transform:uppercase; pointer-events:none; }
.vds-holidays__map a { cursor:pointer; }
.vds-holidays__map a:hover path { filter:brightness(.94); stroke:#b7253d; stroke-width:2; }
.vds-holidays__map a.is-selected path,.vds-holidays__map a:focus-visible path { stroke:var(--holiday-accent); stroke-width:3.3; }
.vds-holidays__map a:focus-visible { outline:none; }
.vds-holidays__map .is-unassigned path { fill:#edf1f5; }
.vds-holidays__map [data-holidays-map-outlines] { pointer-events:none; }
.vds-holidays .vds-holidays__map a:focus,.vds-holidays .vds-holidays__map a:focus-visible { outline:none; }
.vds-holidays .vds-holidays__map--outlines a:hover path,.vds-holidays .vds-holidays__map--outlines a.is-selected path,.vds-holidays .vds-holidays__map--outlines a:focus-visible path { stroke:#fff; stroke-width:1.7; }
.vds-holidays__map path.vds-holidays__map-outline { fill:none; stroke:var(--holiday-accent); stroke-width:3.3; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; pointer-events:none; filter:none; transition:none; }
.vds-holidays__map path.vds-holidays__map-outline--hover { stroke:#b7253d; stroke-width:2; }
.vds-holidays__map-card { position:relative; min-width:0; padding:1.3rem; border:1px solid var(--holiday-line); border-radius:7px; background:#fff; box-shadow:0 8px 26px rgba(8,27,61,.11); }
.vds-holidays__map-card h3 { margin:0 1rem 1rem 0; font-size:1.05rem; font-weight:500; line-height:1.4; }
.vds-holidays__map-card p { margin:.75rem 0; font-size:.85rem; line-height:1.6; }
.vds-holidays__map-card .vds-holidays__muted { color:var(--holiday-muted); font-size:.78rem; }
.vds-holidays__map-dates { display:block; margin-top:.2rem; color:var(--holiday-ink); font-size:.9rem; line-height:1.5; font-weight:500; }
.vds-holidays__map-image { display:block; width:100%; height:auto; aspect-ratio:16/10; margin-top:1rem; border-radius:3px; object-fit:cover; }
.vds-holidays .vds-holidays__close { position:absolute; top:.55rem; right:.55rem; display:flex; align-items:center; justify-content:center; width:2rem; height:2rem; padding:.4rem; border:0; border-radius:3px; background:#fff; color:var(--holiday-muted); cursor:pointer; }
.vds-holidays__text-link { display:inline-flex; align-items:center; gap:.5rem; color:#b7253d; font-size:.84rem; line-height:1.5; text-underline-offset:.2em; }
.vds-holidays__text-link>.vds-holidays__icon { width:1rem; height:1rem; }
.vds-holidays__dates { padding-top:1rem; }
.vds-holidays__date-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.vds-holidays__date-card { position:relative; isolation:isolate; min-width:0; padding:1.7rem 2rem; color:var(--period-ink,#fff); scroll-margin-top:7rem; }
.vds-holidays__date-card::before { content:''; position:absolute; z-index:-1; inset:0; background:var(--period-color,#31567f); clip-path:polygon(5% 0,100% 0,95% 100%,0 100%); }
.vds-holidays__date-card h3 { display:flex; align-items:flex-start; gap:.65rem; margin:0 0 1rem; color:inherit; font-size:1.05rem; font-weight:500; line-height:1.5; }
.vds-holidays__date-card h3>.vds-holidays__icon { margin-top:.1rem; }
.vds-holidays__date-card p { margin:.35rem 0; color:inherit; font-size:.85rem; line-height:1.6; }
.vds-holidays__offers-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:1.7rem; }
.vds-holidays__offer { display:flex; flex-direction:column; min-width:0; border:1px solid transparent; border-radius:5px; background:linear-gradient(180deg,#fff,#f3f6fa); }
.vds-holidays__offer.is-selected { border-color:#e9afba; box-shadow:0 4px 18px rgba(8,27,61,.06); }
.vds-holidays__offer-image-wrap { aspect-ratio:16/10; overflow:hidden; background:#e7eff7; clip-path:polygon(4% 0,100% 0,96% 100%,0 100%); }
.vds-holidays__offer-image { display:block; width:100%; height:100%; object-fit:cover; }
.vds-holidays__offer-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:1.3rem; }
.vds-holidays__offer h3 { margin:0 0 .6rem; color:var(--holiday-ink); font-size:1.6rem; font-weight:400; line-height:1.2; letter-spacing:-.035em; }
.vds-holidays__offer-period { margin:0 0 .9rem; color:var(--holiday-ink); font-size:.79rem; line-height:1.6; }
.vds-holidays__offer .vds-holidays__description { margin-bottom:1.4rem; font-size:.88rem; }
.vds-holidays__offer .vds-holidays__button { margin-top:auto; }
.vds-holidays__features { padding-top:1rem; }
.vds-holidays__features ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; margin:0; padding:0; list-style:none; }
.vds-holidays__features li { display:flex; align-items:flex-start; gap:1rem; min-width:0; }
.vds-holidays__features li+li { padding-left:1.25rem; border-left:1px solid var(--holiday-line); }
.vds-holidays__features li>.vds-holidays__icon { width:2.2rem; height:2.2rem; }
.vds-holidays__features h3 { margin:0 0 .5rem; color:var(--holiday-ink); font-size:1rem; font-weight:500; line-height:1.4; }
.vds-holidays__features .vds-holidays__description { font-size:.8rem; }
.vds-holidays__features .vds-holidays__text-link { margin-top:.5rem; font-size:.78rem; }
.vds-holidays__info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:1.6rem; }
.vds-holidays__info-grid>article { min-width:0; }
.vds-holidays__info-grid>article+article { padding-left:2rem; border-left:1px solid var(--holiday-line); }
.vds-holidays__info-grid h3 { margin:0 0 1rem; color:var(--holiday-ink); font-size:1.1rem; line-height:1.5; font-weight:500; }
.vds-holidays__info-grid .vds-holidays__description { font-size:.88rem; }
.vds-holidays__cta { position:relative; isolation:isolate; overflow:hidden; margin-top:1.5rem; padding-block:clamp(3rem,5vw,5rem); border-radius:50% 50% 0 0 / 5% 5% 0 0; background:#153954; color:#fff; }
.vds-holidays__cta-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.vds-holidays__cta::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(8,27,49,.92),rgba(8,27,49,.65) 55%,rgba(8,27,49,.18)); pointer-events:none; }
.vds-holidays__cta .vds-holidays__heading { max-width:25ch; font-size:clamp(2.1rem,3.6vw,3.9rem); }
.vds-holidays__cta .vds-holidays__description { max-width:55ch; margin-bottom:1.5rem; color:#fff; font-size:1rem; }
.vds-holidays__notice { margin:1.5rem 0; padding:1rem 1.2rem; border:1px solid var(--holiday-line); border-radius:5px; background:#f2f7fb; color:var(--holiday-muted); font-size:.85rem; line-height:1.65; }
.vds-holidays a:focus-visible,.vds-holidays button:focus-visible,.vds-holidays select:focus-visible,.vds-holidays summary:focus-visible { outline:2px solid var(--holiday-accent); outline-offset:3px; }
.vds-holidays__cta a:focus-visible { outline-color:#fff; }
@media(max-width:1200px) {
    .vds-holidays__map-layout { grid-template-columns:minmax(230px,1fr) minmax(0,2fr); gap:2rem; }
    .vds-holidays__map-card { grid-column:1/-1; width:100%; }
    .vds-holidays__map-image { width:min(100%,350px); }
    .vds-holidays__search { grid-template-columns:1fr 1fr; }
    .vds-holidays__field { border-right:0; }
    .vds-holidays__search>.vds-holidays__button { justify-content:center; }
    .vds-holidays__features ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
    .vds-holidays__features li:nth-child(odd) { padding-left:0; border-left:0; }
}
@media(max-width:760px) {
    .vds-holidays__container { width:calc(100% - 2rem); }
    .vds-holidays__hero { min-height:430px; }
    .vds-holidays__hero-content { padding-block:2rem 4rem; }
    .vds-holidays__hero::after { background:linear-gradient(90deg,rgba(247,251,255,.95),rgba(247,251,255,.75) 60%,rgba(247,251,255,.3)); }
    .vds-holidays h1 { font-size:2.6rem; max-width:16ch; }
    .vds-holidays__search { grid-template-columns:minmax(0,1fr); gap:1rem; margin-top:-1.4rem; padding:1rem; }
    .vds-holidays__field { padding:0 0 .8rem; border-bottom:1px solid var(--holiday-line); }
    .vds-holidays__field select { padding-block:.45rem; }
    .vds-holidays__people-panel { left:0; right:auto; width:min(340px,calc(100vw - 4rem)); }
    .vds-holidays__map-layout { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
    .vds-holidays__map-copy .vds-holidays__heading { max-width:18ch; }
    .vds-holidays__map-card { grid-column:auto; }
    .vds-holidays__map text { font-size:12.8px; }
    .vds-holidays__map [data-holiday-province="PL-SK"] text { font-size:11px; }
    .vds-holidays__date-grid,.vds-holidays__offers-grid,.vds-holidays__info-grid { grid-template-columns:minmax(0,1fr); }
    .vds-holidays__date-card { padding-inline:2rem; }
    .vds-holidays__features ul { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
    .vds-holidays__features li+li { padding-left:0; border-left:0; }
    .vds-holidays__info-grid>article+article { padding:1.5rem 0 0; border-left:0; border-top:1px solid var(--holiday-line); }
}
@media(prefers-reduced-motion:reduce) { .vds-holidays * { transition:none!important; } }

/* Listy jak w pozostałych formularzach: biel, granat i koralowe oznaczenie wyboru. */
.vds-holidays__select { position:relative; width:100%; min-width:0; }
.vds-holidays__select.is-open { z-index:40; }
.vds-holidays .vds-holidays__select-button { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; min-height:2.5rem; margin:0; padding:.45rem .35rem .45rem 0; border:1px solid transparent; border-radius:0; background:#fff; color:#092b56; font:inherit; font-size:.85rem; line-height:1.4; text-align:left; letter-spacing:normal; text-transform:none; cursor:pointer; }
.vds-holidays .vds-holidays__select-button:hover,.vds-holidays .vds-holidays__select.is-open>.vds-holidays__select-button { color:#092b56; background:#fff; }
.vds-holidays__select-value { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vds-holidays__select-arrow { display:block; flex:0 0 auto; width:.45rem; height:.45rem; margin:-.2rem .2rem 0 0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.vds-holidays__select.is-open .vds-holidays__select-arrow { margin-top:.2rem; transform:rotate(225deg); }
.vds-holidays .vds-holidays__select-button:focus-visible { outline:2px solid #092b56; outline-offset:3px; }
.vds-holidays .vds-holidays__select-button[aria-invalid="true"] { outline:2px solid var(--holiday-accent); outline-offset:2px; }
.vds-holidays__select.is-disabled { opacity:.58; }
.vds-holidays .vds-holidays__select-button:disabled { cursor:not-allowed; }
.vds-holidays .vds-holidays__select-list { position:absolute; z-index:1000; top:calc(100% + .35rem); left:0; display:block; width:100%; min-width:min(15rem,100%); max-height:20rem; margin:0; padding:.35rem; overflow-x:hidden; overflow-y:auto; border:1px solid #cbd6e0; border-radius:0; background:#fff; box-shadow:0 1rem 2.5rem rgba(9,43,86,.14); list-style:none; scrollbar-width:thin; scrollbar-color:#aab8c6 #f3f6f8; }
.vds-holidays .vds-holidays__select-option { position:relative; display:block; width:100%; min-height:2.65rem; margin:0; padding:.65rem .75rem; border:0; border-bottom:1px solid #edf1f4; border-radius:0; background:#fff; color:#17395f; font:inherit; font-size:.8rem; font-weight:400; line-height:1.4; text-align:left; cursor:pointer; }
.vds-holidays__select-option:last-child { border-bottom:0; }
.vds-holidays .vds-holidays__select-option:hover,.vds-holidays .vds-holidays__select-option.is-active { background:#f3f6f8; color:#092b56; }
.vds-holidays .vds-holidays__select-option[aria-selected="true"] { padding-left:1rem; background:#edf3f7; color:#092b56; font-weight:500; }
.vds-holidays__select-option[aria-selected="true"]::before { content:''; position:absolute; top:.45rem; bottom:.45rem; left:.25rem; width:2px; background:var(--holiday-accent); }
.vds-holidays .vds-holidays__select-option[aria-disabled="true"] { color:#91a0af; cursor:not-allowed; }
.vds-holidays__people-panel [data-holidays-control] { display:grid; gap:.4rem; color:var(--holiday-ink); font-size:.8rem; }
.vds-holidays__people-panel .vds-holidays__select-button { min-height:2.7rem; padding:.65rem .75rem; border:1px solid #cbd6e0; border-radius:0; font-size:.85rem; }
.vds-holidays__people-panel .vds-holidays__select.is-open>.vds-holidays__select-button { border-color:#092b56; box-shadow:0 0 0 2px rgba(9,43,86,.08); }
.vds-holidays__people-panel .vds-holidays__select-list { max-height:15rem; }
.vds-holidays__people-chevron { display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:1.1rem; height:1.1rem; margin-left:auto; }
.vds-holidays__people-chevron>.vds-holidays__icon { width:1.1rem; height:1.1rem; }
.vds-holidays__people[open]>summary .vds-holidays__people-chevron { transform:rotate(180deg); }
.vds-holidays__features li>.vds-holidays__icon { width:2.8rem; height:2.8rem; padding:.45rem; border:1px solid #e5edf4; border-radius:8px; background:#f3f7fb; color:#17395f; }
