/* adx-engine.css - eroticpaysites.com (2026-10-02). Loaded by the child theme's functions.php.
   Everything is scoped: layout rules need body.adx-layout-feature-rows, the coupon rules need
   .adx-coupon-block - a page with neither is unaffected. */

/* ── Coupon block ([adx_coupon]) ─────────────────────────────────────────── */
.adx-coupon-block { margin: 28px 0; text-align: center; }
.adx-coupon-lead { margin: 0 0 12px; font-size: 17px; font-weight: 600; line-height: 1.4; }
.adx-coupon-link {
    display: inline-block; max-width: 100%;
    border: 1px solid #e3e3e3; border-radius: 8px; overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,.06); transition: box-shadow .2s;
}
.adx-coupon-link:hover { box-shadow: 0 4px 16px rgba(0,0,0,.14); }
.adx-coupon-link img.adx-coupon-img { display: block; width: auto; max-width: 100%; height: auto; }

/* ── Layout C "feature-rows": one column, big image left, text right ────────
   Home + archives (.news-community cards). Fixed px image height with the <img> positioned
   absolutely: aspect-ratio / percentage-height tricks mis-sized flex/grid items on this
   Rehub markup before (see the TPR notes), px heights are reliable. */
body.adx-layout-feature-rows .news-community {
    display: block !important;
    margin: 0 0 20px !important;
    padding: 18px 20px !important;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
    transition: box-shadow .2s;
}
body.adx-layout-feature-rows .news-community:hover { box-shadow: 0 4px 16px rgba(0,0,0,.09); }
body.adx-layout-feature-rows .news-community::before,
body.adx-layout-feature-rows .news-community::after { display: none !important; }

body.adx-layout-feature-rows .news-community .rh_grid_image_wrapper {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr);
    grid-template-areas: "img title" "img desc" "img btn";
    grid-template-rows: auto 1fr auto;
    column-gap: 24px;
    row-gap: 8px;
    align-items: start;
    width: 100% !important;
}
body.adx-layout-feature-rows .news-community .newsimage { grid-area: img; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.adx-layout-feature-rows .news-community .rh_gr_right_sec { grid-area: title; }
body.adx-layout-feature-rows .news-community .rh_gr_right_desc { grid-area: desc; }
body.adx-layout-feature-rows .news-community .rh_gr_right_btn { grid-area: btn; align-self: end; }
body.adx-layout-feature-rows .news-community .rh_gr_right_sec,
body.adx-layout-feature-rows .news-community .rh_gr_right_desc,
body.adx-layout-feature-rows .news-community .rh_gr_right_btn {
    float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
}

body.adx-layout-feature-rows .news-community .newsimage figure {
    display: block !important; position: relative; width: 100% !important;
    height: 180px; margin: 0; background: #f4f4f4; border-radius: 8px; overflow: hidden;
}
body.adx-layout-feature-rows .news-community .newsimage figure > a {
    position: absolute !important; inset: 0 !important; display: block;
}
body.adx-layout-feature-rows .news-community .newsimage figure img {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important;
    object-fit: contain !important; object-position: center !important; display: block;
}

body.adx-layout-feature-rows .news-community .rh_gr_right_sec h2 { margin: 0 0 6px; font-size: 20px; line-height: 26px; }
body.adx-layout-feature-rows .news-community .rh_gr_right_desc p {
    margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* the theme's own wishlist block can sit inside the description column - keep it out of the way */
body.adx-layout-feature-rows .news-community .rh_gr_right_desc .wp-block-group { display: none; }
body.adx-layout-feature-rows .news-community .rh_gr_right_btn { display: flex; justify-content: flex-end; }
body.adx-layout-feature-rows .news-community .rh_gr_right_btn .rh-flex-center-align,
body.adx-layout-feature-rows .news-community .rh_gr_right_btn .rh-flex-right-align,
body.adx-layout-feature-rows .news-community .rh_gr_right_btn .priced_block,
body.adx-layout-feature-rows .news-community .rh_gr_right_btn .rh_button_wrapper { width: auto !important; margin: 0 !important; }

@media (max-width: 768px) {
    body.adx-layout-feature-rows .news-community .rh_grid_image_wrapper {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "img" "title" "desc" "btn";
        grid-template-rows: auto;
    }
    body.adx-layout-feature-rows .news-community .newsimage figure { height: 210px; }
    body.adx-layout-feature-rows .news-community .rh_gr_right_btn { display: block; }
    body.adx-layout-feature-rows .news-community .rh_gr_right_btn .btn_offer_block { display: block; width: 100% !important; text-align: center; box-sizing: border-box; }
}

/* ── PREVIEW ?adx_xl=1: bigger images (380x240). Only active with body.adx-xl. ────────────
   Portrait/near-square and normal photos are filled (cropped from the top so faces stay);
   very wide or very narrow banners stay "contain" so their text is never cut. */
body.adx-layout-feature-rows.adx-xl .news-community .rh_grid_image_wrapper { grid-template-columns: 380px minmax(0, 1fr); column-gap: 28px; }
body.adx-layout-feature-rows.adx-xl .news-community .newsimage figure { height: 240px; }
body.adx-layout-feature-rows.adx-xl .news-community .newsimage figure img.adx-img-tall,
body.adx-layout-feature-rows.adx-xl .news-community .newsimage figure img.adx-img-photo { object-fit: cover !important; }
body.adx-layout-feature-rows.adx-xl .news-community .newsimage figure img.adx-img-tall { object-position: center top !important; }
body.adx-layout-feature-rows.adx-xl .news-community .rh_gr_right_sec h2 { font-size: 22px; line-height: 28px; }
@media (max-width: 768px) {
    body.adx-layout-feature-rows.adx-xl .news-community .rh_grid_image_wrapper { grid-template-columns: minmax(0, 1fr); }
    body.adx-layout-feature-rows.adx-xl .news-community .newsimage figure { height: 240px; }
}
