.page-id-9167 #masthead {display:none}
.page-id-9167 {background:red}
.zimowiska{

  --brand-red: #c94040;
  --brand-navy:  #1F3046;
  --brand-beige: #C8B29A;

  --ice-50: #F3F8FD;
  --ice-100:#E8F3FA;
  --ice-150:#E0F0FA;
  --ice-200:#D4EAF6;

  --c-bg: var(--ice-100);
  --c-primary: var(--brand-red);
  --c-primary-2: #5CA9D8;     
  --c-accent: var(--brand-beige);
  --c-text: #1F3046;
  --c-muted:#6B7C90;
  --c-card:#ffffff;
  --radius-sm: 12px;
  --radius:    18px;
  --radius-lg: 24px;
  --shadow-sm: 0 6px 16px rgba(17, 40, 66, .10);
  --shadow:    0 14px 30px rgba(17, 40, 66, .14);
  --shadow-lg: 0 28px 60px rgba(17, 40, 66, .18);
  --chip-bg: #ffffffaa;
  --chip-border:#e8eef5;
  --container-max: 1280px;
  --container-pad: clamp(16px, 4vw, 28px);
}

.zimowiska .container{
  margin-inline:auto;

}

@media (prefers-reduced-motion: reduce){
  .zimowiska *{animation:none!important;transition:none!important}
}

