:root{--bg:#fffdf8;--ink:#25313b;--green:#4d8b70;--green-dark:#3d755d;--yellow:#f4c95d;--blue:#67a9c9;--card:#fff;--muted:#687782;--border:#e8e4dc;--soft:#f4f8f5;--shadow:0 18px 45px rgba(37,49,59,.08)}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:inherit}
.wrap{max-width:1180px;margin:auto;padding:0 22px}
.top{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40;box-shadow:0 8px 20px rgba(0,0,0,.03)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}
.site-logo{display:block;width:168px;height:auto;max-height:78px;object-fit:contain}
.menu{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.menu a{text-decoration:none;font-weight:700;padding:8px 0;position:relative}
.menu a:hover{color:var(--green-dark)}
.subpages-strip{background:linear-gradient(180deg,#ffffff,#f9fbf8);border-bottom:1px solid var(--border)}
.subpages-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding-top:14px;padding-bottom:14px}
.subpage-pill{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px 16px;text-decoration:none;box-shadow:0 10px 25px rgba(20,30,30,.04);min-height:82px}
.subpage-pill strong{display:block;font-size:15px}
.subpage-pill small{display:block;color:var(--muted);line-height:1.35}
.subpage-icon{width:42px;height:42px;border-radius:14px;background:#eef5f1;display:grid;place-items:center;font-size:20px;flex:0 0 42px}
.hero{padding:72px 0 55px;background:linear-gradient(135deg,#fff8dd,#edf8f2)}
.hero-photo{padding:0;background-position:center center;background-size:cover;background-repeat:no-repeat;min-height:620px}
.hero-shade{min-height:620px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(20,35,35,.78),rgba(20,35,35,.18) 58%,rgba(20,35,35,.08))}
.hero-copy{padding:95px 0 75px;color:#fff;max-width:760px}
.hero-badge{display:inline-block;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-size:clamp(40px,5vw,68px);line-height:1.02;max-width:850px;margin:0 0 18px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero p{font-size:24px;max-width:760px;color:#fff;margin:0 0 6px}
.hero small{font-size:15px;color:rgba(255,255,255,.92)}
.section{padding:56px 0}
.intro-section{padding-top:42px;padding-bottom:24px}
.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.card h2,.card h3{margin-top:0}
.feature-list{display:grid;gap:16px}
.feature-item{padding-bottom:12px;border-bottom:1px dashed var(--border)}
.feature-item:last-child{border-bottom:0;padding-bottom:0}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chip{background:#fff;border:1px solid var(--border);padding:9px 13px;border-radius:999px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-head h2{margin:2px 0 0}
.eyebrow{font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.text-link{font-weight:750;text-decoration:none}
.news-home{padding-top:28px}
.news-card{overflow:hidden;padding:0 0 22px}
.news-card>.date,.news-card>h3,.news-card>div,.news-card>p{margin-left:22px;margin-right:22px}
.news-card>.date{margin-top:17px}
.news-thumb{width:100%;height:290px;object-fit:cover;object-position:top;display:block}
.date{font-size:14px;color:var(--muted)}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;border:0;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer}
.btn:hover{background:var(--green-dark)}
.btn.alt{background:var(--blue)}
.soft{background:var(--soft)}
.contact-section{padding-top:28px}
.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:stretch}
.contact-card,.map-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}
.contact-card{padding:28px}
.contact-item{display:flex;gap:16px;align-items:flex-start;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--border)}
.contact-item:last-of-type{margin-bottom:22px}
.contact-item p{margin:.2rem 0 0}
.contact-icon{width:50px;height:50px;border-radius:16px;background:#eef5f1;display:grid;place-items:center;font-size:22px;flex:0 0 50px}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
.map-card{padding:10px;min-height:100%}
.map-card iframe{width:100%;height:100%;min-height:420px;border:0;border-radius:18px;display:block}
.content{max-width:900px}.content img{max-width:100%;height:auto}.narrow{max-width:840px}
.page-top{padding-bottom:10px}.lead{font-size:18px;color:var(--muted)}.pt0{padding-top:0}
.pdf{width:100%;height:75vh;border:1px solid var(--border);border-radius:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.footer{margin-top:50px;padding:35px 0;background:#26343b;color:#fff}
.notice{padding:13px 15px;background:#fff8d7;border-radius:12px}
.adminbar{background:#25313b;color:#fff;padding:12px 0}.adminnav{display:flex;gap:12px;flex-wrap:wrap}.adminnav a{color:#fff}
.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;padding:12px;border:1px solid #cfd6da;border-radius:10px;font:inherit}.editor{min-height:280px;background:#fff;border:1px solid #cfd6da;border-radius:10px;padding:15px}.toolbar{display:flex;gap:6px;flex-wrap:wrap}.toolbar button{padding:7px 10px;border:1px solid #cfd6da;background:#fff;border-radius:8px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
@media(max-width:1080px){.subpages-grid{grid-template-columns:repeat(3,1fr)}.intro-grid,.contact-layout{grid-template-columns:1fr}.map-card iframe{min-height:340px}}
@media(max-width:850px){.nav{align-items:flex-start;padding-top:12px;padding-bottom:12px;flex-direction:column}.menu{display:flex;width:100%;gap:12px 16px}.grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero-photo,.hero-shade{min-height:500px}.hero-copy{padding-top:80px;padding-bottom:60px}.hero p{font-size:20px}.section-head{align-items:flex-start;flex-direction:column}.news-thumb{height:240px}.site-logo{width:138px}}
@media(max-width:640px){.subpages-grid{grid-template-columns:1fr 1fr}.subpage-pill{min-height:auto}.hero h1{font-size:38px}.hero-photo,.hero-shade{min-height:440px}.contact-actions{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}.subpages-grid{grid-template-columns:1fr}.hero-photo,.hero-shade{min-height:390px}.hero-copy{padding-top:60px;padding-bottom:45px}}

/* V3.1 hardening against cached/legacy hero rules */
.hero-photo{background-repeat:no-repeat!important;background-size:cover!important;background-position:center center!important;}
.hero-shade{background:linear-gradient(90deg,rgba(20,35,35,.76),rgba(20,35,35,.18) 60%,rgba(20,35,35,.06))!important;}
.subpages-strip .subpage-pill{text-decoration:none!important;}


/* V3.2 – podmenu jak w oryginalnej stronie */
.subpages-strip{display:none!important}
.menu>.menu-item{position:relative;display:flex;align-items:center}
.menu>.menu-item>a{display:block;text-decoration:none;font-weight:700;padding:8px 0}
.has-sub>a::after{content:" ▾";font-size:11px;color:var(--muted)}
.submenu{position:absolute;left:-18px;top:100%;min-width:265px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:9px;box-shadow:0 18px 45px rgba(37,49,59,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:.16s ease;z-index:80}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block!important;padding:10px 12px!important;border-radius:9px;font-size:14px;font-weight:650!important;white-space:nowrap;text-decoration:none}
.submenu a:hover{background:#f1f6f3;color:var(--green-dark)}
@media(max-width:850px){.menu>.menu-item{display:block}.submenu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:3px 0 3px 12px;min-width:0}.has-sub:hover .submenu,.has-sub:focus-within .submenu{display:block}.submenu a{white-space:normal;padding:6px 8px!important}}

/* V3.3 – lokalne podmenu i nowa galeria */
.submenu-mark{font-size:11px;color:var(--muted);margin-left:3px}.has-sub>a::after{content:none!important}
.download-card{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.download-icon{width:72px;height:72px;border-radius:18px;background:#eef5f1;display:grid;place-items:center;font-weight:900;color:var(--green-dark)}
.gallery-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.gallery-title-row h1{margin:.15rem 0 0}.gallery-lock{max-width:560px;margin:30px auto;text-align:center}.lock-icon{font-size:42px;margin-bottom:10px}.gallery-feature{margin-bottom:48px}.photo-count{background:#eef5f1;border-radius:999px;padding:8px 13px;font-weight:700;color:var(--green-dark)}
.gallery-slider{position:relative;background:#1f2a30;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.slider-stage{height:min(68vh,720px);min-height:440px;display:grid}.slide{grid-area:1/1;width:100%;height:100%;padding:0;border:0;background:transparent;opacity:0;visibility:hidden;transition:opacity .35s ease;cursor:zoom-in}.slide.active{opacity:1;visibility:visible}.slide img{width:100%;height:100%;object-fit:contain;display:block;background:#1f2a30}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.86);font-size:35px;cursor:pointer}.slider-arrow.prev{left:18px}.slider-arrow.next{right:18px}.slider-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:7px;z-index:4;max-width:75%;overflow:hidden}.dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.48);padding:0}.dot.active{background:#fff;transform:scale(1.3)}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.album-card{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.album-cover{width:100%;padding:0;border:0;background:#fff;display:block;position:relative;cursor:pointer}.album-cover>img{width:100%;height:270px;object-fit:cover;display:block}.album-overlay{position:absolute;inset:auto 0 0 0;padding:45px 20px 18px;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(20,30,35,.84))}.album-overlay strong,.album-overlay small{display:block}.album-overlay strong{font-size:18px}.album-thumbs{display:none;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px}.album-thumbs.open{display:grid}.album-thumbs button{border:0;background:transparent;padding:0;cursor:zoom-in}.album-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px;display:block}
.lightbox{position:fixed;inset:0;background:rgba(10,16,20,.94);z-index:200;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:90vh;object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(255,255,255,.88);border-radius:50%;cursor:pointer}.lightbox-close{right:24px;top:20px;width:46px;height:46px;font-size:28px}.lightbox-nav{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:34px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.no-scroll{overflow:hidden}
@media(max-width:900px){.album-grid{grid-template-columns:1fr 1fr}.slider-stage{min-height:360px;height:55vh}}@media(max-width:620px){.album-grid{grid-template-columns:1fr}.gallery-title-row{align-items:flex-start;flex-direction:column}.slider-stage{min-height:280px;height:45vh}.slider-arrow{width:42px;height:42px}.lightbox{padding:15px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}


/* V3.4 – estetyczny Ramowy rozkład dnia */
.daily-page{padding-top:48px}.daily-heading{max-width:850px;margin-bottom:28px}.daily-heading h1{font-size:clamp(36px,5vw,58px);line-height:1.05;margin:.15em 0 .25em}.daily-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px;padding:8px;background:#eef5f1;border-radius:18px;width:max-content;max-width:100%}.daily-tab{border:0;background:transparent;padding:12px 16px;border-radius:13px;font:inherit;font-weight:800;color:var(--ink);cursor:pointer;transition:.15s ease}.daily-tab:hover{background:rgba(255,255,255,.7)}.daily-tab.active{background:#fff;color:var(--green-dark);box-shadow:0 8px 22px rgba(37,49,59,.08)}
.daily-group{display:none;background:#fff;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.daily-group.active{display:block}.daily-group-head{display:flex;gap:17px;align-items:center;padding:25px 28px;background:linear-gradient(135deg,#f0f8f3,#fffaf0);border-bottom:1px solid var(--border)}.daily-group-head h2{margin:0;font-size:28px}.daily-group-head p{margin:2px 0 0;color:var(--muted);font-weight:650}.daily-animal{width:58px;height:58px;display:grid;place-items:center;background:#fff;border-radius:18px;font-size:30px;box-shadow:0 8px 20px rgba(37,49,59,.06)}
.daily-timeline{padding:18px 28px 24px}.daily-row{display:grid;grid-template-columns:115px 20px 1fr;gap:14px;align-items:start;position:relative;min-height:54px;padding:9px 0}.daily-row:not(:last-child)::after{content:"";position:absolute;left:124px;top:35px;bottom:-13px;width:2px;background:#dcebe2}.daily-time{font-weight:850;color:var(--green-dark);background:#eef6f1;border-radius:11px;padding:7px 9px;text-align:center;font-size:14px}.daily-dot{width:12px;height:12px;border-radius:50%;background:var(--green);margin:11px 0 0 4px;box-shadow:0 0 0 5px #edf6f1;z-index:1}.daily-desc{padding:5px 0 10px;font-size:16px}.daily-note{margin-top:22px;background:#fff8dc;border:1px solid #efdf9f;border-radius:18px;padding:18px 20px}.daily-note p{margin:.25rem 0 0;color:#59646b}
@media(max-width:650px){.daily-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.daily-tab{text-align:left}.daily-timeline{padding:15px 17px 20px}.daily-group-head{padding:20px}.daily-row{grid-template-columns:90px 16px 1fr;gap:9px}.daily-row:not(:last-child)::after{left:98px}.daily-time{font-size:12px;padding:6px 5px}.daily-dot{margin-left:2px}.daily-desc{font-size:14px}.daily-heading h1{font-size:38px}}@media(max-width:420px){.daily-tabs{grid-template-columns:1fr}.daily-row{grid-template-columns:82px 14px 1fr}.daily-row:not(:last-child)::after{left:89px}}


/* V3.5 – ładniejsza galeria z tytułem pod zdjęciem */
.gallery-page{padding-top:44px}.gallery-title-row .lead{max-width:820px;margin:.6rem 0 0}.gallery-feature{margin-bottom:52px}
.slide{position:relative}.slide-caption{position:absolute;left:24px;right:24px;bottom:24px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,rgba(20,30,35,.15),rgba(20,30,35,.78));color:#fff;text-align:left;display:block}.slide-caption strong,.slide-caption small{display:block}.slide-caption strong{font-size:21px;margin-bottom:2px}.slide-caption small{opacity:.96}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.album-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.album-cover{width:100%;padding:0;border:0;background:#fff;display:block;cursor:pointer}.album-cover>img{width:100%;height:250px;object-fit:cover;display:block}.album-body{padding:18px 20px 20px}.album-body h3{margin:0 0 8px;font-size:21px;line-height:1.2}.album-meta{margin:0 0 16px;color:var(--muted);font-weight:600}.album-toggle{width:100%}
.album-thumbs{display:none;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px 12px}.album-thumbs.open{display:grid}.album-thumbs button{border:0;background:transparent;padding:0;cursor:zoom-in}.album-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;display:block}
@media(max-width:900px){.album-grid{grid-template-columns:1fr 1fr}.album-cover>img{height:230px}}
@media(max-width:620px){.album-grid{grid-template-columns:1fr}.slide-caption{left:14px;right:14px;bottom:14px;padding:12px 13px}.slide-caption strong{font-size:18px}.album-thumbs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.album-thumbs{grid-template-columns:repeat(2,1fr)}}


/* V3.5.5 – estetyczny harmonogram pracy oddziałów */
.schedule-page{padding-top:44px}.schedule-heading{max-width:860px;margin-bottom:28px}.schedule-heading h1{font-size:clamp(36px,5vw,58px);line-height:1.05;margin:.15em 0 .25em}
.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.schedule-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.schedule-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:6px;background:linear-gradient(90deg,var(--green),var(--blue),var(--yellow))}
.schedule-card-top{display:flex;align-items:center;gap:16px;padding-top:8px}.schedule-card h2{margin:0;font-size:24px;line-height:1.2}.schedule-age{margin:4px 0 0;color:var(--muted);font-weight:650}.schedule-icon{width:62px;height:62px;border-radius:18px;background:#eef5f1;display:grid;place-items:center;font-size:30px;flex:0 0 62px;box-shadow:0 8px 20px rgba(37,49,59,.06)}
.schedule-hours{background:linear-gradient(135deg,#f0f8f3,#fffaf0);border:1px solid var(--border);border-radius:18px;padding:16px 18px}.schedule-hours span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--green-dark);font-weight:800;margin-bottom:4px}.schedule-hours strong{display:block;font-size:28px;line-height:1.1}
.schedule-desc{margin:0;color:#516069}.schedule-note{margin-top:24px;background:#fff8dc;border:1px solid #efdf9f;border-radius:18px;padding:18px 20px}.schedule-note p{margin:.25rem 0 0;color:#59646b}
@media(max-width:980px){.schedule-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.schedule-grid{grid-template-columns:1fr}.schedule-heading h1{font-size:38px}.schedule-hours strong{font-size:24px}.schedule-card h2{font-size:22px}}
