
/* ==========================================================
   QFEF HOME PARTNERS V1
   ========================================================== */


/* Evite le flash des anciens blocs remplacés */
.expedia-hotels,
.omio-transport-v1{
    display:none !important;
}


/* ==========================================================
   ZONE PARTENAIRES
   ========================================================== */

#qf-home-partners-v1{
    width:min(1180px,calc(100% - 32px));

    margin:
        40px
        auto
        18px;
}


.qf-home-partners-head{
    max-width:760px;

    margin-bottom:22px;
}


.qf-home-partners-kicker{
    display:block;

    margin-bottom:7px;

    color:#e76532;

    font-size:.76rem;
    font-weight:900;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.qf-home-partners-head h2{
    margin:
        0
        0
        8px;

    color:#172033;

    font-size:
        clamp(
            1.8rem,
            4vw,
            2.7rem
        );

    line-height:1.05;

    letter-spacing:-.035em;
}


.qf-home-partners-head p{
    margin:0;

    color:#64748b;

    font-size:1rem;

    line-height:1.6;
}


.qf-home-partners-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:14px;
}


.qf-home-partner{
    position:relative;

    min-height:230px;

    display:flex;
    flex-direction:column;

    padding:24px;

    overflow:hidden;

    border-radius:24px;

    text-decoration:none !important;

    box-shadow:
        0 18px 45px rgba(15,23,42,.14);

    transition:
        transform .18s ease,
        box-shadow .18s ease;

    box-sizing:border-box;
}


.qf-home-partner:hover{
    transform:translateY(-3px);

    box-shadow:
        0 24px 55px rgba(15,23,42,.20);
}


.qf-home-partner-label{
    display:inline-flex;

    width:max-content;

    margin-bottom:auto;

    padding:
        6px
        10px;

    border-radius:999px;

    background:
        rgba(255,255,255,.16);

    color:#fff;

    font-size:.68rem;
    font-weight:900;

    letter-spacing:.08em;

    text-transform:uppercase;
}


.qf-home-partner-icon{
    display:block;

    margin:
        22px
        0
        8px;

    font-size:2.2rem;
}


.qf-home-partner strong{
    display:block;

    color:#fff;

    font-size:1.35rem;
    font-weight:900;

    line-height:1.1;
}


.qf-home-partner p{
    margin:
        7px
        0
        17px;

    color:
        rgba(255,255,255,.88);

    font-size:.88rem;

    line-height:1.4;
}


.qf-home-partner-cta{
    display:flex;

    align-items:center;
    justify-content:center;

    min-height:42px;

    margin-top:auto;

    padding:
        0
        13px;

    border-radius:12px;

    background:#fff;

    color:#111827;

    font-size:.82rem;
    font-weight:900;
}


/* BOOKING */

.qf-home-partner--booking{
    background:
        linear-gradient(
            140deg,
            #003b95,
            #006ce4
        );
}


/* EXPEDIA */

.qf-home-partner--expedia{
    background:
        linear-gradient(
            140deg,
            #061a31,
            #123e67
        );
}


.qf-home-partner--expedia
.qf-home-partner-label{
    color:#ffd949;
}


/* ABRACADAROOM */

.qf-home-partner--abra{
    background:
        linear-gradient(
            140deg,
            #6d28d9,
            #db2777 55%,
            #f97316
        );
}


/* DISCOVERCARS */

.qf-home-partner--discover{
    background:
        linear-gradient(
            140deg,
            #063f42,
            #087f74
        );
}


/* LOCALRENT */

.qf-home-partner--localrent{
    background:
        linear-gradient(
            140deg,
            #8a3419,
            #e76532
        );
}


/* 5 cartes : les deux dernières légèrement plus larges */

.qf-home-partner--discover{
    grid-column:auto;
}

.qf-home-partner--localrent{
    grid-column:auto;
}


.qf-home-partners-note{
    margin:
        12px
        4px
        0;

    color:#94a3b8;

    font-size:.72rem;
}


/* ==========================================================
   OMIO HERO
   ========================================================== */

