/*
    ==========================================================================
    Theme Responsive Design - MC Couverture
    ==========================================================================
    Breakpoints : 1024px | 992px | 768px | 767px | 480px | 420px | 380px
*/

/* ---------- Tablette paysage (max 1024px) ---------- */
@media (max-width: 1024px) {
    ul.nav > li > a{
        padding: 0 10px;
    }
    .testimonial_item p{
        font-size: 22px;
        line-height: 32px;
    }
}

/* ---------- Tablette portrait (max 992px) ---------- */
@media (max-width: 992px) {
    .sm-padding{ padding: 15px; }
    .main_slide{
        height: 510px;
    }
    .about_section .about_content{
        padding: 0;
    }
    .about_section .about_img_2 { margin: -90px 0 0 150px; }
    .about_section .about_img_3 { margin: -175px 0 0 31px; }
    .company{
        padding-top: 40px;
    }
    .menu-wrap ul.nav{
        display: none;
    }
    .slicknav_menu {
        display:block;
    }
    .header-btn{
        margin-right: 50px;
        margin-left: 0;
    }
    .header-btn .menu-btn{
        font-size: 10px;
        padding: 0 20px;
        height: 40px;
        line-height: 40px;
        
    }
    .testimonial_section{ padding: 100px 0; }
    .sidebar-wrap{ padding-left: 0; }
    /* À propos : chevauchement réduit sur tablette */
    .about_text_block {
        margin-right: -24px;
        padding: 40px 36px 44px;
    }
    .about_section__title {
        font-size: 34px !important;
        margin-bottom: 22px !important;
    }
}

/* ---------- Entre 480px et 768px ---------- */
@media all and (min-width: 480px) and (max-width: 768px) {
}


