/*
 * MMB-HOME-P04-FIX03 — Theme Contrast Lock
 * Load LAST to neutralize legacy hard-coded colors and force readable contrast.
 * Rules requested by owner:
 * - background blue  => icon + text white
 * - background red   => icon + text white
 * - background yellow=> icon + text black
 * - hover on blue/red/yellow blocks must keep readable contrast; icons/text must not flip to the same tone as background.
 */

:root{
    --alo-lock-on-blue:#FFFFFF;
    --alo-lock-on-red:#FFFFFF;
    --alo-lock-on-yellow:#111827;
    --alo-lock-soft:color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 10%, #FFFFFF);
    --alo-lock-soft-strong:color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 16%, #FFFFFF);
    --alo-lock-border:color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 22%, transparent);
    --alo-lock-shadow:0 10px 24px color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 18%, transparent);
    --alo-lock-shadow-strong:0 14px 32px color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 24%, transparent);
}

/* ---------- UNIVERSAL CONTRAST GROUPS ---------- */
body.w11-pro-site :is(
    .btn-primary,.bg-primary,.badge.bg-primary,
    .wt-listing-card__call,.wt-detail-btn-call,.wt-detail-btn-primary,.wt-shop-call,
    .w2-commerce-btn--primary,.w2-commerce-search button,
    .ctcat-title-search button,.ctcat-item__conversion a:first-child,
    .dtx-card__conversion a:first-child,.dtx-mobile-filter,
    .ct5-btn-primary,.ct5-side-actions a:first-child,.ct5-social-row-primary,
    .market-search-submit,.market-result-cta,.route-primary-cta,.route-btn--primary,
    .dt-cta-button,.authx-submit,.alo-contact-submit,
    .shop-unified-lead-submit,.shop-unified-success-close,
    .xe-shop-hero-btn--primary,.vpd-lead-submit,.taxi-shop-lead-submit,.seller-btn,
    .mmb-p09-card__cta
),
body.w11-pro-site :is(
    .btn-warning,.bg-warning,.badge.bg-warning,
    .header-wow-sticky-add,.alogiare-search-btn,.alogiare-location-current,
    .btn-post-free,.post-free-btn,.w12-post-cta,.w12-post-floating a,
    .dtx-card__shop-corner,.ctcat-item__shop-cta,
    .agr-lead-submit,.booking-form button[type="submit"],.alogiare-booking-form button[type="submit"],
    .toolbar-link a,.header-wow-sticky-search-action,.mmb-p02-post,.mmb-p02-mobile-menu__post
),
body.w11-pro-site :is(
    .btn-danger,.bg-danger,.badge.bg-danger,.alert-danger .btn,
    .header-danger-action,.cta-danger,.danger-chip
){
    isolation:isolate;
}

/* Blue / primary backgrounds => white foreground */
body.w11-pro-site :is(
    .btn-primary,.bg-primary,.badge.bg-primary,
    .wt-listing-card__call,.wt-detail-btn-call,.wt-detail-btn-primary,.wt-shop-call,
    .w2-commerce-btn--primary,.w2-commerce-search button,
    .ctcat-title-search button,.ctcat-item__conversion a:first-child,
    .dtx-card__conversion a:first-child,.dtx-mobile-filter,
    .ct5-btn-primary,.ct5-side-actions a:first-child,.ct5-social-row-primary,
    .market-search-submit,.market-result-cta,.route-primary-cta,.route-btn--primary,
    .dt-cta-button,.authx-submit,.alo-contact-submit,
    .shop-unified-lead-submit,.shop-unified-success-close,
    .xe-shop-hero-btn--primary,.vpd-lead-submit,.taxi-shop-lead-submit,.seller-btn,
    .mmb-p09-card__cta
),
body.w11-pro-site :is(
    .header-wow-sticky-add,.alogiare-search-btn,.alogiare-location-current,
    .btn-post-free,.post-free-btn,.w12-post-cta,.w12-post-floating a,
    .dtx-card__shop-corner,.ctcat-item__shop-cta,
    .agr-lead-submit,.booking-form button[type="submit"],.alogiare-booking-form button[type="submit"],
    .header-wow-sticky-search-action,.mmb-p02-post,.mmb-p02-mobile-menu__post
){
    color:var(--alo-lock-on-blue)!important;
}
body.w11-pro-site :is(
    .btn-primary,.bg-primary,.badge.bg-primary,
    .wt-listing-card__call,.wt-detail-btn-call,.wt-detail-btn-primary,.wt-shop-call,
    .w2-commerce-btn--primary,.w2-commerce-search button,
    .ctcat-title-search button,.ctcat-item__conversion a:first-child,
    .dtx-card__conversion a:first-child,.dtx-mobile-filter,
    .ct5-btn-primary,.ct5-side-actions a:first-child,.ct5-social-row-primary,
    .market-search-submit,.market-result-cta,.route-primary-cta,.route-btn--primary,
    .dt-cta-button,.authx-submit,.alo-contact-submit,
    .shop-unified-lead-submit,.shop-unified-success-close,
    .xe-shop-hero-btn--primary,.vpd-lead-submit,.taxi-shop-lead-submit,.seller-btn,
    .mmb-p09-card__cta,
    .header-wow-sticky-add,.alogiare-search-btn,.alogiare-location-current,
    .btn-post-free,.post-free-btn,.w12-post-cta,.w12-post-floating a,
    .dtx-card__shop-corner,.ctcat-item__shop-cta,
    .agr-lead-submit,.booking-form button[type="submit"],.alogiare-booking-form button[type="submit"],
    .header-wow-sticky-search-action,.mmb-p02-post,.mmb-p02-mobile-menu__post,
    .btn-danger,.bg-danger,.badge.bg-danger,.alert-danger .btn,
    .header-danger-action,.cta-danger,.danger-chip
):is(:hover,:focus,.is-active,.active),
body.w11-pro-site :is(
    .btn-danger,.bg-danger,.badge.bg-danger,.alert-danger .btn,
    .header-danger-action,.cta-danger,.danger-chip
){
    color:var(--alo-lock-on-red)!important;
}