span.promo {font-size: 22px;background: linear-gradient(180deg, var(--brand-red), #b63737);padding: 7px 21px;display:inline-block;margin: 10px 0;color: #fff;font-weight: 700;}

.zimowiska .hero{
  position:relative;
  display:grid;
  place-items:center;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
  background: linear-gradient(180deg, #0f2236, #1F3046);
  height: 100vh;
}
.zimowiska .hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1000px 480px at 70% 10%, rgba(92,169,216,.35), transparent 60%),
    linear-gradient(120deg, rgba(31,48,70,.82), rgba(197,64,64,.30)),
    url('./ferie.jpg') center/cover no-repeat;
  filter:saturate(1.05) contrast(1.02);
  z-index:-1;
  transform:scale(1.02);
}
.hero .container{width:100%;}
.zimowiska .hero__inner{max-width:920px;text-align:left;padding: clamp(40px,4vw,60px) 0;}
.zimowiska .hero__eyebrow{letter-spacing:.14em;text-transform:uppercase;opacity:.95;font-size:.86rem;margin-bottom:10px}
.zimowiska .hero__title{font-size: clamp(38px, 6.5vw, 68px);line-height:1.04;margin:0 0 12px;font-weight:900;text-shadow:0 6px 18px rgba(0,0,0,.28)}


.zimowiska .hero__cta .btn--primary {background: #ffffff;border: 2px solid;color: #000;}

.zimowiska .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  border-radius: 0;
  padding:1rem 1.3rem;
  font-weight: 800;
  text-decoration:none;
  transition:transform .18s, box-shadow .18s, background .2s, color .2s;
}


.zimowiska .btn--ghost:hover{background:#ffffffd9}
.zimowiska .btn--block{width:100%}

.zimowiska .about__img--3{
  inset:0 0 auto 70px;
  height: 260px;
  background-image: url('kojrys.jpg');
  box-shadow:0 18px 40px rgba(0,0,0,.16);
  position: absolute;
  background-size: cover;
  margin-top: 470px;
}
.zimowiska .about__badge{
  position:absolute;
  right:8px;
  top:8px;
  background: #eeffea;
  color: #000000;
  padding:8px 12px;
  border-radius:999px;
  font-weight: 600;
  box-shadow:var(--shadow-sm)
}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width:980px){
  .zimowiska .about__grid{grid-template-columns:1fr}
  .zimowiska .about__media{order:-1;min-height:260px}
  .zimowiska .about__img--1{inset:auto 40px 0 0;height:220px}
  .zimowiska .about__img--2{inset:0 0 auto 40px;height:190px}
}

.zimowiska .usp{
  background: linear-gradient(180deg, var(--ice-100), var(--ice-200));
  padding: clamp(36px, 6vw, 56px) 0;
  border-top: 8px solid #c5404022;
  border-bottom: 8px solid #1f30461a;
}
.zimowiska .usp__list{
  display:grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 18px; list-style:none; margin:0; padding:0;
}
.zimowiska .usp__item{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 16px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--chip-border);
  box-shadow: var(--shadow-sm);
  font-weight: 600;
  color:var(--c-text);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.zimowiska .usp__item::before{
  content: attr(data-ico);
  display:grid;
  place-items:center;
  min-width:44px;
  height:44px;
  border-radius:12px;
  font-size:22px;
  color:#fff;
  background: linear-gradient(180deg, #e39f89, #916a3e);
  box-shadow: var(--shadow-sm);
  padding: 5px;
}
.zimowiska .usp__item:hover{
  transform: translateY(-3px);
  border-color:#c5404040; box-shadow:0 20px 44px rgba(31,48,70,.14);
}
@media (max-width:1150px){.zimowiska .usp__list{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){ .zimowiska .usp__list{grid-template-columns:repeat(2,1fr)}}

.zimowiska .pricing{
  background: linear-gradient(180deg,#f6fafc,#eef7fb);
  padding: clamp(48px, 7vw, 84px) 0;
}
.zimowiska .pricing h2{margin:0 0 8px;font-size: clamp(26px,3vw,38px)}
.zimowiska .muted{color:#5a6b7c;margin-bottom:26px}
.zimowiska .pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap: clamp(16px,2vw,22px)}
.zimowiska .card{
  position:relative;display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--radius-lg);
  background:linear-gradient(#fff,#fff) padding-box,
             radial-gradient(120% 120% at 0% 0%, #c5404040, #5ca9d833) border-box;
  border:2px solid transparent;box-shadow:var(--shadow);transition:transform .18s, box-shadow .18s, border-color .2s;
}
.zimowiska .card:hover{transform:translateY(-4px);box-shadow:0 28px 56px rgba(31,48,70,.16)}
.zimowiska .card--featured{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
             radial-gradient(120% 120% at 0% 0%, #c54040aa, #5ca9d86b) border-box;
  box-shadow:0 28px 60px rgba(31,48,70,.20)
}
.zimowiska .card__tag{position:absolute;top:-12px;right:18px;background: #E9F7EE;color: #2AB84A;padding:8px 12px;border-radius:999px;font-weight:900;box-shadow:var(--shadow-sm);border: 2px solid #2ab84a;}
.zimowiska .card__head{font-weight:900;font-size:19px}
.zimowiska .card__price{font-size:44px;font-weight:900;letter-spacing:-.6px;margin-top:2px;color:#2ab84a}
.zimowiska .card__price span{font-size:14px;font-weight:600;color:#586572}
.zimowiska .card__list{list-style:none;padding:0;margin:8px 0 18px;color:#20303f}
.zimowiska .card__list li{margin:8px 0}

.note p{margin:50px 0 0;font-size:20px}
.zimowiska .dates{margin: 34px 0 50px;text-align: left;font-weight:700}
.zimowiska .dates h3{font-size:36px;font-weight:800;margin:46px 0 0}
.zimowiska .dates__list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:20px 0 0}
.zimowiska .dates__list li{
  background:#fff;
  border: 2px solid #648999;
  border-radius:999px;
  padding:10px 14px;
  font-weight:700;
  color:#0e2b43;
  box-shadow:var(--shadow-sm);
  transition:transform .16s, box-shadow .16s, border-color .16s
}
.zimowiska .dates__list li:hover{transform:translateY(-2px);border-color:#c5404040;box-shadow:0 14px 28px rgba(31,48,70,.12)}
@media (max-width:980px){.zimowiska .pricing__grid{grid-template-columns:1fr}}


.zimowiska .cta{
  position:relative; overflow:hidden;
  background:
    radial-gradient(900px 300px at 20% 0%, rgba(92,169,216,.14), transparent 60%),
    linear-gradient(180deg, #fefefe, #f3f9fc);
  padding: clamp(48px, 7vw, 84px) 0;
}
.zimowiska .cta__grid{display:grid;/* gap:30px; */align-items:start}
.cta__text{background: linear-gradient(180deg, var(--brand-red), #b63737);padding: clamp(28px,3.2vw,50px);color:#fff;border-radius: 12px 12px 0 0;position:relative;z-index:1;margin-bottom: -50px;}
.cta__text h2{font-weight:800;font-size: 2rem;}
.cta__text p {font-size: 1.25rem;}
.zimowiska .cta__contacts{display:flex;gap:12px;flex-wrap:wrap;margin-top: 14px;display: none;}
.zimowiska .elementor-area{background:#ffffffd6;border:1px solid #e7eef5;border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(4px)}
@media (max-width:980px){.zimowiska .cta__grid{grid-template-columns:1fr}}

.zimowiska .cta__contacts .dzial {display:flex;flex-direction: column;width: 49%;margin: 20px 0 0;}
.zimowiska .cta__contacts .dzial span {font-size:18px;font-weight:700;text-align: center;margin: 0;display: none;}

.zimowiska .cta__contacts .dzial a {border:0;padding: 5px;font-size: 23px;margin: 0;height: 42px;font-weight: 600;border-bottom: 2px solid #ededed;}

.cta__text li{color:#fff!important;font-size: 1.25rem;}
.cta__text li:before{color:#fff!important}

.zimowiska .snow{position:absolute;inset:0;pointer-events:none;z-index:0}
.zimowiska .snow .flake{
  position:absolute; top:-10px; width:8px; height:8px; border-radius:50%;
  background:#fff; opacity:.85; filter:drop-shadow(0 0 6px #ffffffaa);
  animation: fall linear var(--dur) var(--delay) infinite, drift ease-in-out 4s var(--delay) infinite alternate;
}
@keyframes fall{to{transform:translateY(110vh)}}
@keyframes drift{from{margin-left:-6px}to{margin-left:6px}}

.zimowiska .snowman{
  position:absolute;
  right: 15%;
  bottom: -10px;
  width: 220px;
  opacity:.95;
  z-index:0;
}

.zimowiska .faq{background:#fff;padding: clamp(48px, 7vw, 80px) 0}
.zimowiska .faq h2{margin-bottom:14px}
.zimowiska .faq__list{display:grid;gap:12px}
.zimowiska .faq__list details{
  background:#fff;border:1px solid #e6edf4;border-radius:16px;box-shadow:var(--shadow-sm);
  transition:border-color .2s, box-shadow .2s, transform .16s; overflow:hidden
}
.zimowiska .faq__list details:hover{transform:translateY(-2px);border-color:#c5404040;box-shadow:0 14px 28px rgba(31,48,70,.10)}
.zimowiska .faq__list summary{
  display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:16px 18px;font-weight:900;color:#13293d
}
.zimowiska .faq__icon{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900;color:#fff;
  background: linear-gradient(180deg, var(--brand-red), #a02f2f); box-shadow: var(--shadow-sm);
}
.zimowiska .faq__list summary::after{
  content:'';margin-left:auto;width:10px;height:10px;border-right:2px solid #233;border-bottom:2px solid #233;transform:rotate(-45deg);
  transition:transform .2s, opacity .2s;opacity:.65
}
.zimowiska .faq__list details[open] summary::after{transform:rotate(135deg);opacity:.9}
.zimowiska .faq__content{padding:0 18px 18px;color:#273646;line-height:1.65;border-top:1px dashed #e6edf4}

.zimowiska .text-muted{color:var(--c-muted)}
.zimowiska .shadow-sm{box-shadow:var(--shadow-sm)}
.zimowiska .shadow{box-shadow:var(--shadow)}

.zimowiska .card__notes {
  margin: 6px 0 14px;
  color: #20303f;
  font-size: 15px;
  line-height: 1.55;
}
.zimowiska .card__notes p {
  margin: 6px 0;
}
.zimowiska .card.card--featured .card__notes {

  background: #fffefe;
  border: 1px solid #f0e7e7;
  border-radius: 12px;
  padding: 10px 12px;
}

.zim-form {padding: 20px;display: grid;gap: 14px;padding-top: 50px;}
.zim-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.zim-col--full { grid-column: 1 / -1; }
.zim-form label {font-weight: 800;color: #1F3046;display:block;margin-bottom: 6px;font-size: 1.1rem;}
.zim-form label span { color: #C54040; }
.zim-form input, .zim-form select {
  width: 100%;
  padding: 14px 12px;
  border-radius: 12px;
  border: 1.5px solid #e6edf4;
  background: #fff;
  font-size: 18px;
  transition: border-color .2s, box-shadow .2s;
  color: #234567;
  font-weight: 700;
}
.zim-form input:focus, .zim-form select:focus {
  outline: none; border-color: #C54040; box-shadow: 0 0 0 4px rgba(197,64,64,.12);
}
.zim-submit { margin-top: 6px; position: relative; }
.zim-submit .zim-loading {
  position:absolute; right:14px; width:18px; height:18px; border-radius:50%;
  border:3px solid rgba(255,255,255,.45); border-top-color:#fff; display:none;
  animation: zimspin 0.9s linear infinite;
}
.zim-submit.is-loading .zim-loading { display:inline-block; }
@keyframes zimspin { to { transform: rotate(360deg);} }
.zim-privacy {font-size: 14px;color:#6B7C90;margin: 8px 0 0;}

@media (max-width: 860px){ .zim-row { grid-template-columns: 1fr; } }

.zim-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top:14px;
  background:#fff;
  border:1px solid #e6edf4;
  border-radius: 12px;
  padding: 15px 25px;
}

.zim-contact strong {font-size:21px;margin: 0 0 5px;display: inline-block;color: #3aa125;font-weight: 800;}
.zim-contact a {color:#1F3046;text-decoration: none;font-weight: 500;}
@media (max-width: 680px){ .zim-contact { grid-template-columns: 1fr; } }

.zim-toast {
  position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(20px);
  background: #1F3046; color:#fff; padding: 14px 18px; border-radius: 14px;
  box-shadow: 0 14px 30px rgba(17,40,66,.25);
  opacity: 0; pointer-events: none; z-index: 9999;
  display:flex; align-items:center; gap:10px; font-weight:800;
}
.zim-toast--ok { background: #2AB84A; }
.zim-toast--err { background: #C54040; }
.zim-toast.is-show {
  opacity: 1; transform: translateX(-50%) translateY(0);
  transition: transform .3s cubic-bezier(.22,1,.36,1), opacity .3s;
}

.zim-price{
  /* display:grid; */
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items:center;
  margin: 6px 0 6px;
  padding: 12px 14px;
  background:#fff;
  border:1px solid #e6edf4;
  border-radius: 12px;
}
.zim-price__label{font-weight:900;color:#1F3046;font-size: 1.25rem;float: left;}
.zim-price__value{font-weight:900;font-size: 22px;color: #3aa125;background: #77d29226;display: inline-block;width: auto;margin: 0 0 0 10px;padding: 1px 25px;position: relative;top: -5px;border-radius: 12px;border: 2px solid #77d297;}
.zim-price__pkg{ grid-column: 1 / -1; color:#20303f; }

.zapisy {margin: 50px auto;background: #fff;display: block;width: 100%;padding: 50px!important;border-radius: 8px;border: 1px solid #333;}
.zapisy .zpaid {color:#000; font-weight:700}

  .zfil{display:flex;gap:10px;align-items:center;margin:0 0 12px}
  .zfil input{padding:8px 10px;border: 1px solid #000000;color: #000;width: 60%;}
   .zfil select {width:300px;color: #000;border: 1px solid #000;}
.zwrap{overflow:auto;border-radius:12px}
.zwrap tr {width: 100%;}
  .ztab{width:100%;border-collapse:collapse;background:#fff}
  .ztab th,.ztab td{padding:10px 12px;border-bottom:1px solid #eef2f7;font-size:14px}
  .ztab thead th{position:sticky;top:0;background: #f8f0e5;text-align:left}
  .zpaid{padding:6px 8px;border:1px solid #e1e6ef;border-radius:8px}
  .ztoast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;
    background:#1F3046;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 12px 28px rgba(17,40,66,.25);z-index:9999}
  .ztoast.ok{background:#2AB84A}
  .ztoast.err{background:#C54040}
  .ztoast.show{opacity:1;transform:translateX(-50%) translateY(0);transition:.3s}

.container.zapisy{
  width:100%;
  max-width:1440px;
  margin:50px auto;
  padding:clamp(20px,2vw,32px) !important;
}

.container.zapisy h1{
  font-size:clamp(22px,2.4vw,32px);
  font-weight:900;
  color:#1F3046;
  margin:0 0 10px;
}
.container.zapisy p code{
  background:#f4f7fb;
  border:1px solid #e6edf4;
  padding:2px 6px;
  border-radius:8px;
}

.zfil{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  background:#ffffff;
  border:1px solid #e6edf4;
  box-shadow:0 6px 16px rgba(17,40,66,.08);
  border-radius:12px;
  padding:10px 12px;
  margin:0 0 14px;
}
.zfil label{
  font-weight:800;
  color:#1F3046;
}
.zfil select,
.zfil input{
  padding:10px 12px;
  border:1.5px solid #e1e6ef;
  border-radius:10px;
  background:#fff;
  color:#0f1926;
  outline:none;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.zfil select:focus,
.zfil input:focus{
  border-color:#C54040;
  box-shadow:0 0 0 4px rgba(197,64,64,.12);
}
.zfil select{ min-width:200px; }
.zfil input{ flex:1; min-width:min(360px, 100%); }

.zfil .zcount{
  margin-left:auto;
  font-weight:700;
  color:#1F3046;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px dashed #e1e6ef;
  border-radius:10px;
  background:#f9fbfe;
}
.zfil .zcount strong{ font-weight:900; }

.container.zapisy .zwrap{
  overflow:auto;
  border:1px solid #e6edf4;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 30px rgba(17,40,66,.06);
}

.container.zapisy .ztab{
  width:100%;
  border-collapse:separate;  
  border-spacing:0;          
  background:#fff;
  font-size:14px;
}
.container.zapisy .ztab thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8f0e5;
  color:#1F3046;
  text-align:left;
  font-weight:900;
  padding:12px;
  border-bottom:1px solid #e6e0d3;
}

.container.zapisy .ztab thead th:not(:last-child){
  border-right:1px solid #e6e0d3;
}

.container.zapisy .ztab tbody tr{
  box-shadow:0 6px 14px rgba(17,40,66,.08);
}
.container.zapisy .ztab tbody td{
  background:#fff;
  padding:12px 14px;
  border-top:1px solid #eef2f7;
  border-bottom:1px solid #eef2f7;
  color:#0f1926;
}

.container.zapisy .ztab tbody td:not(:last-child){
  border-right:1px solid #eef2f7;
}

.container.zapisy .ztab tbody tr td:first-child{
  border-left:1px solid #eef2f7;
  border-top-left-radius:12px;
  border-bottom-left-radius:12px;
}
.container.zapisy .ztab tbody tr td:last-child{
  border-right:1px solid #eef2f7;
  border-top-right-radius:12px;
  border-bottom-right-radius:12px;
}

.container.zapisy .ztab tbody tr:hover td{
  background:#fcfefd;
}

.zpaid{
  padding:8px 10px;
  border:1px solid #e1e6ef;
  border-radius:10px;
  font-weight:800;
  background:#fff;
  transition:background .2s, border-color .2s, color .2s, box-shadow .2s;
  outline:none;
}
.zpaid:focus{
  border-color:#C54040;
  box-shadow:0 0 0 4px rgba(197,64,64,.12);
}
.zpaid.is-paid-1{
  color:#0f7b2b;
  border-color:#bfe8c9;
  background:#e9f7ee;
}
.zpaid.is-paid-0{
  color:#a11c1c;
  border-color:#f2c9c9;
  background:#fff1f1;
}

.ztoast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(20px);
  opacity:0;
  pointer-events:none;
  background:#1F3046;
  color:#fff;
  padding:12px 16px;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(17,40,66,.25);
  z-index:9999;
}
.ztoast.ok{ background:#2AB84A; }
.ztoast.err{ background:#C54040; }
.ztoast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
  transition:.3s;
}

@media (max-width: 960px){
  .zfil input{ min-width: 220px; }
  .container.zapisy .ztab{ font-size:13px; }
}
@media (max-width: 640px){
  .zfil{ padding:12px; }
  .zfil select{ min-width:160px; }
  .zfil .zcount{ width:100%; justify-content:flex-end; }
}

@supports (backdrop-filter: blur(2px)){
  .container.zapisy .ztab thead th{
    background:rgba(248,240,229,.92);
    backdrop-filter: blur(2px);
  }
}

.zimowiska .hero {
  position: relative;
  color: #fff;
  min-height: 90vh; 
  display: flex;
  align-items: center;
  padding: 80px 0;
  overflow: hidden;
}

.zimowiska .hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.05); 
  animation: hero-zoom 30s ease-in-out infinite alternate;
  z-index: 1;
}

.zimowiska .hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 34, 54, 0.2) 0%, rgba(15, 34, 54, 0.85) 85%);
  z-index: 2;
}

.hero .container {
  position: relative; 
  z-index: 3;
}

.zimowiska .hero__inner {
  max-width: 1020px;
  text-align: left;
}

.zimowiska .hero__eyebrow {
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600;
  opacity: 0.9;
  margin-bottom: 12px;
}

.zimowiska .hero__title {
  font-size: clamp(2.5rem, 6vw, 3rem); 
  line-height: 1.1;
  margin: 0 0 24px;
  font-weight: 800;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  animation: fade-in-up 0.8s ease-out;
}

.zimowiska .hero__details {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-bottom: 24px;
  animation: fade-in-up 0.8s ease-out 0.2s;
  animation-fill-mode: backwards; 
}

.zimowiska .hero__detail-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #c94040;
  backdrop-filter: blur(5px);
  padding: 8px 16px;
  border-radius: 999px; 

  font-size: 1.12rem;
}
.zimowiska .hero__detail-item i {
  color: #ffffff;
}

.zimowiska .hero__lead {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  max-width: 720px;
  margin: 0;
  line-height: 1.65;
  opacity: 0.95;
  animation: fade-in-up 0.8s ease-out 0.4s;
  animation-fill-mode: backwards;
}

.zimowiska .hero__cta {
  margin-top: 32px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  animation: fade-in-up 0.8s ease-out 0.6s;
  animation-fill-mode: backwards;
}

.zimowiska .btn {
  border-radius: 12px; 
  padding: 14px 28px;
  font-weight: 700;
  font-size: 1rem;
}

.zimowiska .btn--primary {
  background: var(--brand-red);
  color: #fff;
  border: none;
  box-shadow: 0 10px 25px rgba(197, 64, 64, 0.3), inset 0 -2px 0 rgba(0,0,0,0.15);
  padding: 20px 10px;
}
.zimowiska .btn--primary:hover {
  background: #d44a4a;
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(197, 64, 64, 0.35);
  color: #fff;
}

.zimowiska .btn--ghost {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(2px); 
}
.zimowiska .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  transform: translateY(-3px);
}

@keyframes hero-zoom {
  from { transform: scale(1.05); }
  to { transform: scale(1.15); }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .zimowiska .hero {
    min-height: 80vh;
    padding: 60px 0;
    text-align: center;
  }
  .zimowiska .hero__inner {
    text-align: center;
  }
  .zimowiska .hero__details,
  .zimowiska .hero__cta {
    justify-content: center;
  }
}

.zimowiska .about {
  padding: clamp(60px, 8vw, 100px) 0;
  background: var(--ice-50); 
  overflow: hidden; 
}

.zimowiska .about__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
}

.zimowiska .about__intro h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 16px;
  line-height: 1.2;
}
.zimowiska .about__intro h2 span {
  color: var(--brand-red);
  font-weight: 800;
}
.zimowiska .about__intro p {
  font-size: 1.1rem;
  color: var(--c-muted);
  max-width: 500px;
  margin: 0;
  margin-bottom: 30px;
}

.zimowiska .about__features {
  display: grid;
  gap: 24px;
}

.zimowiska .about__feature-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #ffffff;
  padding: 20px;
  border-radius: var(--radius);
  border: 1px solid var(--ice-150);
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}
.zimowiska .about__feature-item:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: var(--shadow);
}
.zimowiska .feature-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--brand-red), #b63737);
  color: #fff;
  font-size: 1.5rem;
  box-shadow: 0 6px 15px rgba(197, 64, 64, 0.25);
}
.zimowiska .feature-text h4 {
  margin: 0 0 4px;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-text);
}
.zimowiska .feature-text p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--c-muted);
  line-height: 1.6;
}

.zimowiska .about__media {
  position: relative;
  height: 550px;
}
.zimowiska .about__img {
  position: absolute;
  border-radius: var(--radius);
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow-lg);
  border: 4px solid #fff;
  transition: transform 0.3s ease-out;
}
.zimowiska .about__media:hover .about__img {
  transform: scale(0.95); 
}
.zimowiska .about__img:hover {
  transform: scale(1.05) !important; 
  z-index: 10;
}

.zimowiska .about__img--1 {
  top: -10%;
  left: 5%;
  width: 100%;
  height: 350px;
  z-index: 2;
  background-image: url(mhzima.jpg);
}
.zimowiska .about__img--2 {
  bottom: 0;
  left: 25%;
  width: 90%;
  height: 300px;
  z-index: 3;
  top: 225px;
}
.zimowiska .about__img--3 {
  top: -10%;
  right: 0;
  width: 100%;
  height: 400px;
  z-index: 1;
  left: -5%;
  background-image: url(kojrys.jpg);
}

.zimowiska .about__badge {
  position: absolute;
  top: 45%;
  right: -12%;
  background: #fff;
  color: var(--brand-navy);
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: var(--shadow);
  z-index: 99;
  font-size: 0.9rem;
}

@media (max-width: 980px) {
  .zimowiska .about__grid {
    grid-template-columns: 1fr;
  }
  .zimowiska .about__media {
    order: -1; 
    height: 450px;
    margin-bottom: 30px;
  }
  .zimowiska .about__intro {
    text-align: center;
  }
  .zimowiska .about__intro p {
    margin-left: auto;
    margin-right: auto;
  }
}

.zimowiska .pricing {
  background: linear-gradient(180deg, #fdfdff, var(--ice-100));
  padding: clamp(60px, 8vw, 100px) 0;
}

.zimowiska .pricing__intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
}
.zimowiska .pricing__intro h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 12px;
}
.zimowiska .pricing__intro p {
  font-size: 1.1rem;
  color: var(--c-muted);
  line-height: 1.6;
}

.zimowiska .dates {
  text-align: center;
  margin: 100px auto 0;
}
.zimowiska .dates h3 {
  font-size: 1.75rem;

  margin: 0 0 20px;
  color: var(--c-text);
}
.zimowiska .dates__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.zimowiska .dates__list li {
  background: #fff;
  border: 1px solid var(--ice-200);
  border-radius: 999px;
  padding: 10px 20px;
  font-weight: 600;
  color: var(--c-text);
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  cursor: default; 
}
.zimowiska .dates__list li:hover {
  transform: translateY(-3px);
  border-color: var(--brand-beige);
  box-shadow: var(--shadow);
  background: #c94040;
  color: #fff;
}

.zimowiska .pricing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(20px, 3vw, 30px);
  align-items: center;
}

.zimowiska .card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px;
  border-radius: var(--radius-lg);
  background: #fff;
  border: 2px solid transparent;
  box-shadow: var(--shadow);
  transition: transform 0.2s, box-shadow 0.2s;
}
.zimowiska .card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.zimowiska .card--featured {
  transform: scale(1.05);
  border: 1px solid #c94040;
  border-width: 2px;
  border-style: solid;
}
.zimowiska .card--featured:hover {
  transform: scale(1.08); 
}

.zimowiska .card__tag {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--brand-red);
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 6px 15px rgba(197, 64, 64, 0.3);
  font-size: 0.9rem;
  display: none;
}

.zimowiska .card__head {
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 12px;
}

.zimowiska .card__price {
  font-size: clamp(3rem, 8vw, 4rem);
  font-weight: 800;
  letter-spacing: -1px;
  text-align: center;
  color: var(--brand-navy);
  margin-bottom: 24px;
  line-height: 1;
}
.zimowiska .card__price span {
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-muted);
  margin-left: 4px;
}

.zimowiska .card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  gap: 14px;
  flex-grow: 1; 
}
.zimowiska .card__features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--c-muted);
}
.zimowiska .card__features li i {
  color: var(--brand-red);
  font-size: 1.1rem;
  margin-top: 2px;
  width: 20px;
  text-align: center;
}

.zimowiska .card .btn--primary {
  width: 100%;
}

.zimowiska .prog-carousel-wrapper {
  position: relative;
  max-width: 1200px;

.page-id-9167 #masthead {
  display: none}


.zimowiska .container{
  margin-inline:auto;
}
  @media (prefers-reduced-motion: reduce){
  .zimowiska *{animation:none!important;
  transition:none!important}
}

.zimowiska .hero {
  position: relative;
  color: #fff;
  min-height: 90vh;
  display: flex;
  align-items: center;
  padding: 80px 0;
  overflow: hidden;
}
.zimowiska .hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
  animation: hero-zoom 30s ease-in-out infinite alternate;
  z-index: 1;
}
.zimowiska .hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 34, 54, 0.2) 0%, rgba(15, 34, 54, 0.85) 85%);
  z-index: 2;
}
.hero .container {
  position: relative;
  z-index: 3;
}
.zimowiska .hero__inner {
  max-width: 880px;
  text-align: left;
}
.zimowiska .hero__eyebrow {
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600;
  opacity: 0.9;
  margin-bottom: 12px;
}
.zimowiska .hero__title {
  font-size: clamp(2.5rem, 6vw, 4.2rem);
  line-height: 1.1;
  margin: 0 0 24px;
  font-weight: 800;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  animation: fade-in-up 0.8s ease-out;
}
.zimowiska .hero__details {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-bottom: 24px;
  animation: fade-in-up 0.8s ease-out 0.2s;
  animation-fill-mode: backwards;
}
.zimowiska .hero__detail-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(5px);
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.95rem;
}
.zimowiska .hero__detail-item
  i {
  color: var(--brand-beige);
}
.zimowiska .hero__lead {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  max-width: 720px;
  margin: 0;
  line-height: 1.65;
  opacity: 0.95;
  animation: fade-in-up 0.8s ease-out 0.4s;
  animation-fill-mode: backwards;
}
.zimowiska .hero__cta {
  margin-top: 32px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  animation: fade-in-up 0.8s ease-out 0.6s;
  animation-fill-mode: backwards;
}
  @keyframes hero-zoom {
  from { transform: scale(1.05); }
  to {
  transform: scale(1.15); }
}
  @keyframes fade-in-up {
  from { opacity: 0;
  transform: translateY(20px); }
  to {
  opacity: 1;
  transform: translateY(0); }
}
  @media (max-width: 768px) {
  .zimowiska .hero { min-height: 80vh;
  padding: 60px 0;
  text-align: center; }
  .zimowiska .hero__inner {
  text-align: center; }
  .zimowiska .hero__details, .zimowiska .hero__cta {
  justify-content: center; }
}

.zimowiska .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:14px 28px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration:none;
  transition:transform .18s, box-shadow .18s, background .2s, color .2s;
  border-radius: 12px;
}
.zimowiska .btn--primary{
  background: var(--brand-red);
  color:#fff;
  border: none;
  box-shadow:0 10px 25px rgba(197,64,64,.3), inset 0 -2px 0 rgba(0,0,0,0.15);
}
.zimowiska .btn--primary:
  hover{
  transform:translateY(-3px);
  background: #d44a4a;
  box-shadow:0 14px 30px rgba(197,64,64,.35);
}
.zimowiska .btn--ghost{
  background: transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.8);
  backdrop-filter:blur(2px);
}
.zimowiska .btn--ghost:
  hover{
  background:rgba(255,255,255,.1);
  border-color:#fff;
  transform:translateY(-3px);
}
.zimowiska .btn--block{
  width:100%}

.zimowiska .about {
  padding: clamp(60px, 8vw, 100px) 0;
  background: var(--ice-50);
  overflow: hidden;
}
.zimowiska .about__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
}
.zimowiska .about__intro
  h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 16px;
  line-height: 1.2;
}
.zimowiska .about__intro
  h2 span {
  color: var(--brand-red);
}
.zimowiska .about__intro
  p {
  font-size: 1.1rem;
  color: var(--c-muted);
  max-width: 500px;
  margin-bottom: 30px;
}
.zimowiska .about__features {
  display: grid;
  gap: 24px;
}
.zimowiska .about__feature-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #ffffff;
  padding: 20px;
  border-radius: var(--radius);
  border: 1px solid var(--ice-150);
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}
.zimowiska .about__feature-item:
  hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: var(--shadow);
}
.zimowiska .feature-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--brand-red), #b63737);
  color: #fff;
  font-size: 1.5rem;
  box-shadow: 0 6px 15px rgba(197, 64, 64, 0.25);
}
.zimowiska .feature-text
  h4 {
  margin: 0 0 4px;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-text);
}
.zimowiska .feature-text
  p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--c-muted);
  line-height: 1.6;
}
.zimowiska .about__media {
  position: relative;
  height: 550px;
}
.zimowiska .about__img {
  position: absolute;
  border-radius: var(--radius);
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow-lg);
  border: 4px solid #fff;
  transition: transform 0.3s ease-out;
}
.zimowiska .about__media:
  hover .about__img {
  transform: scale(0.95);
}
.zimowiska .about__img:
  hover {
  transform: scale(1.05) !important;
  z-index: 10;
}
.zimowiska .about__img--1 {
  top: 0;
  left: 0;
  width: 65%;
  height: 350px;
  z-index: 2;
}
.zimowiska .about__img--2 {
  bottom: 0;
  left: 10%;
  width: 80%;
  height: 300px;
  z-index: 3;
}
.zimowiska .about__img--3 {
  top: 100px;
  right: 0;
  width: 55%;
  height: 400px;
  z-index: 1;
}
.zimowiska .about__badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #fff;
  color: var(--brand-navy);
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: var(--shadow);
  z-index: 5;
  font-size: 0.9rem;
}
  @media (max-width: 980px) {
  .zimowiska .about__grid { grid-template-columns: 1fr; }
  .zimowiska .about__media {
  order: -1;
  height: 450px;
  margin-bottom: 30px; }
  .zimowiska .about__intro {
  text-align: center; }
  .zimowiska .about__intro p {
  margin-left: auto;
  margin-right: auto; }
}

