/*
Theme Name: Wisekal
Description: Wisekal family design, built on the reusable Build with Purpose foundation.
Template: owmlabs-base
Version: 0.5.0
Author: Bryce Wisekal
Text Domain: wisekal
Requires PHP: 8.5
Requires at least: 7.1
*/
body{background:var(--wisekal-shell-paper,var(--wp--preset--color--paper,#fffdf7));color:#172c22}
.wisekal-header,.wisekal-footer,.wisekal-content{--bwp-shell-ink:#172c22;--bwp-shell-accent:#254a38;--bwp-shell-paper:#fffdf7;font-family:var(--wp--preset--font-family--system-sans,system-ui,sans-serif)}
.wisekal-header{background:var(--wisekal-shell-paper,var(--wp--preset--color--paper,#fffdf7));color:#172c22;border-bottom:1px solid #dddcca;padding:20px clamp(20px,4vw,64px);margin:0}
.wisekal-header .bwp-shell-brand-name{font-size:28px;color:#172c22;letter-spacing:-.04em}
.wisekal-header .bwp-shell-brand-strapline{color:#546155}
.wisekal-header .wp-block-navigation-item__content{color:#254a38;text-decoration:none;font-size:15px}
.wisekal-header .wp-block-navigation-item__content:hover{text-decoration:underline;text-underline-offset:5px}
.wisekal-content{padding:clamp(40px,6vw,88px) clamp(20px,4vw,64px);min-height:55vh;margin:0}
.wisekal-content h1{font-size:clamp(38px,5vw,68px);font-weight:750;line-height:1.08;letter-spacing:-.045em}
.wisekal-content h2{font-size:clamp(28px,3.5vw,42px);line-height:1.16;letter-spacing:-.03em}
.wisekal-content p{line-height:1.7}
.wisekal-content .wp-block-post-content>*+*{margin-block-start:28px}
.wisekal-content .wp-block-post-content>.wp-block-group+*{margin-block-start:64px}
.wisekal-content .wp-block-post-template{list-style:none;padding:0;gap:32px}
.wisekal-content .wp-block-post-template>li{border-top:1px solid #dddcca;padding-top:24px}
.wisekal-content .wp-block-post-template h2{font-size:26px;line-height:1.22}
.wisekal-content .wp-block-post-template h2 a{color:inherit;text-decoration:none}
.wisekal-content .wp-block-post-date{font-size:13px;color:#687367}
.wisekal-footer{background:#254a38;color:#fffdf7;padding:40px clamp(20px,4vw,64px);margin:0}
.wisekal-footer a{color:inherit;text-underline-offset:4px}
.wisekal-footer .bwp-shell-brand-name{font-size:25px;color:#fffdf7}
.wisekal-footer .bwp-shell-brand-strapline{color:#e0e5d9}
.wisekal-footer .bwp-shell-copyright{font-size:12px;color:#e0e5d9;margin-top:32px}
.wisekal-header :is(a,button):focus-visible,.wisekal-footer a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:600px){.wisekal-header>.wp-block-group,.wisekal-footer>.wp-block-group{gap:24px}.wisekal-header .bwp-shell-brand-name{font-size:24px}.wisekal-content .wp-block-post-template{grid-template-columns:1fr!important}.wisekal-footer .wp-block-navigation{font-size:14px}}

/* Homepage composition: artwork stays separate from live, editable interface. */
.wisekal-header .bwp-shell-brand-link:before,.wisekal-footer .bwp-shell-brand-link:before{content:"";display:block;flex:0 0 32px;width:32px;height:40px;background:url('assets/wisekal-tree.svg') center/contain no-repeat}
.wisekal-footer .bwp-shell-brand-link:before{background-image:url('assets/wisekal-tree-light.svg')}
.wisekal-home{padding:0!important;margin:0!important;background:#fffdf7}
.wisekal-home>.wp-block-post-content{max-width:none!important;margin:0!important}
.wisekal-home .wp-block-post-content>.alignfull{margin-inline:0!important;width:100%;max-width:none!important}
.wisekal-home .wisekal-journal{max-width:1320px!important;margin:0 auto!important;padding:64px clamp(24px,6vw,90px) 72px;scroll-margin-top:24px}
.wisekal-journal .wisekal-eyebrow{font-size:12px;line-height:1.4;font-weight:650;letter-spacing:.24em;text-transform:uppercase;color:#254a38;margin:0 0 14px}
.wisekal-journal-heading{gap:20px;margin:0!important;align-items:flex-end}
.wisekal-journal-heading h2{max-width:850px;font-size:clamp(30px,3.5vw,48px);line-height:1.08;letter-spacing:-.045em;font-weight:750;color:#172c22;margin:0!important}
.wisekal-journal-heading p{font-size:14px;white-space:nowrap;margin:0!important}
.wisekal-journal-intro{font-size:clamp(17px,1.7vw,22px);color:#59605c;line-height:1.5;margin:12px 0 40px!important}
.wisekal-journal>.wp-block-query{margin-bottom:40px}
.wisekal-journal .wp-block-post-excerpt p{margin-top:0}
.wisekal-journal .wp-block-post-title{font-weight:700;color:#172c22}
.wisekal-journal .wp-block-button__link{border-radius:var(--wp--custom--radius--control,6px);font-weight:650}
html{scrollbar-color:#879d85 #f5f0e3}
html::-webkit-scrollbar-thumb{background:#879d85}
@media(min-width:901px) and (min-aspect-ratio:3/2){.home .wisekal-header{position:absolute;top:0;left:0;right:0;z-index:10;border:0;background:linear-gradient(color-mix(in srgb,var(--wisekal-shell-paper) 85%,transparent),transparent);padding-top:18px;padding-bottom:28px}.home .wisekal-header .wp-block-navigation{background:color-mix(in srgb,var(--wisekal-shell-paper) 34%,transparent);padding:8px 14px;border-radius:var(--wp--custom--radius--control,6px)}.home .wisekal-header .bwp-shell-brand-name{font-size:30px}}
@media(max-width:700px){.wisekal-home .wisekal-journal{padding-top:40px;padding-bottom:48px}.wisekal-journal-heading{align-items:flex-start}.wisekal-journal-intro{margin-bottom:28px!important}}

/* Reusable block treatments; these also appear in the block editor. */
.wisekal-journal{border-top:1px solid #e6dfcd}
.wisekal-journal>.wisekal-eyebrow{max-width:none!important;margin-inline:0!important}
.wisekal-journal a{text-underline-offset:5px}
.wisekal-journal .wp-block-post-title{font-size:clamp(23px,2.3vw,32px);line-height:1.2;letter-spacing:-.035em}
.wisekal-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay){background:var(--wisekal-shell-paper,var(--wp--preset--color--paper,#fffdf7));color:#172c22;padding:28px}
.wisekal-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:12px 8px;font-size:22px}
.wisekal-header .wp-block-navigation__responsive-container-open,.wisekal-header .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;justify-content:center;align-items:center}
.wisekal-header .wp-block-navigation-item__content:hover{background:#254a380c;color:#172c22}
.wisekal-footer .wp-block-navigation-item__content{padding-block:10px;display:inline-block}
:where(.wisekal-home,.wisekal-content,.editor-styles-wrapper) :is(a,button,input,select,textarea):focus-visible{outline:3px solid #a9680d;outline-offset:4px}
.wp-block-group.is-style-wisekal-card{padding:clamp(24px,3vw,40px);border:1px solid #dddcca;border-radius:16px;background:var(--wp--preset--color--paper,#fffdf7);box-shadow:0 5px 22px #172c2209}
.wp-block-group.is-style-wisekal-note{padding:24px 28px;border-inline-start:4px solid var(--wp--preset--color--gold,#d99b21);border-radius:0 12px 12px 0;background:#f5f0e3}
.wp-block-gallery.is-style-wisekal-rounded img{border-radius:12px}
.wp-block-gallery.is-style-wisekal-rounded{gap:var(--wp--preset--spacing--20,16px)}
.wp-block-button.is-style-outline .wp-block-button__link{color:var(--wp--preset--color--forest,#254a38);border:1px solid currentColor;background:transparent}
.wp-block-button__link:hover{filter:brightness(.94)}
@media(min-width:901px) and (min-aspect-ratio:3/2){.admin-bar.home .wisekal-header{top:var(--wp-admin--admin-bar--height,32px)}}
@media(max-width:480px){.wisekal-header{padding:12px 20px}.wisekal-header .bwp-shell-brand-name{font-size:24px}.wisekal-journal-heading p{white-space:normal}.wisekal-footer{padding:32px 24px}.wisekal-footer>.wp-block-group{align-items:flex-start}}

/* Shared paper surface: header, family portal and cream footer follow Global Styles > Paper. */
:root{--wisekal-shell-paper:var(--wp--preset--color--paper,#fffdf7)}
.wisekal-home .bwp-image-portal{background:var(--wisekal-shell-paper)}

/* Site-wide controls: one softly squared radius in Global Styles, shared with the editor. */
body .wp-element-button,body .wp-block-button .wp-block-button__link,
body .wp-block-search__button,body .wisekal-header button,
body .bwp-image-portal .bwp-image-portal__visit,
body .bwp-image-portal .bwp-image-portal__shortcuts :is(a,span),
body .bwp-image-portal .bwp-image-portal__member-list button,
body .bwp-image-portal .bwp-image-portal__dismiss,
body :is(.wisekal-home,.wisekal-content,.editor-styles-wrapper) .wp-block-query-pagination :is(a,.current){border-radius:var(--wp--custom--radius--control,6px)}
body .bwp-image-portal .bwp-image-portal__welcome{border-radius:var(--wp--custom--radius--panel,8px)}

/* Approved illustration: family in front, light welcome area to the right. */
.wisekal-playful-portal .bwp-image-portal__base{filter:saturate(.9)}
.wisekal-playful-portal .bwp-image-portal__shortcuts{display:none}
@media(min-width:901px) and (min-aspect-ratio:3/2){
 .wisekal-playful-portal .bwp-image-portal__scene:after{content:'';position:absolute;z-index:1;top:5%;right:0;width:30%;height:32%;background:radial-gradient(ellipse at 75% 35%,#fffdf7ed 20%,#fffdf7a8 50%,transparent 76%);pointer-events:none}
 .wisekal-playful-portal .bwp-image-portal__heading{right:4%;top:14%;width:25%;padding:0;background:none;border:0;border-radius:0;box-shadow:none;font-size:clamp(28px,2.65vw,46px)!important;font-weight:650;line-height:1.18!important;letter-spacing:-.035em;text-align:left;text-shadow:0 1px 12px #fffdf7}
 .wisekal-playful-portal .bwp-image-portal__welcome{left:3%;right:auto;top:14%;width:clamp(210px,19vw,290px);max-width:290px;padding:20px;background:#fffdf7ed;border:1px solid #254a3838;box-shadow:0 3px 16px #172c2210}
 .wisekal-playful-portal .bwp-image-portal__greeting{font-size:clamp(20px,1.8vw,29px)}
}
@media(max-width:900px),(max-aspect-ratio:3/2){
 .wisekal-playful-portal .bwp-image-portal__heading{font-size:clamp(28px,5.6vw,44px)!important;font-weight:650;line-height:1.16!important}
 .wisekal-playful-portal.wisekal-compact-portal .wisekal-portrait-frame{aspect-ratio:1.27;overflow:hidden}
 .wisekal-playful-portal.wisekal-compact-portal .bwp-image-portal__art{width:140%;height:100%;left:-23.6%;right:auto}
}

/* Empty space in the floating header does not block the portrait beneath it. */
@media(min-width:901px) and (min-aspect-ratio:3/2){.home .wisekal-header{pointer-events:none}.home .wisekal-header :is(a,button,nav,.wp-block-navigation){pointer-events:auto}}
/* Leave the youngest child's chin above the compact name strip. */
@media(max-width:900px),(max-aspect-ratio:3/2){.wisekal-playful-portal.wisekal-compact-portal .bwp-image-portal__art{top:-12px}}

/* Readable Family shortcut; the illustration retains its original warm colours. */
.wisekal-header .wisekal-nav-family .wp-block-navigation-item__content:is(:hover,:focus-visible){background:#efb63b;color:#172c22!important;border-color:#80521a;box-shadow:0 2px 0 #80521a40;text-decoration:none}
.wisekal-header .wisekal-nav-family .wp-block-navigation-item__content{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
@media(prefers-reduced-motion:reduce){.wisekal-header .wisekal-nav-family .wp-block-navigation-item__content{transition:none}}
/* Full-colour scenery, with only the people gently subdued until selected. */
.wisekal-playful-portal .bwp-image-portal__base{filter:none}
.wisekal-playful-portal .bwp-image-portal__person .bwp-image-portal__colour{opacity:1;filter:brightness(.9) saturate(.95);transition:filter .18s ease}
.wisekal-playful-portal .bwp-image-portal__person.is-active .bwp-image-portal__colour{filter:brightness(1) saturate(1)}
.wisekal-playful-portal .bwp-image-portal__person .bwp-image-portal__hit{stroke:transparent;filter:none}
.wisekal-playful-portal .bwp-image-portal__person:focus-visible .bwp-image-portal__hit{stroke:#fff6d9;stroke-width:2px}
@media(prefers-reduced-motion:reduce){.wisekal-playful-portal .bwp-image-portal__person .bwp-image-portal__colour{transition:none}}

/* Approved evergreen and maple wordmark; WordPress custom logo remains editable. */
.bwp-shell-brand-link:has(img.bwp-header-art):before,.bwp-shell-brand-link:has(img.bwp-footer-art):before{display:none!important}
.bwp-shell-brand-link:has(img.bwp-header-art) .bwp-shell-brand-name,.bwp-shell-brand-link:has(img.bwp-footer-art) .bwp-shell-brand-name{display:none!important}
.bwp-shell-brand-link:has(img.bwp-header-art),.bwp-shell-brand-link:has(img.bwp-footer-art){display:flex;flex-direction:column;align-items:flex-start;gap:0}
.bwp-shell-brand-link img.bwp-header-art,.bwp-shell-brand-link img.bwp-footer-art{display:block!important;position:static!important;width:240px!important;height:64px!important;max-width:100%!important;object-fit:cover;object-position:center;transform:none!important;margin:0!important;opacity:1!important}
.bwp-shell-brand-link:has(img.bwp-footer-art) .bwp-shell-brand-strapline{display:block;font-size:12px}
.wisekal-footer .bwp-shell-brand-link img.bwp-footer-art{filter:brightness(0) invert(1)}
.wisekal-footer-last-page .bwp-shell-brand-link img.bwp-footer-art{filter:none}
@media(max-width:600px){.bwp-shell-brand-link img.bwp-header-art,.bwp-shell-brand-link img.bwp-footer-art{width:200px!important;height:54px!important}}


@font-face{font-family:'Wisekal Caveat';src:url('assets/fonts/Caveat.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
/* Shared pagination follows the original homepage treatment. */
body :is(.wp-block-query-pagination.wp-block-query-pagination,.wisekal-journal-pagination.wisekal-journal-pagination){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-block-start:24px!important}
body .wp-block-query-pagination-numbers{display:flex;align-items:center;gap:8px;margin:0}
body :is(.wp-block-query-pagination.wp-block-query-pagination,.wisekal-journal-pagination.wisekal-journal-pagination) :is(a,.current,.is-current){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:#254a38;font-family:inherit;font-size:16px;line-height:1.65;text-decoration:none;margin:0}
body :is(.wp-block-query-pagination.wp-block-query-pagination,.wisekal-journal-pagination.wisekal-journal-pagination) :is(.current,.is-current){background:#254a38;color:#fffdf7}
body :is(.wp-block-query-pagination.wp-block-query-pagination,.wisekal-journal-pagination.wisekal-journal-pagination) a:hover{background:#fae6b8;color:#172c22}
body :is(.wp-block-query-pagination.wp-block-query-pagination,.wisekal-journal-pagination.wisekal-journal-pagination) a:focus-visible{outline:2px solid #a9680d;outline-offset:3px}
/* A deliberate line break in the neutral greeting, without changing personal greetings. */
[data-wisekal-welcome][data-welcome-mode="default"] .bwp-image-portal__greeting{white-space:pre-line}
.wisekal-playful-portal .bwp-image-portal__heading{font-family:'Wisekal Caveat','Segoe Print',cursive!important;font-weight:600!important;letter-spacing:0!important}
@media(min-width:901px) and (min-aspect-ratio:3/2){
 .home .wisekal-header{padding-left:3%!important}
 .home .wisekal-header .bwp-shell-brand-link{margin-left:-10px}
 .wisekal-playful-portal .bwp-image-portal__heading{right:calc(4vw + 14px);top:16%;width:25%;font-size:clamp(40px,4.3vw,65px)!important;line-height:1!important;text-align:right}
 .wisekal-playful-portal[data-welcome-mode="default"] .bwp-image-portal__greeting{font-size:clamp(18px,1.55vw,25px)!important;line-height:1.3!important}
}

/* The shared typography pairing applies in the site and editor. */
body{font-family:var(--wp--preset--font-family--system-sans,'DM Sans',sans-serif)}
body :is(h1,h2,h3,h4,h5,h6),.editor-styles-wrapper :is(h1,h2,h3,h4,h5,h6){font-family:'Wisekal Caveat','Segoe Print',cursive!important;font-weight:600!important;letter-spacing:0!important}
body :is(h5,h6){font-size:24px;line-height:1.25}
body .wisekal-post h1.wp-block-post-title{font-size:clamp(44px,5.7vw,76px);line-height:1.12}
body .wisekal-post .wp-block-post-content h2{font-size:36px}body .wisekal-post .wp-block-post-content h3{font-size:30px}
body .wisekal-filterable-journal h2{font-size:34px;line-height:1.15}
body .wisekal-post-sidebar{padding-left:30px;border-left:1px solid #dfe2d5;font-size:15px;line-height:1.7}
body .wisekal-post-sidebar .wisekal-sidebar-note{padding:0 0 0 18px;background:none;border-left:3px solid #dfb345;border-radius:0;margin:0!important}
body .wisekal-post-sidebar h2{font-size:30px!important;line-height:1.15;margin:0 0 16px!important}
body .wisekal-post-sidebar p{margin:0 0 14px!important}
body .wisekal-post-sidebar .wisekal-sidebar-note>p:last-child{margin-bottom:0!important}
body .wisekal-sidebar-section{margin:36px 0 0!important;padding-top:26px;border-top:1px solid #e1e3d8}
body .wisekal-post-sidebar .wp-block-latest-posts{margin:0!important;padding:0;list-style:none}
body .wisekal-post-sidebar .wp-block-latest-posts li{margin:0 0 20px;padding:0;border:0;line-height:1.5}
body .wisekal-post-sidebar .wp-block-latest-posts li:last-child{margin-bottom:0}
body .wisekal-post-sidebar .wp-block-latest-posts a{display:block;font-size:16px;font-weight:500;text-decoration:none}
body .wisekal-post-sidebar .wp-block-latest-posts a:hover{text-decoration:underline;text-decoration-color:#d99b21;text-underline-offset:5px}
body .wisekal-post-sidebar .wp-block-categories-list{display:flex;flex-wrap:wrap;gap:10px 14px;margin:0;padding:0;list-style:none}
body .wisekal-post-sidebar .wp-block-categories-list li{margin:0;padding:0;font-size:14px}
body .wisekal-post-sidebar .wp-block-categories-list a{display:inline-block;padding:4px 0;text-decoration-color:#b5c0af;text-underline-offset:5px}
@media(max-width:850px){body .wisekal-post-sidebar{padding:28px 0 0;border-left:0}.wisekal-sidebar-section{margin-top:28px!important}}
/* Shared visual anchors for the desktop hero. */
@media(min-width:901px) and (min-aspect-ratio:3/2){
 .home .wisekal-header .bwp-shell-brand-block{width:clamp(210px,19vw,290px);flex:0 0 clamp(210px,19vw,290px)}
 .home .wisekal-header .bwp-shell-brand-link{width:100%;margin-left:0;align-items:center}
 .home .wisekal-header .bwp-header-art{width:100%!important;max-width:290px!important;height:clamp(56px,5.08vw,78px)!important}
 .wisekal-playful-portal .bwp-image-portal__heading{left:var(--wisekal-hero-heading-left,76%);right:auto;top:var(--wisekal-hero-heading-top,110px);width:var(--wisekal-hero-heading-width,42%);transform:translateX(-50%);text-align:center}
}
/* A handwritten greeting, with supporting text and controls kept clear. */
body .wisekal-playful-portal .bwp-image-portal__greeting{font-family:'Wisekal Caveat','Segoe Print',cursive!important;font-size:clamp(29px,2.5vw,38px)!important;font-weight:600!important;letter-spacing:0;line-height:1.08!important}
body .wisekal-playful-portal .bwp-image-portal__message,body .wisekal-playful-portal .bwp-image-portal__visit{font-family:var(--wp--preset--font-family--system-sans,'DM Sans',sans-serif)}
@media(max-width:900px),(max-aspect-ratio:3/2){body .wisekal-playful-portal .bwp-image-portal__greeting{font-size:26px!important;line-height:1.08!important;padding-right:24px}}


@media(min-width:901px) and (min-aspect-ratio:3/2){body .wisekal-playful-portal[data-welcome-mode=default] .bwp-image-portal__greeting{font-size:clamp(28px,2.35vw,36px)!important;line-height:1.08!important}}

/* Keep the logo over the card even when the header row reaches its max width. */
@media(min-width:901px) and (min-aspect-ratio:3/2){
 .home .wisekal-header .bwp-shell-brand-block{position:absolute;left:3%;top:18px;width:clamp(210px,19vw,290px);max-width:none;margin:0!important}
 .home .wisekal-header nav{margin-left:auto}
 .home .wisekal-header .bwp-header-art{transform:translateX(-1.06%)!important}
 .wisekal-playful-portal .bwp-image-portal__heading{left:var(--wisekal-hero-heading-edge,94%);right:auto;width:var(--wisekal-hero-heading-width,34%);transform:translateX(-100%);text-align:right}
}

/* The decorative welcome must never intercept the family portrait hotspots. */
.wisekal-playful-portal .bwp-image-portal__heading,
.wisekal-playful-portal .bwp-image-portal__heading *{pointer-events:none!important}