/* Yellow backgrounds => black foreground */
body.w11-pro-site :is(.btn-warning,.bg-warning,.badge.bg-warning,.header-action-warning,.cta-warning,.warning-chip){
    color:var(--alo-lock-on-yellow)!important;
}
body.w11-pro-site :is(
    .btn-primary,.bg-primary,.badge.bg-primary,
    .btn-warning,.bg-warning,.badge.bg-warning,
    .btn-danger,.bg-danger,.badge.bg-danger,
    .wt-listing-card__call,.wt-detail-btn-call,.wt-detail-btn-primary,.wt-shop-call,
    .w2-commerce-btn--primary,.w2-commerce-search button,
    .ctcat-title-search button,.ctcat-item__conversion a:first-child,
    .dtx-card__conversion a:first-child,.dtx-mobile-filter,
    .ct5-btn-primary,.ct5-side-actions a:first-child,.ct5-social-row-primary,
    .market-search-submit,.market-result-cta,.route-primary-cta,.route-btn--primary,
    .dt-cta-button,.authx-submit,.alo-contact-submit,
    .shop-unified-lead-submit,.shop-unified-success-close,
    .xe-shop-hero-btn--primary,.vpd-lead-submit,.taxi-shop-lead-submit,.seller-btn,
    .header-wow-sticky-add,.alogiare-search-btn,.alogiare-location-current,
    .btn-post-free,.post-free-btn,.w12-post-cta,.w12-post-floating a,
    .dtx-card__shop-corner,.ctcat-item__shop-cta,
    .agr-lead-submit,.booking-form button[type="submit"],.alogiare-booking-form button[type="submit"],
    .toolbar-link a,.header-wow-sticky-search-action,.mmb-p02-post,.mmb-p02-mobile-menu__post,
    .mmb-p09-card__cta,.header-action-warning,.cta-warning,.warning-chip,.header-danger-action,.cta-danger,.danger-chip
) :is(i,.bi,.fa,.fas,.far,.fab,svg,svg *,span,b,strong,small,em){
    color:inherit!important;
    fill:currentColor!important;
    stroke:currentColor!important;
}

/* Keep text/icon contrast during hover on colored surfaces */
body.w11-pro-site :is(
    .btn-primary,.btn-warning,.btn-danger,
    .wt-listing-card__call,.wt-detail-btn-call,.wt-detail-btn-primary,.wt-shop-call,
    .w2-commerce-btn--primary,.w2-commerce-search button,
    .ctcat-title-search button,.ctcat-item__conversion a:first-child,
    .dtx-card__conversion a:first-child,.dtx-mobile-filter,
    .ct5-btn-primary,.ct5-side-actions a:first-child,.ct5-social-row-primary,
    .market-search-submit,.market-result-cta,.route-primary-cta,.route-btn--primary,
    .dt-cta-button,.authx-submit,.alo-contact-submit,
    .shop-unified-lead-submit,.shop-unified-success-close,
    .xe-shop-hero-btn--primary,.vpd-lead-submit,.taxi-shop-lead-submit,.seller-btn,
    .header-wow-sticky-add,.alogiare-search-btn,.alogiare-location-current,
    .btn-post-free,.post-free-btn,.w12-post-cta,.w12-post-floating a,
    .dtx-card__shop-corner,.ctcat-item__shop-cta,
    .agr-lead-submit,.booking-form button[type="submit"],.alogiare-booking-form button[type="submit"],
    .toolbar-link a,.header-wow-sticky-search-action,.mmb-p02-post,.mmb-p02-mobile-menu__post,
    .mmb-p09-card__cta
):hover :is(i,.bi,.fa,.fas,.far,.fab,svg,svg *,span,b,strong,small,em){
    color:inherit!important;
    fill:currentColor!important;
    stroke:currentColor!important;
}

