/**
 * UUCG Warm Modern — 2027 design layer
 * Soft glass, friendly depth, calm motion.
 * Built as an overlay on UUA Congregation (Bootstrap 3).
 */

/* ==========================================================================
   1. Design tokens
   ========================================================================== */
@import "variables.css";


/* Active UUCG scheme: grey-red (warm rose) */
body.grey-red {
  --uucg-primary: #a81f45;
  --uucg-primary-deep: #6f1430;
  --uucg-primary-soft: #fce8ee;
  --uucg-accent: #c45c26;
  --uucg-gold: #e6a93a;
  --uucg-shadow-glow: 0 12px 40px rgba(168, 31, 69, 0.16);
}

body.aqua-green {
  --uucg-primary: #0a6b7c;
  --uucg-primary-deep: #004b5a;
  --uucg-primary-soft: #e4f4f6;
  --uucg-accent: #6f8f28;
  --uucg-gold: #e6a93a;
  --uucg-shadow-glow: 0 12px 40px rgba(10, 107, 124, 0.16);
}

/* ==========================================================================
   2. Base & ambient world
   ========================================================================== */
html {
  scroll-behavior: smooth;
}

/* Comfortable root rem — ~10% under the previous pass. */
html:has(body.uucg-modern) {
  font-size: 15px;
}

body.uucg-modern {
  font-family: var(--uucg-font);
  font-size: var(--uucg-fs-105); /* ~15.75px body copy */
  line-height: var(--uucg-lh-loose);  color: var(--uucg-ink);
  font-weight: 400;
  background-color: var(--uucg-cream) !important;
  background-image:
    radial-gradient(ellipse 80% 55% at 8% -10%, rgba(230, 169, 58, 0.22), transparent 55%),
    radial-gradient(ellipse 70% 50% at 95% 5%, rgba(168, 31, 69, 0.12), transparent 50%),
    radial-gradient(ellipse 60% 45% at 50% 100%, rgba(92, 77, 138, 0.1), transparent 55%),
    radial-gradient(ellipse 50% 40% at 20% 70%, rgba(47, 122, 120, 0.08), transparent 50%),
    linear-gradient(180deg, var(--uucg-cream) 0%, var(--uucg-cream-deep) 100%) !important;
  background-attachment: fixed;
  background-repeat: no-repeat;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.uucg-modern.grey-red {
  background-image:
    radial-gradient(ellipse 80% 55% at 8% -10%, rgba(230, 169, 58, 0.24), transparent 55%),
    radial-gradient(ellipse 70% 50% at 95% 8%, rgba(168, 31, 69, 0.14), transparent 52%),
    radial-gradient(ellipse 55% 40% at 70% 90%, rgba(196, 92, 38, 0.1), transparent 50%),
    radial-gradient(ellipse 45% 35% at 15% 65%, rgba(168, 31, 69, 0.06), transparent 50%),
    linear-gradient(180deg, #fbf6f0 0%, #f5e9df 100%) !important;
}

body.uucg-modern.aqua-green {
  background-image:
    radial-gradient(ellipse 80% 55% at 8% -10%, rgba(160, 195, 59, 0.2), transparent 55%),
    radial-gradient(ellipse 70% 50% at 95% 8%, rgba(10, 107, 124, 0.14), transparent 52%),
    radial-gradient(ellipse 55% 40% at 50% 95%, rgba(47, 122, 120, 0.1), transparent 50%),
    linear-gradient(180deg, #f5f9f6 0%, #e8f1ec 100%) !important;
}

/* ------------------------------------------------------------------ */
/* Mobile drawer system (body-level; not trapped in header)           */
/* ------------------------------------------------------------------ */
body.uucg-modern .uucg-drawer-toggle {
  display: none; /* shown ≤991px */
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

body.uucg-modern .uucg-drawer-root {
  /* Always in DOM; inactive on desktop */
  position: relative;
  z-index: 2000;
}

body.uucg-modern .uucg-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2001;
  background: rgba(22, 12, 16, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: var(--uucg-opacity-0);  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

body.uucg-modern .uucg-drawer-panel {
  position: fixed;
  top: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 2002;
  width: min(22rem, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.05rem 0.95rem 1.2rem;
  margin: 0;
  background:
    radial-gradient(ellipse 90% 45% at 100% 0%, rgba(255, 213, 74, 0.14), transparent 55%),
    linear-gradient(165deg, var(--uucg-primary) 0%, var(--uucg-primary-deep) 100%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1.5rem;
  box-shadow:
    0 28px 70px rgba(15, 8, 12, 0.4),
    0 1px 0 rgba(255, 255, 255, 0.12) inset;
  /* Off-canvas until open */
  transform: translate3d(calc(100% + 2rem), 0, 0) !important;
  visibility: hidden;
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
              visibility 0.38s;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
}

/* OPEN STATE — high specificity so nothing blocks the slide-in */
body.uucg-modern.uucg-drawer-open {
  overflow: hidden !important;
}

body.uucg-modern.uucg-drawer-open .uucg-drawer-backdrop {
  opacity: var(--uucg-opacity-1) !important;  visibility: visible !important;
  pointer-events: auto !important;
}

body.uucg-modern.uucg-drawer-open .uucg-drawer-panel,
body.uucg-modern.uucg-drawer-open #uucg-drawer {
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.uucg-modern .uucg-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
  padding: 0.1rem 0.15rem 0.25rem;
}

body.uucg-modern .uucg-drawer-title {
  font-family: var(--uucg-display);
  font-size: 1.4rem;
  font-weight: var(--uucg-fw-650);  color: var(--uucg-on-primary);  letter-spacing: var(--uucg-ls-tight);}

body.uucg-modern .uucg-drawer-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.85rem;
  height: 2.85rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--uucg-radius-pill);  background: rgba(255, 255, 255, 0.14);
  color: var(--uucg-on-primary);  font-size: 1.85rem;
  line-height: var(--uucg-lh-flat);  cursor: pointer;
  padding: 0;
  transition: background 0.2s ease, transform 0.2s ease;
}

body.uucg-modern .uucg-drawer-close:hover,
body.uucg-modern .uucg-drawer-close:focus {
  background: rgba(255, 255, 255, 0.24);
  transform: scale(1.05);
  outline: none;
}

body.uucg-modern .uucg-drawer-nav {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 0.15rem 0;
}

body.uucg-modern .uucg-drawer-menu,
body.uucg-modern .uucg-drawer-panel .navbar-nav {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.uucg-modern .uucg-drawer-menu > li,
body.uucg-modern .uucg-drawer-panel .navbar-nav > li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0;
}

body.uucg-modern .uucg-drawer-menu > li > a,
body.uucg-modern .uucg-drawer-panel .navbar-nav > li > a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  text-align: left;
  font-size: 1.12rem !important;
  font-weight: var(--uucg-fw-650) !important;  min-height: 3.15rem;
  padding: 0.85rem 1.1rem !important;
  margin: 0.28rem 0 !important;
  border-radius: var(--uucg-radius-pill) !important;  color: var(--uucg-on-primary) !important;  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.uucg-modern .uucg-drawer-menu > li > a:hover,
body.uucg-modern .uucg-drawer-menu > li > a:focus,
body.uucg-modern .uucg-drawer-menu > .active > a,
body.uucg-modern .uucg-drawer-menu > .open > a,
body.uucg-modern .uucg-drawer-panel .navbar-nav > li > a:hover,
body.uucg-modern .uucg-drawer-panel .navbar-nav > .active > a,
body.uucg-modern .uucg-drawer-panel .navbar-nav > .open > a {
  background: rgba(255, 255, 255, 0.22) !important;
  color: var(--uucg-on-primary) !important;  transform: none !important;
}

body.uucg-modern .uucg-drawer-menu .dropdown-menu,
body.uucg-modern .uucg-drawer-panel .dropdown-menu {
  position: static !important;
  float: none !important;
  width: 100% !important;
  margin: 0.15rem 0 0.4rem !important;
  padding: 0.35rem !important;
  background: rgba(0, 0, 0, 0.18) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 1.1rem !important;
  box-shadow: none !important;
  animation: none !important;
  display: none;
}

body.uucg-modern .uucg-drawer-menu > .open > .dropdown-menu,
body.uucg-modern .uucg-drawer-panel .navbar-nav > .open > .dropdown-menu {
  display: block !important;
}

body.uucg-modern .uucg-drawer-menu .dropdown-menu > li > a,
body.uucg-modern .uucg-drawer-panel .dropdown-menu > li > a {
  color: var(--uucg-on-primary) !important;  font-size: var(--uucg-fs-115) !important;  font-weight: var(--uucg-fw-semibold) !important;  min-height: 3.1rem;
  padding: 0.85rem 1.1rem !important;
  border-radius: var(--uucg-radius-sm) !important;  text-align: left;
  background: transparent !important;
}

body.uucg-modern .uucg-drawer-menu .dropdown-menu > li > a:hover,
body.uucg-modern .uucg-drawer-panel .dropdown-menu > li > a:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: var(--uucg-on-primary) !important;  transform: none !important;
}

body.uucg-modern .uucg-drawer-menu .caret,
body.uucg-modern .uucg-drawer-panel .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
}

body.uucg-modern .uucg-drawer-social {
  flex-shrink: 0;
  margin-top: auto;
  padding: 1rem 0.5rem 0.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  text-align: center;
}

body.uucg-modern .uucg-drawer-social-label {
  margin: 0 0 0.8rem;
  font-size: var(--uucg-fs-78);  font-weight: var(--uucg-fw-bold);  letter-spacing: var(--uucg-ls-widest);  text-transform: var(--uucg-uppercase);  color: rgba(255, 255, 255, 0.72);
}

body.uucg-modern .uucg-drawer-social .social-media-links {
  display: flex !important;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin: 0 !important;
}

body.uucg-modern .uucg-drawer-social .social-media-links a {
  width: 3.1rem !important;
  height: 3.1rem !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: var(--uucg-on-primary) !important;  border-radius: var(--uucg-radius-pill) !important;}

body.uucg-modern .uucg-drawer-social .social-media-links a:hover {
  background: var(--uucg-bg-white) !important;  color: var(--uucg-primary) !important;
}

body.uucg-modern .uucg-drawer-social .social-media-links i {
  font-size: 1.4rem !important;
  margin: 0 !important;
}

/* Desktop: hide entire drawer chrome */
@media only screen and (min-width: 992px) {
  body.uucg-modern .uucg-drawer-root {
    display: none !important;
  }

  body.uucg-modern .uucg-drawer-toggle {
    display: none !important;
  }
}

/* Soft floating orbs (CSS-only ambient 3D depth) */
body.uucg-modern::before,
body.uucg-modern::after {
  content: "";
  position: fixed;
  z-index: -1;
  border-radius: var(--uucg-radius-circle);  pointer-events: none;
  filter: blur(40px);
  opacity: 0.55;
  will-change: transform;
}

body.uucg-modern::before {
  width: min(42vw, 420px);
  height: min(42vw, 420px);
  top: 12%;
  right: -6%;
  background: radial-gradient(circle at 30% 30%, rgba(230, 169, 58, 0.45), rgba(196, 92, 38, 0.12) 60%, transparent 70%);
  animation: uucg-float-a 22s var(--uucg-ease) infinite alternate;
}

body.uucg-modern::after {
  width: min(48vw, 480px);
  height: min(48vw, 480px);
  bottom: 5%;
  left: -8%;
  background: radial-gradient(circle at 60% 40%, rgba(168, 31, 69, 0.18), rgba(92, 77, 138, 0.12) 55%, transparent 70%);
  animation: uucg-float-b 28s var(--uucg-ease) infinite alternate;
}

@keyframes uucg-float-a {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(-30px, 40px, 0) scale(1.08); }
}

@keyframes uucg-float-b {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(40px, -25px, 0) scale(1.06); }
}

/* ==========================================================================
   3. Typography
   ========================================================================== */
body.uucg-modern h1,
body.uucg-modern h2,
body.uucg-modern h3,
body.uucg-modern h4,
body.uucg-modern h5,
body.uucg-modern h6,
body.uucg-modern .navbar-brand .site-title h1,
body.uucg-modern .page-header h1,
body.uucg-modern .widget-title {
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-semibold);  letter-spacing: var(--uucg-ls-tight);  color: var(--uucg-ink);
  line-height: var(--uucg-lh-snug);}

/* Explicit heading scale — readable, not oversized */
body.uucg-modern h1 { font-size: clamp(1.7rem, 3.3vw, 2.2rem); }
body.uucg-modern h2 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
body.uucg-modern h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
body.uucg-modern h4 { font-size: 1.1rem; }
body.uucg-modern h5 { font-size: var(--uucg-fs-102); }
body.uucg-modern h6 { font-size: var(--uucg-fs-98); }

body.uucg-modern p {
  margin-bottom: 1em;
  font-size: var(--uucg-fs-102);  line-height: var(--uucg-lh-loose);}

body.uucg-modern .main,
body.uucg-modern #main,
body.uucg-modern .entry-content,
body.uucg-modern .page-content,
body.uucg-modern article {
  font-size: var(--uucg-fs-102);  line-height: var(--uucg-lh-loose);}

body.uucg-modern .main li,
body.uucg-modern #main li,
body.uucg-modern .entry-content li {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 0.3em;
}

body.uucg-modern .main p,
body.uucg-modern #main p,
body.uucg-modern .entry-content p,
body.uucg-modern .widget p,
body.uucg-modern .sidebar p {
  font-size: var(--uucg-fs-102);  line-height: var(--uucg-lh-loose);}

body.uucg-modern a {
  color: var(--uucg-primary);
  transition: color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern a:hover,
body.uucg-modern a:focus {
  color: var(--uucg-primary-deep);
}

body.uucg-modern .main a:not(.btn):not(.box-link):not(.nav a) {
  text-underline-offset: 0.15em;
  text-decoration-thickness: 1px;
}

body.uucg-modern .main a:not(.btn):not(.box-link):not(.nav a):hover {
  text-decoration: underline;
}

/* ==========================================================================
   4. Skip link & site notice
   ========================================================================== */
body.uucg-modern #skip a {
  background: var(--uucg-primary);
  color: var(--uucg-on-primary);  border-radius: var(--uucg-radius-sm);
  padding: 0.65rem 1rem;
  box-shadow: var(--uucg-shadow);
}

