/* Apple Tots Montessori – block styles and layout helpers.
   Loaded on the front end and inside the block editor. */

:root{
	--at-frame:#FFFFFF;
	--at-shadow:rgba(40,60,20,.14);
	--at-heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.2c-.4 0-7.6-4.6-9.8-9.1C.6 8.6 2.6 4.4 6.5 4.1c2.3-.2 4.3 1.1 5.5 3 1.2-1.9 3.2-3.2 5.5-3 3.9.3 5.9 4.5 4.3 8-2.2 4.5-9.4 9.1-9.8 9.1z'/%3E%3C/svg%3E");
}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
:where(.wp-site-blocks) *:focus-visible{outline:3px solid var(--wp--preset--color--heart);outline-offset:3px}
figure{margin:0}

/* ---------- Paragraph styles ---------- */
.is-style-eyebrow{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:var(--wp--preset--font-size--small);text-transform:uppercase;letter-spacing:.12em;color:var(--wp--preset--color--heart)}
.is-style-handwritten{font-family:var(--wp--preset--font-family--hand);font-size:1.4rem;line-height:1.2;color:var(--wp--preset--color--leaf-deep)}
.is-style-lede{font-size:var(--wp--preset--font-size--large);line-height:1.55;color:var(--wp--preset--color--ink-soft);max-width:60ch}

/* ---------- Heading with heart ---------- */
.is-style-heart{display:flex;align-items:center;gap:.5rem}
.is-style-heart::before{content:"";flex:none;width:.85em;height:.85em;background:var(--wp--preset--color--heart);-webkit-mask:var(--at-heart) center/contain no-repeat;mask:var(--at-heart) center/contain no-repeat}
h2.is-style-heart,h3.is-style-heart.at-word{font-size:2rem;font-weight:700;color:var(--wp--preset--color--leaf-deep)}

/* ---------- Image styles ---------- */
.wp-block-image.is-style-apple-frame{background:var(--at-frame);padding:8px;border-radius:46% 54% 42% 58% / 52% 44% 56% 48%;box-shadow:0 14px 30px -12px var(--at-shadow)}
.wp-block-image.is-style-apple-frame img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:inherit}
.wp-block-image[class*="is-style-snapshot"]{background:var(--at-frame);padding:8px 8px 10px;border-radius:22px;box-shadow:0 12px 26px -12px var(--at-shadow)}
.wp-block-image[class*="is-style-snapshot"] img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.wp-block-image[class*="is-style-snapshot"] figcaption{font-family:var(--wp--preset--font-family--hand);font-size:1.15rem;line-height:1.2;color:#3D5A1E;text-align:center;margin:.4rem 0 0}
.wp-block-image.is-style-snapshot-tilt-left{rotate:-2.5deg}
.wp-block-image.is-style-snapshot-tilt-right{rotate:2deg}
.wp-block-image.at-tall img{aspect-ratio:2/3}
.wp-block-image.at-natural img{aspect-ratio:auto}
.wp-block-image.is-style-portrait-circle img{width:150px;height:150px;object-fit:cover;object-position:top;border-radius:50%;border:6px solid var(--at-frame);box-shadow:0 10px 24px -10px var(--at-shadow)}

/* ---------- Group styles ---------- */
.wp-block-group.is-style-card,.at-card{background:var(--wp--preset--color--white);border:1.5px solid var(--wp--preset--color--line);border-radius:20px;padding:1.4rem}
.wp-block-group.is-style-card p,.at-card p{color:var(--wp--preset--color--ink-soft)}
.wp-block-group.is-style-note{border-left:4px solid var(--wp--preset--color--leaf);background:var(--wp--preset--color--white);padding:1rem 1.2rem;border-radius:0 14px 14px 0;color:var(--wp--preset--color--ink-soft)}
.at-prose{max-width:64ch}
.at-big{font-size:1.4rem;font-weight:800;color:var(--wp--preset--color--ink)!important}

/* ---------- List styles ---------- */
ul.is-style-hearts{list-style:none;padding:0;display:grid;gap:.7rem}
ul.is-style-hearts li{position:relative;padding-left:1.9rem}
ul.is-style-hearts li::before{content:"";position:absolute;left:0;top:.38em;width:1.05rem;height:1.05rem;background:var(--wp--preset--color--heart);-webkit-mask:var(--at-heart) center/contain no-repeat;mask:var(--at-heart) center/contain no-repeat}
ul.is-style-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
ul.is-style-chips li{background:var(--wp--preset--color--white);border:1.5px solid var(--wp--preset--color--line);border-radius:999px;padding:.4rem .85rem .4rem 2rem;font-weight:700;font-size:.92rem;position:relative}
ul.is-style-chips li::before{content:"";position:absolute;left:.8rem;top:50%;translate:0 -50%;width:.85rem;height:.85rem;background:var(--wp--preset--color--heart);-webkit-mask:var(--at-heart) center/contain no-repeat;mask:var(--at-heart) center/contain no-repeat}

/* ---------- Numbered steps (columns) ---------- */
.wp-block-columns.is-style-steps{counter-reset:at-step}
.wp-block-columns.is-style-steps>.wp-block-column{counter-increment:at-step;background:var(--wp--preset--color--white);border:1.5px solid var(--wp--preset--color--line);border-radius:20px;padding:1.4rem}
.wp-block-columns.is-style-steps>.wp-block-column::before{content:counter(at-step);display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--wp--preset--color--leaf);color:#fff;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:1.3rem;margin-bottom:.6rem}

/* ---------- Fees table ---------- */
.wp-block-table.is-style-fees{overflow-x:auto}
.wp-block-table.is-style-fees table{border-collapse:separate;border-spacing:0;width:100%;background:var(--wp--preset--color--white);border:1.5px solid var(--wp--preset--color--line);border-radius:18px;overflow:hidden}
.wp-block-table.is-style-fees th,.wp-block-table.is-style-fees td{border:0;border-bottom:1px solid var(--wp--preset--color--line);padding:.85rem 1.1rem;text-align:left;vertical-align:top}
.wp-block-table.is-style-fees tr:last-child td{border-bottom:0}
.wp-block-table.is-style-fees thead{border:0}
.wp-block-table.is-style-fees th{font-family:var(--wp--preset--font-family--display);font-weight:600;background:var(--wp--preset--color--mist)}
.wp-block-table.is-style-fees td:not(:first-child){font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- Header ---------- */
.at-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--wp--preset--color--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--wp--preset--color--line)}
.admin-bar .at-header{top:32px}
@media (max-width:782px){.admin-bar .at-header{top:46px}}
@media (max-width:600px){.admin-bar .at-header{top:0}}
.at-header .wp-block-site-logo img{height:56px;width:auto}
.at-header .wp-block-navigation-item__content{padding:.45rem .7rem;border-radius:999px}
.at-header .wp-block-navigation-item__content:hover{background:var(--wp--preset--color--mist)}
.at-header .current-menu-item>.wp-block-navigation-item__content{background:var(--wp--preset--color--mist);color:var(--wp--preset--color--leaf-deep)}
.at-header .at-nav-cta>.wp-block-navigation-item__content{background:var(--wp--preset--color--leaf-deep);color:#fff!important}
.at-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:.6rem 1rem}
.at-header .wp-block-navigation__responsive-container-open{border:2px solid var(--wp--preset--color--line);border-radius:12px;padding:.35rem}

