/*
Theme Name: Orison Child
Theme URI: https://orison.qodeinteractive.com
Description: A child theme of Orison with IBR Custom Homepage integration
Author: Edge Themes
Author URI: https://qodeinteractive.com
Version: 1.1
Text Domain: orison
Template: orison
*/

/* Hide mobile-only elements on desktop */
@media (min-width: 1126px) {
    .ibr-mobile-user-section {
        display: none !important;
    }
    
    /* Hide mobile donate button on desktop - keep desktop version visible */
    .ibr-mobile-donate {
        display: none !important;
    }
}

/* ==========================================
   IBR Custom Homepage Integration
   Apply IBR fonts and colors to the theme
   ========================================== */

/* Import Google Fonts - IBR Typography */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Lato:ital,wght@0,300;0,400;0,700;1,400&display=swap');

/* CSS Variables - IBR Color Palette */
:root {
    /* Couleurs principales */
    --color-primary: #8B0000;           /* Rouge principal (Dark Red) */
    --color-primary-dark: #6A0000;      /* Rouge foncé */
    --color-secondary: #142850;         /* Bleu nuit (Navy Blue) */
    --color-accent: #D4AF37;            /* Or (Gold) */
    
    /* Couleurs neutres */
    --color-neutral-light: #F5F5F0;     /* Blanc cassé (Off-white) */
    --color-neutral-dark: #27374D;      /* Bleu-gris foncé */
    --color-text: #2C3E50;              /* Texte principal */
    --color-text-light: #5A6C7D;        /* Texte secondaire */
    
    /* Fond */
    --color-background: #FFFFFF;        /* Fond principal */
    --color-background-alt: #F8F9FA;    /* Fond alternatif */
    
    /* Anciens noms pour compatibilité */
    --ibr-rouge-principal: #8B0000;
    --ibr-rouge-fonce: #6A0000;
    --ibr-bleu-nuit: #142850;
    --ibr-or: #D4AF37;
    --ibr-blanc-casse: #F5F5F0;
    --ibr-fond-principal: #F5F5F0;
    --ibr-couleur-secondaire: #142850;
    
    /* Typographie */
    --font-title: 'Cinzel', serif;      /* Titres - élégant et autoritaire */
    --font-quote: 'Crimson Text', serif; /* Citations - classique et distingué */
    --font-body: 'Lato', sans-serif;    /* Corps de texte - moderne et lisible */
    --font-titres: 'Cinzel', serif;
    --font-citation: 'Crimson Text', serif;
    --font-texte: 'Lato', sans-serif;
        --font-title: 'Playfair Display', serif;      /* Titres et sous-titres */
    --font-quote: 'Lora', serif;                 /* Citations/slogans */
    --font-body: 'Inter', sans-serif;            /* Texte courant */
    --font-titres: 'Playfair Display', serif;
    --font-citation: 'Lora', serif;
    --font-texte: 'Inter', sans-serif;
}

/* Apply IBR fonts to headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-title) !important;
    color: var(--color-primary) !important;
    text-transform: none !important;
}

/* Links with IBR colors */
a {
    color: var(--color-primary);
    transition: var(--transition-smooth);
}

a:hover,
a:focus {
    color: var(--color-primary-dark);
}

/* Buttons with IBR styling */
.btn,
button[type="submit"],
input[type="submit"],
.wp-block-button__link {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-neutral-light) !important;
    font-family: var(--font-body) !important;
    transition: var(--transition-smooth);
}

.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
}

/* Blockquotes with IBR styling */
blockquote,
.wp-block-quote {
    font-family: var(--font-quote) !important;
    font-style: italic;
    border-left: 4px solid var(--color-accent);
    padding-left: var(--spacing-md);
    color: var(--color-text-light);
}

/* Navigation menu items */
.menu a,
.nav-menu a {
    color: var(--color-neutral-light);
    font-family: var(--font-body);
}
/* Accent color for active menu item */
.menu .current-menu-item > a,
.menu .current_page_item > a,
.nav-menu .current-menu-item > a,
.nav-menu .current_page_item > a,
.ibr-menu .current-menu-item > a,
.ibr-menu .current_page_item > a,
.ibr-footer-menu .current-menu-item > a,
.ibr-footer-menu .current_page_item > a,
ul.ibr-menu li.current-menu-item > a,
ul.ibr-menu li.current_page_item > a,
ul.ibr-footer-menu li.current-menu-item > a,
ul.ibr-footer-menu li.current_page_item > a {
    color: var(--color-accent) !important;
    font-weight: bold;
    background: none;
}

