﻿/* v2.5-bust:202610310110 */
/**
 * Carmelite / CACS Site V2 — uniform chrome across Unos Premium
 * Brand: Carmelite brown + gold. Does not replace campaign page CSS.
 * v2.5 — fix mobile drawer trapped under body:before (header stacking context);
 *         hide Unos Superfish caret on mobile (keep right accordion chevron only).
 * v2.4 — mobile fixed-menu + submenu accordion; donate/support contrast helpers.
 */

:root {
  --cacs-v2-brown: #5c2a16;
  --cacs-v2-brown-deep: #3d1a0e;
  --cacs-v2-brown-soft: #7a3f24;
  --cacs-v2-gold: #b8841f; /* darkened slightly for small-text contrast on cream */
  --cacs-v2-gold-soft: #d4a84a;
  --cacs-v2-cream: #f7f1e8;
  --cacs-v2-ink: #1f140e;
  --cacs-v2-muted: #4a3a30;
  --cacs-v2-line: rgba(92, 42, 22, 0.14);
  --cacs-v2-radius: 2px;
  --cacs-v2-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cacs-v2-display: "Cormorant Garamond", "Palatino Linotype", Palatino, serif;
  --cacs-v2-sans: "Source Sans 3", "Segoe UI", sans-serif;
  --cacs-v2-nav-fg: #2a150c;
  --cacs-v2-nav-bg: #ffffff;
  --cacs-v2-nav-hover-bg: #f3ebe3;
  --cacs-v2-nav-active-bg: #5c2a16;
  --cacs-v2-nav-active-fg: #ffffff;
}

/* ----- Base rhythm ----- */
body.unos,
body.theme-unos-premium,
body.cacs-v2 {
  color: var(--cacs-v2-ink);
  font-family: var(--cacs-v2-sans);
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(1200px 480px at 10% -10%, rgba(196, 145, 42, 0.06), transparent 60%),
    radial-gradient(900px 420px at 100% 0%, rgba(92, 42, 22, 0.04), transparent 55%),
    #fff;
}

body.unos h1,
body.unos h2,
body.unos h3,
body.unos .entry-title,
body.unos .page-title,
body.unos .hoot-slider-slide-content h1,
body.unos .hoot-slider-slide-content h2 {
  font-family: var(--cacs-v2-display);
  letter-spacing: 0.01em;
  font-weight: 600;
  color: var(--cacs-v2-brown-deep);
}

body.unos p,
body.unos .entry-content,
body.unos .widget {
  font-family: var(--cacs-v2-sans);
  line-height: 1.7;
  color: var(--cacs-v2-ink);
}

/* ----- Sticky header: glass + brand bar (never clip dropdowns on desktop) ----- */
body.unos #header.site-header,
body.unos .header-primary,
body.unos #masthead {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--cacs-v2-line);
  box-shadow: 0 6px 22px rgba(31, 20, 14, 0.06);
  z-index: 10050 !important;
  pointer-events: auto !important;
}

/* Glass blur only on desktop — backdrop-filter creates a containing block that
   traps Unos position:fixed mobile drawer BELOW html.fixedmenu-open body:before. */
@media (min-width: 970px) {
  body.unos #header.site-header,
  body.unos .header-primary,
  body.unos #masthead {
    backdrop-filter: saturate(1.15) blur(8px);
    -webkit-backdrop-filter: saturate(1.15) blur(8px);
  }
}

body.unos .menu-primary,
body.unos .menu-items,
body.unos .menu-items a,
body.unos .menu-toggle {
  pointer-events: auto !important;
}

@media (min-width: 970px) {
  body.unos #header.site-header,
  body.unos .header-primary,
  body.unos #masthead,
  body.unos #header-primary,
  body.unos #header .hgrid,
  body.unos #header .table,
  body.unos #header .table-cell,
  body.unos #header .table-cell-mid,
  body.unos #header-aside,
  body.unos .header-aside,
  body.unos #nav-menu,
  body.unos .nav-menu,
  body.unos .menu-primary,
  body.unos .menu-items {
    overflow: visible !important;
  }
}