.zimowiska .pricing {
  background: linear-gradient(180deg, #fdfdff, var(--ice-100));
  padding: clamp(60px, 8vw, 100px) 0;
}
.zimowiska .pricing__intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
}
.zimowiska .pricing__intro
  h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 12px;
}
.zimowiska .pricing__intro
  p {
  font-size: 1.1rem;
  color: var(--c-muted);
  line-height: 1.6;
}
.zimowiska .dates {
  text-align: center;
  margin: 0 auto 50px;
}
.zimowiska .dates
  h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 20px;
  color: var(--c-text);
}
.zimowiska .dates__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.zimowiska .dates__list
  li {
  background: #fff;
  border: 1px solid var(--ice-200);
  border-radius: 999px;
  padding: 10px 20px;
  font-weight: 600;
  color: var(--c-text);
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  cursor: default;
}
.zimowiska .dates__list
  li:hover {
  transform: translateY(-3px);
  border-color: var(--brand-beige);
  box-shadow: var(--shadow);
}
.zimowiska .pricing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(20px, 3vw, 30px);
  align-items: center;
}
.zimowiska .card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px;
  border-radius: var(--radius-lg);
  background: #fff;
  border: 2px solid transparent;
  box-shadow: var(--shadow);
  transition: transform 0.2s, box-shadow 0.2s;
}
.zimowiska .card:
  hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}