/* Primary color for accents */
.has-primary-color,
.text-primary {
    color: var(--color-primary) !important;
}

.has-primary-background-color,
.bg-primary {
    background-color: var(--color-primary) !important;
}

/* Secondary color for accents */
.has-secondary-color,
.text-secondary {
    color: var(--color-secondary) !important;
}

.has-secondary-background-color,
.bg-secondary {
    background-color: var(--color-secondary) !important;
}

/* Accent color */
.has-accent-color,
.text-accent {
    color: var(--color-accent) !important;
}

.has-accent-background-color,
.bg-accent {
    background-color: var(--color-accent) !important;
}

/* Hide theme header and footer when IBR plugin is active */
body.ibr-custom-homepage-active #qodef-page-header,
body.ibr-custom-homepage-active .qodef-page-header,
body.ibr-custom-homepage-active #qodef-page-header-inner,
body.ibr-custom-homepage-active .qodef-mobile-header,
body.ibr-custom-homepage-active .qodef-header-wrapper,
body.ibr-custom-homepage-active #qodef-page-footer,
body.ibr-custom-homepage-active .qodef-page-footer,
body.ibr-custom-homepage-active .qodef-footer,
body.ibr-custom-homepage-active #qodef-page-title {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Adjust page spacing when using IBR header/footer */
body.ibr-custom-homepage-active #qodef-page-wrapper {
    padding-top: 0 !important;
}

body.ibr-custom-homepage-active #qodef-page-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.ibr-custom-homepage-active #qodef-page-outer {
    padding-top: 100px !important;
}

/* Ensure page content is visible and properly spaced */
body.ibr-custom-homepage-active #qodef-page-inner {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 50vh;
}

/* Content area styling */
body.ibr-custom-homepage-active .entry-content,
body.ibr-custom-homepage-active .qodef-content,
body.ibr-custom-homepage-active article,
body.ibr-custom-homepage-active .post-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Add spacing after IBR header */
body.ibr-custom-homepage-active #qodef-page-wrapper {
    margin-top: 0 !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar.ibr-custom-homepage-active #qodef-page-wrapper {
        padding-top: 136px !important; /* 70px header + 46px admin bar + 20px margin */
    }
}

/* Fix header alignment on non-homepage pages */
body.ibr-custom-homepage-active .ibr-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    min-height: 70px !important;
    padding: 12px 0 !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar.ibr-custom-homepage-active .ibr-header {
        top: 46px !important;
    }
}

body.ibr-custom-homepage-active .ibr-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    /*padding-left: var(--spacing-md) !important;
    padding-right: var(--spacing-md) !important;*/
}

body.ibr-custom-homepage-active .ibr-header-content {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    width: 100% !important;
    gap: 24px !important;
    position: relative !important;
}

/* Ensure content width is appropriate */
body.ibr-custom-homepage-active #qodef-page-inner > * {
    /*max-width: 1200px;*/
    margin-left: auto;
    margin-right: auto;
}

/* Footer titles in white */
body.ibr-custom-homepage-active .ibr-footer h1,
body.ibr-custom-homepage-active .ibr-footer h2,
body.ibr-custom-homepage-active .ibr-footer h3,
body.ibr-custom-homepage-active .ibr-footer h4,
body.ibr-custom-homepage-active .ibr-footer h5,
body.ibr-custom-homepage-active .ibr-footer h6,
body.ibr-custom-homepage-active .ibr-footer .ibr-footer-social-title,
body.ibr-custom-homepage-active .ibr-footer .ibr-footer-contact-title,
body.ibr-custom-homepage-active .ibr-footer .ibr-footer-menu-title {
    color: #FFFFFF !important;
    text-transform: none !important;
}

/* Fix header menu alignment on non-homepage pages */
body.ibr-custom-homepage-active:not(.home) .ibr-nav {
    padding-top: 0 !important;
}

body {
    background-color: #F9F9F9 !important;
    background-image: url('https://www.transparenttextures.com/patterns/paper-fibers.png');
    background-repeat: repeat;
    background-size: auto;
    position: relative;
}

/* Church-themed vector decorations - repeated background pattern */
body::before,
body::after {
    content: '';
    position: fixed;
    pointer-events: none;
    z-index: -1; /* behind all content */
    opacity: 0.04; /* very light and subtle */
    mix-blend-mode: multiply; /* blend with page backgrounds */
    filter: saturate(0.4) grayscale(0.1);
}