body.unos .header-primary::after {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--cacs-v2-brown-deep), var(--cacs-v2-gold-soft), var(--cacs-v2-brown));
  opacity: 0.95;
  pointer-events: none !important;
}

body.unos .site-title,
body.unos .site-title a,
body.unos .site-description {
  font-family: var(--cacs-v2-display);
  color: var(--cacs-v2-brown-deep) !important;
}

body.unos .custom-logo {
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(196, 145, 42, 0.35);
  transition: transform 0.35s var(--cacs-v2-ease), box-shadow 0.35s var(--cacs-v2-ease);
  max-height: 64px;
  width: auto;
}

body.unos .custom-logo:hover {
  transform: scale(1.03);
  box-shadow: 0 0 0 3px rgba(196, 145, 42, 0.5);
}

/* Compact branding so 8 top-level items fit on one row */
@media (min-width: 970px) {
  body.unos #header.header-layout-primary-menu.tablemenu #branding,
  body.unos #header.tablemenu #branding {
    max-width: 160px;
    padding-right: 0.4rem !important;
  }

  body.unos #header.tablemenu #site-logo-mixed img.custom-logo,
  body.unos #header.tablemenu .custom-logo {
    max-height: 52px !important;
  }

  body.unos #header.tablemenu #header-aside,
  body.unos #header.tablemenu .header-aside {
    width: auto !important;
    max-width: none !important;
    white-space: nowrap;
  }

  body.unos #header.tablemenu .menu-items,
  body.unos #header.tablemenu .menu-primary > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    width: 100%;
  }

  body.unos #header.tablemenu .menu-items > li {
    flex: 0 0 auto;
    float: none !important;
  }
}

/* ----- Primary nav: denser so full bar shows ----- */
body.unos .menu-primary > ul > li > a,
body.unos .nav-menu > li > a,
body.unos #menu-primary > li > a,
body.unos .menu-items > li > a {
  font-family: var(--cacs-v2-sans) !important;
  font-size: 11.5px !important;
  font-weight: 650 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  color: var(--cacs-v2-nav-fg) !important;
  padding: 0.55em 0.55em !important;
  border-radius: var(--cacs-v2-radius);
  background: transparent !important;
  transition: background 0.2s var(--cacs-v2-ease), color 0.2s var(--cacs-v2-ease);
  white-space: nowrap;
  line-height: 1.25 !important;
}

/* Override Unos brown-on-brown hover (theme sets li background #5f2917 + white text â€” keep that for contrast) */
body.unos .menu-items > li:hover,
body.unos .menu-items > li.focus,
body.unos .menu-primary > ul > li:hover,
body.unos .menu-primary > ul > li.focus {
  background: var(--cacs-v2-nav-active-bg) !important;
}

body.unos .menu-items > li:hover > a,
body.unos .menu-items > li.focus > a,
body.unos .menu-primary > ul > li:hover > a,
body.unos .menu-primary > ul > li.focus > a,
body.unos .nav-menu > li:hover > a {
  background: transparent !important;
  color: var(--cacs-v2-nav-active-fg) !important;
}

body.unos .menu-items > li.current-menu-item:not(.nohighlight),
body.unos .menu-items > li.current-menu-ancestor,
body.unos .menu-items > li.current_page_item,
body.unos .menu-primary > ul > li.current-menu-item,
body.unos .menu-primary > ul > li.current-menu-ancestor {
  background: var(--cacs-v2-nav-active-bg) !important;
}

body.unos .menu-items > li.current-menu-item:not(.nohighlight) > a,
body.unos .menu-items > li.current-menu-ancestor > a,
body.unos .menu-items > li.current_page_item > a,
body.unos .menu-primary > ul > li.current-menu-item > a,
body.unos .menu-primary > ul > li.current-menu-ancestor > a {
  background: transparent !important;
  color: var(--cacs-v2-nav-active-fg) !important;
}

