/****************************
  1) GLOBAL
****************************/

/* =========================================================
   1a) SUPPRESSION DES SIDEBARS + PLEIN ÉCRAN
========================================================= */

#left-sidebar,
#right-sidebar,
#secondary,
.sidebar-container {
    display: none !important;
}

#content-wrap,
#primary,
#main,
.container,
.content-area,
.site-main {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* =========================================================
   1b) TITRES GÉNÉRAUX
========================================================= */

.page-header,
.oceanwp-page-header {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* =========================================================
   1c) MENU OCEANWP — COULEURS & HOVER
========================================================= */

#site-navigation-wrap .dropdown-menu > li.current-menu-item > a,
#site-navigation-wrap .dropdown-menu > li.current-menu-ancestor > a {
    border-color: #7bc3a4 !important;
}

#site-navigation-wrap .dropdown-menu > li > a:hover {
    border-color: #7bc3a4 !important;
    color: #7bc3a4 !important;
}

#site-navigation-wrap .dropdown-menu ul.sub-menu {
    border-top: 3px solid #7bc3a4 !important;
}

#site-logo #site-logo-inner a:hover {
    color: #87c9a5 !important;
}

/* =========================================================
   1d) FIX AFFICHAGE DU MENU
========================================================= */

#site-navigation-wrap,
.navigation.main-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* =========================================================
   1e) FOOTER — VERSION SAINE
========================================================= */

/* Hors accueil : espace avant footer */
body:not(.home):not(.front-page) .site-main {
    margin-bottom: 90px !important;
}

/* Hors accueil : widgets masqués */
body:not(.home):not(.front-page) #footer-top,
body:not(.home):not(.front-page) #footer-widgets,
body:not(.home):not(.front-page) #footer-widgets-inner {
    display: none !important;
}

/* Footer bottom visible */
body:not(.home):not(.front-page) #footer-bottom {
    display: block !important;
    background: transparent !important;
    padding: 30px 20px 45px !important;
    text-align: center !important;
    border: none !important;
    box-shadow: none !important;
}

/* Copyright */
body:not(.home):not(.front-page) #footer-bottom,
body:not(.home):not(.front-page) #footer-bottom p,
body:not(.home):not(.front-page) #footer-bottom .site-info,
body:not(.home):not(.front-page) #footer-bottom #copyright {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #111 !important;
}

/* =========================================================
   1f) PADDING GLOBAL — CLÉ DU RENDU ORIGINAL
========================================================= */

#outer-wrap,
#wrapper,
#wrap,
#main,
.site-main,
.content-area,
.entry-content,
#content-wrap,
#primary {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Accueil — pas de padding */
body.home #outer-wrap,
body.home #main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* =========================================================
   1g) TITRE AVEC LOGO
========================================================= */

.am-hero-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2vw;
    margin: 40px 0;
    color: #ffffff;
    font-weight: 700;
    text-shadow: 0 3px 6px rgba(0,0,0,0.45);
}

.am-hero-text {
    font-size: clamp(24px, 3vw, 60px);
}

.am-hero-logo {
    width: clamp(80px, 12vw, 260px) !important;
    height: auto;
}

@media (max-width: 768px) {
    .am-hero-wrap {
        flex-direction: column;
        gap: 4vw;
    }

    .am-hero-text {
        font-size: clamp(28px, 7vw, 55px);
    }

    .am-hero-logo {
        width: clamp(140px, 40vw, 340px) !important;
    }
}

/* =========================================================
   GALERIES — STYLE COMMUN
========================================================= */

body.am-galerie #content,
body.am-galerie .entry-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

body.am-galerie .wp-block-image,
body.am-galerie .gallery-item {
    text-align: center;
}

body.am-galerie .wp-block-image img,
body.am-galerie .gallery-item img {
    display: block;
    margin: 0 auto 30px;
}

body.am-galerie .wp-block-image figcaption,
body.am-galerie .wp-caption-text,
body.am-galerie .gallery-caption {
    background-color: #333 !important;
    color: #fff !important;
    padding: 10px 16px !important;
    border-radius: 20px !important;
    margin: 0 auto 40px !important;
}

/* =========================================================
   ZOOM — GESTES TACTILES
========================================================= */

.zoom-img {
    transition: transform 0.25s ease-out;
    cursor: grab;
    touch-action: none !important;
}

.zoom-img:active {
    cursor: grabbing;
}

/* =========================================================
   MENU MOBILE — TEXTE EN GRAS
========================================================= */

.wm-mobile-menu .menu-item > a {
    font-weight: 700 !important;
}

/* =========================================================
   ACCORDÉON — VERSION ORIGINALE
========================================================= */

.am-accordion {
    margin: 4rem auto 3rem;
    width: 100%;
    max-width: none;
    padding-left: 6vw;
    padding-right: 6vw;
    text-align: center;
}

.am-accordion-toggle {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,0.25);
    padding: 1.2rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.am-accordion-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.7;
}

.am-accordion-icon {
    font-size: 1.4rem;
    transition: transform 0.3s ease;
}

.am-accordion-toggle[aria-expanded="true"] .am-accordion-icon {
    transform: rotate(45deg);
}

.am-accordion-content {
    padding-top: 2rem;
}

.am-accordion-inner {
    line-height: 1.65;
    font-size: 15px;
    max-width: 1100px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .am-accordion {
        padding-left: 20px;
        padding-right: 20px;
    }

    .am-accordion-inner {
        font-size: 14px;
    }
}