/* Use a repeating, smaller-tiled SVG so decorations appear across the whole page */
body::before {
    inset: 0;
    background-image:
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M40 6 L46 28 L40 32 L34 28 Z M40 0 L42 8 L40 12 L38 8 Z" fill="%238B0000"/></svg>'),
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M40 18 a22 22 0 1 0 0.001 0" fill="none" stroke="%23D4AF37" stroke-width="1.5"/></svg>');
    background-repeat: repeat, repeat;
    background-position: 0 0, 40px 40px;
    background-size: 280px 280px, 380px 380px;
}

body::after {
    inset: 0;
    background-image:
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50 8 Q62 28 50 42 Q38 28 50 8 Z" fill="%23142850"/></svg>'),
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50 20 L60 40 L50 46 L40 40 Z" fill="%238B0000"/></svg>');
    background-repeat: repeat, repeat;
    background-position: 20px 80px, 60px 20px;
    background-size: 340px 340px, 240px 240px;
}

/* Decorative corner motifs */
#qodef-page-wrapper::before,
#qodef-page-wrapper::after {
    content: '';
    position: fixed;
    pointer-events: none;
    z-index: -1;
    opacity: 0.03;
    background-repeat: repeat;
}

#qodef-page-wrapper::before {
    top: 2%;
    right: 2%;
    width: 260px;
    height: 260px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M45,10 L55,10 L55,40 L85,40 L85,50 L55,50 L55,90 L45,90 L45,50 L15,50 L15,40 L45,40 Z" fill="%23D4AF37"/></svg>');
    background-size: contain;
}

#qodef-page-wrapper::after {
    bottom: 4%;
    left: 4%;
    width: 220px;
    height: 220px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50,15 L55,35 L50,45 L45,35 Z M50,5 L52,12 L50,15 L48,12 Z M45,45 L55,45 L50,75 Z" fill="%23142850"/></svg>');
    background-size: contain;
}

/* Additional side ornaments */
#qodef-page-inner::before,
#qodef-page-inner::after {
    content: '';
    position: fixed;
    pointer-events: none;
    z-index: -1;
    opacity: 0.03;
    background-repeat: repeat;
}

#qodef-page-inner::before {
    top: 45%;
    right: 1%;
    width: 280px;
    height: 280px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><circle cx="100" cy="100" r="60" fill="none" stroke="%238B0000" stroke-width="3"/></svg>');
    background-size: contain;
}

#qodef-page-inner::after {
    top: 28%;
    left: 1%;
    width: 220px;
    height: 220px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M45,15 L55,15 L55,42 L82,42 L82,52 L55,52 L55,85 L45,85 L45,52 L18,52 L18,42 L45,42 Z" fill="%23D4AF37"/></svg>');
    background-size: contain;
}

/* Ensure content stays above decorations */
#qodef-page-wrapper,
#qodef-page-inner,
.ibr-header,
.ibr-footer {
    position: relative;
    z-index: 0;
}

/* Relief/liseré discret sur les sections */
section, .ibr-section, .wp-block-group {
    border: 1px solid #ececec;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
    border-radius: 8px;
    background: #fff;
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-md);
}

.ibr-header {
    background: linear-gradient(130deg, #111 98%, #222 2%) !important;
    color: #F9F9F9 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    transition: transform 0.3s ease !important;
}
.ibr-header, .ibr-header * {
    color: #F9F9F9 !important;
}
/* Header scroll behavior classes */
.ibr-header.header-hidden {
    transform: translateY(-100%) !important;
}

.ibr-header.header-visible {
    transform: translateY(0) !important;
}

/* Ensure page wrapper starts below header */
#qodef-page-wrapper {
    margin-top: 0 !important;
    padding-top: 120px !important; /* Increased to fully clear the header */
}

#qodef-page-outer {
    padding-top: 0 !important;
}

#qodef-page-inner {
    padding-top: 20px !important;
}

#qodef-page-content {
    padding-top: 0 !important;
}

body.admin-bar #qodef-page-wrapper {
    /*padding-top: 152px !important;*/ /* 120px header space + 32px admin bar */
}

@media screen and (max-width: 782px) {
    #qodef-page-wrapper {
        padding-top: 110px !important; /* Slightly less for mobile */
    }
    
    body.admin-bar #qodef-page-wrapper {
        /*padding-top: 156px !important;*/ /* 110px header space + 46px mobile admin bar */
    }
}

/* ==========================================
   IBR Custom Event Display Styles
   Remove all image effects and animations
   ========================================== */

