/*
Theme Name: Confetti Days
Theme URI: https://example.com/
Author: National Days Website
Description: A bright, playful theme for a national days calendar. Designed to work with the National Days Core plugin (Day pages, date pages, Today, month calendars and the content importer).
Version: 1.3.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: confetti-days
*/

/* ---------- Fonts (self-hosted, SIL Open Font License) ---------- */
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/baloo-2-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/baloo-2-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/baloo-2-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/nunito-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/nunito-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/nunito-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/nunito-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/nunito-latin-800-normal.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
	--grape:#24135F;      /* ink: text, outlines, sticker shadows */
	--grape-2:#5B4E8C;    /* secondary text */
	--page:#FBFAFF;       /* background */
	--paper:#FFFFFF;
	--red:#EE4266;        /* calendar header red */
	--sun:#FFD23F;        /* highlight / today */
	--mint:#3BCEAC;       /* success, links on dark */
	--lilac:#EEEAFE;      /* soft panels */
	--line:#24135F;
	--r-lg:28px; --r-md:18px; --r-sm:10px;
	--stick:4px 4px 0 var(--grape);
	--wrap:1180px;
	--font-display:"Baloo 2",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
	--font-body:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--grape);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--grape);text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--red)}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;margin:1.4em 0 .5em;color:var(--grape);letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800}
h3{font-size:1.25rem;font-weight:700}
p{margin:0 0 1em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:1000;width:auto;height:auto;clip:auto;background:var(--sun);padding:8px 14px;border-radius:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Header ---------- */
.site-header{background:var(--paper);border-bottom:3px solid var(--grape);position:sticky;top:0;z-index:50}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0;position:relative}}
.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--grape);font-family:var(--font-display);font-weight:800;font-size:1.45rem;line-height:1}
.brand:hover{color:var(--grape)}
.brand__mark{width:42px;height:42px;flex:none;border:2.5px solid var(--grape);border-radius:10px;background:var(--paper);position:relative;overflow:hidden;box-shadow:2px 2px 0 var(--grape)}
.brand__mark::before{content:"";position:absolute;inset:0 0 auto 0;height:13px;background:var(--red);border-bottom:2.5px solid var(--grape)}
.brand__mark span{color:var(--grape);position:absolute;inset:13px 0 0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800}
.custom-logo{max-height:52px;width:auto}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.nav li{position:relative}
.nav a,.nav button.nav__drop{display:block;padding:10px 12px;border-radius:12px;font-weight:700;text-decoration:none;color:var(--grape);font:inherit;font-weight:700;background:none;border:0;cursor:pointer}
.nav a:hover,.nav button.nav__drop:hover,.nav .current-menu-item>a{background:var(--lilac);color:var(--grape)}
.nav .nav__today>a{background:var(--sun);border:2px solid var(--grape);box-shadow:2px 2px 0 var(--grape);padding:7px 14px}
.nav .nav__today>a:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--grape)}
.nav button.nav__drop::after{content:"";display:inline-block;margin-left:6px;width:7px;height:7px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.nav .sub-menu,.nav .nav__panel{position:absolute;top:calc(100% + 8px);left:0;background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);box-shadow:var(--stick);padding:10px;display:none;min-width:220px;z-index:60}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu,.nav li.is-open>.nav__panel,.nav li.is-open>.sub-menu{display:block}
.nav .sub-menu{flex-direction:column;align-items:stretch}
.nav .nav__panel ul{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:2px}
.nav .nav__panel--cats ul{grid-template-columns:repeat(2,minmax(190px,1fr))}
.nav .nav__panel a{padding:8px 10px;font-weight:600}
.search-toggle,.menu-toggle{background:var(--paper);border:2.5px solid var(--grape);border-radius:12px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--grape)}
.menu-toggle{display:none}
.header-search{border-top:2px dashed var(--grape);background:var(--lilac);padding:14px 0;display:none}
.header-search.is-open{display:block}
.search-form{display:flex;gap:8px;max-width:620px}
.search-form input[type=search]{flex:1;font:inherit;padding:10px 14px;border:2.5px solid var(--grape);border-radius:12px;background:var(--paper);color:var(--grape)}
@media (max-width:960px){
	.menu-toggle{display:inline-flex;margin-left:auto}
	.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:3px solid var(--grape);padding:10px 20px 18px;max-height:calc(100vh - 80px);overflow:auto}
	.nav.is-open{display:block}
	.nav ul{flex-direction:column;align-items:stretch}
	.nav .sub-menu,.nav .nav__panel{position:static;box-shadow:none;border-width:2px;margin:4px 0 8px}
	.nav li:hover>.sub-menu{display:none}
	.nav li.is-open>.sub-menu,.nav li.is-open>.nav__panel{display:block}
	.nav .nav__panel ul,.nav .nav__panel--cats ul{grid-template-columns:repeat(2,1fr)}
	.nav button.nav__drop{width:100%;text-align:left}
	.search-toggle{order:2}
}

