/*
Theme Name: Daily Kids Worksheets
Theme URI: https://dailykidsworksheets.com
Author: Daily Kids Worksheets
Description: A bright, playful WooCommerce-ready block theme for selling kids worksheets, routine trackers and story books, with a parenting blog, fun facts for kids, a free-printable email signup and YouTube video section. Features original cartoon characters Mia & Max.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dailykids
Tags: e-commerce, education, blog, full-site-editing, block-patterns, custom-colors, one-column, wide-blocks
*/

/* ---------- Tokens ---------- */
:root {
	--dk-navy: #2B2D42;
	--dk-coral: #FF6B6B;
	--dk-sunny: #FFC93C;
	--dk-sky: #4CC9F0;
	--dk-leaf: #6BCB77;
	--dk-grape: #9B5DE5;
	--dk-orange: #FF9F43;
	--dk-radius: 24px;
	--dk-border: 3px solid var(--dk-navy);
	--dk-pop: 0 6px 0 var(--dk-navy);
	--dk-pop-hover: 0 10px 0 var(--dk-navy);
	--dk-heading: var(--wp--preset--font-family--heading);
	--dk-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C 240 0 480 0 720 20 C 960 40 1200 40 1440 4 L1440 40 Z'/%3E%3C/svg%3E");
}

body {
	background-color: var(--wp--preset--color--cream);
	background-image: radial-gradient(rgba(43, 45, 66, .045) 1.5px, transparent 1.6px);
	background-size: 26px 26px;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; }

:where(a, button, input, summary):focus-visible {
	outline: 3px solid var(--dk-grape);
	outline-offset: 3px;
	border-radius: 8px;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px; width: 1px; overflow: hidden;
}

.dk-center { text-align: center; }

/* ---------- Top bar & header ---------- */
.dk-topbar {
	background: var(--wp--preset--gradient--rainbow);
	color: #fff;
	font-family: var(--dk-heading);
	font-weight: 700;
	font-size: .95rem;
	padding-block: .45rem;
	text-shadow: 0 1px 0 rgba(43, 45, 66, .35);
}
.dk-topbar p { margin: 0; }
.dk-topbar a { color: #fff; text-underline-offset: 3px; white-space: nowrap; }

.dk-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
.dk-header {
	background: #fff;
	border-bottom: var(--dk-border);
	border-radius: 0 0 28px 28px;
	transition: box-shadow .2s ease;
}
.dk-site-header.is-scrolled .dk-header { box-shadow: 0 8px 24px rgba(43, 45, 66, .12); }
.dk-header__inner { padding-block: .55rem; gap: 1rem; }
.dk-brand { gap: .55rem; }
.dk-brand__logo { margin: 0; flex: 0 0 auto; }
.dk-brand__logo img { width: 52px; height: 52px; display: block; transition: transform .3s ease; }
.dk-brand__logo a:hover img { transform: rotate(-12deg) scale(1.06); }
.dk-brand .wp-block-site-title { margin: 0; max-width: 9.5em; }
.dk-header__actions { gap: .4rem; }
.dk-header__cta .wp-block-button__link { padding: .5rem 1.1rem; font-size: .95rem; }

.dk-nav .wp-block-navigation-item__content {
	padding: .45rem .8rem !important;
	border-radius: 999px;
	color: var(--dk-navy);
	text-decoration: none;
}
.dk-nav .wp-block-navigation-item__content:hover,
.dk-nav .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--sunny-tint);
}
.dk-nav .wp-block-navigation__submenu-container {
	border: var(--dk-border) !important;
	border-radius: 20px;
	padding: .5rem !important;
	box-shadow: var(--dk-pop);
	min-width: 220px !important;
	background: #fff !important;
}
.dk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; }
.dk-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--sunny-tint) !important;
	padding: 2rem 1.5rem;
}
.dk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.35rem;
}
.dk-nav .wp-block-navigation__responsive-container-open {
	background: var(--dk-sunny);
	border: var(--dk-border);
	border-radius: 14px;
	padding: 6px;
}