/* ---------- HOME + MMB SPECIFIC COLOR CLEANUP ---------- */
body.w11-pro-site .mmb-home :is(.mmb-home-panel,.mmb-p04-category-shell,.mmb-p06-panel,.mmb-p07-panel,.mmb-p08-panel,.mmb-p09-panel){
    border-color:var(--alo-ui-card-border-color, #CFE8F3)!important;
}

body.w11-pro-site :is(
    .mmb-home-heading h2 i,
    .mmb-home-benefits i,
    .mmb-home-local-link>i:first-child,
    .mmb-home-local-link>i:last-child,
    .mmb-p06-heading__icon,.mmb-p07-heading__icon,.mmb-p07-card__pin,
    .mmb-p09-heading__icon,.mmb-p09-card__avatar,
    .mmb-home-category__icon,
    .mmb-p04-category__icon,
    .mmb-p03-benefit__icon,
    .mmb-home-area-card__visual
){
    color:var(--alo-ui-primary-button-bg, #0879B7)!important;
}

body.w11-pro-site :is(
    .mmb-home-benefits i,
    .mmb-home-local-link>i:first-child,
    .mmb-p06-heading__icon,.mmb-p07-heading__icon,.mmb-p07-card__pin,
    .mmb-p09-heading__icon,.mmb-p09-card__avatar,
    .mmb-home-category__icon,
    .mmb-home-area-card__visual
){
    background:var(--alo-lock-soft)!important;
    border:1px solid var(--alo-lock-border)!important;
    box-shadow:none!important;
}

body.w11-pro-site .mmb-home :is(
    .mmb-home-category__icon,
    .mmb-home-category:nth-child(3n+2) .mmb-home-category__icon,
    .mmb-home-category:nth-child(3n) .mmb-home-category__icon
){
    background:var(--alo-lock-soft)!important;
    color:var(--alo-ui-primary-button-bg, #0879B7)!important;
}

body.w11-pro-site .mmb-home-local-link{
    border-color:var(--alo-ui-card-border-color, #CFE8F3)!important;
    color:var(--alo-ui-text-color, #16394E)!important;
}
body.w11-pro-site .mmb-home-local-link:hover{
    border-color:var(--alo-ui-primary-button-bg, #0879B7)!important;
    box-shadow:0 8px 22px color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 10%, transparent)!important;
}
body.w11-pro-site .mmb-home-local-link small{color:var(--alo-ui-muted-text-color, #4D7389)!important}

body.w11-pro-site .mmb-p07-card{
    border-color:var(--alo-ui-card-border-color, #CFE8F3)!important;
}
body.w11-pro-site .mmb-p07-card:hover{
    border-color:var(--alo-ui-primary-button-bg, #0879B7)!important;
    box-shadow:0 10px 22px color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 12%, transparent)!important;
}
body.w11-pro-site .mmb-p07-card__arrow{color:var(--alo-ui-primary-button-bg, #0879B7)!important}

body.w11-pro-site .mmb-p09-heading__icon,
body.w11-pro-site .mmb-p06-heading__icon,
body.w11-pro-site .mmb-p07-heading__icon{
    box-shadow:none!important;
}
body.w11-pro-site .mmb-p09-card{
    border-color:var(--alo-ui-card-border-color, #CFE8F3)!important;
}
body.w11-pro-site .mmb-p09-card:hover{
    border-color:var(--alo-ui-primary-button-bg, #0879B7)!important;
    box-shadow:var(--alo-lock-shadow-strong)!important;
}
body.w11-pro-site .mmb-p09-card__avatar{
    background:var(--alo-lock-soft)!important;
    color:var(--alo-ui-primary-button-bg, #0879B7)!important;
    border-color:var(--alo-lock-border)!important;
}
body.w11-pro-site .mmb-p09-card__meta i,
body.w11-pro-site .mmb-p09-view-all,
body.w11-pro-site .mmb-p06-view-all{
    color:var(--alo-ui-link-color, var(--alo-ui-primary-button-bg, #0879B7))!important;
}
body.w11-pro-site .mmb-p09-card__cta{
    background:var(--alo-ui-primary-button-bg, #0879B7)!important;
    color:var(--alo-ui-primary-button-text-color, #FFFFFF)!important;
    border-color:var(--alo-ui-primary-button-bg, #0879B7)!important;
    box-shadow:var(--alo-lock-shadow)!important;
}
body.w11-pro-site .mmb-p09-card__cta :is(i,.bi,.fa,span,b,strong,small){
    color:inherit!important;
}
body.w11-pro-site .mmb-p09-card:hover .mmb-p09-card__cta,
body.w11-pro-site .mmb-p09-card__cta:hover{
    background:var(--alo-ui-primary-button-hover-bg, var(--alo-ui-link-hover-color, #086A9F))!important;
    border-color:var(--alo-ui-primary-button-hover-bg, var(--alo-ui-link-hover-color, #086A9F))!important;
    color:var(--alo-ui-primary-button-text-color, #FFFFFF)!important;
}

body.w11-pro-site .mmb-home-cta{
    background:linear-gradient(120deg,
        color-mix(in srgb, var(--alo-ui-primary-button-hover-bg, #075A8A) 82%, #0F172A),
        var(--alo-ui-primary-button-bg, #0878B5)
    )!important;
    border-color:color-mix(in srgb, var(--alo-ui-primary-button-bg, #0878B5) 32%, transparent)!important;
}
body.w11-pro-site .mmb-home-cta,
body.w11-pro-site .mmb-home-cta :is(h2,p,div,span,b,strong,small,i){
    color:#FFFFFF!important;
}
body.w11-pro-site .mmb-home-cta>a{
    background:#FFFFFF!important;
    color:var(--alo-ui-primary-button-hover-bg, #075A8A)!important;
    border-color:#FFFFFF!important;
}
body.w11-pro-site .mmb-home-cta>a:hover{
    background:var(--alo-lock-soft)!important;
    color:var(--alo-ui-primary-button-hover-bg, #075A8A)!important;
}
body.w11-pro-site .mmb-home-cta>a :is(i,.bi,.fa,span,b,strong,small){color:inherit!important}

/* Floating/toolbar buttons that kept old yellow-red states */
body.w11-pro-site .toolbar-link a,
body.w11-pro-site .header-wow-sticky-search-action,
body.w11-pro-site .mmb-p02-post,
body.w11-pro-site .mmb-p02-mobile-menu__post{
    background:var(--alo-ui-header-action-bg, var(--alo-ui-primary-button-bg, #0879B7))!important;
    color:var(--alo-ui-header-action-text-color, #FFFFFF)!important;
    border-color:var(--alo-ui-header-action-bg, var(--alo-ui-primary-button-bg, #0879B7))!important;
}
body.w11-pro-site .toolbar-link a:hover,
body.w11-pro-site .header-wow-sticky-search-action:hover,
body.w11-pro-site .mmb-p02-post:hover,
body.w11-pro-site .mmb-p02-mobile-menu__post:hover{
    background:var(--alo-ui-header-action-hover-bg, var(--alo-ui-primary-button-hover-bg, #086A9F))!important;
    color:var(--alo-ui-header-action-text-color, #FFFFFF)!important;
    border-color:var(--alo-ui-header-action-hover-bg, var(--alo-ui-primary-button-hover-bg, #086A9F))!important;
}
body.w11-pro-site .toolbar-link a :is(i,.bi,.fa,span,b,strong,small),
body.w11-pro-site .header-wow-sticky-search-action :is(i,.bi,.fa,span,b,strong,small),
body.w11-pro-site .mmb-p02-post :is(i,.bi,.fa,span,b,strong,small),
body.w11-pro-site .mmb-p02-mobile-menu__post :is(i,.bi,.fa,span,b,strong,small){
    color:inherit!important;
}

/* Footer quick guarantee: links/icons on dark footer stay readable */
body.w11-pro-site .dtf-pro-footer :is(.dtf-pro-title-icon,.dtf-pro-title-icon i,.dtf-pro-link-list a:hover){
    color:var(--dtf-link, #C7F1FF)!important;
}

@media (max-width: 767.98px){
    body.w11-pro-site .mmb-p07-grid{gap:8px!important}
    body.w11-pro-site .mmb-p09-card{box-shadow:0 6px 18px color-mix(in srgb, var(--alo-ui-primary-button-bg, #0879B7) 6%, transparent)!important}
    body.w11-pro-site .mmb-home-local-link>i:first-child{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}
}