body.uucg-modern .site-notice {
  background: linear-gradient(135deg, #ffe8a3 0%, #ffd56a 45%, #f5bc4a 100%) !important;
  color: var(--uucg-ink) !important;
  border-bottom: 1px solid rgba(196, 140, 40, 0.25);
  box-shadow: 0 4px 18px rgba(196, 140, 40, 0.15);
  position: relative;
  z-index: 30;
  overflow: visible;
}

body.uucg-modern .site-notice .container {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

/* Yellow banner — steady, readable size */
body.uucg-modern .site-notice p,
body.uucg-modern .site-notice p span,
body.uucg-modern .site-notice strong {
  margin: 0.35em 0;
  text-align: center;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  font-size: var(--uucg-fs-1) !important;  font-weight: var(--uucg-fw-semibold);}

body.uucg-modern .site-notice a {
  color: var(--uucg-primary-deep);
  font-weight: var(--uucg-fw-bold);}

/* ==========================================================================
   5. Masthead — frosted welcome bar
   ========================================================================== */
body.uucg-modern .masthead-header {
  background: var(--uucg-surface) !important;
  backdrop-filter: blur(var(--uucg-blur)) saturate(1.35);
  -webkit-backdrop-filter: blur(var(--uucg-blur)) saturate(1.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, var(--uucg-shadow-sm);
  margin: 0.85rem 0 0 !important;
  position: relative;
  z-index: 40;
  transition: box-shadow var(--uucg-duration) var(--uucg-ease),
              background var(--uucg-duration) var(--uucg-ease);
}

body.uucg-modern.is-scrolled .masthead-header {
  background: var(--uucg-surface-strong) !important;
  box-shadow: var(--uucg-shadow-sm);
}

body.uucg-modern .navbar-brand {
  display: flex !important;
  align-items: center;
  gap: 0.85rem;
  height: auto !important;
  padding: 0.85rem 0 !important;
  transition: transform var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .navbar-brand:hover {
  transform: var(--uucg-lift-1);}

body.uucg-modern .navbar-brand img {
  height: 76px !important;
  width: auto !important;
  float: none !important;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(42, 34, 31, 0.1);
  transition: transform var(--uucg-duration) var(--uucg-ease),
              box-shadow var(--uucg-duration) var(--uucg-ease);
  transform: translateZ(0);
}

body.uucg-modern .navbar-brand:hover img {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 10px 24px rgba(42, 34, 31, 0.14);
}

body.uucg-modern .navbar-brand .site-title {
  text-indent: 0 !important;
  min-width: 0;
}

body.uucg-modern .navbar-brand .site-title h1 {
  font-size: clamp(1.2rem, 2.2vw, 1.55rem) !important;
  color: var(--uucg-primary) !important;
  font-weight: var(--uucg-fw-bold) !important;  margin: 0 0 0.15rem !important;
  padding: 0 !important;
  letter-spacing: -0.025em;
  line-height: var(--uucg-lh-tighter) !important;  white-space: normal;
}

body.uucg-modern .navbar-brand .site-description {
  color: var(--uucg-muted) !important;
  font-family: var(--uucg-font);
  font-size: var(--uucg-fs-9) !important;  font-weight: var(--uucg-fw-medium) !important;  letter-spacing: 0.01em;
  text-transform: none;
  line-height: 1.35;
}

body.uucg-modern .header-right {
  text-transform: none !important;
  font-size: var(--uucg-fs-9) !important;  letter-spacing: var(--uucg-ls) !important;  color: var(--uucg-muted) !important;
  padding-top: 0.5rem;
}

/* Single-row masthead by default: logo left, utilities right */
body.uucg-modern .masthead-header.row {
  margin-left: 0;
  margin-right: 0;
}

body.uucg-modern .masthead-header .container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.15rem;
  padding: 1.1rem 1.35rem !important;
  box-sizing: border-box;
}

body.uucg-modern .masthead-header .logo-area,
body.uucg-modern .masthead-header .header-right {
  float: none !important;
  width: auto !important;
  max-width: none;
  box-sizing: border-box;
  padding: 0 !important;
  margin: 0 !important;
}

body.uucg-modern .masthead-header .logo-area {
  flex: 1 1 auto;
  min-width: 0;
}

body.uucg-modern .masthead-header .header-right {
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  text-align: right !important;
  padding-top: 0 !important;
}

/* Sunday time + social icons stacked on the right */
body.uucg-modern .uucg-header-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.45rem;
  flex-shrink: 0;
}

body.uucg-modern .uucg-header-social {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

body.uucg-modern .uucg-header-social .social-media-links {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  margin: 0 !important;
  float: none !important;
}

body.uucg-modern .header-right .nav-pills > li > a {
  border-radius: var(--uucg-radius-pill) !important;
  padding: 0.35rem 0.75rem !important;
  font-size: var(--uucg-fs-9) !important;  font-weight: var(--uucg-fw-semibold);  color: var(--uucg-ink-soft);
  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              transform var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .header-right .nav-pills > li > a:hover {
  background: var(--uucg-primary-soft) !important;
  color: var(--uucg-primary);
  transform: var(--uucg-lift-1);}

body.uucg-modern .header-text-field {
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1.15rem;
  background: linear-gradient(135deg, var(--uucg-gold-soft), #ffe8b8);
  color: var(--uucg-ink);
  font-weight: var(--uucg-fw-bold);  font-size: var(--uucg-fs-95);  letter-spacing: var(--uucg-ls);  border-radius: var(--uucg-radius-pill);
  box-shadow: 0 4px 14px rgba(230, 169, 58, 0.25);
  border: 1px solid rgba(230, 169, 58, 0.35);
  clear: none !important;
  white-space: nowrap;
  flex-shrink: 0;
}

body.uucg-modern .header-text-field .uucg-header-pill__kicker {
  font-size: var(--uucg-fs-72);
  font-weight: var(--uucg-fw-bold);
  letter-spacing: var(--uucg-ls-widest);
  text-transform: var(--uucg-uppercase);
}

body.uucg-modern .header-text-field .uucg-header-pill__time {
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-semibold);
  font-size: var(--uucg-fs-115);
  color: var(--uucg-primary-deep);
}

body.uucg-modern .header-right .menu-utility-menu-container,
body.uucg-modern .header-right .nav {
  float: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  clear: none !important;
}

body.uucg-modern .header-right .social-media-links a,
body.uucg-modern .uucg-header-social .social-media-links a {
  width: 2.15rem;
  height: 2.15rem;
}

/* Customizer often wraps Sunday text in an h4 */
body.uucg-modern .header-text-field h1,
body.uucg-modern .header-text-field h2,
body.uucg-modern .header-text-field h3,
body.uucg-modern .header-text-field h4,
body.uucg-modern .header-text-field h5,
body.uucg-modern .header-text-field p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-family: inherit !important;
  line-height: var(--uucg-lh-snug) !important;  color: inherit !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

body.uucg-modern .social-media-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: var(--uucg-radius-circle);  color: var(--uucg-ink-soft) !important;
  background: var(--uucg-glass);  border: 1px solid rgba(42, 34, 31, 0.06);
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .social-media-links a svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
  flex-shrink: 0;
}

body.uucg-modern .social-media-links a:hover {
  color: var(--uucg-on-primary) !important;  background: var(--uucg-primary);
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 6px 16px rgba(168, 31, 69, 0.28);
}

body.uucg-modern .social-media-links i {
  margin: 0 !important;
  font-size: var(--uucg-fs-105);}

/* ==========================================================================
   6. Primary nav — separate rounded floating container
   ========================================================================== */
/* Wrapper: transparent, sticky, spaced away from masthead */
body.uucg-modern header.banner.navbar,
body.uucg-modern header.banner.navbar-default {
  position: sticky;
  top: 0.65rem;
  z-index: 50;
  margin: 0.85rem 0 0.35rem !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

/* When the WP admin bar is visible, push the sticky nav below it (32px desktop, 46px mobile) */
body.uucg-modern.admin-bar header.banner.navbar,
body.uucg-modern.admin-bar header.banner.navbar-default {
  top: calc(0.65rem + 32px);
}

@media screen and (max-width: 782px) {
  body.uucg-modern.admin-bar header.banner.navbar,
  body.uucg-modern.admin-bar header.banner.navbar-default {
    top: calc(0.65rem + 46px);
  }
}

/* The rounded nav capsule itself */
body.uucg-modern header.banner > .container {
  position: relative;
  max-width: var(--uucg-content-max);
  background: linear-gradient(135deg, var(--uucg-primary) 0%, var(--uucg-primary-deep) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--uucg-radius-pill) !important;
  box-shadow:
    var(--uucg-shadow-glow),
    0 10px 28px rgba(42, 34, 31, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.14) inset;
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
  padding-left: 0.85rem !important;
  padding-right: 0.85rem !important;
  overflow: visible;
  transition: box-shadow var(--uucg-duration) var(--uucg-ease),
              transform var(--uucg-duration) var(--uucg-ease);
}

body.uucg-modern.is-scrolled header.banner > .container {
  box-shadow:
    0 14px 36px rgba(42, 34, 31, 0.2),
    0 1px 0 rgba(255, 255, 255, 0.12) inset;
}

/* Kill flat full-width nav backgrounds from parent + colour schemes */
body.uucg-modern .navbar-default,
body.uucg-modern .navbar-collapse,
body.uucg-modern .container > .navbar-header,
body.uucg-modern .container > .navbar-collapse,
body.uucg-modern.grey-red .navbar-default,
body.uucg-modern.grey-red .container > .navbar-header,
body.uucg-modern.grey-red .container > .navbar-collapse,
body.uucg-modern.aqua-green .navbar-default,
body.uucg-modern.aqua-green .container > .navbar-header,
body.uucg-modern.aqua-green .container > .navbar-collapse {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--uucg-radius-none) !important;}

/* Keep colour schemes on the capsule, not the full-width bar */
body.uucg-modern.grey-red header.banner > .container,
body.uucg-modern.aqua-green header.banner > .container {
  background: linear-gradient(135deg, var(--uucg-primary) 0%, var(--uucg-primary-deep) 100%) !important;
}

body.uucg-modern .navbar-collapse {
  clear: none !important;
  padding: 0.35rem 0.4rem !important;
  max-height: none;
}

body.uucg-modern .container > .navbar-header {
  background: none !important;
  float: none;
}

body.uucg-modern .navbar-toggle {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: var(--uucg-radius-pill) !important;
  width: auto !important;
  padding: 0.55rem 1.15rem !important;
  margin: 0.55rem auto !important;
  font-weight: var(--uucg-fw-semibold);  letter-spacing: var(--uucg-ls-wide);  color: var(--uucg-on-primary) !important;  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              transform var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .navbar-default .navbar-toggle:hover,
body.uucg-modern .navbar-default .navbar-toggle:focus {
  background: rgba(255, 255, 255, 0.18) !important;
  transform: var(--uucg-lift-1);}

body.uucg-modern .collapse .nav > li {
  letter-spacing: var(--uucg-ls);  font-weight: var(--uucg-fw-semibold);}

body.uucg-modern .collapse .nav > li > a,
body.uucg-modern .navbar-default .navbar-nav > li > a {
  font-size: var(--uucg-fs-95) !important;  font-weight: var(--uucg-fw-650) !important;  color: rgba(255, 255, 255, 0.92) !important;
  padding: 0.7rem 0.95rem !important;
  border-radius: var(--uucg-radius-pill);
  /* Default pill so plain (non-dropdown, non-active) items still
     match the rhythm of the dropdown parents and the active item. */
  background: rgba(255, 255, 255, 0.12);
  margin: 0.15rem 0.06rem;
  line-height: var(--uucg-lh-snug);  white-space: nowrap;
  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              transform var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .navbar-default .navbar-nav > li > a:hover,
body.uucg-modern .navbar-default .navbar-nav > li > a:focus,
body.uucg-modern .navbar-default .navbar-nav > .open > a,
body.uucg-modern .navbar-default .navbar-nav > .open > a:hover,
body.uucg-modern .navbar-default .navbar-nav > .open > a:focus,
body.uucg-modern .navbar-default .navbar-nav > .active > a,
body.uucg-modern .navbar-default .navbar-nav > .active > a:hover,
body.uucg-modern .navbar-default .navbar-nav > .active > a:focus {
  background: rgba(255, 255, 255, 0.16) !important;
  color: var(--uucg-on-primary) !important;  transform: var(--uucg-lift-1);  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border-radius: var(--uucg-radius-pill);
}

body.uucg-modern .navbar-default .navbar-nav > .active > a {
  background: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18) inset;
  border-radius: var(--uucg-radius-pill);
}

/* Slightly tighter nav on very wide menus so capsule stays elegant */
body.uucg-modern .navbar-nav {
  float: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  gap: 0.2rem;
}

/* Dropdown menus — glass panels */
body.uucg-modern .dropdown-menu {
  background: var(--uucg-surface-strong) !important;
  backdrop-filter: blur(var(--uucg-blur-strong)) saturate(1.4);
  -webkit-backdrop-filter: blur(var(--uucg-blur-strong)) saturate(1.4);
  border: 1px solid var(--uucg-glass-border) !important;
  border-radius: var(--uucg-radius-sm) !important;
  box-shadow: var(--uucg-shadow-lg) !important;
  padding: 0.45rem !important;
  margin-top: 0.35rem !important;
  animation: uucg-dropdown-in 0.28s var(--uucg-ease);
  transform-origin: top center;
}

@keyframes uucg-dropdown-in {
  from {
    opacity: var(--uucg-opacity-0);    transform: translateY(-6px) scale(0.98);
  }
  to {
    opacity: var(--uucg-opacity-1);    transform: translateY(0) scale(1);
  }
}

body.uucg-modern .dropdown-menu > li > a {
  border-radius: 0.55rem !important;
  padding: 0.55rem 0.9rem !important;
  color: var(--uucg-ink-soft) !important;
  font-size: var(--uucg-fs-98) !important;  font-weight: var(--uucg-fw-semibold);  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              transform var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .dropdown-menu > li > a:hover,
body.uucg-modern .dropdown-menu > li > a:focus,
body.uucg-modern .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
body.uucg-modern .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
  background: var(--uucg-primary-soft) !important;
  color: var(--uucg-primary) !important;
  transform: translateX(2px);
}

body.uucg-modern .dropdown-menu > .active > a,
body.uucg-modern .dropdown-menu > .active > a:hover,
body.uucg-modern .dropdown-menu > .active > a:focus {
  background: var(--uucg-primary) !important;
  color: var(--uucg-on-primary) !important;}

/* ==========================================================================
   7. Main content shell
   ========================================================================== */
body.uucg-modern .wrap {
  position: relative;
  z-index: 1;
}

body.uucg-modern .wrap > .container {
  background: var(--uucg-surface-strong) !important;
  backdrop-filter: blur(var(--uucg-blur)) saturate(1.2);
  -webkit-backdrop-filter: blur(var(--uucg-blur)) saturate(1.2);
  border: var(--uucg-rule-soft);  border-radius: var(--uucg-radius-lg);
  box-shadow: var(--uucg-shadow-lg), 0 1px 0 rgba(255, 255, 255, 0.85) inset;
  /* Matched top/bottom spacing */
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
  padding-left: var(--uucg-shell-pad-x) !important;
  padding-right: var(--uucg-shell-pad-x) !important;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  overflow: hidden;
  transform: translateZ(0);
}

body.uucg-modern.home .wrap > .container {
  /* Hero sits flush to the top of the glass shell */
  padding-top: 0 !important;
}

body.uucg-modern .main,
body.uucg-modern #main,
body.uucg-modern #primary {
  padding-left: var(--uucg-main-pad-x) !important;
  padding-right: var(--uucg-main-pad-x) !important;
}

/* ------------------------------------------------------------------ */
/* Home hero cover — full width of the glass shell, rest stays padded */
/* ------------------------------------------------------------------ */
body.uucg-modern.home #primary.col-md-12 {
  /* Bootstrap column gutters would leave side gaps around the hero */
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.uucg-modern.home .content.row {
  margin-left: 0;
  margin-right: 0;
}

body.uucg-modern.home #main,
body.uucg-modern.home .site-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.uucg-modern.home #main > .wp-block-cover:first-of-type,
body.uucg-modern.home .site-main > .wp-block-cover:first-of-type {
  position: relative;
  width: calc(100% + (2 * var(--uucg-shell-pad-x))) !important;
  max-width: none !important;
  margin-left: calc(-1 * var(--uucg-shell-pad-x)) !important;
  margin-right: calc(-1 * var(--uucg-shell-pad-x)) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-radius: var(--uucg-radius-none);  min-height: clamp(280px, 42vw, 480px);
}

body.uucg-modern.home #main > .wp-block-cover:first-of-type .wp-block-cover__image-background,
body.uucg-modern.home .site-main > .wp-block-cover:first-of-type .wp-block-cover__image-background {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

/* Re-apply readable side padding to everything after the hero */
body.uucg-modern.home #main > .wp-block-cover:first-of-type ~ *,
body.uucg-modern.home .site-main > .wp-block-cover:first-of-type ~ * {
  padding-left: var(--uucg-shell-pad-x);
  padding-right: var(--uucg-shell-pad-x);
  box-sizing: border-box;
}

/* Mission quote already centers itself; keep its own horizontal breathing room */
body.uucg-modern.home #main > .wp-block-cover:first-of-type ~ .mission1,
body.uucg-modern.home .site-main > .wp-block-cover:first-of-type ~ .mission1 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

body.uucg-modern .page-header {
  border-bottom: none;
  margin: 0 0 1.25rem;
  padding-bottom: 0;
}

body.uucg-modern .page-header h1,
body.uucg-modern .entry-title,
body.uucg-modern h1.entry-title,
body.uucg-modern .main > h1:first-child,
body.uucg-modern #main > h1:first-child {
  font-size: clamp(1.85rem, 3.8vw, 2.4rem) !important;
  line-height: var(--uucg-lh-tighter) !important;  background: linear-gradient(120deg, var(--uucg-ink) 0%, var(--uucg-primary) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 1rem !important;
}

/* Page template: No Title or Path — belt-and-suspenders hide */
body.uucg-modern.uucg-no-title-or-path .page-header,
body.uucg-modern.uucg-no-title-or-path p#breadcrumbs,
body.uucg-modern.uucg-no-title-or-path #breadcrumbs,
body.uucg-modern.uucg-no-title-or-path .breadcrumb {
  display: none !important;
}

/*
 * Plugin-only pages (In the Loop, Worship Schedule, etc.)
 * Avoid a “raised card inside a raised card” when the shortcode is the whole page.
 */
body.uucg-modern.uucg-no-title-or-path .wrap > .container {
  /* Sit closer under the nav — less floating double stack */
  margin-top: 0.65rem !important;
  margin-bottom: 1.5rem !important;
  /* Softer shell so plugin UI can carry the depth */
  box-shadow: var(--uucg-shadow-sm), 0 1px 0 rgba(255, 255, 255, 0.7) inset !important;
  border-color: rgba(42, 34, 31, 0.06) !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.75rem !important;
}

body.uucg-modern.uucg-no-title-or-path #primary,
body.uucg-modern.uucg-no-title-or-path .main,
body.uucg-modern.uucg-no-title-or-path #main {
  /* Drop the extra Bootstrap/column inset — one clean content stage */
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.uucg-modern.uucg-no-title-or-path .content.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/*
 * No-title pages host plugin UIs (In the Loop, Worship Schedule, etc.).
 * They must NOT get the blog-card hover lift from `.hentry:hover` — that makes
 * the whole shortcode body float like a widget instead of sitting in the page.
 */
body.uucg-modern.uucg-no-title-or-path article.uucg-no-title-page,
body.uucg-modern.uucg-no-title-or-path article.uucg-no-title-page:hover,
body.uucg-modern.uucg-no-title-or-path article.uucg-no-title-page.hentry,
body.uucg-modern.uucg-no-title-or-path article.uucg-no-title-page.hentry:hover {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: var(--uucg-border-0) !important;  border-radius: var(--uucg-radius-none) !important;  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* Plugin roots sit flush in the shell — no extra outer margin stacking */
body.uucg-modern.uucg-no-title-or-path .uucg-itl,
body.uucg-modern.uucg-no-title-or-path .uucg-ws {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
}

/* Tabs / toolbars still elevate lightly, but empty panels don’t fake another card */
body.uucg-modern.uucg-no-title-or-path .uucg-itl__empty,
body.uucg-modern.uucg-no-title-or-path .uucg-ws__empty {
  background: transparent !important;
  border-style: dashed !important;
  border-color: rgba(42, 34, 31, 0.1) !important;
  box-shadow: none !important;
}

/* Flat breadcrumbs — no pill/orb chrome */
body.uucg-modern p#breadcrumbs {
  font-size: var(--uucg-fs-95);  color: var(--uucg-muted);
  margin: 0 0 0.75rem !important;
  padding: 0 0 0.75rem !important;
  background: none !important;
  border: none !important;
  border-radius: var(--uucg-radius-none) !important;  box-shadow: none !important;
  display: block !important;
}

body.uucg-modern .breadcrumb {
  background: transparent !important;
}

/* Soft section banding */
body.uucg-modern .row .grey {
  background: linear-gradient(180deg, rgba(250, 246, 241, 0.9), rgba(243, 232, 220, 0.65)) !important;
  border-radius: var(--uucg-radius);
  border: 1px solid rgba(255, 255, 255, 0.6);
  padding: 1.25rem !important;
  margin-top: 1.25rem !important;
}

/* ==========================================================================
   8. Cards, feature boxes, widgets — glass + soft 3D
   ========================================================================== */
body.uucg-modern .thumbnail,
body.uucg-modern .wp-caption,
body.uucg-modern .uuafbw_widget .thumbnail,
body.uucg-modern .widget .thumbnail {
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: var(--uucg-radius) !important;
  box-shadow: var(--uucg-shadow) !important;
  overflow: hidden;
  transform-style: preserve-3d;
  perspective: 900px;
  transition:
    transform var(--uucg-duration) var(--uucg-ease),
    box-shadow var(--uucg-duration) var(--uucg-ease),
    border-color var(--uucg-duration) var(--uucg-ease) !important;
  margin-top: 0 !important;
}

body.uucg-modern .thumbnail:hover,
body.uucg-modern .wp-caption:hover {
  transform: translateY(-6px) rotateX(2deg) scale(1.01) !important;
  box-shadow: var(--uucg-shadow-lg), var(--uucg-shadow-glow) !important;
  border-color: rgba(255, 255, 255, 0.95) !important;
  margin-top: 0 !important;
}

body.uucg-modern .thumbnail .box.image,
body.uucg-modern .wp-caption .box.image {
  overflow: hidden;
  border-radius: var(--uucg-radius) var(--uucg-radius) 0 0;
}

body.uucg-modern .thumbnail .box.image img,
body.uucg-modern .wp-caption img,
body.uucg-modern .thumbnail img {
  transition: transform 0.7s var(--uucg-ease);
  transform: scale(1.001);
}

body.uucg-modern .thumbnail:hover .box.image img,
body.uucg-modern .wp-caption:hover img,
body.uucg-modern .thumbnail:hover img {
  transform: scale(1.05);
}

body.uucg-modern .thumbnail .caption,
body.uucg-modern .wp-caption .caption,
body.uucg-modern .wp-caption-text {
  padding: 1rem 1.1rem 1.35rem !important;
}

body.uucg-modern .thumbnail h4,
body.uucg-modern .wp-caption h4 {
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-semibold);  transition: color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .thumbnail:hover h4,
body.uucg-modern .wp-caption:hover h4 {
  color: var(--uucg-primary) !important;
}

body.uucg-modern .thumbnail h4,
body.uucg-modern .wp-caption h4 {
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
}

body.uucg-modern .thumbnail .caption,
body.uucg-modern .wp-caption .caption,
body.uucg-modern .wp-caption-text {
  font-size: var(--uucg-fs-98) !important;  line-height: var(--uucg-lh-base) !important;}

body.uucg-modern .thumbnail p.box-link,
body.uucg-modern .wp-caption p.box-link {
  color: var(--uucg-on-primary) !important;  background: linear-gradient(135deg, var(--uucg-primary), var(--uucg-primary-deep)) !important;
  border: none !important;
  border-radius: var(--uucg-radius-pill) !important;
  padding: 0.5rem 1.15rem !important;
  width: auto !important;
  min-width: 42%;
  font-size: var(--uucg-fs-95) !important;  font-weight: var(--uucg-fw-bold);  letter-spacing: var(--uucg-ls);  box-shadow: 0 6px 16px rgba(42, 34, 31, 0.18);
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease),
              filter var(--uucg-duration-fast) var(--uucg-ease) !important;
}

body.uucg-modern .thumbnail:hover p.box-link,
body.uucg-modern .wp-caption:hover p.box-link {
  color: var(--uucg-on-primary) !important;  background: linear-gradient(135deg, var(--uucg-accent), var(--uucg-primary)) !important;
  border: none !important;
  transform: var(--uucg-lift-2);  box-shadow: 0 10px 22px rgba(196, 92, 38, 0.28);
  filter: brightness(1.03);
}

/* Sidebar & home widgets */
body.uucg-modern .widget {
  margin-bottom: 1.5rem;
}

body.uucg-modern .widget-title,
body.uucg-modern .sidebar .widget > h3,
body.uucg-modern #sidebar .widget > h3 {
  font-size: var(--uucg-fs-115);  margin-bottom: 0.85rem;
  padding-bottom: 0.5rem;
  position: relative;
}

body.uucg-modern .widget li,
body.uucg-modern .widget a,
body.uucg-modern .sidebar li,
body.uucg-modern .sidebar a {
  font-size: var(--uucg-fs-98);  line-height: var(--uucg-lh-base);}

body.uucg-modern .widget-title::after,
body.uucg-modern .sidebar .widget > h3::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 3px;
  margin-top: 0.45rem;
  border-radius: var(--uucg-radius-pill);
  background: linear-gradient(90deg, var(--uucg-gold), var(--uucg-primary), var(--uucg-rose));
}

body.uucg-modern .sidebar .widget,
body.uucg-modern #sidebar .widget,
body.uucg-modern .widget_text,
body.uucg-modern .widget_recent_entries,
body.uucg-modern .widget_categories,
body.uucg-modern .widget_archive,
body.uucg-modern .widget_nav_menu {
  background: var(--uucg-glass);  border: var(--uucg-rule-soft);  border-radius: var(--uucg-radius);
  padding: 1.1rem 1.15rem;
  box-shadow: var(--uucg-shadow-sm);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform var(--uucg-duration) var(--uucg-ease),
              box-shadow var(--uucg-duration) var(--uucg-ease);
}

body.uucg-modern .sidebar .widget:hover,
body.uucg-modern #sidebar .widget:hover {
  transform: var(--uucg-lift-2);  box-shadow: var(--uucg-shadow);
}

