/* Container Defaults */
.abm-banner-wrapper {
    display: block;
    margin: 20px 0;
    text-decoration: none !important;
}

.abm-link-wrapper:hover {
    text-decoration: none;
}

/* --- CTR Optimization Sizes --- */

/* 1. Leaderboard (Header/Footer) - 728x90 desktop, fluid mobile */
.abm-size-leaderboard {
    max-width: 728px;
    margin-left: auto;
    margin-right: auto;
}
.abm-size-leaderboard .card {
    min-height: 90px;
    flex-direction: row !important; /* Side by side for leaderboard */
    align-items: center;
}
.abm-size-leaderboard .card-body {
    display: flex;
    flex-direction: row !important;
    align-items: center;
    width: 100%;
}
.abm-size-leaderboard .abm-content {
    flex-grow: 1;
    text-align: left;
    padding-right: 15px;
}
.abm-size-leaderboard .abm-cta {
    min-width: 120px;
}

/* 2. Sidebar (Square) - 300x250 */
.abm-size-sidebar {
    max-width: 300px;
    min-height: 250px;
    margin-left: auto;
    margin-right: auto;
}

/* 3. In-Content (Large Rectangle) - 336x280 (Highly visible) */
.abm-size-content {
    max-width: 600px; /* Fluid for mobile, capped for desktop reading flow */
    margin: 2rem auto;
}
.abm-size-content .card {
    background: #f8f9fa; /* Slight grey background to stand out from white content */
    border-left: 4px solid #0d6efd !important; /* Accent border */
}

/* Hover Effects for Higher CTR */
.abm-text-banner {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.abm-text-banner:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}

/* Mobile Tweaks */
@media (max-width: 768px) {
    .abm-size-leaderboard .card-body {
        flex-direction: column !important;
        text-align: center;
    }
    .abm-size-leaderboard .abm-content {
        margin-bottom: 10px;
        padding-right: 0;
    }
}

/* 4. Square (High Impact) - 1:1 Ratio, max 400px */
.abm-size-square {
    max-width: 400px;
    width: 100%;
    /* Modern CSS for perfect square */
    aspect-ratio: 1 / 1; 
}

/* Specific styling for Square Text Ads */
.abm-size-square .card-body {
    /* Ensure content is vertically centered for the square look */
    justify-content: center !important; 
    padding: 2rem;
}

.abm-size-square .card-title {
    font-size: 1.5rem; /* Larger Heading */
    margin-bottom: 1rem !important;
}

.abm-size-square .card-text {
    line-height: 1.6;
}

.abm-size-square .btn {
    font-size: 1.1rem;
    padding: 0.5rem 1.5rem;
    margin-top: 10px;
    width: auto; /* Allow button to fit text rather than full width in square */
}

/* Ensure images in square mode cover the area nicely */
.abm-size-square img.abm-banner-img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}
.bandis {
    font-size: 0.6rem;
    background: #eee;
    top: 0;
    right: 0;
    padding: 1px 3px;
    border-radius: 3px 0 0 3px;
}
.abm-text-banner i, .abm-heading-em {
    margin-top: 5px;
}