footer .footer-logo img { max-height: 100px; }

.page-blocks p a{
  color: #ff5a00;
  text-decoration: underline;
}

/* ===== Pattern / maroon wrapper ===== */
.bg-maroon-pattern{
  position: relative;
  overflow: hidden;
  background-color: #790000;
  color: #FDF0D5;
}

/* Use a CSS variable for the image */
.bg-maroon-pattern::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--pattern-url);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.70;
  z-index: 0;
}



/* Content above overlay */
.bg-maroon-pattern-inner{
  position: relative;
  z-index: 2;
}

/* Prevent theme from painting white blocks inside */
.bg-maroon-pattern section,
.bg-maroon-pattern .container,
.bg-maroon-pattern .container-fluid{
  background: transparent !important;
}

/* Links inside maroon/pattern */
.bg-maroon-pattern a{
  color: #FFD9B3;
  text-decoration: underline;
}
.bg-maroon-pattern a:hover{
  color: #ffffff;
}

/* ===== Hero gradient option ===== */
.bg-home-gradient{
  background: linear-gradient(135deg,#2d0000 0%,#890202 45%,#ff0000 100%);
  color: #FDF0D5;
}

/* ===== Brand utilities ===== */
.text-red-dark { color: #2d0000 !important; }
.bg-red-dark   { background-color: #2d0000 !important; }

.text-red      { color: #890202 !important; }
.bg-red        { background-color: #890202 !important; }

.text-red-bright { color: #ff0000 !important; }
.bg-red-bright   { background-color: #ff0000 !important; }

.text-cream { color: #FDF0D5 !important; }
.bg-cream   { background-color: #FDF0D5 !important; }

/* ===== Figcaption ===== */
.figcaption-custom{ background-color: #C1111F; }
.figcaption-custom-text{ color: #FDF0D5; }
.figcaption-custom a:hover .figcaption-custom-text{ opacity: 0.85; }

/* ===== Social hover: cream text + black arrow ===== */
a.facebook i,
a.instagram i {
  transition: color 0.25s ease;
}

a.facebook:hover,
a.instagram:hover {
  color: #FDF0D5 !important;
}

a.facebook:hover span,
a.instagram:hover span {
  color: #FDF0D5 !important;
}

a.facebook:hover i,
a.instagram:hover i {
  color: #000000 !important;
}

/* Safety: if theme header CSS fails, don't show 3 logos */
.navbar-brand img { display: none !important; }
.navbar-brand img.default-logo { display: inline-block !important; }

/* Optional: if you want mobile logo on small screens */
@media (max-width: 991.98px){
  .navbar-brand img.default-logo { display: none !important; }
  .navbar-brand img.mobile-logo { display: inline-block !important; }
}

figcaption.figcaption-custom {
    z-index: 100 !important;
    pointer-events: auto !important;
}

figcaption.figcaption-custom a {
    pointer-events: auto !important;
    position: relative;
    z-index: 101 !important;
}


/* Sticker Picker Styles */
.sticker-option {
    cursor: pointer;
    padding: 10px;
    border: 3px solid transparent;
    border-radius: 8px;
    transition: all 0.3s ease;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sticker-option:hover {
    border-color: #e0e0e0;
    transform: scale(1.05);
}

.sticker-option.selected {
    border-color: #ff6b9d;
    background-color: #fff0f5;
}

.sticker-option img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.btn-gradient-red {
    background-color: #ff0000 !important; /* Fallback */
    background-image: linear-gradient(to right, #ff0000, #8b0000) !important;
    color: white !important;
    border: none !important;
}

.btn-gradient-red:hover {
    background-color: #cc0000 !important; /* Fallback */
    background-image: linear-gradient(to right, #cc0000, #660000) !important;
    color: black !important;
}

/* Logo size override */
header .navbar-brand img.default-logo,
header .navbar-brand img.alt-logo,
header .navbar-brand img.mobile-logo {
    max-height: 100px !important;
	padding: 0px;
    width: auto;
}

header .navbar-brand {
    width: auto !important;
    max-width: 250px;
}

.portfolio-wrapper.grid-loading {
    min-height: 200px;
    position: relative;
}

.portfolio-wrapper.grid-loading::after {
    content: '';
    display: block;
    clear: both;
}

header {
    position: relative;
    display: block;
}

header nav {
    position: relative !important;
}

/* Text block typography */
.text-block-content h1,
.text-block-content h2,
.text-block-content h3,
.text-block-content h4,
.text-block-content h5,
.text-block-content h6 {
    font-family: var(--alt-font);
    color: #1d1d1d;
    font-weight: 600;
    letter-spacing: -0.5px;
    margin-bottom: 15px;
}

.text-block-content p {
    margin-bottom: 20px;
}

.text-block-content a {
    color: var(--base-color);
    text-decoration: underline;
}

.text-block-content ul,
.text-block-content ol {
    padding-left: 20px;
    margin-bottom: 20px;
}

.text-block-content li {
    margin-bottom: 8px;
    line-height: 1.8;
}

footer {
    padding-bottom: 0 !important;
}

.scroll-progress {
    position: fixed !important;
}

/* Hero slider pagination dots */
.hero-slider .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.hero-slider .swiper-pagination-bullet-active {
    background: #ffffff;
    opacity: 1;
}

/* Allow full bleed image blocks to break out of container */
.pt-0.pb-1.mb-1 > .container > .row > .col-lg-12 > .row > .col-12 > .w-100 {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    max-width: 100vw;
    width: 100vw;
}

/* Tighten header padding */
.navbar-brand-wrapper {
    padding-top: 10px !important;
    padding-bottom: 6px !important;
}

.navbar-brand {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.navbar-collapse {
    padding-bottom: 8px !important;
}

header .navbar-brand img.default-logo,
header .navbar-brand img.alt-logo,
header .navbar-brand img.mobile-logo {
    max-height: 100px !important;
    width: auto;
}

/* Override hardcoded charity.css button gradient with CMS color variables */
.btn-gradient-green-goldenrod-yellow {
    background-image: linear-gradient(to right, var(--base-color), var(--secondary-color), var(--base-color)) !important;
    background-color: var(--base-color) !important;
}

.text-base-color,
.text-gradient-base-color {
    color: var(--base-color) !important;
    -webkit-text-fill-color: var(--base-color) !important;
}

.bg-base-color {
    background-color: var(--base-color) !important;
}

.border-color-base-color {
    border-color: var(--base-color) !important;
}

/* Header overall — logo area background */
header,
header nav.navbar {
    background-color: var(--header-bg) !important;
}

/* Logo area stays on header bg */
.navbar-brand-wrapper {
    background-color: var(--header-bg) !important;
    width: 100%;
}

/* Nav bar — full width strip */
.navbar-collapse {
    background-color: var(--nav-bg) !important;
    width: 100vw !important;
    padding-left: calc(50vw - 50%) !important;
    padding-right: calc(50vw - 50%) !important;
}

/* Nav link text color */
header nav .nav-link,
header nav .navbar-nav .nav-link {
    color: var(--nav-text) !important;
}

header nav .nav-link:hover {
    opacity: 0.7;
}

/* Hidden block preview for superusers */
.block-hidden-preview {
    opacity: 0.5;
    outline: 2px dashed orange !important;
    outline-offset: -2px;
    position: relative;
}

/* Fix negative word-spacing on donation form labels */
#donation-form-wrapper label {
    word-spacing: normal !important;
    letter-spacing: normal !important;
}

#donation-form-wrapper label,
#donation-form-wrapper span.alt-font {
    word-spacing: normal !important;
}

h4 {
    color: var(--color-primary);
}

/* Prevent scrollbar from causing layout shift on full-bleed elements */
html {
    scrollbar-gutter: stable;
}

.text-block-content.text-center p,
.text-block-content.text-center h1,
.text-block-content.text-center h2,
.text-block-content.text-center h3,
.text-block-content.text-center h4,
.text-block-content.text-center h5,
.text-block-content.text-center h6 {
    text-align: center;
}

footer { margin-top: 0 !important; }