/* Home service widget — warm highlight card */
body.uucg-modern .home-widget-2 {
  background: linear-gradient(145deg, #ffe9a8 0%, #ffd56f 40%, #f5bc4a 100%) !important;
  border-radius: var(--uucg-radius) !important;
  box-shadow: 0 12px 32px rgba(230, 169, 58, 0.28), 0 1px 0 rgba(255, 255, 255, 0.55) inset;
  border: 1px solid rgba(255, 220, 140, 0.7);
  overflow: hidden;
  transform: translateZ(0);
  transition: transform var(--uucg-duration) var(--uucg-ease),
              box-shadow var(--uucg-duration) var(--uucg-ease);
}

body.uucg-modern .home-widget-2:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(230, 169, 58, 0.32), 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

body.uucg-modern.grey-red .home-widget-2 {
  background: linear-gradient(145deg, #fff6e8 0%, #ffe4c4 50%, #ffd4a8 100%) !important;
}

body.uucg-modern.aqua-green .home-widget-2 {
  background: linear-gradient(145deg, #e8f5c8 0%, #cfe88a 50%, #b5d65c 100%) !important;
}

body.uucg-modern .upcomingservice_widget {
  padding: 1.15rem 1.25rem !important;
  color: var(--uucg-ink) !important;
}

body.uucg-modern .upcomingservice_widget h3 {
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-650);  font-size: var(--uucg-fs-125) !important;  color: var(--uucg-ink);
}

body.uucg-modern .upcomingservice_widget .speaker,
body.uucg-modern .upcomingservice_widget time {
  color: var(--uucg-ink) !important;
  font-size: var(--uucg-fs-1) !important;}

body.uucg-modern .upcomingservice_widget ul li a {
  border-radius: var(--uucg-radius-pill) !important;
  background: var(--uucg-glass) !important;  color: var(--uucg-ink) !important;
  font-size: var(--uucg-fs-95) !important;  font-weight: var(--uucg-fw-bold);  padding: 0.45rem 0.9rem !important;
  border: var(--uucg-rule-soft);  box-shadow: 0 4px 12px rgba(42, 34, 31, 0.08);
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease) !important;
}

body.uucg-modern .upcomingservice_widget ul li a:hover {
  background: var(--uucg-primary) !important;
  color: var(--uucg-on-primary) !important;  transform: var(--uucg-lift-2);  box-shadow: 0 8px 18px rgba(42, 34, 31, 0.16);
}

/* ==========================================================================
   9. Buttons & forms
   ========================================================================== */
body.uucg-modern .btn,
body.uucg-modern input[type="submit"],
body.uucg-modern .comment-form input[type="submit"],
body.uucg-modern button[type="submit"] {
  border-radius: var(--uucg-radius-pill) !important;
  font-weight: var(--uucg-fw-bold);  font-size: var(--uucg-fs-1) !important;  letter-spacing: var(--uucg-ls);  border: none !important;
  padding: 0.6rem 1.4rem;
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease),
              filter var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .btn-primary,
body.uucg-modern input[type="submit"],
body.uucg-modern .comment-form input[type="submit"] {
  background: linear-gradient(135deg, var(--uucg-primary), var(--uucg-primary-deep)) !important;
  color: var(--uucg-on-primary) !important;  box-shadow: 0 6px 16px rgba(42, 34, 31, 0.16);
}

body.uucg-modern .btn:hover,
body.uucg-modern .btn-primary:hover,
body.uucg-modern input[type="submit"]:hover,
body.uucg-modern .comment-form input[type="submit"]:hover {
  transform: var(--uucg-lift-2);  filter: brightness(1.05);
  box-shadow: 0 10px 22px rgba(42, 34, 31, 0.2);
}

body.uucg-modern .btn:active {
  transform: translateY(0);
}

body.uucg-modern .form-control,
body.uucg-modern input[type="text"],
body.uucg-modern input[type="email"],
body.uucg-modern input[type="url"],
body.uucg-modern input[type="search"],
body.uucg-modern textarea,
body.uucg-modern select {
  border-radius: var(--uucg-radius-sm) !important;
  border: 1px solid rgba(42, 34, 31, 0.12) !important;
  background: rgba(255, 255, 255, 0.75) !important;
  box-shadow: none !important;
  font-size: var(--uucg-fs-1) !important;  line-height: var(--uucg-lh-base) !important;  padding: 0.55rem 0.85rem !important;
  min-height: 2.5rem;
  transition: border-color var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease),
              background var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern textarea {
  min-height: 7rem;
}

body.uucg-modern .form-control:focus,
body.uucg-modern input[type="text"]:focus,
body.uucg-modern input[type="email"]:focus,
body.uucg-modern input[type="url"]:focus,
body.uucg-modern input[type="search"]:focus,
body.uucg-modern textarea:focus,
body.uucg-modern select:focus {
  border-color: var(--uucg-primary) !important;
  box-shadow: 0 0 0 3px rgba(168, 31, 69, 0.15) !important;
  background: var(--uucg-bg-white) !important;  outline: none;
}

/* ==========================================================================
   10. Slider / hero
   ========================================================================== */
body.uucg-modern .home-featured .metaslider,
body.uucg-modern .metaslider,
body.uucg-modern .flexslider,
body.uucg-modern .nivoSlider {
  border-radius: var(--uucg-radius) !important;
  overflow: hidden;
  box-shadow: var(--uucg-shadow);
  border: 1px solid rgba(255, 255, 255, 0.55);
}

body.uucg-modern .home-featured .metaslider .nivoSlider img,
body.uucg-modern .home-featured .metaslider .flexslider .slides img {
  border-radius: var(--uucg-radius);
}

body.uucg-modern .carousel .carousel-caption h4,
body.uucg-modern .carousel .carousel-caption p {
  background: rgba(42, 34, 31, 0.45) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--uucg-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

body.uucg-modern.grey-red .carousel .carousel-caption h4,
body.uucg-modern.grey-red .carousel .carousel-caption p {
  background: rgba(111, 20, 48, 0.72) !important;
}

/* ==========================================================================
   11. Posts, lists, testimonials
   ========================================================================== */
/* Archive / list cards only — exclude full-page shells (.uucg-no-title-page) */
body.uucg-modern:not(.single) article.post:not(.uucg-no-title-page),
body.uucg-modern:not(.single) article.type-post:not(.uucg-no-title-page),
body.uucg-modern:not(.single) .hentry:not(.uucg-no-title-page),
body.uucg-modern.blog article.post:not(.uucg-no-title-page),
body.uucg-modern.archive article.post:not(.uucg-no-title-page),
body.uucg-modern.search article.post:not(.uucg-no-title-page) {
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: var(--uucg-radius);
  padding: 1.25rem 1.35rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--uucg-shadow-sm);
  transition: transform var(--uucg-duration) var(--uucg-ease),
              box-shadow var(--uucg-duration) var(--uucg-ease);
}

body.uucg-modern:not(.single) article.post:not(.uucg-no-title-page):hover,
body.uucg-modern:not(.single) .hentry:not(.uucg-no-title-page):hover,
body.uucg-modern.blog article.post:not(.uucg-no-title-page):hover,
body.uucg-modern.archive article.post:not(.uucg-no-title-page):hover {
  transform: var(--uucg-lift-2);  box-shadow: var(--uucg-shadow);
}

/* ------------------------------------------------------------------ */
/* Single blog post — modern longform reading experience               */
/* Patterns inspired by Medium / Substack / editorial magazine layouts */
/* ------------------------------------------------------------------ */
body.uucg-modern.single .uucg-single-primary,
body.uucg-modern.single .uucg-single-main {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 auto !important;
}

body.uucg-modern.single article.uucg-article,
body.uucg-modern.single article.post,
body.uucg-modern.single .uucg-article {
  background: transparent !important;
  border: var(--uucg-border-0) !important;  box-shadow: none !important;
  border-radius: var(--uucg-radius-none) !important;  padding: 0 !important;
  margin: 0 auto 2.5rem !important;
  max-width: 46rem;
  transform: none !important;
}

body.uucg-modern.single article.uucg-article:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Header / title stack */
body.uucg-modern .uucg-article__header {
  position: relative;
  display: block;
  float: none;
  clear: both;
  width: 100%;
  max-width: 40rem;
  margin: 0.5rem auto 1.75rem;
  padding: 0 0.5rem;
  text-align: center;
  box-sizing: border-box;
}

body.uucg-modern .uucg-article__cats {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
  max-width: 100%;
  margin: 0.75rem auto 1rem;
  padding: 0;
  float: none !important;
  clear: both;
  box-sizing: border-box;
}

body.uucg-modern .uucg-article__cat {
  position: static !important;
  display: inline-flex !important;
  float: none !important;
  align-items: center;
  max-width: min(100%, 18rem);
  padding: 0.3rem 0.85rem;
  border-radius: var(--uucg-radius-pill);
  background: var(--uucg-primary-soft);
  color: var(--uucg-primary-deep) !important;
  font-size: var(--uucg-fs-78);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: 0.03em;
  text-transform: var(--uucg-uppercase);  text-decoration: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              transform var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .uucg-article__cat:hover {
  background: var(--uucg-primary);
  color: var(--uucg-on-primary) !important;  transform: var(--uucg-lift-1);  text-decoration: none !important;
}

/* Keep single content shell from clipping chips */
body.uucg-modern.single .wrap > .container {
  overflow: visible;
}

body.uucg-modern.single .content.row > .col-md-12:has(#breadcrumbs),
body.uucg-modern.single p#breadcrumbs {
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  float: none;
}

body.uucg-modern .uucg-article__title,
body.uucg-modern.single .uucg-article__title.entry-title {
  font-family: var(--uucg-display);
  font-size: clamp(2rem, 4.5vw, 2.85rem) !important;
  font-weight: var(--uucg-fw-650) !important;  line-height: var(--uucg-lh-tighter) !important;  letter-spacing: -0.03em;
  margin: 0 0 0.85rem !important;
  color: var(--uucg-ink) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-align: center;
}

body.uucg-modern .uucg-article__deck {
  margin: 0 auto 1.25rem;
  max-width: 34rem;
  font-size: var(--uucg-fs-115);  line-height: var(--uucg-lh-normal);  color: var(--uucg-muted);
  font-weight: var(--uucg-fw-medium);}

body.uucg-modern .uucg-article__meta {
  display: flex;
  justify-content: center;
  margin: 0;
}

body.uucg-modern .uucg-article__meta-primary {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.55rem 0.65rem;
  color: var(--uucg-muted);
  font-size: var(--uucg-fs-92);  font-weight: var(--uucg-fw-semibold);}

body.uucg-modern .uucg-article__author {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--uucg-ink-soft) !important;
  text-decoration: none !important;
  font-weight: var(--uucg-fw-bold);}

body.uucg-modern .uucg-article__author:hover {
  color: var(--uucg-primary) !important;
}

body.uucg-modern .uucg-article__avatar {
  width: 2.15rem !important;
  height: 2.15rem !important;
  border-radius: var(--uucg-radius-circle) !important;  object-fit: cover;
  box-shadow: 0 0 0 2px #fff, 0 2px 8px rgba(42, 34, 31, 0.12);
}

body.uucg-modern .uucg-article__meta-sep {
  width: 0.28rem;
  height: 0.28rem;
  border-radius: var(--uucg-radius-circle);  background: rgba(42, 34, 31, 0.22);
  flex-shrink: 0;
}

body.uucg-modern .uucg-article__date,
body.uucg-modern .uucg-article__read {
  color: var(--uucg-muted);
  white-space: nowrap;
}

/* Hero image */
body.uucg-modern .uucg-article__hero {
  margin: 0 0 2rem;
  border-radius: var(--uucg-radius);
  overflow: hidden;
  box-shadow: var(--uucg-shadow);
  background: var(--uucg-cream-deep);
}

body.uucg-modern .uucg-article__hero-img,
body.uucg-modern .uucg-article__hero img {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(28rem, 56vw);
  object-fit: cover;
  margin: 0 !important;
  border-radius: var(--uucg-radius-none) !important;  float: none !important;
}

body.uucg-modern .uucg-article__hero-caption {
  margin: 0;
  padding: 0.65rem 1rem 0.85rem;
  font-size: var(--uucg-fs-85);  color: var(--uucg-muted);
  text-align: center;
  font-style: var(--uucg-italic);  background: var(--uucg-glass);}

/* Longform body — optimal measure + editorial type */
body.uucg-modern .uucg-article__body.entry-content {
  max-width: 40rem;
  margin: 0 auto;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--uucg-ink);
}

body.uucg-modern .uucg-article__body > *:first-child {
  margin-top: 0;
}

body.uucg-modern .uucg-article__body p {
  font-size: 1.08rem;
  line-height: 1.75;
  margin-bottom: 1.25em;
}

/* Soft drop cap on first paragraph */
body.uucg-modern.uucg-single-post .uucg-article__body > p:first-of-type::first-letter {
  float: left;
  font-family: var(--uucg-display);
  font-size: 3.4rem;
  line-height: 0.85;
  font-weight: var(--uucg-fw-650);  padding: 0.12em 0.12em 0 0;
  color: var(--uucg-primary);
}