.dk-search .wp-block-search__button,
.dk-account a,
.dk-cart .wc-block-mini-cart__button {
	background: var(--wp--preset--color--sky-tint) !important;
	border: 2px solid var(--dk-navy) !important;
	border-radius: 999px !important;
	color: var(--dk-navy) !important;
	width: 44px; height: 44px;
	padding: 0 !important;
	display: inline-flex; align-items: center; justify-content: center;
}
.dk-cart .wc-block-mini-cart__button { width: auto; padding: 0 .8rem !important; background: var(--wp--preset--color--pink-tint) !important; }
.dk-search .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.dk-search .wp-block-search__inside-wrapper { border: 0; }
.dk-search .wp-block-search__input { border: 2px solid var(--dk-navy); border-radius: 999px; padding: .4rem .9rem; }

@media (max-width: 781px) {
	.dk-header__inner { flex-wrap: nowrap !important; gap: .5rem; }
	.dk-header__inner > .dk-nav { order: 3; }
	.dk-brand { flex: 1 1 auto; min-width: 0; }
	.dk-brand .wp-block-site-title { font-size: 1.1rem; }
	.dk-brand__logo img { width: 42px; height: 42px; }
	.dk-header__cta { display: none !important; }
	.dk-hero::before { display: none; }
	.dk-explore-card__art img { height: 130px; }
}

/* ---------- Buttons ---------- */
.wp-element-button,
.wp-block-button__link,
.dk-btn {
	box-shadow: 0 5px 0 rgba(43, 45, 66, .85);
	border: 3px solid var(--dk-navy) !important;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.dk-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 0 rgba(43, 45, 66, .85);
}
.wp-element-button:active,
.wp-block-button__link:active,
.dk-btn:active { transform: translateY(3px); box-shadow: 0 2px 0 rgba(43, 45, 66, .85); }

