/* Enhanced Global Reset with Fixed Header Support */
html {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
}

body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Universal box-sizing reset */
*,
*::before,
*::after {
    box-sizing: border-box !important;
}

section {
    overflow-x: hidden;
    max-width: 100%;
}

.container,
.container-fluid {
    max-width: 100%;
    overflow-x: hidden;
}

.row {
    overflow-x: hidden;
    margin-left: 0;
    margin-right: 0;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Prevent overflow in flex containers */
.d-flex,
.flex-row,
.flex-column {
    max-width: 100%;
    overflow: hidden;
}

/* Ensure Bootstrap columns respect container boundaries */
[class*="col-"] {
    max-width: 100%;
    overflow: hidden;
    word-wrap: break-word;
}

/* Card Utility Styles - MIGRATED TO cards.css */
/* All card-related utility classes moved to consolidated card system */
/* Use .card-clickable and related utilities from cards.css */

/* Moved to cards.css with better scoping */
/* Use .card-anchor utility class for column anchors containing cards */

/* Carousel and slider overflow prevention */
.carousel,
.carousel-inner,
.carousel-item,
.slider,
.swiper,
.swiper-container,
.swiper-wrapper {
    overflow: hidden !important;
    max-width: 100%;
}

/* Ensure responsive images in all contexts */
.img-fluid,
.img-responsive,
.w-100 {
    max-width: 100% !important;
    height: auto !important;
}

/* Prevent text overflow */
* {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Mobile overflow prevention moved to mobile-consolidated.css */
/* All mobile-specific overflow fixes and container adjustments */
/* have been moved to mobile-consolidated.css for better organization */

/* Display Utilities */
.d-table {
    width: 100%;
    height: 100%;
}
.d-table-cell {
    vertical-align: middle;
}
/* Spacing Utilities - Padding */
.ptb-100 {
    padding: 100px 0;
}
.ptb-75 {
    padding: 75px 0;
}
.pt-100 {
    padding-top: 100px;
}
.pb-100 {
    padding-bottom: 100px;
}
.pt-75 {
    padding-top: 75px;
}
.pb-75 {
    padding-bottom: 75px;
}
.ptb-50 {
    padding: 50px 0;
}
.pt-50 {
    padding-top: 50px;
}
.pb-50 {
    padding-bottom: 50px;
}
/* Background Utilities */
.bg-white {
    background: var(--color-bg-primary);
}
.bg-accent {
    background: var(--color-accent);
}
/* Border Utilities - moved comprehensive definition to cards-sections.css */
/* Layout & Structure - Primary definition (was duplicated in variables-overrides.css) */
.bigger-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}
.padd-lg {
    padding: 90px 0;
}
/* Layout Utilities */
.my-50 {
    margin: 70px 0 30px;
    opacity: 1;
}
.margin-bottom-32px {
    margin-bottom: 32px;
}
/* Enhanced body styling with fixed header compensation */
body {
    font-size: var(--font-size-md, 16px) !important;
    color: var(--color-text-primary, #333) !important;
    font-weight: var(--font-weight-normal, 400) !important;
    overflow-x: hidden !important;
    font-family: var(--font-family-primary, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif) !important;
    line-height: var(--line-height-normal, 1.6) !important;
    padding-top: var(--space-header-height, 80px) !important;
    margin: 0 !important;
    position: relative !important;
    min-height: 100vh !important;
}

/* Fixed header utility classes */
.fixed-header-offset {
    padding-top: var(--space-header-height, 80px) !important;
}

.fixed-header-offset-mobile {
    padding-top: var(--space-header-height-mobile, 70px) !important;
}

.fixed-header-scroll-offset {
    scroll-padding-top: var(--space-header-height, 80px) !important;
}

.fixed-header-scroll-offset-mobile {
    scroll-padding-top: var(--space-header-height-mobile, 70px) !important;
}

/* Enhanced WordPress admin bar compensation with fallbacks */
body.admin-bar {
    padding-top: calc(var(--space-header-height, 80px) + var(--space-admin-bar-desktop, 32px)) !important;
}

/* Admin bar utility classes */
.admin-bar-offset {
    top: var(--space-admin-bar-desktop, 32px) !important;
}

.admin-bar-offset-mobile {
    top: var(--space-admin-bar-mobile, 46px) !important;
}

@media screen and (max-width: var(--breakpoint-tablet-max, 991px)) {
    body {
        padding-top: var(--space-header-height-mobile, 70px) !important;
    }
    
    body.admin-bar {
        padding-top: calc(var(--space-header-height-mobile, 70px) + var(--space-admin-bar-mobile, 46px)) !important;
    }
    
    .admin-bar-offset {
        top: var(--space-admin-bar-mobile, 46px) !important;
    }
}

@media screen and (max-width: var(--breakpoint-mobile-max, 767px)) {
    body.admin-bar {
        padding-top: calc(var(--space-header-height-mobile, 70px) + var(--space-admin-bar-mobile, 46px)) !important;
    }
}

/* Fallback admin bar compensation for edge cases */
body.admin-bar:not([style*="padding-top"]) {
    padding-top: calc(80px + 32px) !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar:not([style*="padding-top"]) {
        padding-top: calc(70px + 46px) !important;
    }
}

/* Enhanced scroll positioning with fixed header support */
html {
    scroll-padding-top: var(--space-header-height, 80px) !important;
    scroll-behavior: smooth;
}

/* Enhanced WordPress admin bar compensation for scroll anchor positioning */
html.admin-bar {
    scroll-padding-top: calc(var(--space-header-height, 80px) + var(--space-admin-bar-desktop, 32px)) !important;
}

@media screen and (max-width: var(--breakpoint-tablet-max, 991px)) {
    html {
        scroll-padding-top: var(--space-header-height-mobile, 70px) !important;
    }
    
    html.admin-bar {
        scroll-padding-top: calc(var(--space-header-height-mobile, 70px) + var(--space-admin-bar-mobile, 46px)) !important;
    }
}

/* Viewport handling for modern browsers */
@supports (height: 100dvh) {
    body {
        min-height: 100dvh !important;
    }
}

/* Safe area support for notched devices */
@supports (padding-top: env(safe-area-inset-top)) {
    body {
        padding-top: calc(var(--space-header-height, 80px) + env(safe-area-inset-top)) !important;
    }
    
    @media screen and (max-width: var(--breakpoint-tablet-max, 991px)) {
        body {
            padding-top: calc(var(--space-header-height-mobile, 70px) + env(safe-area-inset-top)) !important;
        }
    }
}

/* Enhanced debugging utilities for fixed header */
.fixed-header-debug {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    background: var(--color-accent, #007cba) !important;
    color: var(--color-bg-primary, #fff) !important;
    padding: var(--space-xs, 4px) var(--space-sm, 8px) !important;
    font-size: var(--font-size-xs, 12px) !important;
    z-index: 99999 !important;
    border-radius: 0 0 0 var(--radius-sm, 4px) !important;
    font-family: monospace !important;
    line-height: 1.2 !important;
    pointer-events: none !important;
}

/* Additional debugging utilities */
.debug-fixed-header::before {
    content: "Header: " attr(data-header-height) " | Body: " attr(data-body-padding);
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(255, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    font-size: 12px;
    z-index: 99999;
    font-family: monospace;
}

/* Browser compatibility fallbacks */
.fixed-header-fallback {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: var(--z-index-header, 99) !important;
}
/* === UNIVERSAL SECTION SPACING === */
/* Moved from cards-system.css - Universal section spacing utilities */
:root {
    /* Universal Section Spacing Variables */
    --section-spacing-top: 3rem;
    --section-spacing-bottom: 3rem;
    --section-spacing-vertical: var(--section-spacing-top) 0 var(--section-spacing-bottom) 0;
    
    /* Fixed Header CSS Variables */
    --z-index-header: 99;
    --header-bg-color: rgba(255, 255, 255, 0.98);
    --header-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Universal section spacing classes to replace Bootstrap mt-5 pt-5 */
.section-spacing {
    margin-top: var(--section-spacing-top);
    padding-top: var(--section-spacing-top);
}

.section-spacing-top {
    margin-top: var(--section-spacing-top);
    padding-top: var(--section-spacing-top);
}

.section-spacing-bottom {
    margin-bottom: var(--section-spacing-bottom);
    padding-bottom: var(--section-spacing-bottom);
}

.section-spacing-vertical {
    margin: var(--section-spacing-vertical);
    padding: var(--section-spacing-vertical);
}

/* For sections that need consistent top spacing */
section.section-spacing {
    margin-top: var(--section-spacing-top);
    padding-top: var(--section-spacing-top);
}

/* === BASE LINK STYLES === */
/* Moved to links-buttons.css for better organization */
/* All link styling is now centralized in the links-buttons.css file */