body.uucg-modern .uucg-article__body h2,
body.uucg-modern .uucg-article__body h3,
body.uucg-modern .uucg-article__body h4 {
  font-family: var(--uucg-display);
  color: var(--uucg-ink);
  margin-top: 1.75em;
  margin-bottom: 0.65em;
  line-height: var(--uucg-lh-snug);  letter-spacing: var(--uucg-ls-tight);}

body.uucg-modern .uucg-article__body h2 {
  font-size: 1.65rem;
}

body.uucg-modern .uucg-article__body h3 {
  font-size: 1.35rem;
}

body.uucg-modern .uucg-article__body a {
  color: var(--uucg-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

body.uucg-modern .uucg-article__body a:hover {
  color: var(--uucg-primary-deep);
}

body.uucg-modern .uucg-article__body blockquote {
  margin: 1.75rem 0;
  padding: 0.25rem 0 0.25rem 1.25rem;
  border-left: 3px solid var(--uucg-primary);
  color: var(--uucg-ink-soft);
  font-family: var(--uucg-display);
  font-size: 1.2rem;
  font-style: var(--uucg-italic);  line-height: var(--uucg-lh-base);  background: transparent;
}

body.uucg-modern .uucg-article__body blockquote p {
  font-size: inherit;
  margin-bottom: 0.5em;
}

body.uucg-modern .uucg-article__body ul,
body.uucg-modern .uucg-article__body ol {
  margin: 0 0 1.35em;
  padding-left: 1.35em;
}

body.uucg-modern .uucg-article__body li {
  margin-bottom: 0.45em;
  line-height: var(--uucg-lh-loose);}

body.uucg-modern .uucg-article__body figure {
  margin: 1.75rem 0;
}

body.uucg-modern .uucg-article__body img,
body.uucg-modern .uucg-article__body .wp-caption {
  border-radius: var(--uucg-radius-sm);
  max-width: 100%;
  height: auto;
}

body.uucg-modern .uucg-article__body .wp-caption-text,
body.uucg-modern .uucg-article__body figcaption {
  font-size: var(--uucg-fs-88);  color: var(--uucg-muted);
  text-align: center;
  margin-top: 0.5rem;
  font-style: var(--uucg-italic);}

body.uucg-modern .uucg-article__body pre,
body.uucg-modern .uucg-article__body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.9em;
}

body.uucg-modern .uucg-article__body pre {
  background: rgba(42, 34, 31, 0.05);
  border: var(--uucg-rule);  border-radius: var(--uucg-radius-sm);
  padding: 1rem 1.15rem;
  overflow-x: auto;
}

body.uucg-modern .uucg-article__body hr {
  margin: 2.25rem auto;
  width: min(14rem, 48%);
  height: 3px;
  border: var(--uucg-border-0);  border-radius: var(--uucg-radius-pill);  /* Same layered shine as homepage mission lines */
  background-color: transparent;
  background-image:
    var(--uucg-rainbow-shine),
    var(--uucg-rainbow);
  background-size:
    45% 100%,
    100% 100%;
  background-repeat: no-repeat;
  background-position: -50% 0, 0 0;
  animation: uucg-rainbow-shine var(--uucg-rainbow-shine-duration) linear infinite;
  box-shadow:
    0 0 8px rgba(255, 213, 74, 0.4),
    0 0 14px rgba(255, 92, 122, 0.22),
    0 0 20px rgba(139, 92, 246, 0.14);
}

/* Tags */
body.uucg-modern .uucg-article__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  margin: 2.25rem auto 0;
  max-width: 40rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(42, 34, 31, 0.08);
}

body.uucg-modern .uucg-article__tags-label {
  font-size: var(--uucg-fs-78);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-wider);  text-transform: var(--uucg-uppercase);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

body.uucg-modern .uucg-article__tag {
  display: inline-flex;
  padding: 0.3rem 0.7rem;
  border-radius: var(--uucg-radius-pill);
  background: rgba(255, 255, 255, 0.7);
  border: var(--uucg-rule);  color: var(--uucg-ink-soft) !important;
  font-size: var(--uucg-fs-85);  font-weight: var(--uucg-fw-650);  text-decoration: none !important;
  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease),
              border-color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .uucg-article__tag:hover {
  background: var(--uucg-primary-soft);
  color: var(--uucg-primary) !important;
  border-color: transparent;
}

/* Author card */
body.uucg-modern .uucg-article__byline-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem 1.15rem;
  align-items: start;
  margin: 2.25rem auto 0;
  max-width: 40rem;
  padding: 1.25rem 1.35rem;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: var(--uucg-radius);
  box-shadow: var(--uucg-shadow-sm);
}

body.uucg-modern .uucg-article__byline-avatar {
  width: 4rem !important;
  height: 4rem !important;
  border-radius: var(--uucg-radius-circle) !important;  object-fit: cover;
  box-shadow: 0 0 0 3px #fff, 0 6px 16px rgba(42, 34, 31, 0.12);
}

body.uucg-modern .uucg-article__byline-kicker {
  margin: 0 0 0.15rem;
  font-size: var(--uucg-fs-72);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-wider);  text-transform: var(--uucg-uppercase);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-article__byline-name {
  margin: 0 0 0.4rem;
  font-family: var(--uucg-display);
  font-size: 1.2rem;
  font-weight: var(--uucg-fw-650);  line-height: var(--uucg-lh-snug);}

body.uucg-modern .uucg-article__byline-name a {
  color: var(--uucg-ink) !important;
  text-decoration: none !important;
}

body.uucg-modern .uucg-article__byline-name a:hover {
  color: var(--uucg-primary) !important;
}

body.uucg-modern .uucg-article__byline-bio {
  margin: 0;
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-normal);  color: var(--uucg-muted);
}

/* Prev / next */
body.uucg-modern .uucg-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
  margin: 0 auto 2.5rem;
  max-width: 46rem;
}

body.uucg-modern .uucg-post-nav__card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.1rem 1.2rem;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: var(--uucg-radius);
  box-shadow: var(--uucg-shadow-sm);
  text-decoration: none !important;
  color: var(--uucg-ink) !important;
  min-height: 5.5rem;
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease),
              border-color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .uucg-post-nav__card:hover {
  transform: var(--uucg-lift-2);  box-shadow: var(--uucg-shadow);
  border-color: rgba(168, 31, 69, 0.15);
  color: var(--uucg-ink) !important;
  text-decoration: none !important;
}

body.uucg-modern .uucg-post-nav__card--next {
  text-align: right;
  align-items: flex-end;
}

body.uucg-modern .uucg-post-nav__card--empty {
  visibility: hidden;
  pointer-events: none;
  box-shadow: none;
  background: transparent;
  border-color: transparent;
}

body.uucg-modern .uucg-post-nav__dir {
  font-size: var(--uucg-fs-72);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-wider);  text-transform: var(--uucg-uppercase);  color: var(--uucg-primary);
}

body.uucg-modern .uucg-post-nav__title {
  font-family: var(--uucg-display);
  font-size: var(--uucg-fs-105);  font-weight: var(--uucg-fw-650);  line-height: 1.3;
  color: var(--uucg-ink);
}

/* Comments — soft card */
body.uucg-modern.single #comments.comments,
body.uucg-modern.single section.comments {
  max-width: 40rem;
  margin: 0 auto 1.5rem;
  padding: 1.5rem 1.4rem 1.65rem;
  background: var(--uucg-glass);  border: var(--uucg-rule-soft);  border-radius: var(--uucg-radius);
  box-shadow: var(--uucg-shadow-sm);
}

body.uucg-modern.single .comments-title,
body.uucg-modern.single .comment-reply-title {
  font-family: var(--uucg-display);
  font-size: 1.35rem !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  color: var(--uucg-ink) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

body.uucg-modern.single .comment-list {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
}

body.uucg-modern.single .comment-list .comment {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(42, 34, 31, 0.07);
}

body.uucg-modern.single .comment-list .comment:last-child {
  border-bottom: 0;
}

body.uucg-modern.single .comment-author img {
  border-radius: var(--uucg-radius-circle);}

body.uucg-modern.single .comment-form label {
  font-weight: var(--uucg-fw-650);  color: var(--uucg-ink-soft);
  margin-bottom: 0.35rem;
}

/* Paginated multipage posts */
body.uucg-modern .uucg-article__pages {
  max-width: 40rem;
  margin: 1.5rem auto;
  text-align: center;
  font-weight: var(--uucg-fw-650);}

/* ==========================================================================
   11b. Blog index / archive — magazine feed
   ========================================================================== */
body.uucg-modern.blog .uucg-blog-primary,
body.uucg-modern.archive .uucg-blog-primary,
body.uucg-modern.blog .uucg-blog-main,
body.uucg-modern.archive .uucg-blog-main,
body.uucg-modern.home .uucg-blog-main {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 auto !important;
}

body.uucg-modern .uucg-blog-header {
  text-align: center;
  max-width: 36rem;
  margin: 0 auto 2rem;
  padding: 0 0.5rem;
}

body.uucg-modern .uucg-blog-header__kicker {
  margin: 0 0 0.4rem;
  font-size: var(--uucg-fs-78);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-widest);  text-transform: var(--uucg-uppercase);  color: var(--uucg-primary);
}

body.uucg-modern .uucg-blog-header__title,
body.uucg-modern.blog .uucg-blog-header__title,
body.uucg-modern.archive .uucg-blog-header__title {
  font-family: var(--uucg-display);
  font-size: clamp(2rem, 4.2vw, 2.65rem) !important;
  font-weight: var(--uucg-fw-650) !important;  line-height: var(--uucg-lh-tighter) !important;  letter-spacing: -0.03em;
  margin: 0 0 0.65rem !important;
  color: var(--uucg-ink) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

body.uucg-modern .uucg-blog-header__subtitle {
  margin: 0 auto;
  max-width: 30rem;
  font-size: var(--uucg-fs-105);  line-height: var(--uucg-lh-normal);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-blog-header__rule {
  width: min(10rem, 40%);
  height: 3px;
  margin: 1.15rem auto 0;
  border-radius: var(--uucg-radius-pill);  background: var(--uucg-rainbow);
  background-size: 200% 100%;
}

body.uucg-modern .uucg-blog-feed {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto 2rem;
  max-width: 68rem;
}

/* Featured hero */
body.uucg-modern .uucg-featured {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 0;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--uucg-radius-lg);
  box-shadow: var(--uucg-shadow);
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

body.uucg-modern .uucg-featured:hover {
  transform: none !important;
  box-shadow: var(--uucg-shadow-lg);
}

body.uucg-modern .uucg-featured__media {
  display: block;
  position: relative;
  min-height: 16rem;
  background: var(--uucg-cream-deep);
  overflow: hidden;
}

body.uucg-modern .uucg-featured__img,
body.uucg-modern .uucg-featured__media img {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border-radius: var(--uucg-radius-none) !important;  float: none !important;
  transition: transform 0.55s var(--uucg-ease);
}

body.uucg-modern .uucg-featured:hover .uucg-featured__img,
body.uucg-modern .uucg-featured:hover .uucg-featured__media img {
  transform: scale(1.04);
}

body.uucg-modern .uucg-featured__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(230, 169, 58, 0.35), transparent 55%),
    linear-gradient(145deg, var(--uucg-primary-soft), var(--uucg-cream-deep));
}

body.uucg-modern .uucg-featured__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.55rem;
  padding: 1.75rem 1.65rem 1.85rem;
}

body.uucg-modern .uucg-featured__kicker {
  margin: 0;
  font-size: var(--uucg-fs-72);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-widest);  text-transform: var(--uucg-uppercase);  color: var(--uucg-accent);
}

body.uucg-modern .uucg-featured__cat,
body.uucg-modern .uucg-card__cat {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.25rem 0.65rem;
  border-radius: var(--uucg-radius-pill);
  background: var(--uucg-primary-soft);
  color: var(--uucg-primary-deep) !important;
  font-size: var(--uucg-fs-72);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-wide);  text-transform: var(--uucg-uppercase);  text-decoration: none !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.uucg-modern .uucg-featured__cat:hover,
body.uucg-modern .uucg-card__cat:hover {
  background: var(--uucg-primary);
  color: var(--uucg-on-primary) !important;  text-decoration: none !important;
}

body.uucg-modern .uucg-featured__title {
  margin: 0.15rem 0 0;
  font-family: var(--uucg-display);
  font-size: clamp(1.55rem, 2.8vw, 2rem);
  font-weight: var(--uucg-fw-650);  line-height: var(--uucg-lh-tight);  letter-spacing: var(--uucg-ls-tight);}

body.uucg-modern .uucg-featured__title a {
  color: var(--uucg-ink) !important;
  text-decoration: none !important;
}

body.uucg-modern .uucg-featured__title a:hover {
  color: var(--uucg-primary) !important;
}

body.uucg-modern .uucg-featured__excerpt {
  margin: 0.15rem 0 0;
  font-size: var(--uucg-fs-102);  line-height: var(--uucg-lh-normal);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-featured__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-top: 0.35rem;
  font-size: var(--uucg-fs-88);  font-weight: var(--uucg-fw-semibold);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-featured__author {
  color: var(--uucg-ink-soft);
  font-weight: var(--uucg-fw-bold);}

body.uucg-modern .uucg-featured__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  align-self: flex-start;
  margin-top: 0.65rem;
  padding: 0.55rem 1.1rem;
  border-radius: var(--uucg-radius-pill);
  background: linear-gradient(135deg, var(--uucg-primary), var(--uucg-primary-deep));
  color: var(--uucg-on-primary) !important;  font-size: var(--uucg-fs-92);  font-weight: var(--uucg-fw-bold);  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(42, 34, 31, 0.14);
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              box-shadow var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .uucg-featured__cta:hover {
  transform: var(--uucg-lift-2);  box-shadow: 0 10px 22px rgba(42, 34, 31, 0.18);
  color: var(--uucg-on-primary) !important;  text-decoration: none !important;
}

/* Card grid */
body.uucg-modern .uucg-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

body.uucg-modern .uucg-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: var(--uucg-radius) !important;
  box-shadow: var(--uucg-shadow-sm) !important;
  overflow: hidden;
  transition: transform var(--uucg-duration) var(--uucg-ease),
              box-shadow var(--uucg-duration) var(--uucg-ease) !important;
}

body.uucg-modern .uucg-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--uucg-shadow) !important;
}

body.uucg-modern .uucg-card__media {
  display: block;
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--uucg-cream-deep);
  overflow: hidden;
}

body.uucg-modern .uucg-card__img,
body.uucg-modern .uucg-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border-radius: var(--uucg-radius-none) !important;  float: none !important;
  transition: transform 0.5s var(--uucg-ease);
}

body.uucg-modern .uucg-card:hover .uucg-card__img,
body.uucg-modern .uucg-card:hover .uucg-card__media img {
  transform: scale(1.05);
}

body.uucg-modern .uucg-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 10rem;
  background:
    radial-gradient(ellipse at 70% 30%, rgba(168, 31, 69, 0.12), transparent 50%),
    linear-gradient(145deg, var(--uucg-primary-soft), var(--uucg-cream-deep));
}

body.uucg-modern .uucg-card__placeholder-mark {
  font-family: var(--uucg-display);
  font-size: 1.5rem;
  font-weight: var(--uucg-fw-bold);  color: var(--uucg-primary);
  opacity: 0.55;
  letter-spacing: var(--uucg-ls-wider);}

body.uucg-modern .uucg-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex: 1 1 auto;
  padding: 1.05rem 1.1rem 1.2rem;
}

body.uucg-modern .uucg-card__title {
  margin: 0;
  font-family: var(--uucg-display);
  font-size: 1.2rem;
  font-weight: var(--uucg-fw-650);  line-height: var(--uucg-lh-snug);  letter-spacing: -0.015em;
}

body.uucg-modern .uucg-card__title a {
  color: var(--uucg-ink) !important;
  text-decoration: none !important;
}

body.uucg-modern .uucg-card__title a:hover {
  color: var(--uucg-primary) !important;
}

body.uucg-modern .uucg-card__excerpt {
  margin: 0;
  flex: 1 1 auto;
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-base);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
  margin-top: 0.35rem;
  font-size: 0.82rem;
  font-weight: var(--uucg-fw-650);  color: var(--uucg-muted);
}

body.uucg-modern .uucg-card__dot {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: var(--uucg-radius-circle);  background: rgba(42, 34, 31, 0.25);
  flex-shrink: 0;
}

/* Pager */
body.uucg-modern .uucg-blog-pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  max-width: 68rem;
  margin: 0 auto 1rem;
  padding-top: 0.5rem;
}

body.uucg-modern .uucg-blog-pager a {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.15rem;
  border-radius: var(--uucg-radius-pill);
  background: rgba(255, 255, 255, 0.7);
  border: var(--uucg-rule);  color: var(--uucg-primary) !important;
  font-weight: var(--uucg-fw-bold);  text-decoration: none !important;
  box-shadow: var(--uucg-shadow-sm);
  transition: transform var(--uucg-duration-fast) var(--uucg-ease),
              background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .uucg-blog-pager a:hover {
  background: var(--uucg-primary);
  color: var(--uucg-on-primary) !important;  transform: var(--uucg-lift-1);  text-decoration: none !important;
}

body.uucg-modern .uucg-blog-empty {
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--uucg-muted);
}

@media only screen and (max-width: 991px) {
  body.uucg-modern .uucg-featured {
    grid-template-columns: 1fr;
  }

  body.uucg-modern .uucg-featured__media,
  body.uucg-modern .uucg-featured__img,
  body.uucg-modern .uucg-featured__media img,
  body.uucg-modern .uucg-featured__placeholder {
    min-height: 14rem;
    max-height: 18rem;
  }

  body.uucg-modern .uucg-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 640px) {
  body.uucg-modern .uucg-blog-grid {
    grid-template-columns: 1fr;
  }

  body.uucg-modern .uucg-featured__body {
    padding: 1.25rem 1.15rem 1.4rem;
  }
}

body.uucg-modern .entrymeta {
  color: var(--uucg-muted);
  font-family: var(--uucg-font);
}

