/**************/
/* RESPONSIVE */
/**************/

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 767px) {

    body, html { overflow-x: hidden; font-size: 1rem; }
    .tel-link { pointer-events: auto; cursor: pointer; }
    .site_container { padding: 2rem; }
    .g-1, .gx-1 { --bs-gutter-x: 1rem; }
    .g-1, .gy-1 { --bs-gutter-y: 1rem; }
    p { margin-bottom: 1.5rem; }
    .btn_tel { border-radius: 2rem; padding: 0 1.5rem; height: 3rem; font-size: 1rem; }
    h1 { font-size: 3rem; }
    h1 span { margin-bottom: 2rem; font-size: 1rem; }
    h2 { font-size: 1rem;  margin: 0 0 2rem 0; }
    h2 span { gap: 1rem; font-size: 1rem; margin-bottom: 0;  }
    h2 span::before { font-size: 3rem; }
    h2.big { font-size: 2.5rem; margin: 0 0 2rem 0; }
    h3 { font-size: 2rem; margin: 0 0 1.5rem 0; }
    h4 { font-size: 1.25rem; margin: 0 0 1.5rem 0; }
    h6 { font-size: 1.25rem; margin: 0 0 .5rem 0; }
    ul { padding-left: 1.25rem; margin-bottom: 2rem; }
    h1 br, h2 br { display: none; }

    /* Header */
    .logo { width: 10rem; margin: 0 0 .5rem 0; }
    header.main { margin-bottom: 2rem; padding: 1rem 2rem; display: block; }
    .tools { display: block; }
    .tools .tel-link { display: block; margin-bottom: 2rem; font-size: 1.25rem; font-weight: 700; }
    .wpml-ls-statics-shortcode_actions { position: absolute; top: 1rem; right: 2rem; }
    .btn_green { justify-content: space-between; gap: 1rem; border-radius: 2rem; height: 3rem; padding: 0 .5rem 0 2rem; }
    .btn_green span { font-size: 1.5rem; width: 2rem; height: 2rem; }
    .social { justify-content: center; gap: 1rem; font-size: 1.5rem; margin-bottom: 1rem; position: absolute; top: .75rem; right: 5.5rem; }

    /* Footer */
    footer.main { margin-top: 2rem; text-align: center; }
    .footer_content { padding: 2rem; }
    .slogan { font-size: 2rem; margin: 0 0 1rem 0; text-align: center; }
    footer.main .row { margin-bottom: 1rem;  }
    footer.main .row:first-child { margin-bottom: 0; }
    .big-tel { font-size: 3rem; }
    footer.main .btn_green { margin: 2rem 0; }
    footer.main .text-end { text-align: center !important; }
    footer.main .logo { display: none; }
    footer.main p { margin: 0 0 1rem 0; }

    /* Home */
    #hero { margin-bottom: 2rem; flex-direction: column; gap: 1rem; }
    .col_left, .col_right { flex-basis: inherit; width: 100%; }
    .marquee { border-radius: 1rem; }
    .marquee_wrapper { gap: 2rem; }
    .marquee_wrapper span { gap: 2rem; padding: .5rem 0; font-size: 1rem;  }
    .company_items_wrapper { flex-direction: column; gap: 1rem; }
    .company_item { flex-direction: column; gap: .5rem; padding-top: 1rem; width: 100%; font-size: 1.5rem; text-align: center; }
    .company_item__number { font-size: 3rem; }
    #home_about, #home_retailers { margin: 0 -2rem; padding: 2rem; }
    #home_activities { padding: 2rem 0; }
    .areas_wrapper { gap: 0; }
    .areas_item__title { gap: 1rem; font-size: 2rem; flex-basis: 100%; }
    .areas_item__text { flex-basis: 100%; }
    .areas_item__title .btn_tel { margin-bottom: 1rem; }
    .aRetailer { border-radius: 1rem; margin-bottom: 1rem; width: 100%; flex-basis: 100%; }
    .aRetailer__title { padding: 1rem; }
    .aRetailer__logo { width: 100%; height: auto; padding: 2rem; }
    .aRetailer__logo img { width: 100%; height: auto; }
    .aRetailer__infos { padding: 1rem; font-size: 1rem; }
    .aRetailer__infos .tel-link { font-size: 1.2rem; }
    .cta { border-radius: 1rem; margin: 2rem 0 0 0;  }
    .cta_title { padding: 1rem 2rem; flex-direction: column; gap: .5rem; }
    .btn_icon { gap: .5rem; }
    .btn_icon i { width: 1.5rem; height: 1.5rem; font-size: .75rem; }

    /* Products */
    .marquee.marquee_footer { border-radius: 0; }
    .marquee.marquee_header { margin: 0 -2rem; border-radius: 0; }
    #listing { padding: 2rem 0; }
    .filter_wrapper { gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
    .filter_wrapper .select_wrapper .fake-select .fs-trigger { padding: 1rem; border-radius: 1rem; font-size: 1rem; }
    .filter_wrapper .select_wrapper .fake-select .fs-options { top: calc(100% + 0.5rem); margin: 0; padding: 0.5rem 0; border-radius: 1rem; max-height: 20rem; }
    .filter_wrapper .select_wrapper .fake-select .fs-options li { padding: 0.5rem 1rem; font-size: 1rem; }
    .filter_wrapper .select_wrapper.width1 { width: 100%; }
    .filter_wrapper .select_wrapper.width2 { width: calc(50% - .5rem); }
    .filter_wrapper .select_wrapper .fake-select .fs-trigger::after { top: 50%; right: 1rem; transform: translateY(-50%); font-size: 1rem; }
    .aProduct { border-radius: 1rem;  margin-bottom: 1rem; }
    .aProduct__img { border-radius: 1rem; }
    .aProduct__details { padding: 1rem; }
    .aProduct__details .aProduct__details__price { font-size: 1.2rem; }
    .aProduct__details .aProduct__details__specs { font-size: .85rem; }
    .aProduct__infos { padding: 1rem; font-size: .85rem;  }
    .aProduct__infos .label { font-size: .75rem;  }

    /* Single */
    #single #hero .col_left { flex-basis: 100%; text-align: center; }
    #single #hero .col_right { flex-basis: 100%; text-align: left; }
    #single #hero .col_right h1 { margin: 0; text-align: center; }
    #single h1 { font-size: 3rem; }
    #single #hero h1 span.single_brand { font-size: 3rem; margin: 0 0 1rem 0; }
    #single #hero h1 span.single_serial { font-size: 2rem; }
    #single #hero h2 { margin: 0 0 1rem 0; }
    #featured_img { border-radius: 1rem; }
    #product_details {  margin: 2rem -2rem; padding: 2rem; }
    #product_details .col_right h2 { font-size: 2rem; text-align: center; }
    #product_details .col_right ul { margin-top: -1rem; }
    #product_details .col_left { text-align: center; }
    #gallery { flex-wrap: wrap; gap: 1rem; }
    #gallery .img1 { border-radius: 1rem; width: 100%; height: 20rem; }
    #gallery .img2 { border-radius: 1rem; width: calc(50% - .5rem); height: 20rem; }
    #gallery .img3 { border-radius: 1rem; width: calc(50% - .5rem); height: 20rem; }
    #featured_product { padding: 2rem 0 0 0; }
    #featured_product h2 { font-size: 2rem; }
    #featured_product .aProduct__img { height: auto; }
    #featured_product .aProduct__details { gap: .5rem; flex-direction: column; }

    /* Fixes */
    .home_retailers_wrapper { flex-direction: column; gap: 1rem; }
}