#qf-home-transport-v1{
    position:relative;

    width:min(1180px,calc(100% - 32px));

    min-height:205px;

    margin:
        18px
        auto
        40px;

    display:flex;
    align-items:center;

    overflow:hidden;

    border-radius:26px;

    background-image:
        linear-gradient(
            90deg,
            rgba(8,15,28,.86) 0%,
            rgba(8,15,28,.64) 50%,
            rgba(8,15,28,.22) 100%
        ),
        url("/assets/images/transport.jpg?v=20260912-qf-home");

    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    box-shadow:
        0 22px 55px rgba(15,23,42,.20);

    box-sizing:border-box;
}


.qf-home-transport-inner{
    position:relative;
    z-index:2;

    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;

    padding:
        38px
        44px;

    box-sizing:border-box;
}


.qf-home-transport-copy{
    display:flex;
    flex-direction:column;

    gap:8px;

    max-width:690px;
}


.qf-home-transport-copy strong{
    color:#fff;

    font-size:
        clamp(
            1.45rem,
            2.6vw,
            2.15rem
        );

    font-weight:900;

    line-height:1.08;

    letter-spacing:-.025em;

    text-shadow:
        0 2px 12px rgba(0,0,0,.30);
}


.qf-home-transport-copy span{
    color:
        rgba(255,255,255,.92);

    font-size:1rem;

    line-height:1.55;

    text-shadow:
        0 2px 10px rgba(0,0,0,.30);
}


.qf-home-transport-btn{
    flex:0 0 auto;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:54px;

    padding:
        0
        25px;

    border-radius:15px;

    background:#fff;

    color:#111827 !important;

    font-size:.96rem;
    font-weight:900;

    text-decoration:none !important;

    white-space:nowrap;

    box-shadow:
        0 12px 30px rgba(0,0,0,.24);
}


/* ==========================================================
   EXIT POPUP
   ========================================================== */

#qfHomeExitV1{
    position:fixed;

    inset:0;

    display:none;

    align-items:center;
    justify-content:center;

    padding:15px;

    background:
        rgba(15,23,42,.76);

    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);

    z-index:2147483000;

    box-sizing:border-box;
}


#qfHomeExitV1.is-open{
    display:flex;
}


.qf-home-exit-box{
    position:relative;

    width:min(980px,96vw);

    max-height:
        calc(100dvh - 30px);

    overflow:auto;

    padding:
        32px;

    border-radius:28px;

    background:#fff;

    box-shadow:
        0 35px 100px
        rgba(0,0,0,.42);

    box-sizing:border-box;
}


.qf-home-exit-close{
    position:absolute;

    top:10px;
    right:12px;

    width:40px;
    height:40px;

    border:0;

    border-radius:50%;

    background:#f1f5f9;

    color:#0f172a;

    font-size:22px;

    cursor:pointer;
}


.qf-home-exit-head{
    max-width:700px;

    margin-bottom:18px;
}


.qf-home-exit-kicker{
    color:#e76532;

    font-size:.70rem;
    font-weight:900;

    letter-spacing:.11em;

    text-transform:uppercase;
}


.qf-home-exit-head h2{
    margin:
        5px
        0
        7px;

    color:#172033;

    font-size:
        clamp(
            1.55rem,
            4vw,
            2.4rem
        );

    line-height:1.05;
}


.qf-home-exit-head p{
    margin:0;

    color:#64748b;

    line-height:1.5;
}


.qf-home-exit-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:10px;
}


.qf-home-exit-card{
    min-height:155px;

    display:flex;
    flex-direction:column;

    padding:17px;

    border-radius:18px;

    text-decoration:none !important;
}


.qf-home-exit-card span{
    font-size:1.75rem;
}


.qf-home-exit-card strong{
    display:block;

    margin:
        7px
        0
        4px;

    color:#fff;

    font-size:1rem;
}


.qf-home-exit-card p{
    margin:
        0
        0
        10px;

    color:
        rgba(255,255,255,.87);

    font-size:.75rem;

    line-height:1.3;
}


.qf-home-exit-card b{
    margin-top:auto;

    padding:
        7px
        9px;

    border-radius:9px;

    background:#fff;

    color:#111827;

    font-size:.72rem;

    text-align:center;
}


.qf-home-exit-booking{
    background:
        linear-gradient(
            140deg,
            #003b95,
            #006ce4
        );
}


