/* Stopka w układzie Smart Kids Planet: duża jasna karta na kolorowym tle,
   dwie kolumny linków z ikonami, karta klubu (newsletter −15%) i zdjęcie.
   Pod spodem pasek z social mediami, dokumentami i copyrightem. */
.stopka { position: relative; isolation: isolate; overflow: hidden; background: #BDEBF6; padding: clamp(1.5rem, 3vw, 2.5rem) clamp(.75rem, 1.5vw, 1.5rem) 1.5rem; }
.stopka::before, .stopka::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; border: 36px solid rgba(20,193,224,.18); }
.stopka::before { width: 340px; height: 340px; left: 12%; bottom: -220px; }
.stopka::after  { width: 300px; height: 300px; right: 30%; bottom: -230px; border-color: rgba(255,138,31,.16); }
.stopka__karta {
  max-width: 1880px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr 1.25fr; gap: clamp(1.5rem, 3vw, 3rem);
  padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 3.5rem) clamp(1rem, 2vw, 2rem);
}
.stopka__kol { display: grid; align-content: start; gap: 1.6rem; }
.stopka__kol--2 { display: flex; flex-direction: column; gap: 1.6rem; padding-left: clamp(1.5rem, 3vw, 3rem); border-left: 1.5px solid rgba(30,35,64,.25); }
.stopka__kol--2 ul { display: grid; gap: 1.6rem; }
.stopka a { transition: color .2s; }
.stopka__kol a { display: inline-flex; align-items: center; gap: .7rem; font-weight: 700; font-size: 1.05rem; }
.stopka__kol a:hover { color: var(--pom-2); }
.stopka__kol svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.stopka__klub { margin-top: auto; background: var(--pom); color: #fff; border-radius: var(--r); padding: 1.5rem; }
.stopka__klub-t { font-family: var(--font-naglowek); font-weight: 800; font-size: 1.4rem; line-height: 1.1; margin-bottom: .5rem; }
.stopka__klub p:not(.stopka__klub-t) { font-size: .92rem; font-weight: 600; opacity: .95; }
.stopka__klub-btn { display: inline-block; margin-top: 1.1rem; padding: .7rem 1.6rem; border: 2px solid #fff; border-radius: 999px; font-family: var(--font-naglowek); font-weight: 800; text-transform: uppercase; font-size: .9rem; }
.stopka__klub-btn:hover { background: #fff; color: var(--pom-2) !important; }
.stopka__foto { position: relative; border-radius: var(--r-xl); overflow: hidden; min-height: 320px; }
.stopka__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.stopka__dol { max-width: 1880px; margin: 1.5rem auto 0; padding: 1.4rem clamp(1rem, 3vw, 3.5rem) 0; border-top: 1.5px solid rgba(30,35,64,.2);
  display: flex; align-items: center; gap: 1.5rem 2.5rem; flex-wrap: wrap; }
.stopka__soc { display: flex; gap: .6rem; }
.stopka__soc a { width: 40px; height: 40px; border-radius: 12px; background: var(--tusz); display: grid; place-items: center; }
.stopka__soc a { transition: background .25s, transform .3s var(--ease); }
.stopka__soc a:hover { transform: translateY(-3px); }
/* Oryginalne znaki (Simple Icons, CC0); po najechaniu kolor marki. */
.stopka__soc .soc--facebook:hover { background: #0866FF; }
.stopka__soc .soc--instagram:hover { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.stopka__soc .soc--tiktok:hover { background: #000; box-shadow: -2px -2px 0 #25F4EE, 2px 2px 0 #FE2C55; }
.stopka__soc svg { width: 20px; fill: #fff; }
.stopka__prawne { display: flex; gap: 1.6rem; flex-wrap: wrap; margin-left: auto; }
.stopka__prawne a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; font-size: .95rem; }
.stopka__prawne a:hover { color: var(--pom-2); }
.stopka__copy { font-size: .95rem; color: var(--tusz-2); font-weight: 600; }
@media (max-width: 1100px) { .stopka__karta { grid-template-columns: 1fr 1fr; } .stopka__foto { grid-column: 1 / -1; min-height: 260px; max-height: 360px; } }
@media (max-width: 640px) {
  .stopka__karta { grid-template-columns: 1fr; }
  .stopka__kol--2 { padding-left: 0; border-left: 0; padding-top: 1.6rem; border-top: 1.5px solid rgba(30,35,64,.25); }
  .stopka__prawne { margin-left: 0; }
  .stopka__dol { flex-direction: column; align-items: flex-start; }
}

/* Więcej malowanych kół w tle stopki — obręcze i pełne kropki w kolorach marki. */
.stopka__kola { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.stopka__kola i { position: absolute; border-radius: 50%; }
.stopka__kola i:nth-child(1) { width: 220px; height: 220px; top: -90px; left: 38%; border: 28px solid rgba(255,79,150,.14); }
.stopka__kola i:nth-child(2) { width: 90px; height: 90px; top: -30px; left: 12%; background: rgba(255,210,63,.35); }
.stopka__kola i:nth-child(3) { width: 160px; height: 160px; top: 40%; right: -60px; border: 22px solid rgba(45,155,240,.16); }
.stopka__kola i:nth-child(4) { width: 46px; height: 46px; top: 12%; right: 34%; background: rgba(255,138,31,.3); }
.stopka__kola i:nth-child(5) { width: 120px; height: 120px; bottom: 8%; left: 48%; background: rgba(198,232,58,.3); }
.stopka__kola i:nth-child(6) { width: 260px; height: 260px; bottom: -150px; right: 6%; border: 32px solid rgba(255,210,63,.25); }
.stopka__kola i:nth-child(7) { width: 30px; height: 30px; bottom: 26%; left: 30%; background: rgba(255,79,150,.3); }
.stopka__kola i:nth-child(8) { width: 70px; height: 70px; top: 55%; left: -20px; border: 14px solid rgba(255,138,31,.2); }

/* Podpis autora strony: zwykły napis i trzy ikony, bez tła — nie konkuruje z marką. */
.autor { display: flex; align-items: center; justify-content: center; gap: .55rem; margin-top: 1.2rem; font-size: .92rem; color: var(--tusz-2); }
.autor b { color: var(--tusz); font-weight: 800; }
.autor span { margin-right: .2rem; }
.autor a { display: grid; place-items: center; width: 26px; height: 26px; color: var(--tusz-2); transition: color .2s, transform .2s; }
.autor a:hover { color: var(--tusz); transform: translateY(-2px); }
.autor svg { width: 15px; height: 15px; fill: currentColor; }
.autor a:last-child svg { fill: none; stroke: currentColor; stroke-width: 2; }

/* Dane spółki prowadzącej bawialnię (obowiązek informacyjny z KSH/UŚUDE). */
.stopka__firma { max-width: 1880px; margin: 1rem auto 0; padding: 0 clamp(1rem, 3vw, 3.5rem); font-size: .82rem; line-height: 1.6; color: var(--tusz-2); text-align: center; }
.stopka__firma b { color: var(--tusz); }

/* Social media i podpis „Made by Jawor” w jednym rzędzie. */
.stopka__lewa { display: flex; align-items: center; gap: 1rem 1.4rem; flex-wrap: wrap; }
.stopka__lewa .autor { margin: 0; }
