/*
 * prison-skin.css — Brushy Mountain Squares Child Theme v4
 *
 * Strategy: Maximum specificity + !important on every rule that
 * conflicts with the known rogue inline <style> blocks embedded
 * in page content. We beat them without touching page content.
 *
 * Known rogue overrides we must beat:
 *   Block 24: body { background: #fdfdfd }
 *   Block 27: body { background: linear-gradient(#efe9e2, #fbf6f1) }
 *   Block 30: .wp-block-navigation { background-color: #ffffff }
 *   Block 34: :root { color-scheme: light !important }
 */

/* ═══════════════════════════════════════════════════════════════
   1. CSS VARIABLES — set at highest possible scope
   ═══════════════════════════════════════════════════════════════ */
:root {
  --wp--preset--color--base:       #1a1714 !important;
  --wp--preset--color--contrast:   #e8e0d4 !important;
  --wp--preset--color--accent:     #c2490d !important;
  --wp--preset--color--accent-2:   #201d1a !important;
  --wp--preset--color--accent-3:   #3d3a35 !important;

  --bms-cream:        #e8dece;
  --bms-bg:           #1a1714;
  --bms-surface:      #201d1a;
  --bms-surface-2:    #262320;
  --bms-surface-off:  #2e2b27;
  --bms-border:       #3d3a35;
  --bms-divider:      #33302b;
  --bms-text:         #e8e0d4;
  --bms-text-muted:   #9a9388;
  --bms-text-faint:   #5e5a55;
  --bms-rust:         #c2490d;
  --bms-rust-hover:   #a83a08;
  --bms-rust-hl:      #3d2418;
  --bms-iron:         #b0a89e;
  --bms-navy:         #081933;
  --bms-sepia:        #e8d5b0;
  --bms-font-display: 'Rye', Georgia, serif;
  --bms-font-body:    'Libre Baskerville', Georgia, serif;
  --bms-font-type:    'Special Elite', 'Courier New', monospace;
  --bms-radius:       2px;
  --bms-transition:   200ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ═══════════════════════════════════════════════════════════════
   2. BODY BACKGROUND — beat blocks 24 & 27
   Use the most specific selectors possible.
   Also set background on html to cover any gap above body.
   ═══════════════════════════════════════════════════════════════ */
html,
html:not(#x),
html body,
html body.home,
html body.page,
html body.single,
html body.archive,
html body.wp-theme-twentytwentyfive,
html body.wp-child-theme-bms-prison-theme {
  background-color: #1a1714 !important;
  background-image: none !important;
  color: #e8e0d4 !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
}

/* Block 27 uses `background` shorthand (not background-color).
   We must override background shorthand too. */
html body,
html body.home,
html body.wp-child-theme-bms-prison-theme {
  background: #1a1714 !important;
}

/* wp-site-blocks is the actual painted canvas */
html body .wp-site-blocks,
html body #page,
html body .site {
  background-color: #1a1714 !important;
  background: #1a1714 !important;
}

/* ═══════════════════════════════════════════════════════════════
   3. TEXT & LINKS
   ═══════════════════════════════════════════════════════════════ */
html body,
html body p,
html body li,
html body span:not(.wp-block-navigation-item__label),
html body td,
html body th,
html body div {
  color: #e8e0d4;
}

/* Don't override colour on elements that have their own colour rules */
html body a {
  color: #c2490d !important;
  text-decoration: none !important;
}
html body a:hover { color: #a83a08 !important; }

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .wp-block-heading {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8e0d4 !important;
}

/* ═══════════════════════════════════════════════════════════════
   4. HEADER — dark background, clean nav layout
   ═══════════════════════════════════════════════════════════════ */

/* Fix header layout — constrain height, no wrapping */
html body header.wp-block-template-part .wp-block-group.alignwide {
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 1rem !important;
}

/* Nav container — show inline on desktop, don't wrap to two rows */
html body header .wp-block-navigation__responsive-container:not(.is-menu-open) {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

html body header .wp-block-navigation__responsive-container-content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}

/* Always show hamburger — hide the expanded nav links at ALL screen sizes */
html body .wp-block-navigation__responsive-container-open {
  display: flex !important;
}
/* Hide the expanded nav container unless it's actually open */
html body header .wp-block-navigation__responsive-container:not(.is-menu-open) {
  display: none !important;
}
/* When open: compact dropdown from top-right, not full screen */
html body header .wp-block-navigation__responsive-container.is-menu-open {
  display: block !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  width: 300px !important;
  max-width: 90vw !important;
  z-index: 9999 !important;
  background-color: #201d1a !important;
  background: #201d1a !important;
  border: 1px solid #3d3a35 !important;
  border-top: 2px solid #c2490d !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
  padding: 0.5rem 0 !important;
  overflow: hidden !important;
}
/* Make header position:relative so the dropdown anchors to it */
html body header.wp-block-template-part {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
/* Nav items in dropdown: stacked list */
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  width: 100% !important;
  border-bottom: 1px solid #33302b !important;
}
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
  border-bottom: none !important;
}
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: block !important;
  padding: 0.7rem 1.5rem !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #9a9388 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
/* Close button — absolute top-right corner */
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: 0.5rem !important;
  right: 0.5rem !important;
  padding: 4px !important;
  width: auto !important;
  z-index: 2 !important;
}
/* Dialog + close wrappers — strip all padding/margin so text isn't offset */
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: block !important;
}
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: block !important;
}
/* Container content — full width, no inset */
html body header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  width: 100% !important;
  padding: 2rem 0 0 !important;
  margin: 0 !important;
  display: block !important;
}
html body header.wp-block-template-part {
  background-color: #1a1714 !important;
  background: #1a1714 !important;
  border-bottom: 1px solid #3d3a35 !important;
  box-shadow: 0 1px 0 rgba(194,73,13,0.3), 0 2px 12px rgba(0,0,0,0.5) !important;
  /* position/z-index set above with the dropdown anchor rules */
}

