/**
 * Rankwell Ad Manager - Frontend Styles
 *
 * @package RankwellAdManager
 * @since 1.2.0
 */

/* ============================================
   ADVERTISEMENT DISPLAY
   ============================================ */

.rankwell-ad {
    margin: 20px 0;
    padding: 0;
    text-align: center;
    clear: both;
    overflow: hidden;
    box-sizing: border-box;
}

.rankwell-ad img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
}

.rankwell-ad iframe,
.rankwell-ad ins {
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

/* Inner content wrapper — safely contains third-party code */
.rankwell-ad-content {
    overflow: hidden;
}

/* Alignment Styles */
.rankwell-ad.alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
}

.rankwell-ad.alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
}

.rankwell-ad.aligncenter {
    margin-left: auto;
    margin-right: auto;
    float: none;
}

.rankwell-ad.alignnone {
    clear: both;
}

/* ============================================
   ADVERTISEMENT LABEL (SINGLE STYLE)
   Compliant, non-customizable, always visible.
   ============================================ */

.rankwell-ad-label {
    text-align: center;
    color: #646970;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    font-weight: 500;
    line-height: 1.4;
    box-sizing: border-box;
}

/* ============================================
   DEVICE VISIBILITY
   ============================================ */

.rankwell-device-all {
    display: block;
}

/* Desktop only */
@media screen and (max-width: 1024px) {
    .rankwell-device-desktop {
        display: none !important;
    }
}

/* Mobile only */
@media screen and (min-width: 769px) {
    .rankwell-device-mobile {
        display: none !important;
    }
}

/* Tablet only */
@media screen and (min-width: 1025px), screen and (max-width: 768px) {
    .rankwell-device-tablet {
        display: none !important;
    }
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media screen and (max-width: 768px) {
    .rankwell-ad {
        margin: 15px 0;
    }
    .rankwell-ad.alignleft,
    .rankwell-ad.alignright {
        float: none;
        margin: 15px 0;
    }
    .rankwell-ad-label {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
    .rankwell-ad {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}
