/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/
Description: Child theme for Kadence (Oliver Marti)
Author: Antigravity & User
Template: kadence
Version: 7.5.0
*/

/* ==================================================
   OLIVER MARTI - KADENCE CHILD THEME (v7.5.0)
   ================================================== */

:root {
    --global-content-width: 100% !important;
    --global-content-narrow-width: 100% !important;
}

/* PREVENT ALL HORIZONTAL OVERFLOW & FORCE WORD WRAPPING */
html, body {
    background-color: #19191B !important;
    background-image: url('images/wrapper-bg.jpg') !important;
    background-repeat: repeat-y !important;
    background-position: center top !important;
    background-size: cover !important;
    background-attachment: fixed !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: #1D1E20 !important;
    margin: 0; padding: 0;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

*, *::before, *::after {
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* HIDE KADENCE DEFAULT HERO HEADERS & SUBPAGE BANNERS GLOBALLY */
.site-hero-header,
.entry-hero,
.page-header,
.archive-header,
.category-header,
header.page-header,
header.entry-header.site-hero-header,
div.site-hero-header,
.om-subpage-header-banner,
.entry-taxonomies,
.entry-meta .category,
.category-style-button,
.om-mobile-smart-bar {
    display: none !important;
}

/* FLUID BOXED CONTENT CONTAINER (1180px max width, 100% fluid) */
#wrapper,
#outer-wrap,
#page,
.site {
    max-width: 1180px !important;
    width: 100% !important;
    margin: 20px auto !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 35px rgba(0,0,0,0.85) !important;
    box-sizing: border-box !important;
}

/* TOP HEADER ROW: FREESTANDING LOGO logo4.png (TOP LEFT) & CTA BUTTON (TOP RIGHT) */
.site-header,
.site-header-wrap,
.site-header-row-container {
    background-color: #19191B !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* SUPPRESS ANY THEME PLACEHOLDER BRANDING */
.site-branding,
.custom-logo,
.custom-logo-link,
.site-header-item-main-header,
.site-title-wrap,
header .site-branding,
header img.custom-logo,
a.custom-logo-link {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.om-top-header-bar {
    background-color: #19191B !important;
    padding: 20px 28px 16px 28px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #2D3748 !important;
}

.om-top-header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    max-width: 1180px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.om-site-logo-img {
    max-height: 52px !important;
    height: auto !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.om-top-cta-button {
    background-color: #E61D02 !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: bold !important;
    padding: 10px 22px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(230, 29, 2, 0.4) !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.om-top-cta-button:hover {
    background-color: #C2210B !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 15px rgba(230, 29, 2, 0.6) !important;
    color: #FFFFFF !important;
}

/* NAVIGATION BAR BELOW LOGO & CTA BUTTON (FLUSH LEFT & FULL WIDTH) */
.main-navigation,
.primary-menu-container,
.kadence-navigation,
.site-header-primary-section-right,
.site-header-primary-section-left,
.site-header-primary-section-center,
.site-header-row-inner,
.site-header-row {
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    background-color: #19191B !important;
}

.main-navigation {
    border-bottom: 4px solid #E61D02 !important;
}

.main-navigation ul.menu,
.primary-menu-container ul.menu,
.kadence-navigation ul.menu,
header nav ul,
#primary-menu {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-navigation a,
.primary-menu-container a,
.kadence-navigation a,
header nav a {
    color: #FFFFFF !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    padding: 12px 18px !important;
    transition: background-color 0.2s ease !important;
    text-decoration: none !important;
}

.main-navigation ul.menu > li:first-child > a,
.primary-menu-container ul.menu > li:first-child > a,
.kadence-navigation ul.menu > li:first-child > a,
header nav ul > li:first-child > a {
    padding-left: 28px !important;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current-category-ancestor > a,
.main-navigation .current-post-ancestor > a,
.primary-menu-container a:hover,
.primary-menu-container .current-menu-item > a,
.kadence-navigation a:hover,
.kadence-navigation .current-menu-item > a {
    background-color: #E61D02 !important;
    color: #FFFFFF !important;
}

/* Hide duplicate post title on homepage */
body.home .entry-header,
body.home h1.entry-title {
    display: none !important;
}

/* Hide Kadence internal header ONLY on single pages/posts */
body.single .entry-content-wrap > .entry-header,
body.page .entry-content-wrap > .entry-header {
    display: none !important;
}

/* LAYOUT: FLEX GRID (#primary 100%, #main 70%, #secondary 30%) */
#primary.content-area {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.content-container.site-container,
.content-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 28px !important;
    box-sizing: border-box !important;
    gap: 0 !important;
}

/* LEFT COLUMN: MAIN CONTENT (#main) */
#main.site-main {
    width: 70% !important;
    flex: 0 0 70% !important;
    min-width: 0 !important;
    padding-right: 28px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.content-wrap,
.entry-content-wrap,
.single-entry {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* CATEGORY & ARCHIVE LOOP POST TITLES */
.archive .entry-header,
.category .entry-header,
.archive .entry-title,
.category .entry-title,
.archive h2.entry-title,
.category h2.entry-title {
    display: block !important;
    font-size: 22px !important;
    font-weight: bold !important;
    margin-top: 24px !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
    border-bottom: 2px solid #E2E8F0 !important;
    padding-bottom: 6px !important;
}

.archive .entry-title a,
.category .entry-title a,
.archive h2.entry-title a,
.category h2.entry-title a {
    color: #1D1E20 !important;
    text-decoration: none !important;
}

.archive .entry-title a:hover,
.category .entry-title a:hover,
.archive h2.entry-title a:hover,
.category h2.entry-title a:hover {
    color: #E61D02 !important;
}

/* ARTICLE SPACING IN CATEGORY LISTING LOOPS */
.archive article,
.category article,
.archive .entry-content-wrap,
.category .entry-content-wrap {
    margin-bottom: 32px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px dashed #CBD5E0 !important;
}

.archive article:last-child,
.category article:last-child {
    border-bottom: none !important;
}

/* ARTICLE ENTRY FOOTER & MEHR LESEN LINK (CLEAN & ELEGANT - NO BLACK BAR) */
article .entry-footer,
article footer.entry-footer,
.entry-footer,
.more-link-wrap {
    background: transparent !important;
    border: none !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

a.post-more-link,
.more-link-wrap a {
    background: transparent !important;
    color: #E61D02 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

a.post-more-link:hover,
.more-link-wrap a:hover {
    color: #C2210B !important;
    text-decoration: underline !important;
}

a.post-more-link svg,
.more-link-wrap svg {
    fill: #E61D02 !important;
}

/* ELEGANT PHOTO GALLERY GRID FOR CATEGORY BILDER & POST ATTACHMENTS */
.om-post-gallery {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

.om-gallery-item {
    flex: 0 0 calc(20% - 8px) !important;
    max-width: calc(20% - 8px) !important;
    box-sizing: border-box !important;
}

.om-gallery-item a {
    display: block !important;
    border: 2px solid #E2E8F0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, border-color 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.om-gallery-item a:hover {
    border-color: #E61D02 !important;
    transform: scale(1.04) !important;
}

.om-gallery-item img {
    width: 100% !important;
    height: 110px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ALL CONTENT & FEATURED IMAGES SCALED FLUIDLY TO GENEROUS MAX SIZE */
.post-top-featured,
.wp-post-image,
.post-thumbnail,
.entry-media,
.single-content .post-thumbnail,
.archive .post-thumbnail,
.category .post-thumbnail,
.post-thumbnail img,
.entry-media img,
.single-content .post-thumbnail img,
.archive .post-thumbnail img,
.category .post-thumbnail img,
.entry-content img,
.single-content img,
article img,
.wp-caption img,
img {
    max-width: 100% !important;
    max-height: 480px !important;
    height: auto !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 18px auto !important;
    border-radius: 6px !important;
    box-shadow: 0 3px 12px rgba(0,0,0,0.1) !important;
    clear: both !important;
    float: none !important;
}

/* ON SHOP CATEGORY ARCHIVE: HIDE LOOP HEADER THUMBNAILS */
.category-shop .post-thumbnail,
.category-shop .entry-media {
    display: none !important;
}

/* GLOBAL CAPTION & CONTENT IMAGES */
.entry-content,
.single-content,
.entry-summary {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.entry-content .wp-caption,
.single-content .wp-caption,
.wp-caption.alignleft,
.wp-caption.alignright {
    clear: both !important;
    float: none !important;
    display: block !important;
    margin: 18px auto !important;
    max-width: 100% !important;
    max-height: 480px !important;
    height: auto !important;
    width: auto !important;
}

.wp-caption {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* RIGHT COLUMN: SIDEBAR (#secondary) */
#secondary.primary-sidebar,
aside#secondary {
    display: block !important;
    width: 30% !important;
    flex: 0 0 30% !important;
    background: #F8F9FA !important;
    padding: 20px !important;
    border-left: 1px solid #E2E8F0 !important;
    box-sizing: border-box !important;
    border-radius: 4px;
    margin: 0 !important;
    position: relative !important;
    z-index: 50 !important;
}

/* DEFAULT SIDEBAR LINKS */
#secondary a,
.widget a {
    color: #2D3748 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    position: relative !important;
    z-index: 51 !important;
    cursor: pointer !important;
}

#secondary a:hover,
.widget a:hover {
    color: #E61D02 !important;
    text-decoration: underline !important;
}

/* SPECIFIC ACTION LINKS IN SIDEBAR */
.om-sidebar-cd a[href*="kontakt"],
.om-sidebar-contact a[href*="kontakt"] {
    color: #E61D02 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
}

.om-sidebar-cd a[href*="kontakt"]:hover,
.om-sidebar-contact a[href*="kontakt"]:hover {
    color: #C2210B !important;
}

.sidebar-inner-wrap {
    padding: 0 !important;
    width: 100% !important;
}

/* HIDE BROKEN RELATED POSTS CAROUSEL AT BOTTOM OF SINGLE POSTS */
.entry-related,
.related-posts-wrap,
.single-entry-related,
.entry-related-carousel {
    display: none !important;
}

/* Widget Styling */
.widget {
    margin-bottom: 20px !important;
    background: #FFFFFF !important;
    padding: 14px 16px !important;
    border-radius: 6px !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.widget-title {
    font-size: 14px !important;
    font-weight: bold !important;
    color: #1D1E20 !important;
    border-bottom: 2px solid #E61D02 !important;
    padding-bottom: 4px !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
}

.widget_search input[type="search"] {
    width: 100% !important;
    padding: 7px 10px !important;
    border: 1px solid #CBD5E0 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}

.widget_recent_entries ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.widget_recent_entries ul li {
    border-bottom: 1px solid #EDF2F7 !important;
    padding: 6px 0 !important;
    font-size: 13px !important;
}

.widget_recent_entries ul li a {
    color: #2D3748 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.widget_recent_entries ul li a:hover {
    color: #E61D02 !important;
    text-decoration: underline !important;
}

/* TYPOGRAPHY & ELEGANT HEADING SPACING */
body, p, li {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #2D3748 !important;
}

p {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

p:empty {
    display: none !important;
}

h1, .entry-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
    font-weight: bold !important;
    color: #1D1E20 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

h2 {
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: bold !important;
    color: #1D1E20 !important;
    margin-top: 36px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid #E2E8F0;
    padding-bottom: 6px !important;
}

h3 {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: bold !important;
    color: #1D1E20 !important;
    margin-top: 28px !important;
    margin-bottom: 10px !important;
}

h4, h5, h6 {
    font-size: 15px !important;
    font-weight: bold !important;
    color: #4A5568 !important;
    margin-top: 24px !important;
    margin-bottom: 8px !important;
}

/* STANDALONE BOLD PARAGRAPHS AS SUBHEADINGS */
.entry-content p b:only-child,
.single-content p b:only-child,
.entry-content p strong:only-child,
.single-content p strong:only-child {
    display: block !important;
    margin-top: 24px !important;
    margin-bottom: 6px !important;
    font-size: 15px !important;
    color: #1D1E20 !important;
}

/* OPTION E: LINK BLOCK & CLEAN TEXT LINKS */
.om-link-block {
    background: #F8F9FA !important;
    border-left: 4px solid #E61D02 !important;
    padding: 14px 18px !important;
    margin: 18px 0 24px 0 !important;
    border-radius: 0 4px 4px 0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.om-link-block h4 {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    color: #1D1E20 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.om-link-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.om-link-list li {
    margin-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.om-link-list li:last-child {
    margin-bottom: 0 !important;
}

/* ALL CONTENT LINKS ARE PURE, CLEAN TEXT LINKS */
.entry-content a,
.single-content a,
.om-link-list a {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline !important;
    color: #E61D02 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
}

.entry-content a.om-lightbox-link,
.om-gallery-item a {
    text-decoration: none !important;
}

.entry-content a:hover,
.single-content a:hover,
.om-link-list a:hover {
    color: #C2210B !important;
    background: transparent !important;
    text-decoration: underline !important;
}

figcaption, .wp-caption-text {
    font-size: 12px !important;
    color: #718096 !important;
    font-style: italic !important;
    margin-top: 4px !important;
}

/* HOMEPAGE SLIDER (FLUID RESPONSIVE ASPECT RATIO - NO CLIPPING) */
.om-slider {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 420px;
    height: auto;
    overflow: hidden;
    background: #000;
    margin-bottom: 20px;
    border-radius: 4px;
}

.om-slide {
    display: none;
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    transition: opacity 0.6s ease;
    opacity: 0;
}

.om-slide.om-slide-active {
    display: block;
    opacity: 1;
}

.om-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center;
    display: block;
    background: #000;
}

.om-slide-caption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: rgba(0, 0, 0, 0.72);
    padding: 12px 18px;
}

.om-slide-caption h3 {
    margin: 0 0 4px !important;
    font-size: 16px !important;
    color: #FFFFFF !important;
}

.om-slide-caption h3 a {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

.om-slide-caption p {
    margin: 0 !important;
    font-size: 13px !important;
    color: #E0E0E0 !important;
}

.om-slider-dots {
    position: absolute;
    bottom: 10px; right: 14px;
    display: flex; gap: 6px; z-index: 10;
}

.om-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    display: inline-block;
}

.om-dot.om-dot-active,
.om-dot:hover {
    background: #E61D02;
}

.om-slider-prev,
.om-slider-next {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    background: rgba(0,0,0,0.45);
    color: #fff; border: none;
    font-size: 28px; width: 36px; height: 54px;
    cursor: pointer; z-index: 10;
    display: flex; align-items: center; justify-content: center;
}
.om-slider-prev { left: 0; }
.om-slider-next { right: 0; }
.om-slider-prev:hover, .om-slider-next:hover { background: rgba(230,29,2,0.8); }

/* CONTACT FORM STYLING */
.om-contact-card {
    background: #F8F9FA;
    padding: 24px;
    border-radius: 6px;
    border: 1px solid #E2E8F0;
    max-width: 100%;
    margin: 16px 0;
    box-sizing: border-box;
}

.om-contact-card h3 {
    margin-top: 0 !important;
    color: #1D1E20 !important;
    font-size: 18px !important;
    margin-bottom: 16px !important;
    border-bottom: 2px solid #E61D02;
    padding-bottom: 6px;
    display: inline-block;
}

.om-contact-form .form-group {
    margin-bottom: 14px;
}

.om-contact-form label {
    display: block !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    color: #2D3748 !important;
    font-size: 13px !important;
}

.om-contact-form input[type="text"],
.om-contact-form input[type="email"],
.om-contact-form textarea {
    width: 100% !important;
    padding: 9px 12px !important;
    border: 1px solid #CBD5E0 !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    color: #1D1E20 !important;
}

.om-contact-form .submit-btn {
    background: #E61D02 !important;
    color: #FFFFFF !important;
    border: none !important;
    padding: 10px 26px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

.om-alert-success {
    background: #C6F6D5; color: #22543D; border: 1px solid #9AE6B4;
    padding: 12px 16px; border-radius: 5px; margin-bottom: 16px; font-weight: 600;
}
.om-alert-error {
    background: #FED7D7; color: #742A2A; border: 1px solid #FEB2B2;
    padding: 12px 16px; border-radius: 5px; margin-bottom: 16px; font-weight: 600;
}

/* LIGHTBOX MODAL OVERLAY */
#om-lightbox {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 99999;
}

#om-lightbox.om-lightbox-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.om-lightbox-backdrop {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.88);
}

.om-lightbox-content {
    position: relative;
    z-index: 10;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.om-lightbox-content img {
    max-width: 85vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.5);
}

#om-lightbox-caption {
    color: #FFFFFF;
    font-size: 13px;
    margin-top: 10px;
    text-align: center;
    max-width: 80vw;
}

.om-lightbox-close {
    position: absolute;
    top: -45px;
    right: 0;
    background: none;
    border: none;
    color: #FFF;
    font-size: 36px;
    cursor: pointer;
    line-height: 1;
}

.om-lightbox-prev,
.om-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.6);
    color: #FFF;
    border: none;
    font-size: 36px;
    width: 44px;
    height: 60px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}
.om-lightbox-prev { left: -60px; }
.om-lightbox-next { right: -60px; }
.om-lightbox-prev:hover, .om-lightbox-next:hover { background: #E61D02; }

/* SITE FOOTER ONLY (DO NOT TARGET ARTICLE ENTRY FOOTERS!) */
footer#colophon,
div.site-footer,
.site-footer-wrap {
    margin-top: 40px !important;
    border-top: 4px solid #E61D02 !important;
    background-color: #111113 !important;
    padding: 24px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.om-footer-custom-wrap,
.om-footer-inner,
.site-footer-row-container-inner,
.site-bottom-footer-inner-wrap {
    max-width: 1180px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 28px !important;
    box-sizing: border-box !important;
}

.om-footer-custom-wrap {
    width: 100% !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #2D3748 !important;
}

.om-footer-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    width: 100% !important;
}

.om-footer-info,
.om-footer-info strong,
.om-footer-links,
footer#colophon p,
footer#colophon span,
footer#colophon div,
footer#colophon .credit,
footer#colophon .copyright,
.footer-html-inner,
.footer-html-inner p {
    color: #FFFFFF !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

footer#colophon a,
.footer-html-inner a,
.om-footer-links a {
    color: #FFFFFF !important;
    text-decoration: underline !important;
    font-weight: bold !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

footer#colophon a:hover,
.footer-html-inner a:hover,
.om-footer-links a:hover {
    color: #FFFFFF !important;
    background-color: #E61D02 !important;
    text-decoration: none !important;
}

/* ADVANCED RESPONSIVE MEDIA QUERIES */

/* SMALL DESKTOPS & TABLETS (< 1024px) */
@media (max-width: 1024px) {
    #wrapper, #outer-wrap, #page, .site {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        box-shadow: none !important;
    }
    .content-container, .site-container {
        padding: 20px 20px !important;
    }
    .om-top-header-bar {
        padding: 16px 20px !important;
    }
    .main-navigation ul.menu > li:first-child > a {
        padding-left: 20px !important;
    }
}

/* TABLETS & MEDIUM SCREENS (< 860px) - STACK SIDEBAR & MAIN CONTENT FLUIDLY */
@media (max-width: 860px) {
    .content-container.site-container,
    .content-container {
        flex-direction: column !important;
        padding: 16px !important;
        width: 100% !important;
    }

    #main.site-main {
        width: 100% !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-bottom: 24px !important;
    }

    #secondary.primary-sidebar, aside#secondary {
        width: 100% !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        border-left: none !important;
        border-top: 2px solid #E2E8F0 !important;
        padding: 20px 16px !important;
        margin-top: 20px !important;
    }
}

/* MOBILE PHONES (< 768px) */
@media (max-width: 768px) {
    body {
        padding-bottom: 0 !important;
    }

    html, body {
        background-image: none !important;
        background-color: #19191B !important;
    }

    .om-top-header-bar {
        padding: 14px 16px !important;
    }

    .om-top-header-inner {
        flex-direction: column !important;
        gap: 12px !important;
        text-align: center !important;
        align-items: center !important;
    }

    .om-site-logo-img {
        max-height: 42px !important;
        margin: 0 auto !important;
    }

    .om-top-cta-button {
        font-size: 12px !important;
        padding: 9px 18px !important;
        width: 100% !important;
        max-width: 280px !important;
        text-align: center !important;
    }

    .mobile-drawer-content,
    .drawer-inner,
    #mobile-drawer {
        background-color: #19191B !important;
        color: #FFFFFF !important;
    }

    .mobile-navigation a,
    #mobile-site-navigation a {
        color: #FFFFFF !important;
        font-weight: bold !important;
        text-transform: uppercase !important;
        font-size: 14px !important;
        border-bottom: 1px solid #2D3748 !important;
        padding: 12px 18px !important;
    }

    .mobile-navigation a:hover,
    .mobile-navigation .current-menu-item > a {
        background-color: #E61D02 !important;
        color: #FFFFFF !important;
    }

    .menu-toggle-open,
    .mobile-toggle {
        background: transparent !important;
        border: none !important;
        color: #FFFFFF !important;
    }

    .menu-toggle-open svg,
    .mobile-toggle svg {
        fill: #FFFFFF !important;
        width: 28px !important;
        height: 28px !important;
    }

    .om-gallery-item {
        flex: 0 0 calc(33.333% - 7px) !important;
        max-width: calc(33.333% - 7px) !important;
    }

    .om-gallery-item img {
        height: 100px !important;
    }

    .om-footer-inner {
        flex-direction: column !important;
        text-align: center !important;
        justify-content: center !important;
        gap: 10px !important;
    }

    .om-footer-info {
        text-align: center !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #FFFFFF !important;
    }

    .om-footer-links {
        display: block !important;
        text-align: center !important;
        font-size: 13px !important;
    }

    .footer-html-inner p {
        text-align: center !important;
        font-size: 12px !important;
        color: #FFFFFF !important;
        margin-top: 6px !important;
    }

    .om-lightbox-prev { left: 5px; }
    .om-lightbox-next { right: 5px; }
}

/* SMALL MOBILE SCREENS (< 480px) */
@media (max-width: 480px) {
    .om-gallery-item {
        flex: 0 0 calc(50% - 6px) !important;
        max-width: calc(50% - 6px) !important;
    }

    .om-gallery-item img {
        height: 130px !important;
    }

    .post-top-featured,
    .wp-post-image,
    .post-thumbnail img,
    .entry-media img,
    .entry-content img,
    article img {
        max-width: 100% !important;
        height: auto !important;
    }

    h1, .entry-title {
        font-size: 22px !important;
    }

    h2 {
        font-size: 18px !important;
    }
}
