/* ====================================================
   MOBILE FIX – climatisation-gironde.fr
   Fichier correctif uniquement (ne pas modifier les autres)
   ==================================================== */

/* ---- 1. CONTAINER FLUIDE (écraser width: 1200px fixe) ---- */
.container {
  width: 100% !important;
  max-width: 1200px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

/* ---- 2. EVITER LE DÉBORDEMENT GLOBAL ---- */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
* {
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
}

/* ====================================================
   TABLETTE (≤ 991px)
   ==================================================== */
@media (max-width: 991px) {

  /* Largeurs fixes en px → 100% */
  .about_us_sec .col-lg-6.abt,
  .about_us_sec .col-lg-6.inf {
    width: 100% !important;
    float: none !important;
  }
  .abt-info {
    padding-left: 0 !important;
  }
  .quality-sec .col-lg-7,
  .quality-sec .col-lg-5 {
    width: 100% !important;
    float: none !important;
  }
  .blog-page > .row > .col-lg-9,
  .blog-page > .row > .col-lg-3 {
    width: 100% !important;
    float: none !important;
    padding-left: 15px !important;
  }
  .financ_tab_content .col-lg-6.fin-img-col,
  .financ_tab_content .col-lg-6.fin-text-col {
    width: 100% !important;
    float: none !important;
  }
  .sep-text.fl-right {
    width: 100% !important;
    float: none !important;
  }
  .direction_form {
    width: 95% !important;
  }
  .advgs-info {
    width: 50% !important;
  }
  .popup_form {
    width: 95% !important;
    max-width: 400px !important;
  }
}

/* ====================================================
   MOBILE (≤ 767px)
   ==================================================== */
@media (max-width: 767px) {

  /* Header */
  .top_header {
    padding: 10px 0 !important;
  }
  .top_header .logo img {
    max-width: 150px !important;
  }

  /* Masquer la navigation desktop */
  .navigations {
    display: none !important;
  }

  /* Bouton burger visible */
  .menu_btn {
    display: flex !important;
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 99999;
    background: #4a87cb;
    border-radius: 6px;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  /* Colonnes Bootstrap → 100% sur mobile */
  .col-md-1, .col-md-2, .col-md-3, .col-md-4,
  .col-md-5, .col-md-6, .col-md-7, .col-md-8,
  .col-md-9, .col-md-10, .col-md-11, .col-md-12,
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4,
  .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8,
  .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
  .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4,
  .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8,
  .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    width: 100% !important;
    float: none !important;
  }

  /* Toutes les largeurs fixes héritées */
  .about_us_sec .col-lg-6.abt,
  .about_us_sec .col-lg-6.inf,
  .quality-sec .col-lg-7,
  .quality-sec .col-lg-5,
  .blog-page > .row > .col-lg-9,
  .blog-page > .row > .col-lg-3,
  .financ_tab_content .col-lg-6.fin-img-col,
  .financ_tab_content .col-lg-6.fin-text-col,
  .sep-text.fl-right,
  .direction_form,
  .getin_touch .question_sec,
  .quz_sec .question_sec,
  .advgs-info,
  .finan_img {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
  }

  .abt-info { padding-left: 0 !important; }
  .finan_text { padding-left: 0 !important; }
  .blog-page > .row > .col-lg-3 { padding-left: 15px !important; margin-top: 30px; }
  .finan_img { margin: 0 0 30px !important; }

  /* Typographie */
  h1, h2 {
    font-size: 24px !important;
    line-height: 30px !important;
  }
  h3 {
    font-size: 22px !important;
  }
  .sec-title > h2 {
    font-size: 22px !important;
    line-height: 28px !important;
  }
  .sc-title {
    font-size: 20px !important;
    line-height: 26px !important;
  }
  .why_us .sc-title {
    font-size: 22px !important;
  }
  .qck-services > h2 {
    font-size: 24px !important;
    line-height: 32px !important;
  }
  .sep-text > h2,
  .help_text > h2 {
    font-size: 22px !important;
    line-height: 30px !important;
  }
  .testimonial > h3 {
    font-size: 22px !important;
  }
  .service-single > h2 {
    font-size: 22px !important;
  }
  .tb-info > h2 {
    font-size: 18px !important;
    line-height: 24px !important;
    padding: 0 15px !important;
  }
  .price_sec_text > p {
    padding: 0 !important;
  }

  /* Sections padding */
  .layout2 .block {
    padding: 50px 0 !important;
  }
  .layout2 .block.testi-sec {
    padding: 50px 0 80px !important;
  }
  .layout2 .block.sap-sec,
  .layout2 .block.gap-less,
  .layout2 .block.less-gap,
  .layout2 .block.p-100,
  .layout2 .block.tp-100,
  .layout2 .block.service-block {
    padding: 50px 0 !important;
  }
  .qck-sec {
    padding: 50px 0 !important;
  }
  .serices_sec {
    padding: 40px 0 !important;
  }
  footer {
    padding: 40px 0 !important;
  }

  /* Services slider tabs */
  .tabs_list {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    border-radius: 10px !important;
  }
  .tabs_list li {
    width: 100% !important;
    border-radius: 10px !important;
    margin-right: 0 !important;
    margin-bottom: 5px !important;
    padding: 10px 15px !important;
  }
  .tabs_list li:last-child {
    border-radius: 10px !important;
    padding: 10px 15px !important;
  }

  /* svss_list (onglets maintenance) */
  .svss_list {
    border-radius: 10px !important;
  }
  .svss_list li {
    width: 50% !important;
    font-size: 12px !important;
    padding: 10px 5px !important;
    border-radius: 0 !important;
  }
  .svss_list li:first-child {
    border-radius: 10px 0 0 0 !important;
  }
  .svss_list li:nth-child(2) {
    border-radius: 0 10px 0 0 !important;
  }
  .svss_list li:nth-last-child(2) {
    border-radius: 0 0 0 10px !important;
  }
  .svss_list li:last-child {
    border-radius: 0 0 10px 0 !important;
  }

  /* tbs-list (onglets prix/services) */
  .tbs-list, .tbss-list {
    margin-bottom: 30px !important;
  }
  .tbs-list li, .tbss-list li {
    display: block !important;
    margin-right: 0 !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    text-align: left !important;
    font-size: 15px !important;
  }

  /* FAQ tabs */
  .faqs_tab {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-bottom: 20px !important;
  }
  .faqs_tab li {
    flex: 1 1 100% !important;
    border-radius: 10px !important;
    margin-bottom: 5px !important;
    padding: 0 20px !important;
    height: 48px !important;
    line-height: 48px !important;
    font-size: 14px !important;
  }

  /* Accordion FAQ */
  .toggle-item > h2 {
    font-size: 14px !important;
    height: auto !important;
    line-height: 1.4 !important;
    padding: 15px 15px 15px 65px !important;
    white-space: normal !important;
  }
  .content p {
    padding-right: 0 !important;
  }

  /* Blog cards */
  .blog-posts .blog-post {
    height: auto !important;
  }
  .blog-img > img {
    height: 200px !important;
  }

  /* Price table */
  .price-table > h3 {
    padding: 0 20px !important;
  }
  .price-table {
    margin-bottom: 25px !important;
  }

  /* Newsletter */
  .nss_list {
    width: 100% !important;
    text-align: center !important;
    padding-top: 0 !important;
    margin-bottom: 15px !important;
  }
  .nss_list li {
    padding: 0 10px !important;
    font-size: 14px !important;
    display: block !important;
    margin-bottom: 5px !important;
  }
  .nss_list li:before {
    display: none !important;
  }
  .newsletter_form {
    float: none !important;
    width: 100% !important;
    display: block !important;
  }
  .newsletter_form input:not([type="submit"]) {
    width: 100% !important;
  }
  .newsletter-sec {
    padding: 15px 0 !important;
  }

  /* Footer */
  .widget-about > p {
    padding-right: 0 !important;
  }
  .widget-contact ul li span {
    width: auto !important;
    min-width: 60px !important;
  }
  .widget-contact ul li span.fl_right {
    width: 65% !important;
  }

  /* Popup formulaire */
  .popup_form {
    width: 95% !important;
    max-width: 95vw !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(-50%) !important;
  }
  .direction_form {
    width: 95% !important;
    padding: 0 !important;
  }
  #gmap_canvas2 {
    height: 300px !important;
  }
  .address_list {
    position: static !important;
    width: 100% !important;
  }

  /* Formulaires */
  .question_sec form {
    padding: 25px 15px !important;
  }
  .question_sec form .col-lg-6,
  .question_sec form .col-lg-12 {
    width: 100% !important;
    float: none !important;
    padding: 0 5px !important;
  }
  .rqs_form .row .col-lg-6,
  .rqs_form .row .col-lg-12 {
    width: 100% !important;
    float: none !important;
  }
  .comment_form .col-lg-6,
  .comment_form .col-lg-12 {
    width: 100% !important;
    float: none !important;
  }

  /* Props list (pourquoi nous choisir) */
  .why_us {
    padding-left: 0 !important;
  }
  .proptz_feature {
    display: flex !important;
    align-items: flex-start !important;
  }
  .ppt {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .ptz_info {
    display: block !important;
    padding-left: 20px !important;
  }

  /* Services single page */
  .service_single_page .col-md-9,
  .service_single_page .col-md-3 {
    width: 100% !important;
    float: none !important;
  }
  .service-single-details {
    padding-left: 0 !important;
  }
  .side_bar {
    margin-top: 30px !important;
  }

  /* Blog single */
  .blog-page .blog-info {
    padding: 25px 15px 15px !important;
  }

  /* Contact info icons */
  .cpt_info {
    height: auto !important;
  }
  .mp_contact_info .col-md-4 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 15px !important;
  }

  /* Gallery */
  .gallery-info {
    width: 50% !important;
  }

  /* Advice/avantages */
  .advgs-info {
    width: 50% !important;
    margin-bottom: 25px !important;
  }
  .advgs-list {
    margin-bottom: 0 !important;
  }

  /* Testimonials */
  .testimonial {
    width: 100% !important;
    float: none !important;
  }

  /* hd_opts caché sur mobile */
  .hd_opts {
    display: none !important;
  }

  /* scrollTop bouton */
  .scrollTop {
    bottom: 20px !important;
    right: 15px !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    font-size: 14px !important;
  }

  /* qck-sec images */
  .qck-imgs {
    padding-right: 0 !important;
    margin-bottom: 30px !important;
  }
  .qck-img {
    margin-bottom: 10px !important;
  }
  .qck-services {
    margin-top: 0 !important;
  }

  /* Service-svv */
  .service-svv {
    display: block !important;
    padding: 15px !important;
  }
  .svv-img {
    display: block !important;
    float: none !important;
    margin-bottom: 15px !important;
  }
  .svv-img img {
    max-width: 80px !important;
  }
  .svv-info {
    display: block !important;
    padding-left: 0 !important;
  }

  /* contact_wd widget */
  .contact_wd {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  /* Ads services grid */
  .ads_service {
    height: auto !important;
    padding: 25px 15px !important;
  }
  .ads_service > p {
    padding: 0 !important;
  }

  /* sec-title */
  .sec-title {
    padding-bottom: 20px !important;
  }
  .sec-title > h4 {
    font-size: 13px !important;
  }
}

/* ====================================================
   TRÈS PETIT MOBILE (≤ 400px)
   ==================================================== */
@media (max-width: 400px) {
  .tabs_list li span.svs {
    font-size: 12px !important;
  }
  .lnk-default, .lnk_default {
    padding: 0 20px !important;
    font-size: 12px !important;
  }
  .svss_list li {
    font-size: 11px !important;
  }
  h1, h2 {
    font-size: 20px !important;
    line-height: 26px !important;
  }
  .sec-title > h2 {
    font-size: 19px !important;
  }
}
