body {
  font-family: var(--ad-font-body,'Hanken Grotesk'),sans-serif;
}
[data-ad-edited] {
  min-width: 0!important;
  overflow-wrap: anywhere;
  white-space: normal!important;
}
.ad-full-width-copy[data-ad-edited] {
  width: 100%!important;
  max-width: 100%;
}
/* Individual transforms compose with the saved nested rotations. */
.ad-image-viewport {
  overflow: hidden!important;
  clip-path: inset(0);
  isolation: isolate;
}
.ad-image-card-clip {
  overflow: clip;
}
.ad-image-controlled {
  translate: var(--ad-image-x,0px) var(--ad-image-y,0px);
  scale: var(--ad-image-scale,1);
  transform-origin: center;
  pointer-events: none!important;
}
.ad-image-controlled * {
  pointer-events: none!important;
}
.ad-image-hidden {
  visibility: hidden!important;
}
/* Extra images are clipped to their section and always below real content. */
.ad-additional-host {
  position: relative;
  isolation: isolate;
}
.ad-additional-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
  contain: paint;
  pointer-events: none!important;
}
.ad-additional-layer * {
  pointer-events: none!important;
}
.ad-additional-frame {
  position: absolute;
  max-width: 100%;
}
.ad-additional-frame img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.ad-content-value {
  white-space: pre-line;
}
.ad-editable-segment {
  min-width: 0!important;
  max-width: 100%;
  white-space: normal!important;
  overflow-wrap: anywhere;
}
.ad-editable-segment>[data-cms-text-part] {
  width: auto!important;
  max-width: 100%;
  white-space: normal!important;
}
.ad-editable-list {
  min-width: 0!important;
  max-width: 100%;
  flex-wrap: wrap;
}
.ad-editable-list [data-cms-list-item] {
  min-width: 0!important;
  max-width: 100%;
}
.ad-content-growth {
  height: auto!important;
  min-height: var(--ad-min-height)!important;
  max-height: none!important;
}
.ad-article {
  max-width: 1000px;
  margin: 60px auto;
  padding: 40px 20px;
  font-size: 18px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.ad-article h1 {
  font-family: var(--ad-font-heading,'Rubik Spray Paint');
  font-size: 48px;
  margin-bottom: 32px;
  color: var(--ad-color-2,#046a3a);
}
.ad-article p,.ad-article ul,.ad-article ol {
  margin: 0 0 20px;
}
.ad-article a {
  text-decoration: underline;
}
.ad-article h2 {
  font-size: 28px;
  margin: 32px 0 20px;
  font-weight: 700;
}
.ad-article-menu {
  display: none;
}
@media(max-width:899px) {
  .ad-article {
    margin: 20px auto;
    padding: 20px 0;
    font-size: 16px;
  }
  .ad-article h1 {
    font-size: 36px;
  }
  .ad-article-menu {
    display: block!important;
    padding: 12px 20px!important;
    background: var(--ad-color-2,#046a3a)!important;
    color: white!important;
    border-radius: 24px;
    margin-bottom: 20px;
  }
}
[data-ad-nav-flexible] {
  flex-wrap: wrap!important;
  min-width: 0!important;
  row-gap: 8px;
}
[data-ad-nav-flexible] a {
  max-width: 100%;
  min-width: 0!important;
  overflow-wrap: anywhere;
}
.ad-school-toggle {
  width: 100%;
  text-align: inherit;
  line-height: inherit;
}
.ad-school-panel[hidden],.ad-school-address[hidden],.ad-school-summary[hidden] {
  display: none!important;
}
.ad-school-extra-value {
  font-size: 16px;
  line-height: 1.3;
  font-weight: 500;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
/* Preserve textarea line breaks even when the legacy template needs
   .ad-overridden to repair its zero line-height. */
[data-cms-school] .ad-content-value {
  white-space: pre-line!important;
}
.ad-school-grid-expanded {
  display: grid!important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 20px;
}
.ad-school-grid-expanded>[data-cms-school] {
  min-width: 0!important;
  width: auto!important;
}
.ad-home-offer {
  height: auto!important;
  min-height: 400px;
  min-width: 0;
  align-items: stretch!important;
}
.ad-home-offer-copy {
  height: auto!important;
  min-height: 264px;
  min-width: 0;
  gap: 24px;
  flex-shrink: 1!important;
}
.ad-home-offer-title,.ad-home-offer-description {
  white-space: pre-line!important;
  min-width: 0!important;
  width: auto!important;
  max-width: 100%;
  overflow-wrap: anywhere;
  line-height: normal!important;
}
.ad-home-offer-link {
  height: auto!important;
  min-height: 45px;
  max-width: 100%;
  width: fit-content;
}
.ad-home-offer-button {
  white-space: normal!important;
  min-width: 0;
  overflow-wrap: anywhere;
}
.ad-home-offer-image {
  height: auto!important;
  min-height: 360px;
  align-self: stretch!important;
  overflow: hidden;
}
.ad-home-offer-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}
@media(max-width:899px) {
  .ad-home-offer {
    min-height: 0;
  }
  .ad-home-offer-image {
    height: 220px!important;
    min-height: 220px;
  }
  .ad-home-offer-link {
    min-height: 48px;
  }
}

/* Preschool list: one card per town. The call to action fills the rest of the last row. */
.ad-preschool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 40px;width:100%}
.ad-preschool-grid>.ad-preschool-card{width:auto;height:auto;min-width:0}
.ad-preschool-grid>.ad-preschool-card [data-name="lokalizacja"]{flex:1 0 auto;width:100%;height:auto;min-height:0}
.ad-preschool-grid>.ad-preschool-card [data-name="lokalizacja"]>div{flex:0 0 auto;width:100%;height:auto;min-height:0}
.ad-preschool-grid>.ad-preschool-card [data-name="lokalizacja"]>div:last-child{flex:1 0 auto;gap:10px;padding-block:24px;justify-content:center}
.ad-preschool-rows{gap:12px}
.ad-preschool-rows [aria-expanded="false"]{border-bottom-width:0}
.ad-school-focus-head{justify-content:flex-start;width:100%}
.ad-preschool-grid>.ad-preschool-card [data-name^="button"]{width:100%;max-width:100%}
.ad-preschool-grid>.ad-preschool-card [data-name^="button"] p{white-space:normal;text-align:center}
.ad-preschool-grid>.ad-preschool-cta{grid-column:span var(--ad-preschool-span,1);width:auto;min-width:0}
.ad-preschool-grid>.ad-preschool-cta>[data-name="GRAFIK"]{width:100%}

/* Judo list: the Focus Kids layout in the Judo palette. */
[data-section-key="judo-przedszkola-lista"] .ad-u683{color:#046a3a}
[data-section-key="judo-przedszkola-lista"] .ad-u682{background-color:#e5ea98}
[data-section-key="judo-przedszkola-lista"] .ad-u703{border-color:#046a3a}
[data-section-key="judo-przedszkola-lista"] .ad-u704{background-color:#e5ea98}
[data-section-key="judo-przedszkola-lista"] .ad-preschool-cta>[data-name="GRAFIK"]{height:auto;min-height:213px}

/* Focus Kids schools: the Judo layout in the Focus Kids palette. */
[data-section-key="focus-szkoly"] .ad-u120{color:#124669}
[data-section-key="focus-szkoly"] .ad-u12{background-color:#124669}
[data-section-key="focus-szkoly"] .ad-u160{background-color:#e7f2f9}
[data-section-key="focus-szkoly"] .ad-u69{color:#e7f2f9}
[data-section-key="focus-szkoly"] .ad-u491{border-color:#e7f2f9}

/* Preschool banner: only the button remains, directly on the block's background. */
.ad-preschool-banner-action{background:none;box-shadow:none;padding:0;width:100%}