/* Focus-visible for keyboard */
body.unos .menu-items a:focus-visible,
body.unos .menu-primary a:focus-visible {
  outline: 2px solid var(--cacs-v2-gold);
  outline-offset: 2px;
}

/* ----- Dropdown panels (visible, not clipped) ----- */
body.unos .menu-primary ul.sub-menu,
body.unos .nav-menu ul.sub-menu,
body.unos .menu-items ul.sub-menu,
body.unos .menu-items > li > ul {
  border: 1px solid var(--cacs-v2-line) !important;
  border-radius: 4px !important;
  background: #fffefb !important;
  box-shadow: 0 18px 40px rgba(31, 20, 14, 0.16) !important;
  padding: 0.4rem 0 !important;
  min-width: 260px;
  max-width: min(420px, 92vw);
  max-height: min(70vh, 560px);
  overflow-x: hidden !important;
  overflow-y: auto !important;
  z-index: 10060 !important;
  visibility: visible;
}

/* Keep open on hover/focus — desktop only (mobile uses accordion) */
@media (min-width: 970px) {
  body.unos .menu-items > li:hover > ul.sub-menu,
  body.unos .menu-items > li.focus > ul.sub-menu,
  body.unos .menu-primary > ul > li:hover > ul.sub-menu,
  body.unos .menu-primary > ul > li.focus > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

body.unos .menu-primary ul.sub-menu a,
body.unos .nav-menu ul.sub-menu a,
body.unos .menu-items ul.sub-menu a {
  font-family: var(--cacs-v2-sans) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: var(--cacs-v2-ink) !important;
  background: transparent !important;
  padding: 0.58em 1.15em !important;
  border-left: 3px solid transparent;
  line-height: 1.35 !important;
  white-space: normal;
  transition: background 0.15s var(--cacs-v2-ease), border-color 0.15s var(--cacs-v2-ease), color 0.15s var(--cacs-v2-ease);
}

/* Nested submenu flyouts */
body.unos .menu-items ul.sub-menu ul.sub-menu,
body.unos .menu-primary ul.sub-menu ul.sub-menu {
  top: 0 !important;
  left: 100% !important;
  margin-left: 2px;
  min-width: 240px;
  max-height: min(65vh, 520px);
}

@media (min-width: 970px) {
  body.unos .menu-items ul.sub-menu li:hover > ul.sub-menu,
  body.unos .menu-items ul.sub-menu li.focus > ul.sub-menu,
  body.unos .menu-primary ul.sub-menu li:hover > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* Submenu hover: cream + gold rail, dark ink (never low-contrast gold text) */
body.unos .menu-primary ul.sub-menu a:hover,
body.unos .menu-primary ul.sub-menu a:focus,
body.unos .nav-menu ul.sub-menu a:hover,
body.unos .menu-items ul.sub-menu a:hover,
body.unos .menu-items ul.sub-menu li:hover > a {
  background: var(--cacs-v2-cream) !important;
  border-left-color: var(--cacs-v2-gold);
  color: var(--cacs-v2-brown-deep) !important;
}

/* Unos paints submenu parent li brown on hover â€” force readable child contrast */
body.unos .menu-items ul.sub-menu > li:hover,
body.unos .menu-items ul.sub-menu > li.focus {
  background: var(--cacs-v2-cream) !important;
}

body.unos .menu-items ul.sub-menu > li:hover > a,
body.unos .menu-items ul.sub-menu > li.focus > a {
  color: var(--cacs-v2-brown-deep) !important;
}

/* V2-injected highlight items */
body.unos .menu-item.cacs-v2-featured > a .menu-title-text::after,
body.unos .menu-item.cacs-v2-featured > a::after {
  content: "New";
  display: inline-block;
  margin-left: 0.45em;
  padding: 0.12em 0.45em;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cacs-v2-brown-deep);
  background: rgba(184, 132, 31, 0.32);
  border-radius: 999px;
  vertical-align: middle;
}

body.unos .menu-item.cacs-v2-featured > a .menu-title-text::after + *,
body.unos .menu-item.cacs-v2-featured > a .menu-title-text::after {
  /* prefer text span badge only */
}

body.unos .menu-item.cacs-v2-featured > a::after {
  content: none; /* avoid double badge when .menu-title-text exists */
}

body.unos .menu-item.cacs-v2-featured > a:not(:has(.menu-title-text))::after {
  content: "New";
}

/* ----- Donate CTA ----- */
body.unos .cacs-donate-btn,
body.unos a.cacs-donate-btn,
body.unos .header-aside a[href*="donat"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  padding: 0.5em 1.1em !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #b8841f 0%, #8f6418 100%) !important;
  color: #fff !important;
  font-family: var(--cacs-v2-sans) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: none !important;
  box-shadow: 0 4px 14px rgba(143, 100, 24, 0.35);
  transition: transform 0.25s var(--cacs-v2-ease), box-shadow 0.25s var(--cacs-v2-ease), filter 0.25s var(--cacs-v2-ease);
}

body.unos .cacs-donate-btn:hover,
body.unos a.cacs-donate-btn:hover,
body.unos .header-aside a[href*="donat"]:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 8px 20px rgba(143, 100, 24, 0.42);
  color: #fff !important;
}