/* Events Carousel - Remove all image effects */
.qodef-events-carousel.qodef-item-layout--info-below .qodef-e-media-image a {
    position: relative;
    overflow: hidden;
    border-top-right-radius: 0 !important;
    transition: none !important;
}

.qodef-events-carousel.qodef-item-layout--info-below .qodef-e-media-image a img {
    transform: none !important;
    transition: none !important;
}

.qodef-events-carousel.qodef-item-layout--info-below .qodef-e-inner:hover .qodef-e-media-image a {
    border-top-right-radius: 0 !important;
}

.qodef-events-carousel.qodef-item-layout--info-below .qodef-e-inner:hover .qodef-e-media-image a img {
    transform: none !important;
}

/* Events List - Remove all image effects */
.qodef-events-list.qodef-item-layout--info-below.qodef--first-item-round-top-left .qodef-e:first-child .qodef-e-media-image a {
    border-top-left-radius: 0 !important;
}

.qodef-events-list.qodef-item-layout--info-below.qodef--first-item-round-top-right .qodef-e:first-child .qodef-e-media-image a {
    border-top-right-radius: 0 !important;
}

.qodef-events-list.qodef-item-layout--info-below .qodef-e-media-image a {
    position: relative;
    overflow: hidden;
    border-top-right-radius: 0 !important;
    transition: none !important;
}

.qodef-events-list.qodef-item-layout--info-below .qodef-e-media-image a img {
    transform: none !important;
    transition: none !important;
    width: 100%;
    height: auto;
    display: block;
}

.qodef-events-list.qodef-item-layout--info-below .qodef-e-inner:hover .qodef-e-media-image a {
    border-top-right-radius: 0 !important;
}

.qodef-events-list.qodef-item-layout--info-below .qodef-e-inner:hover .qodef-e-media-image a img {
    transform: none !important;
}

/* Ensure images maintain aspect ratio without zoom */
.qodef-events-carousel .qodef-e-media-image img,
.qodef-events-list .qodef-e-media-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transform: none !important;
    transition: none !important;
}

/* Remove any scale or transform on hover */
.qodef-events-carousel .qodef-e-inner:hover img,
.qodef-events-list .qodef-e-inner:hover img {
    transform: none !important;
}

/* Ensure no border radius animations */
.qodef-events-carousel .qodef-e-media-image a,
.qodef-events-list .qodef-e-media-image a {
    border-radius: 0 !important;
}

.qodef-events-carousel .qodef-e-inner:hover .qodef-e-media-image a,
.qodef-events-list .qodef-e-inner:hover .qodef-e-media-image a {
    border-radius: 0 !important;
}

/* ==========================================
   IBR Custom Swiper Navigation
   Hide buttons, show pagination dots at bottom
   ========================================== */

/* Hide navigation buttons */
.qodef-events-carousel .swiper-button-prev,
.qodef-events-carousel .swiper-button-next {
    display: none !important;
}

/* Show and style pagination dots */
.qodef-events-carousel .swiper-pagination,
.qodef-events-carousel .swiper-pagination-bullets {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: 30px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    z-index: 10 !important;
}

.qodef-events-carousel .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    background-color: #D3D3D3 !important;
    opacity: 1 !important;
    transition: none !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: inline-block !important;
}

.qodef-events-carousel .swiper-pagination-bullet-active {
    background-color: #8B0000 !important;
    width: 30px !important;
    border-radius: 6px !important;
}

/* Responsive adjustments */
@media only screen and (max-width: 680px) {
    .qodef-events-carousel .swiper-pagination,
    .qodef-events-carousel .swiper-pagination-bullets {
        margin-top: 20px !important;
    }
    
    .qodef-events-carousel .swiper-pagination-bullet {
        width: 10px !important;
        height: 10px !important;
    }
    
    .qodef-events-carousel .swiper-pagination-bullet-active {
        width: 25px !important;
        border-radius: 5px !important;
    }
}

/* ==========================================
   Responsive breakpoint for tablette/mobile - 1125px
   ========================================== */