html body header.wp-block-template-part *,
html body header.wp-block-template-part .wp-block-group,
html body header.wp-block-template-part .wp-block-group.has-background,
html body header.wp-block-template-part .wp-block-group.has-base-background-color {
  background-color: transparent !important;
  background: transparent !important;
}

/* Site title */
html body header p.wp-block-site-title a,
html body header p.wp-block-site-title {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8e0d4 !important;
  font-size: clamp(0.9rem, 1.4vw, 1.3rem) !important;
  text-decoration: none !important;
}

/* NAV — beat block 30: .wp-block-navigation { background-color: #ffffff } */
html body .wp-block-navigation,
html body .wp-block-navigation.has-background,
html body .wp-block-navigation.has-base-background-color,
html body .wp-block-navigation:not(#\\9),
html body header .wp-block-navigation,
html body header .wp-block-navigation.has-background,
html body header .wp-block-group,
html body header .wp-block-group.has-background,
html body header .wp-block-group.has-base-background-color {
  background-color: transparent !important;
  background: transparent !important;
  border-bottom: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Nav links — beat block 30's .wp-block-navigation a { color: #d65d00 } */
html body .wp-block-navigation a,
html body .wp-block-navigation-item__content,
html body header .wp-block-navigation a {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #9a9388 !important;
  text-decoration: none !important;
  padding: 0.35rem 0.6rem !important;
  border-radius: 2px !important;
  transition: color 200ms ease, background 200ms ease !important;
}
html body .wp-block-navigation a:hover,
html body .wp-block-navigation-item__content:hover {
  color: #c2490d !important;
  background: #3d2418 !important;
}

/* Nav container backgrounds */
html body .wp-block-navigation__responsive-container,
html body .wp-block-navigation__responsive-container.has-background,
html body .wp-block-navigation__responsive-container.has-base-background-color,
html body .wp-block-navigation__responsive-container.has-contrast-color {
  background-color: transparent !important;
  background: transparent !important;
}

/* Mobile hamburger */
html body .wp-block-navigation__responsive-container-open,
html body .wp-block-navigation__responsive-container-close {
  color: #9a9388 !important;
  border: 1px solid #3d3a35 !important;
  border-radius: 2px !important;
  background: none !important;
  padding: 6px !important;
}
html body .wp-block-navigation__responsive-container-open svg path,
html body .wp-block-navigation__responsive-container-close svg path {
  fill: #9a9388 !important;
}
html body .wp-block-navigation__responsive-container-open:hover svg path {
  fill: #c2490d !important;
}
html body .wp-block-navigation__responsive-container.is-menu-open {
  background-color: #201d1a !important;
  background: #201d1a !important;
}
html body .wp-block-navigation__responsive-container.is-menu-open a {
  color: #9a9388 !important;
  font-size: 1rem !important;
}
html body .wp-block-navigation__responsive-container.is-menu-open a:hover {
  color: #c2490d !important;
}

/* ═══════════════════════════════════════════════════════════════
   5. HOMEPAGE HERO
   Cream top zone + prison photo underneath.
   Only on .home body class.
   ═══════════════════════════════════════════════════════════════ */
/* The post-content wrapper and its parent both need the background
   so the prison photo shows through the full scroll height */
html body.home .entry-content.wp-block-post-content,
html body.home .wp-block-post-content.entry-content,
html body.home .wp-block-group > .entry-content,
html body.home main .entry-content {
  background:
    linear-gradient(
      to bottom,
      #e8dece 0%,
      #e8dece 46%,
      rgba(232,222,206,0.5) 56%,
      rgba(20,16,12,0.2) 68%,
      rgba(20,16,12,0.7) 100%
    ),
    url('assets/prison-hero.webp') center top / cover no-repeat !important;
  background-attachment: scroll !important;
  padding-top: 2rem !important;
  padding-bottom: 4rem !important;
  min-height: 90vh !important;
}

/* Darken only the top-level main wrapper, NOT inner groups (which would box the hero) */
html body.home main.wp-block-group {
  background-color: #1a1714 !important;
}

/* Logo image — override the inline style="width:573px" on the img tag */
html body.home .entry-content .wp-block-image img,
html body.home .entry-content img.wp-image-89,
html body.home img.wp-image-89,
html body.home .wp-block-image img[class*="wp-image"] {
  mix-blend-mode: multiply !important;
  width: clamp(300px, 68vw, 540px) !important;
  max-width: clamp(300px, 68vw, 540px) !important;
  height: auto !important;
  margin-inline: auto !important;
  display: block !important;
  filter: drop-shadow(0 6px 24px rgba(0,0,0,0.45)) contrast(1.06) brightness(1.04) !important;
}

/* Eyebrow text above logo */
html body.home .entry-content .wp-block-image::before {
  content: "Tennessee's Most Wanted Dancers";
  display: block;
  text-align: center;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: clamp(0.85rem, 1.1vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #c2490d;
  margin-bottom: 0.6rem;
}

/* Quotes on homepage */
html body.home .quotes_box_and_tips,
html body.home .single_quotes_box,
html body.home .testimonials_box,
html body.home .testimonials_box p,
html body.home .testimonials_box .signature {
  background: transparent !important;
  color: #081933 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.95rem !important;
  text-align: center !important;
  max-width: 55ch !important;
  margin-inline: auto !important;
  padding: 0.25rem 1rem !important;
  border: none !important;
  box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   6. CONTENT AREA BACKGROUNDS
   ═══════════════════════════════════════════════════════════════ */
html body main.wp-block-group,
html body .wp-block-post-content {
  background-color: transparent !important;
  background: transparent !important;
}

html body .wp-block-group.alignfull {
  background-color: #201d1a !important;
}

html body .wp-block-group.is-style-section-1 {
  background-color: #2e2b27 !important;
  border-top: 1px solid #3d3a35 !important;
  border-bottom: 1px solid #3d3a35 !important;
}

/* ═══════════════════════════════════════════════════════════════
   7. BUTTONS
   ═══════════════════════════════════════════════════════════════ */
html body .wp-block-button__link,
html body .wp-element-button,
html body .join-btn,
html body input[type="submit"],
html body button[type="submit"],
html body .wpcf7-submit,
html body .wpforms-submit {
  background-color: #c2490d !important;
  background: #c2490d !important;
  color: #ffffff !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border: 2px solid #c2490d !important;
  border-radius: 2px !important;
  padding: 0.75rem 1.75rem !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
  text-decoration: none !important;
}
html body .wp-block-button__link:hover,
html body .wp-element-button:hover,
html body .join-btn:hover,
html body input[type="submit"]:hover,
html body button[type="submit"]:hover {
  background-color: #a83a08 !important;
  background: #a83a08 !important;
  border-color: #a83a08 !important;
  color: #fff !important;
}
html body .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #c2490d !important;
  border-color: #c2490d !important;
}

/* ═══════════════════════════════════════════════════════════════
   8. BLOG POSTS / CARDS
   ═══════════════════════════════════════════════════════════════ */
html body .wp-block-post,
html body .wp-block-post-template > li {
  background-color: #262320 !important;
  border: 1px solid #3d3a35 !important;
  border-top: 3px solid #c2490d !important;
  border-radius: 2px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
  padding: 1.25rem !important;
  overflow: hidden !important;
  transition: transform 200ms ease, box-shadow 200ms ease !important;
}
html body .wp-block-post:hover,
html body .wp-block-post-template > li:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
}
html body .wp-block-post-title a,
html body .wp-block-post-title {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8e0d4 !important;
}
html body .wp-block-post-date,
html body .wp-block-post-date a,
html body time {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  color: #c2490d !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
html body .wp-block-post-excerpt__excerpt,
html body .wp-block-post-excerpt p {
  color: #9a9388 !important;
}

/* ═══════════════════════════════════════════════════════════════
   9. TABLES (Roll Call)
   ═══════════════════════════════════════════════════════════════ */
html body table,
html body .wp-block-table table {
  background: #262320 !important;
  border: 1px solid #3d3a35 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  width: 100% !important;
  border-collapse: collapse !important;
}
html body th {
  background: #2e2b27 !important;
  color: #c2490d !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  padding: 0.75rem 1rem !important;
  border-bottom: 2px solid #c2490d !important;
}
html body td {
  color: #9a9388 !important;
  border-bottom: 1px solid #33302b !important;
  padding: 0.75rem 1rem !important;
}
html body tr:hover td {
  background: #2e2b27 !important;
  color: #e8e0d4 !important;
}

/* ═══════════════════════════════════════════════════════════════
   10. FORMS
   ═══════════════════════════════════════════════════════════════ */
html body input[type="text"],
html body input[type="email"],
html body input[type="tel"],
html body input[type="url"],
html body input[type="search"],
html body textarea,
html body select,
html body .wpcf7-text,
html body .wpcf7-email,
html body .wpcf7-textarea {
  background: #2e2b27 !important;
  border: 1px solid #3d3a35 !important;
  color: #e8e0d4 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  padding: 0.625rem 0.875rem !important;
  border-radius: 2px !important;
  width: 100% !important;
}
html body input:focus,
html body textarea:focus,
html body select:focus {
  border-color: #c2490d !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(194,73,13,0.2) !important;
}
html body label {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #9a9388 !important;
}

/* ═══════════════════════════════════════════════════════════════
   11. FOOTER
   ═══════════════════════════════════════════════════════════════ */
html body footer.wp-block-template-part,
html body footer.wp-block-template-part .wp-block-group,
html body footer.wp-block-template-part > *,
html body footer.wp-block-template-part .wp-block-group.has-background,
html body footer.wp-block-template-part .wp-block-group.has-base-background-color {
  background-color: #201d1a !important;
  background: #201d1a !important;
}
html body footer.wp-block-template-part {
  border-top: 2px solid #3d3a35 !important;
}
html body footer h2.wp-block-site-title,
html body footer h2.wp-block-site-title a {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8e0d4 !important;
  font-size: 1.1rem !important;
  text-decoration: none !important;
}
html body footer p.wp-block-site-tagline {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  color: #9a9388 !important;
  font-size: 0.78rem !important;
}
html body footer .wp-block-navigation a,
html body footer .wp-block-navigation-item__content {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  color: #9a9388 !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  padding: 0.15rem 0 !important;
  line-height: 1.4 !important;
}
html body footer .wp-block-navigation-item {
  padding: 0 !important;
  margin: 0 !important;
}
html body footer nav.wp-block-navigation ul,
html body footer .wp-block-navigation__container {
  gap: 0.15rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body footer .wp-block-navigation a:hover { color: #c2490d !important; }
html body footer p.has-small-font-size,
html body footer p.has-small-font-size a {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.65rem !important;
  color: #5e5a55 !important;
}

/* ═══════════════════════════════════════════════════════════════
   12. SEPARATORS / BLOCKQUOTES / MISC
   ═══════════════════════════════════════════════════════════════ */
html body .wp-block-separator,
html body hr {
  border-color: #3d3a35 !important;
  opacity: 1 !important;
}
html body blockquote,
html body .wp-block-quote {
  border-left: 3px solid #c2490d !important;
  padding: 1rem 1rem 1rem 1.5rem !important;
  background: #262320 !important;
  border-radius: 0 2px 2px 0 !important;
  font-style: italic !important;
  color: #9a9388 !important;
}

/* ═══════════════════════════════════════════════════════════════
   13. GALLERY
   ═══════════════════════════════════════════════════════════════ */
html body .wp-block-gallery .wp-block-image img,
html body .gallery-item img {
  border: 2px solid #3d3a35 !important;
  filter: sepia(15%) contrast(1.05) !important;
  transition: filter 200ms ease, border-color 200ms ease !important;
}
html body .wp-block-gallery .wp-block-image img:hover,
html body .gallery-item img:hover {
  filter: sepia(0%) contrast(1.1) !important;
  border-color: #c2490d !important;
}

/* ═══════════════════════════════════════════════════════════════
   14. CALENDAR
   ═══════════════════════════════════════════════════════════════ */
html body .fc { background: #201d1a !important; border: 1px solid #3d3a35 !important; }
html body .fc .fc-toolbar-title { font-family: 'Rye', Georgia, serif !important; color: #e8d5b0 !important; }
html body .fc .fc-col-header-cell-cushion { font-family: 'Special Elite', 'Courier New', monospace !important; font-size: 0.7rem !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: #c2490d !important; }
html body .fc .fc-daygrid-day-number { color: #9a9388 !important; }
html body .fc .fc-event { background: #c2490d !important; border-color: #a83a08 !important; color: #fff !important; }
html body .fc .fc-button { background: #2e2b27 !important; border-color: #3d3a35 !important; color: #9a9388 !important; }

/* ═══════════════════════════════════════════════════════════════
   15. PAGINATION
   ═══════════════════════════════════════════════════════════════ */
html body .wp-block-query-pagination a,
html body .nav-links a,
html body .page-numbers {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #9a9388 !important;
  padding: 0.5rem 0.875rem !important;
  border: 1px solid #3d3a35 !important;
  border-radius: 2px !important;
  background: #262320 !important;
  transition: all 200ms ease !important;
  text-decoration: none !important;
}
html body .wp-block-query-pagination a:hover,
html body .nav-links a:hover,
html body .page-numbers.current {
  background: #c2490d !important;
  border-color: #c2490d !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════════
   16. MOBILE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  html body.home .entry-content.wp-block-post-content {
    min-height: 100svh !important;
  }
  html body.home .entry-content .wp-block-image img,
  html body.home img.wp-image-89 {
    width: clamp(260px, 85vw, 340px) !important;
  }
  html body table { font-size: 0.75rem !important; }
  html body td, html body th { padding: 0.5rem 0.6rem !important; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE OVERFLOW FIX
   Prevents everything from being too wide on small screens.
   ═══════════════════════════════════════════════════════════════ */
/* overflow-x: hidden on html/body breaks position:absolute dropdowns.
   Instead, clip only the site blocks wrapper which doesn't contain the header dropdown. */
html body .wp-site-blocks {
  max-width: 100% !important;
  overflow-x: clip !important;
}

html body main,
html body .entry-content,
html body .wp-block-post-content,
html body .wp-block-columns,
html body .wp-block-column {
  max-width: 100% !important;
  overflow-x: hidden !important;
  word-break: break-word !important;
}

/* Fix any images that overflow */
html body img {
  max-width: 100% !important;
  height: auto !important;
}

/* TablePress specific mobile fix */
html body .tablepress-table-wrapper,
html body .dataTables_wrapper,
html body .tablepress {
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  display: block !important;
}

@media (max-width: 640px) {
  html body .wp-block-columns {
    flex-direction: column !important;
  }
  html body .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    min-width: 0 !important;
  }
  html body .wp-block-group.alignfull,
  html body .wp-block-group.alignwide {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* ── HIDE DEBUG OUTPUT DIV (from stale WPCode snippet) ──────────── */
#dbg2 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ═══════════════════════════════════════════════════════════════
   JOIN US PAGE (page-id-377)
   Override the inline light-background styles for dark theme.
   ═══════════════════════════════════════════════════════════════ */

/* All content blocks: dark background, light text */
html body.page-id-377 .entry-content,
html body.page-id-377 .entry-content > *,
html body.page-id-377 .wp-block-post-content,
html body.page-id-377 .wp-block-group {
  background-color: #1a1714 !important;
  background-image: none !important;
  color: #e8e0d4 !important;
}

/* Outlaw header block */
html body.page-id-377 .outlaw-header {
  background: linear-gradient(135deg, #2e2b27, #201d1a) !important;
  border-bottom: 3px solid #c2490d !important;
}
html body.page-id-377 .outlaw-header h1,
html body.page-id-377 .outlaw-header h2,
html body.page-id-377 .outlaw-header p {
  color: #e8d5b0 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
}

/* Membership banner */
html body.page-id-377 .membership-banner {
  background: linear-gradient(rgba(138,46,6,0.92), rgba(42,18,8,0.92)),
              url("https://brushymountainsquares.com/wp-content/uploads/2025/10/brushy-banner.jpg")
              center/cover no-repeat !important;
  border-bottom: 3px solid #c2490d !important;
  color: #fff !important;
}
html body.page-id-377 .membership-banner h1,
html body.page-id-377 .membership-banner h2,
html body.page-id-377 .membership-banner p {
  color: #fff !important;
}

/* Intro / wood-background section */
html body.page-id-377 .intro-section,
html body.page-id-377 .intro-container {
  background-color: #201d1a !important;
  background-image: none !important;
  border-top: 2px solid #3d3a35 !important;
  border-bottom: 2px solid #3d3a35 !important;
}
html body.page-id-377 .intro-title,
html body.page-id-377 .intro-section h1,
html body.page-id-377 .intro-section h2 {
  color: #e8d5b0 !important;
}
html body.page-id-377 .intro-text,
html body.page-id-377 .intro-section p {
  color: #9a9388 !important;
}

/* All headings on the page */
html body.page-id-377 h1,
html body.page-id-377 h2,
html body.page-id-377 h3,
html body.page-id-377 h4 {
  color: #e8d5b0 !important;
}

/* All body text */
html body.page-id-377 p,
html body.page-id-377 li,
html body.page-id-377 span:not(.wp-block-navigation-item__label) {
  color: #9a9388 !important;
}

/* Any light-colored blocks with inline background */
html body.page-id-377 [style*="background: #f"],
html body.page-id-377 [style*="background-color: #f"],
html body.page-id-377 [style*="background:#f"],
html body.page-id-377 [style*="background: linear-gradient(135deg, #f"],
html body.page-id-377 [style*="background: var(--paper)"],
html body.page-id-377 [style*="background: var(--wood)"],
html body.page-id-377 [style*="background-color: var(--wood)"],
html body.page-id-377 [style*="background-color: var(--paper)"] {
  background: #201d1a !important;
  background-color: #201d1a !important;
  background-image: none !important;
  color: #e8e0d4 !important;
}

/* Dark text that becomes invisible on dark bg */
html body.page-id-377 [style*="color: #222"],
html body.page-id-377 [style*="color: #333"],
html body.page-id-377 [style*="color: #444"],
html body.page-id-377 [style*="color:#222"],
html body.page-id-377 [style*="color:#333"],
html body.page-id-377 [style*="color: rgb(0"],
html body.page-id-377 [style*="color: #5b"],
html body.page-id-377 [style*="color: #4a"],
html body.page-id-377 [style*="color: black"] {
  color: #e8e0d4 !important;
}

/* Tables on the page */
html body.page-id-377 .dance-card-table,
html body.page-id-377 table {
  background: #262320 !important;
  background-image: none !important;
  border-color: #3d3a35 !important;
  color: #e8e0d4 !important;
}
html body.page-id-377 .dance-card-table th,
html body.page-id-377 table th {
  background: linear-gradient(to right, #c2490d, #a83a08) !important;
  color: #fff !important;
}
html body.page-id-377 .dance-card-table td,
html body.page-id-377 table td {
  background: #262320 !important;
  color: #9a9388 !important;
  border-color: #33302b !important;
}
html body.page-id-377 .dance-card-table tr:hover td,
html body.page-id-377 table tr:hover td {
  background: #2e2b27 !important;
  color: #e8e0d4 !important;
}

/* Join button */
html body.page-id-377 .join-btn,
html body.page-id-377 .wp-block-button__link {
  background: #c2490d !important;
  color: #fff !important;
  border-color: #c2490d !important;
}


/* ═══════════════════════════════════════════════════════════════
   ULTIMATE MEMBER — Admin Bar Account Icon (themed)
   When a logged-in user views the public site, the WP admin bar
   "My Account" area is restyled to match the BMS dark/rust theme
   instead of showing the default large white/grey avatar bubble.
   ═══════════════════════════════════════════════════════════════ */

/* --- Admin bar base: dark surface, keep it slim and unobtrusive --- */
html body #wpadminbar {
  background: #201d1a !important;
  border-bottom: 1px solid #3d3a35 !important;
  min-height: 32px !important;
}

html body #wpadminbar * {
  color: #9a9388 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
}

/* --- My Account menu item: show as a compact rust pill --- */
html body #wpadminbar #wp-admin-bar-my-account > a.ab-item {
  background: transparent !important;
  color: #c2490d !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
  padding: 0 10px !important;
  height: 32px !important;
  line-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-left: 1px solid #3d3a35 !important;
}

html body #wpadminbar #wp-admin-bar-my-account > a.ab-item:hover {
  background: #3d2418 !important;
  color: #e8e0d4 !important;
}

/* --- Avatar image: small badge, circular, rust border --- */
html body #wpadminbar #wp-admin-bar-my-account .avatar {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 50% !important;
  border: 1px solid #c2490d !important;
  object-fit: cover !important;
  opacity: 0.9 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* --- Collapse "Howdy, Name" text — show only avatar + short label --- */
html body #wpadminbar #wp-admin-bar-my-account .display-name {
  font-size: 10px !important;
  color: #9a9388 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* --- Dropdown panel: dark themed, not the giant white bubble --- */
html body #wpadminbar #wp-admin-bar-my-account .ab-sub-wrapper,
html body #wpadminbar .menupop .ab-sub-wrapper {
  background: #201d1a !important;
  border: 1px solid #3d3a35 !important;
  border-top: 2px solid #c2490d !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6) !important;
  min-width: 160px !important;
}

html body #wpadminbar .ab-submenu a.ab-item,
html body #wpadminbar .ab-submenu a {
  color: #9a9388 !important;
  background: #201d1a !important;
  font-size: 11px !important;
  padding: 6px 12px !important;
  border-bottom: 1px solid #2e2b27 !important;
}

html body #wpadminbar .ab-submenu a:hover {
  background: #2e2b27 !important;
  color: #c2490d !important;
}

/* --- User info block inside dropdown: compact, no giant avatar --- */
html body #wpadminbar #wp-admin-bar-user-info {
  background: #262320 !important;
  border-bottom: 1px solid #3d3a35 !important;
  padding: 8px 12px !important;
}

html body #wpadminbar #wp-admin-bar-user-info .avatar {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 1px solid #c2490d !important;
}

html body #wpadminbar #wp-admin-bar-user-info .display-name,
html body #wpadminbar #wp-admin-bar-user-info .username {
  color: #e8e0d4 !important;
  font-size: 11px !important;
}

/* --- Hide the "Howdy," prefix text (keep only the username) --- */
html body #wpadminbar #wp-admin-bar-my-account > a .ab-icon::before {
  display: none !important;
}

/* --- Suppress the large floating avatar panel that UM injects
       outside the admin bar (if present) --- */
html body .um-account-meta img,
html body .um-profile-photo a.um-profile-photo-img {
  border: 2px solid #c2490d !important;
  border-radius: 50% !important;
  background: #201d1a !important;
}


/* ═══════════════════════════════════════════════════════════════
   "Interested in Square Dancing?" page (ID 153) — .sd-container
   Uses body.page-id-153 for higher specificity than the page's
   own inline <style> block which sets background: white.
   ═══════════════════════════════════════════════════════════════ */

body.page-id-153 .sd-container {
  background: #201d1a !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.5) !important;
  border: 1px solid #3d3a35 !important;
  color: #c8bfb0 !important;
}

body.page-id-153 .sd-container h1,
body.page-id-153 .sd-container h2,
body.page-id-153 .sd-container h3 {
  color: #e8d5b0 !important;
}

body.page-id-153 .sd-container p,
body.page-id-153 .sd-container li {
  color: #c8bfb0 !important;
}

body.page-id-153 .sd-container hr {
  border-color: #3d3a35 !important;
}

/* ═══════════════════════════════════════════════════════════════
   INNER PAGE STYLING PASS — v1.3.5
   Standardises gallery, flyers, interested, blog upload pages
   to match the site's dark/rust theme.
   ═══════════════════════════════════════════════════════════════ */

/* ── PAGE TITLES (Photo Gallery, Dance Flyers, Blog Upload) ─────── */
html body .wp-block-post-title {
  text-align: center !important;
  font-family: 'Rye', Georgia, serif !important;
  color: #e8d5b0 !important;
  padding-top: 2.5rem !important;
  padding-bottom: 0.25rem !important;
  position: relative !important;
}
/* Rust overline above page title */
html body .wp-block-post-title::before {
  content: '';
  display: block;
  width: 3rem;
  height: 3px;
  background: #c2490d;
  margin: 0 auto 0.75rem;
  border-radius: 1px;
}

/* ── FOOGALLERY CAROUSEL — dark card ────────────────────────────── */
/* FooGallery injects a <style> block in the page head that sets
   .foogallery-container { background-color: #fff8f0 }.
   An inline <style> block wins over external sheets, so we must use
   ID selectors (max specificity) to override it.
   IDs: 875 (Random/Photo Gallery), 853 (Halloween), 880 (Dance Flyers) */
#foogallery-gallery-875,
#foogallery-gallery-853,
#foogallery-gallery-880,
html body .foogallery-container {
  background-color: #201d1a !important;
  background: #201d1a !important;
  border: 1px solid #3d3a35 !important;
  border-top: 3px solid #c2490d !important;
  border-radius: 2px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.55) !important;
  padding: 2rem 1.5rem 1.5rem !important;
}

/* Carousel inner track — keep transparent so dark card shows through */
html body .fg-carousel-inner,
html body .fg-carousel-center {
  background: transparent !important;
}

/* Prev / Next arrow buttons — rust pill style */
html body .fg-carousel-prev,
html body .fg-carousel-next {
  color: #9a9388 !important;
  border: 1px solid #3d3a35 !important;
  border-radius: 2px !important;
  background: #2e2b27 !important;
  width: 2.2rem !important;
  height: 2.2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 200ms ease !important;
  opacity: 1 !important;
}
html body .fg-carousel-prev:hover,
html body .fg-carousel-next:hover {
  background: #c2490d !important;
  border-color: #c2490d !important;
  color: #fff !important;
}

/* Arrow icons (FooGallery uses ::before pseudo with content) */
html body .fg-carousel-prev::before,
html body .fg-carousel-next::before {
  color: inherit !important;
}

/* Caption text inside carousel */
html body .fg-caption,
html body .fg-caption-title,
html body .fg-caption-desc {
  color: #9a9388 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.05em !important;
  background: rgba(20,16,12,0.7) !important;
}

/* Progress bar */
html body .fg-carousel-progress {
  background: #3d3a35 !important;
}
html body .fg-carousel-progress > * {
  background: #c2490d !important;
}

/* ── "Random" filter label — hide it, it's a FooGallery sort link
   that means nothing to casual visitors ─────────────────────────── */
html body .wp-block-post-content > p > strong:only-child,
html body .entry-content > p > strong:only-child {
  /* Can't target it directly without a class; use adjacent sibling
     relationship — the <p><strong>Random</strong></p> sits right
     before the first foogallery div */
}
/* More direct: any standalone <p> that contains only "Random" */
html body.page-id-844 .entry-content > p:first-of-type {
  display: none !important;
}

/* ── "Interested in Square Dancing?" page — dark-theme the sections ─ */

/* sd-hero — the top banner with the main h1 */
html body.page-id-153 .sd-hero {
  background: linear-gradient(135deg, #2e2b27, #201d1a) !important;
  border-bottom: 3px solid #c2490d !important;
  padding: 2.5rem 2rem !important;
}
html body.page-id-153 .sd-hero h1 {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8d5b0 !important;
}
html body.page-id-153 .sd-hero .tagline,
html body.page-id-153 .sd-hero p {
  color: #9a9388 !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
}

/* sd-section — FAQ and body sections */
html body.page-id-153 .sd-section {
  background: #201d1a !important;
  border-bottom: 1px solid #3d3a35 !important;
  color: #c8bfb0 !important;
  padding: 2rem !important;
}
html body.page-id-153 .sd-section h2 {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8d5b0 !important;
  font-size: 1.4rem !important;
  border-bottom: 1px solid #3d3a35 !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 1.25rem !important;
}
/* FAQ question headings — visually demote from H2 level */
html body.page-id-153 .sd-section h3 {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  color: #c2490d !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.4rem !important;
}
html body.page-id-153 .sd-section p,
html body.page-id-153 .sd-section li {
  color: #c8bfb0 !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  line-height: 1.7 !important;
}
html body.page-id-153 .sd-section a {
  color: #c2490d !important;
}
html body.page-id-153 .sd-section a:hover {
  color: #a83a08 !important;
}

/* sd-everyone — "Square dancing is for everyone" + contact form section */
html body.page-id-153 .sd-everyone {
  background: #262320 !important;
  border-top: 1px solid #3d3a35 !important;
  padding: 2rem !important;
}
html body.page-id-153 .sd-everyone h2 {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8d5b0 !important;
}
html body.page-id-153 .sd-everyone p {
  color: #9a9388 !important;
}
html body.page-id-153 .sd-everyone a {
  color: #c2490d !important;
}

/* sd-container catch-all (already partially handled, bolster it) */
html body.page-id-153 .sd-container {
  background: #1a1714 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* ── BLOG UPLOAD — sd-guide instruction card dark theme ────────────── */
html body.page-id-103 .sd-guide,
html body .sd-guide {
  background: #201d1a !important;
  border: 1px solid #3d3a35 !important;
  border-top: 3px solid #c2490d !important;
  border-radius: 2px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.5) !important;
  padding: 1.75rem 2rem !important;
  margin-bottom: 2rem !important;
}
html body .sd-guide__title {
  font-family: 'Rye', Georgia, serif !important;
  color: #e8d5b0 !important;
  font-size: 1.4rem !important;
  margin-bottom: 0.75rem !important;
}
html body .sd-guide__lead {
  color: #9a9388 !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  line-height: 1.7 !important;
}
html body .sd-guide__tips {
  list-style: none !important;
  padding: 0 !important;
  margin-top: 1rem !important;
}
html body .sd-guide__tips li {
  color: #c8bfb0 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.04em !important;
  padding: 0.35rem 0 !important;
  border-bottom: 1px solid #2e2b27 !important;
}
html body .sd-guide__tips li:last-child {
  border-bottom: none !important;
}
html body .sd-guide__tips li strong {
  color: #c2490d !important;
  margin-right: 0.4em !important;
}
/* SVG badge icon */
html body .sd-guide__badge svg {
  color: #c2490d !important;
  opacity: 0.7 !important;
}

/* ── BLOG UPLOAD — Forminator form dark theme ───────────────────── */
/* Form wrapper */
html body .forminator-ui.forminator-custom-form {
  background: transparent !important;
}

/* Field labels */
html body .forminator-field--label label,
html body .forminator-label {
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #9a9388 !important;
}

/* Text inputs, textarea, date, select */
html body .forminator-input,
html body .forminator-textarea,
html body .forminator-select,
html body .forminator-input-with-icon input {
  background: #2e2b27 !important;
  border: 1px solid #3d3a35 !important;
  border-radius: 2px !important;
  color: #e8e0d4 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  padding: 0.625rem 0.875rem !important;
}
html body .forminator-input:focus,
html body .forminator-textarea:focus {
  border-color: #c2490d !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(194,73,13,0.2) !important;
}

/* Submit button — full-width, prominent */
html body .forminator-button-submit {
  width: 100% !important;
  background: #c2490d !important;
  border: 2px solid #c2490d !important;
  color: #fff !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 2rem !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
  margin-top: 0.5rem !important;
}
html body .forminator-button-submit:hover {
  background: #a83a08 !important;
  border-color: #a83a08 !important;
}

/* Upload button — match outlined style */
html body .forminator-button-upload {
  background: transparent !important;
  border: 1px solid #3d3a35 !important;
  color: #9a9388 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 0.5rem 1rem !important;
  transition: all 200ms ease !important;
}
html body .forminator-button-upload:hover {
  border-color: #c2490d !important;
  color: #c2490d !important;
}

/* Drop zone */
html body .forminator-multi-upload,
html body .fg-feu-drop-zone {
  background: #2e2b27 !important;
  border: 1px dashed #3d3a35 !important;
  border-radius: 2px !important;
  color: #9a9388 !important;
}

/* Consent checkbox label */
html body .forminator-checkbox__label,
html body .forminator-consent__label {
  color: #9a9388 !important;
  font-family: 'Special Elite', 'Courier New', monospace !important;
  font-size: 0.72rem !important;
}

/* Rows / spacing between fields */
html body .forminator-row {
  border-bottom: 1px solid #2e2b27 !important;
  padding-bottom: 1rem !important;
  margin-bottom: 0.25rem !important;
}
html body .forminator-row.forminator-row-last {
  border-bottom: none !important;
}

/* ── DANCE FLYERS page title spacing ─────────────────────────────── */
html body.page-id-214 .wp-block-post-title {
  margin-bottom: 1.5rem !important;
}

/* ── PHOTO GALLERY page — "Random" <p> is already hidden above.
   Extra spacing so carousel has breathing room. ──────────────────── */
html body.page-id-844 .foogallery-container {
  margin-top: 1rem !important;
}

/* ── Upload section on gallery/flyers — FooGallery front-end upload ─ */
html body .fg-feu-form {
  background: #201d1a !important;
  border: 1px solid #3d3a35 !important;
  border-top: 3px solid #c2490d !important;
  border-radius: 2px !important;
  padding: 1.5rem !important;
  margin-top: 1.5rem !important;
}
