.adsense-slot {
    width: min(100%, 1120px);
    margin: clamp(1.8rem, 4vw, 3rem) auto;
}

.adsense-slot--top {
    margin-top: clamp(1.5rem, 3vw, 2.6rem);
}

.adsense-slot--board {
    width: 100%;
    margin: 0;
}

.adsense-slot--bottom {
    margin-bottom: clamp(2rem, 4.5vw, 3.6rem);
}

.adsense-slot .adsbygoogle {
    display: block;
    width: 100%;
    min-height: clamp(120px, 18vw, 200px);
}

.adsense-card {
    border-radius: 22px;
    background: linear-gradient(160deg, rgba(12, 193, 185, 0.18), rgba(12, 193, 185, 0.04));
    overflow: hidden;
}

.adsense-card .card-body {
    padding: clamp(0.75rem, 1.8vw, 1.2rem);
}

.adsense-slot--board {
    border-radius: clamp(18px, 3vw, 22px);
    background: rgba(255, 255, 255, 0.82);
    padding: clamp(0.75rem, 1.5vw, 1rem);
}

.adsense-slot--board .adsbygoogle {
    border-radius: clamp(14px, 2.5vw, 18px);
    min-height: clamp(240px, 34vw, 360px);
}

[data-theme="dark"] .adsense-card {
    background: linear-gradient(160deg, rgba(12, 193, 185, 0.28), rgba(12, 193, 185, 0.12));
}

[data-theme="dark"] .adsense-slot--board {
    background: rgba(16, 20, 28, 0.72);
}

@media (max-width: 1199.98px) {
    .adsense-slot {
        width: min(96%, 960px);
    }
}

@media (max-width: 991.98px) {
    .adsense-slot {
        width: min(94%, 760px);
    }
}

@media (max-width: 767.98px) {
    .adsense-slot {
        margin: 1.6rem auto;
    }

    .adsense-slot--top {
        margin-top: 1.35rem;
    }

    .adsense-slot--bottom {
        margin-bottom: 1.9rem;
    }

    .adsense-slot .adsbygoogle {
        min-height: clamp(110px, 28vw, 160px);
    }

    .adsense-slot--board {
        padding: 0.65rem;
    }
}

@media (max-width: 575.98px) {
    .adsense-slot {
        width: calc(100% - 1.5rem);
        margin: 1.25rem auto;
    }

    .adsense-card {
        border-radius: 18px;
    }

    .adsense-slot--board .adsbygoogle {
        min-height: clamp(200px, 48vw, 280px);
    }
}