/* ---------- Buttons, chips ---------- */
.nd-btn,.button,.wp-block-button__link,button[type=submit],input[type=submit]{display:inline-block;font:inherit;font-weight:800;font-family:var(--font-display);font-size:1.05rem;padding:10px 20px;border-radius:14px;border:2.5px solid var(--grape);background:var(--red);color:#fff;text-decoration:none;cursor:pointer;box-shadow:3px 3px 0 var(--grape);transition:transform .12s,box-shadow .12s}
.nd-btn:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover{color:#fff;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--grape)}
.nd-btn:active,button[type=submit]:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--grape)}
.nd-btn--ghost{background:var(--paper);color:var(--grape)}
.nd-btn--ghost:hover{color:var(--grape);background:var(--sun)}
.nd-chip{background:#F1EEFF;border-color:#C9C0F5;display:inline-flex;gap:6px;align-items:center;font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--nd-cat,#7B61FF) 16%,#fff);color:var(--grape);border:1.5px solid color-mix(in srgb,var(--nd-cat,#7B61FF) 55%,#fff)}
.nd-more{margin:18px 0 0}
.nd-muted{color:var(--grape-2)}

/* ---------- Signature: the tear-off calendar sheet ---------- */
.sheet{position:relative;background:var(--paper);border:3px solid var(--grape);border-radius:22px;box-shadow:8px 8px 0 var(--grape);text-align:center;overflow:visible;width:100%;max-width:330px}
.sheet__top{display:block;background:var(--red);color:#fff;border-bottom:3px solid var(--grape);border-radius:19px 19px 0 0;padding:26px 16px 10px;font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:.02em;position:relative}
.sheet__top::before,.sheet__top::after{content:"";position:absolute;top:-14px;width:18px;height:32px;border:3px solid var(--grape);border-radius:10px;background:var(--page)}
.sheet__top::before{left:28%}
.sheet__top::after{right:28%}
.sheet__num{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(6rem,14vw,8.5rem);line-height:.9;padding:22px 10px 2px}
.sheet__dow{display:block;font-weight:800;font-size:1.15rem;padding:0 10px 18px}
.sheet__perf{height:14px;border-top:3px dashed var(--grape);margin:0 16px;opacity:.35}
.sheet__foot{display:block;padding:8px 10px 16px;font-weight:700;color:var(--grape-2);font-size:.95rem}
.sheet--sm{max-width:150px;box-shadow:5px 5px 0 var(--grape);border-radius:16px}
.sheet--sm .sheet__top{font-size:1rem;padding:16px 8px 6px;border-radius:13px 13px 0 0}
.sheet--sm .sheet__top::before,.sheet--sm .sheet__top::after{width:12px;height:22px;top:-10px}
.sheet--sm .sheet__num{font-size:4.2rem;padding:12px 6px 10px}

/* ---------- Home hero ---------- */
.hero{background:var(--sun);border-bottom:3px solid var(--grape);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:
	radial-gradient(circle at 12% 22%,var(--red) 0 5px,transparent 6px),
	radial-gradient(circle at 85% 18%,var(--mint) 0 6px,transparent 7px),
	radial-gradient(circle at 68% 82%,#7B61FF 0 5px,transparent 6px),
	radial-gradient(circle at 30% 88%,var(--mint) 0 4px,transparent 5px),
	radial-gradient(circle at 93% 60%,var(--red) 0 4px,transparent 5px),
	radial-gradient(circle at 47% 12%,#7B61FF 0 3px,transparent 4px)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:56px;align-items:start;padding-top:56px;padding-bottom:64px}
.hero__sheet{transform:rotate(-3deg);margin-top:10px}
.hero__lead{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.05;margin:0 0 6px}
.hero__sub{font-size:1.15rem;margin:0 0 24px;max-width:46ch}
.hero .nd-grid--lg{grid-template-columns:1fr}
.hero .nd-card--lg .nd-card__link{grid-template-columns:150px 1fr}
@media (max-width:860px){
	.hero .wrap{grid-template-columns:1fr;gap:28px;padding-top:36px}
	.hero__sheet{margin:0 auto;max-width:260px}
}

/* ---------- Sections ---------- */
.section{padding:56px 0}
.section--tint{background:var(--lilac);border-top:3px solid var(--grape);border-bottom:3px solid var(--grape)}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.section__head h2,.nd-section-title{margin:0}
.nd-section-title{margin:44px 0 18px}
.section__head a{font-weight:800}
.prose-box{background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-lg);padding:28px 32px;max-width:860px}
.prose-box p:last-child{margin:0}
.cta{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:var(--grape);color:#fff;border-radius:var(--r-lg);padding:32px 36px;box-shadow:8px 8px 0 var(--red)}
.cta h2{color:#fff;margin:0 0 6px}
.cta p{margin:0;color:#DCD6FF}
.cta .nd-btn{background:var(--sun);color:var(--grape)}
@media (max-width:700px){.cta{grid-template-columns:1fr;padding:26px}}

/* ---------- Cards (sticker style) ---------- */
.nd-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0}
.nd-grid--lg{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
.nd-grid--sm{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.nd-card{background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);box-shadow:var(--stick);transition:transform .14s,box-shadow .14s;min-width:0}
.nd-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--grape)}
.nd-card__link{display:flex;flex-direction:column;height:100%;color:var(--grape);text-decoration:none}
.nd-card__link:hover{color:var(--grape)}
.nd-card__media{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--nd-cat);border-bottom:2.5px solid var(--grape);border-radius:15px 15px 0 0;overflow:hidden;position:relative}
.nd-card__media::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.28) 2px,transparent 2.5px);background-size:16px 16px}
.nd-card__img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.nd-card__emoji{font-size:3.4rem;position:relative;z-index:1;filter:drop-shadow(2px 2px 0 rgba(36,19,95,.35))}
.nd-card__body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.nd-card__title{font-size:1.25rem;margin:2px 0 0;line-height:1.2}
.nd-card__date{margin:0;font-weight:800;color:var(--red);font-size:.95rem}
.nd-card__excerpt{margin:2px 0 0;color:var(--grape-2);font-size:.97rem;line-height:1.5}
/* large: horizontal */
.nd-card--lg .nd-card__link{display:grid;grid-template-columns:180px 1fr}
.nd-card--lg .nd-card__media{aspect-ratio:auto;min-height:100%;border-bottom:0;border-right:2.5px solid var(--grape);border-radius:15px 0 0 15px}
.nd-card--lg .nd-card__title{font-size:1.6rem}
.nd-card--lg .nd-card__body{padding:18px 22px 20px}
@media (max-width:560px){
	.nd-card--lg .nd-card__link,.hero .nd-card--lg .nd-card__link{grid-template-columns:1fr}
	.nd-card--lg .nd-card__media{aspect-ratio:16/8;border-right:0;border-bottom:2.5px solid var(--grape);border-radius:15px 15px 0 0}
}
/* small: compact row, no sticker shadow */
.nd-card--sm{box-shadow:none;border-width:2px;border-radius:var(--r-sm)}
.nd-card--sm:hover{box-shadow:3px 3px 0 var(--grape)}
.nd-card--sm .nd-card__link{flex-direction:row;align-items:center}
.nd-card--sm .nd-card__media{aspect-ratio:1;width:56px;flex:none;border-bottom:0;border-right:2px solid var(--grape);border-radius:8px 0 0 8px}
.nd-card--sm .nd-card__emoji{font-size:1.6rem}
.nd-card--sm .nd-card__body{padding:8px 12px;gap:0}
.nd-card--sm .nd-chip{display:none}
.nd-card--sm .nd-card__title{font-size:1.02rem;font-family:var(--font-body);font-weight:800}
.nd-card--sm .nd-card__date{font-size:.82rem}

.nd-empty{display:flex;gap:14px;align-items:center;background:var(--paper);border:2.5px dashed var(--grape);border-radius:var(--r-md);padding:18px 20px;margin:0 0 20px}
.nd-empty span{font-size:2rem}
.nd-empty p{margin:0;font-weight:700}

/* ---------- Week strip ---------- */
.nd-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.nd-week__day{background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);overflow:hidden;min-width:0}
.nd-week__day.is-today{box-shadow:5px 5px 0 var(--red)}
.nd-week__head{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--grape);border-bottom:2.5px solid var(--grape);padding:8px 4px 6px;background:var(--lilac)}
.nd-week__day.is-today .nd-week__head{background:var(--sun)}
.nd-week__head span{font-weight:800;font-size:.85rem}
.nd-week__head strong{font-family:var(--font-display);font-size:2rem;line-height:1}
.nd-week__head em{font-style:normal;font-size:.8rem;font-weight:700;color:var(--grape-2)}
.nd-week ul{list-style:none;margin:0;padding:10px 12px 12px;font-size:.92rem;line-height:1.35}
.nd-week li+li{margin-top:8px}
.nd-week li a{font-weight:700;text-decoration:none}
.nd-week li a:hover{text-decoration:underline}
@media (max-width:1000px){.nd-week{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* ---------- Tiles: months & categories ---------- */
.nd-tiles{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.nd-tile{display:flex;flex-direction:column;gap:2px;background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);padding:14px 16px;text-decoration:none;color:var(--grape);transition:transform .12s,box-shadow .12s;position:relative}
.nd-tile:hover{color:var(--grape);transform:translate(-2px,-2px);box-shadow:var(--stick)}
.nd-tile__num{font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1;color:var(--red)}
.nd-tile__label{font-weight:800;font-size:1.05rem}
.nd-tile.is-current{background:var(--sun)}
.nd-tiles--cats{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.nd-tile--cat{flex-direction:row;align-items:center;gap:12px;border-left:12px solid var(--nd-cat)}
.nd-tile__emoji{font-size:1.7rem}
.nd-tile__count{margin-left:auto;font-weight:800;font-size:.85rem;background:var(--lilac);border-radius:999px;padding:2px 9px}

/* ---------- Month calendar grid ---------- */
.nd-cal{background:var(--paper);border:3px solid var(--grape);border-radius:var(--r-lg);overflow:hidden;box-shadow:6px 6px 0 var(--grape);margin:8px 0 10px}
.nd-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.nd-cal__wd{background:var(--red);color:#fff;font-weight:800;text-align:center;padding:8px 2px;font-size:.88rem;border-bottom:3px solid var(--grape)}
.nd-cal__cell,.nd-cal__blank{min-height:112px;border-right:1.5px solid #D9D3F5;border-bottom:1.5px solid #D9D3F5;padding:8px;min-width:0}
.nd-cal__blank{background:repeating-linear-gradient(-45deg,#F6F4FF 0 8px,#fff 8px 16px)}
.nd-cal__cell{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--grape)}
.nd-cal__cell:hover{background:#FFF6D1;color:var(--grape)}
.nd-cal__num{font-family:var(--font-display);font-weight:800;font-size:1.2rem;line-height:1}
.nd-cal__cell.is-today .nd-cal__num{background:var(--sun);border:2px solid var(--grape);border-radius:999px;width:2em;height:2em;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}
.nd-cal__ev{font-size:.78rem;font-weight:700;line-height:1.25;background:var(--lilac);border-radius:6px;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nd-cal__more{font-size:.75rem;font-weight:800;color:var(--red)}
@media (max-width:760px){
	.nd-cal__cell,.nd-cal__blank{min-height:56px;padding:5px}
	.nd-cal__ev{display:none}
	.nd-cal__cell.has-days::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);margin-top:auto}
	.nd-cal__wd{font-size:.7rem}
}
/* mini (year view) */
.nd-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.nd-cal--mini{box-shadow:4px 4px 0 var(--grape);border-width:2.5px;border-radius:var(--r-md);margin:0}
.nd-cal__title{display:block;background:var(--red);color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.2rem;text-align:center;text-decoration:none;padding:6px;border-bottom:2.5px solid var(--grape)}
.nd-cal__title:hover{color:var(--sun)}
.nd-cal--mini .nd-cal__wd{background:var(--paper);color:var(--grape-2);border-bottom:0;font-size:.72rem;padding:6px 0 2px}
.nd-cal--mini .nd-cal__cell,.nd-cal--mini .nd-cal__blank{min-height:0;border:0;padding:5px 0;align-items:center;background:none}
.nd-cal--mini .nd-cal__num{font-family:var(--font-body);font-size:.85rem;font-weight:700}
.nd-cal--mini .nd-cal__cell.has-days .nd-cal__num{color:var(--red);font-weight:800}
.nd-cal--mini .nd-cal__cell:hover .nd-cal__num{background:var(--sun);border-radius:6px}
.nd-cal--mini .nd-cal__cell.has-days::after{display:none}

/* ---------- Month day list ---------- */
.nd-daylist__row{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:start;padding:14px 0;border-bottom:2px dashed #D9D3F5}
.nd-daylist__date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);border:2.5px solid var(--grape);border-radius:14px;text-decoration:none;color:var(--grape);overflow:hidden}
.nd-daylist__date span{display:block;width:100%;text-align:center;background:var(--red);color:#fff;font-weight:800;font-size:.8rem;border-bottom:2.5px solid var(--grape);padding:2px 0}
.nd-daylist__date strong{font-family:var(--font-display);font-size:1.8rem;line-height:1.3}
.nd-daylist__cards{margin:0}
.nd-daylist .nd-card__date{display:none}

/* ---------- Page heads ---------- */
.page-head{background:var(--lilac);border-bottom:3px solid var(--grape);padding:34px 0 30px}
.page-head h1{margin:6px 0 8px}
.page-head p.lede{font-size:1.15rem;max-width:62ch;margin:0}
.crumbs{font-size:.9rem;font-weight:700;color:var(--grape-2)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{color:var(--grape-2);text-decoration:none}
.crumbs a:hover{color:var(--red)}
.page-head--date .wrap{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center}
.page-head--date .sheet{transform:rotate(-3deg)}
.page-head--cat{background:#F1EEFF;background:color-mix(in srgb,var(--nd-cat) 20%,#fff)}
.page-head__emoji{font-size:3rem;line-height:1}
@media (max-width:640px){.page-head--date .wrap{grid-template-columns:1fr;gap:18px}.page-head--date .sheet{margin:6px 0 0 6px}}
.datenav{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* ---------- Content ---------- */
.content{padding:40px 0 64px}
.entry-content>*{max-width:760px}
.entry-content>.nd-grid,.entry-content>.nd-cal,.entry-content>.nd-year,.entry-content>.nd-week,.entry-content>.nd-daylist,.entry-content>.nd-tiles,.entry-content>.alignwide,.entry-content>.alignfull,.entry-content>.wp-block-table,.entry-content>.wp-block-image{max-width:none}
.entry-content h2{margin-top:1.6em}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin-bottom:.45em}
.entry-content ul li::marker{color:var(--red)}
.entry-content blockquote{margin:1.5em 0;padding:14px 20px;border-left:6px solid var(--sun);background:var(--paper);border-radius:0 12px 12px 0}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{border:2px solid var(--grape);padding:8px 12px;text-align:left}
.entry-content th{background:var(--lilac)}
.nd-dateline{font-size:1.15rem;margin:0 0 18px}
.nd-dateline strong{font-family:var(--font-display);font-size:1.4rem}

/* ---------- Single Day ---------- */
.day-head{background:#F1EEFF;background:color-mix(in srgb,var(--nd-cat) 22%,#fff);border-bottom:3px solid var(--grape);padding:30px 0 40px}
.day-head .wrap{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:center}
.day-head h1{margin:12px 0 10px}
.day-head__when{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-weight:800}
.day-head__date{background:var(--paper);border:2.5px solid var(--grape);border-radius:12px;padding:6px 12px;box-shadow:3px 3px 0 var(--grape)}
.day-head__rule{color:var(--grape-2)}
.day-head__art{aspect-ratio:4/3;border:3px solid var(--grape);border-radius:var(--r-lg);background:var(--nd-cat);box-shadow:8px 8px 0 var(--grape);display:flex;align-items:center;justify-content:center;font-size:6rem;overflow:hidden;position:relative;transform:rotate(2deg)}
.day-head__art::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.3) 3px,transparent 3.5px);background-size:22px 22px}
.day-head__art img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.day-head__art span{position:relative;z-index:1}
.share{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.share a,.share button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--grape);border-radius:12px;background:var(--paper);color:var(--grape);cursor:pointer;padding:0}
.share a:hover,.share button:hover{background:var(--sun);color:var(--grape)}
.share svg{width:18px;height:18px;fill:currentColor}
.share .copied{background:var(--mint)}
@media (max-width:860px){.day-head .wrap{grid-template-columns:1fr}.day-head__art{max-width:340px;font-size:4.5rem}}

.day-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start}
.day-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px}
.admin-bar .day-aside{top:132px}
@media (max-width:960px){.day-layout{grid-template-columns:1fr}.day-aside{position:static}}
.panel{background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);padding:18px 20px}
.panel h2{font-size:1.25rem;margin:0 0 12px}
.facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.95rem}
.facts dt{font-weight:800}
.facts dd{margin:0}
.nd-dates{width:100%;border-collapse:collapse;font-size:.95rem}
.nd-dates th,.nd-dates td{padding:7px 4px;border-bottom:2px dashed #D9D3F5;text-align:left}
.nd-dates thead th{border-bottom:2.5px solid var(--grape)}

/* Jump links ("On this page") – day pages only */
.toc{margin:22px 0 30px;padding:10px 14px 12px;background:var(--lilac);border-radius:var(--r-md)}
.toc__label{display:block;font-family:var(--font-display);font-weight:800;font-size:.9rem;color:var(--grape-2);margin:0 0 6px}
.entry-content .toc__list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.entry-content .toc__list li{margin:0;list-style:none}
.toc__list a{display:inline-block;padding:3px 11px;border:2px solid var(--grape);border-radius:999px;background:var(--paper);color:var(--grape);font-weight:700;font-size:.875rem;line-height:1.35;text-decoration:none;white-space:nowrap;transition:background .12s,transform .12s}
.toc__list a:hover{background:var(--sun);color:var(--grape);transform:translateY(-1px)}
@media (min-width:961px){.toc__list li.toc__dates{display:none}}
.entry-content h2[id],#dates,#toc{scroll-margin-top:96px}
.admin-bar .entry-content h2[id],.admin-bar #dates,.admin-bar #toc{scroll-margin-top:128px}
.day-layout>*{min-width:0}
.entry-content h2:target{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:.34em;text-underline-offset:-.14em;text-decoration-skip-ink:none;animation:toc-flash 2.6s ease-out}
#dates:target{animation:toc-ring 2.2s ease-out}
@keyframes toc-flash{0%,45%{text-decoration-color:var(--sun)}100%{text-decoration-color:transparent}}
@keyframes toc-ring{0%,35%{box-shadow:0 0 0 4px var(--sun)}100%{box-shadow:0 0 0 4px rgba(255,210,63,0)}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.entry-content>.toc-top-wrap{position:sticky;bottom:18px;max-width:none;display:flex;justify-content:flex-end;margin-top:28px;pointer-events:none;z-index:5}
.toc-top{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--sun);color:var(--grape);border:2.5px solid var(--grape);border-radius:999px;box-shadow:3px 3px 0 var(--grape);font-weight:800;font-size:.9rem;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s}
.toc-top.is-visible{opacity:1;visibility:visible;transform:none}
.toc-top:hover{color:var(--grape);background:#FFE07A}
@media (max-width:600px){
	.toc{padding:10px 0 10px 14px;margin:18px 0 24px}
	.toc__label{font-size:.85rem}
	.entry-content .toc__list{flex-wrap:nowrap;overflow-x:auto;padding:2px 14px 4px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
	.toc__list::-webkit-scrollbar{display:none}
	.entry-content>.toc-top-wrap{bottom:12px}
}
.nd-dates tbody tr:first-child td{font-weight:800}
.also{list-style:none;margin:0;padding:0}
.also li+li{margin-top:8px}
.also a{font-weight:700}
.day-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}
.day-nav a{display:block;background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);padding:14px 18px;text-decoration:none;color:var(--grape)}
.day-nav a:hover{background:var(--sun);color:var(--grape)}
.day-nav small{display:block;font-weight:700;color:var(--grape-2)}
.day-nav strong{font-family:var(--font-display);font-size:1.15rem}
.day-nav .next{text-align:right}

/* ---------- Forms ---------- */
.nd-form{max-width:640px;background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--stick)}
.nd-field label{display:block;font-weight:800;margin-bottom:4px}
.nd-form input[type=text],.nd-form input[type=email],.nd-form input[type=url],.nd-form select,.nd-form textarea{width:100%;font:inherit;padding:10px 12px;border:2px solid var(--grape);border-radius:10px;background:#fff;color:var(--grape)}
.nd-consent label{font-weight:600}
.nd-req{color:var(--red)}
.nd-hp{position:absolute!important;left:-9999px!important}
.nd-notice{border:2.5px solid var(--grape);border-radius:14px;padding:14px 18px;font-weight:800;margin:0 0 20px;max-width:640px}
.nd-notice--ok{background:#DDF8F0}
.nd-notice--err{background:#FFE1E8}

/* ---------- A–Z & search ---------- */
.az{columns:3 240px;column-gap:32px}
.az h2{break-after:avoid;font-size:1.5rem;color:var(--red);margin:18px 0 6px}
.az ul{list-style:none;margin:0 0 10px;padding:0}
.az li{break-inside:avoid;padding:2px 0}
.result-list{list-style:none;margin:0;padding:0}
.result-list li{padding:14px 0;border-bottom:2px dashed #D9D3F5}
.result-list a{font-weight:800;font-size:1.1rem}
.pagination{display:flex;gap:8px;margin-top:30px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border:2px solid var(--grape);border-radius:10px;text-decoration:none;font-weight:800}
.pagination .current{background:var(--sun)}

/* ---------- 404 ---------- */
.lost{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding:60px 0}
@media (max-width:640px){.lost{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{background:var(--grape);color:#DCD6FF;margin-top:0;padding:52px 0 26px;border-top:3px solid var(--grape)}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{color:var(--sun);text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.footer-grid h2{color:#fff;font-size:1.1rem;margin:0 0 10px}
.footer-grid ul{list-style:none;margin:0;padding:0}
.footer-grid li{margin-bottom:6px}
.site-footer .brand{color:#fff}
.site-footer .brand__mark{box-shadow:2px 2px 0 var(--red);border-color:#fff}
.footer-about p{margin:12px 0 0;max-width:36ch}
.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;font-size:.9rem}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* ---------- WordPress core bits ---------- */
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{font-size:.9rem;color:var(--grape-2)}
.sticky,.bypostauthor,.gallery-caption{}

/* ---------- Small screens: denser card grids ---------- */
@media (max-width:560px){
	.wrap{padding:0 16px}
	.section{padding:40px 0}
	.nd-grid--md{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.nd-grid--md .nd-card__excerpt,.nd-grid--md .nd-chip{display:none}
	.nd-grid--md .nd-card__title{font-size:1rem}
	.nd-grid--md .nd-card__emoji{font-size:2.2rem}
	.nd-grid--md .nd-card__body{padding:10px 12px 12px}
	.nd-grid--lg,.nd-grid--sm{grid-template-columns:1fr}
	.nd-week{grid-template-columns:repeat(2,minmax(0,1fr))}
	.nd-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
	.nd-tiles--cats{grid-template-columns:1fr}
	.hero .wrap{padding-top:28px;padding-bottom:40px}
	.hero__sheet{max-width:220px}
	.hero__sheet .sheet__num{font-size:5.5rem}
	.brand{font-size:1.2rem}
	.day-head__art{aspect-ratio:16/9;font-size:3.5rem;transform:none}
}
.nd-cal--mini .nd-cal__cell.is-today .nd-cal__num{width:1.7em;height:1.7em;font-size:.8rem;border-width:1.5px;font-family:var(--font-body)}

/* ---------- Date page: year facts strip and "at a glance" ---------- */
.nd-yearfacts{margin:18px 0 20px;max-width:640px;background:var(--paper);border:2.5px solid var(--grape);border-radius:var(--r-md);box-shadow:4px 4px 0 var(--grape);overflow:hidden}
.nd-yearfacts__stats{display:grid;grid-template-columns:repeat(3,1fr)}
.nd-stat{margin:0;padding:12px 16px 10px;display:flex;flex-direction:column;gap:3px;min-width:0}
.nd-stat+.nd-stat{border-left:3px dashed rgba(36,19,95,.22)}
.nd-stat__num{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1;color:var(--grape)}
.nd-stat:first-child .nd-stat__num{color:var(--red)}
.nd-stat__lbl{font-size:.88rem;font-weight:700;color:var(--grape-2);line-height:1.3}
.nd-yearbar{padding:12px 16px 10px;border-top:2.5px solid var(--grape);background:var(--page)}
.nd-yearbar__track{position:relative;height:12px;border:2px solid var(--grape);border-radius:999px;background:var(--paper)}
.nd-yearbar__fill{position:absolute;top:0;bottom:0;left:0;background:var(--red);border-radius:999px 0 0 999px}
.nd-yearbar__pin{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;background:var(--sun);border:2.5px solid var(--grape);border-radius:50%;box-shadow:1px 1px 0 var(--grape)}
.nd-yearbar__months{display:flex;list-style:none;margin:7px 0 0;padding:0;font-size:.72rem;font-weight:800;color:var(--grape-2)}
.nd-yearbar__months li{flex-basis:0;min-width:0;padding-left:3px;border-left:1.5px solid rgba(36,19,95,.2);line-height:1.25;overflow:hidden}
.nd-yearbar__months li.is-current{color:var(--red)}
.nd-datefacts{margin:34px 0 8px}
.nd-datefacts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.nd-datefacts__item{background:var(--paper);border:2px solid var(--grape);border-radius:var(--r-md);padding:14px 18px}
.nd-datefacts dt{font-family:var(--font-display);font-weight:700;font-size:1.08rem;line-height:1.3}
.nd-datefacts dd{margin:5px 0 0;color:var(--grape-2)}
@media (max-width:640px){
	.nd-stat{padding:10px 10px 8px}
	.nd-stat__lbl{font-size:.8rem}
	.nd-yearbar{padding:12px 10px 8px}
	.nd-yearbar__months{font-size:.6rem}
	.nd-yearbar__months li{padding-left:2px}
	.nd-datefacts dl{grid-template-columns:1fr}
}
