/* === Nav button rows (match live site) === */
@media (min-width: 1025px) {
#secondary-navigation ul#secondary-menu > li.menu-item > a { color: #111; padding: 0.35em 0.9em; margin: 0 0.15em; text-transform: uppercase; font-size: 0.78em; letter-spacing: 0.04em; }
#site-navigation ul#primary-menu > li.menu-item > a { color: #111; padding: 0.4em 1em; margin: 0 0.2em; text-transform: uppercase; font-size: 0.85em; letter-spacing: 0.04em; }
}

/* === Fonts (match Bow Tie Music apps: Avenir Next + SF Mono) === */
body, button, input, select, textarea, .entry-content, .site-header, .site-footer {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
h1, h2, h3, h4, h5, h6, .entry-title, .site-title {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
code, pre, kbd, samp, tt {
  font-family: "SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;
}

/* === Titles over images: text shadow for legibility === */
body.archive .loop-entry h2.entry-title,
body.archive .loop-entry h2.entry-title a,
.wp-block-cover h1, .wp-block-cover h2, .wp-block-cover h3,
.wp-block-cover__inner-container h1, .wp-block-cover__inner-container h2,
.wp-block-gallery figcaption, .blocks-gallery-item figcaption,
.wp-block-image figcaption {
  text-shadow: 0 1px 4px rgba(0,0,0,.85), 0 2px 10px rgba(0,0,0,.55);
}


/* === Top utility row: smaller, centered === */
#secondary-navigation ul#secondary-menu { justify-content: center; text-align: center; }
#secondary-navigation ul#secondary-menu > li.menu-item > a { font-size: 0.68em; padding: 0.3em 0.7em; }

/* === Footer centered === */
.site-footer, .site-footer .widget, .site-info { text-align: center; }
.site-footer .site-footer-row, .site-footer ul.menu { justify-content: center; }

/* === Archive cards: 3-col video grid, full-bleed 16:9, title overlay === */
body.archive ul#archive-container {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  column-gap: 1rem !important;
  row-gap: 1.25rem !important;
}
@media (max-width: 1024px) {
  body.archive ul#archive-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  body.archive ul#archive-container { grid-template-columns: minmax(0, 1fr) !important; }
}
body.archive ul#archive-container > li.entry-list-item { display: block; }
body.archive .loop-entry {
  position: relative !important;
  display: block !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 6px;
}
body.archive .loop-entry a.post-thumbnail {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  padding-bottom: 0 !important;
  height: 100% !important;
  width: 100% !important;
}
body.archive .loop-entry .post-thumbnail-inner {
  position: absolute !important;
  inset: 0 !important;
}
body.archive .loop-entry .post-thumbnail-inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.archive .loop-entry .entry-content-wrap {
  position: absolute !important;
  left: 0; right: 0; top: 0; bottom: 0;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 1rem !important;
  background: rgba(0,0,0,.45) !important;
}
body.archive .loop-entry .entry-summary,
body.archive .loop-entry .entry-footer { display: none !important; }
body.archive .loop-entry .entry-header { margin: 0 !important; padding: 0 !important; }
body.archive .loop-entry .entry-taxonomies { margin-bottom: 0.15rem !important; }
body.archive .loop-entry .entry-taxonomies .category-links a { color: #fff; font-size: 0.7em; }
body.archive .loop-entry h2.entry-title {
  color: #fff;
  font-size: 0.85rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin: 0 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.85), 0 2px 10px rgba(0,0,0,.55);
}
body.archive .loop-entry h2.entry-title a { color: #fff; }
body.archive .loop-entry .entry-meta,
body.archive .loop-entry .entry-meta a { color: rgba(255,255,255,.85); font-size: 0.75em; }


/* === Homepage category cards: uniform 16:9 size === */
.home .wp-block-gallery.has-nested-images figure.wp-block-image,
.home .blocks-gallery-grid .blocks-gallery-item,
.home .wp-block-gallery .blocks-gallery-item {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.home .wp-block-gallery.has-nested-images figure.wp-block-image img,
.home .blocks-gallery-grid .blocks-gallery-item img,
.home .wp-block-gallery .blocks-gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* === Archive cards: hide author + date === */
body.archive .loop-entry .entry-meta { display: none !important; }

/* === Top utility nav: force page-wide centering === */
.site-top-header-wrap .site-header-row-container-inner > .site-container,
.site-top-header-wrap .site-top-header-inner-wrap {
  display: flex !important;
  justify-content: center !important;
}
.site-top-header-wrap .site-header-top-section-left,
.site-top-header-wrap .site-header-top-section-center,
.site-top-header-wrap .site-header-top-section-right {
  margin-left: auto !important;
  margin-right: auto !important;
}
#secondary-navigation { margin-left: auto !important; margin-right: auto !important; }

/* === Archive subcategory section headers === */
body.archive ul#archive-container > li.btm-section-header {
  grid-column: 1 / -1;
  list-style: none;
  margin: 2rem 0 0.5rem;
  padding: 0 0 0.5rem;
  border-bottom: 3px solid #1D4ED8;
}
body.archive ul#archive-container > li.btm-section-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #111;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
body.archive ul#archive-container > li.btm-section-header:first-child {
  margin-top: 0;
}

/* === Hide breadcrumb under archive titles === */
body.archive .kadence-breadcrumbs,
body.archive .breadcrumb-trail,
body.archive nav.breadcrumbs { display: none !important; }

/* === Top header: icons to far edges === */
.site-top-header-wrap .site-header-row-container-inner > .site-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.site-top-header-wrap .site-header-top-section-left {
  padding-left: 0.5rem !important;
}
.site-top-header-wrap .site-header-top-section-right {
  padding-right: 0.5rem !important;
}

/* === Category banner backgrounds === */
body.archive .post-archive-hero-section .entry-hero-container-inner {
  background-size: cover !important;
  background-position: center !important;
}
body.category-folk-dances .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2024/02/Grand-March-Featured-Image-1024x576.jpg') !important;
}
body.category-singing-games .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2023/06/Old-Brass-Wagon-Thumbnail-1024x576.jpg') !important;
}
body.category-songs .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/KNfyX10YoM8-1024x576.jpg') !important;
}
body.category-instruments .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/d6tqPL4SMv4-1024x576.jpg') !important;
}
body.category-movement-creative-play .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/GZWam0qEtvQ-1024x576.jpg') !important;
}
body.category-programs-performances .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/5P-REjbR-nk-1024x576.jpg') !important;
}
body.category-more .post-archive-hero-section .entry-hero-container-inner {
  background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/z8IRkClkDjI.jpg') !important;
}

/* === Homepage: Movement card same size as others === */
.home .wp-block-gallery.has-nested-images figure.wp-block-image {
  flex: 1 1 0 !important;
  width: auto !important;
}

/* === Sub Library visual cards === */
.sub-video-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}
.sub-video-grid > .wp-block-group__inner-container {
  display: contents !important;
}
.sub-video-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.sub-video-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sub-video-card a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.sub-video-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem 0.75rem 0.6rem;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.3;
}
.sub-time {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: rgba(0,0,0,0.7);
  color: #fff;
  font-size: 0.7rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}
.sub-section-title {
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}
@media (max-width: 768px) {
  .sub-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === Homepage: equal thumbnail sizing === */
.home .wp-block-gallery.has-nested-images {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}
.home .wp-block-gallery.has-nested-images figure.wp-block-image {
  width: 100% !important;
  margin: 0 !important;
}
.home .wp-block-gallery.has-nested-images figure.wp-block-image img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .home .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === Hide WooCommerce cart icon (Store disabled) === */
.wp-block-woocommerce-mini-cart,
.wc-block-mini-cart,
.site-header-cart,
.kadence-header-cart {
  display: none !important;
}

/* === View counts on video cards === */
.btm-view-count {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  background: rgba(0,0,0,0.45);
  color: rgba(255,255,255,0.85);
  font-size: 0.65rem;
  font-weight: 400;
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
  z-index: 2;
  opacity: 0.85;
}
#archive-container article {
  position: relative;
}

/* === Wider category grids: reduce side padding so thumbnails are bigger === */
body.archive .site-container,
body.category .site-container,
body.archive .content-width,
body.category .content-width {
  max-width: 1400px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
body.archive #archive-container,
body.category #archive-container {
  gap: 0.75rem;
}

/* Hide category chips on video cards (archive pages) */
body.archive .loop-entry .entry-taxonomies { display: none !important; }