.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
	background: #fff !important;
	color: var(--dk-navy) !important;
}
.dk-btn-sunny > .wp-block-button__link { background: var(--dk-sunny); color: var(--dk-navy); }
.dk-btn-sky > .wp-block-button__link { background: var(--dk-sky); color: var(--dk-navy); }
.dk-btn-leaf > .wp-block-button__link { background: var(--dk-leaf); color: var(--dk-navy); }
.dk-btn-grape > .wp-block-button__link { background: var(--dk-grape); color: #fff; }
.dk-btn-big > .wp-block-button__link { font-size: 1.15rem; padding: .85rem 1.8rem; }

.dk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
	background: var(--dk-coral);
	color: #fff !important;
	font-family: var(--dk-heading);
	font-weight: 800;
	border-radius: 999px;
	padding: .7rem 1.5rem;
	text-decoration: none !important;
	line-height: 1.2;
	cursor: pointer;
	font-size: 1.05rem;
}
.dk-btn--small { padding: .4rem .95rem; font-size: .92rem; box-shadow: 0 4px 0 rgba(43, 45, 66, .85); }
.dk-btn--sunny { background: var(--dk-sunny); color: var(--dk-navy) !important; }
.dk-btn--amazon { background: var(--dk-orange); color: var(--dk-navy) !important; }
.dk-btn--red { background: #FF3B3B; }
.dk-btn.added::after { content: " ✓"; }

/* ---------- Sections ---------- */
.dk-main > .wp-block-pattern, .dk-main { margin-top: 0; }
.dk-main { padding-bottom: 0; }
.dk-section { padding-block: clamp(2.5rem, 5.5vw, 4.25rem); }
.dk-section__title { margin-top: .35rem; margin-bottom: .5rem; }
.dk-section__sub { color: var(--wp--preset--color--muted); font-size: 1.15rem; max-width: 40rem; }
.has-text-align-center.dk-section__sub { margin-inline: auto; }
.dk-section__head { gap: 1rem; margin-bottom: 1.75rem; }
.dk-section__head > * { margin: 0; }
.dk-more a {
	font-family: var(--dk-heading);
	font-weight: 800;
	color: var(--dk-navy);
	text-decoration: none;
	border-bottom: 3px solid var(--dk-sunny);
}
.dk-more a:hover { border-color: var(--dk-coral); }

.dk-eyebrow {
	display: inline-block;
	background: #fff;
	border: 2px solid var(--dk-navy);
	border-radius: 999px;
	padding: .2rem .9rem;
	font-family: var(--dk-heading);
	font-weight: 700;
	font-size: .95rem;
	margin-bottom: 0;
	box-shadow: 0 3px 0 var(--dk-navy);
}
.has-text-align-center.dk-eyebrow { display: table; margin-inline: auto; }
.dk-eyebrow--coral { background: var(--wp--preset--color--pink-tint); }
.dk-eyebrow--sky { background: var(--wp--preset--color--sky-tint); }
.dk-eyebrow--grape { background: #fff; }
.dk-eyebrow--leaf { background: #fff; }
.dk-eyebrow--orange { background: #fff; }
.dk-eyebrow--light { background: var(--dk-sunny); }

.dk-tint-pink { background-color: var(--wp--preset--color--pink-tint); }
.dk-tint-sky { background-color: var(--wp--preset--color--sky-tint); }
.dk-tint-sunny { background-color: var(--wp--preset--color--sunny-tint); }
.dk-tint-leaf { background-color: var(--wp--preset--color--leaf-tint); }
.dk-tint-grape { background-color: var(--wp--preset--color--grape-tint); }

/* Coloured bands with wavy edges */
.dk-band { position: relative; background: var(--dk-band); z-index: 1; margin-block: 40px !important; }
.dk-band::before,
.dk-band::after {
	content: "";
	position: absolute;
	left: 0; right: 0;
	height: 40px;
	background: var(--dk-band);
	-webkit-mask: var(--dk-wave) center / 100% 100% no-repeat;
	mask: var(--dk-wave) center / 100% 100% no-repeat;
	pointer-events: none;
}
.dk-band::before { top: -39px; }
.dk-band::after { bottom: -39px; transform: scale(-1, -1); }
.dk-band--grape { --dk-band: var(--wp--preset--color--grape-tint); }
.dk-band--leaf { --dk-band: var(--wp--preset--color--leaf-tint); }
.dk-band--sunny { --dk-band: var(--wp--preset--color--sunny-tint); }
.dk-band--sky { --dk-band: var(--wp--preset--color--sky-tint); }

.dk-split { align-items: center !important; gap: 2rem 3rem; margin-bottom: 2rem; }
.dk-split__art img { width: 100%; max-width: 400px; display: block; margin-inline: auto; }
@media (min-width: 782px) {
	.dk-split--reverse { flex-direction: row; }
}

/* ---------- Hero ---------- */
.dk-hero {
	position: relative;
	background: linear-gradient(180deg, #DDF4FF 0%, #FFF9EE 92%);
	padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 5vw, 3.5rem);
	overflow: hidden;
	margin-top: -28px !important;
	padding-top: calc(28px + clamp(2.5rem, 6vw, 4.5rem));
}
.dk-hero::before,
.dk-hero::after {
	content: "";
	position: absolute;
	background: url("assets/images/deco-cloud.svg") center / contain no-repeat;
	width: 160px; height: 80px;
	opacity: .9;
	animation: dk-drift 18s linear infinite alternate;
	pointer-events: none;
}
.dk-hero::before { top: 9%; left: 40%; width: 120px; height: 60px; }
.dk-hero::after { bottom: 10%; right: 46%; width: 110px; height: 55px; animation-duration: 24s; }
.dk-hero__cols { align-items: center !important; gap: 2rem; position: relative; z-index: 1; }
.dk-hero__title { margin-block: .6rem .4rem; letter-spacing: -.01em; }
.dk-rainbow-text {
	background: linear-gradient(90deg, #FF6B6B, #FF9F43, #E8A800, #4CB95A, #22A8D6, #9B5DE5);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.dk-lead { font-size: 1.22rem; color: #464a63; max-width: 34rem; }
.dk-hero__buttons { gap: 1rem; margin-top: 1.5rem; }
.dk-trust {
	list-style: none; padding: 0; margin: 1.5rem 0 0;
	display: flex; flex-wrap: wrap; gap: .5rem;
}
.dk-trust li {
	background: rgba(255, 255, 255, .85);
	border: 2px dashed rgba(43, 45, 66, .35);
	border-radius: 999px;
	padding: .2rem .85rem;
	font-weight: 700;
	font-size: .95rem;
}
.dk-hero__art img { width: 100%; max-width: 580px; display: block; margin-inline: auto; }

/* ---------- Explore cards ---------- */
.dk-explore { gap: 1.5rem !important; margin-top: 2rem; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) { .dk-explore { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .dk-explore { grid-template-columns: 1fr !important; } }
.dk-explore-card {
	border: var(--dk-border);
	border-radius: 30px;
	padding: 1.2rem 1.3rem 1.4rem;
	box-shadow: var(--dk-pop);
	transition: transform .2s ease, box-shadow .2s ease;
}
.dk-explore-card:hover { transform: translateY(-4px) rotate(-.6deg); box-shadow: var(--dk-pop-hover); }
.dk-explore-card > * { margin-block: .4rem; }
.dk-explore-card__art { margin: -.2rem 0 .3rem !important; }
.dk-explore-card__art img { display: block; width: 100%; height: 170px; object-fit: contain; }
.dk-explore-card h3 { margin-top: .2rem; }
.dk-explore-card h3 a { color: var(--dk-navy); text-decoration: none; }
.dk-explore-card p { color: #464a63; }

/* ---------- Shop by ---------- */
.dk-ages { gap: 1rem; margin-block: 1.2rem 2.8rem; }
.dk-age > .wp-block-button__link {
	color: var(--dk-navy);
	font-size: 1.25rem;
	padding: .9rem 1.6rem;
	display: inline-flex; align-items: baseline; gap: .45rem;
}
.dk-age small { font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: .85rem; opacity: .75; }
.dk-age--1 > .wp-block-button__link { background: var(--dk-sunny); }
.dk-age--2 > .wp-block-button__link { background: var(--dk-sky); }
.dk-age--3 > .wp-block-button__link { background: var(--dk-leaf); }
.dk-subjects__title { color: var(--wp--preset--color--muted); font-size: 1.2rem; }
.dk-subjects { gap: 1rem !important; margin-top: 1rem; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
@media (max-width: 781px) { .dk-subjects { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .dk-subject__icon img { width: 84px; height: 84px; } }
.dk-subject { text-align: center; }
.dk-subject__icon { margin: 0 auto !important; }
.dk-subject__icon img { width: 110px; height: 110px; display: block; margin-inline: auto; transition: transform .25s cubic-bezier(.3, 1.8, .5, 1); }
.dk-subject:hover .dk-subject__icon img { transform: translateY(-6px) scale(1.06) rotate(-4deg); }
.dk-subject__name { margin-top: .35rem !important; }
.dk-subject__name a { font-family: var(--dk-heading); font-weight: 800; font-size: 1.1rem; color: var(--dk-navy); text-decoration: none; }

/* ---------- Product cards ---------- */
.dk-products { display: grid; grid-template-columns: repeat(var(--dk-cols, 4), minmax(0, 1fr)); gap: 1.4rem; }
.dk-cols-2 { --dk-cols: 2; }
.dk-cols-3 { --dk-cols: 3; }
.dk-cols-4 { --dk-cols: 4; }
@media (max-width: 1000px) { .dk-cols-4 { --dk-cols: 3; } }
@media (max-width: 781px) { .dk-products { --dk-cols: 2 !important; gap: 1rem; } }
@media (max-width: 420px) { .dk-products { --dk-cols: 1 !important; } }

.dk-card {
	background: #fff;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	box-shadow: var(--dk-pop);
	padding: .8rem;
	transition: transform .2s ease, box-shadow .2s ease;
}
.dk-product { display: flex; flex-direction: column; gap: .5rem; position: relative; }
.dk-product:hover { transform: translateY(-4px); box-shadow: var(--dk-pop-hover); }
.dk-product__media {
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 18px;
	overflow: hidden;
	background: var(--wp--preset--color--sunny-tint);
}
.dk-product:nth-child(4n+2) .dk-product__media { background: var(--wp--preset--color--sky-tint); }
.dk-product:nth-child(4n+3) .dk-product__media { background: var(--wp--preset--color--pink-tint); }
.dk-product:nth-child(4n+4) .dk-product__media { background: var(--wp--preset--color--leaf-tint); }
.dk-product__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.dk-product__photo.is-placeholder { object-fit: contain; padding: 10%; }
.dk-badge {
	align-self: flex-start;
	background: var(--wp--preset--color--grape-tint);
	color: #5b2aa0;
	border-radius: 999px;
	font-weight: 800;
	font-size: .78rem;
	padding: .1rem .65rem;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.dk-product__title { font-size: 1.12rem; margin: 0; line-height: 1.25; }
.dk-product__title a { color: var(--dk-navy); text-decoration: none; }
.dk-product__title a:hover { color: var(--dk-grape); }
.dk-product__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.dk-product__price { font-family: var(--dk-heading); font-weight: 800; font-size: 1.2rem; color: #D94848; }
.dk-product__price del { color: var(--wp--preset--color--muted); font-size: .9rem; font-weight: 500; }
.dk-product__price ins { text-decoration: none; }
.dk-product .added_to_cart { font-weight: 800; font-size: .9rem; width: 100%; text-align: right; }

.dk-admin-note {
	border: 2px dashed var(--dk-grape);
	background: rgba(255, 255, 255, .8);
	border-radius: 14px;
	padding: .55rem .9rem;
	font-size: .9rem;
	color: #5C6078;
	margin-bottom: 1rem;
}
.dk-coming-soon { display: flex; align-items: center; gap: 1rem; max-width: 640px; }
.dk-coming-soon p { margin: 0; }

/* ---------- Club / signup ---------- */
.dk-club {
	position: relative;
	background:
		radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .25) 0 6px, transparent 7px),
		radial-gradient(circle at 85% 30%, rgba(255, 201, 60, .7) 0 7px, transparent 8px),
		radial-gradient(circle at 70% 85%, rgba(255, 255, 255, .3) 0 5px, transparent 6px),
		radial-gradient(circle at 30% 80%, rgba(255, 107, 107, .6) 0 6px, transparent 7px),
		linear-gradient(135deg, #8B4FE0 0%, #4CC9F0 100%);
	color: #fff;
	padding-block: clamp(3rem, 6vw, 4.5rem);
	margin-block: 40px !important;
}
.dk-club::before,
.dk-club::after {
	content: ""; position: absolute; left: 0; right: 0; height: 40px;
	-webkit-mask: var(--dk-wave) center / 100% 100% no-repeat;
	mask: var(--dk-wave) center / 100% 100% no-repeat;
}
.dk-club::before { top: -39px; background: #8B4FE0; background: linear-gradient(90deg, #8B4FE0, #6E8CEA); }
.dk-club::after { bottom: -39px; transform: scale(-1, -1); background: linear-gradient(270deg, #8B4FE0, #4CC9F0); }
.dk-club__cols { align-items: center !important; gap: 2rem 3rem; }
.dk-club__art img { background: #fff; border-radius: 50%; border: 4px solid var(--dk-navy); box-shadow: 0 8px 0 var(--dk-navy); width: 100%; max-width: 340px; display: block; margin-inline: auto; aspect-ratio: 1; object-fit: contain; padding: 6%; }
.dk-club__title { color: #fff !important; margin-top: .6rem; text-shadow: 0 3px 0 rgba(43, 45, 66, .35); }
.dk-club__text { font-size: 1.15rem; max-width: 36rem; }
.dk-club .dk-eyebrow { color: var(--dk-navy); }

.dk-signup { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.2rem; max-width: 40rem; }
.dk-signup input[type="text"],
.dk-signup input[type="email"] {
	flex: 1 1 12rem;
	border: 3px solid var(--dk-navy);
	border-radius: 999px;
	padding: .8rem 1.2rem;
	font: inherit;
	font-weight: 700;
	background: #fff;
	color: var(--dk-navy);
	min-width: 0;
}
.dk-signup button { flex: 0 0 auto; font-size: 1.1rem; }
.dk-signup__consent { flex: 1 1 100%; display: flex; gap: .5rem; align-items: flex-start; font-size: .92rem; }
.dk-signup__consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--dk-sunny); }
.dk-signup__error { flex: 1 1 100%; margin: 0; background: #fff; color: #B42318; border-radius: 12px; padding: .45rem .8rem; font-weight: 700; }
.dk-signup__thanks { font-family: var(--dk-heading); font-weight: 800; font-size: 1.5rem; margin: 0 0 .6rem; }
.dk-signup--done { display: block; }
.dk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.dk-page-hero .dk-signup__consent,
.dk-page-hero .dk-signup__thanks { color: var(--dk-navy); }

/* ---------- Fun facts ---------- */
.dk-facts-head { gap: 2rem; align-items: center !important; margin-bottom: 1.5rem; }
.dk-facts-head__art { flex: 0 0 auto; margin: 0 !important; }
.dk-facts-head__art img { width: 260px; display: block; }
@media (max-width: 781px) { .dk-facts-head { flex-wrap: wrap !important; } .dk-facts-head__art img { width: 200px; } }

.dk-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; margin-bottom: 2rem; list-style: none; padding: 0; }
@media (max-width: 900px) { .dk-facts { grid-template-columns: 1fr; } }
.dk-fact {
	background: #fff;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	box-shadow: var(--dk-pop);
	padding: 1.4rem 1.4rem 1.2rem;
	height: 100%;
	position: relative;
	box-sizing: border-box;
}
.dk-fact::after {
	content: "";
	position: absolute; top: -16px; right: 18px;
	width: 38px; height: 38px;
	background: url("assets/images/deco-star.svg") center / contain no-repeat;
	transform: rotate(12deg);
}
.dk-fact--1, .dk-facts-query li:nth-child(3n+2) .dk-fact { background: #FFF1C9; }
.dk-fact--2, .dk-facts-query li:nth-child(3n) .dk-fact { background: #DDF4FF; }
.dk-fact__label,
.dk-fact .dk-fact__label a {
	display: inline-block;
	font-family: var(--dk-heading);
	font-weight: 800;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #1F7A2E;
	text-decoration: none;
}
.dk-fact__title { font-size: 1.35rem; margin: .4rem 0 .5rem; }
.dk-fact__title a { color: var(--dk-navy); text-decoration: none; }
.dk-fact p { margin: 0; color: #464a63; }

/* ---------- Videos ---------- */
.dk-videos { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; margin-top: 2rem; }
.dk-video {
	position: relative;
	width: min(100%, 360px);
	aspect-ratio: 16 / 9;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	box-shadow: var(--dk-pop);
	overflow: hidden;
	padding: 0;
	background: #fff;
	cursor: pointer;
	transition: transform .2s ease;
}
.dk-video.is-short { width: min(100%, 240px); aspect-ratio: 9 / 16; }
.dk-video.is-empty { cursor: default; background: var(--wp--preset--color--pink-tint); }
.dk-video.is-empty figcaption { position: absolute; left: 0; right: 0; bottom: .6rem; text-align: center; font-family: var(--dk-heading); font-weight: 800; }
.dk-video img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dk-video.is-empty img { object-fit: contain; padding: 6%; }
.dk-video:not(.is-empty):hover { transform: translateY(-4px) rotate(.5deg); }
.dk-video__play {
	position: absolute; inset: 0; margin: auto;
	width: 68px; height: 68px;
	border-radius: 50%;
	background: var(--dk-coral);
	border: 3px solid var(--dk-navy);
	box-shadow: 0 4px 0 var(--dk-navy);
}
.dk-video__play::after {
	content: ""; position: absolute; left: 26px; top: 19px;
	border-left: 22px solid #fff; border-top: 13px solid transparent; border-bottom: 13px solid transparent;
}
.dk-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.dk-videos-section .dk-center { margin-top: 2rem; }

/* ---------- Blog cards ---------- */
.dk-posts .wp-block-post-template { gap: 1.5rem; }
@media (max-width: 781px) { .dk-posts .wp-block-post-template { grid-template-columns: 1fr !important; } }
.dk-post-card {
	background: #fff;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	box-shadow: var(--dk-pop);
	padding: .8rem .8rem 1.1rem;
	height: 100%;
	box-sizing: border-box;
	transition: transform .2s ease, box-shadow .2s ease;
}
.dk-post-card:hover { transform: translateY(-4px); box-shadow: var(--dk-pop-hover); }
.dk-post-card > * { margin-block: .45rem; padding-inline: .4rem; }
.dk-post-card .wp-block-post-featured-image { margin: 0; padding: 0; }
.dk-post-card .wp-block-post-featured-image img { border-radius: 16px; }
.dk-post-card:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 16px;
	background: var(--wp--preset--color--sunny-tint) url("assets/images/parent-kid.svg") center / contain no-repeat;
}
.wp-block-post:nth-child(3n+2) .dk-post-card:not(:has(.wp-block-post-featured-image))::before { background-color: var(--wp--preset--color--sky-tint); background-image: url("assets/images/kid-stories.svg"); }
.wp-block-post:nth-child(3n) .dk-post-card:not(:has(.wp-block-post-featured-image))::before { background-color: var(--wp--preset--color--pink-tint); background-image: url("assets/images/kid-trackers.svg"); }
.dk-post-card .wp-block-post-title { font-size: 1.3rem; }
.dk-post-card .wp-block-post-excerpt__excerpt { color: #464a63; margin: 0; }
.dk-post-card__cat a {
	display: inline-block;
	background: var(--wp--preset--color--leaf-tint);
	color: #1F7A2E;
	border-radius: 999px;
	padding: .05rem .7rem;
	font-weight: 800;
	font-size: .8rem;
	text-decoration: none;
}
.dk-post-card__date { color: var(--wp--preset--color--muted); font-size: .88rem; }
.wp-block-query-pagination { margin-top: 2.5rem; font-family: var(--dk-heading); font-weight: 800; }
.wp-block-query-pagination a, .wp-block-query-pagination .current {
	display: inline-flex; min-width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center;
	border: 2px solid var(--dk-navy); border-radius: 999px; padding: 0 .7rem; text-decoration: none; color: var(--dk-navy); background: #fff;
}
.wp-block-query-pagination .current { background: var(--dk-sunny); }

/* ---------- Why cards ---------- */
.dk-why { gap: 1.5rem !important; margin-top: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .dk-why { grid-template-columns: 1fr !important; } }
.dk-why-card {
	border: var(--dk-border);
	border-radius: 28px;
	box-shadow: var(--dk-pop);
	padding: 1.5rem 1.6rem;
}
.dk-why-card > * { margin-block: .35rem; }
.dk-why-card__icon {
	font-size: 2rem;
	width: 64px; height: 64px;
	display: flex; align-items: center; justify-content: center;
	background: #fff;
	border: 3px solid var(--dk-navy);
	border-radius: 20px;
	transform: rotate(-6deg);
	margin-bottom: .6rem !important;
	margin-left: 0 !important;
}

/* ---------- Page hero, articles ---------- */
.dk-page-hero {
	padding-block: clamp(2.5rem, 6vw, 4rem);
	border-radius: 0 0 48px 48px;
	margin-top: -28px !important;
	padding-top: calc(28px + clamp(2.5rem, 6vw, 4rem));
	border-bottom: var(--dk-border);
}
.dk-page-hero--slim { padding-bottom: 2.5rem; }
.dk-page-hero .dk-split { margin-bottom: 0; }
.dk-page-hero h1 { margin-block: .6rem .4rem; }
.dk-banner-art img { max-width: 320px !important; }

.dk-article { padding-block: clamp(2.5rem, 6vw, 4rem); }
.dk-article__title { margin-block: .3rem .5rem; }
.dk-article__meta { color: var(--wp--preset--color--muted); gap: .3rem 1rem; font-size: .95rem; }
.dk-article__meta > * { margin: 0; }
.dk-article .wp-block-post-featured-image img { border-radius: 28px; border: var(--dk-border); }
.dk-article .wp-block-post-content h2 { margin-top: 2.2rem; }
.dk-article .wp-block-post-content img { border-radius: 20px; }
.dk-article .wp-block-post-content li { margin-bottom: .4rem; }
.dk-article .wp-block-post-navigation-link { display: inline-block; margin-right: 1.5rem; font-family: var(--dk-heading); font-weight: 700; }

.dk-prose { max-width: 780px; }
.dk-checklist { list-style: none; padding-left: 0; }
.dk-checklist li { position: relative; padding-left: 2.1rem; margin-bottom: .55rem; font-weight: 600; }
.dk-checklist li::before {
	content: "✓";
	position: absolute; left: 0; top: .05rem;
	width: 1.5rem; height: 1.5rem;
	border-radius: 50%;
	background: var(--dk-leaf);
	color: #fff;
	font-weight: 900;
	font-size: .85rem;
	display: flex; align-items: center; justify-content: center;
	border: 2px solid var(--dk-navy);
}

.dk-post-cta {
	margin-top: 3rem;
	background: var(--wp--preset--color--sunny-tint);
	border: var(--dk-border);
	border-radius: 28px;
	box-shadow: var(--dk-pop);
	padding: 1.5rem 1.8rem;
	position: relative;
	overflow: hidden;
}
.dk-post-cta h3 { margin-top: 0; }
.dk-post-cta__art { float: right; margin: 0 0 0 1rem !important; }
.dk-post-cta__art img { width: 160px; }
@media (max-width: 600px) { .dk-post-cta__art { float: none; } }

.wp-block-details {
	background: #fff;
	border: 2px solid var(--dk-navy);
	border-radius: 18px;
	padding: .8rem 1.1rem;
	margin-bottom: .8rem;
}
.wp-block-details summary { font-family: var(--dk-heading); font-weight: 800; cursor: pointer; }

.dk-404 { text-align: center; }
.dk-404__art img { width: 320px; }
.dk-search-big { max-width: 520px; margin-inline: auto !important; }
.dk-search-big .wp-block-search__input { border: 3px solid var(--dk-navy); border-radius: 999px; padding: .7rem 1.2rem; font: inherit; }
.dk-search-big .wp-block-search__inside-wrapper { gap: .5rem; }
.dk-search-big .wp-block-search__button { border-radius: 999px; margin-left: 0; }

/* Comments */
.dk-comments { margin-top: 3rem; }
.dk-comments textarea, .dk-comments input[type="text"], .dk-comments input[type="email"], .dk-comments input[type="url"] {
	border: 2px solid var(--dk-navy); border-radius: 14px; padding: .6rem .8rem; font: inherit; width: 100%; box-sizing: border-box;
}

/* ---------- Footer ---------- */
.dk-site-footer { margin-top: 60px; }
.dk-footer {
	position: relative;
	background: var(--dk-navy);
	color: rgba(255, 255, 255, .88);
	padding-block: 3.5rem 1.5rem;
}
.dk-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: -39px; height: 40px;
	background: var(--dk-navy);
	-webkit-mask: var(--dk-wave) center / 100% 100% no-repeat;
	mask: var(--dk-wave) center / 100% 100% no-repeat;
}
.dk-footer .wp-block-site-title, .dk-footer .wp-block-site-title a { color: #fff; }
.dk-footer__about { max-width: 22rem; }
.dk-footer__title { color: var(--dk-sunny) !important; font-size: 1.15rem; margin-bottom: .6rem; }
.dk-footer__links { list-style: none; padding: 0; margin: 0; }
.dk-footer__links li { margin-bottom: .45rem; }
.dk-footer a { color: #fff; text-decoration: none; }
.dk-footer a:hover { color: var(--dk-sunny); text-decoration: underline; }
.dk-footer__bottom {
	border-top: 2px dashed rgba(255, 255, 255, .25);
	margin-top: 2.5rem !important;
	padding-top: 1.2rem;
	font-size: .9rem;
	gap: .5rem 2rem;
}
.dk-footer__bottom p { margin: 0; }
.dk-social { display: flex; gap: .5rem; flex-wrap: wrap; }
.dk-social__link {
	border: 2px solid #fff; border-radius: 999px; padding: .25rem .9rem; font-weight: 800; font-size: .9rem;
}
.dk-social--youtube { background: #FF3B3B; border-color: #FF3B3B; }
.dk-social--instagram { background: #C13584; border-color: #C13584; }
.dk-social--pinterest { background: #E60023; border-color: #E60023; }

/* ---------- WooCommerce touches ---------- */
.woocommerce ul.products li.product,
.wc-block-product-template .wc-block-product,
.wc-block-grid__product {
	background: #fff;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	box-shadow: var(--dk-pop);
	padding: .8rem !important;
}
.wc-block-components-product-image img,
.woocommerce ul.products li.product img { border-radius: 16px; }
.wc-block-components-product-price,
.woocommerce .price { font-family: var(--dk-heading); font-weight: 800; color: #D94848; }
.wc-block-components-button:not(.is-link),
.woocommerce a.button, .woocommerce button.button, .woocommerce .button {
	border-radius: 999px !important;
	font-family: var(--dk-heading);
	font-weight: 800;
}
.woocommerce-store-notice, p.demo_store { background: var(--dk-grape); font-family: var(--dk-heading); }

/* ---------- Motion ---------- */
.dk-float img { animation: dk-float 6s ease-in-out infinite; }
.dk-wiggle img { transition: transform .4s cubic-bezier(.3, 1.8, .5, 1); }
.dk-wiggle:hover img { transform: rotate(-3deg) scale(1.03); }
@keyframes dk-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
@keyframes dk-drift {
	from { transform: translateX(0); }
	to { transform: translateX(60px); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