body.uucg-modern .page .main ul.lcp_catlist a {
  padding: 0.55rem 0.8rem;
  font-size: var(--uucg-fs-1) !important;  border-radius: var(--uucg-radius-sm);
  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              transform var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .page .main ul.lcp_catlist a:hover {
  background: var(--uucg-primary-soft);
  transform: translateX(3px);
}

body.uucg-modern .testimonial-featured-image img,
body.uucg-modern .widget_woothemes_testimonials img.avatar {
  border: 3px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 16px rgba(42, 34, 31, 0.12);
}

body.uucg-modern .widget_woothemes_testimonials .quote,
body.uucg-modern .testimonial-entry-content {
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--uucg-radius);
  padding: 1rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.65);
  box-shadow: var(--uucg-shadow-sm);
  position: relative;
}

body.uucg-modern .uu-service-list article.featured {
  border-bottom: none;
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--uucg-radius-sm);
  padding: 1rem 1.1rem;
  border: var(--uucg-rule-soft);  box-shadow: var(--uucg-shadow-sm);
}

body.uucg-modern .uu-service-list article.service-archive-list:nth-child(even) {
  background: rgba(250, 246, 241, 0.7) !important;
  border-radius: var(--uucg-radius-xs);
}

/* ==========================================================================
   12. Search & location drawers
   ========================================================================== */
body.uucg-modern .slide-search {
  background: linear-gradient(135deg, #ffe8a3, #ffd56a) !important;
  color: var(--uucg-ink) !important;
}

body.uucg-modern .sitesearch .input-group .search-field {
  border-bottom: 2px solid var(--uucg-primary) !important;
  color: var(--uucg-primary) !important;
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-medium);}

body.uucg-modern .sitesearch .input-group-btn > .btn,
body.uucg-modern .sitesearch .input-group-btn input[type="submit"] {
  background: var(--uucg-primary) !important;
  border-color: var(--uucg-primary) !important;
  border-radius: var(--uucg-radius-pill) !important;
}

body.uucg-modern .slide-location {
  background: linear-gradient(135deg, var(--uucg-primary-deep), var(--uucg-primary)) !important;
  color: var(--uucg-on-primary) !important;}

body.uucg-modern .slide-location a {
  color: var(--uucg-gold) !important;
  font-weight: var(--uucg-fw-bold);}

body.uucg-modern .slide-location a:hover {
  color: var(--uucg-on-primary) !important;}

/* ==========================================================================
   13. Footer — deep glass
   ========================================================================== */
body.uucg-modern .content-info {
  position: relative;
  background:
    radial-gradient(ellipse 70% 60% at 15% 0%, rgba(230, 169, 58, 0.14), transparent 55%),
    radial-gradient(ellipse 50% 50% at 90% 80%, rgba(168, 31, 69, 0.18), transparent 50%),
    linear-gradient(165deg, #2a1f28 0%, #1a1418 55%, #12101a 100%) !important;
  color: rgba(255, 248, 242, 0.85) !important;
  padding-bottom: 1rem;
  margin-top: 0;
  overflow: hidden;
}

/* Footer contact strip */
body.uucg-modern .uucg-footer-contact {
  margin: 1.75rem 0;
  padding: 1.75rem 1.5rem 1.65rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--uucg-radius);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

body.uucg-modern .uucg-footer-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

body.uucg-modern .uucg-footer-contact__kicker {
  margin: 0 0 0.35rem;
  font-size: var(--uucg-fs-72);  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-widest);  text-transform: var(--uucg-uppercase);  color: var(--uucg-gold);
}

body.uucg-modern .uucg-footer-contact__heading {
  margin: 0 0 0.5rem;
  font-family: var(--uucg-display);
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  font-weight: var(--uucg-fw-650);  line-height: var(--uucg-lh-tight);  color: var(--uucg-on-primary) !important;  letter-spacing: var(--uucg-ls-tight);}

body.uucg-modern .uucg-footer-contact__blurb {
  margin: 0;
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-base);  color: rgba(255, 248, 242, 0.72);
  max-width: 22rem;
}

body.uucg-modern .uucg-footer-contact__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}

body.uucg-modern .uucg-footer-contact__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: start;
  margin: 0;
}

body.uucg-modern .uucg-footer-contact__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--uucg-radius-circle);  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--uucg-gold);
  flex-shrink: 0;
}

body.uucg-modern .uucg-footer-contact__label {
  display: block;
  font-size: 0.7rem;
  font-weight: var(--uucg-fw-extrabold);  letter-spacing: var(--uucg-ls-wider);  text-transform: var(--uucg-uppercase);  color: rgba(255, 248, 242, 0.55);
  margin-bottom: 0.2rem;
}

body.uucg-modern .uucg-footer-contact__value {
  display: block;
  font-size: var(--uucg-fs-98);  font-weight: var(--uucg-fw-semibold);  line-height: 1.4;
  color: rgba(255, 248, 242, 0.95) !important;
  text-decoration: none !important;
}

a.uucg-footer-contact__value:hover {
  color: var(--uucg-gold) !important;
  text-decoration: none !important;
}

@media only screen and (max-width: 820px) {
  body.uucg-modern .uucg-footer-contact__grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  body.uucg-modern .uucg-footer-contact__list {
    grid-template-columns: 1fr;
  }
}

@media only screen and (min-width: 821px) and (max-width: 991px) {
  body.uucg-modern .uucg-footer-contact__list {
    grid-template-columns: 1fr 1fr;
  }
}

body.uucg-modern.grey-red .content-info {
  background:
    radial-gradient(ellipse 70% 60% at 15% 0%, rgba(230, 169, 58, 0.14), transparent 55%),
    radial-gradient(ellipse 50% 50% at 90% 80%, rgba(168, 31, 69, 0.2), transparent 50%),
    linear-gradient(165deg, #2c1a20 0%, #1a1215 55%, #120e10 100%) !important;
}

body.uucg-modern.aqua-green .content-info {
  background:
    radial-gradient(ellipse 70% 60% at 15% 0%, rgba(160, 195, 59, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 50% at 90% 80%, rgba(10, 107, 124, 0.2), transparent 50%),
    linear-gradient(165deg, #0d2a30 0%, #071c20 55%, #061418 100%) !important;
}

/* Footer color stripe — same rainbow + light streak as mission lines */
body.uucg-modern .content-info .spacer {
  background: transparent !important;
  height: 2rem !important;
  padding: 0 !important;
  position: relative !important;
  overflow: visible;
}

body.uucg-modern .content-info .spacer::after,
body.uucg-modern .content-info .spacer:after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 6px !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: var(--uucg-radius-pill);
  /* Match homepage mission lines: rainbow base + moving light streak */
  background-color: transparent !important;
  background-image:
    var(--uucg-rainbow-shine),
    var(--uucg-rainbow) !important;
  background-size:
    45% 100%,
    100% 100% !important;
  background-repeat: no-repeat !important;
  /* No !important on position — keyframes must animate the streak */
  background-position: -50% 0, 0 0;
  animation: uucg-rainbow-shine var(--uucg-rainbow-shine-duration) linear infinite;
  animation-delay: 0s;
  box-shadow:
    0 0 10px rgba(255, 213, 74, 0.5),
    0 0 18px rgba(255, 92, 122, 0.32),
    0 0 26px rgba(139, 92, 246, 0.22);
  pointer-events: none;
  z-index: 2;
}

body.uucg-modern .content-info h4,
body.uucg-modern .content-info .widget-title {
  color: var(--uucg-on-primary) !important;  font-family: var(--uucg-display);
  font-size: var(--uucg-fs-115) !important;  font-weight: var(--uucg-fw-semibold);  letter-spacing: var(--uucg-ls-snug);}

body.uucg-modern .content-info,
body.uucg-modern .content-info p,
body.uucg-modern .content-info li,
body.uucg-modern .footer-widgets {
  font-size: var(--uucg-fs-98);  line-height: var(--uucg-lh-normal);}

body.uucg-modern .content-info h4::after,
body.uucg-modern .content-info .widget-title::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: 0.45rem;
  border-radius: var(--uucg-radius-pill);
  background: linear-gradient(90deg, var(--uucg-gold), transparent);
}

body.uucg-modern .content-info a {
  color: var(--uucg-gold) !important;
  font-weight: var(--uucg-fw-semibold);  transition: color var(--uucg-duration-fast) var(--uucg-ease),
              opacity var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .content-info a:hover {
  color: var(--uucg-on-primary) !important;}

/* Footer bottom bar: copyright + socials centered as one unit */
body.uucg-modern .content-info .footer-details {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  text-transform: none !important;
  letter-spacing: var(--uucg-ls) !important;  text-align: center !important;
  padding: 1.25rem 0.5rem 1.75rem !important;
  clear: both;
}

body.uucg-modern .content-info .footer-details > .col-md-4,
body.uucg-modern .content-info .footer-details > .col-md-8,
body.uucg-modern .content-info .footer-details > .footer-navigation {
  float: none !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.uucg-modern .content-info .footer-details .copyright {
  margin: 0 !important;
  text-align: center !important;
}

body.uucg-modern .content-info .footer-details a {
  color: rgba(255, 248, 242, 0.75) !important;
  font-weight: var(--uucg-fw-medium) !important;  border-radius: var(--uucg-radius-pill);
  padding: 0.25rem 0.55rem;
  display: inline-flex !important;
  transition: background var(--uucg-duration-fast) var(--uucg-ease),
              color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .content-info .footer-details a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--uucg-on-primary) !important;}

body.uucg-modern .content-info .footer-details .social-media-links {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  float: none !important;
  margin: 0 !important;
}

body.uucg-modern .content-info .footer-details .social-media-links a {
  width: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0 !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 248, 242, 0.9) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

body.uucg-modern .content-info .footer-details .social-media-links a svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
  margin: 0;
}

body.uucg-modern .content-info .footer-details .social-media-links a:hover {
  background: var(--uucg-gold);
  color: var(--uucg-ink) !important;
  border-color: transparent;
}

body.uucg-modern .affiliation-logos img {
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.25));
  transition: transform var(--uucg-duration) var(--uucg-ease),
              filter var(--uucg-duration) var(--uucg-ease);
  border-radius: var(--uucg-radius-2xs);}

body.uucg-modern .affiliation-logos a:hover img {
  transform: translateY(-3px) scale(1.03);
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.3)) brightness(1.05);
}

/* Footer widgets as soft glass panels */
body.uucg-modern .footer-widgets .widget {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--uucg-radius);
  padding: 1rem 1.1rem 1.15rem;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background var(--uucg-duration) var(--uucg-ease),
              transform var(--uucg-duration) var(--uucg-ease);
}

body.uucg-modern .footer-widgets .widget:hover {
  background: rgba(255, 255, 255, 0.07);
  transform: var(--uucg-lift-2);}

/* Affiliation / UUA logo: centered, glass hug logo only */
body.uucg-modern .footer-widgets {
  text-align: center;
}

body.uucg-modern .footer-widgets .affiliation-logos.widget,
body.uucg-modern .affiliation-logos.widget {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: min(280px, 100%);
  float: none !important;
  margin: 1rem auto !important;
  padding: 1rem 1.15rem !important;
  text-align: center;
}

body.uucg-modern .affiliation-logos a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}

body.uucg-modern .affiliation-logos img,
body.uucg-modern .affiliation-logos .uua-flag {
  width: auto !important;
  max-width: 220px !important;
  height: auto !important;
  display: block;
  margin: 0 auto !important;
}

/* ==========================================================================
   14. Reveal animations (driven by JS class .is-visible)
   ========================================================================== */
body.uucg-modern .uucg-reveal {
  opacity: var(--uucg-opacity-0);  transform: translateY(18px) scale(0.985);
  transition:
    opacity 0.7s var(--uucg-ease),
    transform 0.7s var(--uucg-ease);
  transition-delay: var(--uucg-delay, 0ms);
  will-change: opacity, transform;
}

body.uucg-modern .uucg-reveal.is-visible {
  opacity: var(--uucg-opacity-1);  transform: translateY(0) scale(1);
}

/* Stagger helpers */
body.uucg-modern .uucg-reveal:nth-child(2) { --uucg-delay: 60ms; }
body.uucg-modern .uucg-reveal:nth-child(3) { --uucg-delay: 120ms; }
body.uucg-modern .uucg-reveal:nth-child(4) { --uucg-delay: 180ms; }
body.uucg-modern .uucg-reveal:nth-child(5) { --uucg-delay: 240ms; }
body.uucg-modern .uucg-reveal:nth-child(6) { --uucg-delay: 300ms; }

/* Soft page load for content shell */
@keyframes uucg-shell-in {
  from {
    opacity: var(--uucg-opacity-0);    transform: translateY(12px);
  }
  to {
    opacity: var(--uucg-opacity-1);    transform: translateY(0);
  }
}

body.uucg-modern .wrap > .container {
  animation: uucg-shell-in 0.65s var(--uucg-ease) both;
}

/* ==========================================================================
   15. Tables, images, misc polish
   ========================================================================== */
body.uucg-modern table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: var(--uucg-radius-sm);
  box-shadow: var(--uucg-shadow-sm);
}

body.uucg-modern table th {
  background: var(--uucg-primary-soft);
  color: var(--uucg-primary-deep);
  font-weight: var(--uucg-fw-bold);}

body.uucg-modern img.round,
body.uucg-modern .alignnone,
body.uucg-modern .aligncenter,
body.uucg-modern .wp-block-image img {
  border-radius: var(--uucg-radius-sm);
}

body.uucg-modern .content img {
  border-radius: var(--uucg-radius-sm);
  margin-bottom: 1em;
}

body.uucg-modern blockquote {
  border-left: 4px solid var(--uucg-gold);
  background: rgba(255, 255, 255, 0.5);
  border-radius: 0 var(--uucg-radius-sm) var(--uucg-radius-sm) 0;
  padding: 0.85rem 1.15rem;
  color: var(--uucg-ink-soft);
  font-family: var(--uucg-display);
  font-style: var(--uucg-italic);}

body.uucg-modern hr {
  border: var(--uucg-border-0);  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(42, 34, 31, 0.15), transparent);
  margin: 2rem 0;
}

/* Selection */
body.uucg-modern ::selection {
  background: rgba(168, 31, 69, 0.18);
  color: var(--uucg-ink);
}

/* Focus visibility */
body.uucg-modern a:focus-visible,
body.uucg-modern button:focus-visible,
body.uucg-modern .btn:focus-visible,
body.uucg-modern input:focus-visible,
body.uucg-modern textarea:focus-visible {
  outline: 2px solid var(--uucg-primary);
  outline-offset: 3px;
}

/* ==========================================================================
   16. Responsive
   ========================================================================== */
@media only screen and (min-width: 992px) {
  body.uucg-modern .navbar-brand img {
    height: 82px !important;
  }

  body.uucg-modern .navbar-brand .site-title h1 {
    font-size: 1.5rem !important;
  }

  body.uucg-modern .navbar-brand .site-description {
    font-size: var(--uucg-fs-92) !important;  }

  body.uucg-modern .header-text-field {
    font-size: var(--uucg-fs-95) !important;    padding: 0.6rem 1.15rem !important;
  }

  body.uucg-modern .uucg-header-cta {
    min-width: 11.5rem;
  }

  body.uucg-modern header.banner.navbar {
    top: 0.75rem;
    margin: 1rem auto 0.5rem !important;
    max-width: var(--uucg-content-max);
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    height: auto !important;
    min-height: 0;
    overflow: visible;
  }

  body.uucg-modern .uucg-social-desktop {
    display: block !important;
  }

  body.uucg-modern header.banner.uucg-desktop-nav {
    display: block !important;
    height: auto !important;
  }

  body.uucg-modern header.banner.uucg-desktop-nav > .container {
    border-radius: var(--uucg-radius-pill) !important;    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    overflow: visible;
    background: linear-gradient(135deg, var(--uucg-primary) 0%, var(--uucg-primary-deep) 100%) !important;
    box-shadow: var(--uucg-shadow-glow), 0 10px 28px rgba(42, 34, 31, 0.14) !important;
  }

  body.uucg-modern header.banner.uucg-desktop-nav .navbar-collapse {
    display: block !important;
    height: auto !important;
    border-radius: var(--uucg-radius-none) !important;    background: transparent !important;
    overflow: visible !important;
    padding: 0.2rem 0.25rem !important;
  }

  body.uucg-modern .navbar-default .navbar-nav > li > a {
    font-size: var(--uucg-fs-95) !important;    padding: 0.65rem 0.9rem !important;
  }

  body.uucg-modern .navbar-nav {
    flex-wrap: nowrap;
    justify-content: center;
  }

  body.uucg-modern {
    --uucg-shell-pad-x: 2.75rem;
    --uucg-main-pad-x: 1.25rem;
  }

  body.uucg-modern .wrap > .container {
    padding-left: var(--uucg-shell-pad-x) !important;
    padding-right: var(--uucg-shell-pad-x) !important;
  }

  body.uucg-modern .main,
  body.uucg-modern #main,
  body.uucg-modern #primary {
    padding-left: var(--uucg-main-pad-x) !important;
    padding-right: var(--uucg-main-pad-x) !important;
  }

  /* Home: main padding stays 0 so hero can bleed; siblings use shell pad */
  body.uucg-modern.home #main,
  body.uucg-modern.home .site-main,
  body.uucg-modern.home #primary {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.uucg-modern .thumbnail p.box-link,
  body.uucg-modern .wp-caption p.box-link {
    color: var(--uucg-primary) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border: var(--uucg-rule) !important;    box-shadow: 0 4px 14px rgba(42, 34, 31, 0.1);
  }

  body.uucg-modern .thumbnail:hover p.box-link,
  body.uucg-modern .wp-caption:hover p.box-link {
    color: var(--uucg-on-primary) !important;    background: linear-gradient(135deg, var(--uucg-primary), var(--uucg-primary-deep)) !important;
    border-color: transparent !important;
  }

  body.uucg-modern.grey-red .thumbnail p.box-link,
  body.uucg-modern.grey-red .wp-caption p.box-link {
    color: var(--uucg-primary) !important;
    background: rgba(255, 255, 255, 0.95) !important;
  }

  body.uucg-modern.grey-red .thumbnail:hover p.box-link,
  body.uucg-modern.grey-red .wp-caption:hover p.box-link {
    color: var(--uucg-on-primary) !important;    background: linear-gradient(135deg, var(--uucg-primary), var(--uucg-primary-deep)) !important;
  }

  body.uucg-modern.aqua-green .thumbnail p.box-link,
  body.uucg-modern.aqua-green .wp-caption p.box-link {
    color: var(--uucg-primary) !important;
    background: rgba(255, 255, 255, 0.95) !important;
  }

  body.uucg-modern.aqua-green .thumbnail:hover p.box-link,
  body.uucg-modern.aqua-green .wp-caption:hover p.box-link {
    color: var(--uucg-on-primary) !important;    background: linear-gradient(135deg, var(--uucg-primary), var(--uucg-primary-deep)) !important;
  }
}