/* ----- Buttons site-wide ----- */
body.unos .button,
body.unos .wp-block-button__link,
body.unos a.more-link,
body.unos .hoot-button,
body.unos input[type="submit"],
body.unos button[type="submit"],
body.unos .woocommerce a.button,
body.unos .woocommerce button.button {
  font-family: var(--cacs-v2-sans) !important;
  font-weight: 650 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--cacs-v2-radius) !important;
  transition: transform 0.25s var(--cacs-v2-ease), box-shadow 0.25s var(--cacs-v2-ease), background 0.25s var(--cacs-v2-ease);
}

body.unos .button:hover,
body.unos .wp-block-button__link:hover,
body.unos a.more-link:hover,
body.unos .woocommerce a.button:hover {
  transform: translateY(-1px);
}

body.unos .hoot-slider .button,
body.unos a.button.accent-button,
body.unos .wp-block-button__link:not(.has-background) {
  background: var(--cacs-v2-brown) !important;
  border-color: var(--cacs-v2-brown) !important;
  color: #fff !important;
}

body.unos .hoot-slider-slide-content .button,
body.unos .hoot-slider .incontentbuttonbox .button {
  background: transparent !important;
  border: 1.5px solid var(--cacs-v2-gold-soft) !important;
  color: #fff !important;
  backdrop-filter: blur(4px);
}

body.unos .hoot-slider-slide-content .button:hover {
  background: rgba(196, 145, 42, 0.22) !important;
}

/* ----- Content surfaces ----- */
body.unos #content,
body.unos .content-area,
body.unos .entry-content {
  line-height: 1.72;
  color: var(--cacs-v2-ink);
}

body.unos .entry-content > p:first-of-type {
  font-size: 1.05em;
  color: var(--cacs-v2-muted);
}

body.unos .page-wrapper .entry-header {
  border-bottom: 1px solid var(--cacs-v2-line);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
}

body.unos .widget .widget-title,
body.unos .widgettitle {
  font-family: var(--cacs-v2-display);
  color: var(--cacs-v2-brown-deep);
  border-bottom: 2px solid var(--cacs-v2-gold);
  padding-bottom: 0.35em;
}

body.home .entry-content h2,
body.home .entry-content h1 {
  text-align: center;
}

body.unos .hoot-slider {
  box-shadow: 0 12px 40px rgba(31, 20, 14, 0.18);
}

/* ----- Footer V2 ----- */
body.unos #footer.site-footer,
body.unos footer.site-footer {
  background:
    linear-gradient(180deg, var(--cacs-v2-brown-deep) 0%, #2a1209 100%) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border-top: 3px solid var(--cacs-v2-gold);
  padding-top: 2.5rem;
}

body.unos #footer a,
body.unos footer.site-footer a {
  color: #fff5e6 !important;
  transition: color 0.2s var(--cacs-v2-ease);
}

body.unos #footer a:hover,
body.unos footer.site-footer a:hover {
  color: #f0d78a !important;
}

body.unos #footer .widget-title,
body.unos footer.site-footer .widget-title,
body.unos #footer h1,
body.unos #footer h2,
body.unos #footer h3 {
  font-family: var(--cacs-v2-display);
  color: #fff !important;
}