/* ---------- Mobile paysage / petit écran (max 767px) ---------- */
@media all and (max-width: 767px) {
    /* ----- Header mobile : Flexbox = Logo à gauche, Burger à droite ----- */
    .header-section {
        padding-top: 10px;
        padding-bottom: 10px;
        min-height: 0;
        height: auto;
        z-index: 1000;
    }
    .header-section .container {
        padding-top: 0;
        padding-left: 15px;
        padding-right: 15px;
        width: 100%;
        max-width: 100%;
    }
    /* Conteneur principal : flex pour aligner logo (gauche) et burger (droite) */
    .header-section .navbar {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100%;
        padding: 0;
        flex-wrap: nowrap;
    }
    .navbar-brand {
        flex: 0 0 auto;
        margin-right: 0;
    }
    .navbar-brand img {
        max-height: 40px;
        width: auto;
        height: auto;
    }
    /* Cacher le bouton "Appeler" sur mobile (définitif) */
    .header-btn {
        display: none !important;
    }
    /* Zone burger : calée à droite, pas de float ni margin qui tire à gauche */
    .menu-wrap {
        flex: 0 0 auto;
        margin-left: auto;
        margin-right: 0;
        align-items: center;
        justify-content: flex-end;
        width: auto;
        float: none;
    }
    .slicknav_menu {
        display: block !important;
        position: relative;
        right: 0;
        top: auto;
        margin: 0;
        padding: 0;
        width: auto;
        float: none;
        margin-left: auto;
        z-index: 1002;
        background: transparent;
    }
    .slicknav_btn {
        margin: 0 !important;
        float: none !important;
        margin-right: 0 !important;
        z-index: 1002;
    }
    /* Menu déroulant : s'ouvre depuis la droite, pleine largeur, lisible */
    .slicknav_nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        width: 100%;
        min-width: 250px;
        max-width: 100%;
        margin-top: 4px;
        background-color: #f8f9fa;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
        z-index: 1003;
        border-radius: 0 0 8px 8px;
        overflow: hidden;
    }
    .slicknav_nav .slicknav_row,
    .slicknav_nav a {
        color: #1a1a1a !important;
        padding: 12px 16px !important;
        font-size: 14px;
        line-height: 1.4;
    }
    .slicknav_nav .slicknav_row:hover,
    .slicknav_nav a:hover {
        background-color: rgba(0, 0, 0, 0.05) !important;
        color: #1a1a1a !important;
    }
    /* Premier item (téléphone) toujours visible */
    .slicknav_nav li:first-child {
        display: list-item !important;
    }
    /* Ligne "Appelez-nous" en tête : fond orange, contraste */
    .slicknav_nav a[href^="tel:"] {
        display: block;
        background-color: var(--accent-color);
        color: #fff !important;
        font-weight: 600;
        text-align: center;
        padding: 14px 16px !important;
        margin: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    .slicknav_nav a[href^="tel:"]:hover {
        background-color: var(--accent-color);
        filter: brightness(0.95);
        color: #fff !important;
    }
    /* Hero : padding-top pour le header */
    .slider_section .main_slide .container {
        padding-top: 72px;
    }
    .slider_section .slider_content {
        padding-top: 0;
    }
    .main_slide {
        min-height: 420px;
    }

    body, p{
        font-size: 13px;
        line-height: 24px;
    }
    h1{
        font-size: 30px;
    }
    h2{
        font-size: 22px;
        line-height: 32px;
    }
    h3{
        font-size: 16px;
    }
    p br{
        display: none;
    }
    .about_content h2,
    .section_heading h2 {
        font-size: 28px;
        line-height: 36px;
    }
    /* À propos : suppression du chevauchement, bloc pleine largeur */
    .about_text_block {
        margin-right: 0;
        margin-left: 0;
        padding: 32px 24px 40px;
    }
    .about_section__title {
        font-size: 26px !important;
        line-height: 1.25 !important;
        margin-bottom: 20px !important;
    }
    .about_section__lead {
        margin-top: 16px;
        margin-bottom: 22px;
    }
    /* Services : cartes avec gouttière réduite sur mobile */
    .service_cards_row {
        margin-left: -10px;
        margin-right: -10px;
        margin-bottom: -20px;
    }
    .service_cards_row [class*="col-"] {
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 20px;
    }
    .service_content h3 {
        padding: 20px 20px 24px;
        font-size: 18px;
    }
    /* Index : aération réduite sur mobile */
    .page-index .index-section.padding {
        padding: 60px 0;
    }
    /* Cartes services (grille) : padding et image sur mobile */
    .service_cards_grid {
        gap: 20px;
    }
    .service_card__img-wrap {
        height: 180px;
    }
    .service_card__body {
        padding: 22px 20px 26px;
    }
    .service_card__title {
        font-size: 18px;
    }
    .service_card__desc {
        font-size: 14px;
        margin-bottom: 16px;
    }
    .testimonial_section,
    .padding{
        padding: 60px 0;
    }
    .xs-padding{
    	padding: 15px;
    }
    .main_slide{
        height: 420px;
    }
    .hero_section .hero_content h1,
    .slider_content h1{
        font-size: 24px;
        line-height: 36px;
        margin-bottom: 10px;
    }
    .slider_content h3{
        margin-bottom: 5px;
    }
    .hero_section .hero_content h3{ margin-bottom: 10px; }
    .page_header{
        height: 380px;
    }
    .book_bg,
    .about_img{
        display: none;
    }
    .cta_section .cta_content h2 {
        font-size: 32px;
        line-height: 46px;
    }
    .blog-single-content h2 a{
        font-size: 22px;
        line-height: 28px;
    }
    .blog-single-content h2{
        line-height: 28px;
    }
    blockquote p{
        line-height: 32px;
    }
    .breadcrumb {
        right: auto;
        top: auto;
        bottom: -50px;
        left: -15px;
        margin: 0;
    }
	.contact_form .form-group .col-sm-6:first-child{
        margin-bottom: 15px;
    }
    .coment-form .form-group .col-sm-4:last-child{
        margin-top: 15px;
    }
    .footer_social,
    .footer_section{ text-align: center; }
    .content_inner h2{ font-size: 24px; }
    .content_inner h3{ font-size: 13px; }
    .content_inner a{ 
        font-size: 10px; 
        padding: 0 15px;
    }
}

/* ---------- Mobile portrait (max 480px) ---------- */
@media all and (max-width: 480px) {
    .hero_height{
        height: 380px;
    }
    .footer_section .copyright,
    .footer_social{ text-align: center; }
    .coment-form .form-group .col-sm-4{
        margin-bottom: 15px;
        margin-top: auto;
    }
    .coment-form .form-group .col-sm-4:last-child{
        margin: 0;
    }
    .reserv_form .form-group .col-xs-6:first-child{
        margin-bottom: 15px;
    }

}

/* ---------- Très petit mobile (max 420px) ---------- */
@media all and (max-width: 420px) {
    
}

/* ---------- Extra petit (max 380px) ---------- */
@media all and (max-width: 380px) {
	.slider_content .btn_group a {
        margin: 0 10px 10px 0;
    }
}