/* ---------- Hero ---------- */
.at-hero-art{position:relative;aspect-ratio:1/.92;max-width:560px;width:100%;margin-inline:auto}
.at-hero-art>.wp-block-image{position:absolute;margin:0!important}
.at-hero-art>.wp-block-image:nth-child(1){width:66%;left:4%;top:6%}
.at-hero-art>.wp-block-image:nth-child(2){width:40%;right:0;top:0;rotate:4deg}
.at-hero-art>.wp-block-image:nth-child(3){width:44%;right:4%;bottom:0;rotate:-3deg}
.at-hero-art::before,.at-hero-art::after{content:"";position:absolute;width:2.2rem;height:2.2rem;-webkit-mask:var(--at-heart) center/contain no-repeat;mask:var(--at-heart) center/contain no-repeat;z-index:2}
.at-hero-art::before{background:var(--wp--preset--color--heart);left:0;bottom:12%;rotate:-14deg}
.at-hero-art::after{background:var(--wp--preset--color--leaf);width:1.6rem;height:1.6rem;left:58%;top:0;rotate:12deg}
.at-hero-title .at-tag{display:block;font-family:var(--wp--preset--font-family--hand);font-weight:400;color:var(--wp--preset--color--leaf-deep);font-size:.6em;margin-top:.35rem}

/* ---------- Page banner ---------- */
.at-banner{position:relative;overflow:hidden}
.at-banner::after{content:"";position:absolute;right:max(16px,4vw);bottom:-8px;width:90px;height:168px;background:url("../images/apples.png") bottom/contain no-repeat;pointer-events:none}
@media (max-width:640px){.at-banner::after{display:none}}

/* ---------- Paired photos ---------- */
@media (min-width:782px){.at-offset{margin-top:2.5rem!important}}
@media (min-width:782px){.wp-block-columns.at-reverse{flex-direction:row-reverse}}

/* ---------- Quote ---------- */
.at-quote .wp-block-quote{margin:0;padding:0}
.at-quote .wp-block-quote cite{display:block;margin-top:.8rem;font-style:normal;font-family:var(--wp--preset--font-family--hand);font-size:1.3rem;color:var(--wp--preset--color--leaf-deep)}
@media (max-width:781px){.at-quote{text-align:center}.at-quote .wp-block-image{display:flex;justify-content:center}}

/* ---------- CTA band ---------- */
.at-cta-band h2,.at-cta-band p{color:#fff}
.at-cta-band p{color:#E7F3DC}
.at-cta-band .wp-block-button .wp-block-button__link{background:#fff;color:#1E7A36;border-color:#fff}
.at-cta-band .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.at-cta-band .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.12)}

/* ---------- Outline buttons ---------- */
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--wp--preset--color--leaf-deep);border-color:var(--wp--preset--color--leaf)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--mist)}