.qf-home-exit-expedia{
    background:
        linear-gradient(
            140deg,
            #071b32,
            #123f68
        );
}


.qf-home-exit-abra{
    background:
        linear-gradient(
            140deg,
            #6d28d9,
            #db2777,
            #f97316
        );
}


.qf-home-exit-discover{
    background:
        linear-gradient(
            140deg,
            #063f42,
            #087f74
        );
}


.qf-home-exit-localrent{
    background:
        linear-gradient(
            140deg,
            #8a3419,
            #e76532
        );
}


.qf-home-exit-note{
    margin-top:12px;

    color:#94a3b8;

    font-size:.65rem;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:820px){

    .qf-home-partners-grid{
        grid-template-columns:1fr;
    }


    .qf-home-partner{
        min-height:185px;
    }


    #qf-home-transport-v1{
        width:
            calc(100% - 20px);

        min-height:245px;

        border-radius:20px;
    }


    .qf-home-transport-inner{
        min-height:245px;

        flex-direction:column;

        align-items:flex-start;
        justify-content:flex-end;

        gap:18px;

        padding:
            28px
            22px;
    }


    .qf-home-transport-copy strong{
        font-size:1.55rem;
    }


    .qf-home-transport-copy span{
        font-size:.90rem;
    }


    .qf-home-transport-btn{
        width:100%;

        box-sizing:border-box;
    }


    #qfHomeExitV1{
        align-items:flex-start;

        padding:7px;

        overflow:auto;
    }


    .qf-home-exit-box{
        width:100%;

        max-height:
            calc(100dvh - 14px);

        padding:
            44px
            10px
            12px;

        border-radius:19px;
    }


    .qf-home-exit-grid{
        grid-template-columns:1fr;

        gap:6px;
    }


    .qf-home-exit-card{
        min-height:0;

        display:grid;

        grid-template-columns:
            38px
            minmax(0,1fr);

        grid-template-areas:
            "icon title"
            "icon text"
            "cta cta";

        column-gap:8px;

        padding:9px;
    }


    .qf-home-exit-card span{
        grid-area:icon;

        font-size:1.7rem;
    }


    .qf-home-exit-card strong{
        grid-area:title;

        margin:0;

        font-size:.9rem;
    }


    .qf-home-exit-card p{
        grid-area:text;

        margin:
            2px
            0
            4px;

        font-size:.68rem;
    }


    .qf-home-exit-card b{
        grid-area:cta;

        margin-top:3px;
    }


    .qf-home-exit-head{
        margin-bottom:10px;
    }


    .qf-home-exit-head h2{
        font-size:1.3rem;
    }


    .qf-home-exit-head p{
        font-size:.78rem;
    }

}

/* QFEF-GYG-GLOBAL START */

.qf-home-partner--gyg{
    background:
        linear-gradient(
            140deg,
            #ff5533,
            #ff3158 55%,
            #d91c74
        );
}


.qf-home-exit-gyg{
    background:
        linear-gradient(
            140deg,
            #ff5533,
            #ff3158,
            #d91c74
        );
}

/* QFEF-GYG-GLOBAL END */



/* QFEF-POPUP-COMPACT-SAFE */

@media (min-width:761px){

  #qfHomeExitV1{
    padding:8px !important;
  }

  #qfHomeExitV1 .qf-home-exit-box{
    width:min(880px,96vw) !important;
    max-height:96vh !important;
    padding:15px 20px !important;
  }

  #qfHomeExitV1 .qf-home-exit-head{
    margin-bottom:9px !important;
  }

  #qfHomeExitV1 .qf-home-exit-kicker{
    margin-bottom:3px !important;
    font-size:.72rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-head h2{
    margin:0 0 4px !important;
    font-size:1.5rem !important;
    line-height:1.08 !important;
  }

  #qfHomeExitV1 .qf-home-exit-head p{
    margin:0 !important;
    font-size:.86rem !important;
    line-height:1.25 !important;
  }

  #qfHomeExitV1 .qf-home-exit-grid{
    gap:7px !important;
  }

  #qfHomeExitV1 .qf-home-exit-card{
    padding:9px 11px !important;
  }

  #qfHomeExitV1 .qf-home-exit-card span{
    margin-bottom:2px !important;
    font-size:1.15rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-card strong{
    margin-bottom:2px !important;
    font-size:.93rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-card p{
    margin:0 0 3px !important;
    font-size:.77rem !important;
    line-height:1.17 !important;
  }

  #qfHomeExitV1 .qf-home-exit-card b{
    font-size:.79rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-wee{
    padding:10px 14px !important;
  }

  #qfHomeExitV1 .qf-home-exit-wee img{
    height:27px !important;
    max-width:150px !important;
    margin-bottom:4px !important;
  }

  #qfHomeExitV1 .qf-home-exit-wee b{
    min-height:31px !important;
    margin-top:3px !important;
    padding:5px 13px !important;
  }

  #qfHomeExitV1 .qf-home-exit-note{
    margin-top:6px !important;
    font-size:.68rem !important;
  }

}