@media (max-width: 1125px) {
    /* Hide desktop user menu only */
    .ibr-user-menu {
        display: none !important;
    }
    
    /* Hide desktop donate button on mobile/tablet */
    .ibr-donate-btn-wrapper {
        display: none !important;
    }
    
    /* Show mobile menu toggle */
    .ibr-menu-toggle {
        display: flex !important;
    }
    
    /* Header adjustments */
    .ibr-header {
        padding: 12px 0;
        min-height: 60px;
    }
    
    /* Logo et menu toggle sur la même ligne horizontale */
    .ibr-header-content {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start;
        align-items: center;
        gap: 16px;
    }
    
    /* Menu toggle aligné à droite */
    .ibr-menu-toggle {
        margin-left: auto;
    }
    
    /* Logo adjustments */
    .ibr-logo h1 {
        font-size: 1.3rem;
    }
    
    .ibr-sigle {
        font-size: 0.8rem;
        padding: 3px 6px;
    }
    
    /* Mobile navigation */
    .ibr-nav {
        position: fixed;
        top: 60px;
        left: 0;
        right: 0;
        background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
        backdrop-filter: blur(10px);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-in-out;
        z-index: 999;
        box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    }
    
    .ibr-nav.active {
        max-height: calc(100vh - 60px);
        overflow-y: auto;
    }
    
    .ibr-menu {
        flex-direction: column;
        padding: 20px 0;
    }
    
    .ibr-menu li {
        width: 100%;
        text-align: center;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .ibr-menu li a {
        display: block;
        padding: 15px 20px;
        font-size: 1.1rem;
    }
    
    /* Mobile user menu inside nav */
    .ibr-nav .ibr-mobile-user-section {
        padding: 20px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        text-align: center;
    }
    
    .ibr-nav .ibr-mobile-donate {
        padding: 20px;
        text-align: center;
        border-top: 1px solid rgba(255,255,255,0.1);
        margin-top: 10px;
    }
    
    .ibr-nav .ibr-mobile-donate .ibr-donate-btn {
        display: inline-block;
        background: #8B0000;
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        padding: 14px 40px;
        border-radius: 24px;
        text-decoration: none;
        transition: all 0.3s ease;
        box-shadow: 0 2px 8px rgba(139, 0, 0, 0.3);
    }
    
    .ibr-nav .ibr-mobile-donate .ibr-donate-btn:hover {
        background: #D4AF37;
        color: #8B0000;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
    }
    
    /* Mobile user links */
    .ibr-nav .ibr-mobile-user-links {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .ibr-nav .ibr-mobile-user-links a {
        color: #F9F9F9;
        text-decoration: none;
        padding: 10px;
        border-radius: 8px;
        background: rgba(255,255,255,0.05);
    }
    
    .ibr-nav .ibr-mobile-user-links a:hover {
        background: rgba(212, 175, 55, 0.2);
    }
}

/* Bouton Faire un don dans le header - Desktop uniquement */
@media (min-width: 1126px) {
    .ibr-donate-btn-wrapper {
        position: absolute;
        right: 0;
        display: inline-block;
    }
}

.ibr-donate-btn {
    background: #8B0000;
    color: #fff;
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 24px;
    text-decoration: none;
    transition: background 0.2s;
    box-shadow: 0 2px 8px rgba(139,0,0,0.08);
}
.ibr-donate-btn:hover,
.ibr-donate-btn:focus {
    background: #D4AF37;
    color: #8B0000;
}

/* ==========================================
   IBR Events Hover Elevation Effect
   ========================================== */

/* Add smooth elevation on hover for event items */
.qodef-events-carousel .qodef-e-inner,
.qodef-events-list .qodef-e-inner {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 8px;
    overflow: hidden;
}

.qodef-events-carousel .qodef-e-inner:hover,
.qodef-events-list .qodef-e-inner:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Alternative elevation for different event layouts */
.qodef-events-carousel.qodef-item-layout--info-below .qodef-e-inner:hover,
.qodef-events-list.qodef-item-layout--info-below .qodef-e-inner:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 20px rgba(139, 0, 0, 0.12);
}

.qodef-events-carousel.qodef-item-layout--info-on-image .qodef-e-inner:hover,
.qodef-events-list.qodef-item-layout--info-on-image .qodef-e-inner:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 30px rgba(20, 40, 80, 0.18);
}

/* Ensure smooth transition back to original state */
.qodef-events-carousel .qodef-e-inner,
.qodef-events-list .qodef-e-inner {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.ibr-blog-page-header-centered {
    margin-bottom: 20px;
}
.givewp-donation-form__steps-button-next {
    border-radius: 50px;
}

/* ==========================================
   Contact Form 7 - Select Field Dropdown Arrow
   ========================================== */

.wpcf7-form select,
.wpcf7-form-control select,
select.wpcf7-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%23000" d="M1.41 0L6 4.58L10.59 0L12 1.41l-6 6l-6-6z"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

.wpcf7-form select:focus,
.wpcf7-form-control select:focus,
select.wpcf7-select:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(139, 0, 0, 0.1);
}