/**
 * Steinmetz Printing Custom Styles
 * Additional styles for enhanced responsiveness and modern design
 */

/* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@300;400;500;600;700&display=swap');

/* Global Responsive Adjustments */
body {
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Prevent layout breaks from dynamically injected content */
body > * {
    max-width: 100%;
}

/* Navigation Enhancements */
.wp-block-navigation {
    flex-wrap: wrap;
    align-items: center;
}

/* Header Alignment Fixes */
.wp-block-group .wp-block-group {
    align-items: center;
}

.wp-block-site-logo {
    flex-shrink: 0;
}

.wp-block-navigation__responsive-container.is-menu-open {
    padding: 1.5rem;
}

@media (max-width: 781px) {
    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
        background-color: #FFFFFF;
    }

    .wp-block-navigation .wp-block-navigation__responsive-container-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
    }
}

/* Hero Section Enhancements */
.wp-block-cover {
    background-size: cover;
    background-position: center;
}

.wp-block-cover__inner-container {
    max-width: 100%;
    padding: 0 1.5rem;
}

@media (max-width: 768px) {
    .wp-block-cover {
        min-height: 400px !important;
    }

    .wp-block-cover h1 {
        font-size: 2rem !important;
    }

    .wp-block-cover p {
        font-size: 1rem !important;
    }
}

/* Button Enhancements */
.wp-block-button__link {
    transition: all 0.3s ease;
    text-decoration: none;
}

.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(194, 97, 72, 0.3);
}

/* Responsive Columns */
.wp-block-columns {
    align-items: stretch;
}

.wp-block-column {
    display: flex;
    flex-direction: column;
}

@media (max-width: 781px) {
    .wp-block-columns {
        flex-direction: column;
    }

    .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Card Styling Enhancements */
.wp-block-column.has-white-background-color {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.wp-block-column.has-white-background-color:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Post Grid Enhancements */
.wp-block-post-featured-image img {
    transition: transform 0.3s ease;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.wp-block-post-featured-image:hover img {
    transform: scale(1.05);
}

/* Post Title Links */
.wp-block-post-title a {
    text-decoration: none;
    transition: color 0.3s ease;
}

.wp-block-post-title a:hover {
    color: var(--wp--preset--color--primary);
}

/* Social Links */
.wp-block-social-links {
    gap: 1rem;
}

.wp-block-social-link a {
    transition: transform 0.3s ease;
}

.wp-block-social-link:hover a {
    transform: scale(1.1);
}

/* Responsive Typography */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem !important;
    }

    h2 {
        font-size: 1.75rem !important;
    }

    h3 {
        font-size: 1.5rem !important;
    }

    .wp-block-group {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Focus Styles for Accessibility */
a:focus,
button:focus,
.wp-block-button__link:focus {
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}

/* Loading Animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wp-block-group,
.wp-block-column {
    animation: fadeIn 0.6s ease-out;
}

/* Image Optimization */
img {
    max-width: 100%;
    height: auto;
}

/* Print Styles */
@media print {
    .wp-block-navigation,
    .wp-block-button,
    .wp-block-social-links {
        display: none;
    }
}

/* Container Max Width on Large Screens */
@media (min-width: 1400px) {
    .wp-block-group.has-global-padding {
        padding-left: max(1.5rem, calc((100vw - 1200px) / 2));
        padding-right: max(1.5rem, calc((100vw - 1200px) / 2));
    }
}

/* Footer Responsive Adjustments */
@media (max-width: 781px) {
    .wp-block-group.has-foreground-background-color .wp-block-columns {
        gap: 2rem;
    }
}

/* Separator Styling */
.wp-block-separator {
    border: none;
    border-top: 1px solid;
    opacity: 0.3;
}

/* Query Pagination */
.wp-block-query-pagination {
    margin-top: 3rem;
}

.wp-block-query-pagination a {
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.wp-block-query-pagination a:hover {
    background-color: var(--wp--preset--color--light-gray);
}

.wp-block-query-pagination .current {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    padding: 0.5rem 1rem;
    border-radius: 4px;
}

/* ==========================================
   JETPACK ADS & DYNAMIC CONTENT FIX
   ========================================== */

/* Contain all Jetpack ad-related elements */
#google_ads_iframe_container,
.adsbygoogle,
.jetpack-ad,
.wpcnt,
[id*="google_ads"],
[class*="google-ad"],
.adpacks-ad,
.ad-wrapper,
ins.adsbygoogle {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* Prevent ads from participating in flex layout */
    flex-shrink: 0 !important;
}

/* Prevent iframes from breaking layout */
iframe {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix flex containers to handle dynamic content better */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
    min-width: 0 !important;
    /* This prevents flex items from overflowing */
}

/* Ensure main content wrapper doesn't break */
.wp-site-blocks,
.wp-block-post-content {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* Header protection - prevent ads from breaking header layout */
header,
header .wp-block-group,
.wp-block-template-part {
    position: relative;
    overflow: visible !important;
}

/* Force proper alignment in flex containers */
.wp-block-group[style*="display:flex"],
.wp-block-group[style*="display: flex"],
div[class*="wp-block-group"][style*="display:flex"] {
    align-items: center !important;
}

/* Isolate ad containers from affecting sibling elements */
div:has(> .adsbygoogle),
div:has(> iframe[id*="google_ads"]),
div:has(> .jetpack-ad) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
    clear: both !important;
}

/* Clean up any leftover ad containers */
.adsbygoogle:empty,
.jetpack-ad:empty,
[id*="google_ads"]:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Prevent absolutely positioned ads from breaking layout */
.adsbygoogle[style*="position: absolute"],
.jetpack-ad[style*="position: absolute"] {
    position: relative !important;
}

/* Additional protection for navigation alignment */
.wp-block-navigation,
.wp-block-navigation__container {
    overflow: visible !important;
    max-width: none !important;
}

/* Create safe ad zones that don't break layout */
.widget-area,
.sidebar,
article,
main {
    position: relative;
    overflow: visible !important;
}

/* Ensure ads inside content don't break text flow */
article .adsbygoogle,
main .adsbygoogle,
.wp-block-post-content .adsbygoogle {
    display: block !important;
    margin: 2rem auto !important;
    text-align: center !important;
    clear: both !important;
}

/* Responsive ad handling */
@media (max-width: 768px) {
    .adsbygoogle,
    .jetpack-ad,
    iframe[id*="google_ads"] {
        width: 100% !important;
        min-width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Prevent ads from appearing in header/nav */
header .adsbygoogle,
nav .adsbygoogle,
.wp-block-navigation .adsbygoogle {
    display: none !important;
}

/* Grid and flex layout protection */
.wp-block-columns,
.wp-block-group {
    isolation: isolate;
}

/* Ensure constrained layouts stay constrained */
.wp-block-group.has-global-padding,
[class*="wp-container-"] {
    container-type: inline-size;
    max-width: 100% !important;
}
