
/* =========================================================
   MEDIQUAL MASTER FIX V51
   ========================================================= */

/* Ancien footer */
.mq51-hide-old-footer {
    display: none !important;
}

/* Petits titres / breadcrumbs */
.mq51-hide-eyebrow {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.mq51-inner .breadcrumb,
body.mq51-inner .breadcrumbs,
body.mq51-inner .rank-math-breadcrumb,
body.mq51-inner [class*="breadcrumb"],
body.mq51-inner [id*="breadcrumb"] {
    display: none !important;
}

/* Hero interne compact */
body.mq51-inner .mq51-hero {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.mq51-inner .mq51-hero-inner {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.mq51-inner .mq51-page-title {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

/* Header bouton devis : graisse normale */
header a[href*="demander-un-devis"],
.site-header a[href*="demander-un-devis"],
#masthead a[href*="demander-un-devis"] {
    font-weight: 400 !important;
}

/* =========================================================
   DESKTOP — SOUS-MENU SPÉCIALITÉS
   ========================================================= */
@media (min-width: 768px) {

    header .menu-item-has-children,
    .site-header .menu-item-has-children,
    #masthead .menu-item-has-children {
        position: relative !important;
    }

    header .menu-item-has-children > .sub-menu,
    .site-header .menu-item-has-children > .sub-menu,
    #masthead .menu-item-has-children > .sub-menu {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        z-index: 999999 !important;

        min-width: 230px !important;
        width: max-content !important;
        max-width: 320px !important;

        padding: 8px 0 !important;
        margin: 0 !important;

        background: #fff !important;
        border: 1px solid rgba(14,63,92,.10) !important;
        border-radius: 12px !important;
        box-shadow: 0 12px 28px rgba(14,63,92,.12) !important;
    }

    header .menu-item-has-children:hover > .sub-menu,
    header .menu-item-has-children:focus-within > .sub-menu,
    .site-header .menu-item-has-children:hover > .sub-menu,
    .site-header .menu-item-has-children:focus-within > .sub-menu,
    #masthead .menu-item-has-children:hover > .sub-menu,
    #masthead .menu-item-has-children:focus-within > .sub-menu {
        display: block !important;
    }

    header .sub-menu > li,
    .site-header .sub-menu > li,
    #masthead .sub-menu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header .sub-menu > li > a,
    .site-header .sub-menu > li > a,
    #masthead .sub-menu > li > a {
        display: block !important;
        width: 100% !important;
        padding: 11px 15px !important;
        white-space: nowrap !important;
        text-align: left !important;
    }
}

/* =========================================================
   PUBLIC — 3 CARTES SPÉCIALITÉS PLEINE LARGEUR
   ========================================================= */
@media (min-width: 1024px) {

    body.mq51-public .mq51-specialties-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 28px !important;

        width: min(1180px, calc(100% - 64px)) !important;
        max-width: 1180px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        align-items: stretch !important;
    }

    body.mq51-public .mq51-specialty-card {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        flex: none !important;
    }

    body.mq51-public .mq51-specialty-card img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
}

/* =========================================================
   FOOTER — PC
   ========================================================= */

#mq51-footer {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    background: #0b3652 !important;
    color: #fff !important;
}

.mq51-footer-grid {
    width: min(1180px, calc(100% - 64px)) !important;
    margin: 0 auto !important;
    padding: 42px 0 34px !important;

    display: grid !important;
    grid-template-columns: 1.25fr .85fr .9fr 1.2fr !important;
    gap: 54px !important;

    align-items: start !important;
}

.mq51-footer-brand,
.mq51-footer-column {
    min-width: 0 !important;
    text-align: left !important;
}

#mq51-footer-logo {
    display: block !important;
    margin: 0 0 20px !important;
    min-height: 50px !important;
}

#mq51-footer-logo .custom-logo-link {
    display: inline-block !important;
}

#mq51-footer-logo img,
#mq51-footer-logo .custom-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 190px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.mq51-footer-brand > p {
    margin: 0 !important;
    max-width: 300px !important;

    color: rgba(255,255,255,.84) !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
}