/* QFEF-POPUP-NOSCROLL-V1 */

@media (min-width:761px){

  #qfHomeExitV1{
    padding:6px !important;
  }

  #qfHomeExitV1 .qf-home-exit-box{
    width:min(900px,97vw) !important;
    max-height:calc(100vh - 12px) !important;
    padding:13px 18px !important;
    overflow:hidden !important;
  }

  #qfHomeExitV1 .qf-home-exit-head{
    margin-bottom:7px !important;
  }

  #qfHomeExitV1 .qf-home-exit-kicker{
    margin-bottom:2px !important;
    font-size:.68rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-head h2{
    margin:0 0 3px !important;
    font-size:1.42rem !important;
    line-height:1.05 !important;
  }

  #qfHomeExitV1 .qf-home-exit-head p{
    margin:0 !important;
    font-size:.82rem !important;
    line-height:1.18 !important;
  }

  #qfHomeExitV1 .qf-home-exit-grid{
    gap:6px !important;
  }

  #qfHomeExitV1 .qf-home-exit-card{
    padding:7px 10px !important;
  }

  #qfHomeExitV1 .qf-home-exit-card span{
    margin-bottom:1px !important;
    font-size:1.05rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-card strong{
    margin-bottom:1px !important;
    font-size:.90rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-card p{
    margin:0 0 2px !important;
    font-size:.73rem !important;
    line-height:1.12 !important;
  }

  #qfHomeExitV1 .qf-home-exit-card b{
    font-size:.76rem !important;
  }

  #qfHomeExitV1 .qf-home-exit-wee{
    padding:8px 12px !important;
  }

  #qfHomeExitV1 .qf-home-exit-wee img{
    height:24px !important;
    max-width:145px !important;
    margin-bottom:2px !important;
  }

  #qfHomeExitV1 .qf-home-exit-wee b{
    min-height:28px !important;
    margin-top:2px !important;
    padding:4px 12px !important;
  }

  #qfHomeExitV1 .qf-home-exit-note{
    margin-top:4px !important;
    font-size:.64rem !important;
  }

}


/* QFEF-WEE-BANNER-MOBILE-COMPACT */
/* UNIQUEMENT MOBILE - NE TOUCHE PAS A LA POPUP */

@media (max-width:760px){

  #qfef-wee-growth-v1{
    margin:14px 10px !important;
    padding:16px 14px !important;
    border-radius:16px !important;
  }

  #qfef-wee-growth-v1 .qfefWeeKicker{
    gap:8px !important;
    margin-bottom:6px !important;
    font-size:.72rem !important;
  }

  #qfef-wee-growth-v1 .qfefWeeLogo{
    height:30px !important;
    max-width:135px !important;
  }

  #qfef-wee-growth-v1 h2{
    margin-bottom:6px !important;
    font-size:1.35rem !important;
    line-height:1.15 !important;
  }

  #qfef-wee-growth-v1 p{
    margin-bottom:12px !important;
    font-size:.90rem !important;
    line-height:1.4 !important;
  }

  #qfef-wee-growth-v1 .qfefWeeActions{
    gap:7px !important;
  }

  #qfef-wee-growth-v1 .qfefWeeActions a{
    padding:9px 11px !important;
    font-size:.84rem !important;
    min-height:0 !important;
  }

}