/* === Nav menu links: Avenir Next (was inheriting theme font) === */
#secondary-navigation a, #site-navigation a,
#mobile-site-navigation a, .mobile-navigation a, #mobile-drawer a {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* === Homepage gallery cards: title centered over a flat dark overlay === */
.home .wp-block-gallery.has-nested-images figure.wp-block-image { position: relative !important; }
.home .wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption {
  position: absolute !important;
  top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
  margin: 0 !important;
  max-height: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 1rem !important;
  background: rgba(0,0,0,.45) !important;
  color: #fff !important;
  font-weight: 600;
  text-shadow: 0 1px 4px rgba(0,0,0,.85), 0 2px 10px rgba(0,0,0,.55);
  pointer-events: none;
}
.home .wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption a { color: #fff !important; pointer-events: auto; }

/* === Two-line titles (title-split.js): title on top, secondary title below === */
.btm-title-main, .btm-title-sub {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.btm-title-main { -webkit-line-clamp: 2; line-clamp: 2; }
.btm-title-sub {
  -webkit-line-clamp: 1; line-clamp: 1;
  font-size: 0.75em;
  font-weight: 400;
  opacity: 0.85;
  margin-top: 0.2em;
}
body.archive .loop-entry h2.entry-title:has(.btm-title-main) {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: none;
}
body.single-post h1.entry-title .btm-title-sub { -webkit-line-clamp: unset; line-clamp: none; display: block; }

/* === Bigger card titles (archive video cards) === */
body.archive .loop-entry h2.entry-title {
  font-size: clamp(1rem, 1.45vw, 1.3rem) !important;
  line-height: 1.2;
}
body.archive .loop-entry .btm-title-sub { font-size: 0.72em; margin-top: 0.25em; }
@media (max-width: 640px) {
  body.archive .loop-entry h2.entry-title { font-size: 1.3rem !important; }
}

/* === Homepage "Browse by Category": full window width, 3 across === */
body.home { overflow-x: clip; }
.home h2.has-text-align-center + .wp-block-gallery.has-nested-images,
.home h2.has-text-align-center + .wp-block-gallery.has-nested-images + .wp-block-gallery.has-nested-images {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  padding: 0 1rem !important;
  box-sizing: border-box;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.home h2.has-text-align-center + .wp-block-gallery.has-nested-images + .wp-block-gallery.has-nested-images { margin-top: 1rem !important; }
.home h2.has-text-align-center + .wp-block-gallery figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery + .wp-block-gallery figcaption.wp-element-caption {
  font-size: clamp(1.1rem, 2.2vw, 2rem) !important;
}
@media (max-width: 640px) {
  .home h2.has-text-align-center + .wp-block-gallery.has-nested-images,
  .home h2.has-text-align-center + .wp-block-gallery.has-nested-images + .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === Homepage gallery captions: same look as archive card titles (overrides earlier sizes) === */
.home .wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery + .wp-block-gallery figcaption.wp-element-caption {
  font-size: clamp(1rem, 1.45vw, 1.3rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  flex-direction: column !important;
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.home .wp-block-gallery figcaption.wp-element-caption .btm-title-sub { font-size: 0.72em; margin-top: 0.25em; }

/* === Banner crops: keep heads in view (positions from person detection) === */
body.category-folk-dances .post-archive-hero-section .entry-hero-container-inner { background-position: 50% 31% !important; }
body.category-singing-games .post-archive-hero-section .entry-hero-container-inner { background-position: 50% 30% !important; }
body.category-instruments .post-archive-hero-section .entry-hero-container-inner { background-position: 50% 46% !important; }
body.category-movement-creative-play .post-archive-hero-section .entry-hero-container-inner { background-position: 50% 34% !important; }
body.category-programs-performances .post-archive-hero-section .entry-hero-container-inner { background-position: 50% 43% !important; }
body.category-more .post-archive-hero-section .entry-hero-container-inner { background-position: 50% 18% !important; }
.home .wp-block-cover .wp-block-cover__image-background { object-position: 50% 8% !important; }

/* === Subcategory banners (photo + head-safe crop) === */
body.category-blog .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-blog-C9RZSjISsh8-1.jpg') !important; background-size: cover !important; background-position: 50% 1% !important; }
body.category-beat .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-beat-ewLM4qbX4R0-1.jpg') !important; background-size: cover !important; background-position: 50% 37% !important; }
body.category-harmony .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-harmony-YJnzplmwdg0-3.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-scattered-dances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-scattered-dances-OwAo1lA-EHA-1.jpg') !important; background-size: cover !important; background-position: 50% 19% !important; }
body.category-circle-with-partners .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-circle-with-partners-eTCKOtlPHi0-1.jpg') !important; background-size: cover !important; background-position: 50% 39% !important; }
body.category-call-and-response-songs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-call-and-response-songs-rdXr6Yh47Vs-1.jpg') !important; background-size: cover !important; background-position: 50% 19% !important; }
body.category-other-formations .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-other-formations-nFZSj1Jdvxo-2.jpg') !important; background-size: cover !important; background-position: 50% 0% !important; }
body.category-recorder-programs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-recorder-programs-UpXf5tN7MBU-1.jpg') !important; background-size: cover !important; background-position: 50% 41% !important; }
body.category-circle-dances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-circle-dances-X1vbDTbJ0UQ-1.jpg') !important; background-size: cover !important; background-position: 50% 10% !important; }
body.category-longways-set-dances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-longways-set-dances-VhD__ciVYNE-3.jpg') !important; background-size: cover !important; background-position: 50% 25% !important; }
body.category-dancing-with-adults .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-dancing-with-adults-6nNUfvOns44-1.jpg') !important; background-size: cover !important; background-position: 50% 18% !important; }
body.category-circle-without-partners .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-circle-without-partners-esSy6TDqnzU-1.jpg') !important; background-size: cover !important; background-position: 50% 22% !important; }
body.category-longways-set .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-longways-set-kZKw_BtZYgw-2.jpg') !important; background-size: cover !important; background-position: 50% 32% !important; }
body.category-class-singing .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-class-singing-mSWf7jzaCpY-2.jpg') !important; background-size: cover !important; background-position: 50% 21% !important; }
body.category-mallet-instruments .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-mallet-instruments-kTXzFBT8BTw-2.jpg') !important; background-size: cover !important; background-position: 50% 21% !important; }
body.category-un-pitched-percussion-instruments .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-un-pitched-percussion-instruments-p15MTzyPtq0-1.jpg') !important; background-size: cover !important; background-position: 50% 33% !important; }
body.category-recorders .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-recorders-Xj1i2w8IICU-2.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }
body.category-family-folk-dances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-family-folk-dances-tQAPo3nTX7c-2.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-informances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-informances-QhyPPnqVWs4-2.jpg') !important; background-size: cover !important; background-position: 50% 15% !important; }
body.category-kindy-sings .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-kindy-sings-iDkmJdPc9FI-2.jpg') !important; background-size: cover !important; background-position: 50% 31% !important; }
body.category-life-skills-music-programs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-life-skills-music-programs-dEH7Q4Q_jvo-3.jpg') !important; background-size: cover !important; background-position: 50% 5% !important; }
body.category-veterans-day-programs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-veterans-day-programs-caM_LePx3og-1.jpg') !important; background-size: cover !important; background-position: 50% 26% !important; }
body.category-music-is-reading .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-music-is-reading-C2GeizGhSXY-2.jpg') !important; background-size: cover !important; background-position: 50% 20% !important; }
body.category-special-needs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-accommodated-music-for-teachers-wE2onBHoFSk-2.jpg') !important; background-size: cover !important; background-position: 50% 12% !important; }
body.category-rhythm .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-rhythm-Dlw_cgWugNQ-3.jpg') !important; background-size: cover !important; background-position: 50% 44% !important; }
body.category-melody .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-melody-mtLz8m7-TQU-2.jpg') !important; background-size: cover !important; background-position: 50% 25% !important; }
body.category-kindergarten-interviews .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-kindergarten-interviews-QQMF_-GG-D4-2.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }
body.category-creative-movement-movement-props .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-creative-movement-movement-props-uZ_J89o4Bdg-1.jpg') !important; background-size: cover !important; background-position: 50% 46% !important; }
body.category-orff-schulwerk-music-program .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-orff-schulwerk-music-program-yXoBSyIwm9Q-2.jpg') !important; background-size: cover !important; background-position: 50% 10% !important; }
body.category-music-is-science .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-music-is-science-Xu7fCEU-ars-1.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }

/* === Homepage: hide the Sub Library button (still in MISC menu) === */

/* === Homepage "Most Watched": same full width + side padding as Browse by Category === */
.home h2.wp-block-heading:not(.has-text-align-center) + .wp-block-gallery.has-nested-images {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  padding: 0 1rem !important;
  box-sizing: border-box;
}

/* Most Watched heading lines up with the cards */
.home h2.wp-block-heading:not(.has-text-align-center):has(+ .wp-block-gallery) { padding-left: 1rem; padding-right: 1rem; }

/* === Homepage Sub Library link: full-width photo card matching the category cards (replaces the hide rule) === */
.home .wp-block-buttons:has(a.wp-block-button__link[href*="sub-library"]) {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 1rem 0 0 calc(50% - 50vw) !important;
  padding: 0 1rem !important;
  box-sizing: border-box;
}
.home .wp-block-buttons:has(a[href*="sub-library"]) .wp-block-button { width: 100% !important; margin: 0 !important; }
.home a.wp-block-button__link[href*="sub-library"] {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  aspect-ratio: 16 / 3;
  padding: 1rem !important;
  border-radius: 0 !important;
  background: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
              url('https://bowtiemusic.net/wp-content/uploads/2026/10/sub-library-card-X1vbDTbJ0UQ-2.jpg') 50% 40% / cover no-repeat !important;
  color: #fff !important;
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(1rem, 1.45vw, 1.3rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0,0,0,.85), 0 2px 10px rgba(0,0,0,.55);
  text-decoration: none !important;
}
.home a.wp-block-button__link[href*="sub-library"] .btm-title-sub { font-size: 0.72em; margin-top: 0.25em; font-weight: 400; }
@media (max-width: 640px) { .home a.wp-block-button__link[href*="sub-library"] { aspect-ratio: 16 / 6; } }
.home a.wp-block-button__link[href*="sub-library"] { text-transform: none !important; letter-spacing: normal !important; }

/* === Media & Text block layout (core styles weren't loading on staging; About Me photo went full width) === */
.wp-block-media-text { display: grid; grid-template-rows: auto; align-items: center; box-sizing: border-box; direction: ltr; }
.wp-block-media-text > .wp-block-media-text__media { grid-column: 1; grid-row: 1; margin: 0; align-self: center; }
.wp-block-media-text > .wp-block-media-text__content { grid-column: 2; grid-row: 1; padding: 0 8%; word-break: break-word; direction: ltr; }
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media { grid-column: 2; }
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content { grid-column: 1; }
.wp-block-media-text__media img, .wp-block-media-text__media video { height: auto; max-width: unset; width: 100%; vertical-align: middle; }
@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile { grid-template-columns: 100% !important; }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media { grid-column: 1; grid-row: 1; }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content { grid-column: 1; grid-row: 2; }
}

/* Homepage section headings all centered (Browse By Category / Sub Library / Most Watched) */
.home .entry-content > h2.wp-block-heading { text-align: center !important; }
.home .entry-content > h2.wp-block-heading:has(+ .wp-block-buttons) { margin-top: 2.5rem; }

/* Category banner title: big, tight (size set by banner-fit.js) */
.post-archive-title h1 { line-height: 1 !important; margin: 0 !important; letter-spacing: -0.01em; text-shadow: 0 2px 12px rgba(0,0,0,.5); }

/* Category banner title: outlined (unfilled) letters */
.wp-site-blocks .post-archive-title h1, .post-archive-title h1 {
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0.035em #fff;
  text-shadow: none !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.55));
}

/* === Homepage category + Sub Library cards: outlined titles (size set by card-fit.js) === */
.home h2.has-text-align-center + .wp-block-gallery figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery + .wp-block-gallery figcaption.wp-element-caption,
.home a.wp-block-button__link[href*="sub-library"] {
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0.035em #fff;
  text-shadow: none !important;
  line-height: 1 !important;
}
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image,
.home h2.has-text-align-center + .wp-block-gallery + .wp-block-gallery figure.wp-block-image { filter: none; }
.home h2.has-text-align-center + .wp-block-gallery figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery + .wp-block-gallery figcaption.wp-element-caption { overflow: hidden; }

/* Music Is... category banner */
body.category-music-is .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-music-is-HBSpyqhdE78-2.jpg') !important; background-size: cover !important; background-position: 50% 55% !important; }

/* Primary menu: 9 categories fit on one line */
@media (min-width: 1025px) {
  #site-navigation ul#primary-menu { flex-wrap: nowrap !important; justify-content: center; }
  #site-navigation ul#primary-menu > li.menu-item > a { padding: 0.4em clamp(0.35em, 0.6vw, 0.9em) !important; margin: 0 !important; font-size: clamp(0.72em, 0.95vw, 0.85em) !important; letter-spacing: 0.02em !important; white-space: nowrap; }
}

/* NEDM category banner */
body.category-nedm .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-N-MNzpn-hYk-1.jpg') !important; background-size: cover !important; background-position: 50% 44% !important; }

/* NEDM book subcategory banners */
body.category-alabama-gal .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-alabama-gal-EOOhtPXFVFk-1.jpg') !important; background-size: cover !important; background-position: 50% 10% !important; }
body.category-sashay-the-donut .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-sashay-the-donut-8HgJUnGgh0A-2.jpg') !important; background-size: cover !important; background-position: 50% 7% !important; }
body.category-chimes-of-dunkirk .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-chimes-of-dunkirk-ISPF0bOq5fk-1.jpg') !important; background-size: cover !important; background-position: 50% 8% !important; }
body.category-rise-sally-rise .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-rise-sally-rise-IaQDILTb3R8-2.jpg') !important; background-size: cover !important; background-position: 50% 21% !important; }
body.category-down-in-the-valley .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-down-in-the-valley-53AcNRXGZg8-3.jpg') !important; background-size: cover !important; background-position: 50% 38% !important; }
body.category-listen-to-the-mockingbird .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-nedm-listen-to-the-mockingbird-1Og6xFpwGIM-3.jpg') !important; background-size: cover !important; background-position: 50% 25% !important; }

/* Hide category descriptions in banners (unreadable under the big outlined title) */
.post-archive-hero-section .archive-description, .post-archive-title .archive-description { display: none !important; }

