/*
Theme Name: Przedszkole Miejskie Opole
Description: Motyw przedszkola z edytowalną stroną główną, galerią i aktualnościami. Bajkowy układ, pastelowe ilustracje, lokalne zdjęcia i font Nunito. Import: Wygląd → Start przedszkola.
Version: 1.5.0
Requires at least: 6.6
Requires PHP: 7.4
Author: Przedszkole Miejskie
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: przedszkole-opole
Tags: education, custom-logo, custom-menu, featured-images, editor-style, wide-blocks
*/
:root{--ink:#373737;--yellow:#efc936;--muted:#626262;--soft:#f7f7f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;color:var(--ink);background:white;font:17px/1.8 Nunito,'Trebuchet MS',Arial,sans-serif}a{color:inherit;text-underline-offset:6px}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.25}h1{font-size:clamp(2.7rem,4.6vw,4.1rem);letter-spacing:.07em;margin:0 0 22px}h2{font-size:clamp(2rem,3.65vw,3.15rem);letter-spacing:.075em;margin-bottom:28px;font-weight:500}h3{font-size:1.65rem;letter-spacing:.02em}p{color:var(--muted);margin-bottom:22px}.wrap{max-width:1160px;margin:auto;padding:0 38px}.site-header{position:sticky;top:0;background:white;z-index:10;box-shadow:0 1px 4px #0000000d}.nav{min-height:105px;padding:18px 38px;max-width:1540px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:1rem;letter-spacing:.07em;font-weight:600;line-height:1.3}.brand small{display:block;font-size:.69rem;font-weight:400;letter-spacing:.24em;margin-top:8px}.brandmark{font-size:41px;font-weight:400;border-right:1px solid var(--yellow);padding-right:20px;position:relative;line-height:1.3}.brandmark span{font-size:24px;margin-left:-7px}#navigation{display:flex;gap:26px;align-items:center}#navigation a{font-size:.91rem;text-decoration:none;white-space:nowrap}#navigation a:hover,.textlink:hover{color:#866b05}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 29px;border:2px solid var(--yellow);border-radius:4px;background:var(--yellow);color:#333;text-decoration:none;font-size:.85rem;letter-spacing:.045em;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#f9d957;transform:translateY(-2px)}.button.small{padding:17px 26px}.button.dark{background:#373737;color:white;border-color:#373737}.menu-toggle{display:none}.hero{position:relative;min-height:670px;height:min(760px,calc(100svh - 105px));display:flex;align-items:center;overflow:hidden;background:#505b4b}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#142222b8 0%,#14222272 37%,#14222212 85%)}.hero-copy{position:relative;width:100%;color:#fff;padding-top:50px;padding-bottom:50px}.hero-copy h1{max-width:740px}.hero-copy p{color:white;font-size:1.2rem;letter-spacing:.04em}.hero-copy .button{margin-top:16px}.welcome{padding-top:94px;padding-bottom:70px}.welcome h2{font-size:clamp(2.05rem,3.7vw,3.25rem)}.welcome p{font-size:1.55rem;line-height:1.55;letter-spacing:.025em;color:#555;max-width:1050px}.story{display:grid;grid-template-columns:1fr 1fr;gap:108px;align-items:center;padding-top:40px;padding-bottom:65px}.story-photo img{width:100%;height:440px;object-fit:cover}.space .story-photo img{object-position:40% center}.story-text p{font-size:1.02rem}.yellow-rule{width:56px;height:3px;background:var(--yellow);margin:0 0 30px}.textlink{font-size:.94rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px}.moments{padding-top:40px;padding-bottom:80px}.moments>h2{text-align:center;margin-bottom:48px}.moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.moments-grid a{position:relative;overflow:hidden;text-decoration:none;background:#ddd}.moments-grid img{width:100%;height:340px;object-fit:cover;transition:transform .4s}.moments-grid a:hover img{transform:scale(1.04)}.moments-grid a:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0009)}.moments-grid span{position:absolute;bottom:28px;left:24px;right:18px;z-index:1;color:white;font-size:1.7rem;font-weight:600;letter-spacing:.04em;line-height:1.3}.story-reverse{padding-top:24px;padding-bottom:96px;gap:85px}.story-reverse .story-photo img{height:460px;object-position:43% center}.news-section{padding:85px 0;background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading p{margin:15px 0 0}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.news{background:#fff}.news>a{display:block}.news img{width:100%;height:290px;object-fit:cover}.news:first-child img{object-position:center 29%}.news-content{padding:32px}.tag{font-size:.76rem;letter-spacing:.12em;color:#73601a;display:block;margin-bottom:17px;font-weight:700}.news h3{margin-bottom:16px}.news p{font-size:1rem}.parents{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:85px}.parents-photo{width:100%;height:310px;object-fit:cover;object-position:center 43%;margin-top:32px}.faqs{padding-top:5px}.faqs details{padding:23px 0;border-bottom:1px solid #ddd}.faqs summary{font-size:1.12rem;font-weight:600;position:relative;padding-right:28px;list-style:none;cursor:pointer}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:0;top:-4px;font-size:26px;color:#796312}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:1rem;margin:18px 0 0}.gallery-section{padding:85px 0;background:#fafaf8}.gallery-hint{font-size:.88rem;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery button{position:relative;border:0;background:#eee;padding:0;overflow:hidden}.gallery img{width:100%;height:275px;object-fit:cover;transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}.gallery button:nth-child(3) img{object-position:center 28%}.gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:32px}.gallery-footer p{font-size:.84rem;line-height:1.6;margin:0}.recruitment{background:var(--yellow);text-align:center;padding:72px 0}.recruitment h2{font-size:clamp(2rem,3.4vw,2.7rem);margin-bottom:20px}.recruitment p{color:#373737;font-size:1.2rem}.contact{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-card{display:grid;gap:24px}.contact-card span{display:block;font-size:.75rem;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}.contact-card h3{font-size:1.6rem;margin-bottom:4px}.contact-card p{margin:0}.phone{font-size:2rem;text-decoration:none}.contact-card .button{justify-self:start}.site-footer{background:#f3f3f1;padding:48px 0 20px}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-row>div{display:flex;gap:30px;font-size:.93rem}.footer-bottom{border-top:1px solid #deded8;display:flex;justify-content:space-between;gap:20px;font-size:.79rem;color:var(--muted);margin-top:38px;padding-top:22px}.skip{position:fixed;top:-70px;left:10px;background:white;z-index:30;padding:15px}.skip:focus{top:10px}:focus-visible{outline:3px solid #93770c;outline-offset:5px}dialog{border:0;border-radius:4px;max-width:94vw;padding:16px;background:#fff}dialog::backdrop{background:#000d}dialog img{max-height:74vh;object-fit:contain;min-width:200px;margin:auto}dialog p{margin:12px 0;text-align:center;font-size:.93rem}.close{position:absolute;right:25px;top:25px;width:42px;height:42px;border:0;background:white;border-radius:50%;font-size:30px;line-height:1;box-shadow:0 2px 10px #0004}.lightbox-nav{display:flex;justify-content:space-between;gap:15px}.lightbox-nav button{border:0;background:var(--yellow);padding:9px 20px;border-radius:3px}
@media(min-width:1500px){.hero{height:760px}.hero-copy{max-width:1320px}}@media(max-width:1100px){.nav{padding:18px 24px;gap:20px}.brand{font-size:.84rem;gap:10px}.brandmark{padding-right:12px}#navigation{gap:16px}#navigation a{font-size:.84rem}.button.small{padding:15px}.story,.story-reverse,.parents,.contact{gap:55px}}@media(max-width:850px){.menu-toggle{display:block;background:white;border:1px solid #ddd;padding:9px 15px;border-radius:3px}.nav{min-height:88px}.brand{font-size:.94rem}#navigation{display:none;position:absolute;top:88px;left:0;right:0;background:white;padding:25px;box-shadow:0 10px 20px #0001}#navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:19px}#navigation a{font-size:1rem}.hero{min-height:580px;height:calc(90svh - 88px);max-height:740px}.hero-copy h1{font-size:clamp(2.55rem,6.4vw,3.7rem)}.hero>img{object-position:58% center}.moments-grid img{height:280px}.moments-grid span{font-size:1.35rem;left:18px}.story,.parents,.contact{gap:40px}.story-photo img,.story-reverse .story-photo img{height:400px}h2{letter-spacing:.055em}.gallery img{height:230px}}@media(max-width:620px){.wrap{padding-left:23px;padding-right:23px}.nav{padding-left:20px;padding-right:20px;gap:12px}.brand{font-size:.72rem;letter-spacing:.04em}.brand small{font-size:.58rem;letter-spacing:.16em}.brandmark{font-size:34px}.brandmark span{font-size:20px}.menu-toggle{font-size:.85rem;padding:8px 11px}.hero{height:620px;min-height:570px}.hero-copy h1{font-size:2.5rem;letter-spacing:.045em;line-height:1.32}.hero-copy p{font-size:1.05rem;max-width:300px}.hero-shade{background:linear-gradient(90deg,#142222ab,#14222258)}.hero>img{object-position:52% center}.welcome{padding-top:60px;padding-bottom:30px}.welcome h2{font-size:2rem}.welcome p{font-size:1.18rem;line-height:1.65}.story{grid-template-columns:1fr;gap:28px;padding-top:20px;padding-bottom:48px}.story-photo img{height:320px}.story-text h2{margin-bottom:24px}.story-reverse .story-photo img{height:340px}.moments{padding-top:20px;padding-bottom:50px}.moments>h2{text-align:left;font-size:1.95rem;margin-bottom:28px}.moments-grid{grid-template-columns:1fr;gap:16px}.moments-grid img{height:300px}.moments-grid a:nth-child(2) img{object-position:center 48%}.moments-grid span{font-size:1.9rem;left:23px}.story-reverse .story-photo{grid-row:1}.news-section,.gallery-section{padding:55px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.news-grid{grid-template-columns:1fr;gap:28px}.news img{height:275px}.news-content{padding:26px}.parents{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px;gap:25px}.parents-photo{height:290px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery img{height:190px}.gallery-footer{flex-direction:column;align-items:flex-start}.recruitment{padding:52px 0}.recruitment h2{font-size:1.95rem}.contact{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:22px}.footer-row,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-row>div{gap:22px}.footer-bottom{margin-top:28px}.footer-row .brand{font-size:.92rem}dialog{padding:12px}dialog p{max-width:80vw}.close{top:20px;right:20px}.button{padding:15px 23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* WordPress block and navigation integration. */
body.admin-bar .site-header{top:32px}.site-brand .custom-logo{max-width:280px;max-height:75px;width:auto;height:auto}.menu{display:flex;align-items:center;gap:26px;padding:0;margin:0;list-style:none}.menu li{position:relative;margin:0}.menu .menu-cta>a{display:inline-flex;background:var(--yellow);border-radius:4px;padding:17px 26px;color:#333;font-weight:700}.menu .sub-menu{display:none;position:absolute;z-index:20;top:100%;left:0;min-width:210px;background:#fff;padding:12px;list-style:none;box-shadow:0 8px 18px #0002}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}.menu .sub-menu a{display:block;padding:8px}.wp-block-image{margin:0}.wp-block-group{box-sizing:border-box}main>.wp-block-group{margin-top:0;margin-bottom:0}main>.wp-block-group.wrap{margin-left:auto;margin-right:auto}.wp-block-buttons{margin:0}.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;padding:17px 29px;border:2px solid var(--yellow);border-radius:4px;background:var(--yellow);color:#333;text-decoration:none;font:700 .85rem/1.4 Nunito,'Trebuchet MS',Arial,sans-serif;letter-spacing:.045em;transition:background .2s,transform .2s}.wp-block-button__link:hover{background:#f9d957;transform:translateY(-2px)}.wp-block-button.dark .wp-block-button__link{background:#373737;color:#fff;border-color:#373737}.hero.wp-block-cover{padding:0;position:relative;color:white;min-height:670px!important}.hero .wp-block-cover__inner-container{width:100%;z-index:1}.hero .wp-block-cover__background{opacity:1!important;background:linear-gradient(90deg,#142222b8 0%,#14222272 37%,#14222212 85%)!important}.hero .wp-block-cover__image-background{object-position:center 38%}.hero .hero-copy{color:#fff}.hero h1,.hero p{color:white}.hero .wp-block-buttons{margin-top:32px}.yellow-rule.wp-block-separator{border:0;border-top:3px solid var(--yellow);max-width:56px;margin:0 0 30px!important;height:0;color:var(--yellow)}.moment{position:relative;overflow:hidden}.moment:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.moments-grid .moment img{width:100%;height:340px;object-fit:cover}.moment h3{position:absolute;bottom:28px;left:24px;right:18px;z-index:1;color:#fff;font-size:1.7rem;letter-spacing:.04em;line-height:1.3;margin:0}.news-query .wp-block-post-template{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;list-style:none;padding:0;margin:0}.news-query .wp-block-post{margin:0}.wp-block-post-featured-image{margin:0}.news h3 a,.news h2 a{text-decoration:none}.news .wp-block-post-excerpt__excerpt{margin-bottom:22px}.news .wp-block-read-more{display:inline-block}.news .tag{margin:0 0 17px}.parents-intro>figure{margin-top:32px}.parents-intro>figure img{width:100%;height:310px;object-fit:cover;object-position:center 43%}.pm-gallery.wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px!important;margin:0}.pm-gallery.wp-block-gallery .wp-block-image{width:100%!important;margin:0!important;height:275px!important;display:block!important;flex:none!important}.pm-gallery.wp-block-gallery .wp-block-image a{display:block;width:100%;height:100%}.pm-gallery.wp-block-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover}.pm-gallery figcaption{font-size:.85rem}.gallery-footer .wp-block-buttons{flex:none}.recruitment .wp-block-buttons{justify-content:center}.contact-card .label{font-size:.75rem;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}.phone a{text-decoration:none}.standard-page{padding-top:72px;padding-bottom:80px;min-height:55vh}.standard-page h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:.045em}.standard-page .entry-content{max-width:880px}.standard-page .entry-content img{height:auto;max-width:100%}.standard-page .entry-content figure{margin:25px 0}.standard-page .news h2{font-size:1.6rem;letter-spacing:.025em}.post-navigation,.pagination{margin:40px 0}.nav-links{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.comments-area{margin-top:50px}.comment-list{padding-left:20px}.comment-form textarea,.comment-form input:not([type=checkbox]){max-width:100%;padding:10px;border:1px solid #ccc;border-radius:3px}.comment-form .submit{background:var(--yellow)}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@media(max-width:1100px){.menu{gap:16px}.menu .menu-cta>a{padding:15px}}@media(max-width:850px){#navigation .menu{display:flex;flex-direction:column;align-items:stretch;gap:18px}#navigation .sub-menu{display:block;position:static;box-shadow:none;margin-top:10px;padding-left:18px}.hero.wp-block-cover{min-height:580px!important}.moments-grid .moment img{height:280px}.moment h3{font-size:1.35rem;left:18px}.pm-gallery.wp-block-gallery .wp-block-image{height:230px!important}}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:620px){.hero.wp-block-cover{height:620px;min-height:570px!important}.hero .wp-block-cover__background{background:linear-gradient(90deg,#142222ab,#14222258)!important}.hero .wp-block-cover__image-background{object-position:52% center}.moments-grid .moment img{height:300px}.moment h3{font-size:1.9rem;left:23px}.news-query .wp-block-post-template{grid-template-columns:1fr;gap:28px}.pm-gallery.wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.pm-gallery.wp-block-gallery .wp-block-image{height:190px!important}.parents-intro>figure img{height:290px}.standard-page{padding-top:45px;padding-bottom:55px}.wp-block-button__link{padding:15px 23px}}@media(max-width:600px){body.admin-bar .site-header{top:0}}

/* A little more colour — shared by the preview and WordPress, version 1.4.0. */
:root {
  --blue: #286386;
  --green: #286a56;
  --coral: #a4483a;
  --sky: #edf7fc;
  --mint: #edf8f0;
  --peach: #fff1e9;
  --butter: #fff8df;
}
body > header::before, .site-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--yellow) 0 25%, #e99b83 25% 50%, #83bbda 50% 75%, #96c9ae 75%);
  pointer-events: none;
}
.brandmark { color: var(--blue); }
.brandmark span { color: var(--coral); }
#navigation a:hover, .textlink:hover, .textlink a:hover { color: var(--blue); }
#navigation a.button:hover, #navigation .menu-cta > a:hover { color: #333; }
.button, .wp-block-button__link, .menu .menu-cta > a { border-radius: 9px; }
.welcome.wrap {
  max-width: none;
  padding-left: max(38px, calc((100% - 1084px) / 2));
  padding-right: max(38px, calc((100% - 1084px) / 2));
  background: var(--butter);
}
.welcome h2, .moments > h2, .news-section .section-heading h2, .contact > h2, .contact > div > h2 { color: var(--blue); }
.story-text h2, .gallery-section .section-heading h2 { color: var(--green); }
.story-reverse .story-text h2, .parents h2 { color: var(--coral); }
.story.space { padding-top: 70px; }
.story-photo img, .parents-photo, .parents-intro > figure img { border-radius: 18px; }
.story.space .story-photo img { box-shadow: 9px 9px 0 #dcefe3; }
.story-reverse .story-photo img { box-shadow: 9px 9px 0 #fae1d4; }
.parents-photo, .parents-intro > figure img { box-shadow: 7px 7px 0 #fff0bb; }
.story .yellow-rule { background: #96c9ae; }
.story .yellow-rule.wp-block-separator { border-top-color: #96c9ae; }
.story-reverse .yellow-rule { background: #e99b83; }
.story-reverse .yellow-rule.wp-block-separator { border-top-color: #e99b83; }
.moments-grid > a, .moments-grid > .moment {
  border-radius: 16px;
  border-bottom: 7px solid #e99b83;
}
.moments-grid > :nth-child(2) { border-bottom-color: var(--yellow); }
.moments-grid > :nth-child(3) { border-bottom-color: #96c9ae; }
.news-section { background: var(--sky); }
.news {
  overflow: hidden;
  border-radius: 16px;
  border-top: 5px solid #83bbda;
}
.news-grid > .news:nth-child(2), .news-query .wp-block-post:nth-child(2) .news { border-top-color: #e99b83; }
.news .tag {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 6px;
  background: var(--sky);
  color: var(--blue);
}
.news-grid > .news:nth-child(2) .tag, .news-query .wp-block-post:nth-child(2) .tag {
  background: var(--peach);
  color: var(--coral);
}
.faqs details {
  margin-bottom: 10px;
  padding: 20px 18px;
  border: 1px solid #f1e6c7;
  border-radius: 12px;
  background: #fffaf0;
}
.faqs details[open] { background: #fff3ce; }
.faqs summary::after { color: var(--coral); }
.gallery-section { background: var(--mint); }
.gallery button, .pm-gallery.wp-block-gallery .wp-block-image { border-radius: 12px; overflow: hidden; }
.gallery-footer .button, .gallery-footer .wp-block-button__link {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}
.gallery-footer .button:hover, .gallery-footer .wp-block-button__link:hover { background: #205543; border-color: #205543; }
.recruitment { background: #f5d557; }
.recruitment .button.dark, .recruitment .wp-block-button.dark .wp-block-button__link {
  background: var(--green);
  border-color: var(--green);
}
.recruitment .button.dark:hover, .recruitment .wp-block-button.dark .wp-block-button__link:hover { background: #205543; border-color: #205543; }
.contact-card {
  padding: 32px;
  border-radius: 20px;
  background: var(--mint);
}
.contact-card h3, .contact-card .phone, .contact-card .phone a { color: var(--green); }
body > footer, .site-footer { background: var(--sky); }
.footer-bottom { border-top-color: #d4e5ed; }
:focus-visible { outline-color: var(--blue); }
@media (max-width: 620px) {
  .welcome.wrap { padding-left: 23px; padding-right: 23px; padding-bottom: 40px; }
  .story.space { padding-top: 40px; }
  .contact-card { padding: 24px; }
  .gallery-footer { flex-direction: column; align-items: flex-start; }
}
