
:root{
  --mint:#CAE7DC; --paper:#FFFDF8; --ink:#1E3229; --vine:#187B53; --mustard:#CEBA27;
  --red:#D9574A; --blue:#4E87C8; --purple:#8A5FB0; --orange:#E8892B; --pink:#D9679E; --brown:#8B6B4A;
  --muted:#5C6E64; --line:rgba(30,50,41,.14);
  --display:'Caprasimo',Georgia,serif; --body:'Andika',Verdana,sans-serif; --hand:'Caveat',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--mint);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;
  background-image:radial-gradient(rgba(255,255,255,.45) 1.2px,transparent 1.2px);background-size:26px 26px}
img{max-width:100%;height:auto}
a{color:var(--vine)}
a:hover{color:var(--mustard)}
:focus-visible{outline:3px solid var(--mustard);outline-offset:2px;border-radius:4px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* ---------- шапка ---------- */
header.site{padding:34px 0 0}
.masthead{text-align:center}
.masthead .logo{font-family:var(--display);font-size:clamp(2.6rem,6vw,4.2rem);line-height:1.05;color:var(--ink);text-decoration:none;display:inline-block}
.masthead h1.logo a{color:inherit;text-decoration:none}
.masthead .logo em{font-style:normal;color:var(--vine);position:relative}
.tagline{font-family:var(--hand);font-size:1.5rem;color:var(--muted);margin-top:.3rem}
.vine{display:block;width:min(760px,92%);margin:6px auto 0;height:auto}
nav.main{margin-top:10px;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);background:rgba(255,253,248,.75)}
nav.main ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem;padding:.45rem 0}
nav.main a{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem;letter-spacing:.02em;padding:.35rem .7rem;border-radius:999px}
nav.main a:hover{background:var(--paper);color:var(--vine)}
nav.main .dot{width:.62em;height:.62em;border-radius:58% 42% 55% 45%/55% 48% 52% 45%;background:var(--vine);flex:none}
nav.main details{position:relative}
nav.main details>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.92rem;padding:.35rem .7rem;border-radius:999px}
nav.main details>summary::-webkit-details-marker{display:none}
nav.main details[open]>summary{background:var(--paper);color:var(--vine)}
nav.main details>div{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:.5rem .4rem;display:flex;flex-direction:column;gap:.1rem;box-shadow:0 10px 24px rgba(30,50,41,.14);z-index:30;min-width:190px}
nav.main details a{font-size:.9rem}

/* ---------- карточки и сетка ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.card{background:var(--paper);border-radius:16px 16px 14px 14px;box-shadow:0 2px 0 rgba(30,50,41,.10),0 14px 28px rgba(30,50,41,.10);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:0 4px 0 rgba(30,50,41,.10),0 22px 36px rgba(30,50,41,.14);color:var(--ink)}
.card .ph{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#e9f5ee,#d7ecdf);position:relative}
.card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.card:hover .ph img{transform:scale(1.035)}
.card .ph .noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.card .ph .noimg svg{width:64px;height:64px;opacity:.5}
.card .bd{padding:16px 18px 18px}
.card h2{font-family:var(--display);font-weight:400;font-size:1.28rem;line-height:1.25;margin:.45rem 0 .35rem}
.card .when{font-family:var(--hand);font-size:1.12rem;color:var(--muted)}
.card p{font-size:.92rem;color:var(--muted);margin-top:.4rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dab{display:inline-block;width:.95em;height:.95em;border-radius:58% 42% 55% 45%/55% 48% 52% 45%;background:var(--vine);flex:none}
.dab-creativity{background:var(--red)}.dab-play{background:var(--blue)}.dab-sensory{background:var(--purple)}
.dab-nature{background:var(--vine)}.dab-holiday{background:var(--orange)}.dab-books{background:var(--pink)}
.dab-supplies{background:var(--brown)}.dab-mixed-media{background:var(--mustard)}.dab-imagination{background:var(--pink)}
.dab-literature{background:var(--blue)}.dab-spaces{background:var(--vine)}.dab-cultures{background:var(--orange)}
.dab-uncategorized{background:var(--brown)}.dab-other{background:var(--mustard)}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.eyebrow:hover{color:var(--vine)}

/* ---------- сезонные разделители ---------- */
.season{display:flex;align-items:center;gap:1rem;margin:2.4rem 0 1.3rem}
.season .label{font-family:var(--hand);font-weight:700;font-size:1.75rem;color:var(--vine);white-space:nowrap}
.season .sprig{flex:1;height:14px;background:radial-gradient(circle at 6px 7px,var(--vine) 2.4px,transparent 2.6px) repeat-x;background-size:22px 14px;opacity:.55;border-radius:6px}

