.kkw-page{--kkw-ink:#142033;--kkw-muted:#5f6b7a;--kkw-line:#e2e7ef;--kkw-coral:#ff646a;--kkw-teal:#159aa2;--kkw-soft:#f7f9fc;color:var(--kkw-ink)}
.kkw-page h2{margin-top:0}.kkw-page h3{margin-top:0}.kkw-page p{line-height:1.68}.kkw-page section{scroll-margin-top:120px}
.kkw-intro{padding:10px 0 44px}.kkw-intro h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.045em;max-width:980px;margin-bottom:20px}.kkw-intro .kk-lead{max-width:900px}
.kkw-pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.kkw-pill-row span{display:inline-flex;align-items:center;border:1px solid var(--kkw-line);border-radius:999px;padding:10px 15px;background:#fff;font-weight:800;font-size:.92rem;box-shadow:0 6px 18px rgba(20,32,51,.035)}
.kkw-turnus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:10px 0 64px}.kkw-turnus-card{border:1px solid var(--kkw-line);border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(20,32,51,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.kkw-turnus-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(20,32,51,.12)}.kkw-turnus-card--coral:hover{border-color:rgba(255,100,106,.6)}.kkw-turnus-card--teal:hover{border-color:rgba(21,154,162,.6)}
.kkw-card-photo{height:285px;overflow:hidden;background:#eef2f7}.kkw-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.kkw-turnus-card:hover .kkw-card-photo img{transform:scale(1.025)}.kkw-card-body{padding:26px 28px 30px}.kkw-card-body h3{font-size:clamp(1.45rem,2vw,1.8rem);margin:12px 0}.kkw-card-body p{color:var(--kkw-muted)}
.kkw-block,.kkw-gallery-block{padding:58px 0;border-top:1px solid var(--kkw-line)}.kkw-block--soft{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));background:var(--kkw-soft)}
.kkw-feature-grid,.kkw-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.kkw-feature-grid article,.kkw-program-grid article{border:1px solid var(--kkw-line);border-radius:20px;padding:22px;background:#fff;transition:.22s ease;box-shadow:0 7px 22px rgba(20,32,51,.035)}.kkw-feature-grid article:hover,.kkw-program-grid article:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,32,51,.08);border-color:#cbd4e2}.kkw-feature-grid strong{display:block;font-size:1.08rem;margin-bottom:8px}.kkw-feature-grid span{color:var(--kkw-muted);line-height:1.5}.kkw-program-grid article>span{font-size:1.7rem}.kkw-program-grid h3{font-size:1.2rem;margin:10px 0 6px}.kkw-program-grid p{color:var(--kkw-muted);margin:0}
.kkw-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.kkw-gallery img{width:100%;height:230px;object-fit:cover;border-radius:20px;display:block;box-shadow:0 9px 26px rgba(20,32,51,.06)}.kkw-gallery img:first-child{object-position:center 42%}
.kkw-price-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start;margin-top:26px}.kkw-extra-card{border:1px solid var(--kkw-line);border-top:5px solid var(--kkw-teal);border-radius:22px;padding:24px;background:#fff;box-shadow:0 10px 28px rgba(20,32,51,.05)}
.kkw-term{padding:62px 0;border-top:5px solid var(--kkw-coral);scroll-margin-top:120px}.kkw-term--teal{border-top-color:var(--kkw-teal)}.kkw-term h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:16px}.kkw-term-meta{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}.kkw-term-meta span{border:1px solid var(--kkw-line);border-radius:999px;padding:9px 13px;background:#fff;font-weight:800}.kkw-ferie-box{padding:18px 20px;border-radius:18px;background:#f7f9fc;border:1px solid var(--kkw-line);margin:18px 0 30px;line-height:1.6}.kkw-term h3{font-size:1.55rem;margin:30px 0 16px}.kkw-day-list details{border:1px solid var(--kkw-line);border-radius:18px;background:#fff;overflow:hidden;margin-bottom:10px;box-shadow:0 7px 22px rgba(20,32,51,.035)}.kkw-day-list summary{cursor:pointer;font-weight:900;padding:18px 50px 18px 20px;position:relative;list-style:none}.kkw-day-list summary::-webkit-details-marker{display:none}.kkw-day-list summary:after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.35rem}.kkw-day-list details[open] summary:after{content:'–'}.kkw-day-list details[open] summary{background:#fff2f2;border-bottom:1px solid var(--kkw-line)}.kkw-term--teal .kkw-day-list details[open] summary{background:#effbfb}.kkw-day-list ul{margin:0;padding:18px 22px 20px 42px}.kkw-day-list li{margin:7px 0;line-height:1.55}.kkw-term-actions{margin-top:24px}
.kkw-bottom-cta{border:1px solid var(--kkw-line);border-radius:28px;padding:34px;margin:20px 0 10px;background:#fff;box-shadow:0 14px 34px rgba(20,32,51,.06)}
@media(max-width:900px){.kkw-feature-grid,.kkw-program-grid,.kkw-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.kkw-price-grid{grid-template-columns:1fr}}
@media(max-width:720px){.kkw-turnus-grid,.kkw-feature-grid,.kkw-program-grid,.kkw-gallery{grid-template-columns:1fr}.kkw-card-photo{height:240px}.kkw-gallery img{height:230px}.kkw-intro h2{font-size:2.6rem}.kkw-block,.kkw-gallery-block,.kkw-term{padding:42px 0}}

/* 1.1.0 — parent + two child offers. Changes only plugin-rendered Zimowiska pages. */
.kkw-card-link{display:block;color:inherit;text-decoration:none;height:100%}.kkw-card-link:hover{color:inherit;text-decoration:none}.kkw-card-price{font-weight:900;font-size:1.25rem;color:var(--kkw-ink);margin:14px 0 18px}
.kkw-offer-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:stretch;margin:8px 0 54px;border:1px solid var(--kkw-line);border-top:6px solid var(--kkw-coral);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 14px 38px rgba(20,32,51,.07)}.kkw-offer-hero--teal{border-top-color:var(--kkw-teal)}.kkw-offer-hero-media{min-height:420px;background:#eef2f7}.kkw-offer-hero-media img{width:100%;height:100%;object-fit:cover;display:block}.kkw-offer-hero-copy{padding:36px 36px 36px 4px;align-self:center}.kkw-offer-hero-copy h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.04;letter-spacing:-.035em;margin:8px 0 18px}.kkw-doc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.kkw-doc-actions .kk-btn{text-decoration:none}
.kkw2027-menu-item{position:relative}.kkw2027-sub-menu{display:none;position:absolute;top:100%;left:0;z-index:9999;min-width:250px;margin:0;padding:8px;background:#fff;border:1px solid #e2e7ef;border-radius:14px;box-shadow:0 14px 34px rgba(20,32,51,.12);list-style:none}.kkw2027-sub-menu li{margin:0;padding:0}.kkw2027-sub-menu a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap}.kkw2027-sub-menu a:hover{background:#f7f9fc}.kkw2027-menu-item:hover>.kkw2027-sub-menu,.kkw2027-menu-item:focus-within>.kkw2027-sub-menu{display:block}footer .kkw2027-sub-menu{position:static;display:block;box-shadow:none;border:0;background:transparent;padding:4px 0 0;min-width:0}footer .kkw2027-sub-menu a{padding:4px 0}
@media(max-width:900px){.kkw-offer-hero{grid-template-columns:1fr}.kkw-offer-hero-media{min-height:320px}.kkw-offer-hero-copy{padding:28px}.kkw2027-sub-menu{position:static;display:block;box-shadow:none;border:0;padding:4px 0 0}}

/* 1.1.2 — document buttons are always clickable; only plugin pages affected. */
.kkw-page .kkw-doc-actions{position:relative;z-index:20}
.kkw-page .kkw-doc-actions .kkw-doc-link{position:relative;z-index:21;pointer-events:auto!important;cursor:pointer!important}
.kkw-page .kkw-doc-actions .kkw-poster-link{pointer-events:auto!important}


/* 1.1.5 — przywrócenie zwartego, kafelkowego układu na stronach Elementorowych.
   Tylko strony Zimowisk; motyw i inne podstrony pozostają nietknięte. */
.kkw-page{
  width:min(1180px,calc(100% - 48px));
  max-width:1180px;
  margin:0 auto;
  padding:34px 0 68px;
  box-sizing:border-box;
}
.kkw-page *{box-sizing:border-box}
.kkw-page .kkw-intro{padding-top:0}
.kkw-page .kkw-block--soft{
  margin-left:0;
  margin-right:0;
  padding:42px 34px;
  border-radius:28px;
  background:var(--kkw-soft);
  border:1px solid var(--kkw-line);
}
.kkw-page .kkw-block,
.kkw-page .kkw-gallery-block,
.kkw-page .kkw-term{width:100%;max-width:100%}
.kkw-page .kkw-offer-hero{width:100%;max-width:100%}
.kkw-page .kkw-turnus-grid{width:100%}
.kkw-page .kkw-feature-grid article,
.kkw-page .kkw-program-grid article,
.kkw-page .kkw-bottom-cta,
.kkw-page .kkw-extra-card,
.kkw-page .kkw-day-list details{background:#fff}

/* Elementor może osadzić shortcode w kontenerze full width — zawężamy wyłącznie tę treść. */
.elementor .elementor-widget-shortcode .kkw-page,
.elementor .elementor-widget-html .kkw-page{margin-left:auto!important;margin-right:auto!important}

@media(max-width:900px){
  .kkw-page{width:min(100% - 34px,1180px);padding-top:26px}
  .kkw-page .kkw-block--soft{padding:34px 24px;border-radius:24px}
}
@media(max-width:600px){
  .kkw-page{width:min(100% - 24px,1180px);padding-top:18px;padding-bottom:48px}
  .kkw-page .kkw-block--soft{padding:26px 18px;border-radius:20px}
  .kkw-page .kkw-offer-hero{border-radius:22px}
  .kkw-page .kkw-turnus-card{border-radius:22px}
}

/* 1.1.8 — wyraźny blok zapisów bezpośrednio pod hero konkretnego turnusu. */
.kkw-registration-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:-24px 0 54px;
  padding:28px 32px;
  border:2px solid var(--kkw-coral);
  border-radius:24px;
  background:#fff7f7;
  box-shadow:0 14px 34px rgba(20,32,51,.08);
}
.kkw-registration-copy{max-width:720px}
.kkw-registration-copy h2{margin:4px 0 8px;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.08}
.kkw-registration-copy p:last-child{margin:0;color:var(--kkw-muted)}
.kkw-registration-widget-wrap{display:flex;align-items:center;justify-content:center;min-width:220px}
.kkw-registration-widget-wrap camp-registration-widget{display:block;min-width:190px;min-height:52px}
@media(max-width:800px){
  .kkw-registration-box{flex-direction:column;align-items:flex-start;margin-top:-28px;padding:24px}
  .kkw-registration-widget-wrap{width:100%;justify-content:flex-start}
}
