/**************/
/* RESPONSIVE */
/**************/

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {

    body { font-size: 1rem; }
    .tel-link { pointer-events: auto; cursor: pointer; }
    .g-2, .gx-2 { --bs-gutter-x: 2rem; }
    .g-2, .gy-2 { --bs-gutter-y: 2rem; }
    .g-5, .gx-5 { --bs-gutter-x: 2rem; }
    .g-5, .gy-5 { --bs-gutter-y: 2rem; }
    p { margin: 0 0 1rem 0; }

    /* header + footer */
    .mainmenu { display: none; }
    header.main { top: 4rem; padding: 0 2rem; gap: 0; }
    .logo { width: 6rem; }
    .tools { display: flex; align-items: center; gap: 2rem; }
    .tools ul { gap: 1rem; }
    .tools ul a { font-size: 1.2rem !important; }
    .overlay_stay { top: 25%; padding: 1rem .25rem; border-radius: 1rem 0 0 1rem; height: auto; }
    .overlay_stay_label { font-size: .85rem; }
    footer { padding: 2rem; margin: 0; font-size: 1rem; }
    .footer_top { display: block; }
    .footer_logos { gap: 2rem; justify-content: center; }
    .footer_logos img { width: auto; height: 5rem; }
    .footer_menu { display: none; }
    .footer_bottom { display: block; align-items: center; padding-top: 2rem; text-align: center; }
    .footer_social { font-size: 2rem; margin-top: 1rem; }

    .custom-select { position: fixed; width: 100%; top: 0; left: 0;  gap: .5rem; border-radius: 0; padding: .75rem 1.5rem; font-size: 1rem; z-index: 9999; }
    .option-list div { padding: .5rem 1.5rem; }
    .option-list { border-radius: 0 0 2rem 2rem; padding: 1.25rem 0 1rem; margin-top: -1.25rem; }

    /* Home */
    #hero { min-height: 100svh; padding: 0 2rem; background-position: top left; }
    #hero h1 { font-size: 3rem; margin: 0 0 1rem 0; }
    #hero h1 span { font-size: 4rem; }
    #hero p, #hero_inner p {font-size: 1rem; }
    #hero p br, #hero_inner p br { display: none; }
    #home_parcours { padding: 2rem; }
    #home_parcours h2 { gap: 1rem; font-size: 2rem; margin: 0 0 2rem 0; }
    #home_parcours h2 span { font-size: 5rem; }
    .aParcours { border-radius: 1.5rem; height: 20rem; }
    .aParcours h3 { font-size: 3rem; }
    .aParcours h3 span { font-size: 1rem; }
    .aParcours_actions { padding: 1.5rem 0 2rem 0 !important; }
    .btn_bordered_white { gap: .5rem; border-radius: 1.5rem; padding: .75rem 1.5rem; font-size: 1rem; }
    .btn_bordered_white i { font-size: 1rem; }
    #home_itineraires { margin: 2rem; }
    .radius { border-radius: 1.5rem; }
    .home_itineraires_text_wrapper { padding: 2rem; }
    .home_itineraires_deco { display: none; }
    #home_map { padding: 2rem 2rem 0 2rem; margin: 0 0 2rem 0; }
    #home_tabs { border-radius: 2rem; margin: 0 2rem; }
    .tab-wrapper { padding: 2rem; gap: 2rem; display: block; }
    .tab-wrapper nav { display: none; }
    .tab-content { display: block !important; min-height: auto; margin-bottom: 2rem; }
    .tab-content:last-child { margin-bottom: 0; }
    .tab_img { position: static; margin: 0 0 1rem 0; border-radius: 1.5rem; overflow: hidden; }
    #home_logos { margin: 2rem 0; }
    #home_logos .slick-slide img { border-radius: 1.5rem; }

    /* About */
    #about_intro { padding: 2rem; }
    ul.stars { margin: 0 0 2rem 0; padding: 0 0 0 1.5rem; }
    ul.stars li { padding: .25rem 0; }
    h2 { font-size: 2rem; margin: 0 0 2rem 0; letter-spacing: normal; }
    h2 span { font-size: 1.5rem;  }
    #about_intro_part2 { margin-top: 2rem; }
    #about_propriete_privee, #about_sopair { padding: 2rem; }
    #about_sopair img { margin: 2rem auto 0 auto; width: 8rem; }
    .planifier_cta { margin: 2rem; border-radius: 1.5rem; font-size: 2rem; }
    .planifier_cta a { padding: 1rem; line-height: 1.2; letter-spacing: normal; }

    /* Parcours */
    #hero_inner h1 { font-size: 3rem; margin: 0 0 1rem 0; }
    #hero_inner h1 span { font-size: 4rem; }
    #hero_inner { min-height: 100svh; padding: 0 2rem; border-radius: 0;  margin: 0 0 2rem 0; }
    #parcours_infos { padding: 2rem; margin: 0; }
    #parcours_infos h2 { font-size: 2rem; }
    #parcours_infos h2 span { font-size: 1.5rem; }
    #parcours_infos h3 { font-size: 1.5rem; margin: 0 0 1.5rem 0; }
    #parcours_infos .row { margin-left: inherit; margin-right: inherit; }
    .parcours_infos__details { margin: 2rem 0; margin-top: 5rem; flex-direction: column-reverse; }
    .parcours_infos__details_left { padding: 2rem; width: calc(100% - 2rem); border-radius: 1.5rem; margin: 1rem; }
    .parcours_infos__details_right { width: 100%; border-radius: 1.5rem 1.5rem 0 0; }
    .parcours_infos__details_tab { left: 2rem; top: -3rem; width: auto; border-radius: 1.5rem 1.5rem 0 0; height: 3rem; font-size: 1.5rem; padding: 0 1.5rem; }
    .parcours_infos__details_left ul.stars { margin-left: 0; }
    .parcours_infos__content_boxe { margin: 2rem 0; border-radius: 1.5rem; padding: 2rem; }
    .two_cols { column-count: 1; column-gap: 0; }
    .parcours_infos__content_boxe .intro_text { text-align: left; }
    .parcours_infos__content_boxe__deco { position: static; width: 10rem; margin-left: auto; display: block; }
    #parcours_infos .parcours_infos__content_boxe h3 { font-size: 2rem; margin: 0 0 2rem 0; }
    #parcours_infos .parcours_infos__content_boxe h4 { font-size: 1.5rem; text-align: right; }
    .parcours_infos__content_boxe.cta { padding: 2rem 2rem 2rem 5rem; }
    .parcours_infos__content_boxe.cta img { left: -1rem;  width: 7rem; }
    .tab-wrapper-hor nav { display: none; }
    .tab-content-hor { display: block !important; }
    .planifier_cta .deco { display: none; }
    iframe { width: 100%; height: 15rem; max-width: 100% !important;  margin-bottom: 1rem; }
    #parcours_north .home_itineraires_deco { display: none; }

    /* Ski de fond Nordique */
    #skinordique_about { min-height: auto; padding: 2rem 3rem 2rem 2rem; }
    #skinordique_about h2 { margin: 0 0 15rem 0; }
    .skinordique_about_content { width: 100%; }
    #skinordique_bonasavoir { padding: 2rem; }
    #skinordique_bonasavoir ul.stars { column-count: 1; column-gap: 0; }
    .skinordique_tabs_intro { padding: 2rem; }
    .skinordique_tabs_deco { position: static; display: block; margin: auto; width: 6rem; display: none; }
    #skinordique_tabs .tab-wrapper { padding: 2rem; margin-bottom: 0; }
    #skinordique_reservation { padding: 2rem; }
    .skinordique_reservation_box { border-radius: 1.5rem; padding: 2rem; margin: 2rem 0 0 0; }
    h3 { font-size: 1.5rem; }
    #skinordique_bonasavoir img { width: 10rem; margin: auto; display: block; }

    /* Partenaires */
    .partners_blue, .partners_green { padding: 2rem;  }
    .featured_partners { border-radius: 1.5rem; display: block; }
    .featured_partners__logo { padding: 1rem 0; }
    .featured_partners__title { font-size: 1.5rem; padding: .5rem 0 2rem; }
    .partners_listing { gap: 1rem; }
    .aPartner { flex-basis: calc(50% - 1rem); margin: 0 0 1rem 0; }
    .aPartner__logo { border-radius: 1.5rem; }
    .aPartner span { font-size: 1rem; padding: 1rem 0 0 0; }

    /* Presse */
    #press_listing { padding: 2rem; }
    .aPress { margin: 0 0 2rem 0; }
    .aPress img { border-radius: 2.5rem; margin: 0 0 1rem 0; }
    .aPress h5 { font-size: 1.5rem; margin: 0 0 1rem 0; }

    /* Parcours Form */
    .parcours_form_content_wrapper { padding: 0 2rem 2rem 2rem; }
    a.btn_file { font-size: 1.25rem; padding: 1rem 2rem; border-radius: 1rem; }
    .parcours_form_content_wrapper_actions { margin-top: 2rem; }
    .parcours_form_content_wrapper h2 { margin: 2rem 0 1rem; }
    .parcours_form_wrapper { padding: 2rem; border-radius: 2rem 2rem 0 0; }
    .parcours_form_wrapper div.wpforms-container-full button[type=submit] { padding: 1rem 2rem !important; border-radius: 2rem !important; font-size: 1rem !important; }
    #parcours_form_content { margin-top: -2rem; margin-bottom: 0; }

    div.wpforms-container-full .wpforms-field-payment-single .wpforms-single-item-price {
        font-size: 1.5rem !important;
    }

    /* Home Popup */
    .home_popup_wrapper { width: 90%; border-radius: 2rem; padding: 2rem; max-height: 90%; overflow-y: auto;}
    .popup_close { top: .5rem; right: .75rem; position: fixed; }
    .popup_close img { width: 1rem; }
    .popup_logo { width: 50%; margin: 2rem auto; }
    .btn_popup { padding: 1rem; width: 100%;  margin: 2rem auto 0; border-radius: 2rem; font-size: 1.5rem; }
    .btn_popup img { display: none; }
    .home_popup_wrapper h1 { font-size: 2rem; margin: 0 0 1rem 0; }
    .home_popup_wrapper h1 br { display: none; }
    .home_popup_wrapper h2 { font-size: 1.5rem; margin: 0 0 2rem 0; }
    .home_popup_wrapper h2 br { display: none; }
    .home_popup_wrapper p { font-size: 1rem; }

}

/* Small devices (portrait tablets and large phones, 600px to 991px) */
@media only screen and (min-width: 601px) and (max-width: 991px)  {

    body, html { overflow-x: hidden; }
    .tel-link { pointer-events: auto; cursor: pointer; }

}

/* Medium devices (landscape tablets, 992px to 1024px) */
@media only screen and (min-width: 992px) and (max-width: 1024px) {

    body, html { overflow-x: hidden; }
    .tel-link { pointer-events: auto; cursor: pointer; }

}

/* Large devices (laptops/desktops, 1025px to 1200px) */
@media only screen and (min-width: 1025px) and (max-width: 1200px) {

    body, html { overflow-x: hidden; }

}

/* Extra large devices (large laptops and desktops, 1201px to 1366px) */
@media only screen and (min-width: 1201px) and (max-width: 1366px) {

    body, html { overflow-x: hidden; }
  
}