/* Blueberry Brook v0.2 — brand: blue #4b5fb8, gold #b8863b, Montserrat */
:root{--berry:#4b5fb8;--berry-d:#36458f;--ink:#1f2450;--gold:#b8863b;--gold-t:#7d5a1c;--mist:#eef0fa;--cream:#fbf8f3;--line:#e3e5f2;--r:18px;--ph:linear-gradient(135deg,#e6e9f8 0%,#eef0fa 55%,#f6eddc 100%)}
*{box-sizing:border-box}
body{margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;height:auto}
.bb-skip{position:absolute;left:-999px}.bb-skip:focus{left:16px;top:8px;z-index:99;background:#fff;padding:8px 12px;border-radius:8px}
:where(.wp-site-blocks)>*{margin-block-start:0}
.bb-hdr,.bb-ftr{margin:0!important}

/* header */
.bb-header{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .bb-header{top:32px}@media (max-width:782px){.admin-bar .bb-header{top:0}}
.bb-header-in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px;position:relative}
.bb-logo{display:block;line-height:0}.bb-logo{margin:-10px 0}.bb-logo img{width:96px;height:96px;mix-blend-mode:multiply;transition:transform .3s}@media (min-width:901px){.bb-logo img{width:112px;height:112px}}
.bb-logo:hover img{transform:rotate(-4deg) scale(1.04)}
.bb-nav{margin-left:auto;display:flex;gap:2px;align-items:center;flex-wrap:wrap}
.bb-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px;transition:background .2s,color .2s}
.bb-nav a:hover{background:var(--mist);color:var(--berry-d)}
.bb-nav a[aria-current=page]{color:var(--berry-d);background:var(--mist)}
.bb-nav .bb-nav-cta{background:var(--berry);color:#fff;margin-left:6px}.bb-nav .bb-nav-cta:hover{background:var(--berry-d);color:#fff}
.bb-menu-btn{display:none;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:999px;min-height:44px;padding:8px 16px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;align-items:center;gap:10px}
.bb-burger,.bb-burger:before,.bb-burger:after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .25s}
.bb-burger:before,.bb-burger:after{content:"";position:absolute;left:0}.bb-burger:before{top:-6px}.bb-burger:after{top:6px}
.bb-menu-btn[aria-expanded=true] .bb-burger{background:transparent}
.bb-menu-btn[aria-expanded=true] .bb-burger:before{transform:translateY(6px) rotate(45deg)}
.bb-menu-btn[aria-expanded=true] .bb-burger:after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:900px){
 .bb-menu-btn{display:inline-flex}
 .bb-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);flex-direction:column;align-items:stretch;padding:8px 16px 16px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(31,36,80,.08)}
 .bb-nav.open{display:flex;animation:bb-drop .22s ease}
 .bb-nav a{padding:13px 14px;font-size:1rem}
 .bb-nav .bb-nav-cta{margin:6px 0 0;text-align:center}
}
@keyframes bb-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* buttons */
.bb-btn,.wp-element-button,.wp-block-button__link{display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .2s,box-shadow .2s}
.bb-btn{background:var(--berry);color:#fff!important;padding:.85em 1.6em;border:2px solid var(--berry);box-shadow:0 6px 16px rgba(75,95,184,.25)}
.wp-block-button:not(.is-style-outline) .wp-block-button__link{box-shadow:0 6px 16px rgba(75,95,184,.25)}
.bb-btn:hover,.wp-block-button__link:hover{transform:translateY(-2px) scale(1.03)}
.bb-btn:hover{background:var(--berry-d);border-color:var(--berry-d)}
.bb-btn:active,.wp-block-button__link:active{transform:scale(.97)}
.bb-btn.ghost{background:transparent;color:var(--berry-d)!important;box-shadow:none}
.bb-btn.ghost:hover{background:var(--mist)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--berry-d);border:2px solid var(--berry)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--mist)}
a:focus-visible,button:focus-visible,.bb-btn:focus-visible,.wp-block-button__link:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* HERO — real <img>, fixed aspect ratio, soft brand placeholder (never a gray box) */
.bb-hero-band{padding-top:24px!important;padding-bottom:40px!important}
.bb-hero-grid{gap:40px!important;align-items:center!important}
.wp-block-image.bb-hero{margin:0;aspect-ratio:4/5;background:var(--ph);border-radius:40% 40% var(--r) var(--r);overflow:hidden;box-shadow:0 20px 50px rgba(31,36,80,.16)}
.wp-block-image.bb-hero img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.bb-hero-media{background:var(--ph);border-radius:var(--r);overflow:hidden;margin-top:8px!important}
.bb-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.bb-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem!important;font-weight:800;color:var(--gold-t);margin:0 0 10px!important}
.bb-home h1{font-size:clamp(2rem,5.4vw,3.4rem);line-height:1.1;margin:0 0 14px}
.bb-wiggle{display:inline-block;color:var(--berry)}
.bb-lead{font-size:1.15rem;max-width:52ch}
.bb-trust{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.bb-trust li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.86rem;font-weight:600;margin:0}
@media (max-width:781px){
 .bb-hero-grid{gap:20px!important}
 .bb-hero-grid>.wp-block-column:first-child{order:2}
 .wp-block-image.bb-hero{aspect-ratio:1/1;border-radius:var(--r)}
 .bb-hero-band{padding-top:12px!important}
 .bb-hero-media{border-radius:0;margin-left:-16px!important;margin-right:-16px!important;max-width:none!important;width:auto!important}
}