body.unos #footer .menu a {
  font-size: 14px;
  letter-spacing: 0.02em;
}

/* ----- Forms ----- */
body.unos input[type="text"],
body.unos input[type="email"],
body.unos input[type="search"],
body.unos input[type="tel"],
body.unos input[type="password"],
body.unos textarea,
body.unos select {
  border: 1px solid var(--cacs-v2-line) !important;
  border-radius: var(--cacs-v2-radius) !important;
  transition: border-color 0.2s var(--cacs-v2-ease), box-shadow 0.2s var(--cacs-v2-ease);
}

body.unos input:focus,
body.unos textarea:focus,
body.unos select:focus {
  border-color: var(--cacs-v2-gold) !important;
  box-shadow: 0 0 0 3px rgba(184, 132, 31, 0.22) !important;
  outline: none;
}

/* ----- Mid density (tablet landscape / small desktop) ----- */
@media (max-width: 1200px) and (min-width: 970px) {
  body.unos .menu-items > li > a,
  body.unos .menu-primary > ul > li > a {
    font-size: 10.5px !important;
    letter-spacing: 0.03em !important;
    padding: 0.5em 0.4em !important;
  }
}

/* ----- Motion ----- */
@keyframes cacs-v2-fade-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.unos #content > .hgrid,
body.unos .content-area .entry {
  animation: cacs-v2-fade-up 0.55s var(--cacs-v2-ease) both;
}

@media (prefers-reduced-motion: reduce) {
  body.unos #content > .hgrid,
  body.unos .content-area .entry,
  body.unos .custom-logo,
  body.unos .cacs-donate-btn {
    animation: none !important;
    transition: none !important;
  }
}

body.page-id-43467 #content,
body.page-id-43727 #content,
body.page-id-43703 #content {
  animation: none;
}

/* ===== v2.4 desktop nav fit + contrast + nested dropdowns ===== */
@media (min-width: 970px) {
  body.unos #header.site-header,
  body.unos #header-primary,
  body.unos .header-primary,
  body.unos #header .hgrid,
  body.unos #header .table,
  body.unos .menu-primary,
  body.unos .menu-items {
    overflow: visible !important;
    z-index: 10050;
  }
  body.unos #header.tablemenu #branding { max-width: 150px; padding-right: .35rem !important; }
  body.unos #header.tablemenu .custom-logo { max-height: 50px !important; width: auto; }
  body.unos #header.tablemenu .menu-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end;
  }
  body.unos #header.tablemenu .menu-items > li { float: none !important; flex: 0 0 auto; }
  body.unos .menu-items > li > a {
    font-size: 11px !important;
    letter-spacing: .035em !important;
    padding: .5em .48em !important;
    white-space: nowrap;
    color: #2a150c !important;
    line-height: 1.25 !important;
  }
  body.unos .menu-items > li:hover,
  body.unos .menu-items > li.focus,
  body.unos .menu-items > li.current-menu-item:not(.nohighlight),
  body.unos .menu-items > li.current-menu-ancestor {
    background: #5c2a16 !important;
  }
  body.unos .menu-items > li:hover > a,
  body.unos .menu-items > li.focus > a,
  body.unos .menu-items > li.current-menu-item:not(.nohighlight) > a,
  body.unos .menu-items > li.current-menu-ancestor > a {
    color: #fff !important;
    background: transparent !important;
  }
  body.unos .menu-items ul.sub-menu {
    background: #fffefb !important;
    border: 1px solid rgba(92,42,22,.14) !important;
    box-shadow: 0 16px 36px rgba(31,20,14,.15) !important;
    min-width: 260px;
    max-height: min(70vh, 560px);
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 10060 !important;
  }
  body.unos .menu-items > li:hover > ul.sub-menu,
  body.unos .menu-items > li.focus > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.unos .menu-items ul.sub-menu a {
    color: #1f140e !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    background: transparent !important;
    line-height: 1.35 !important;
    white-space: normal;
  }
  body.unos .menu-items ul.sub-menu > li:hover,
  body.unos .menu-items ul.sub-menu > li.focus {
    background: #f7f1e8 !important;
  }
  body.unos .menu-items ul.sub-menu > li:hover > a,
  body.unos .menu-items ul.sub-menu a:hover {
    color: #3d1a0e !important;
    background: #f7f1e8 !important;
  }
  body.unos .menu-items ul.sub-menu ul.sub-menu {
    left: 100% !important;
    top: 0 !important;
    max-height: min(65vh, 520px);
  }
}

