            /* ===== Adsense Ads Slots ===== */

            .adsense-slot{
                align-items:center;
                background:linear-gradient(135deg,#eef2f7,#dbe4ef);
                border:1px solid rgba(148,163,184,.28);
                border-radius:10px;
                color:#475569;
                contain:layout paint style;
                content-visibility:auto;
                display:flex;
                justify-content:center;
                margin:16px auto 20px;
                overflow:hidden;
                position:relative;
                width:100%;
            }

            .adsense-slot::before{
                animation:adSlotPulse 1.8s ease-in-out infinite;
                background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));
                content:"";
                inset:0;
                position:absolute;
                transform:translateX(-100%);
            }

            .adsense-slot[data-ad-state="loaded"]::before,
            .adsense-slot[data-ad-state="error"]::before,
            .adsense-slot[data-ad-state="empty"]::before{
                content:none;
            }

            .adsense-slot[data-ad-kind="banner"]{
                max-width:970px;
                min-height:90px;
            }

            .adsense-slot[data-ad-kind="rectangle"]{
                max-width:300px;
                min-height:250px;
            }

            .adsense-slot[data-ad-kind="billboard"]{
                max-width:970px;
                min-height:250px;
            }

            .adsense-slot[data-ad-kind="sticky"]{
                display:none;
            }

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

            .adsense-slot[data-ad-state="reserved"],
            .adsense-slot[data-ad-state="loading"]{
                font-size:12px;
                font-weight:600;
                letter-spacing:.04em;
                text-transform:uppercase;
            }

            .adsense-slot[data-ad-state="loaded"]{
                background:transparent;
                border-color:transparent;
            }

            .adsense-slot[data-ad-state="loaded"] > [class^="adsense-slot-"]{
                margin:0;
            }

            @keyframes adSlotPulse{
                from{ transform:translateX(-100%); }
                to{ transform:translateX(100%); }
            }

            @media (max-width: 480px){
                .adsense-slot[data-ad-kind="banner"]{
                    min-height:100px;
                }

                .adsense-slot[data-ad-kind="rectangle"]{
                    max-width:300px;
                    min-height:250px;
                }
            }

            /* ===== Adsense TOP BANNER ===== */
            .adsense-slot-top-banner{
                align-items:center;
                background:#e5e7eb;
                border-radius:8px;
                color:#475569;
                display:flex;
                font-size:13px;
                height:auto; /* 🔑 important */
                justify-content:center;
                overflow-x:hidden;
                margin:10px auto 12px;
                max-height:100px; /* allow 100px ads */
                max-width:970px; /* upper cap */
                min-height:90px; /* default banner height */
                width:100%; /* mobile → 320, desktop → 728/970 */
            }
            @media (max-width: 480px){
                .adsense-slot-top-banner{
                    min-height:100px;
                    margin:8px auto 10px;
                }
            }

            /* ===== Adsense TOP BIG BANNER ===== */
            .adsense-slot-top-big-banner{
                align-items:center;
                background:#e5e7eb;
                border-radius:8px;
                color:#475569;
                display:flex;
                font-size:13px;
                justify-content:center;
                height:250px; 
                margin:16px auto 20px;
                margin-top:16px;
                min-height:250px;    /* required for big creatives */
                max-height:250px;
                max-width:970px;     /* desktop cap */
                overflow:hidden;
                width:100%;
            }
            @media (max-width: 480px){
                .adsense-slot-top-big-banner{
                    max-height:250px;
                    max-width:300px;   /* mobile rectangle */
                    min-height:250px;
                }
            }


            /* ===== Adsense IN-CONTENT RECTANGLE ===== */
            .adsense-slot-rectangle{
                align-items:center;
                background:#e5e7eb;
                border-radius:8px;
                display:flex;
                justify-content:center;
                margin:16px auto 20px;
                max-height:250px;
                max-width:300px;     /* perfect for 300×250 */
                min-height:250px;
                overflow:hidden;
                width:100%;
            }
            @media (max-width: 480px){
                .adsense-slot-rectangle{
                    margin:12px auto 16px;
                    max-height:250px;
                    max-width:300px;
                    min-height:250px;
                }
            }


            /* ===== Adsense MOBILE STICKY BANNER ===== */
            .adsense-slot-mobile-sticky{
                display:none;
            }

            @media (max-width: 480px){
                .adsense-slot-mobile-sticky{
                    align-items:center;
                    background:#e5e7eb;
                    bottom:0;
                    display:flex;
                    justify-content:center;
                    left:0;
                    max-height:100px;
                    min-height:50px;
                    position:fixed;
                    right:0;
                    width:100%;
                    z-index:9999;
                }
            }