/* Tablet + small desktop: keep ONE horizontal header row (not stacked) */
@media only screen and (max-width: 991px) {
  body.uucg-modern {
    --uucg-shell-pad-x: 1.35rem;
    --uucg-main-pad-x: 0.85rem;
  }

  body.uucg-modern .wrap > .container {
    border-radius: var(--uucg-radius);
    margin-left: 1rem;
    margin-right: 1rem;
    width: auto;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    padding-left: var(--uucg-shell-pad-x) !important;
    padding-right: var(--uucg-shell-pad-x) !important;
  }

  body.uucg-modern.home .wrap > .container {
    padding-top: 0 !important;
  }

  body.uucg-modern .masthead-header .container {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1.05rem 1.35rem !important;
  }

  body.uucg-modern .masthead-header .logo-area {
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    text-align: left !important;
  }

  body.uucg-modern .masthead-header .header-right {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end !important;
    gap: 0.55rem !important;
    text-align: right !important;
    padding: 0 !important;
  }

  body.uucg-modern .navbar-brand {
    width: auto;
    max-width: 100%;
    gap: 0.85rem;
    padding: 0.25rem 0 !important;
  }

  body.uucg-modern .navbar-brand img {
    height: 72px !important;
    flex-shrink: 0;
  }

  body.uucg-modern .navbar-brand .site-title {
    text-align: left;
    min-width: 0;
  }

  body.uucg-modern .navbar-brand .site-title h1 {
    font-size: clamp(1.15rem, 2.8vw, 1.45rem) !important;
    line-height: var(--uucg-lh-tight) !important;    white-space: normal !important;
  }

  body.uucg-modern .navbar-brand .site-description {
    font-size: var(--uucg-fs-92) !important;  }

  body.uucg-modern .header-text-field {
    font-size: var(--uucg-fs-98) !important;    padding: 0.6rem 1rem !important;
    white-space: nowrap !important;
  }

  body.uucg-modern .header-right .social-media-links a {
    width: 2.25rem;
    height: 2.25rem;
  }

  /* ---- Mobile chrome: hamburger in header, hide desktop nav bar ---- */
  body.uucg-modern .uucg-social-desktop {
    display: none !important;
  }

  body.uucg-modern header.banner.uucg-desktop-nav {
    display: none !important;
  }

  /* Stack logo row, then Services + menu in 1fr / auto grid */
  body.uucg-modern .masthead-header .container {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 1rem !important;
    padding: 1.2rem 1.25rem 1.25rem !important;
  }

  body.uucg-modern .masthead-header .logo-area {
    width: 100% !important;
    flex: 0 0 auto !important;
  }

  body.uucg-modern .navbar-brand {
    width: 100%;
    max-width: 100%;
  }

  body.uucg-modern .navbar-brand .site-title h1 {
    font-size: clamp(1.3rem, 4.8vw, 1.6rem) !important;
    line-height: var(--uucg-lh-tight) !important;  }

  body.uucg-modern .navbar-brand .site-description {
    font-size: clamp(0.95rem, 3.2vw, 1.05rem) !important;
    line-height: 1.35 !important;
  }

  body.uucg-modern .navbar-brand img {
    height: 76px !important;
  }

  body.uucg-modern .masthead-header .header-right {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0.65rem !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  body.uucg-modern .masthead-header .header-right .uucg-header-cta {
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }

  /* Hide utility menus in the mobile header row if present */
  body.uucg-modern .masthead-header .header-right > .menu-utility-menu-container,
  body.uucg-modern .masthead-header .header-right > .nav {
    display: none !important;
  }

  body.uucg-modern .header-text-field {
    width: 100% !important;
    min-width: 0;
    justify-content: center !important;
    text-align: center !important;
    font-size: var(--uucg-fs-95) !important;    padding: 0.65rem 0.9rem !important;
    white-space: nowrap !important;
    box-sizing: border-box;
  }

  body.uucg-modern .uucg-drawer-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    min-width: 3.25rem;
    min-height: 3.25rem;
    padding: 0;
    border: 1px solid rgba(168, 31, 69, 0.15);
    border-radius: var(--uucg-radius-pill);    background: linear-gradient(145deg, var(--uucg-primary) 0%, var(--uucg-primary-deep) 100%);
    color: var(--uucg-on-primary);    box-shadow: 0 8px 20px rgba(111, 20, 48, 0.22);
    cursor: pointer;
    flex-shrink: 0;
    justify-self: end;
    transition: transform 0.22s var(--uucg-ease), box-shadow 0.22s var(--uucg-ease);
  }

  body.uucg-modern .uucg-drawer-toggle:hover,
  body.uucg-modern .uucg-drawer-toggle:focus {
    transform: scale(1.05);
    outline: none;
  }

  body.uucg-modern .uucg-drawer-toggle .uucg-hamburger {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 1.5rem;
  }

  body.uucg-modern .uucg-drawer-toggle .uucg-hamburger-line {
    display: block;
    width: 100%;
    height: 3px;
    border-radius: var(--uucg-radius-pill);    background: var(--uucg-bg-white);    transition: transform 0.28s var(--uucg-ease), opacity 0.2s ease;
    transform-origin: center;
  }

  body.uucg-modern .uucg-drawer-toggle.is-open .uucg-hamburger-line:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }

  body.uucg-modern .uucg-drawer-toggle.is-open .uucg-hamburger-line:nth-child(2) {
    opacity: var(--uucg-opacity-0);    transform: scaleX(0);
  }

  body.uucg-modern .uucg-drawer-toggle.is-open .uucg-hamburger-line:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  body.uucg-modern.home #main > .wp-block-cover:first-of-type,
  body.uucg-modern.home .site-main > .wp-block-cover:first-of-type {
    min-height: 280px !important;
    padding: 1.5rem 1.15rem !important;
  }

  body.uucg-modern .uucg-drawer-panel {
    top: 0.9rem;
    right: 0.9rem;
    bottom: 0.9rem;
    padding: 1.25rem 1.15rem 1.4rem;
  }

  body.uucg-modern.home .wp-block-cover p,
  body.uucg-modern.home .wp-block-cover .has-large-font-size,
  body.uucg-modern.home .wp-block-cover .has-medium-font-size {
    font-size: clamp(1.2rem, 3.5vw, 1.55rem) !important;
    line-height: 1.35 !important;
  }
}

/* Phones: still prefer single row; only shrink sizes slightly */
@media only screen and (max-width: 767px) {
  html:has(body.uucg-modern) {
    font-size: 16px;
  }

  body.uucg-modern {
    font-size: var(--uucg-fs-102);    --uucg-shell-pad-x: 1.25rem;
    --uucg-main-pad-x: 0.75rem;
  }

  body.uucg-modern .uucg-article__title,
  body.uucg-modern.single .uucg-article__title.entry-title {
    font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
  }

  body.uucg-modern .uucg-article__deck {
    font-size: var(--uucg-fs-105);  }

  body.uucg-modern .uucg-article__body.entry-content,
  body.uucg-modern .uucg-article__body p {
    font-size: var(--uucg-fs-102);  }

  body.uucg-modern.uucg-single-post .uucg-article__body > p:first-of-type::first-letter {
    font-size: 2.85rem;
  }

  body.uucg-modern .uucg-article__hero {
    margin-left: calc(-1 * var(--uucg-shell-pad-x));
    margin-right: calc(-1 * var(--uucg-shell-pad-x));
    width: calc(100% + (2 * var(--uucg-shell-pad-x)));
    border-radius: var(--uucg-radius-sm);
  }

  body.uucg-modern .uucg-article__hero-img,
  body.uucg-modern .uucg-article__hero img {
    max-height: 16rem;
  }

  body.uucg-modern .uucg-post-nav {
    grid-template-columns: 1fr;
  }

  body.uucg-modern .uucg-post-nav__card--next {
    text-align: left;
    align-items: flex-start;
  }

  body.uucg-modern .uucg-post-nav__card--empty {
    display: none;
  }

  body.uucg-modern .uucg-article__byline-card {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }

  body.uucg-modern.single #comments.comments,
  body.uucg-modern.single section.comments {
    padding: 1.2rem 1rem 1.35rem;
  }

  body.uucg-modern .site-notice .container {
    padding-top: 0.9rem !important;
    padding-bottom: 0.9rem !important;
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
  }

  body.uucg-modern .site-notice p,
  body.uucg-modern .site-notice p span,
  body.uucg-modern .site-notice strong {
    font-size: var(--uucg-fs-95) !important;    line-height: 1.45 !important;
  }

  body.uucg-modern .masthead-header .container {
    padding: 1.15rem 1.2rem 1.2rem !important;
    gap: 1rem !important;
  }

  body.uucg-modern .navbar-brand {
    gap: 0.85rem;
  }

  body.uucg-modern .navbar-brand img {
    height: 74px !important;
  }

  body.uucg-modern .navbar-brand .site-title h1 {
    font-size: clamp(1.3rem, 5.2vw, 1.6rem) !important;
    letter-spacing: var(--uucg-ls-tight) !important;    line-height: 1.18 !important;
  }

  body.uucg-modern .navbar-brand .site-description {
    font-size: clamp(0.95rem, 3.5vw, 1.08rem) !important;
    line-height: 1.35 !important;
  }

  body.uucg-modern .header-text-field {
    font-size: var(--uucg-fs-102) !important;    padding: 0.85rem 1.1rem !important;
    width: 100% !important;
  }

  body.uucg-modern .header-right .social-media-links a {
    width: 2.4rem !important;
    height: 2.4rem !important;
  }

  body.uucg-modern .uucg-drawer-toggle {
    width: 3.35rem !important;
    height: 3.35rem !important;
    min-width: 3.35rem !important;
    min-height: 3.35rem !important;
  }

  body.uucg-modern .uucg-drawer-menu > li > a {
    font-size: var(--uucg-fs-115) !important;    min-height: 3.35rem !important;
    padding: 0.95rem 1.2rem !important;
  }

  /* Looser outer page margins on phones */
  body.uucg-modern .wrap > .container {
    margin-top: 1.15rem !important;
    margin-bottom: 1.15rem !important;
    margin-left: 0.85rem !important;
    margin-right: 0.85rem !important;
    padding-top: 2rem !important;
    padding-bottom: 2.15rem !important;
    padding-left: var(--uucg-shell-pad-x) !important;
    padding-right: var(--uucg-shell-pad-x) !important;
  }

  body.uucg-modern.home .wrap > .container {
    padding-top: 0 !important;
    padding-bottom: 2.15rem !important;
  }

  /* Plugin-only pages: keep the flatter shell on small screens too */
  body.uucg-modern.uucg-no-title-or-path .wrap > .container {
    margin-top: 0.5rem !important;
    margin-bottom: 1rem !important;
    padding-top: 1.35rem !important;
    padding-bottom: 1.6rem !important;
    box-shadow: var(--uucg-shadow-sm), 0 1px 0 rgba(255, 255, 255, 0.7) inset !important;
  }

  body.uucg-modern .main,
  body.uucg-modern #main,
  body.uucg-modern #primary {
    padding-left: var(--uucg-main-pad-x) !important;
    padding-right: var(--uucg-main-pad-x) !important;
  }

  body.uucg-modern .page-header {
    margin-bottom: 1.35rem !important;
  }

  body.uucg-modern .page-header h1,
  body.uucg-modern .entry-title,
  body.uucg-modern h1.entry-title,
  body.uucg-modern .main > h1:first-child,
  body.uucg-modern #main > h1:first-child {
    font-size: clamp(1.7rem, 6.5vw, 2.15rem) !important;
  }

  body.uucg-modern .mission1 {
    font-size: 1.08rem !important;
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
    padding: 1.45rem 1.15rem !important;
  }

  body.uucg-modern .sidebar .widget,
  body.uucg-modern #sidebar .widget {
    padding: 1.25rem 1.2rem !important;
    margin-bottom: 1.35rem;
  }

  body.uucg-modern .thumbnail .caption,
  body.uucg-modern .wp-caption .caption,
  body.uucg-modern .wp-caption-text {
    padding: 1.15rem 1.2rem 1.4rem !important;
  }

  body.uucg-modern .thumbnail:hover,
  body.uucg-modern .wp-caption:hover {
    transform: translateY(-4px) scale(1.01) !important;
  }
}

/* Very narrow phones */
@media only screen and (max-width: 420px) {
  body.uucg-modern {
    --uucg-shell-pad-x: 1.1rem;
    --uucg-main-pad-x: 0.65rem;
  }

  body.uucg-modern .wrap > .container {
    margin-left: 0.7rem !important;
    margin-right: 0.7rem !important;
    padding-top: 1.85rem !important;
    padding-bottom: 2rem !important;
  }

  body.uucg-modern .masthead-header .container {
    padding: 1.1rem 1.05rem 1.15rem !important;
  }

  body.uucg-modern .navbar-brand img {
    height: 74px !important;
  }

  body.uucg-modern .navbar-brand .site-title h1 {
    font-size: 1.4rem !important;
  }

  body.uucg-modern .navbar-brand .site-description {
    font-size: var(--uucg-fs-1) !important;  }

  body.uucg-modern .header-text-field {
    font-size: var(--uucg-fs-1) !important;    padding: 0.85rem 1rem !important;
    white-space: normal !important;
  }

  body.uucg-modern .uucg-drawer-toggle {
    width: 3.45rem !important;
    height: 3.45rem !important;
    min-width: 3.45rem !important;
    min-height: 3.45rem !important;
  }

  body.uucg-modern.home .wp-block-cover p,
  body.uucg-modern.home .wp-block-cover .has-large-font-size {
    font-size: var(--uucg-fs-115) !important;  }
}

/* ==========================================================================
   17. Reduced motion — calm & accessible
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body.uucg-modern .uucg-drawer-panel,
  body.uucg-modern .uucg-drawer-backdrop {
    transition: none !important;
  }

  body.uucg-modern::before,
  body.uucg-modern::after,
  body.uucg-modern .content-info .spacer:after,
  body.uucg-modern .mission1::before,
  body.uucg-modern .mission1::after,
  body.uucg-modern .wrap > .container,
  body.uucg-modern .dropdown-menu {
    animation: none !important;
  }

  body.uucg-modern .mission1::before,
  body.uucg-modern .mission1::after,
  body.uucg-modern .content-info .spacer::after,
  body.uucg-modern .content-info .spacer:after,
  body.uucg-modern .uucg-article__body hr {
    /* Static full rainbow, no moving streak */
    background-image: var(--uucg-rainbow) !important;
    background-size: 100% 100% !important;
    background-position: 0 0 !important;
    animation: none !important;
  }

  body.uucg-modern .uucg-reveal {
    opacity: var(--uucg-opacity-1) !important;    transform: none !important;
    transition: none !important;
  }

  body.uucg-modern .thumbnail,
  body.uucg-modern .wp-caption,
  body.uucg-modern .thumbnail img,
  body.uucg-modern .btn,
  body.uucg-modern .navbar-brand img,
  body.uucg-modern .widget,
  body.uucg-modern .home-widget-2 {
    transition: none !important;
  }

  body.uucg-modern .thumbnail:hover,
  body.uucg-modern .wp-caption:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   18. Home content helpers
   ========================================================================== */
/* Mission quote — rainbow dividers (same as footer) with L→R glow */
body.uucg-modern .mission1 {
  position: relative;
  max-width: 42rem;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 2.25rem !important;
  margin-bottom: 2.25rem !important;
  padding: 1.5rem 1.3rem !important;
  font-family: var(--uucg-display);
  font-size: clamp(1.08rem, 2vw, 1.3rem) !important;
  line-height: var(--uucg-lh-normal);  color: var(--uucg-ink-soft);
  text-align: center;
}

body.uucg-modern .mission1::before,
body.uucg-modern .mission1::after {
  content: "";
  display: block;
  width: min(14rem, 48%);
  height: 3px;
  margin: 0 auto 1.25rem;
  border-radius: var(--uucg-radius-pill);  /* Layer 1: light streak  |  Layer 2: full static rainbow — synced with footer */
  background-color: transparent;
  background-image:
    var(--uucg-rainbow-shine),
    var(--uucg-rainbow);
  background-size:
    45% 100%,
    100% 100%;
  background-repeat: no-repeat;
  background-position: -50% 0, 0 0;
  animation: uucg-rainbow-shine var(--uucg-rainbow-shine-duration) linear infinite;
  animation-delay: 0s;
  box-shadow:
    0 0 8px rgba(255, 213, 74, 0.4),
    0 0 14px rgba(255, 92, 122, 0.22),
    0 0 20px rgba(139, 92, 246, 0.14);
}

body.uucg-modern .mission1::after {
  margin: 1.25rem auto 0;
  animation-delay: 0s;
}

/* Shared: rainbow fixed, light streak sweeps left → right
   (mission lines, footer spacer, article hr) */
@keyframes uucg-rainbow-shine {
  0% {
    background-position: -50% 0, 0 0;
  }
  100% {
    background-position: 150% 0, 0 0;
  }
}

body.uucg-modern .home-btm-text {
  padding: 1.25rem 1.5rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--uucg-radius);
  border: var(--uucg-rule-soft);  box-shadow: var(--uucg-shadow-sm);
}

body.uucg-modern .home-pad {
  display: none;
}