.mq51-footer-column h3 {
    margin: 0 0 16px !important;
    padding: 0 !important;

    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.mq51-footer-column ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mq51-footer-column li,
.mq51-footer-column p {
    margin: 0 0 10px !important;
    padding: 0 !important;
}

.mq51-footer-column a,
.mq51-footer-column p {
    color: rgba(255,255,255,.88) !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
    text-decoration: none !important;
}

.mq51-footer-column a:hover {
    text-decoration: underline !important;
}

.mq51-footer-bottom {
    width: min(1180px, calc(100% - 64px)) !important;
    margin: 0 auto !important;
    padding: 18px 0 22px !important;

    border-top: 1px solid rgba(255,255,255,.12) !important;

    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;

    color: rgba(255,255,255,.58) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

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

#mq51-mobile-components {
    display: none;
}

@media (max-width: 767px) {

    body.mq51-inner .mq51-hero {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .mq51-hide-native-toggle {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    #mq51-mobile-components {
        display: block !important;
    }

    #mq51-mobile-toggle {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px !important;

        position: absolute !important;
        right: 20px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 1000005 !important;

        width: 56px !important;
        height: 56px !important;

        padding: 0 !important;
        margin: 0 !important;

        background: #fff !important;
        border: 1px solid rgba(14,63,92,.16) !important;
        border-radius: 17px !important;
        box-shadow: 0 4px 14px rgba(14,63,92,.06) !important;
    }

    #mq51-mobile-toggle span {
        display: block !important;
        width: 27px !important;
        height: 3px !important;

        background: #123f5d !important;
        border-radius: 3px !important;

        transition: .2s ease !important;
    }

    #mq51-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(9px) rotate(45deg) !important;
    }

    #mq51-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0 !important;
    }

    #mq51-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg) !important;
    }

    #mq51-mobile-menu {
        display: none !important;

        position: absolute !important;
        left: 0 !important;
        top: 100% !important;
        width: 100% !important;

        z-index: 1000004 !important;

        background: #fff !important;
        border-top: 1px solid rgba(14,63,92,.08) !important;
        border-bottom: 1px solid rgba(14,63,92,.10) !important;
        box-shadow: 0 14px 30px rgba(14,63,92,.12) !important;
    }

    #mq51-mobile-menu.mq51-open {
        display: block !important;
    }

    .mq51-mobile-inner {
        padding: 12px 22px 20px !important;
    }

    #mq51-mobile-menu ul {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mq51-mobile-menu > .mq51-mobile-inner > ul > li {
        border-bottom: 1px solid rgba(14,63,92,.08) !important;
    }

    #mq51-mobile-menu a {
        display: block !important;
        width: 100% !important;

        padding: 13px 2px !important;

        color: #123f5d !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;
        text-align: left !important;
        text-decoration: none !important;
    }

    #mq51-mobile-menu .sub-menu {
        padding: 0 0 8px 16px !important;
    }

    #mq51-mobile-menu .sub-menu a {
        padding: 8px 0 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
    }

    /* Eviter le doublon Demander un devis dans le menu */
    #mq51-mobile-menu li.mq51-hide-mobile-quote-item {
        display: none !important;
    }

    .mq51-mobile-quote {
        margin-top: 14px !important;
        padding: 14px 18px !important;

        border-radius: 28px !important;
        background: #1489bd !important;
        color: #fff !important;

        text-align: center !important;
        font-weight: 700 !important;
    }

    /* =====================================================
       FOOTER — MOBILE
       ===================================================== */

    .mq51-footer-grid {
        width: 100% !important;
        display: block !important;

        margin: 0 !important;
        padding: 38px 28px 24px !important;
    }

    .mq51-footer-brand {
        padding-bottom: 28px !important;
        border-bottom: 1px solid rgba(255,255,255,.13) !important;
    }

    #mq51-footer-logo img,
    #mq51-footer-logo .custom-logo {
        max-width: 180px !important;
        max-height: 68px !important;
    }

    .mq51-footer-brand > p {
        max-width: none !important;
        font-size: 16px !important;
    }

    .mq51-footer-column {
        padding-top: 30px !important;
    }

    .mq51-footer-column h3 {
        font-size: 24px !important;
        margin-bottom: 14px !important;
    }

    .mq51-footer-column a,
    .mq51-footer-column p {
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .mq51-footer-bottom {
        width: calc(100% - 56px) !important;
        margin: 0 28px !important;
        padding: 20px 0 max(28px, env(safe-area-inset-bottom)) !important;

        display: block !important;
    }

    .mq51-footer-bottom span {
        display: block !important;
        margin-bottom: 8px !important;
    }
}