/* pages */
.bb-page{padding-top:28px;padding-bottom:48px}
.bb-page h1{margin-top:.4em;margin-bottom:.4em}
.bb-page .wp-block-post-content>h1:first-child{margin-top:0}
.bb-page h2{margin-top:1.8em}
.bb-page h3{margin-top:1.4em}
.bb-meta{gap:12px;font-size:.9rem;color:#5d6478;margin-top:16px!important}
.bb-meta a{color:var(--gold-t);font-weight:700;text-decoration:none}
.wp-block-image img{height:auto}
.wp-block-image{background:var(--mist);border-radius:var(--r)}
.wp-block-image:has(img[height]){background:var(--ph)}
.wp-block-columns{gap:24px}
.bb-video{margin:0}
.bb-video video,video.bb-lazyv{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--r);background:var(--ph)}
.bb-listing .wp-block-columns:has(.bb-video,.wp-block-image)>.wp-block-column{background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px;box-shadow:0 10px 24px rgba(31,36,80,.06)}
.bb-listing .wp-block-columns:has(.bb-video,.wp-block-image) .wp-block-image,.bb-listing .wp-block-columns:has(.bb-video,.wp-block-image) .bb-video video{aspect-ratio:9/16;overflow:hidden}
.bb-listing .wp-block-columns:has(.bb-video,.wp-block-image) .wp-block-image img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.bb-listing h3{font-size:1.05rem;font-weight:600;color:#4a4f73}
.bb-listing h3.bb-pup-name{font-size:1.75rem;font-weight:800;color:var(--berry-d);margin-top:2.2em;padding-top:1.1em;border-top:2px dashed var(--line)}
.bb-listing h3.bb-pup-name+h3{margin-top:.3em;font-size:.98rem;color:var(--gold-t)}
@media (max-width:781px){.bb-listing .wp-block-columns:has(.bb-video,.wp-block-image){display:grid!important;grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px}.bb-listing .wp-block-columns:has(.bb-video,.wp-block-image)>.wp-block-column{scroll-snap-align:center}}
.bb-listing .wp-block-columns .wp-block-column:empty{display:none}
.bb-listing .wp-block-column>h2,.bb-listing .wp-block-column>h3{margin-top:.6em;text-align:center}
.bb-listing .wp-block-column .wp-block-buttons{margin-top:12px}

/* gallery */
.wp-block-gallery.bb-gallery{gap:12px!important}
.wp-block-gallery.bb-gallery .wp-block-image{background:var(--ph);aspect-ratio:3/4;overflow:hidden}
.wp-block-gallery.bb-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.wp-block-gallery.bb-gallery .wp-block-image:hover img{transform:scale(1.04)}
@media (min-width:782px){.wp-block-gallery.bb-gallery .wp-block-image{width:calc(25% - 9px)!important;flex-grow:0!important}}
@media (max-width:781px){.wp-block-gallery.bb-gallery .wp-block-image{width:calc(50% - 6px)!important;flex-grow:0!important}}

/* home sections */
.bb-sec{padding-top:56px!important;padding-bottom:56px!important}
.bb-alt{background:var(--mist)}
.bb-sub{color:#4a4f73}
.bb-vids{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bb-vids>*{margin:0!important}
@media (max-width:781px){.bb-vids{grid-template-columns:repeat(3,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}.bb-vids>*{scroll-snap-align:center}}
.bb-ready-card{max-width:760px;margin:40px auto 0!important;text-align:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px 22px!important;box-shadow:0 18px 40px rgba(31,36,80,.08)}
.bb-ready-card h2{margin-top:0}

/* cards (archives, related) */
.bb-related{margin-top:56px!important}
.bb-cards .wp-block-post{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;padding-bottom:12px;transition:transform .25s,box-shadow .25s}
.bb-cards .wp-block-post:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(31,36,80,.1)}
.bb-cards .wp-block-post-featured-image{margin:0;border-radius:0;background:var(--ph)}
.bb-cards .wp-block-post-featured-image img{border-radius:0}
.bb-card-title{font-size:1.1rem!important;margin:12px 16px 4px!important;line-height:1.35}
.bb-card-title a{color:var(--ink);text-decoration:none}
.bb-cards .wp-block-post-excerpt{margin:0 16px;font-size:.95rem;color:#4a4f73}
.bb-cards .wp-block-post-excerpt__more-text{display:none}

/* tool pages: let the tool own its layout */
.bb-tool .wp-block-html{margin-top:0}

/* reveal */
.bb-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.bb-reveal.in{opacity:1;transform:none}
html:not(.bb-js) .bb-reveal{opacity:1;transform:none}
.bb-heart{position:fixed;pointer-events:none;z-index:999;font-size:18px;animation:bb-heart .9s ease-out forwards}
@keyframes bb-heart{to{transform:translate(var(--x),var(--y)) scale(.4);opacity:0}}

/* footer */
.bb-footer{background:var(--ink);color:#e8e9f5;position:relative;overflow:hidden;margin-top:24px}
.bb-footer-in{max-width:1180px;margin:0 auto;padding:48px 16px 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.bb-footer h2{color:#fff;font-size:1.05rem;margin:0 0 10px}
.bb-footer a{color:#d4d9ff}
.bb-footer a:hover{color:#fff}
.bb-footer p{line-height:2}
.bb-footer img{width:140px;height:auto;margin-bottom:12px}
.bb-copy{text-align:center;margin:0;padding:16px;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;opacity:.75}
.bb-peek{position:absolute;right:18px;bottom:-30px;font-size:40px;transition:bottom .5s cubic-bezier(.34,1.56,.64,1)}
.bb-footer:hover .bb-peek{bottom:8px}
@media (max-width:781px){.bb-footer-in{grid-template-columns:1fr;gap:20px}}

/* 404 */
.bb-404{max-width:640px;margin:0 auto;padding:64px 16px 16px;text-align:center}.bb-404-dog{font-size:64px}
.bb-404 .bb-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.bb-404-search{max-width:520px;margin:0 auto 56px!important;padding:0 16px}

/* motion: only when the visitor allows it */
@media (prefers-reduced-motion:no-preference){
 .bb-wiggle{animation:bb-wig 3.5s ease-in-out 1s 3}
 .bb-404-dog{animation:bb-wig 2s 3}
}
@keyframes bb-wig{0%,80%,100%{transform:none}86%{transform:rotate(-6deg)}93%{transform:rotate(5deg)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.bb-reveal{opacity:1;transform:none}}

/* some old H1s were typed in lowercase; capitalise the first letter */
h1::first-letter{text-transform:uppercase}
.wp-block-search__input{border:1px solid var(--line);border-radius:999px;padding:.7em 1.1em;font:inherit;background:#fff}
.wp-block-search__button{border-radius:999px}
.bby-faq{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:0 0 12px}
.bby-faq summary{cursor:pointer;font-weight:700;color:var(--berry-d)}
.bby-faq summary h2{margin:0!important;color:inherit}

/* v0.2.7 — make "Apply" stand out on mobile; keep heads in frame on square mobile heroes */
.bb-apply-btn{display:none}
.bb-nav .bb-nav-apply{color:var(--gold-t);box-shadow:inset 0 0 0 2px var(--gold)}
.bb-nav .bb-nav-apply:hover,.bb-nav .bb-nav-apply[aria-current=page]{background:var(--gold);color:#fff}
@media (max-width:900px){
 .bb-apply-btn{display:inline-flex;align-items:center;margin-left:auto;min-height:44px;padding:8px 18px;border-radius:999px;background:var(--gold-t);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(125,90,28,.28)}
 .bb-apply-btn:hover{background:#5f4413;color:#fff}
 .bb-header-in .bb-menu-btn{margin-left:0}
 .bb-nav .bb-nav-apply{order:-1;background:var(--gold-t);color:#fff;box-shadow:none;text-align:center;margin:6px 0 8px}
 .bb-nav .bb-nav-apply:hover{background:#5f4413;color:#fff}
}
@media (max-width:360px){.bb-header-in{gap:8px}.bb-apply-btn{padding:8px 14px}}
@media (max-width:781px){.wp-block-image.bb-hero img{object-position:50% 18%}}

/* v0.2.7 desktop pass: keep post titles above the fold */
@media (min-width:782px){.bb-single .bb-hero-media img{max-height:min(46vh,440px);object-position:50% 35%}}