body.uucg-modern .wp-block-video video {
  border-radius: var(--uucg-radius-lg);
}
/* ==========================================================================
   Staff directory — modern church team UI
   Circular portraits, glass cards, initials placeholders
   ========================================================================== */

body.uucg-modern.uucg-staff-page .primary-content,
body.uucg-modern.uucg-staff-page #primary,
body.uucg-modern.uucg-staff-page .main {
  max-width: var(--uucg-content-max);
}

body.uucg-modern.uucg-staff-page .entry-header .entry-title,
body.uucg-modern.uucg-staff-page .page-header h1 {
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-semibold);  letter-spacing: var(--uucg-ls-tight);  text-align: center;
}

body.uucg-modern .uucg-staff {
  --staff-avatar: 7.5rem;
  --staff-avatar-lg: 9.25rem;
  margin: 0 0 2.5rem;
  max-width: none;
  width: 100%;
}

body.uucg-modern .uucg-staff__intro {
  text-align: center;
  font-size: 1.12rem;
  color: var(--uucg-muted);
  max-width: 36rem;
  margin: 0 auto 2.25rem;
  line-height: var(--uucg-lh-normal);}

/* Section headers */
body.uucg-modern .uucg-staff__section {
  margin: 0 0 2.75rem;
}

body.uucg-modern .uucg-staff__section-header {
  text-align: center;
  margin: 0 0 1.75rem;
}

body.uucg-modern .uucg-staff__section-title {
  font-family: var(--uucg-display);
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: var(--uucg-fw-semibold);  color: var(--uucg-ink);
  letter-spacing: var(--uucg-ls-tight);  margin: 0 0 0.65rem;
}

body.uucg-modern .uucg-staff__section-rule {
  width: 4.5rem;
  height: 4px;
  margin: 0 auto;
  border-radius: var(--uucg-radius-pill);
  background: var(--uucg-rainbow);
  background-size: 200% 100%;
  position: relative;
  overflow: hidden;
}

body.uucg-modern .uucg-staff__section-rule::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--uucg-rainbow-shine);
  background-size: 200% 100%;
  animation: uucg-rainbow-shine var(--uucg-rainbow-shine-duration) linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  body.uucg-modern .uucg-staff__section-rule::after {
    animation: none;
  }
}

/* Featured ministers — stacked full-width profiles */
body.uucg-modern .uucg-staff__featured {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: none;
  width: 100%;
  margin: 0;
}

/* Board / team grid */
body.uucg-modern .uucg-staff__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 600px) {
  body.uucg-modern .uucg-staff__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
  }
}

@media (min-width: 960px) {
  body.uucg-modern .uucg-staff__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

/* Cards — solid surfaces so they lift off the cream page */
body.uucg-modern .uucg-staff-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0;
  padding: 1.4rem 1.15rem 1.3rem;
  background: #ffffff;
  border: var(--uucg-rule);  border-radius: var(--uucg-radius-lg);
  box-shadow:
    0 1px 2px rgba(42, 34, 31, 0.04),
    0 10px 28px rgba(42, 34, 31, 0.08);
  transition:
    transform var(--uucg-duration-fast) var(--uucg-ease),
    box-shadow var(--uucg-duration-fast) var(--uucg-ease),
    border-color var(--uucg-duration-fast) var(--uucg-ease);
}

body.uucg-modern .uucg-staff-card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 2px 4px rgba(42, 34, 31, 0.05),
    0 16px 40px rgba(42, 34, 31, 0.12);
  border-color: rgba(42, 34, 31, 0.12);
}

/*
 * Featured ministers: photo sits only beside the role/name header.
 * Bio spans full card width underneath — no tall empty column under the portrait.
 * (.body uses display:contents so role/name/bio join the card grid.)
 */
body.uucg-modern .uucg-staff-card--featured {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 1.25rem;
  row-gap: 0.15rem;
  align-items: center;
  text-align: left;
  width: 100%;
  padding: 1.35rem 1.5rem 1.4rem 1.65rem;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(42, 34, 31, 0.1);
  box-shadow:
    0 2px 6px rgba(42, 34, 31, 0.05),
    0 14px 36px rgba(42, 34, 31, 0.1);
}

body.uucg-modern .uucg-staff-card--featured::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(
    180deg,
    var(--uucg-primary) 0%,
    var(--uucg-accent) 55%,
    var(--uucg-gold) 100%
  );
  border-radius: 5px 0 0 5px;
  pointer-events: none;
}

body.uucg-modern .uucg-staff-card--featured:hover {
  transform: none;
  box-shadow:
    0 4px 10px rgba(42, 34, 31, 0.06),
    0 18px 44px rgba(42, 34, 31, 0.12);
}

body.uucg-modern .uucg-staff-card__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: inherit;
  text-decoration: none;
  width: 100%;
}

body.uucg-modern .uucg-staff-card__link:hover,
body.uucg-modern .uucg-staff-card__link:focus {
  color: inherit;
  text-decoration: none;
}

/* Avatar — photo or placeholder head */
body.uucg-modern .uucg-staff-card__avatar {
  position: relative;
  flex: 0 0 auto;
  width: var(--staff-avatar);
  height: var(--staff-avatar);
  border-radius: var(--uucg-radius-circle);  overflow: hidden;
  margin: 0 auto 0.95rem;
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 5px rgba(168, 31, 69, 0.16),
    0 6px 16px rgba(42, 34, 31, 0.12);
  background: var(--uucg-primary-soft);
}

/* Featured portrait: part of a tight header row with the name */
body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__avatar {
  width: var(--staff-avatar-lg);
  height: var(--staff-avatar-lg);
  margin: 0;
  flex: 0 0 auto;
}

body.uucg-modern .uucg-staff-card__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Soft head silhouette + initials when no photo */
body.uucg-modern .uucg-staff-card__avatar--placeholder {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.22);
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, var(--uucg-primary) 0%, var(--uucg-primary-deep) 100%);
}

body.uucg-modern .uucg-staff-card__avatar--placeholder.tone-0 {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, #a81f45 0%, #6f1430 100%);
}

body.uucg-modern .uucg-staff-card__avatar--placeholder.tone-1 {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, #a81f45 0%, #6f1430 100%);
}

body.uucg-modern .uucg-staff-card__avatar--placeholder.tone-2 {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, #0a6b7c 0%, #004b5a 100%);
}

body.uucg-modern .uucg-staff-card__avatar--placeholder.tone-3 {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, #c45c26 0%, #8a3d14 100%);
}

body.uucg-modern .uucg-staff-card__avatar--placeholder.tone-4 {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, #2f7a78 0%, #1a4f4e 100%);
}

body.uucg-modern .uucg-staff-card__avatar--placeholder.tone-5 {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(145deg, #b83a58 0%, #7a2440 100%);
}

body.uucg-modern .uucg-staff-card__head-icon {
  position: absolute;
  width: 62%;
  height: 62%;
  bottom: -4%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.35;
  pointer-events: none;
}

body.uucg-modern .uucg-staff-card__initials {
  position: relative;
  z-index: 1;
  font-family: var(--uucg-display);
  font-weight: var(--uucg-fw-semibold);  font-size: calc(var(--staff-avatar) * 0.32);
  letter-spacing: var(--uucg-ls);  color: var(--uucg-on-primary);  line-height: var(--uucg-lh-flat);  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  margin-bottom: 0.45rem; /* sit above silhouette shoulders */
}

body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__initials {
  font-size: calc(var(--staff-avatar-lg) * 0.3);
}

/* Text */
body.uucg-modern .uucg-staff-card__body {
  min-width: 0;
  width: 100%;
}

/* Flatten body so role / name / bio are direct grid items on the card */
body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__body {
  display: contents;
  padding: 0;
  min-width: 0;
  width: auto;
  min-height: 0;
}

body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__avatar {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: start;
}

body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__role {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0;
}

body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__name {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 0;
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
}

body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__bio {
  grid-column: 1 / -1;
  grid-row: 3;
  margin: 1rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(42, 34, 31, 0.08);
  font-size: var(--uucg-fs-98);  width: 100%;
}

body.uucg-modern .uucg-staff-card__role {
  margin: 0 0 0.2rem;
  font-size: var(--uucg-fs-78);  font-weight: var(--uucg-fw-bold);  letter-spacing: var(--uucg-ls-wider);  text-transform: var(--uucg-uppercase);  color: var(--uucg-primary);
}

body.uucg-modern .uucg-staff-card__name {
  font-family: var(--uucg-display);
  font-size: var(--uucg-fs-115);  font-weight: var(--uucg-fw-semibold);  letter-spacing: -0.015em;
  color: var(--uucg-ink);
  margin: 0;
  line-height: var(--uucg-lh-snug);}

body.uucg-modern .uucg-staff-card__bio {
  margin-top: 0.65rem;
  font-size: var(--uucg-fs-95);  color: var(--uucg-ink-soft);
  line-height: var(--uucg-lh-loose);}

body.uucg-modern .uucg-staff-card__bio p {
  margin: 0 0 0.7rem;
}

body.uucg-modern .uucg-staff-card__bio p:last-child {
  margin-bottom: 0;
}

/* Mobile: photo, role, name, then full-width bio */
@media (max-width: 559px) {
  body.uucg-modern .uucg-staff-card--featured {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 0.2rem;
    justify-items: start;
    padding: 1.25rem 1.25rem 1.3rem 1.4rem;
  }

  body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__avatar {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.75rem;
  }

  body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__role,
  body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__name,
  body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__bio {
    grid-column: 1;
    grid-row: auto;
    align-self: start;
  }

  body.uucg-modern .uucg-staff-card--featured .uucg-staff-card__bio {
    margin-top: 0.85rem;
  }
}

/* Covenant footer quote */
body.uucg-modern .uucg-staff__covenant {
  margin: 2.5rem 0 0;
  max-width: none;
  width: 100%;
  padding: 1.5rem 1.6rem 1.4rem;
  text-align: center;
  background: #ffffff;
  border: 1px solid rgba(42, 34, 31, 0.1);
  border-radius: var(--uucg-radius-lg);
  box-shadow:
    0 1px 2px rgba(42, 34, 31, 0.04),
    0 10px 28px rgba(42, 34, 31, 0.08);
}

body.uucg-modern .uucg-staff__covenant-label {
  margin: 0 0 0.55rem;
  font-size: var(--uucg-fs-75);  font-weight: var(--uucg-fw-bold);  letter-spacing: var(--uucg-ls-widest);  text-transform: var(--uucg-uppercase);  color: var(--uucg-primary);
}

body.uucg-modern .uucg-staff__covenant-quote {
  margin: 0;
  border: var(--uucg-border-0);  padding: 0;
}

body.uucg-modern .uucg-staff__covenant-quote p {
  margin: 0;
  font-family: var(--uucg-display);
  font-size: 1.12rem;
  font-weight: var(--uucg-fw-medium);  font-style: var(--uucg-italic);  line-height: var(--uucg-lh-normal);  color: var(--uucg-ink);
}

body.uucg-modern .uucg-staff__covenant-cite {
  display: block;
  margin-top: 0.75rem;
  font-size: var(--uucg-fs-88);  color: var(--uucg-muted);
}

/* Single staff CPT profile */
body.uucg-modern.uucg-staff-single .uucg-staff-profile {
  max-width: 46rem;
  margin: 0 auto 2rem;
}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  background: #ffffff;
  border: 1px solid rgba(42, 34, 31, 0.1);
  border-radius: var(--uucg-radius-lg);
  box-shadow:
    0 1px 2px rgba(42, 34, 31, 0.04),
    0 10px 28px rgba(42, 34, 31, 0.08);
}

@media (min-width: 640px) {
  body.uucg-modern.uucg-staff-single .uucg-staff-profile__header {
    flex-direction: row;
    text-align: left;
    align-items: center;
  }
}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__header .uucg-staff-card__avatar {
  width: 8.5rem;
  height: 8.5rem;
  margin: 0;
}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__title {
  font-family: var(--uucg-display);
  font-size: 1.85rem;
  font-weight: var(--uucg-fw-semibold);  margin: 0 0 0.25rem;
  letter-spacing: var(--uucg-ls-tight);}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__role {
  margin: 0 0 0.5rem;
  color: var(--uucg-primary);
  font-weight: var(--uucg-fw-bold);  letter-spacing: var(--uucg-ls-wide);  text-transform: var(--uucg-uppercase);  font-size: 0.82rem;
}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__contact a {
  color: var(--uucg-ink-soft);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__contact a:hover {
  color: var(--uucg-primary);
  border-bottom-color: var(--uucg-primary);
}

body.uucg-modern.uucg-staff-single .uucg-staff-profile__content {
  font-size: var(--uucg-fs-105);  line-height: 1.7;
  color: var(--uucg-ink-soft);
}

/* Hide empty Gutenberg column leftovers if any remain */
body.uucg-modern.uucg-staff-page .wp-block-column:empty {
  display: none;
}


/* =========================================================================
   UUCG Warm Modern (2027) — page + Weebly-import polish
   Bump the theme Version in style.css when changing this file.
   ========================================================================= */

/* 1. Full-width page template (overrides the parent's sidebar layout).
   The article spans the content column edge-to-edge; inner blocks
   (the Fair Share calculator, the Team roster, etc.) set their own
   max-width so the reading column stays readable. */
body.uucg-modern .uucg-page-article {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2rem) 2rem;
}

body.uucg-modern .uucg-page-header {
  margin: 0 0 1rem;
  text-align: left;
  border-bottom: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.08));
  padding-bottom: 0.75rem;
}

body.uucg-modern .uucg-page-title {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  line-height: var(--uucg-lh-tighter);  margin: 0 0 0.35rem;
  letter-spacing: var(--uucg-ls-snug);  color: var(--uucg-ink, #2a2a2a);
}

body.uucg-modern .uucg-page-content {
  font-size: var(--uucg-fs-1);  line-height: 1.6;
  color: var(--uucg-ink-soft, #3f3f3f);
}

/* All photos on the site get a rounded card look by default: soft
   border + generous radius. The minister portrait overrides to a
   full circle; the home hero chalice is a background image, so this
   rule does not affect it. */
body.uucg-modern img {
  border-radius: var(--uucg-radius-lg, 1.75rem);
  border: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.08));
  max-width: 100%;
  height: auto;
}

body.uucg-modern .uucg-page-content > h2:first-child {
  margin-top: 0.5rem;
}

/* 2. Hide the default WP sidebar widget area. The child page.php no longer
      renders it, but this is a safety net for any other template that does. */
body.uucg-modern .widget-area#secondary,
body.uucg-modern .widget-area.sidebar-primary,
body.uucg-modern .widget-area#primary ~ .widget-area,
body.uucg-modern aside.widget-area {
  display: none !important;
}

/* 3. Weebly multicol tables — make them flex columns instead of tables.
      Classes are: wsite-multicol-table-wrap / wsite-multicol-table /
      wsite-multicol-tbody / wsite-multicol-tr / wsite-multicol-col. */
body.uucg-modern .wsite-multicol-table-wrap,
body.uucg-modern .wsite-multicol-table,
body.uucg-modern .wsite-multicol-tbody,
body.uucg-modern .wsite-multicol-tr {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: var(--uucg-border-0) !important;  background: transparent !important;
}

body.uucg-modern .wsite-multicol-col {
  display: block !important;
  width: 100% !important;
  padding: 0 0 1.25rem !important;
}

@media (min-width: 720px) {
  body.uucg-modern .wsite-multicol-tr {
    display: flex !important;
    flex-wrap: wrap;
    gap: 2rem;
  }
  body.uucg-modern .wsite-multicol-col {
    flex: 1 1 0;
    min-width: 0;
  }
}

/* 4. Demote Weebly h2 section headings inside page content — they should
      read as sub-sections of the page, not competing with the page title. */
body.uucg-modern .uucg-page-content h2 {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: 1.3rem;
  font-weight: var(--uucg-fw-semibold);  line-height: 1.3;
  margin: 1.5rem 0 0.4rem;
  color: var(--uucg-ink, #2a2a2a);
}

body.uucg-modern .uucg-page-content h3 {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: 1.1rem;
  font-weight: var(--uucg-fw-semibold);  line-height: 1.3;
  margin: 1.25rem 0 0.3rem;
  color: var(--uucg-ink, #2a2a2a);
}

body.uucg-modern .uucg-page-content h2.wsite-content-title:first-child {
  /* First Weebly section heading sits just under the page title. */
  margin-top: 0.4rem;
}

/* Tighten the default paragraph rhythm so pages don't have huge gaps
   between short blocks of text. */
body.uucg-modern .uucg-page-content p {
  margin: 0 0 0.85rem;
}

body.uucg-modern .uucg-page-content p:last-child {
  margin-bottom: 0;
}

body.uucg-modern .uucg-page-content ul,
body.uucg-modern .uucg-page-content ol {
  margin: 0 0 1rem;
  padding-left: 1.4rem;
}

body.uucg-modern .uucg-page-content li {
  margin-bottom: 0.25rem;
  line-height: var(--uucg-lh-normal);}

/* 5. Weebly video / audio / form placeholders. */
body.uucg-modern .uucg-page-content [class*="wsite-video"] {
  display: none;
}

body.uucg-modern .uucg-archive-audio {
  margin-top: 1.5rem;
  padding: 0.75rem 1rem;
  background: var(--uucg-surface, #f6f3ee);
  border-radius: 12px;
  font-size: var(--uucg-fs-95);}

/* 6. Weebly iframe & PayPal embed widths. */
body.uucg-modern .uucg-page-content iframe {
  max-width: 100%;
}

/* 7. Tighten the default WP widget sidebar fallback that some legacy
      templates still call, so it does not break the new full-width look. */
body.uucg-modern .page-header {
  display: none;
}



/* =========================================================================
   UUCG Warm Modern (2027) — home page (v1.6.5)
   Layout follows the UUA demo: hero, visit info, mission row, schedule,
   news + quote, newsletter. The newsletter is the plugin's cream/glass
   card — no separate dark band.
   ========================================================================= */

body.uucg-modern .uucg-home {
  margin: 0;
  padding: 0;
  background: var(--uucg-bg, #fff);
}

/* ----- HERO ------------------------------------------------------------- */

body.uucg-modern .uucg-home-hero {
  position: relative;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--uucg-on-primary);
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.55) 100%),
    url("../images/hero-chalice.jpg") center 56% / cover no-repeat;
  /* Break out of the glass shell's horizontal padding so the hero is
     full-width within the body card, not inset by the shell gutter. */
  width: calc(100% + (2 * var(--uucg-shell-pad-x)));
  max-width: none;
  margin: 0 calc(-1 * var(--uucg-shell-pad-x)) 1.5rem;
  border-radius: var(--uucg-radius-lg, 1.75rem) var(--uucg-radius-lg, 1.75rem) 0 0;
  overflow: hidden;
  padding: 2.5rem 1.5rem;
}

body.uucg-modern .uucg-home-hero__inner {
  max-width: 820px;
  position: relative;
  z-index: 1;
}

body.uucg-modern .uucg-home-hero__kicker {
  display: inline-block;
  font-family: "Nunito", system-ui, sans-serif;
  font-size: var(--uucg-fs-85);  font-weight: var(--uucg-fw-semibold);  letter-spacing: 0.18em;
  text-transform: var(--uucg-uppercase);  margin: 0 0 0.9rem;
  padding: 0.4rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: var(--uucg-radius-pill);  background: rgba(0, 0, 0, 0.25);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(2px);
}

body.uucg-modern .uucg-home-hero__title {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: clamp(1.9rem, 4.6vw, 3.1rem);
  font-weight: var(--uucg-fw-semibold);  line-height: 1.1;
  letter-spacing: var(--uucg-ls-snug);  margin: 0 0 1rem;
  color: var(--uucg-on-primary);  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.7);
}