/* ---------- Gallery ---------- */
.wp-block-gallery.at-gallery .wp-block-image{border-radius:14px;overflow:hidden;background:var(--at-frame);padding:5px;box-shadow:0 10px 22px -12px var(--at-shadow)}
.wp-block-gallery.at-gallery .wp-block-image img{border-radius:10px}

/* ---------- Footer ---------- */
.at-footer{border-top:1px solid var(--wp--preset--color--line);font-size:.95rem}
.at-footer .wp-block-site-logo img{height:64px;width:auto}
.at-footer .wp-block-page-list{list-style:none;padding:0;display:grid;gap:.35rem}
.at-footer a{color:var(--wp--preset--color--ink);text-decoration:none}
.at-footer a:hover{color:var(--wp--preset--color--leaf-deep);text-decoration:underline}
.at-legal{border-top:1px dashed var(--wp--preset--color--line);color:var(--wp--preset--color--ink-soft);font-size:.85rem}

/* ---------- Editor-only reminder notes ---------- */
.at-editor-note{border:2px dashed var(--wp--preset--color--heart);background:var(--wp--preset--color--peach);border-radius:14px;padding:1rem 1.2rem}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ---------- Collapse the menu to the hamburger below 1024px (WordPress default is 600px) ---------- */
@media (min-width:600px) and (max-width:1023px){
	.at-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
	.at-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
}

/* ---------- Refinements ---------- */
/* Intro text and prose line up with the content edge instead of centring */
.is-layout-constrained>.is-style-lede,.is-layout-constrained>.at-prose{margin-left:max(0px,calc((100% - var(--wp--style--global--content-size))/2))!important;margin-right:auto!important}
/* Even, square gallery tiles */
.wp-block-gallery.at-gallery.is-cropped .wp-block-image{align-self:flex-start}
.wp-block-gallery.at-gallery.is-cropped .wp-block-image img{aspect-ratio:1/1;height:auto!important;object-fit:cover}
/* Banner apples only where there is room */
@media (max-width:1100px){.at-banner::after{display:none}}
/* Long email addresses */
.wp-block-paragraph a[href^="mailto:"],p a[href^="mailto:"]{overflow-wrap:anywhere}

/* ---------- Contact Form 7 ---------- */
.wpcf7 .at-cf7{display:grid;gap:1rem}
.wpcf7 .at-cf7-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.wpcf7 .at-cf7-row{grid-template-columns:1fr}}
.wpcf7 .at-cf7-field{display:grid;gap:.35rem;font-weight:700;font-size:.95rem;color:var(--wp--preset--color--ink)}
.wpcf7 .at-cf7-req{color:var(--wp--preset--color--heart)}
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 input[type="date"],.wpcf7 select,.wpcf7 textarea{width:100%;box-sizing:border-box;font:inherit;font-weight:400;font-size:1rem;padding:.7rem .85rem;border:1.5px solid var(--wp--preset--color--line);border-radius:12px;background:var(--wp--preset--color--paper);color:var(--wp--preset--color--ink);transition:border-color .15s,box-shadow .15s}
.wpcf7 select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E7A36' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:12px;padding-right:2.4rem}
.wpcf7 textarea{min-height:8rem;resize:vertical}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--wp--preset--color--leaf);box-shadow:0 0 0 3px rgba(122,185,41,.3)}
.wpcf7 .at-cf7-check{font-size:.95rem;color:var(--wp--preset--color--ink-soft)}
.wpcf7 .at-cf7-check .wpcf7-list-item{margin:0}
.wpcf7 .at-cf7-check label{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}
.wpcf7 .at-cf7-consent .wpcf7-acceptance label,.wpcf7 .at-cf7-consent{line-height:1.5}
.wpcf7 input[type="checkbox"]{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--wp--preset--color--leaf-deep);flex:none}
.wpcf7 .at-cf7-submit{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.wpcf7 input[type="submit"]{font:700 1rem var(--wp--preset--font-family--body);padding:.8rem 1.6rem;border-radius:999px;border:2px solid var(--wp--preset--color--leaf-deep);background:var(--wp--preset--color--leaf-deep);color:#fff;cursor:pointer}
.wpcf7 input[type="submit"]:hover{background:#17652C;border-color:#17652C}
.wpcf7 input[type="submit"]:disabled{opacity:.55;cursor:not-allowed}
.wpcf7 .wpcf7-spinner{margin:0}
.wpcf7 .wpcf7-not-valid{border-color:#C2410C!important}
.wpcf7 .wpcf7-not-valid-tip{color:#B23A0B;font-weight:600;font-size:.88rem;margin-top:.3rem}
.wpcf7 form .wpcf7-response-output{margin:1rem 0 0;padding:.85rem 1rem;border-radius:12px;border:0;font-weight:700}
.wpcf7 form.sent .wpcf7-response-output{background:var(--wp--preset--color--mist);color:var(--wp--preset--color--leaf-deep)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{background:var(--wp--preset--color--peach);color:#8A3A00}