.zimowiska .card--featured {
  transform: scale(1.05);
  border-image: linear-gradient(145deg, var(--brand-red), var(--brand-beige)) 1;
  border-width: 2px;
  border-style: solid;
}
.zimowiska .card--featured:
  hover {
  transform: scale(1.08);
}
.zimowiska .card__tag {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--brand-red);
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 6px 15px rgba(197, 64, 64, 0.3);
  font-size: 0.9rem;
}
.zimowiska .card__head {
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 12px;
}
.zimowiska .card__price {
  font-size: clamp(3rem, 8vw, 4rem);
  font-weight: 800;
  letter-spacing: -1px;
  text-align: center;
  color: var(--brand-navy);
  margin-bottom: 24px;
  line-height: 1;
}
.zimowiska .card__price
  span {
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-muted);
  margin-left: 4px;
}
.zimowiska .card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  gap: 14px;
  flex-grow: 1;
}
.zimowiska .card__features
  li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--c-muted);
}
.zimowiska .card__features
  li i {
  color: var(--brand-red);
  font-size: 1.1rem;
  margin-top: 2px;
  width: 20px;
  text-align: center;
}
.zimowiska .card .btn--primary {
  width: 100%;
}

.zimowiska .program {
  background: #fff;
  padding: clamp(60px, 8vw, 100px) 0;
  overflow: hidden;
}
.zimowiska .program__intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 30px;
}
.zimowiska .program__intro
  h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 12px;
}
.zimowiska .program__intro
  p {
  font-size: 1.1rem;
  color: var(--c-muted);
  line-height: 1.6;
}
.zimowiska .prog-controls {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}
.zimowiska .prog-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  background: var(--ice-50);
  padding: 8px;
  border-radius: 999px;
  border: 1px solid var(--ice-150);
}
.zimowiska .prog-tab {
  appearance: none;
  border: none;
  background: transparent;
  border-radius: 999px;
  padding: 12px 24px;
  font-weight: 700;
  font-size: 1rem;
  color: var(--c-muted);
  cursor: pointer;
  transition: all 0.3s ease;
}
.zimowiska .prog-tab.is-active {
  background: var(--brand-red);
  color: #fff;
  box-shadow: 0 8px 20px rgba(197, 64, 64, 0.3);
}
.zimowiska .prog-carousel-wrapper {
  position: relative;
}
.zimowiska .prog-carousel {
  position: relative;
  overflow: visible;
}
.zimowiska .prog-track {
  display: flex;
  width: 300%;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.zimowiska .prog-slide {
  width: 100%;
  flex: 0 0 100%;
  padding: 0 var(--container-pad);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.6s ease;
  opacity: 0.4;
  transform: scale(0.85);
}
.zimowiska .prog-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.zimowiska .plan-grid {
  display: grid;
  grid-template-columns: 1fr; 
  gap: 20px;
}
.zimowiska .plan-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #fff;
  border: 1px solid var(--ice-150);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.zimowiska .plan-card:
  hover {
  transform: translateY(-5px);
  border-color: var(--brand-beige);
  box-shadow: var(--shadow);
}
.zimowiska .plan-badge {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(145deg, var(--ice-100), var(--ice-200));
  color: var(--brand-red);
  font-size: 1.8rem;
}
.zimowiska .plan-content
  h4 {
  font-size: 1.1rem;
  margin: 0 0 4px;
  font-weight: 700;
  color: var(--c-text);
}
.zimowiska .plan-content
  p {
  margin: 0;
  color: var(--c-muted);
  line-height: 1.6;
}
.zimowiska .prog-arrows {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  pointer-events: none;
}
.zimowiska .prog-arrow {
  appearance: none;
  border: none;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff;
  color: var(--brand-navy);
  font-size: 1.5rem;
  box-shadow: var(--shadow);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
  pointer-events: all;
}
.zimowiska .prog-arrow:
  hover {
  transform: scale(1.1);
  box-shadow: var(--shadow-lg);
}
.zimowiska .prog-arrow--prev {
  margin-left: clamp(10px, 3vw, 40px);
}
.zimowiska .prog-arrow--next {
  margin-right: clamp(10px, 3vw, 40px);
}

.zimowiska .check{
  list-style:none;
  padding:0;
  margin:0}
.zimowiska .check
  li{position:relative;
  padding-left:28px;
  margin:0 0 12px;
  font-size:18px;
  color:#233}
.zimowiska .check
  li:before{content:'\f00c';
  position:absolute;
  left:0;
  top:0;
  color:var(--brand-red);
  font-weight:900;
  font-family:"Font Awesome 6 Free";}

.zimowiska .cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 300px at 20% 0%, rgba(92,169,216,.14), transparent 60%),
    linear-gradient(180deg, #fefefe, #f3f9fc);
  padding: clamp(48px, 7vw, 84px) 0;
}
.zimowiska .cta__grid{
  display:grid;
  gap:30px;
  align-items:start}
.cta__text{
  background: linear-gradient(180deg, var(--brand-red), #b63737);
  padding: clamp(28px,3.2vw,50px);
  color:#fff;
  border-radius: 12px 12px 0 0;
  position:relative;
  z-index:1;
  margin-bottom: -50px;}
.cta__text
  h2{font-weight:800}
.zimowiska .elementor-area{
  background:#ffffffd6;
  border:1px solid #e7eef5;
  border-radius:20px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(4px)}
  @media (max-width:980px){.zimowiska .cta__grid{grid-template-columns:1fr}}

.cta__text
  li{color:#fff!important}
.cta__text
  li:before{color:#fff!important}

.zimowiska .snow{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0}
.zimowiska .snow .flake{
  position:absolute;
  top:-10px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  opacity:.85;
  filter:drop-shadow(0 0 6px #ffffffaa);
  animation: fall linear var(--dur) var(--delay) infinite, drift ease-in-out 4s var(--delay) infinite alternate;
}
  @keyframes fall{to{transform:translateY(110vh)}}
  @keyframes drift{from{margin-left:-6px}to{
  margin-left:6px}}

.zimowiska .snowman{
  position:absolute;
  right: 15%;
  bottom: -10px;
  width: 220px;
  opacity:.95;
  z-index:0;
}

.zimowiska .faq{
  background:#fff;
  padding: clamp(48px, 7vw, 80px) 0}
.zimowiska .faq
  h2{margin-bottom:14px;
  text-align:center;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight:800;}
.zimowiska .faq__list{
  display:grid;
  gap:12px}
.zimowiska .faq__list
  details{
  background:#fff;
  border:1px solid #e6edf4;
  border-radius:16px;
  box-shadow:var(--shadow-sm);
  transition:border-color .2s, box-shadow .2s, transform .16s;
  overflow:hidden}
.zimowiska .faq__list
  details:hover{transform:translateY(-2px);
  border-color:#c5404040;
  box-shadow:0 14px 28px rgba(31,48,70,.10)}
.zimowiska .faq__list
  summary{
  display:flex;
  align-items:center;
  gap:12px;
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:900;
  color:#13293d}
.zimowiska .faq__icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background: linear-gradient(180deg, var(--brand-red), #a02f2f);
  box-shadow: var(--shadow-sm);
}
.zimowiska .faq__list
  summary::after{
  content:'';
  margin-left:auto;
  width:10px;
  height:10px;
  border-right:2px solid #233;
  border-bottom:2px solid #233;
  transform:rotate(45deg);
  transition:transform .2s, opacity .2s;
  opacity:.65}
.zimowiska .faq__list
  details[open] summary::after{transform:rotate(-135deg);
  opacity:.9}
.zimowiska .faq__content{
  padding:0 18px 18px;
  color:#273646;
  line-height:1.65;
  border-top:1px dashed #e6edf4}

.zim-form {
  padding: 20px;
  display: grid;
  gap: 14px;
  padding-top: 50px;}
.zim-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px; }
.zim-form
  label { font-weight: 800;
  color: #1F3046;
  display:block;
  margin-bottom: 6px; }
.zim-form
  label span { color: #C54040; }
.zim-form
  input, .zim-form select {
  width: 100%;
  padding: 14px 12px;
  border-radius: 12px;
  border: 1.5px solid #e6edf4;
  background: #fff;
  font-size: 16px;
  transition: border-color .2s, box-shadow .2s;
  color: #000;
}
.zim-form
  input:focus, .zim-form select:focus {
  outline: none;
  border-color: #C54040;
  box-shadow: 0 0 0 4px rgba(197,64,64,.12);
}
.zim-submit {
  margin-top: 6px;
  position: relative; }
.zim-submit .zim-loading {
  position:absolute;
  right:14px;
  width:18px;
  height:18px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  display:none;
  animation: zimspin 0.9s linear infinite;
}
.zim-submit.is-loading .zim-loading {
  display:inline-block; }
  @keyframes zimspin { to { transform: rotate(360deg);} }
.zim-privacy {
  font-size: 12px;
  color:#6B7C90;
  margin: 8px 0 0; }
  @media (max-width: 860px){ .zim-row { grid-template-columns: 1fr; } }

.zim-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top:14px;
  background:#fff;
  border:1px solid #e6edf4;
  border-radius: 12px;
  padding: 15px 25px;
}
.zim-contact
  strong {font-size:21px;
  margin: 0 0 5px;
  display: inline-block;}
.zim-contact
  a {color:#1F3046;
  text-decoration: none;
  font-weight: 500;}
  @media (max-width: 680px){ .zim-contact { grid-template-columns: 1fr; } }

.zim-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%) translateY(20px);
  background: #1F3046;
  color:#fff;
  padding: 14px 18px;
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(17,40,66,.25);
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}
.zim-toast--ok {
  background: #2AB84A; }
.zim-toast--err {
  background: #C54040; }
.zim-toast.is-show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  transition: transform .3s cubic-bezier(.22,1,.36,1), opacity .3s;
}

.zim-price{
  display:grid;
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items:center;
  margin: 6px 0 6px;
  padding: 12px 14px;
  background:#fff;
  border:1px solid #e6edf4;
  border-radius: 12px;
}
.zim-price__label{
  font-weight:900;
  color:#1F3046; }
.zim-price__value{
  font-weight:900;
  font-size:20px;
  color:#2AB84A; }
.zim-price__pkg{
  grid-column: 1 / -1;
  color:#20303f; };
}

/* ============================
   NOWY, CZYTELNY PROGRAM (WERSJA Z ZAKÅADKAMI)
   ============================ */

.zimowiska .program {
  background: #fff;
  padding: clamp(60px, 8vw, 100px) 0;
}
.zimowiska .program__intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 30px;
}
.zimowiska .program__intro h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  margin: 0 0 12px;
}
.zimowiska .program__intro p {
  font-size: 1.1rem;
  color: var(--c-muted);
  line-height: 1.6;
}

/* Pasek z zakÅ‚adkami */
.zimowiska .prog-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  background: var(--ice-50);
  padding: 8px;
  border-radius: 999px;
  border: 1px solid var(--ice-150);
  margin-bottom: 40px;
}
.zimowiska .prog-tab {
  appearance: none;
  border: none;
  background: transparent;
  border-radius: 999px;
  padding: 12px 24px;
  font-weight: 700;
  font-size: 1rem;
  color: var(--c-muted);
  cursor: pointer;
  transition: all 0.3s ease;
}
.zimowiska .prog-tab.is-active {
  background: var(--brand-red);
  color: #fff;
  box-shadow: 0 8px 20px rgba(197, 64, 64, 0.3);
}

/* Panele z treÅ›ciÄ… (efekt akordeonu) */
.zimowiska .prog-content-wrapper {
  position: relative;
  overflow: hidden;
}
.zimowiska .prog-content-panel {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.7s ease-in-out, opacity 0.5s ease-in-out, visibility 0s linear 0.7s;
  visibility: hidden;
}
.zimowiska .prog-content-panel.is-active {
  max-height: 5000px; /* DuÅ¼a wartoÅ›Ä‡, aby pomieÅ›ciÄ‡ treÅ›Ä‡ */
  opacity: 1;
  visibility: visible;
  transition: max-height 0.7s ease-in-out, opacity 0.5s ease-in-out 0.2s;
}

/* UkÅ‚ad kart wewnÄ…trz panelu (juÅ¼ poprawny) */
.zimowiska .plan-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.zimowiska .plan-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #fff;
  border: 1px solid var(--ice-150);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.zimowiska .plan-card:hover {
  transform: translateY(-5px);
  border-color: var(--brand-beige);
  box-shadow: var(--shadow);
}
.zimowiska .plan-badge {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(145deg, var(--ice-100), var(--ice-200));
  color: var(--brand-red);
  font-size: 1.8rem;
}
.zimowiska .plan-content h4 {
  font-size: 1.1rem;
  margin: 0 0 4px;
  font-weight: 700;
  color: var(--c-text);
}
.zimowiska .plan-content p {
  margin: 0;
  color: var(--c-muted);
  line-height: 1.6;
}

/* Plik: newstyle.css - DODAJ NA KOÅƒCU PLIKU */

/* 1. GÅ‚Ã³wny kontener formularza - robimy z niego spÃ³jnÄ… "kartÄ™" */
.zimowiska .cta__form.elementor-area {
  position: relative; /* NiezbÄ™dne do pozycjonowania baÅ‚wana i Å›niegu wewnÄ…trz */
  overflow: hidden;   /* Ukrywa wszystko, co wystaje poza kontener (np. nogi baÅ‚wana) */
  
  /* Dopasowujemy zaokrÄ…glenia i cieÅ„ do reszty strony */
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-lg); /* Mocniejszy, Å‚adniejszy cieÅ„ */
  border: 1px solid #e7eef5;
  padding-bottom: 20px; /* Dodajemy trochÄ™ oddechu na dole */
}

/* 2. Czerwony nagÅ‚Ã³wek - dopasowanie do nowej "karty" */
.zimowiska .cta__text {
  /* ZaokrÄ…glamy tylko gÃ³rne rogi, aby pasowaÅ‚y do formularza poniÅ¼ej */
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  
  /* Usuwamy domyÅ›lny cieÅ„, bo teraz gÅ‚Ã³wny cieÅ„ jest na .cta__form */
  box-shadow: none; 
  
  /* Poprawiamy pozycjÄ™, aby idealnie stykaÅ‚ siÄ™ z formularzem */
  margin-bottom: 0;
  border-bottom: 1px solid rgba(0,0,0,0.1); /* Subtelna linia oddzielajÄ…ca */
  z-index: 10; /* Upewniamy siÄ™, Å¼e nagÅ‚Ã³wek jest nad formularzem */
  border-bottom: 10px solid #00000042;
}

/* 3. Przenosimy animacjÄ™ Å›niegu DO WNÄ˜TRZA formularza */
.zimowiska .cta .snow {
  /* Przenosimy Å›nieg z tÅ‚a caÅ‚ej sekcji do tÅ‚a formularza */
  z-index: 1; /* Pod spodem, ale nad tÅ‚em */
}

/* 4. Pozycjonujemy baÅ‚wana wewnÄ…trz formularza */
.zimowiska .snowman {
  position: absolute;
  /* Nowa pozycja: prawy dolny rÃ³g biaÅ‚ego kontenera */
  right: 20px;
  bottom: -15px; 
  width: 160px; /* Lekko go zmniejszamy */
  opacity: 1;
  z-index: 2; /* Pod spodem, ale nad animacjÄ… Å›niegu */
  transition: opacity 0.3s, transform 0.3s;
}

/* 5. Poprawki responsywne dla urzÄ…dzeÅ„ mobilnych */
@media (max-width: 768px) {
  /* Ukrywamy baÅ‚wana na mniejszych ekranach, bo zajmuje za duÅ¼o miejsca */
  .zimowiska .snowman {
    opacity: 0;
    transform: translateX(50px); /* PÅ‚ynne znikanie w bok */
    pointer-events: none;
  }

  /* Zmniejszamy iloÅ›Ä‡ pÅ‚atkÃ³w Å›niegu na mobile dla wydajnoÅ›ci */
  .zimowiska .cta .snow .flake:nth-child(n+20) {
      display: none;
  }
}

/* 6. Kontener siatki - zapewniamy, Å¼e jest nad baÅ‚wanem */
.zimowiska .cta__grid {
    position: relative;
    z-index: 5;
}

/* 7. WnÄ™trze formularza - zapewniamy, Å¼e jest nad Å›niegiem i baÅ‚wanem */
.zim-form, .zim-contact {
    position: relative;
    z-index: 5;
}

/* Plik: newstyle.css - DODAJ NA KOÅƒCU PLIKU */

/* 1. Ustawienie kontenera tekstu jako punkt odniesienia dla animacji */
.zimowiska .cta__text {
  position: relative; /* NiezbÄ™dne dla pozycjonowania baÅ‚wana i Å›niegu wewnÄ…trz */
  overflow: hidden;   /* Powoduje, Å¼e animacje nie "wylewajÄ… siÄ™" poza czerwone tÅ‚o */
  z-index: 1;         /* Upewnia siÄ™, Å¼e ten kontener jest na wierzchu */
}

/* 2. Style dla baÅ‚wana w nowym miejscu */
.zimowiska .cta__text .snowman {
  position: absolute;
  right: 20px;
  bottom: -10px;
  width: 140px;
  opacity: 0.9;
  z-index: 2; /* BaÅ‚wan jest nad Å›niegiem, ale pod tekstem */
}

/* 3. Style dla tekstu, aby nie nachodziÅ‚ na baÅ‚wana */
.zimowiska .cta__text h2,
.zimowiska .cta__text p,
.zimowiska .cta__text .check {
  position: relative;
  z-index: 3; /* Tekst musi byÄ‡ na samej gÃ³rze */
   /* Ograniczamy szerokoÅ›Ä‡ tekstu, robiÄ…c miejsce dla baÅ‚wana */
}

.zimowiska .cta__text ul.check  {margin-bottom:0;}

/* 4. KLUCZOWE: Style dla animacji Å›niegu (prawdopodobnie ich brakowaÅ‚o) */
.zimowiska .cta__text .snow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1; /* TÅ‚o animacji */
}
.zimowiska .cta__text .snow .flake {
  position: absolute;
  top: -10px; /* Startuje nad kontenerem */
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  opacity: .85;
  /* Animacja: spadanie (fall) i dryfowanie w poziomie (drift) */
  animation: fall linear var(--dur) var(--delay) infinite, drift ease-in-out 4s var(--delay) infinite alternate;
}

/* 5. Definicje animacji (jeÅ›li ich nie ma, Å›nieg nie bÄ™dzie siÄ™ ruszaÅ‚) */
@keyframes fall {
  to {
    transform: translateY(110vh); /* Spada na caÅ‚Ä… wysokoÅ›Ä‡ ekranu */
  }
}
@keyframes drift {
  from {
    margin-left: -6px;
  }
  to {
    margin-left: 6px;
  }
}

/* 6. ResponsywnoÅ›Ä‡: ukrycie baÅ‚wana na maÅ‚ych ekranach */
@media (max-width: 768px) {
  .zimowiska .cta__text .snowman {
    display: none; /* Ukrywamy baÅ‚wana, bo zajmuje za duÅ¼o miejsca */
  }
  .zimowiska .cta__text h2,
  .zimowiska .cta__text p,
  .zimowiska .cta__text .check {
    max-width: 100%; /* Tekst zajmuje peÅ‚nÄ… szerokoÅ›Ä‡ */
  }
}

/* Plik: newstyle.css - DODAJ NA KOÅƒCU PLIKU */

/* =============================================================== */
/* ==             POPRAWKI RESPONSIVE DLA MOBILE                  == */
/* =============================================================== */

@media (max-width: 980px) {
  /* UkÅ‚ad dwukolumnowy zmienia siÄ™ w jednokolumnowy */
  .zimowiska .about__grid,
  .zimowiska .pricing__grid,
  .zimowiska .cta__grid {
    grid-template-columns: 1fr;
  }
  
  .zimowiska .about__media {
    order: -1;
    min-height: 350px; /* Zmniejszamy wysokoÅ›Ä‡ kontenera ze zdjÄ™ciami */
    margin-bottom: 40px;
  }

  .zimowiska .card--featured {
    transform: scale(1); /* Usuwamy powiÄ™kszenie polecanej karty */
  }
}

@media (max-width: 768px) {
  /* Zmniejszenie fontÃ³w w sekcji Hero */
  .zimowiska .hero__title {
    font-size: clamp(2.2rem, 10vw, 2.8rem);
  }
  .zimowiska .hero__lead {
    font-size: 1rem;
  }

  /* UÅ‚oÅ¼enie przyciskÃ³w i detali w kolumnie */
  .zimowiska .hero__inner {
    text-align: center;
  }
  .zimowiska .hero__details,
  .zimowiska .hero__cta {
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .zimowiska .btn {
    width: 100%;
    max-width: 320px; /* Ograniczenie szerokoÅ›ci przyciskÃ³w */
  }
  
  /* UkÅ‚ad formularza - jedna kolumna */
  .zim-row {
    grid-template-columns: 1fr;
  }

  .zim-contact {
    grid-template-columns: 1fr;
    text-align: center;
  }

  /* Poprawki dla sekcji O nas */
  .zimowiska .about__features {
    gap: 16px;
  }
  .zimowiska .about__feature-item {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  /* Poprawki dla sekcji Program */
  .prog-tabs {
    flex-direction: column;
    align-items: stretch;
    border-radius: var(--radius);
  }
  .prog-tab {
    text-align: center;
  }
  .plan-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Styl dla sekcji informacyjnych (Transport, Dokumenty) */
.info-section {
  padding: clamp(40px, 6vw, 70px) 0;
  background: var(--ice-50);
  border-bottom: 1px solid var(--ice-150);
}

.info-section#transport {background:#fff}
.info-section h2 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 800;
  text-align: center;
  margin: 0 auto 20px;
  max-width: 650px;
}
.info-section p {
  text-align: center;
  margin: 0 auto 30px;
  color: var(--c-muted);
  font-size: 1.25rem;
}
.info-section .text-muted {
  font-size: 0.9rem;
  margin-top: 20px;
  font-size: 1.25rem;
  
  info-section p {
    text-align: center;
  margin: 0 auto 30px;
  color: var(--c-muted);
  font-size: 1.25rem;
};
}

/* Tabela z cennikiem transportu */
.transport-table {
  max-width: 500px;
  margin: 0 auto;
  border: 1px solid var(--ice-200);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.transport-row {
  display: grid;
  grid-template-columns: 1fr auto;
  background: #fff;
  padding: 14px 20px;
  font-weight: 600;
}
.transport-row:not(:last-child) {
  border-bottom: 1px solid var(--ice-150);
}
.transport-row.header {
  background: var(--ice-100);
  font-weight: 800;
  color: var(--c-text);
}

/* Siatka z dokumentami do pobrania */
.docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
.doc-link {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px;
  background: #fff;
  border-radius: var(--radius);
  border: 1px solid var(--ice-200);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  font-weight: 700;
  color: var(--c-text);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.doc-link:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: var(--brand-red);
}
.doc-link i {
  font-size: 1.5rem;
  color: var(--brand-red);
}

/* Style dla checkboxÃ³w ze zgodami */
.zim-agreements {
  display: grid;
  gap: 12px;
  margin: 16px 0;
}
.zim-agreement-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.zim-agreement-item input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 4px;
  width: 18px;
  height: 18px;
}
.zim-agreement-item label {
  font-size: 14px;
  color: var(--c-muted);
  font-weight: 500;
  margin: 0;
}
.zim-agreement-item label a {
  color: var(--brand-red);
  text-decoration: underline;
}
.zim-agreement-item label span {
  color: var(--brand-red);
}

/* Styl dla wyÅ‚Ä…czonego przycisku Submit */
.zim-submit:disabled {
  background: #a0a0a0;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

/* === QUICK FIX: mobile images overlap + smaller type === */

/* 1) OgÃ³lna typografia â€“ delikatne zbicie na maÅ‚ych ekranach */
@media (max-width: 900px){
  html { font-size: 15px; }
}
@media (max-width: 720px){
  html { font-size: 14px; }
  .zimowiska .btn{ padding:12px 18px; font-size:.95rem; }
  .zimowiska .hero__title{ font-size: clamp(1.9rem, 7.5vw, 2.4rem); }
  .zimowiska .hero__lead{ font-size:.95rem; }
  .zimowiska .card__price{ font-size: clamp(2.2rem, 9vw, 2.8rem); }
  .zimowiska .pricing__intro p,
  .zimowiska .about__intro p { font-size:.98rem; }
}

/* 2) Sekcja ABOUT â€“ na mobile zdjÄ™cia nie sÄ… absolutnie pozycjonowane */
@media (max-width: 980px){
  .zimowiska .about__media{
    height: auto;           /* kontener dopasuje siÄ™ do treÅ›ci */
    overflow: hidden;
  }
  .zimowiska .about__img{
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: clamp(180px, 52vw, 320px) !important; /* responsywna wysokoÅ›Ä‡ */
    transform: none !important;
    margin: 10px 0 !important;
    border-width: 3px;
  }
  .zimowiska .about__img--1,
  .zimowiska .about__img--2,
  .zimowiska .about__img--3{
    background-position: center;
    background-size: cover;
    z-index: 1 !important;
  }
  /* Odznaka przeniesiona nad obraz, Å¼eby nie wypadaÅ‚a poza kontener */
  .zimowiska .about__badge{
    position: relative !important;
    top: 0 !important; right: auto !important;
    margin: 6px 0 0;
    display: inline-block;
    z-index: 2;
  }
}

/* 3) Hero â€“ tÅ‚o nie przykrywa treÅ›ci niÅ¼ej (mniejsze skalowanie) */
.zimowiska .hero__bg{
  transform: scale(1.02);
}
@media (max-width: 768px){
  .zimowiska .hero{ min-height: 72vh; padding: 48px 0; }
  .zimowiska .hero__bg{ animation: none; transform: scale(1.02); }
}

/* 4) Karty USP â€“ bez â€žprzycinaniaâ€ przez obrazki powyÅ¼ej */
.zimowiska .usp{ position: relative; z-index: 0; }
.zimowiska .about{ position: relative; z-index: 1; }

/* 5) Daty i nagÅ‚Ã³wki â€“ trochÄ™ ciaÅ›niej na mobile */
@media (max-width: 720px){
  .zimowiska .dates h3{ font-size:1.15rem; }
  .zimowiska .dates__list li{ padding:8px 14px; font-weight:700; }
}

/* 6) Formularz CTA â€“ niech elementy zawsze bÄ™dÄ… nad ozdobami */
.zimowiska .cta__grid,
.zim-form,
.zim-contact{ position: relative; z-index: 5; }
.zimowiska .snow, .zimowiska .snowman{ z-index: 1; }
@media (max-width:768px){
  .zimowiska .snowman{ display:none; }
}

/* 7) Dodatkowe zabezpieczenie przed wyciekaniem obrazÃ³w */
.zimowiska .about__img,
.zimowiska .about__media img{
  max-width: 100%;
  /* height: auto; */
  object-fit: cover;
}


/* === Strona testowa / diagnostyczna === */
.page-id-7846 #masthead { display: none; }
.page-id-7846 { background: red; }
/* ===========================================================
   ALIAS PACK: te same style dla .kolonie co dla .zimowiska
   Wklej NA KOŃCU pliku CSS.
   =========================================================== */

/* 1) Zmienne i bazowe tokeny – współdzielone */
:is(.zimowiska, .kolonie){
  --brand-red: #c94040;
  --brand-navy:  #1F3046;
  --brand-beige: #C8B29A;

  --ice-50:  #F3F8FD;
  --ice-100: #E8F3FA;
  --ice-150: #E0F0FA;
  --ice-200: #D4EAF6;

  --c-bg: var(--ice-100);
  --c-primary: var(--brand-red);
  --c-primary-2: #5CA9D8;
  --c-accent: var(--brand-beige);
  --c-text: #1F3046;
  --c-muted:#6B7C90;
  --c-card:#ffffff;
  --radius-sm: 12px;
  --radius:    18px;
  --radius-lg: 24px;
  --shadow-sm: 0 6px 16px rgba(17, 40, 66, .10);
  --shadow:    0 14px 30px rgba(17, 40, 66, .14);
  --shadow-lg: 0 28px 60px rgba(17, 40, 66, .18);
  --chip-bg: #ffffffaa;
  --chip-border:#e8eef5;
  --container-max: 1280px;
  --container-pad: clamp(16px, 4vw, 28px);
}

@media (prefers-reduced-motion: reduce){
  :is(.zimowiska, .kolonie) *{animation:none!important;transition:none!important}
}

/* 2) Kontener i przyciski */
:is(.zimowiska, .kolonie) .container{margin-inline:auto;}
:is(.zimowiska, .kolonie) .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:14px 28px;border-radius:12px;font-weight:700;font-size:1rem;
  text-decoration:none;transition:transform .18s,box-shadow .18s,background .2s,color .2s;
}
:is(.zimowiska, .kolonie) .btn--primary{
  background:var(--brand-red);color:#fff;border:none;
  box-shadow:0 10px 25px rgba(197,64,64,.3), inset 0 -2px 0 rgba(0,0,0,.15);
}
:is(.zimowiska, .kolonie) .btn--primary:hover{
  transform:translateY(-3px);background:#d44a4a;box-shadow:0 14px 30px rgba(197,64,64,.35);
}
:is(.zimowiska, .kolonie) .btn--ghost{
  background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8);backdrop-filter:blur(2px);
}
:is(.zimowiska, .kolonie) .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;transform:translateY(-3px)}
:is(.zimowiska, .kolonie) .btn--block{width:100%}

/* 3) HERO */
:is(.zimowiska, .kolonie) .hero{
  position:relative;color:#fff;min-height:90vh;display:flex;align-items:center;
  padding:80px 0;overflow:hidden;background:linear-gradient(180deg,#0f2236,#1F3046);
}
:is(.zimowiska, .kolonie) .hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);
  animation:hero-zoom 30s ease-in-out infinite alternate;z-index:1;
}
:is(.zimowiska, .kolonie) .hero__overlay{
  position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,34,54,.2) 0%, rgba(15,34,54,.85) 85%);z-index:2;
}
.hero .container{position:relative;z-index:3;}
:is(.zimowiska, .kolonie) .hero__inner{max-width:1020px;text-align:left}
:is(.zimowiska, .kolonie) .hero__eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;font-weight:600;opacity:.9;margin-bottom:12px}
:is(.zimowiska, .kolonie) .hero__title{font-size:clamp(2.5rem,6vw,4.2rem);line-height:1.1;margin:0 0 24px;font-weight:800;text-shadow:0 4px 20px rgba(0,0,0,.4);animation:fade-in-up .8s ease-out}
:is(.zimowiska, .kolonie) .hero__details{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:24px;animation:fade-in-up .8s ease-out .2s backwards}
:is(.zimowiska, .kolonie) .hero__detail-item{display:inline-flex;align-items:center;gap:10px;background:#c94040;padding:8px 16px;border-radius:999px;font-size:1.12rem}
:is(.zimowiska, .kolonie) .hero__detail-item i{color:#fff}
:is(.zimowiska, .kolonie) .hero__lead{font-size:clamp(1rem,1.8vw,1.2rem);max-width:720px;margin:0;line-height:1.65;opacity:.95;animation:fade-in-up .8s ease-out .4s backwards}
:is(.zimowiska, .kolonie) .hero__cta{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap;animation:fade-in-up .8s ease-out .6s backwards}

@keyframes hero-zoom{from{transform:scale(1.05)}to{transform:scale(1.15)}}
@keyframes fade-in-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:768px){
  :is(.zimowiska, .kolonie) .hero{min-height:80vh;padding:60px 0;text-align:center}
  :is(.zimowiska, .kolonie) .hero__inner{text-align:center}
  :is(.zimowiska, .kolonie) .hero__details, :is(.zimowiska, .kolonie) .hero__cta{justify-content:center}
}

/* 4) ABOUT */
:is(.zimowiska, .kolonie) .about{padding:clamp(60px,8vw,100px) 0;background:var(--ice-50);overflow:hidden}
:is(.zimowiska, .kolonie) .about__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(30px,6vw,80px);align-items:center}
:is(.zimowiska, .kolonie) .about__intro h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;margin:0 0 16px;line-height:1.2}
:is(.zimowiska, .kolonie) .about__intro h2 span{color:var(--brand-red);font-weight:800}
:is(.zimowiska, .kolonie) .about__intro p{font-size:1.1rem;color:var(--c-muted);max-width:500px;margin:0 0 30px}
:is(.zimowiska, .kolonie) .about__features{display:grid;gap:24px}
:is(.zimowiska, .kolonie) .about__feature-item{display:flex;align-items:flex-start;gap:20px;background:#fff;padding:20px;border-radius:var(--radius);border:1px solid var(--ice-150);box-shadow:var(--shadow-sm);transition:.2s}
:is(.zimowiska, .kolonie) .about__feature-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow)}
:is(.zimowiska, .kolonie) .feature-icon{flex-shrink:0;width:50px;height:50px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--brand-red),#b63737);color:#fff;font-size:1.5rem;box-shadow:0 6px 15px rgba(197,64,64,.25)}
:is(.zimowiska, .kolonie) .feature-text h4{margin:0 0 4px;font-size:1.1rem;font-weight:700;color:var(--c-text)}
:is(.zimowiska, .kolonie) .feature-text p{margin:0;font-size:.95rem;color:var(--c-muted);line-height:1.6}
:is(.zimowiska, .kolonie) .about__media{position:relative;height:550px}
:is(.zimowiska, .kolonie) .about__img{position:absolute;border-radius:var(--radius);background-size:cover;background-position:center;box-shadow:var(--shadow-lg);border:4px solid #fff;transition:transform .3s}
:is(.zimowiska, .kolonie) .about__badge{position:absolute;right:8px;top:8px;background:#eeffea;color:#000;padding:8px 12px;border-radius:999px;font-weight:600;box-shadow:var(--shadow-sm)}
@media (max-width:980px){
  :is(.zimowiska, .kolonie) .about__grid{grid-template-columns:1fr}
  :is(.zimowiska, .kolonie) .about__media{order:-1;min-height:260px}
}

/* 5) PRICING + DATES + CARDS */
:is(.zimowiska, .kolonie) .pricing{background:linear-gradient(180deg,#f6fafc,#eef7fb);padding:clamp(48px,7vw,84px) 0}
:is(.zimowiska, .kolonie) .pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,22px)}
:is(.zimowiska, .kolonie) .card{
  position:relative;display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--radius-lg);
  background:linear-gradient(#fff,#fff) padding-box,
             radial-gradient(120% 120% at 0% 0%, #c5404040, #5ca9d833) border-box;
  border:2px solid transparent;box-shadow:var(--shadow);transition:.18s;
}
:is(.zimowiska, .kolonie) .card:hover{transform:translateY(-4px);box-shadow:0 28px 56px rgba(31,48,70,.16)}
:is(.zimowiska, .kolonie) .card--featured{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
             radial-gradient(120% 120% at 0% 0%, #c54040aa, #5ca9d86b) border-box;
  box-shadow:0 28px 60px rgba(31,48,70,.20)
}
:is(.zimowiska, .kolonie) .card__tag{position:absolute;top:-12px;right:18px;background:#E9F7EE;color:#2AB84A;padding:8px 12px;border-radius:999px;font-weight:900;box-shadow:var(--shadow-sm);border:2px solid #2ab84a}
:is(.zimowiska, .kolonie) .card__head{font-weight:900;font-size:19px}
:is(.zimowiska, .kolonie) .card__price{font-size:44px;font-weight:900;letter-spacing:-.6px;margin-top:2px;color:#2ab84a}
:is(.zimowiska, .kolonie) .card__price span{font-size:14px;font-weight:600;color:#586572}
:is(.zimowiska, .kolonie) .card__features{list-style:none;padding:0;margin:8px 0 18px;color:#20303f;display:grid;gap:10px}
:is(.zimowiska, .kolonie) .dates{margin:34px 0 50px;text-align:left;font-weight:700}
:is(.zimowiska, .kolonie) .dates h3{font-size:36px;font-weight:800;margin:46px 0 0}
:is(.zimowiska, .kolonie) .dates__list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:20px 0 0}
:is(.zimowiska, .kolonie) .dates__list li{
  background:#fff;border:2px solid #648999;border-radius:999px;padding:10px 14px;font-weight:700;color:#0e2b43;box-shadow:var(--shadow-sm);transition:.16s
}
:is(.zimowiska, .kolonie) .dates__list li:hover{transform:translateY(-2px);border-color:#c5404040;box-shadow:0 14px 28px rgba(31,48,70,.12)}
@media (max-width:980px){ :is(.zimowiska, .kolonie) .pricing__grid{grid-template-columns:1fr} }

/* 6) PROGRAM (tabs/cards) */
:is(.zimowiska, .kolonie) .program{background:#fff;padding:clamp(60px,8vw,100px) 0;overflow:hidden}
:is(.zimowiska, .kolonie) .program__intro{text-align:center;max-width:700px;margin:0 auto 30px}
:is(.zimowiska, .kolonie) .prog-tabs{display:flex;flex-wrap:wrap;gap:12px;background:var(--ice-50);padding:8px;border-radius:999px;border:1px solid var(--ice-150);justify-content:center;margin-bottom:40px}
:is(.zimowiska, .kolonie) .prog-tab{appearance:none;border:none;background:transparent;border-radius:999px;padding:12px 24px;font-weight:700;font-size:1rem;color:var(--c-muted);cursor:pointer;transition:.3s}
:is(.zimowiska, .kolonie) .prog-tab.is-active{background:var(--brand-red);color:#fff;box-shadow:0 8px 20px rgba(197,64,64,.3)}
:is(.zimowiska, .kolonie) .prog-content-wrapper{position:relative;overflow:hidden}
:is(.zimowiska, .kolonie) .prog-content-panel{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s ease, opacity .5s ease, visibility 0s linear .7s;visibility:hidden}
:is(.zimowiska, .kolonie) .prog-content-panel.is-active{max-height:5000px;opacity:1;visibility:visible;transition:max-height .7s ease, opacity .5s ease .2s}
:is(.zimowiska, .kolonie) .plan-grid{display:grid;grid-template-columns:1fr;gap:20px}
:is(.zimowiska, .kolonie) .plan-card{display:flex;align-items:flex-start;gap:20px;background:#fff;border:1px solid var(--ice-150);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);transition:.2s}
:is(.zimowiska, .kolonie) .plan-card:hover{transform:translateY(-5px);border-color:var(--brand-beige);box-shadow:var(--shadow)}
:is(.zimowiska, .kolonie) .plan-badge{flex-shrink:0;width:60px;height:60px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,var(--ice-100),var(--ice-200));color:var(--brand-red);font-size:1.8rem}

/* 7) CTA + FORM + TOAST + PRICE BOX */
:is(.zimowiska, .kolonie) .cta{
  position:relative;overflow:hidden;
  background: radial-gradient(900px 300px at 20% 0%, rgba(92,169,216,.14), transparent 60%), linear-gradient(180deg,#fefefe,#f3f9fc);
  padding:clamp(48px,7vw,84px) 0;
}
:is(.zimowiska, .kolonie) .cta__grid{display:grid;gap:30px;align-items:start}
:is(.zimowiska, .kolonie) .cta__text{background:linear-gradient(180deg,var(--brand-red),#b63737);padding:clamp(28px,3.2vw,50px);color:#fff;border-radius:12px 12px 0 0;position:relative;z-index:1;margin-bottom:-50px;border-bottom:1px solid rgba(0,0,0,.08)}
:is(.zimowiska, .kolonie) .cta__text h2{font-weight:800}
:is(.zimowiska, .kolonie) .elementor-area{background:#ffffffd6;border:1px solid #e7eef5;border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(4px)}
@media (max-width:980px){ :is(.zimowiska, .kolonie) .cta__grid{grid-template-columns:1fr} }
:is(.zimowiska, .kolonie) .check{list-style:none;padding:0;margin:0}
:is(.zimowiska, .kolonie) .check li{position:relative;padding-left:28px;margin:0 0 12px;font-size:18px;color:#233}
:is(.zimowiska, .kolonie) .check li:before{content:'\f00c';position:absolute;left:0;top:0;color:var(--brand-red);font-weight:900;font-family:"Font Awesome 6 Free";}

:is(.zimowiska, .kolonie) .zim-form{padding:20px;display:grid;gap:14px;padding-top:50px}
:is(.zimowiska, .kolonie) .zim-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
:is(.zimowiska, .kolonie) .zim-form label{font-weight:800;color:#1F3046;display:block;margin-bottom:6px;font-size:1.1rem}
:is(.zimowiska, .kolonie) .zim-form label span{color:#C54040}
:is(.zimowiska, .kolonie) .zim-form input,
:is(.zimowiska, .kolonie) .zim-form select{
  width:100%;padding:14px 12px;border-radius:12px;border:1.5px solid #e6edf4;background:#fff;font-size:18px;transition:border-color .2s, box-shadow .2s;color:#234567;font-weight:700
}
:is(.zimowiska, .kolonie) .zim-form input:focus,
:is(.zimowiska, .kolonie) .zim-form select:focus{outline:none;border-color:#C54040;box-shadow:0 0 0 4px rgba(197,64,64,.12)}
:is(.zimowiska, .kolonie) .zim-submit{margin-top:6px;position:relative}
:is(.zimowiska, .kolonie) .zim-submit .zim-loading{
  position:absolute;right:14px;width:18px;height:18px;border-radius:50%;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;display:none;animation:zimspin .9s linear infinite
}
:is(.zimowiska, .kolonie) .zim-submit.is-loading .zim-loading{display:inline-block}
@keyframes zimspin{to{transform:rotate(360deg)}}
:is(.zimowiska, .kolonie) .zim-privacy{font-size:14px;color:#6B7C90;margin:8px 0 0}
@media (max-width:860px){ :is(.zimowiska, .kolonie) .zim-row{grid-template-columns:1fr} }

:is(.zimowiska, .kolonie) .zim-contact{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;background:#fff;border:1px solid #e6edf4;border-radius:12px;padding:15px 25px
}
:is(.zimowiska, .kolonie) .zim-contact strong{font-size:21px;margin:0 0 5px;display:inline-block;color:#3aa125;font-weight:800}
:is(.zimowiska, .kolonie) .zim-contact a{color:#1F3046;text-decoration:none;font-weight:500}
@media (max-width:680px){ :is(.zimowiska, .kolonie) .zim-contact{grid-template-columns:1fr} }

:is(.zimowiska, .kolonie) .zim-toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#1F3046;color:#fff;padding:14px 18px;border-radius:14px;box-shadow:0 14px 30px rgba(17,40,66,.25);opacity:0;pointer-events:none;z-index:9999;display:flex;align-items:center;gap:10px;font-weight:800
}
:is(.zimowiska, .kolonie) .zim-toast--ok{background:#2AB84A}
:is(.zimowiska, .kolonie) .zim-toast--err{background:#C54040}
:is(.zimowiska, .kolonie) .zim-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0);transition:transform .3s cubic-bezier(.22,1,.36,1), opacity .3s}

/* 8) INFO SECTIONS (transport + dokumenty) */
:is(.zimowiska, .kolonie) .info-section{padding:clamp(40px,6vw,70px) 0;background:var(--ice-50);border-bottom:1px solid var(--ice-150)}
:is(.zimowiska, .kolonie) .info-section#transport{background:#fff}
:is(.zimowiska, .kolonie) .info-section h2{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;text-align:center;margin:0 auto 20px;max-width:650px}
:is(.zimowiska, .kolonie) .info-section p{text-align:center;margin:0 auto 30px;color:var(--c-muted);font-size:1.1rem}
:is(.zimowiska, .kolonie) .transport-table{max-width:500px;margin:0 auto;border:1px solid var(--ice-200);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
:is(.zimowiska, .kolonie) .transport-row{display:grid;grid-template-columns:1fr auto;background:#fff;padding:14px 20px;font-weight:600}
:is(.zimowiska, .kolonie) .transport-row:not(:last-child){border-bottom:1px solid var(--ice-150)}
:is(.zimowiska, .kolonie) .transport-row.header{background:var(--ice-100);font-weight:800;color:var(--c-text)}

:is(.zimowiska, .kolonie) .docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;max-width:900px;margin:0 auto}
:is(.zimowiska, .kolonie) .doc-link{
  display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border-radius:var(--radius);border:1px solid var(--ice-200);box-shadow:var(--shadow-sm);
  text-decoration:none;font-weight:700;color:var(--c-text);transition:transform .2s, box-shadow .2s, border-color .2s;
}
:is(.zimowiska, .kolonie) .doc-link:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--brand-red)}
:is(.zimowiska, .kolonie) .doc-link i{font-size:1.5rem;color:var(--brand-red)}

/* 9) FAQ */
:is(.zimowiska, .kolonie) .faq{background:#fff;padding:clamp(48px,7vw,80px) 0}
:is(.zimowiska, .kolonie) .faq h2{margin-bottom:14px;text-align:center;font-size:clamp(2rem,4vw,2.8rem);font-weight:800}
:is(.zimowiska, .kolonie) .faq__list{display:grid;gap:12px}
:is(.zimowiska, .kolonie) .faq__list details{background:#fff;border:1px solid #e6edf4;border-radius:16px;box-shadow:var(--shadow-sm);transition:border-color .2s, box-shadow .2s, transform .16s;overflow:hidden}
:is(.zimowiska, .kolonie) .faq__list details:hover{transform:translateY(-2px);border-color:#c5404040;box-shadow:0 14px 28px rgba(31,48,70,.10)}
:is(.zimowiska, .kolonie) .faq__list summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:16px 18px;font-weight:900;color:#13293d}
:is(.zimowiska, .kolonie) .faq__icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900;color:#fff;background:linear-gradient(180deg,var(--brand-red),#a02f2f);box-shadow:var(--shadow-sm)}
:is(.zimowiska, .kolonie) .faq__list summary::after{content:'';margin-left:auto;width:10px;height:10px;border-right:2px solid #233;border-bottom:2px solid #233;transform:rotate(45deg);transition:transform .2s, opacity .2s;opacity:.65}
:is(.zimowiska, .kolonie) .faq__list details[open] summary::after{transform:rotate(-135deg);opacity:.9}
:is(.zimowiska, .kolonie) .faq__content{padding:0 18px 18px;color:#273646;line-height:1.65;border-top:1px dashed #e6edf4}

/* 10) Drobne responsywne dopieszczenia */
@media (max-width:720px){
  :is(.zimowiska, .kolonie) .btn{padding:12px 18px;font-size:.95rem}
  :is(.zimowiska, .kolonie) .hero__title{font-size:clamp(1.9rem,7.5vw,2.4rem)}
  :is(.zimowiska, .kolonie) .hero__lead{font-size:.95rem}
  :is(.zimowiska, .kolonie) .card__price{font-size:clamp(2.2rem,9vw,2.8rem)}
}

/* ================================================= */
/* ==           POPRAWKI DLA CHECKBOXÓW             == */
/* ================================================= */

/* 1. Reset i podstawowe ustawienia dla inputu */
.zim-agreement-item input[type="checkbox"] {
  /* Ukrywamy domyślny, brzydki wygląd checkboxa z przeglądarki */
  appearance: none;
  -webkit-appearance: none;
  margin: 0;

  /* Ustawiamy wymiary i pozycję, aby pasowały do tekstu */
  flex-shrink: 0;
  margin-top: 3px;
  width: 1.15em;
  height: 1.15em;
  
  /* Tworzymy nasze własne pole (box) */
  border: 1.5px solid #d4e0eb;
  border-radius: 6px; /* Lekko zaokrąglone rogi */
  background-color: #fff;
  cursor: pointer;

  /* Przygotowanie do animacji i umieszczenia "ptaszka" w środku */
  display: grid;
  place-content: center;
  transition: all 0.2s ease-in-out;
}

/* 2. Tworzymy "ptaszek" (checkmark) za pomocą pseudo-elementu ::before */
.zim-agreement-item input[type="checkbox"]::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  
  /* Na starcie "ptaszek" jest niewidoczny (zmniejszony do zera) */
  transform: scale(0);
  transition: 0.1s transform ease-in-out;
  
  /* Kolor "ptaszka" */
  background-color: white;

  /* Magia: Używamy maski SVG, aby nadać mu kształt "ptaszka" */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-hidden='true' focusable='false'%3E%3Cpath fill='none' stroke='currentColor' stroke-width='4' d='M1.73 12.91l6.85 6.85c.78.78 2.05.78 2.83 0L22.27 4.41'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-hidden='true' focusable='false'%3E%3Cpath fill='none' stroke='currentColor' stroke-width='4' d='M1.73 12.91l6.85 6.85c.78.78 2.05.78 2.83 0L22.27 4.41'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* 3. Styl dla zaznaczonego checkboxa */
.zim-agreement-item input[type="checkbox"]:checked {
  background: var(--brand-red); /* Używamy koloru z Twojej palety */
  border-color: var(--brand-red);
}

/* 4. Gdy checkbox jest zaznaczony, "ptaszek" staje się widoczny (skaluje się do 1) */
.zim-agreement-item input[type="checkbox"]:checked::before {
  transform: scale(1);
}

/* 5. Styl dla etykiety, aby również była klikalna */
.zim-agreement-item label {
  cursor: pointer;
  line-height: 1.5;
  font-weight: 500 !important; /* Nadpisujemy inne style, jeśli są silniejsze */
}

/* 6. Dostępność: styl focusu dla nawigacji klawiaturą (pasujący do innych pól) */
.zim-agreement-item input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(197, 64, 64, 0.12);
}