/*
Theme Name: Bright Mischief
Author: Bright Mischief
Description: A playful, lightweight native block theme for children's finance printables. Edit every homepage section in the WordPress Site Editor. No page builder or external assets required.
Version: 1.0.0
Requires at least: 6.6
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: bright-mischief
Tags: block-patterns, full-site-editing, custom-colors, editor-style, one-column, wide-blocks
*/
/* Palette values follow Site Editor changes to the matching theme presets. */
:root {
 --bm-cream:var(--wp--preset--color--cream,#fff9ef);
 --bm-navy:var(--wp--preset--color--navy,#243a4a);
 --bm-yellow:var(--wp--preset--color--sunshine,#f7cf55);
 --bm-coral:var(--wp--preset--color--coral,#f28c78);
 --bm-mint:var(--wp--preset--color--mint,#bfd5bf);
 --bm-blue:var(--wp--preset--color--sky,#b9dcea);
 --bm-paper:var(--wp--preset--color--white,#fff);
}
*,*::before,*::after {box-sizing:border-box}
html {scroll-padding-top:2rem}
body {margin:0}
img {max-width:100%;height:auto}
a {text-underline-offset:.2em}
a:hover {text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
 outline:3px solid var(--bm-navy);outline-offset:5px;
}
.wp-site-blocks {padding:0}
.wp-site-blocks > *, .bm-main > * {margin-block-start:0}
.bm-container {width:min(1160px,calc(100% - 80px));margin-inline:auto}
.bm-container p {margin-top:0}
.bm-header {padding-block:27px;background:var(--bm-cream)}
.bm-header-inner {display:flex;align-items:center;justify-content:space-between;gap:30px}
.bm-header-inner > * {margin:0}
.bm-wordmark {font-size:25px;font-weight:900;line-height:.92;letter-spacing:-1.4px}
.bm-wordmark a {display:flex;align-items:center;gap:11px;text-decoration:none}
.bm-brand-bottom {display:block}
.bm-brand-dot {color:var(--bm-navy)}
.bm-brand-sun {font-size:54px;line-height:1;color:var(--bm-navy);background:var(--bm-yellow);border-radius:50%;width:51px;height:51px;display:grid;place-items:center;letter-spacing:0}
.bm-nav {display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}
.bm-nav p {margin:0}
.bm-nav a {text-decoration:none}
.bm-nav a:hover {text-decoration:underline}
.wp-block-buttons {display:flex;flex-wrap:wrap;gap:12px}
.wp-block-button {margin:0}
.wp-block-button__link {display:inline-block;text-decoration:none;line-height:1.4;border:2px solid transparent;transition:box-shadow .15s ease}
.wp-block-button__link:hover {box-shadow:0 4px 0 var(--bm-coral)}
.wp-block-button.is-style-outline > .wp-block-button__link {background:transparent;color:var(--bm-navy);border:2px solid var(--bm-navy);padding:calc(.9rem - 0px) calc(1.4rem - 0px)}
.bm-header .wp-block-button__link {font-size:13px;padding:.65rem 1.25rem;background:var(--bm-yellow);color:var(--bm-navy)}
.bm-hero {padding:48px 0 72px}
.bm-hero-grid {display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:55px}
.bm-hero-grid > * {margin:0;min-width:0}
.bm-eyebrow {font-size:11px;font-weight:800;letter-spacing:1.9px;line-height:1.5;margin-bottom:16px}
.bm-hero h1 {font-size:clamp(3rem,5.5vw,4.75rem);letter-spacing:-.055em;line-height:1.05;margin:0 0 26px}
.bm-highlight {background:linear-gradient(transparent 69%,var(--bm-yellow) 69%,var(--bm-yellow) 93%,transparent 93%)}
.bm-lead {font-size:18px;line-height:1.65;max-width:445px;margin-bottom:27px}
.bm-small {font-size:12px;line-height:1.6}
.bm-hero-copy > .bm-small {margin-top:20px;margin-bottom:0}
.bm-hero-art {position:relative;padding:58px 26px 24px;background:var(--bm-blue);border-radius:46% 44% 35% 37%;min-height:430px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.bm-hero-art::before {content:"";position:absolute;left:-13px;bottom:45px;width:75px;height:75px;border-radius:50%;background:var(--bm-coral);z-index:-1}
.bm-hero-art::after {content:"";position:absolute;right:10px;top:22px;width:60px;height:60px;background:var(--bm-yellow);clip-path:polygon(50% 0,61% 32%,90% 10%,70% 42%,100% 50%,70% 59%,90% 90%,60% 71%,50% 100%,40% 70%,10% 90%,29% 58%,0 50%,30% 40%,10% 10%,40% 30%);z-index:-1}
.bm-sticker {position:absolute;top:18px;left:10px;font-size:12px;font-weight:800;background:var(--bm-mint);padding:12px 17px;border-radius:999px;transform:rotate(-7deg);z-index:2}
.bm-worksheet {padding:31px 23px 23px;background:var(--bm-paper);border:1px solid var(--bm-navy);border-radius:8px;transform:rotate(-5deg);box-shadow:10px 13px 0 #243a4a15;margin:0}
.bm-sheet-eyebrow {font-size:9px;font-weight:800;letter-spacing:1.7px;text-align:center;margin-bottom:12px}
.bm-worksheet h3 {font-size:30px;text-align:center;line-height:1.12;margin:0 0 26px;letter-spacing:-1px}
.bm-jars {display:flex;align-items:stretch;justify-content:center;gap:13px;margin:0}
.bm-jar {position:relative;width:29%;max-width:104px;min-height:120px;border:2px solid var(--bm-navy);border-radius:12px 12px 23px 23px;margin:0;padding:20px 2px 10px;background:var(--bm-cream)}
.bm-jar::before {content:"";position:absolute;top:-7px;left:7%;width:86%;height:11px;border:2px solid var(--bm-navy);border-radius:4px;background:var(--bm-mint)}
.bm-jar-label {font-size:9px;font-weight:900;letter-spacing:1.5px;text-align:center;margin:0 0 12px}
.bm-coin {font-size:25px;font-weight:700;line-height:1.2;display:grid;place-items:center;width:43px;height:43px;margin:0 auto!important;border:1.5px solid var(--bm-navy);border-radius:50%}
.bm-jar-yellow .bm-coin {background:var(--bm-yellow)}
.bm-jar-coral .bm-coin {background:var(--bm-coral)}
.bm-jar-blue .bm-coin {background:var(--bm-blue)}
.bm-sheet-note {font-size:10px;text-align:center;margin:18px 0 0!important}
.bm-art-caption {text-align:center;font-size:13px;font-weight:800;letter-spacing:1px;transform:rotate(-5deg);margin:28px 0 0}
.bm-features {background:var(--bm-paper);padding:66px 0 68px;border-block:1px solid #243a4a18}
.bm-section-heading {text-align:center;max-width:680px;margin:0 auto 38px}
.bm-section-heading h2 {font-size:clamp(1.9rem,3.2vw,2.6rem);margin:0 0 15px}
.bm-section-heading > p:last-child {margin-bottom:0}
.bm-feature-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:0}
.bm-feature {text-align:center;margin:0}
.bm-feature-icon {width:49px;height:49px;border-radius:17px;display:grid;place-items:center;font-size:16px;font-weight:800;margin:0 auto 19px!important;transform:rotate(-6deg)}
.bm-yellow {background:var(--bm-yellow)}
.bm-mint {background:var(--bm-mint)}
.bm-blue {background:var(--bm-blue)}
.bm-feature h3 {font-size:20px;margin:0 0 12px}
.bm-feature > p:last-child {font-size:14px;margin-bottom:0}
.bm-products {padding:76px 0}
.bm-product-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:0}
.bm-product-card {border:1px solid #243a4a30;border-radius:21px;overflow:hidden;background:var(--bm-paper);margin:0;min-width:0}
.bm-product-art {height:235px;padding:29px 24px;display:flex;align-items:center;justify-content:center;margin:0}
.bm-product-art .bm-jars {width:100%;gap:8px;transform:rotate(-5deg)}
.bm-product-art .bm-jar {width:33%;min-height:119px;background:var(--bm-paper)}
.bm-product-art .bm-jar-label {font-size:8px;letter-spacing:1px}
.bm-mini-sheet {background:var(--bm-paper);border:1px solid var(--bm-navy);border-radius:4px;padding:20px;width:90%;transform:rotate(5deg);box-shadow:6px 7px 0 #243a4a12;margin:0}
.bm-tracker {display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}
.bm-step {border:1px solid var(--bm-navy);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:9px;margin:0 auto!important}
.bm-step:nth-child(-n+4) {background:var(--bm-coral)}
.bm-shop-tags {display:flex;gap:8px;justify-content:center;margin:0}
.bm-price-tag {font-size:8px;text-align:center;background:var(--bm-yellow);border:1px dashed var(--bm-navy);border-radius:20px 20px 3px 3px;padding:25px 9px 14px;margin:0}
.bm-price-tag:nth-child(2) {background:var(--bm-mint)}
.bm-card-copy {padding:25px;margin:0}
.bm-card-copy .bm-eyebrow {font-size:9px;letter-spacing:1.4px;margin-bottom:12px}
.bm-card-copy h3 {font-size:22px;line-height:1.2;margin:0 0 12px}
.bm-card-copy > p {font-size:14px}
.bm-card-copy .bm-sample {display:inline-block;font-size:11px;border-top:1px solid #243a4a26;padding-top:13px;width:100%;margin-bottom:0}
.bm-collection-note {font-size:14px}
.bm-testimonials {padding:58px 0 68px;background:var(--bm-mint)}
.bm-testimonial-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0}
.bm-testimonial {border-radius:22px;padding:30px;background:var(--bm-cream);margin:0}
.bm-quote {font-size:20px;line-height:1.55;font-weight:600;margin-bottom:19px}
.bm-testimonial .bm-small {margin-bottom:0;font-size:11px}
.bm-cta {padding:72px 0;background:var(--bm-yellow);text-align:center}
.bm-cta-inner {max-width:710px}
.bm-cta h2 {font-size:clamp(2.2rem,4.7vw,3.5rem);margin:0 0 20px}
.bm-cta p:not(.bm-eyebrow) {max-width:490px;margin:0 auto 25px;font-size:16px}
.bm-cta .wp-block-buttons {justify-content:center}
.bm-footer {padding:38px 0 25px;background:var(--bm-cream)}
.bm-footer-inner {display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.bm-footer-inner > * {margin:0}
.bm-footer-brand {font-size:21px;font-weight:900;letter-spacing:-.7px;margin-bottom:8px}
.bm-footer-brand a {text-decoration:none}
.bm-footer-intro .bm-small {margin:0}
.bm-footer-links {display:flex;gap:25px;font-size:12px}
.bm-footer-links p {margin:0}
.bm-copyright {grid-column:1/-1;font-size:11px;border-top:1px solid #243a4a25;padding-top:20px;margin-top:12px}
.bm-content {min-height:50vh;padding-block:60px}
.bm-content .wp-block-post-template {padding:0;list-style:none}
.bm-content .wp-block-post-template > li {margin-bottom:36px}
.bm-content .wp-block-query-pagination {display:flex;gap:20px;flex-wrap:wrap}
.bm-content .wp-block-query-pagination-numbers > * {margin-inline:5px}
.bm-content input,.bm-content button {font:inherit;padding:.7rem;border:1px solid var(--bm-navy);border-radius:8px}
.bm-content .alignwide {max-width:100%}
.bm-content .alignfull {width:100%;margin-inline:0}
.bm-content pre {overflow:auto}
/* Keep the editor's pattern sections consistent with the front end. */
.editor-styles-wrapper .bm-main {max-width:none}
@media (max-width:900px) {
 .bm-container {width:calc(100% - 48px)}
 .bm-hero-grid {gap:28px;grid-template-columns:1fr 1fr}
 .bm-hero-art {padding:53px 13px 22px;min-height:360px}
 .bm-worksheet {padding:27px 13px 20px}
 .bm-worksheet h3 {font-size:26px}
 .bm-jars {gap:7px}
 .bm-jar {min-height:107px}
 .bm-coin {width:35px;height:35px;font-size:21px}
 .bm-jar-label {font-size:8px;letter-spacing:1px}
 .bm-feature-grid {gap:25px}
 .bm-product-grid {gap:15px}
 .bm-product-art {padding:25px 12px;height:210px}
 .bm-card-copy {padding:20px}
 .bm-nav {gap:17px}
 .bm-mini-sheet {padding:15px;width:100%}
 .bm-price-tag {padding:22px 6px 12px}
}
@media (max-width:700px) {
 .bm-container {width:calc(100% - 36px)}
 .bm-header {padding:21px 0}
 .bm-header-inner {flex-wrap:wrap;gap:22px}
 .bm-header-inner > .wp-block-buttons {margin-left:auto}
 .bm-wordmark {font-size:23px}
 .bm-brand-sun {width:43px;height:43px;font-size:46px}
 .bm-nav {order:3;justify-content:center;width:100%;gap:29px;border-top:1px solid #243a4a20;padding-top:16px}
 .bm-hero {padding:20px 0 48px}
 .bm-hero-grid {grid-template-columns:1fr;gap:35px}
 .bm-hero h1 {font-size:clamp(2.7rem,10.5vw,4.2rem)}
 .bm-lead {font-size:17px;max-width:100%}
 .bm-hero-art {width:min(440px,96%);margin:0 auto;min-height:390px;padding:57px 22px 22px}
 .bm-worksheet h3 {font-size:30px}
 .bm-jars {gap:12px}
 .bm-jar {min-height:117px}
 .bm-coin {width:42px;height:42px}
 .bm-sticker {left:6px;font-size:11px}
 .bm-features,.bm-products,.bm-testimonials,.bm-cta {padding:49px 0}
 .bm-feature-grid,.bm-product-grid,.bm-testimonial-grid {grid-template-columns:1fr;gap:24px}
 .bm-feature {max-width:390px;margin:0 auto}
 .bm-feature-grid {gap:32px}
 .bm-product-card {width:100%;max-width:440px;margin:0 auto}
 .bm-product-art {height:235px;padding:30px 34px}
 .bm-mini-sheet {width:235px}
 .bm-card-copy {padding:24px}
 .bm-section-heading {margin-bottom:30px}
 .bm-testimonial {padding:25px}
 .bm-footer-inner {grid-template-columns:1fr}
 .bm-footer-links {flex-wrap:wrap;gap:14px 25px}
 .bm-copyright {grid-column:1}
 .wp-block-button__link {font-size:14px;padding:.85rem 1.1rem}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after {transition:none!important;scroll-behavior:auto!important}}
@media (forced-colors:active) {.bm-product-card,.bm-testimonial,.bm-hero-art {border:1px solid CanvasText}.bm-highlight {background:none;text-decoration:underline}}