body.unos .entry-content { color: #1f140e; line-height: 1.72; }
body.unos .entry-content > p { color: #1f140e; }
body.unos #footer a { color: #fff5e6 !important; }
body.unos #footer a:hover { color: #f0d78a !important; }
body.unos .menu-item.cacs-v2-featured > a .menu-title-text::after {
  content: "New";
  display: inline-block;
  margin-left: .4em;
  padding: .1em .4em;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  color: #3d1a0e;
  background: rgba(184,132,31,.32);
  border-radius: 999px;
  vertical-align: middle;
}

/* Submenu accordion toggles — mobile only (JS inserts them sitewide) */
body.unos .cacs-submenu-toggle {
  display: none !important;
}

/* ===== v2.5 mobile fixed menu (Unos mobilemenu-fixed @ ≤969px) ===== */
@media only screen and (max-width: 969px) {
  body.unos .mobilemenu-fixed .cacs-submenu-toggle {
    display: block !important;
  }
  body.unos .header-primary::after {
    height: 2px;
    pointer-events: none !important;
  }

  /* No glass / transform traps on mobile. z-index:10050 alone STILL creates a
     stacking context that traps position:fixed drawer under body::before (99995). */
  body.unos #header.site-header,
  body.unos .header-primary,
  body.unos #masthead,
  body.unos #header-primary {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    /* Keep above normal content, but BELOW Unos fixedmenu dimmer (99995) when closed.
       When open we lift the whole header — see html.fixedmenu-open rules below. */
    z-index: 10050 !important;
  }

  /* CRITICAL: lift header (and thus fixed drawer + X) ABOVE body::before dimmer */
  html.fixedmenu-open body.unos #header.site-header,
  html.fixedmenu-open body.unos #header-primary,
  html.fixedmenu-open body.unos .header-primary,
  html.fixedmenu-open body.unos #masthead,
  html.fixedmenu-open body.unos #header-aside,
  html.fixedmenu-open body.unos #menu-primary,
  html.fixedmenu-open body.unos .menu-area-wrap {
    z-index: 100100 !important;
    position: relative;
  }

  html.fixedmenu-open body.unos #menu-primary.mobilemenu-fixed,
  html.fixedmenu-open body.unos .mobilemenu-fixed {
    position: static; /* don't create extra context; children stay position:fixed */
    z-index: 100100 !important;
  }

  body.unos #branding,
  body.unos .site-title,
  body.unos .site-description {
    max-width: 100%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  body.unos .site-description {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  body.unos #header .hgrid,
  body.unos #header-primary {
    overflow-x: clip;
  }

  /*
   * Unos stack (theme): body:before 99995 < menu 99996 < toggle 99997.
   * Keep that order, but escape any header stacking context so drawer wins.
   */
  body.unos::before {
    pointer-events: none !important;
  }

  html.fixedmenu-open body.unos::before,
  html.fixedmenu-open.unos::before,
  html.fixedmenu-open body.unos:before,
  html.fixedmenu-open.unos:before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(20, 10, 6, 0.72) !important;
    z-index: 99990 !important;
    pointer-events: auto !important;
  }

  /* Do not force desktop flex / overflow onto the slide-out panel */
  body.unos .mobilemenu-fixed #menu-primary-items,
  body.unos .mobilemenu-fixed #menu-secondary-items,
  body.unos .mobilemenu-fixed .menu-items {
    display: none;
    float: none !important;
    flex-wrap: nowrap !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: min(86vw, 320px) !important;
    max-width: 320px !important;
    height: 100% !important;
    max-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    background: #fffefb !important;
    border-right: 2px solid rgba(92, 42, 22, 0.18) !important;
    box-shadow: 8px 0 28px rgba(31, 20, 14, 0.18);
    padding: 0.5rem 0 2rem !important;
    z-index: 100060 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  html.fixedmenu-open body.unos .mobilemenu-fixed #menu-primary-items,
  html.fixedmenu-open body.unos .mobilemenu-fixed #menu-secondary-items,
  body.unos .mobilemenu-fixed.mobilemenu-open #menu-primary-items,
  body.unos .mobilemenu-fixed.mobilemenu-open #menu-secondary-items,
  html.fixedmenu-open body.unos .mobilemenu-fixed .menu-items {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 100060 !important;
  }

  /* Links only — do NOT set position:relative on .cacs-submenu-toggle or it
     drops into document flow (extra left/below chevron under each parent). */
  html.fixedmenu-open body.unos .mobilemenu-fixed #menu-primary-items a,
  html.fixedmenu-open body.unos .mobilemenu-fixed .menu-items a {
    pointer-events: auto !important;
    position: relative;
    z-index: 1;
  }
  html.fixedmenu-open body.unos .mobilemenu-fixed .cacs-submenu-toggle {
    pointer-events: auto !important;
  }

  body.unos .mobilemenu-fixed .menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
    padding: 0 !important;
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top, 0px)) !important;
    left: 0 !important;
    z-index: 100070 !important;
    pointer-events: auto !important;
    background: #5c2a16 !important;
    color: #fff !important;
    border: 2px solid #3d1a0e !important;
    border-left: none !important;
    box-shadow: 0 6px 18px rgba(31, 20, 14, 0.28);
  }

  body.unos .mobilemenu-fixed .menu-toggle i,
  body.unos .mobilemenu-fixed .menu-toggle .fas {
    color: #fff !important;
    font-size: 1.15rem !important;
    pointer-events: none !important; /* clicks hit the <a.menu-toggle> */
  }

  body.unos .mobilemenu-fixed .menu-toggle.active,
  html.fixedmenu-open body.unos .mobilemenu-fixed .menu-toggle {
    left: min(86vw, 320px) !important;
    background: #3d1a0e !important;
    z-index: 100070 !important;
    pointer-events: auto !important;
  }

  body.unos .mobilemenu-fixed .menu-items > li,
  body.unos .mobilemenu-fixed .menu-items > li:hover,
  body.unos .mobilemenu-fixed .menu-items > li.focus {
    float: none !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(92, 42, 22, 0.1);
    background: transparent !important;
    position: relative;
  }

  body.unos .mobilemenu-fixed .menu-items > li > a,
  body.unos .mobilemenu-fixed .menu-items > li:hover > a,
  body.unos .mobilemenu-fixed .menu-items > li.focus > a,
  body.unos .mobilemenu-fixed .menu-items ul.sub-menu a {
    display: block !important;
    box-sizing: border-box !important;
    color: #2a150c !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    white-space: normal !important;
    line-height: 1.35 !important;
    padding: 0.85rem 3.1rem 0.85rem 1rem !important;
    min-height: 48px;
  }

  body.unos .mobilemenu-fixed .menu-items > li.current-menu-item > a,
  body.unos .mobilemenu-fixed .menu-items > li.current-menu-ancestor > a {
    color: #5c2a16 !important;
    background: #f3ebe3 !important;
  }

  body.unos .mobilemenu-fixed .menu-items ul.sub-menu,
  body.unos .mobilemenu-fixed .menu-items ul.sub-menu ul.sub-menu {
    display: none !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 0.35rem !important;
    background: #f7f1e8 !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  body.unos .mobilemenu-fixed .menu-items li.cacs-submenu-open > ul.sub-menu {
    display: block !important;
  }

  body.unos .mobilemenu-fixed .menu-items ul.sub-menu a {
    font-size: 15px !important;
    font-weight: 500 !important;
    padding: 0.75rem 1rem 0.75rem 1.5rem !important;
    color: #1f140e !important;
  }

  body.unos .mobilemenu-fixed .menu-items ul.sub-menu ul.sub-menu a {
    padding-left: 2.15rem !important;
  }

  /*
   * Unos Superfish paints FA angle-down on .menu-title:after (decorative, not a
   * control). Our .cacs-submenu-toggle is the real expander on the right — hide
   * the theme caret so parents show ONE working chevron.
   */
  body.unos .mobilemenu-fixed .sf-menu.sf-arrows .sf-with-ul .menu-title:after,
  body.unos .mobilemenu-fixed .sf-menu.sf-arrows ul .sf-with-ul .menu-title:after,
  body.unos .mobilemenu-fixed .menu-items li.menu-item-has-children > a .menu-title:after,
  body.unos .mobilemenu-fixed .menu-items li.menu-item-has-children > a .menu-title::after {
    content: none !important;
    display: none !important;
  }

  body.unos .mobilemenu-fixed .menu-items li.menu-item-has-children {
    position: relative;
  }

  body.unos .mobilemenu-fixed .cacs-submenu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute !important; /* must beat any relative/static overrides */
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    margin: 0 !important;
    padding: 0;
    border: 0;
    background: transparent;
    color: #5c2a16;
    cursor: pointer;
    z-index: 3;
    -webkit-tap-highlight-color: transparent;
  }

  body.unos .mobilemenu-fixed .cacs-submenu-toggle span {
    display: block;
    width: 10px;
    height: 10px;
    margin: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease;
    pointer-events: none;
  }

  body.unos .mobilemenu-fixed li.cacs-submenu-open > .cacs-submenu-toggle span {
    transform: rotate(-135deg) translateY(-2px);
  }

  body.unos .mobilemenu-fixed .menu-item.cacs-v2-featured > a .menu-title-text::after {
    background: rgba(184, 132, 31, 0.4);
    color: #3d1a0e;
  }
}