body.uucg-modern .uucg-home-hero__lede {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 400;
  font-style: var(--uucg-italic);  line-height: 1.4;
  margin: 0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}

/* ----- VISIT US STRIP --------------------------------------------------- */

body.uucg-modern .uucg-home-visit {
  background: var(--uucg-surface, #faf7f2);
  border-bottom: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.08));
  padding: 1.25rem 1.5rem;
}

body.uucg-modern .uucg-home-visit__card {
  max-width: 1080px;
  margin: 0 auto;
  background: var(--uucg-primary, #a81f45);
  color: var(--uucg-on-primary, #fff);
  border-radius: var(--uucg-radius, 1.25rem);
  padding: 1.5rem 2rem;
  box-shadow: var(--uucg-shadow, 0 10px 30px rgba(42, 34, 31, 0.08));
}

body.uucg-modern .uucg-home-visit__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem 2.5rem;
  text-align: center;
}

body.uucg-modern .uucg-home-visit__row {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

body.uucg-modern .uucg-home-visit__label {
  font-family: "Nunito", system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: var(--uucg-fw-bold);
  letter-spacing: 0.18em;
  text-transform: var(--uucg-uppercase);
  color: var(--uucg-cream, #fbf6f0);
  opacity: 0.85;
}

body.uucg-modern .uucg-home-visit__value {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: 1.2rem;
  color: var(--uucg-on-primary, #fff);
  text-decoration: none;
  white-space: pre-line;
}

/* Phones: drop the maroon card so contact info reads on the cream section. */
@media only screen and (max-width: 767px) {
  body.uucg-modern .uucg-home-visit__card {
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
  }

  body.uucg-modern .uucg-home-visit__label {
    color: var(--uucg-muted, #6f625a);
    opacity: 1;
  }

  body.uucg-modern .uucg-home-visit__value {
    color: var(--uucg-ink, #2a221f);
  }
}

/* ----- MISSION ROW (3 columns, no card chrome) ------------------------- */

body.uucg-modern .uucg-home-mission {
  background: var(--uucg-bg, #fff);
  padding: 2.75rem 1.5rem 2rem;
}

body.uucg-modern .uucg-home-mission__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.75rem;
}

body.uucg-modern .uucg-home-mission__item {
  border-top: 1px solid var(--uucg-ink, #2a2a2a);
  padding-top: 1.5rem;
  transition: transform 0.25s ease;
}

body.uucg-modern .uucg-home-mission__item:hover {
  transform: var(--uucg-lift-2);}

body.uucg-modern .uucg-home-mission__num {
  font-family: "Nunito", system-ui, sans-serif;
  font-size: var(--uucg-fs-8);  font-weight: var(--uucg-fw-bold);  letter-spacing: 0.2em;
  color: var(--uucg-primary);
  margin: 0 0 0.5rem;
}

body.uucg-modern .uucg-home-mission__title {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: 1.65rem;
  font-weight: var(--uucg-fw-semibold);  line-height: var(--uucg-lh-tight);  margin: 0 0 0.85rem;
  color: var(--uucg-ink, #2a2a2a);
  letter-spacing: -0.005em;
}

body.uucg-modern .uucg-home-mission__body {
  font-size: var(--uucg-fs-1);  line-height: var(--uucg-lh-normal);  color: var(--uucg-ink-soft, #3f3f3f);
  margin: 0 0 0.75rem;
}

body.uucg-modern .uucg-home-mission__link {
  display: inline-block;
  font-family: "Nunito", system-ui, sans-serif;
  font-size: var(--uucg-fs-9);  font-weight: var(--uucg-fw-semibold);  color: var(--uucg-primary);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
  transition: color 0.2s ease;
}

body.uucg-modern .uucg-home-mission__link:hover {
  color: var(--uucg-ink, #2a2a2a);
}

/* ----- SCHEDULE ROW (2 columns) --------------------------------------- */

body.uucg-modern .uucg-home-schedule {
  background: var(--uucg-surface, #faf7f2);
  padding: 2.75rem 1.5rem;
}

body.uucg-modern .uucg-home-schedule__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}

@media (min-width: 880px) {
  body.uucg-modern .uucg-home-schedule__inner {
    grid-template-columns: 1fr 1.2fr;
  }
}

body.uucg-modern .uucg-home-schedule__kicker {
  font-family: "Nunito", system-ui, sans-serif;
  font-size: var(--uucg-fs-75);  font-weight: var(--uucg-fw-bold);  letter-spacing: 0.2em;
  text-transform: var(--uucg-uppercase);  color: var(--uucg-primary);
  margin: 0 0 0.75rem;
}

body.uucg-modern .uucg-home-schedule__title {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--uucg-fw-semibold);  line-height: var(--uucg-lh-tight);  margin: 0 0 1rem;
  color: var(--uucg-ink, #2a2a2a);
}

body.uucg-modern .uucg-home-schedule__body {
  font-size: var(--uucg-fs-105);  line-height: var(--uucg-lh-loose);  color: var(--uucg-ink-soft, #3f3f3f);
  margin: 0 0 1.5rem;
  max-width: 38ch;
}

body.uucg-modern .uucg-home-schedule__widget {
  background: transparent;
  /* The plugin's own styling handles the card; let it breathe. */
}

body.uucg-modern .uucg-home-schedule__widget .uucg-ws {
  background: transparent;
  box-shadow: none;
  border: var(--uucg-border-0);  padding: 0;
}

/* ----- NEWS + QUOTE (2 columns) --------------------------------------- */

body.uucg-modern .uucg-home-news {
  background: var(--uucg-bg, #fff);
  padding: 2.75rem 1.5rem;
}

body.uucg-modern .uucg-home-news__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 880px) {
  body.uucg-modern .uucg-home-news__inner {
    grid-template-columns: 1.3fr 1fr;
    gap: 4rem;
  }
}

body.uucg-modern .uucg-home-news__heading {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: 1.5rem;
  font-weight: var(--uucg-fw-semibold);  margin: 0 0 1.25rem;
  color: var(--uucg-ink, #2a2a2a);
  border-bottom: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.08));
  padding-bottom: 0.5rem;
}

body.uucg-modern .uucg-home-news__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.uucg-modern .uucg-home-news__list li {
  border-bottom: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.06));
}

body.uucg-modern .uucg-home-news__list li:last-child {
  border-bottom: 0;
}

body.uucg-modern .uucg-home-news__list a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  color: var(--uucg-ink, #2a2a2a);
  text-decoration: none;
  transition: color 0.2s ease;
}

body.uucg-modern .uucg-home-news__list a:hover {
  color: var(--uucg-primary);
}

body.uucg-modern .uucg-home-news__title {
  font-size: var(--uucg-fs-1);  font-weight: var(--uucg-fw-medium);}

body.uucg-modern .uucg-home-news__date {
  font-size: var(--uucg-fs-8);  color: var(--uucg-ink-soft, #3f3f3f);
  opacity: 0.7;
  flex-shrink: 0;
}

body.uucg-modern .uucg-home-news__empty {
  font-style: var(--uucg-italic);  color: var(--uucg-ink-soft, #3f3f3f);
  opacity: 0.7;
}

body.uucg-modern .uucg-home-quote {
  margin: 0;
  padding: 0 0 0 1.25rem;
  border-left: 3px solid var(--uucg-primary);
}

body.uucg-modern .uucg-home-quote__text {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-size: var(--uucg-fs-125);  font-style: var(--uucg-italic);  line-height: var(--uucg-lh-base);  margin: 0 0 0.75rem;
  color: var(--uucg-ink, #2a2a2a);
}

body.uucg-modern .uucg-home-quote__cite {
  font-family: "Nunito", system-ui, sans-serif;
  font-size: var(--uucg-fs-85);  color: var(--uucg-ink-soft, #3f3f3f);
  opacity: 0.7;
}

/* ----- NEWSLETTER STRIP ----------------------------------------------- */
/* Light section that hosts the plugin's card-style signup. The card brings
   its own cream/glass chrome, so the section just gives it breathing room
   and a top divider. */

body.uucg-modern .uucg-home-newsletter {
  padding: 2.5rem 1.5rem 3rem;
  border-top: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.06));
}

body.uucg-modern .uucg-home-newsletter__inner {
  max-width: 1140px;
  margin: 0 auto;
}

body.uucg-modern .uucg-home-newsletter .uucg-nl {
  max-width: none;
  margin: 0;
}


/* =========================================================================
   UUCG Warm Modern (2027) — home page v1.7 (schedule column visuals)
   ========================================================================= */

/* Sanctuary image at the top of the schedule copy column. */
body.uucg-modern .uucg-home-schedule__media {
  margin: 0 0 1.25rem;
  border-radius: var(--uucg-radius-lg, 1.75rem);
  overflow: hidden;
  background: var(--uucg-rule, rgba(0, 0, 0, 0.08));
}

body.uucg-modern .uucg-home-schedule__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

/* "What to expect" numbered list — a richer left column. */
body.uucg-modern .uucg-home-schedule__expect {
  list-style: none;
  margin: 0 0 1.75rem;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}

body.uucg-modern .uucg-home-schedule__expect li {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  align-items: baseline;
  gap: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.08));
}

body.uucg-modern .uucg-home-schedule__expect li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

body.uucg-modern .uucg-home-schedule__expect-num {
  font-family: "Nunito", system-ui, sans-serif;
  font-size: var(--uucg-fs-8);  font-weight: var(--uucg-fw-bold);  letter-spacing: 0.18em;
  color: var(--uucg-primary);
  padding-top: 0.1rem;
}

body.uucg-modern .uucg-home-schedule__expect-text {
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-normal);  color: var(--uucg-ink-soft, #3f3f3f);
}

/* Plan-your-visit button — solid pill, primary color. */
body.uucg-modern .uucg-home-schedule__cta {
  display: inline-block;
  background: var(--uucg-primary);
  color: var(--uucg-on-primary);  padding: 0.75rem 1.4rem;
  border-radius: var(--uucg-radius-pill);  font-family: "Nunito", system-ui, sans-serif;
  font-weight: var(--uucg-fw-bold);  font-size: var(--uucg-fs-9);  letter-spacing: var(--uucg-ls-wide);  text-decoration: none;
  transition: transform 0.15s ease, background-color 0.2s ease;
}

body.uucg-modern .uucg-home-schedule__cta:hover {
  background: var(--uucg-ink, #2a2a2a);
  transform: var(--uucg-lift-1);}

/* News + Quote column tightening: hide the empty news section if there are
   no posts so the quote column flows beside the schedule. */
body.uucg-modern .uucg-home-news {
  border-top: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.06));
}

/* =========================================================================
   Shared page utilities — buttons, rules, callouts
   ========================================================================= */

body.uucg-modern .uucg-page-content .uucg-btn {
  display: inline-block;
  font-family: "Nunito", system-ui, -apple-system, sans-serif;
  font-weight: var(--uucg-fw-bold);  font-size: var(--uucg-fs-95);  letter-spacing: var(--uucg-ls-wide);  padding: 0.7rem 1.4rem;
  border-radius: var(--uucg-radius-pill, 999px);
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
  cursor: pointer;
}

body.uucg-modern .uucg-page-content .uucg-btn:hover {
  transform: var(--uucg-lift-1);}

body.uucg-modern .uucg-page-content .uucg-btn-primary {
  background: var(--uucg-primary);
  color: var(--uucg-on-primary);}

body.uucg-modern .uucg-page-content .uucg-btn-primary:hover {
  background: var(--uucg-primary-deep, #6f1430);
  color: var(--uucg-on-primary);}

body.uucg-modern .uucg-page-content .uucg-btn-ghost {
  background: transparent;
  color: var(--uucg-primary);
  border-color: var(--uucg-primary);
}

body.uucg-modern .uucg-page-content .uucg-btn-ghost:hover {
  background: var(--uucg-primary-soft, #fce8ee);
  color: var(--uucg-primary-deep, #6f1430);
}

body.uucg-modern .uucg-page-content .uucg-rule {
  border: var(--uucg-border-0);  border-top: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.08));
  margin: 1.75rem 0;
}

/* Pledging page specifics ----------------------------------------------- */

body.uucg-modern .uucg-page-content .uucg-pledge-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.25rem 0 2rem;
}

body.uucg-modern .uucg-page-content .uucg-pledge-fineprint {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

body.uucg-modern .uucg-page-content .uucg-pledge-fineprint li {
  position: relative;
  padding: 0.4rem 0 0.4rem 1.5rem;
  color: var(--uucg-ink-soft);
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-normal);}

body.uucg-modern .uucg-page-content .uucg-pledge-fineprint li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.95rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--uucg-radius-circle);  background: var(--uucg-primary);
  opacity: 0.55;
}

body.uucg-modern .uucg-page-content .uucg-affirming {
  background: var(--uucg-cream-deep, #f3e8dc);
  border-radius: var(--uucg-radius, 1.25rem);
  padding: 2rem 1.75rem;
  margin: 2rem 0;
}

body.uucg-modern .uucg-page-content .uucg-affirming h2 {
  margin-top: 0;
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-weight: var(--uucg-fw-semibold);  font-size: clamp(1.5rem, 2.5vw, 1.85rem);
  color: var(--uucg-ink);
  text-align: center;
}

body.uucg-modern .uucg-page-content .uucg-affirming p {
  color: var(--uucg-ink-soft);
  font-size: var(--uucg-fs-1);  line-height: var(--uucg-lh-loose);  margin: 0.85rem 0 0;
}

body.uucg-modern .uucg-page-content .uucg-paypal {
  text-align: center;
  margin: 2.5rem 0 1rem;
}

body.uucg-modern .uucg-page-content .uucg-paypal p {
  margin: 0.4rem 0;
}

/* About Us page specifics ----------------------------------------------- */

body.uucg-modern .uucg-page-content .uucg-about-intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin: 1.5rem 0 1rem;
}

@media (min-width: 820px) {
  body.uucg-modern .uucg-page-content .uucg-about-intro {
    grid-template-columns: 1.1fr 1fr;
    gap: 3rem;
  }
}

body.uucg-modern .uucg-page-content .uucg-about-intro h2 {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-weight: var(--uucg-fw-semibold);  font-size: clamp(1.4rem, 2.4vw, 1.7rem);
  margin: 0 0 0.85rem;
  color: var(--uucg-ink, #2a2a2a);
  letter-spacing: var(--uucg-ls-snug);}

body.uucg-modern .uucg-page-content .uucg-about-intro p {
  color: var(--uucg-ink-soft, #4a3f3a);
  font-size: var(--uucg-fs-1);  line-height: 1.7;
  margin: 0 0 1rem;
}

body.uucg-modern .uucg-page-content .uucg-about-principles p {
  color: var(--uucg-ink-soft, #4a3f3a);
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-loose);  margin: 0 0 1.25rem;
}

body.uucg-modern .uucg-page-content .uucg-about-principles ol {
  list-style: none;
  counter-reset: principles;
  padding: 0;
  margin: 0;
}

body.uucg-modern .uucg-page-content .uucg-about-principles li {
  counter-increment: principles;
  position: relative;
  padding: 0.55rem 0 0.55rem 2.5rem;
  color: var(--uucg-ink-soft, #4a3f3a);
  font-size: var(--uucg-fs-95);  line-height: var(--uucg-lh-base);  border-top: 1px solid var(--uucg-rule, rgba(0, 0, 0, 0.06));
}

body.uucg-modern .uucg-page-content .uucg-about-principles li:first-child {
  border-top: 0;
}

body.uucg-modern .uucg-page-content .uucg-about-principles li::before {
  content: counter(principles, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.55rem;
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-weight: var(--uucg-fw-semibold);  font-size: var(--uucg-fs-85);  color: var(--uucg-primary, #a81f45);
  letter-spacing: var(--uucg-ls-wide);}

body.uucg-modern .uucg-page-content .uucg-about-welcome {
  margin: 1rem 0 0;
}

body.uucg-modern .uucg-page-content .uucg-about-welcome h2 {
  font-family: "Fraunces", "Lora", Georgia, serif;
  font-weight: var(--uucg-fw-semibold);  font-size: clamp(1.5rem, 2.6vw, 1.85rem);
  margin: 0 0 1rem;
  color: var(--uucg-ink, #2a2a2a);
  letter-spacing: var(--uucg-ls-snug);}

body.uucg-modern .uucg-page-content .uucg-about-welcome p {
  color: var(--uucg-ink-soft, #4a3f3a);
  font-size: var(--uucg-fs-1);  line-height: 1.7;
  margin: 0 0 1rem;
  max-width: 60ch;
}