/* ---------- лист поста ---------- */
.sheet{background:var(--paper);border-radius:18px;box-shadow:0 3px 0 rgba(30,50,41,.08),0 18px 40px rgba(30,50,41,.12);padding:clamp(22px,4vw,52px);margin:26px 0 40px}
.sheet .head{border-bottom:2px dashed var(--line);padding-bottom:1.1rem;margin-bottom:1.4rem}
.sheet h1{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.18;margin:.55rem 0 .4rem}
.sheet .when{font-family:var(--hand);font-size:1.35rem;color:var(--muted)}
.entry{max-width:72ch;margin:0 auto}
.entry p{margin:0 0 1.1em}
.entry h2,.entry h3,.entry h4{font-family:var(--display);font-weight:400;line-height:1.25;margin:1.5em 0 .5em}
.entry h2{font-size:1.5rem}.entry h3{font-size:1.25rem}
.entry ul,.entry ol{margin:0 0 1.1em 1.4em}
.entry table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
.entry th,.entry td{border:1px solid var(--line);padding:.55em .7em;text-align:left;vertical-align:top}
.entry th{background:var(--mint);font-family:var(--display);font-weight:400}
.entry tr:nth-child(even) td{background:rgba(202,231,220,.25)}
.entry .wp-caption{max-width:100%;margin:1.4em auto;text-align:center}
.entry .wp-caption img{border-radius:10px}
.entry .wp-caption-text,.entry figcaption{font-family:var(--hand);font-size:1.18rem;color:var(--muted);padding-top:.35rem}
.entry img{display:block;margin:1.4em auto;border-radius:10px}
.entry img[src="/assets/img-missing.svg"]{background:#eef4f0}
.entry .aligncenter,.entry .alignright,.entry .alignleft{margin-left:auto;margin-right:auto}
@media(max-width:640px){.entry img{width:auto;max-width:100%}}

/* галереи Jetpack (tiled-gallery): инлайновые размеры контейнеров не должны ломать поток */
.tiled-gallery{clear:both;overflow:hidden;margin:1.4em 0}
.tiled-gallery .gallery-row{overflow:hidden;width:100%}
.tiled-gallery .gallery-group{float:left;position:relative;max-width:100%}
.tiled-gallery .tiled-gallery-item{float:left;position:relative;margin:0;max-width:100%}
.tiled-gallery .tiled-gallery-item img{width:100%!important;height:auto!important;margin:0!important;max-width:100%}
.tiled-gallery .tiled-gallery-caption{font-family:var(--hand);color:var(--muted);font-size:1.05rem}

/* ---------- низ поста ---------- */
.after{margin-top:2rem;border-top:2px dashed var(--line);padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:#f2f7f3;border:1.5px solid var(--line);border-radius:999px;padding:.22rem .75rem;font-size:.85rem;text-decoration:none;color:var(--ink)}
.chip:hover{border-color:var(--vine);color:var(--vine);background:var(--paper)}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:1.6rem}
@media(max-width:640px){.pn{grid-template-columns:1fr}}
.pn a{background:#f2f7f3;border-radius:14px;padding:.9rem 1.1rem;text-decoration:none;color:var(--ink);border:1.5px solid var(--line)}
.pn a:hover{border-color:var(--vine)}
.pn .dir{font-family:var(--hand);font-size:1.15rem;color:var(--vine)}
.pn .t{font-weight:700;line-height:1.3}
.pn .next{text-align:right}

/* ---------- архивные страницы ---------- */
.arch-head{text-align:center;margin:1.8rem 0 .6rem}
.arch-head .big{width:54px;height:54px;border-radius:58% 42% 55% 45%/55% 48% 52% 45%;margin:0 auto .6rem}
.arch-head h1{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem)}
.arch-head .sub{font-family:var(--hand);font-size:1.4rem;color:var(--muted)}
.list>article{display:grid;grid-template-columns:130px 1fr;gap:1.1rem;padding:1rem 0;border-bottom:1.5px dashed var(--line)}
.list .thumb{width:130px;height:98px;border-radius:12px;overflow:hidden;background:#e9f5ee}
.list .thumb img{width:100%;height:100%;object-fit:cover}
.list h2{font-family:var(--display);font-weight:400;font-size:1.25rem;margin:.15rem 0 .25rem}
.list h2 a{text-decoration:none;color:var(--ink)}.list h2 a:hover{color:var(--vine)}
.list .when{font-family:var(--hand);font-size:1.1rem;color:var(--muted)}
@media(max-width:600px){.list>article{grid-template-columns:1fr}.list .thumb{width:100%;height:150px}}

/* ---------- теги/подвал ---------- */
.cloud{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}
footer.site{margin-top:3rem;padding:2rem 0 2.6rem;border-top:1.5px solid var(--line);background:rgba(255,253,248,.65)}
footer.site h2{font-family:var(--hand);font-size:1.5rem;color:var(--vine);text-align:center;margin-bottom:.9rem}
.colophon{text-align:center;color:var(--muted);font-size:.86rem;margin-top:1.4rem}
.pager{display:flex;justify-content:space-between;align-items:center;margin:2.2rem 0 0}
.pager a{font-family:var(--hand);font-size:1.35rem;color:var(--vine);text-decoration:none}
.pager a:hover{color:var(--mustard)}
.crumb{text-align:center;font-family:var(--hand);font-size:1.2rem;margin-top:1.2rem}
.crumb a{color:var(--vine)}
.missing404{text-align:center;padding:3rem 0}
.missing404 h1{font-family:var(--display);font-size:clamp(2.4rem,6vw,4rem)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