/* ===== v2.3 dark-hero contrast (do not force brown titles on dark banners) ===== */
body.unos .btp-hero h1,
body.unos .btp-hero h2,
body.unos .btp-page .btp-hero h1,
body.unos .btp-page .btp-hero h2,
body.unos .su-hero h1,
body.unos .su-hero h2,
body.unos .pilg-hero h1,
body.unos .pilg-hero h2,
body.unos .voh-page .hero h1,
body.unos .hero h1,
body.unos [class*="-hero"] > h1,
body.unos [class*="-hero"] h1,
body.unos [class*="hero"] h1.entry-title,
body.unos .hoot-slider-slide-content h1,
body.unos .hoot-slider-slide-content h2,
body.unos .hoot-slider-slide-content .title {
  color: #f7f1e8 !important;
}
body.unos .btp-hero .btp-sub,
body.unos .btp-hero .btp-lede,
body.unos .btp-hero p,
body.unos .su-hero p,
body.unos .su-hero-sub,
body.unos .pilg-hero p,
body.unos .pilg-sub,
body.unos .pilg-dates,
body.unos .voh-page .hero p,
body.unos .hoot-slider-slide-content p {
  color: #ede3cc !important;
}
body.unos .btp-hero .btp-eyeline,
body.unos .btp-eyeline {
  color: #e0b45a !important;
}
/* Soften blanket paragraph darkening so campaign dark sections stay readable */
body.unos .btp-page,
body.unos .btp-page p,
body.unos #su-root,
body.unos #donate-root,
body.unos #pilgrimage-root,
body.unos #voh-root,
body.unos #cacs-root {
  color: inherit;
}
body.unos .btp-page p {
  color: #d9ceb4 !important;
}
body.unos .btp-page h2,
body.unos .btp-page h3 {
  color: #ede3cc !important;
}