/* === Homepage YouTube stats band === */
.btm-yt-stats {
  width: 100vw; max-width: 100vw;
  margin: 0 0 0 calc(50% - 50vw);
  padding: clamp(1.75rem, 4vw, 3rem) 1rem;
  box-sizing: border-box;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.btm-yt-stats__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  text-decoration: none !important;
  color: #111 !important;
}
.btm-yt-stat {
  display: flex; flex-direction: column; align-items: center;
  padding: 0 0.5rem;
  border-left: 1px solid rgba(0,0,0,.12);
}
.btm-yt-stat:first-child { border-left: 0; }
.btm-yt-stat__num {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 800;
  font-size: clamp(2.4rem, 7.5vw, 6rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0.03em #111;
  font-variant-numeric: tabular-nums;
}
.btm-yt-stat__label {
  margin-top: 0.5rem;
  font-size: clamp(0.7rem, 1.2vw, 0.95rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #444;
}
.btm-yt-stats__yt {
  grid-column: 1 / -1;
  display: flex; align-items: center; justify-content: center; gap: 0.45rem;
  margin-top: clamp(1rem, 2vw, 1.5rem);
  font-size: 0.9rem; font-weight: 600; color: #444;
}
.btm-yt-stats__yt svg { width: 1.6rem; height: auto; }
.btm-yt-stats__inner:hover .btm-yt-stats__yt { color: #111; }

/* === Homepage Top 10 list === */
.btm-top10 {
  list-style: none !important;
  width: 100vw; max-width: 100vw;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 clamp(1rem, 3vw, 2.5rem) !important;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: clamp(1.5rem, 4vw, 4rem);
  row-gap: clamp(0.75rem, 1.6vw, 1.25rem);
  counter-reset: none;
}
.btm-top10__item { margin: 0 !important; padding: 0 !important; }
.btm-top10__item > a {
  display: grid;
  grid-template-columns: clamp(4.5rem, 9vw, 8.5rem) minmax(0, 42%) minmax(0, 1fr);
  align-items: center;
  text-decoration: none !important;
  color: #111 !important;
}
.btm-top10__rank {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 800;
  font-size: clamp(5rem, 11vw, 10rem);
  line-height: 0.8;
  letter-spacing: -0.06em;
  text-align: right;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0.025em #111;
  margin-right: -0.12em;           /* tuck the numeral under the thumbnail */
  position: relative; z-index: 0;
  font-variant-numeric: tabular-nums;
}
.btm-top10__item:nth-child(10) .btm-top10__rank { letter-spacing: -0.1em; }
.btm-top10__thumb {
  position: relative; z-index: 1;
  aspect-ratio: 16 / 9;
  background: #ddd center / cover no-repeat;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btm-top10__text { display: flex; flex-direction: column; padding-left: clamp(0.75rem, 1.5vw, 1.25rem); min-width: 0; }
.btm-top10__title {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.35vw, 1.25rem);
  line-height: 1.2;
}
.btm-top10__title .btm-title-sub { font-size: 0.75em; font-weight: 400; color: #555; margin-top: 0.2em; }
.btm-top10__views { margin-top: 0.4rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; color: #666; }
.btm-top10__item > a:hover .btm-top10__thumb { transform: translateY(-3px) scale(1.02); box-shadow: 0 10px 26px rgba(0,0,0,.25); }
.btm-top10__item > a:hover .btm-top10__rank { -webkit-text-stroke-color: #000; }
@media (max-width: 780px) {
  .btm-top10 { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .btm-top10__item > a { grid-template-columns: 4.75rem minmax(0, 45%) minmax(0, 1fr); }
  .btm-top10__rank { font-size: 5.5rem; }
}

/* === Hero + YouTube stats both visible without scrolling === */
.home .wp-block-cover.alignfull {
  min-height: max(340px, calc(100svh - 108px - 190px)) !important;
  margin-bottom: 0 !important;
}
.btm-yt-stats { padding: clamp(0.9rem, 2.2vh, 1.4rem) 1rem !important; }
.btm-yt-stat__num { font-size: clamp(2.2rem, min(6vw, 9vh), 4.75rem) !important; }
.btm-yt-stat__label { margin-top: 0.3rem !important; }
.btm-yt-stats__yt { margin-top: clamp(0.5rem, 1.2vh, 0.9rem) !important; }

/* Browse by Category: equal row spacing (first gallery had an extra bottom margin) */
.home h2.has-text-align-center + .wp-block-gallery.has-nested-images:has(+ .wp-block-gallery) { margin-bottom: 0 !important; }

/* Homepage "Hi, I'm Will": same layout as About Me */
.home .btm-hi-will { max-width: 1400px; margin: 3rem auto !important; padding: 0 var(--wp--preset--spacing--50, 2rem); }
.home .btm-hi-will .wp-block-media-text__content h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
.home .btm-hi-will .wp-block-button__link { background: #111 !important; color: #fff !important; }

/* Top 10: keep "10" on one line */
.btm-top10__rank { white-space: nowrap; }
.btm-top10__item:nth-child(10) .btm-top10__rank { font-size: clamp(3.6rem, 7.6vw, 7rem); letter-spacing: -0.08em; }
@media (max-width: 780px) { .btm-top10__item:nth-child(10) .btm-top10__rank { font-size: 3.9rem; } }

/* Hero: Bow Tie Music logo (white) instead of text */
.home .btm-hero-logo { margin: 0 auto !important; }
.home .btm-hero-logo img { width: clamp(220px, 34vw, 520px); height: auto; filter: invert(1) drop-shadow(0 4px 14px rgba(0,0,0,.55)); }

/* === Hero brand: "Welcome to" + logo + byline (layout of the original welcome banner) === */
.btm-hero-brand {
  --logo: clamp(200px, 32vw, 500px);
  display: grid;
  grid-template-columns: auto var(--logo) auto;
  align-items: center;
  justify-content: center;
  column-gap: calc(var(--logo) * 0.04);
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.btm-hero-brand__logo { width: var(--logo); height: auto; display: block; filter: invert(1) drop-shadow(0 4px 14px rgba(0,0,0,.55)); }
.btm-hero-brand__welcome {
  font-size: calc(var(--logo) * 0.1);
  font-weight: 500;
  white-space: nowrap;
  align-self: center;
  margin-top: calc(var(--logo) * -0.02);
}
.btm-hero-brand__by {
  font-size: calc(var(--logo) * 0.032);
  font-weight: 500;
  white-space: nowrap;
  align-self: end;
  margin-bottom: calc(var(--logo) * 0.03);
  margin-left: calc(var(--logo) * -0.035);
}
@media (max-width: 640px) {
  .btm-hero-brand { --logo: 58vw; grid-template-columns: var(--logo); row-gap: 0.4rem; justify-items: center; }
  .btm-hero-brand__welcome { order: -1; font-size: 1.4rem; margin: 0; }
  .btm-hero-brand__by { font-size: 0.85rem; margin: 0.3rem 0 0; align-self: auto; }
}

/* === Homepage NEDM quote section (mirror of "Hi, I'm Will") === */
.home .btm-nedm-quote { max-width: 1400px; margin: 3rem auto !important; padding: 0 var(--wp--preset--spacing--50, 2rem); }
.home .btm-nedm-quote .wp-block-media-text__media img { border-radius: 6px; }
.home .btm-nedm-quote .wp-block-pullquote { margin: 0 0 1.5rem; padding: 0; border: 0; text-align: left; }
.home .btm-nedm-quote .wp-block-pullquote blockquote { margin: 0; }
.home .btm-nedm-quote .wp-block-pullquote p {
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: clamp(1.15rem, 1.7vw, 1.6rem); line-height: 1.45; font-style: italic; color: #111;
}
.home .btm-nedm-quote .wp-block-pullquote cite { display: block; margin-top: 1rem; font-size: 0.95rem; font-style: normal; line-height: 1.5; color: #444; text-transform: none; }
.home .btm-nedm-quote .wp-block-pullquote cite::before { content: "— "; }
.home .btm-nedm-quote .wp-block-button__link { background: #111 !important; color: #fff !important; }

/* === Video cards: whole card clickable, hover grow, click press === */
body.archive .loop-entry h2.entry-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
}
body.archive ul#archive-container > li.entry-list-item { overflow: visible !important; }
body.archive .loop-entry {
  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform;
  cursor: pointer;
}
body.archive .loop-entry .entry-content-wrap { transition: background-color .18s ease; }
body.archive .loop-entry .post-thumbnail-inner img { transition: transform .35s ease; }
@media (hover: hover) {
  body.archive .loop-entry:hover {
    transform: scale(1.04);
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
    z-index: 2;
  }
  body.archive .loop-entry:hover .entry-content-wrap { background-color: rgba(0,0,0,.3) !important; }
  body.archive .loop-entry:hover .post-thumbnail-inner img { transform: scale(1.05); }
}
body.archive .loop-entry:active {
  transform: scale(0.97) !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.25) !important;
  transition-duration: .08s;
}
body.archive .loop-entry:active .entry-content-wrap { background-color: rgba(0,0,0,.55) !important; }
body.archive .loop-entry:has(a:focus-visible) { outline: 3px solid #111; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  body.archive .loop-entry, body.archive .loop-entry .post-thumbnail-inner img { transition: none; }
  body.archive .loop-entry:hover, body.archive .loop-entry:hover .post-thumbnail-inner img { transform: none; }
}

/* === Browse by Category: mosaic of mixed-size tiles === */
.home .wp-block-gallery.btm-cats.has-nested-images {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: clamp(140px, 14.5vw, 270px);
  grid-auto-flow: dense;
  gap: 0.75rem !important;
}
.home .wp-block-gallery.btm-cats figure.wp-block-image {
  aspect-ratio: auto !important;
  height: 100% !important;
  border-radius: 10px;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.home .wp-block-gallery.btm-cats figure.wp-block-image a,
.home .wp-block-gallery.btm-cats figure.wp-block-image img { display: block; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover !important; }
.home .wp-block-gallery.btm-cats figure.wp-block-image img { transition: transform .4s ease; }
.home .wp-block-gallery.btm-cats figure:nth-child(1) { grid-column: span 2; grid-row: span 2; }   /* NEDM feature */
.home .wp-block-gallery.btm-cats figure:nth-child(2) { grid-column: span 2; }                     /* Folk Dances */
.home .wp-block-gallery.btm-cats figure:nth-child(6) { grid-column: span 2; }                     /* Performances */
.home .wp-block-gallery.btm-cats figure:nth-child(8),
.home .wp-block-gallery.btm-cats figure:nth-child(9) { grid-column: span 2; }                     /* Sub Library, MISC */
.home .wp-block-gallery.btm-cats figcaption.wp-element-caption { transition: background-color .2s ease; }
@media (hover: hover) {
  .home .wp-block-gallery.btm-cats figure.wp-block-image:hover { transform: scale(1.025); box-shadow: 0 12px 30px rgba(0,0,0,.28); z-index: 2; }
  .home .wp-block-gallery.btm-cats figure.wp-block-image:hover img { transform: scale(1.06); }
  .home .wp-block-gallery.btm-cats figure.wp-block-image:hover figcaption.wp-element-caption { background-color: rgba(0,0,0,.28) !important; }
}
.home .wp-block-gallery.btm-cats figure.wp-block-image:active { transform: scale(0.97) !important; box-shadow: 0 3px 10px rgba(0,0,0,.25) !important; transition-duration: .08s; }
.home .wp-block-gallery.btm-cats figure.wp-block-image:active figcaption.wp-element-caption { background-color: rgba(0,0,0,.55) !important; }
@media (max-width: 760px) {
  .home .wp-block-gallery.btm-cats.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 34vw; }
  .home .wp-block-gallery.btm-cats figure:nth-child(n) { grid-column: span 1; grid-row: span 1; }
  .home .wp-block-gallery.btm-cats figure:nth-child(1) { grid-column: span 2; grid-row: span 1; }
}
@media (prefers-reduced-motion: reduce) {
  .home .wp-block-gallery.btm-cats figure.wp-block-image, .home .wp-block-gallery.btm-cats figure.wp-block-image img { transition: none; }
}

/* mosaic: outrank the older 3-column rule */
body.home .entry-content .wp-block-gallery.btm-cats.has-nested-images { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 760px) { body.home .entry-content .wp-block-gallery.btm-cats.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* === Hero brand: bottom-right corner, half size === */
.home .wp-block-cover.alignfull { align-items: flex-end !important; justify-content: flex-end !important; }
.home .wp-block-cover.alignfull .wp-block-cover__inner-container { width: auto !important; max-width: none !important; margin: 0 clamp(1rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2rem) auto !important; }
.btm-hero-brand { --logo: clamp(110px, 16vw, 250px); }
@media (max-width: 640px) { .btm-hero-brand { --logo: 34vw; } }

/* === Homepage category cards: hover/press (no card growth) === */
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image { overflow: hidden; cursor: pointer; transition: box-shadow .18s ease, transform .08s ease; }
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image img { transition: transform .35s ease; }
.home h2.has-text-align-center + .wp-block-gallery figcaption.wp-element-caption { transition: background-color .18s ease; }
@media (hover: hover) {
  .home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:hover { box-shadow: 0 10px 28px rgba(0,0,0,.28); }
  .home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:hover img { transform: scale(1.05); }
  .home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:hover figcaption.wp-element-caption { background-color: rgba(0,0,0,.28) !important; }
}
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:active { transform: scale(0.97); box-shadow: 0 3px 10px rgba(0,0,0,.25); }
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:active figcaption.wp-element-caption { background-color: rgba(0,0,0,.55) !important; }
@media (prefers-reduced-motion: reduce) { .home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image img { transition: none; } .home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:hover img { transform: none; } }

/* Header logo icons: full color, consistent size */
.header-social-item.social-link-custom1, .header-social-item.social-link-custom2 { opacity: 1 !important; filter: none !important; background: transparent !important; border-color: transparent !important; }
.header-social-item .social-icon-custom-svg, .header-social-item .social-icon-image { width: 26px !important; max-width: 26px !important; }
.header-social-item .social-icon-custom-svg svg { width: 100%; height: auto; display: block; }
.header-social-item img { width: 26px !important; height: auto !important; opacity: 1 !important; }

/* Hero brand +15%, lower */
.btm-hero-brand { --logo: clamp(126px, 18.4vw, 288px); }
.home .wp-block-cover.alignfull .wp-block-cover__inner-container { margin-bottom: clamp(0.25rem, 1vw, 0.75rem) !important; }
.home .wp-block-cover.alignfull { padding-bottom: 0.5rem !important; }
@media (max-width: 640px) { .btm-hero-brand { --logo: 39vw; } }

/* Rounded corners: category cards + homepage photos (match Top 10) */
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image { border-radius: 6px !important; }
.home .btm-hi-will .wp-block-media-text__media img, .home .btm-nedm-quote .wp-block-media-text__media img, .page-id-14 .wp-block-media-text__media img { border-radius: 6px; }

/* === No dim overlays: thumbnails, category cards, banners, hero === */
body.archive .loop-entry .entry-content-wrap,
body.archive .loop-entry:hover .entry-content-wrap,
body.archive .loop-entry:active .entry-content-wrap { background: transparent !important; background-color: transparent !important; }
.home .wp-block-gallery figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:hover figcaption.wp-element-caption,
.home h2.has-text-align-center + .wp-block-gallery figure.wp-block-image:active figcaption.wp-element-caption { background: transparent !important; background-color: transparent !important; }
.post-archive-hero-section .hero-section-overlay { background: transparent !important; opacity: 0 !important; }
.home .wp-block-cover .wp-block-cover__background { opacity: 0 !important; background: transparent !important; }
/* keep titles readable without the dim */
body.archive .loop-entry h2.entry-title { text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 0 8px rgba(0,0,0,.75), 0 2px 16px rgba(0,0,0,.6) !important; }
.home .wp-block-gallery figcaption.wp-element-caption { filter: drop-shadow(0 0 2px rgba(0,0,0,.9)) drop-shadow(0 2px 10px rgba(0,0,0,.7)); }
.post-archive-title h1 { filter: drop-shadow(0 0 2px rgba(0,0,0,.9)) drop-shadow(0 3px 14px rgba(0,0,0,.75)) !important; }
.btm-hero-brand { filter: drop-shadow(0 0 3px rgba(0,0,0,.8)) drop-shadow(0 3px 16px rgba(0,0,0,.6)); }

/* === Header icons: same height, pinned to the right edge === */
.site-top-header-wrap .site-header-top-section-right { margin-left: auto !important; margin-right: 0 !important; justify-content: flex-end !important; padding-right: 0.75rem !important; gap: 0.6rem; }
.site-top-header-wrap .site-header-top-section-right > * { margin-left: 0 !important; margin-right: 0 !important; }
.site-top-header-wrap .site-header-top-section-center { margin-left: auto !important; margin-right: auto !important; }
.site-top-header-wrap .header-social-inner-wrap { display: flex; align-items: center; gap: 0.6rem; }
.site-top-header-wrap .header-social-item { padding: 0 !important; margin: 0 !important; width: auto !important; height: 26px !important; display: inline-flex !important; align-items: center; border: 0 !important; background: transparent !important; }
.site-top-header-wrap .header-social-item svg, .site-top-header-wrap .header-social-item img, .site-top-header-wrap .header-social-item .social-icon-image, .site-top-header-wrap .header-social-item .social-icon-custom-svg { height: 26px !important; width: auto !important; max-width: none !important; }
.site-top-header-wrap .site-branding img.custom-logo, .site-top-header-wrap .custom-logo-link img { height: 26px !important; width: auto !important; max-height: 26px !important; }
.site-top-header-wrap .search-toggle-open, .site-top-header-wrap .search-toggle-icon svg { height: 26px !important; width: 26px !important; padding: 0 !important; }

/* Top header row: text links centered, icons at the right edge */
@media (min-width: 1025px) {
  .site-top-header-wrap .site-header-row-container-inner > .site-container,
  .site-top-header-wrap .site-top-header-inner-wrap.site-header-row-center-column {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center;
    width: 100%;
  }
  .site-top-header-wrap .site-top-header-inner-wrap .site-header-top-section-left { grid-column: 1; }
  .site-top-header-wrap .site-top-header-inner-wrap .site-header-section-center { grid-column: 2; margin: 0 !important; }
  .site-top-header-wrap .site-top-header-inner-wrap .site-header-top-section-right { grid-column: 3; justify-self: end; display: flex !important; align-items: center; margin: 0 !important; }
  .site-top-header-wrap .site-header-top-section-left-center:empty,
  .site-top-header-wrap .site-header-top-section-right-center:empty { display: none !important; }
}

/* Section dividing lines: black */
body.archive ul#archive-container > li.btm-section-header { border-bottom-color: #111 !important; }

@media (min-width: 1025px) {
  .site-top-header-wrap .site-header-row-container-inner > .site-container { display: block !important; grid-template-columns: none !important; }
  .site-top-header-wrap .header-social-inner-wrap, .site-top-header-wrap .site-header-top-section-right { flex-wrap: nowrap !important; white-space: nowrap; }
}

/* Sub Library jump links: clear the sticky header */
#note-to-guest-teachers, #short-videos, #long-videos { scroll-margin-top: 140px; }
html { scroll-behavior: smooth; }

/* Category cards: no dim (beat older overlay rule + WP core caption blur/gradient) */
body.home .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption { background: transparent !important; background-image: none !important; }
body.home .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before,
body.home .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image::after { content: none !important; display: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: none !important; }

/* Stronger shadow behind titles: category cards + video thumbnails */
body.home .entry-content .wp-block-gallery figcaption.wp-element-caption { filter: drop-shadow(0 0 3px rgba(0,0,0,.95)) drop-shadow(0 0 10px rgba(0,0,0,.8)) drop-shadow(0 4px 22px rgba(0,0,0,.6)) !important; }
body.archive .loop-entry h2.entry-title, body.archive .loop-entry h2.entry-title a { text-shadow: 0 0 3px rgba(0,0,0,.95), 0 0 10px rgba(0,0,0,.85), 0 3px 22px rgba(0,0,0,.7) !important; }

/* Stronger shadow behind banner titles */
.wp-site-blocks .post-archive-title h1, .post-archive-title h1 { filter: drop-shadow(0 0 3px rgba(0,0,0,.95)) drop-shadow(0 0 12px rgba(0,0,0,.8)) drop-shadow(0 5px 26px rgba(0,0,0,.6)) !important; }

/* Tight per-letter shadows (no cloud around the text block) */
body.archive .loop-entry h2.entry-title, body.archive .loop-entry h2.entry-title a, body.archive .loop-entry .btm-title-sub { text-shadow: 0 1px 1px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,.85), 0 1px 5px rgba(0,0,0,.6) !important; }
body.home .entry-content .wp-block-gallery figcaption.wp-element-caption { filter: drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 3px rgba(0,0,0,.8)) !important; }
.wp-site-blocks .post-archive-title h1, .post-archive-title h1 { filter: drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 4px rgba(0,0,0,.8)) !important; }

/* === Apps page: two big cards like the homepage category cards === */
.page-id-900762 .entry-title { text-align: center; }
.btm-apps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); padding: 0 1rem; box-sizing: border-box; }
.btm-app { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; text-decoration: none !important; transition: box-shadow .18s ease, transform .08s ease; }
.btm-app img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.btm-app__title {
  position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 7%;
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700; font-size: clamp(1.4rem, 3.4vw, 3rem); line-height: 1; text-align: center;
  color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0.035em #fff;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 3px rgba(0,0,0,.8));
}
@media (hover: hover) { .btm-app:hover { box-shadow: 0 10px 28px rgba(0,0,0,.28); } .btm-app:hover img { transform: scale(1.05); } }
.btm-app:active { transform: scale(0.97); box-shadow: 0 3px 10px rgba(0,0,0,.25); }
@media (max-width: 700px) { .btm-apps { grid-template-columns: minmax(0, 1fr); } }

/* === NEDM book box (top of each book subcategory) === */
.btm-book { display: grid; grid-template-columns: clamp(160px, 22vw, 280px) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2.5rem); align-items: center; max-width: 1100px; margin: 0 auto 2.5rem; padding: clamp(1rem, 2.5vw, 1.75rem); border: 1px solid rgba(0,0,0,.12); border-radius: 6px; background: #fff; }
.btm-book__cover img { width: 100%; height: auto; display: block; border-radius: 6px; }
.btm-book__title { margin: 0 !important; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.1; }
.btm-book__sub { margin: 0.35rem 0 0.9rem !important; font-size: 1.05rem; font-style: italic; color: #444; }
.btm-book__desc { margin: 0 0 0.6rem !important; line-height: 1.55; }
.btm-book__formats { margin: 0 0 1.1rem !important; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #666; }
.btm-book__buy { display: inline-block; padding: 0.7rem 1.2rem; border-radius: 6px; background: #111; color: #fff !important; font-weight: 700; text-decoration: none !important; transition: transform .08s ease, opacity .15s ease; }
.btm-book__buy:hover { opacity: .85; } .btm-book__buy:active { transform: scale(0.97); }
@media (max-width: 640px) { .btm-book { grid-template-columns: minmax(0, 1fr); } .btm-book__cover { max-width: 240px; margin: 0 auto; } }

/* === Category banners: contained to the video grid, rounded, a bit taller === */
body.archive .entry-hero.post-archive-hero-section {
  max-width: calc(1400px - 1rem);
  width: calc(100% - 1rem);
  margin: 1rem auto 0 !important;
  border-radius: 6px;
  overflow: hidden;
}
body.archive .entry-hero.post-archive-hero-section .entry-header { min-height: clamp(220px, 24vw, 340px) !important; }

/* === App pages (children of Apps) === */
.btm-app-page { max-width: 1100px; margin: 0 auto; }
.btm-app-page__blurb { font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.55; text-align: center; max-width: 760px; margin: 0 auto 1.25rem !important; }
.btm-app-page__open { text-align: center; margin: 0 0 2rem !important; }
.btm-app-page__btn { display: inline-block; padding: 0.8rem 1.5rem; border-radius: 6px; background: #111; color: #fff !important; font-weight: 700; text-decoration: none !important; transition: transform .08s ease, opacity .15s ease; }
.btm-app-page__btn:hover { opacity: .85; } .btm-app-page__btn:active { transform: scale(0.97); }
.btm-app-page__shots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.btm-app-page__shots a { display: block; border-radius: 6px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,.18); transition: box-shadow .18s ease; }
.btm-app-page__shots a:hover { box-shadow: 0 10px 28px rgba(0,0,0,.28); }
.btm-app-page__shots img { width: 100%; height: auto; display: block; }
@media (max-width: 700px) { .btm-app-page__shots { grid-template-columns: minmax(0, 1fr); } }
.page-parent.page-id-900762 .entry-title, .parent-pageid-900762 .entry-title { text-align: center; }

/* Page titles for Apps pages (theme hides page titles) */
.btm-page-title { text-align: center; margin: 0.5rem 0 1.5rem !important; font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-weight: 800; font-size: clamp(2.6rem, 7vw, 6rem); line-height: 1; color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0.03em #111; }

/* === Category subcategory button row (pinned under the header) === */
.btm-subnav {
  position: sticky; z-index: 20;
  margin: 0 0 1.25rem;
  padding: 0.6rem 0;
  background: var(--global-palette9, #f7fafc);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.btm-subnav__row { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }
.btm-subnav__btn {
  display: inline-block; white-space: nowrap;
  padding: 0.5rem 1rem; border-radius: 999px;
  border: 1.5px solid #111; color: #111 !important; background: transparent;
  font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 600; font-size: 0.92rem; text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease, transform .08s ease;
}
.btm-subnav__btn:hover { background: rgba(0,0,0,.06); }
.btm-subnav__btn:active { transform: scale(0.96); }
.btm-subnav__btn.is-active { background: #111; color: #fff !important; }
@media (max-width: 760px) {
  .btm-subnav { display: none; }
}

/* subnav: "All" mode marks the section in view lightly */
.btm-subnav__btn.is-current { background: rgba(0,0,0,.08); }
.btm-subnav__btn.is-active { background: #111 !important; color: #fff !important; }

/* subnav: fit one line on desktop */
@media (min-width: 761px) { .btm-subnav__row { gap: 0.4rem; } .btm-subnav__btn { padding: 0.42rem 0.8rem; font-size: clamp(0.78rem, 0.95vw, 0.9rem); } }

/* === Everything white (theme used a faint blue-gray, palette8/9) === */
body, .site, .content-bg, body.content-style-unboxed .site, .site-main, .content-wrap,
.site-header, .site-header-wrap, .site-header-row-container-inner, .site-top-header-wrap, .site-main-header-wrap,
.site-footer, .site-footer-wrap, .site-footer-row-container-inner,
.btm-subnav, .btm-yt-stats, .btm-book, .header-navigation .header-menu-container ul ul,
.entry-content-wrap, .entry.content-bg, .loop-entry.content-bg { background-color: #fff !important; }
body.archive .loop-entry .entry-content-wrap { background-color: transparent !important; }

/* Dropdown menus: white panel, black text (fix white-on-white) */
.header-navigation .header-menu-container ul ul.sub-menu, .header-navigation ul ul { background: #fff !important; border: 1px solid rgba(0,0,0,.1); border-radius: 6px; box-shadow: 0 10px 28px rgba(0,0,0,.14); }
.header-navigation ul ul li.menu-item > a, .header-navigation .header-menu-container ul ul li.menu-item > a { color: #111 !important; background: transparent !important; border-bottom: 0 !important; }
.header-navigation ul ul li.menu-item > a:hover, .header-navigation ul ul li.menu-item.current-menu-item > a { background: rgba(0,0,0,.06) !important; color: #111 !important; }

/* === Homepage mission statement (under Hi, I'm Will) === */
.btm-mission { max-width: 980px; margin: 3.5rem auto !important; padding: 0 1.5rem; text-align: center; }
.btm-mission__label { margin: 0 0 0.75rem !important; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #555; }
.btm-mission__text { margin: 0 !important; padding: 0 !important; border: 0 !important; font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.3; color: #111; font-style: normal; }

/* Footer links */
.site-footer .footer-navigation ul { justify-content: center; gap: 1.25rem; }
.site-footer .footer-navigation a { color: #111 !important; font-size: 0.9rem; text-decoration: none; }
.site-footer .footer-navigation a:hover { text-decoration: underline; }

/* Footer: links in one centered row above the copyright, site font */
.site-footer .site-top-footer-inner-wrap, .site-footer .site-footer-top-section-2 { display: flex !important; flex-direction: column; align-items: center; justify-content: center; text-align: center; grid-column: 1 / -1; }
.site-footer .site-top-footer-inner-wrap { grid-template-columns: 1fr !important; }
.site-footer .footer-navigation ul.menu { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 1.5rem; margin: 0 0 0.5rem !important; padding: 0; }
.site-footer .footer-navigation ul.menu > li > a { font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; font-size: 0.9rem !important; font-weight: 500; text-transform: none !important; letter-spacing: 0 !important; color: #111 !important; padding: 0.25rem 0 !important; }
.site-footer .footer-html { white-space: nowrap; font-size: 0.85rem; color: #555; }

#about, #mission { scroll-margin-top: 120px; }

/* === Mission statement: hand-drawn marker accents (draw in on scroll) === */
.btm-mark { background-repeat: no-repeat; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-size .9s cubic-bezier(.65,.05,.36,1); }
.btm-mark--underline { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20300%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M3%2015%20C%2040%209%2C%2080%2018%2C%20120%2012%20S%20200%208%2C%20240%2013%20S%20285%2016%2C%20297%2010%22%20fill%3D%22none%22%20stroke%3D%22%2339d0ff%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M14%2020%20C%2070%2015%2C%20150%2021%2C%20230%2016%20S%20280%2017%2C%20290%2015%22%20fill%3D%22none%22%20stroke%3D%22%2339d0ff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.8%22/%3E%3C/svg%3E"); background-position: 0 100%; background-size: 0% 0.42em; padding-bottom: 0.18em; }
.btm-mark--hilite { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20300%2040%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M4%209%20C%2060%204%2C%20140%207%2C%20220%205%20S%20290%206%2C%20297%208%20L%20295%2033%20C%20230%2037%2C%20150%2034%2C%2080%2036%20S%2015%2035%2C%206%2032%20Z%22%20fill%3D%22%23ffe45c%22%20opacity%3D%22.75%22/%3E%3C/svg%3E"); background-position: 0 60%; background-size: 0% 0.95em; padding: 0 0.12em; margin: 0 -0.06em; transition-delay: .55s; }
.btm-mission.is-drawn .btm-mark--underline { background-size: 100% 0.42em; }
.btm-mission.is-drawn .btm-mark--hilite { background-size: 100% 0.95em; }
@media (prefers-reduced-motion: reduce) { .btm-mark { transition: none; } }

/* === Subscribe page === */
.btm-sub { text-align: center; margin: 0 auto 3rem; }
.btm-sub__count { margin: 0 0 1.5rem !important; font-size: clamp(1.1rem, 2vw, 1.5rem); color: #333; }
.btm-sub__num { font-weight: 800; color: #111; }
.btm-sub__btn { display: inline-flex; align-items: center; gap: 0.7rem; padding: 1rem 1.9rem; border-radius: 999px; background: #FF0033; color: #fff !important; font-weight: 800; font-size: clamp(1.05rem, 1.8vw, 1.35rem); text-decoration: none !important; box-shadow: 0 8px 22px rgba(255,0,51,.28); transition: transform .12s ease, box-shadow .18s ease; }
.btm-sub__btn svg { width: 1.7em; height: auto; }
.btm-sub__btn:hover { box-shadow: 0 12px 30px rgba(255,0,51,.38); transform: translateY(-1px); }
.btm-sub__btn:active { transform: scale(0.97); }
.btm-sub__h { text-align: center; margin: 0 0 1rem !important; }
.btm-latest { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; width: 100vw; max-width: 1400px; margin-left: 50%; transform: translateX(-50%); padding: 0 0.5rem; box-sizing: border-box; }
.btm-latest__card { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: #ddd center / cover no-repeat; text-decoration: none !important; padding: 0.75rem; transition: box-shadow .18s ease, transform .08s ease; }
.btm-latest__title { display: flex; flex-direction: column; text-align: center; color: #fff; font-weight: 700; font-size: clamp(0.95rem, 1.3vw, 1.2rem); line-height: 1.2; text-shadow: 0 1px 1px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,.85), 0 1px 5px rgba(0,0,0,.6); }
.btm-latest__title .btm-title-sub { font-size: 0.72em; font-weight: 400; margin-top: 0.25em; }
@media (hover: hover) { .btm-latest__card:hover { box-shadow: 0 10px 28px rgba(0,0,0,.28); } }
.btm-latest__card:active { transform: scale(0.97); }
@media (max-width: 900px) { .btm-latest { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .btm-latest { grid-template-columns: minmax(0, 1fr); } }

/* === Mission: black Sharpie handwriting + blue pen annotations === */
.btm-mission__text { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; font-size: clamp(1.7rem, 3.6vw, 3rem) !important; line-height: 1.45 !important; letter-spacing: 0.01em; color: #111 !important; }
.btm-mark--underline { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20300%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M3%2015%20C%2040%209%2C%2080%2018%2C%20120%2012%20S%20200%208%2C%20240%2013%20S%20285%2016%2C%20297%2010%22%20fill%3D%22none%22%20stroke%3D%22%231a56db%22%20stroke-width%3D%224.5%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M14%2020%20C%2070%2015%2C%20150%2021%2C%20230%2016%20S%20280%2017%2C%20290%2015%22%20fill%3D%22none%22%20stroke%3D%22%231a56db%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.85%22/%3E%3C/svg%3E") !important; }
.btm-mark--hilite { background: none !important; padding: 0 !important; margin: 0 !important; }
.btm-circle { position: relative; display: inline-block; white-space: nowrap; }
.btm-circle svg { position: absolute; left: -0.28em; top: -0.12em; width: calc(100% + 0.56em); height: calc(100% + 0.24em); overflow: visible; pointer-events: none; }
.btm-circle path { fill: none; stroke: #1a56db; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 400; stroke-dashoffset: 400; transition: stroke-dashoffset .8s cubic-bezier(.65,.05,.36,1); vector-effect: non-scaling-stroke; }
.btm-mission.is-drawn .btm-circle path { stroke-dashoffset: 0; }
.btm-circle:nth-of-type(1) path { transition-delay: .7s; } .btm-circle:nth-of-type(2) path { transition-delay: 1.1s; } .btm-circle:nth-of-type(3) path { transition-delay: 1.5s; }
@media (prefers-reduced-motion: reduce) { .btm-circle path { transition: none; } }

/* === Homepage: header floats over the hero photo (desktop) === */
@media (min-width: 1025px) {
  body.home #masthead { position: absolute; top: 0; left: 0; right: 0; z-index: 50; }
  body.home.admin-bar #masthead { top: 32px; }
  body.home #masthead, body.home #masthead .site-header-wrap, body.home #masthead .site-header-row-container-inner,
  body.home #masthead .site-top-header-wrap, body.home #masthead .site-main-header-wrap,
  body.home #masthead .site-header-inner-wrap { background: transparent !important; background-color: transparent !important; box-shadow: none !important; border: 0 !important; }
  body.home #masthead .site-header-wrap { background: linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,0)) !important; }
  body.home #masthead #site-navigation ul#primary-menu > li.menu-item > a,
  body.home #masthead #site-navigation ul#primary-menu > li.menu-item > a .dropdown-nav-toggle,
  body.home #masthead #secondary-navigation a { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.75), 0 0 6px rgba(0,0,0,.45); }
  body.home #masthead #site-navigation ul#primary-menu > li.menu-item > a svg { fill: #fff; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
  body.home #masthead .menu-item.current-menu-item > a { box-shadow: none; }
  body.home #masthead .search-toggle-open, body.home #masthead .search-toggle-open svg { color: #fff !important; fill: #fff !important; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
  body.home #masthead .header-social-item { filter: drop-shadow(0 1px 3px rgba(0,0,0,.5)); }
  body.home #masthead .site-branding img.custom-logo { filter: invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
  /* hero now starts at the very top, behind the header */
  body.home .wp-block-cover.alignfull { min-height: max(420px, calc(100svh - 190px)) !important; }
  body.home.admin-bar .wp-block-cover.alignfull { min-height: max(420px, calc(100svh - 32px - 190px)) !important; }
}

/* Homepage over-hero icons: each logo on a small white circle */
@media (min-width: 1025px) {
  body.home #masthead .site-branding img.custom-logo { filter: none !important; }
  body.home #masthead .site-header-top-section-right .site-branding a, body.home #masthead .header-social-item { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: #fff !important; display: inline-flex !important; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.3); filter: none !important; }
  body.home #masthead .site-header-top-section-right .site-branding img.custom-logo, body.home #masthead .header-social-item img, body.home #masthead .header-social-item svg { height: 22px !important; width: auto !important; max-height: 22px !important; }
}

/* Homepage over-hero header: bigger to fill the space */
@media (min-width: 1025px) {
  body.home #masthead #site-navigation ul#primary-menu > li.menu-item > a { font-size: clamp(0.82rem, 1.12vw, 1.12rem) !important; padding: 0.7em clamp(0.45em, 0.85vw, 1em) !important; letter-spacing: 0.04em !important; font-weight: 700; }
  body.home #masthead .site-header-top-section-right { gap: 0.75rem; padding-right: 1rem !important; }
  body.home #masthead .site-header-top-section-right .site-branding a, body.home #masthead .header-social-item { width: 48px !important; height: 48px !important; }
  body.home #masthead .site-header-top-section-right .site-branding img.custom-logo, body.home #masthead .header-social-item img, body.home #masthead .header-social-item svg { height: 30px !important; max-height: 30px !important; }
  body.home #masthead .search-toggle-open, body.home #masthead .search-toggle-icon svg { width: 34px !important; height: 34px !important; }
  body.home #masthead .site-top-header-wrap .site-header-row-container-inner { padding-top: 0.6rem; }
}

/* === Homepage: icons in the hero's bottom-left (desktop); search stays in the header === */
.btm-hero-icons { display: none; }
@media (min-width: 1025px) {
  body.home #masthead .site-header-top-section-right .site-branding,
  body.home #masthead .site-header-top-section-right .header-social-wrap { display: none !important; }
  .home .wp-block-cover.alignfull { position: relative; }
  .btm-hero-icons { display: flex; gap: 0.75rem; position: absolute; left: clamp(1rem, 3vw, 2.5rem); bottom: clamp(1rem, 3vw, 2rem); z-index: 5; }
  .btm-hero-icons > a { width: 52px; height: 52px; border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(0,0,0,.3); padding: 0 !important; border: 0 !important; transition: transform .12s ease, box-shadow .15s ease; }
  .btm-hero-icons > a:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,.35); }
  .btm-hero-icons > a:active { transform: scale(0.95); }
  .btm-hero-icons img, .btm-hero-icons svg { height: 32px !important; width: auto !important; max-width: 36px !important; max-height: 32px !important; display: block; filter: none !important; }
  .btm-hero-icons .social-icon-image, .btm-hero-icons .social-icon-custom-svg { display: contents; }
}

.btm-hero-icons img.social-icon-image { display: block !important; }
.btm-hero-icons span.social-icon-custom-svg { display: contents; }

.btm-hero-icons > a.header-social-item, .btm-hero-icons > a.header-social-item.social-link-custom1, .btm-hero-icons > a.header-social-item.social-link-custom2, .btm-hero-icons > a { background: #fff !important; background-color: #fff !important; opacity: 1 !important; }
.btm-hero-icons > a.social-link-youtube, .btm-hero-icons > a.social-link-youtube svg { color: #FF0000 !important; fill: #FF0000 !important; }

@media (min-width: 1025px) {
  body.home #masthead .search-toggle-open-container, body.home #masthead .site-header-item[data-section="kadence_customizer_header_search"] { display: none !important; }
  .btm-hero-icons > a.btm-hero-search svg { fill: #111 !important; color: #111 !important; width: 26px !important; height: 26px !important; filter: none !important; }
}

/* Homepage over-hero header: soft blurred band + stronger text shadow so the categories pop */
@media (min-width: 1025px) {
  body.home #masthead .site-header-wrap { background: none !important; position: relative; }
  body.home #masthead .site-header-wrap::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 170%; z-index: -1; pointer-events: none;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    background: linear-gradient(rgba(0,0,0,.38), rgba(0,0,0,.18) 55%, rgba(0,0,0,0));
    -webkit-mask-image: linear-gradient(#000 45%, transparent); mask-image: linear-gradient(#000 45%, transparent); }
  body.home #masthead #site-navigation ul#primary-menu > li.menu-item > a { text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 0 8px rgba(0,0,0,.55) !important; }
}

/* Blur only behind the category text (stops above faces); darkening still fades a bit lower */
@media (min-width: 1025px) {
  body.home #masthead .site-header-wrap::before { height: 100% !important; background: none !important; -webkit-mask-image: linear-gradient(#000 55%, transparent) !important; mask-image: linear-gradient(#000 55%, transparent) !important; }
  body.home #masthead .site-header-wrap::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 150%; z-index: -2; pointer-events: none; background: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.15) 60%, rgba(0,0,0,0)); }
}

/* Hero brand without byline: two columns */
.btm-hero-brand { grid-template-columns: auto var(--logo) !important; }

/* Homepage section titles in Sharpie marker */
body.home .entry-content h2.wp-block-heading, body.home .btm-hi-will h2, .btm-hero-brand__welcome { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; letter-spacing: 0.01em; }
body.home .entry-content h2.wp-block-heading { font-size: clamp(2rem, 3.6vw, 3rem) !important; }

.btm-yt-stats__yt { display: none !important; }

.btm-subnav { border: 0 !important; box-shadow: none !important; }

/* Category pages: no logo/social icons in the header (search stays) */
body.archive #masthead .site-header-top-section-right .site-branding, body.archive #masthead .header-social-wrap { display: none !important; }

/* === Category section titles: Sharpie font + blue scribble underline === */
body.archive ul#archive-container > li.btm-section-header { border-bottom: 0 !important; padding-bottom: 0 !important; }
body.archive ul#archive-container > li.btm-section-header h2 {
  display: inline-block; font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important;
  text-transform: none !important; letter-spacing: 0.01em !important; color: #111 !important; font-size: clamp(1.7rem, 2.8vw, 2.4rem) !important;
  padding-bottom: 0.35em; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20300%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M3%2015%20C%2040%209%2C%2080%2018%2C%20120%2012%20S%20200%208%2C%20240%2013%20S%20285%2016%2C%20297%2010%22%20fill%3D%22none%22%20stroke%3D%22%231a56db%22%20stroke-width%3D%224.5%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M14%2020%20C%2070%2015%2C%20150%2021%2C%20230%2016%20S%20280%2017%2C%20290%2015%22%20fill%3D%22none%22%20stroke%3D%22%231a56db%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.85%22/%3E%3C/svg%3E") no-repeat 0 100% / 100% 0.45em;
}

/* Category pages: tighter gap between banner and button row */
body.archive #primary.content-area { margin-top: 1.25rem !important; }

/* Category row: same size as the homepage on every page */
@media (min-width: 1025px) {
  #masthead #site-navigation ul#primary-menu > li.menu-item > a { font-size: clamp(0.82rem, 1.12vw, 1.12rem) !important; padding: 0.7em clamp(0.45em, 0.85vw, 1em) !important; letter-spacing: 0.04em !important; font-weight: 700; }
}

/* New subcategories: their own banners (2026-10-19; the earlier rules here were malformed and never applied) */
body.category-winter-programs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-holiday-programs-UUSn3uT2akk-2.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-spring-programs .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-spring-programs-_wy5g7J4Kg4-2.jpg') !important; background-size: cover !important; background-position: 50% 55% !important; }
body.category-kindergarten-graduations .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-kindergarten-graduations-26eW86L10FQ-2.jpg') !important; background-size: cover !important; background-position: 50% 30% !important; }
body.category-choir-concerts .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-choir-concerts-Dzf6b-PbfRU-2.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-talent-shows .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-talent-shows-z_MnF-QWVTQ-2.jpg') !important; background-size: cover !important; background-position: 50% 30% !important; }
body.category-homemade-instruments .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-homemade-instruments-3hOjRu7MyaA-2.jpg') !important; background-size: cover !important; background-position: 50% 40% !important; }
body.category-guitar-piano .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-guitar-piano-9-aGOmTZ8Is-2.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-brain-breaks-dance-parties .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-brain-breaks-dance-parties-jBhpbPBXD_E-2.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }
body.category-movement-stories .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-movement-stories-GZWam0qEtvQ-2.jpg') !important; background-size: cover !important; background-position: 50% 50% !important; }
body.category-wills-performances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-wills-performances-z8IRkClkDjI-2.jpg') !important; background-size: cover !important; background-position: 50% 55% !important; }
body.category-back-to-bach .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-back-to-bach-_V-qL_gKrB0-2.jpg') !important; background-size: cover !important; background-position: 50% 50% !important; }
body.category-composition-projects .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-composition-projects-dc-dqxOGb4g-2.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }

/* === Category editor (admins only) === */
.btm-ce-toggle { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 9998; padding: 0.75rem 1.2rem; border: 0; border-radius: 999px; background: #111; color: #fff; font-weight: 700; font-size: 0.95rem; box-shadow: 0 6px 18px rgba(0,0,0,.3); cursor: pointer; }
body.btm-ce-on .btm-ce-toggle { background: #1a56db; }
.btm-ce-pencil { display: none; position: absolute; top: 0.5rem; left: 0.5rem; z-index: 10; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: #111; box-shadow: 0 2px 8px rgba(0,0,0,.35); cursor: pointer; align-items: center; justify-content: center; padding: 0; }
.btm-ce-pencil svg { width: 20px; height: 20px; }
body.btm-ce-on .btm-ce-pencil { display: inline-flex; }
body.btm-ce-on .loop-entry:hover { transform: none !important; }
.loop-entry.btm-ce-editing { outline: 4px solid #1a56db; outline-offset: 2px; }
li.btm-ce-gone { opacity: 0; transform: scale(.9); transition: opacity .4s ease, transform .4s ease; }
.btm-ce-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(380px, 92vw); z-index: 9999; background: #fff; box-shadow: -8px 0 30px rgba(0,0,0,.2); display: flex; flex-direction: column; transform: translateX(105%); transition: transform .25s ease; }
body.admin-bar .btm-ce-panel { top: 32px; }
.btm-ce-panel.is-open { transform: none; }
.btm-ce-head { display: flex; align-items: flex-start; gap: 0.5rem; padding: 1rem 1rem 0.75rem; border-bottom: 1px solid #eee; }
.btm-ce-title { flex: 1; font-weight: 700; line-height: 1.3; }
.btm-ce-x { border: 0; background: none; font-size: 1.8rem; line-height: 1; cursor: pointer; color: #111; }
.btm-ce-body { flex: 1; overflow-y: auto; padding: 0.5rem 1rem 1rem; }
.btm-ce-group { padding: 0.6rem 0; border-bottom: 1px solid #f0f0f0; }
.btm-ce-top { display: block; font-weight: 700; padding: 0.2rem 0; cursor: pointer; }
.btm-ce-kids { padding-left: 1.4rem; }
.btm-ce-kid { display: block; padding: 0.18rem 0; cursor: pointer; font-size: 0.95rem; }
.btm-ce-panel input[type=checkbox] { width: 1.05rem; height: 1.05rem; vertical-align: -2px; accent-color: #1a56db; }
.btm-ce-add { margin-top: 0.3rem; border: 0; background: none; color: #1a56db; font-weight: 600; cursor: pointer; padding: 0.2rem 0; }
.btm-ce-foot { display: flex; align-items: center; gap: 0.75rem; padding: 0.85rem 1rem; border-top: 1px solid #eee; }
.btm-ce-status { flex: 1; font-size: 0.9rem; color: #555; }
.btm-ce-save { border: 0; border-radius: 6px; background: #111; color: #fff; font-weight: 700; padding: 0.65rem 1.4rem; cursor: pointer; }
.btm-ce-save:disabled { opacity: .5; }

.btm-ce-toggle { right: auto !important; left: 1.25rem; }

body.category-family-dances .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-family-folk-dances-tQAPo3nTX7c-2.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }

/* === Video page redesign === */
body.single-post .article-post-thumbnail { display: none !important; }
body.single-post .entry-tags, body.single-post .post-navigation, body.single-post .entry-related, body.single-post .entry-header .entry-taxonomies { display: none !important; }
body.single-post .content-container.site-container { max-width: 1200px; }
body.single-post .entry-content-wrap { padding-top: 1.5rem !important; }
body.single-post .entry-header { margin-bottom: 0.75rem !important; }
body.single-post h1.entry-title { font-size: clamp(2rem, 4.2vw, 3.4rem) !important; line-height: 1.1 !important; font-weight: 800; }
body.single-post h1.entry-title .btm-title-sub { font-size: 0.5em; font-weight: 400; color: #555; margin-top: 0.35em; }
/* category chips */
.btm-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.45rem; margin: 0 0 1.5rem; }
.btm-chip { display: inline-block; padding: 0.35rem 0.85rem; border-radius: 999px; border: 1.5px solid #111; color: #111 !important; font-size: 0.85rem; font-weight: 600; text-decoration: none !important; transition: background-color .15s ease; }
.btm-chip:hover { background: rgba(0,0,0,.06); }
.btm-chip--top { background: #111; color: #fff !important; }
.btm-chip--top:hover { background: #333; }
/* big video */
body.single-post .entry-content p:has(> iframe[src*="youtube"]) { margin: 0 0 2rem !important; }
body.single-post .entry-content iframe[src*="youtube"] { width: 100% !important; max-width: 1100px; height: auto !important; aspect-ratio: 16 / 9; display: block; margin: 0 auto !important; border-radius: 6px; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
body.single-post .entry-content p:empty { display: none; }
/* book box on video pages */
.btm-book--video { margin: 0 auto 2.5rem; max-width: 900px; grid-template-columns: clamp(120px, 16vw, 190px) minmax(0, 1fr); }
.btm-book__kicker { margin: 0 0 0.25rem !important; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #666; }
/* more videos */
.btm-more { margin: 1rem 0 2rem; }
.btm-more__h { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; text-align: center; font-size: clamp(1.7rem, 2.8vw, 2.4rem) !important; margin: 0 0 1rem !important; }
.btm-more__all { text-align: center; margin: 1.25rem 0 0 !important; }
.btm-more__all a { font-weight: 700; color: #111 !important; }

/* ===== Phone fixes (homepage) ===== */
@media (max-width: 760px) {
  /* stats on one line */
  .btm-yt-stat__num { font-size: clamp(1.6rem, 9vw, 2.4rem) !important; white-space: nowrap; -webkit-text-stroke-width: 0.035em; }
  .btm-yt-stat__label { font-size: 0.68rem !important; letter-spacing: 0.1em; }
  /* category cards: Apps full width, solid readable titles */
  body.home .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:first-child { grid-column: 1 / -1; }
  body.home .entry-content .wp-block-gallery figcaption.wp-element-caption {
    color: #fff !important; -webkit-text-fill-color: #fff !important; -webkit-text-stroke: 0 !important;
    font-weight: 800 !important; filter: none !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 0 6px rgba(0,0,0,.7) !important;
  }
  /* hero icons: show, smaller, top-left */
  .btm-hero-icons { display: flex !important; position: absolute; left: 0.75rem; top: 0.75rem; bottom: auto; gap: 0.5rem; z-index: 5; }
  .btm-hero-icons > a { width: 40px; height: 40px; border-radius: 50%; background: #fff !important; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.3); padding: 0 !important; border: 0 !important; }
  .btm-hero-icons img, .btm-hero-icons svg { height: 24px !important; width: auto !important; max-width: 28px !important; max-height: 24px !important; display: block; filter: none !important; }
  .btm-hero-icons img.social-icon-image { display: block !important; }
  .btm-hero-icons > a.social-link-youtube svg { fill: #FF0000 !important; color: #FF0000 !important; }
  .btm-hero-icons > a.btm-hero-search svg { fill: #111 !important; width: 20px !important; height: 20px !important; }
  .home .wp-block-cover.alignfull { position: relative; }
}

@media (max-width: 640px) {
  .btm-book.btm-book--video, .btm-book { grid-template-columns: minmax(0,1fr) !important; text-align: center; }
  .btm-book__cover { max-width: 200px; margin: 0 auto; }
  .btm-book__buy { display: block; }
  .btm-latest { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.5rem; }
  .btm-latest__title { font-size: 0.85rem !important; }
  .btm-latest__title .btm-title-sub { display: none; }
}

/* ===== Support page (4019) ===== */
.page-id-4019 .entry-content { max-width: 760px; margin: 0 auto; font-size: 1.08rem; line-height: 1.7; }
.page-id-4019 .entry-content h1.wp-block-heading { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; font-size: clamp(2.1rem, 4.5vw, 3.4rem) !important; line-height: 1.15; margin: 0.5rem 0 1.5rem !important; }
.page-id-4019 .entry-content h5.wp-block-heading { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; font-size: 1.6rem !important; margin: 2rem 0 0.75rem !important; text-transform: none; }
.page-id-4019 .kt-divider { border-color: #1a56db !important; opacity: .4; }
.btm-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; width: min(1000px, 92vw); margin: 0 0 2.5rem 50% !important; transform: translateX(-50%); }
.btm-way { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.4rem; padding: 1.4rem 1rem; border: 1.5px solid #111; border-radius: 10px; background: #fff; color: #111 !important; text-decoration: none !important; transition: transform .12s ease, box-shadow .18s ease; }
.btm-way:hover { box-shadow: 0 10px 26px rgba(0,0,0,.14); transform: translateY(-2px); }
.btm-way:active { transform: scale(0.98); }
.btm-way__icon img, .btm-way__icon svg { height: 44px; width: auto; display: block; }
.btm-way__name { font-weight: 800; font-size: 1.1rem; }
.btm-way__desc { font-size: 0.9rem; color: #555; line-height: 1.4; }
.btm-way--coffee { background: #FFDD00; border-color: #FFDD00; }
.btm-way--coffee .btm-way__desc { color: #333; }
@media (max-width: 700px) { .btm-ways { grid-template-columns: minmax(0, 1fr); } }

/* ===== Contact page (15): clean white form ===== */
.page-id-15 .kb-row-layout-wrap, .page-id-15 .kt-row-has-bg { background: none !important; background-image: none !important; }
.page-id-15 .kt-row-layout-overlay { display: none !important; }
.page-id-15 .entry-content .wp-block-spacer { height: 0 !important; }
.page-id-15 .kt-adv-heading15_f863da-6f { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; color: #111 !important; text-align: center; font-size: clamp(2.4rem, 5vw, 3.6rem) !important; margin: 1rem 0 1.5rem !important; }
.page-id-15 .kt-adv-heading15_7d5fe6-02 { color: #111 !important; text-align: center; font-size: 1.4rem !important; margin-bottom: 1rem !important; }
.page-id-15 .kb-form-wrap { max-width: 620px; margin: 0 auto 3rem; padding: 1.75rem; border: 1.5px solid #111; border-radius: 10px; background: #fff; }
.page-id-15 .kb-form label { color: #111 !important; font-weight: 600; }
.page-id-15 .kb-form .kb-field { border: 1.5px solid #c9ced6 !important; border-radius: 6px !important; background: #fff !important; color: #111 !important; padding: 0.65rem 0.75rem !important; }
.page-id-15 .kb-form .kb-field:focus { border-color: #1a56db !important; outline: none; box-shadow: 0 0 0 3px rgba(26,86,219,.15); }
.page-id-15 .kb-form .kb-forms-submit, .page-id-15 .kb-form button[type=submit] { background: #111 !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; padding: 0.8rem 1.6rem !important; font-weight: 700 !important; }

/* ===== Search results ===== */
body.search .search-archive-hero-section .entry-hero-container-inner { background: none !important; }
body.search .search-archive-hero-section .hero-section-overlay { display: none !important; }
body.search .search-archive-hero-section .entry-header { min-height: 0 !important; padding: 2rem 0 1rem !important; }
body.search .search-archive-title h1 { color: #111 !important; font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; font-size: clamp(1.8rem, 3.6vw, 2.8rem) !important; }
body.search .search-archive-title h1 span { color: #1a56db; }
body.search #primary.content-area { margin-top: 0.5rem !important; }

/* ===== Sub Library (3331) ===== */
.page-id-3331 .entry-content > p { max-width: 820px; margin-left: auto !important; margin-right: auto !important; font-size: 1.05rem; line-height: 1.7; }
.page-id-3331 .entry-content h1, .page-id-3331 .kt-adv-heading3331_f1bff6-ee { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; text-shadow: none !important; text-transform: none !important; font-size: clamp(2.6rem, 6vw, 4.2rem) !important; }
.page-id-3331 .entry-content h2#short-videos, .page-id-3331 .entry-content h2#long-videos { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; margin-top: 2.5rem !important; }
.page-id-3331 .kt-blocks-info-box-link-wrap { background: transparent !important; border: 0 !important; padding: 0.4rem 0 0.5rem !important; box-shadow: none !important; }
.page-id-3331 .kt-blocks-info-box-title { font-size: 1rem !important; font-weight: 700 !important; color: #111 !important; }
.page-id-3331 .kt-blocks-info-box-title strong { font-weight: 600; color: #666; font-size: 0.85em; }
.page-id-3331 .wp-block-embed-youtube iframe, .page-id-3331 .epyt-figure iframe { border-radius: 6px; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; box-shadow: 0 6px 18px rgba(0,0,0,.16); }
.page-id-3331 .entry-content .wp-block-columns { gap: 1.25rem !important; margin-bottom: 1.5rem !important; }

.page-id-15 .kb-row-layout-wrap > .kt-row-column-wrap { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
.page-id-15 .kb-row-layout-wrap { margin: 0 !important; min-height: 0 !important; }
body.search ul#archive-container { padding: 0 0.5rem; }

.page-id-15 h1.kt-adv-heading15_f863da-6f { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; color: #111 !important; text-align: center; font-size: clamp(2.4rem, 5vw, 3.6rem) !important; margin: 1rem 0 1.5rem !important; }
.btm-home-h1.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Video page: About this video (YouTube description) */
.btm-about-video { max-width: 820px; margin: 0 auto 2.5rem; font-size: 1.05rem; line-height: 1.65; }
.btm-about-video__h { font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important; font-size: clamp(1.6rem, 2.6vw, 2.1rem) !important; margin: 0 0 0.75rem !important; }
.btm-about-video p { margin: 0 0 0.9rem !important; overflow-wrap: anywhere; }
.btm-about-video a { color: #1a56db; }

/* sibling buttons on subcategory pages: not pinned (they navigate) */
.btm-subnav--links { position: static !important; }

/* Header + dropdowns always above the subcategory button row */
#masthead { position: relative; z-index: 1000; }
body.home #masthead { z-index: 1000; }
#masthead .header-navigation ul ul.sub-menu { z-index: 1001; }
.btm-subnav { z-index: 20; }

/* === Tip notes === */
.btm-tip { max-width: 820px; margin: 0 auto 2rem !important; padding: 0.9rem 1.2rem; border-radius: 10px; background: #FFF8CC; text-align: center; font-size: 1.02rem; line-height: 1.5; color: #222; }
.btm-tip__link { display: inline-block; margin-left: 0.35rem; padding: 0.3rem 0.8rem; border-radius: 999px; background: #FFDD00; color: #111 !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; transition: transform .08s ease, filter .15s ease; }
.btm-tip__link:hover { filter: brightness(0.95); }
.btm-tip__link:active { transform: scale(0.97); }
.page-id-3331 .btm-tip-sub { margin-top: 1.5rem !important; }

/* === Hide videos (admins) === */
.btm-ce-hide { display: none; position: absolute; top: 0.5rem; left: 3.2rem; z-index: 10; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: #111; box-shadow: 0 2px 8px rgba(0,0,0,.35); cursor: pointer; align-items: center; justify-content: center; padding: 0; }
.btm-ce-hide svg { width: 20px; height: 20px; }
body.btm-ce-on .btm-ce-hide { display: inline-flex; }
body.archive .loop-entry.status-private { opacity: .45; filter: grayscale(.7); }
body.archive .loop-entry.status-private::before { content: "Hidden"; position: absolute; top: 0.6rem; right: 0.6rem; z-index: 9; background: #111; color: #fff; font-size: 0.75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 999px; }
body.archive .loop-entry.status-private .btm-ce-hide { background: #111; color: #fff; }

#wpadminbar #wp-admin-bar-btm-ce.btm-ce-ab-on > a { background: #1a56db !important; color: #fff !important; }

/* App pages with the app shown right on the page (Music Tools): the frame fits the app (app-embed.js sets its height) */
.btm-app-page__frame { display: block; width: 100%; max-width: 100%; height: 480px; margin: 0 auto; border: 0; background: transparent; }
.btm-app-page__alt { text-align: center; margin: 0.9rem 0 0 !important; font-size: 0.95rem; }
.btm-app-page__alt a { color: inherit; opacity: .7; text-decoration: underline; text-underline-offset: 3px; }
.btm-app-page__alt a:hover { opacity: 1; }
.btm-app-page__title { text-align: center; font-size: clamp(34px, 7vw, 46px); font-weight: 800; line-height: 1.1; margin: 0 0 0.6rem !important; }
/* app pages (2026-10-19): less space around them, the description wide enough for about two lines, the app as big as fits */
.content-area:has(.btm-app-page) { margin-top: 1.25rem; margin-bottom: 1.5rem; }
.btm-app-page:has(.btm-app-page__frame) { max-width: none; }
.btm-app-page:has(.btm-app-page__frame) .btm-app-page__blurb { max-width: 1120px; margin-bottom: 0.9rem !important; }
.btm-app-page__alt { margin-top: 0.6rem !important; }
@media (max-width: 700px) {
  .content-container.site-container:has(.btm-app-page) { padding-left: 12px; padding-right: 12px; }
  .content-area:has(.btm-app-page) { margin-top: 0.75rem; }
  .btm-app-page__blurb { font-size: 1rem; line-height: 1.45; }
}
/* Apps page (2026-10-19, user): three to a row; each card shows the whole app (fit, not zoomed) on dark,
   with the title near the bottom in the same style as the video card titles */
.btm-apps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.btm-app { background: #0b0e12; }
.btm-app img { position: absolute; left: 6%; top: 6%; width: 88%; height: 68%; object-fit: contain; }
@media (hover: hover) { .btm-app:hover img { transform: scale(1.04); } }
.btm-app__title {
  inset: auto 0 0 0; height: 26%; align-items: center; padding: 0 6% 1%;
  font-weight: 700; font-size: clamp(1.05rem, 1.55vw, 1.5rem); line-height: 1.15;
  color: #fff; -webkit-text-fill-color: #fff; -webkit-text-stroke: 0;
  filter: none; text-shadow: 0 1px 1px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,.85), 0 1px 5px rgba(0,0,0,.6);
}
@media (max-width: 1000px) { .btm-apps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .btm-apps { grid-template-columns: minmax(0, 1fr); } .btm-app__title { font-size: 1.3rem; } }

/* === Section groups (2026-10-19): NEDM's books at the top of Folk Dances === */
body.archive ul#archive-container > li.btm-group-header { grid-column: 1 / -1; list-style: none; margin: 0.5rem 0 0; padding: 0; }
body.archive ul#archive-container > li.btm-group-header h2 {
  display: inline-block; margin: 0; padding: 0.05em 0.35em;
  font-family: "Permanent Marker", "Marker Felt", "Comic Sans MS", cursive !important; font-weight: 400 !important;
  font-size: clamp(2rem, 3.6vw, 3rem) !important; line-height: 1.2; color: #111; text-transform: none; letter-spacing: 0.01em;
  background: linear-gradient(transparent 12%, #ffe45c 12%, #ffe45c 88%, transparent 88%); transform: rotate(-1deg);
}
body.archive ul#archive-container > li.btm-section-header--in-group { margin-top: 1.25rem; }
body.archive ul#archive-container > li.btm-section-header--in-group h2 { font-size: clamp(1.35rem, 2.2vw, 1.9rem) !important; }
/* the first section after a group gets more room, so the group reads as its own block */
body.archive ul#archive-container > li.btm-section-header--in-group ~ li.btm-section-header:not(.btm-section-header--in-group) { margin-top: 3.5rem; }
body.archive ul#archive-container > li.btm-section-header--in-group ~ li.btm-section-header:not(.btm-section-header--in-group) ~ li.btm-section-header:not(.btm-section-header--in-group) { margin-top: 2rem; }

/* === Homepage hero video (2026-10-19) === */
.home .wp-block-cover .btm-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; opacity: 0; transition: opacity .8s ease; z-index: 0; }
.home .wp-block-cover .btm-hero-video.is-on { opacity: 1; }
.btm-hero-watch {
  display: inline-flex; align-items: center; gap: 0.45em; height: 52px; padding: 0 1.25rem; border: 0; border-radius: 999px;
  background: #fff; color: #111; font: 700 1.05rem/1 "Avenir Next", "Century Gothic", -apple-system, BlinkMacSystemFont, sans-serif;
  box-shadow: 0 3px 12px rgba(0,0,0,.35); cursor: pointer; transition: transform .15s ease;
}
.btm-hero-watch span { color: #e62117; font-size: 0.9em; }
.btm-hero-watch:hover { transform: scale(1.05); }
.btm-hero-watch:active { transform: scale(0.96); }
.btm-hero-watch--alone { position: absolute; left: clamp(1rem, 3vw, 2.5rem); bottom: clamp(1rem, 3vw, 2.5rem); z-index: 3; }
@media (max-width: 1024px) { .btm-hero-watch { height: 44px; font-size: 0.95rem; padding: 0 1rem; } }
.btm-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.88); display: flex; align-items: center; justify-content: center; padding: 4vh 4vw; }
.btm-lightbox__frame { width: min(1100px, 100%, calc((100vh - 8vh) * 16 / 9)); aspect-ratio: 16 / 9; }
.btm-lightbox__frame iframe { width: 100%; height: 100%; border: 0; border-radius: 6px; background: #000; }
.btm-lightbox__close { position: absolute; top: 12px; right: 16px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.15); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.btm-lightbox__close:hover { background: rgba(255,255,255,.3); }

/* New categories (2026-10-19): Dancing / Singing / Playing / Moving / Understanding / Performing; pictures from the closest old banner until better ones are picked */
body.category-dancing .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2024/02/Grand-March-Featured-Image-1024x576.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-singing .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2023/06/Old-Brass-Wagon-Thumbnail-1024x576.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-playing .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/d6tqPL4SMv4-1024x576.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-moving .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/GZWam0qEtvQ-1024x576.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-performing .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/5P-REjbR-nk-1024x576.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }
body.category-understanding .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-understanding-HBSpyqhdE78-top3.jpg') !important; background-size: cover !important; background-position: 50% 60% !important; }
body.category-songs-to-sing .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-class-singing-mSWf7jzaCpY-2.jpg') !important; background-size: cover !important; background-position: 50% 21% !important; }
body.category-creative-movement .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-creative-movement-movement-props-uZ_J89o4Bdg-1.jpg') !important; background-size: cover !important; background-position: 50% 46% !important; }
body.category-movement-breaks .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-brain-breaks-dance-parties-jBhpbPBXD_E-2.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }
body.category-movement-props .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-creative-movement-movement-props-uZ_J89o4Bdg-1.jpg') !important; background-size: cover !important; background-position: 50% 46% !important; }
body.category-dance-parties .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-brain-breaks-dance-parties-jBhpbPBXD_E-2.jpg') !important; background-size: cover !important; background-position: 50% 45% !important; }
body.category-music-notation .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-melody-mtLz8m7-TQU-2.jpg') !important; background-size: cover !important; background-position: 50% 25% !important; }
body.category-music-is-math .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-rhythm-Dlw_cgWugNQ-3.jpg') !important; background-size: cover !important; background-position: 50% 44% !important; }
body.category-pillars-of-music .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-beat-ewLM4qbX4R0-1.jpg') !important; background-size: cover !important; background-position: 50% 37% !important; }
body.category-misc-more .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/z8IRkClkDjI.jpg') !important; background-size: cover !important; background-position: 50% 35% !important; }

/* No masks in featured photos (user, 2026-10-20): these four banners replaced */
body.category-alabama-gal .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-alabama-gal-N-MNzpn-hYk-2.jpg') !important; background-size: cover !important; background-position: 50% 55% !important; }
body.category-rise-sally-rise .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-rise-sally-rise-NySn1v7rDho-2.jpg') !important; background-size: cover !important; background-position: 50% 70% !important; }
body.category-music-is-reading .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-music-is-reading-t7unSBQMMMk-2.jpg') !important; background-size: cover !important; background-position: 50% 62% !important; }
body.category-understanding .post-archive-hero-section .entry-hero-container-inner { background-image: url('https://bowtiemusic.net/wp-content/uploads/2026/10/banner-understanding-5gII_Pwq-vs-2.jpg') !important; background-size: cover !important; background-position: 50% 50% !important; }

/* === Mobile: hamburger floats over top-right; no header bar === */
@media (max-width: 1024px) {
  /* Float the header so it doesn't occupy space */
  #masthead {
    position: fixed !important;
    top: 0; right: 0; left: 0;
    z-index: 100;
    height: auto !important;
    pointer-events: none;
  }
  body.admin-bar #masthead { top: 46px; }
  /* All header rows: transparent, no height */
  #masthead .site-header-wrap,
  #masthead .site-header-row-container-inner,
  #masthead .site-top-header-wrap,
  #masthead .site-main-header-wrap,
  #masthead .site-header-inner-wrap {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
  }
  /* Only the toggle button is interactive */
  #masthead .popup-toggle-container { pointer-events: auto; }
  /* Small white pill behind the icon for visibility on any background */
  #masthead .popup-toggle {
    background: rgba(255,255,255,0.92) !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.22) !important;
    padding: 6px 8px !important;
    margin: 10px 10px 0 0 !important;
  }
  /* Remove any top offset the theme adds to compensate for the fixed header */
  .site-top-wrap, #inner-wrap, #content { padding-top: 0 !important; margin-top: 0 !important; }
}

/* "Page can't be found" (2026-10-21): the same centered, outlined title as every other page */
.error .page-title { text-align: center; font-family: "Avenir Next", "Century Gothic", "Segoe UI Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-weight: 800; font-size: clamp(2rem, 6vw, 4.5rem); line-height: 1.05; color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0.03em #111; margin: 0.5rem 0 1.5rem; }
.error .page-content p { text-align: center; }
.error .page-content .search-form { max-width: 480px; margin: 0 auto; }
