﻿.ads-safe-zone {
    /* Explicitly lock box model behavior to prevent layout sizing shifts */
    box-sizing: border-box !important;
    
    /* Keeps layout space reserved for the observer without blocking clicks */
    visibility: hidden; 
    opacity: 0;
    pointer-events: none; 
    
    /* Smooth opacity fade-in transitions */
    transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out, max-height 0.5s ease-in-out, padding 0.5s ease-in-out, margin 0.5s ease-in-out;
    
    margin: 10px auto;
    max-width: 100%;
    text-align: center;
    padding: 20px;
    border-radius: 8px;
    
    /* CRITICAL: Base box for the IntersectionObserver tracking footprint */
    min-height: 150px; 
    max-height: 1200px;
    
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
    background-color: #f8f9fa;
    overflow: hidden;
}

/* Active State: Triggered when safe human interaction matches viewport footprint */
.ads-safe-zone.is-active {
    visibility: visible; 
    opacity: 1;
    pointer-events: auto;
}

/* Unfilled State: If AdSense returns no inventory, cleanly collapse the space to 0 */
.ads-safe-zone.is-unfilled {
    visibility: hidden !important;
    opacity: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Defused Lockdown State: Keeps the box static, removes borders to look like native space */
.ads-safe-zone.is-defused {
    box-sizing: border-box !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.ads-title {
    display: block;
    font-size: 11px;
    color: #adb5bd;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: sans-serif;
}

.adsbygoogle {
    display: block;
    background: #fafafa;
    border: 1px solid #f0f0f0;
    overflow: hidden;
    box-sizing: border-box !important;
}