/* =========================================================================
   galatee-clean.css  —  COUCHE PROPRE DE LA COQUE
   -------------------------------------------------------------------------
   Chargee EN DERNIER (apres template.css / custom.css) : elle fait autorite
   sur l'en-tete, le menu (cercle desktop + hamburger mobile), la photo
   d'accueil et le responsive de la coque.

   Le contenu (logo PageBuilderCK, footer, pages articles) reste style par
   template.css / custom.css : on n'y touche pas ici.

   Tokens de marque :
     --brun     #552917   (texte, liens au repos)
     --or       #cea325   (accents, hover, titres h2)
     --or-bord  #cda225   (bordure du cercle, separateurs)
   ========================================================================= */

:root {
    --brun: #552917;
    --or: #cea325;
    --or-bord: #cda225;
}

/* =========================================================================
   1. MENU CIRCULAIRE (desktop > 1400px)
   ========================================================================= */

/* On remplit toute la hauteur du cercle et on centre le contenu
   verticalement : le menu reste centre, et le sous-menu se deplie
   symetriquement autour du centre. */
#menu .inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.galatee-menu-vertical-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    top: -10px; /* recentrage vertical fin dans le cercle */
    z-index: 1001; /* au-dessus de la photo d'accueil */
}

.galatee-menu-vertical-container .nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.galatee-menu-vertical-container .menu-item a {
    text-decoration: none;
    color: var(--brun);
    font-family: inherit;
    font-size: 25px;
    font-weight: 100;            /* Roboto Thin, comme l'original galatee.ch */
    white-space: normal;
    text-align: center;
    max-width: 460px;
    line-height: 1.25;
    position: relative;
    padding: 3px 20px;
    display: block;
    transition: all 0.3s ease;
    /* halo blanc pour rester lisible par-dessus la photo */
    text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 5px rgba(255, 255, 255, 1);
}

/* Survol : or + gras (comportement identique a galatee.ch) */
.galatee-menu-vertical-container .menu-item a:hover {
    color: var(--or);
    font-weight: 700;
    text-shadow: 0 0 15px rgba(255, 255, 255, 1);
}

/* --- Sous-menu (ex. « Modes de paiement ») : deplie EN FLUX sous le parent,
       les enfants cote a cote separes d'un fin trait dore --- */
.galatee-menu-vertical-container .menu-item.has-children {
    position: relative;
}

.galatee-menu-vertical-container .submenu {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.3s ease, margin 0.35s ease;
}

.galatee-menu-vertical-container .menu-item.has-children:hover .submenu {
    max-height: 80px;
    opacity: 1;
    margin-top: 4px;
}

.galatee-menu-vertical-container .submenu .menu-item {
    margin: 0;
    position: relative;
}

.galatee-menu-vertical-container .submenu .menu-item + .menu-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: var(--or-bord);
    opacity: 0.6;
}

.galatee-menu-vertical-container .submenu .menu-item a {
    font-size: 17px;
    padding: 2px 18px;
    max-width: none;
    white-space: nowrap;
}

/* =========================================================================
   2. HAMBURGER (mobile / tablette) — caches par defaut sur desktop
   ========================================================================= */
.galatee-burger-cb,
.galatee-burger-btn {
    display: none;
}

/* En dessous de 1400px le template demonte le cercle -> hamburger */
@media only screen and (max-width: 1400px) {
    /* Bouton hamburger fixe en haut a droite */
    .galatee-burger-btn {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 6px;
        position: fixed;
        top: 15px;
        right: 15px;
        z-index: 3000;
        width: 52px;
        height: 52px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
        cursor: pointer;
    }
    .galatee-burger-btn span {
        display: block;
        width: 28px;
        height: 2px;
        background: var(--brun);
        border-radius: 2px;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    .galatee-burger-cb {
        display: none;
    }

    /* On annule les reglages du mode cercle */
    .galatee-menu-vertical-container {
        top: 0;
        height: auto;
        padding: 0;
    }

    /* Fix chevauchement logo/photo : on descend la photo d'accueil
       (padding-top insensible au margin-collapse) */
    #menu .photoaccueil {
        margin-top: 10px;
        padding-top: 165px;
    }

    /* Le menu devient un overlay plein ecran, cache par defaut */
    .galatee-menu-vertical-container nav {
        position: fixed;
        inset: 0;
        background: #ffffff;
        z-index: 2900;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        overflow-y: auto;
        padding: 58px 20px 22px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease;
    }
    .galatee-burger-cb:checked ~ nav {
        opacity: 1;
        visibility: visible;
    }

    /* Bouton -> croix quand le menu est ouvert */
    .galatee-burger-cb:checked ~ .galatee-burger-btn span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    .galatee-burger-cb:checked ~ .galatee-burger-btn span:nth-child(2) {
        opacity: 0;
    }
    .galatee-burger-cb:checked ~ .galatee-burger-btn span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    /* Liste compacte : un max de liens visibles d'un coup */
    .galatee-menu-vertical-container .nav-list {
        gap: 4px;
        width: 100%;
    }
    .galatee-menu-vertical-container .menu-item a {
        font-size: 18px;
        line-height: 1.15;
        padding: 4px 16px;
        max-width: 90vw;
    }

    /* Tactile : pas de survol -> sous-items toujours visibles, cote a cote */
    .galatee-menu-vertical-container .submenu {
        max-height: none;
        opacity: 1;
        overflow: visible;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px 14px;
        margin-top: 2px;
    }
    .galatee-menu-vertical-container .submenu .menu-item a {
        font-size: 15px;
        padding: 2px 10px;
    }
}

/* Tres petits ecrans : le template repositionne la photo (largeur 100%),
   on reduit le decalage pour eviter un grand vide au-dessus. */
@media only screen and (max-width: 524px) {
    #menu .photoaccueil {
        padding-top: 70px;
    }
}

/* =========================================================================
   3. BAS DE PAGE — pas de soulignement sur les liens
   -------------------------------------------------------------------------
   Les blocs PageBuilderCK du bas de page injectent un style inline
   « #block_ID1656146459270 a { text-decoration: underline } » (specificite
   ID) qui prime sur le « a { text-decoration:none } » de template.css.
   On le neutralise avec une specificite superieure (prefixe `body`).
   Le sous-bloc contact #ID1656146497382 a en plus un
   « text-decoration: underline !important » dans custom.css : on doit donc
   passer par !important pour le neutraliser aussi.
   ========================================================================= */
body #block_ID1656146459270 a,
body #block_ID1656146459270 a:hover,
body #block_ID1656146459270 a:focus {
    text-decoration: none !important;
}

/* =========================================================================
   4. LOGO centre au-dessus du texte d'introduction (desktop 1401-1699px)
   -------------------------------------------------------------------------
   En 2 colonnes (photo | texte), le centre de la colonne texte tombe a
   ~73 % de la largeur. Le logo etant centre a 50 % sur sa rangee pleine
   largeur, padding-left:46% -> centre a (100%+46%)/2 = 73 %, au-dessus du
   texte. Borne a 1699px : a partir de 1700px (tres grands ecrans) le logo
   reste centre sur toute la page. En dessous de 1401px le layout s'empile
   et le logo reste centre aussi.
   ========================================================================= */
@media only screen and (min-width: 1401px) and (max-width: 1699px) {
    #block_ID1655472453811 {
        padding-left: 46%;
        box-sizing: border-box;
    }
}

/* =========================================================================
   5. INTRO « Bienvenue » : memes marges laterales que le contenu (mobile)
   -------------------------------------------------------------------------
   En mode empile (<=1400px) le bloc intro s'etalait sur toute la largeur
   (marge ~21px) alors que les sections du dessous sont dans un
   .inner.animate.resizable contraint a max-width:1200px + padding 21px
   (marge effective ~97px). On applique le meme gabarit a l'intro pour
   aligner les bords. Sur desktop (>=1401px) l'intro reste la colonne droite,
   donc on ne touche pas.
   ========================================================================= */
@media only screen and (max-width: 1400px) {
    #block_ID1655473035995 .inner.animate.resizable {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 21px;
        padding-right: 21px;
        box-sizing: border-box;
    }
}

/* =========================================================================
   6. LOGO + nom en haut du menu hamburger (mobile)
   -------------------------------------------------------------------------
   Le bloc .galatee-menu-logo est injecte en haut du <nav> par
   customendbody.php. Il reste masque sur desktop (cercle) et n'apparait
   qu'en mode overlay (<=1400px). On empile le nav par le haut (column +
   flex-start) pour eviter le grand vide vertical du justify-content:center.
   ========================================================================= */
.galatee-menu-logo {
    display: none;
}

@media only screen and (max-width: 1400px) {
    /* overlay : logo puis liens, ancres en haut */
    .galatee-menu-vertical-container nav {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding-top: 34px;
    }
    .galatee-menu-logo {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        margin: 0 auto 26px;
    }
    .galatee-menu-logo img {
        width: 110px;
        height: auto;
    }
    .galatee-menu-logo .noemie {
        font-family: 'dinregular', 'din', sans-serif;
        color: var(--or);
        font-size: 19px;
        letter-spacing: 0.5px;
    }
}

/* =========================================================================
   7. Espace sous le bouton « Pour en savoir plus » (mobile)
   -------------------------------------------------------------------------
   En layout empile (<=1400px) la vague brune de la section suivante remonte
   juste sous le bouton. On ajoute une marge sous le bloc du bouton pour
   degager la courbe.
   ========================================================================= */
@media only screen and (max-width: 1400px) {
    #ID1655473579491 {
        margin-bottom: 55px;
    }
}

/* =========================================================================
   8. Chevauchement logo / photo d'accueil (mobile 392-524px)
   -------------------------------------------------------------------------
   La photo d'accueil garde une largeur fixe (~377px) tant que le viewport
   est >=392px ; en dessous elle bascule sur une petite version (233px) et
   le souci disparait. Or le template reduit le padding-top de la photo a
   70px des 524px, ce qui la fait remonter sur le nom « Noemie Reber Dubois »
   (chevauchement de ~24px) sur toute la plage 392-524px. On retablit un
   padding suffisant uniquement sur cette plage (au-dela de 524px il vaut
   deja 165px ; en-dessous de 392px les 70px conviennent).
   ========================================================================= */
@media only screen and (min-width: 392px) and (max-width: 524px) {
    #menu .photoaccueil {
        padding-top: 165px;
    }
}

/* =========================================================================
   9. Petits ecrans (<=391px) : equilibrage des marges de la photo
   -------------------------------------------------------------------------
   En dessous de 392px la photo passe en petite version (233px) ; le
   padding-top de 70px laissait trop de vide au-dessus et rien en dessous
   (avant le titre « Bienvenue »). On reduit le haut et on ajoute du bas.
   ========================================================================= */
@media only screen and (max-width: 391px) {
    #menu .photoaccueil {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

/* =========================================================================
   10. Petits ecrans (<=391px) : titre « Bienvenue » qui tient mieux
   -------------------------------------------------------------------------
   A 27px la ligne « de soins energetiques » depasse de ~3px la largeur
   dispo (~276px) et « energetiques » saute a la ligne. On reduit legerement
   le titre pour qu'elle tienne. Selecteur h1.titleck pour battre le style
   inline #ID1658916257916 .titleck { font-size:1.3em } (specificite 1,1,0).
   ========================================================================= */
@media only screen and (max-width: 391px) {
    #ID1658916257916 h1.titleck {
        font-size: 25px;
    }
}

/* =========================================================================
   11. Footer : cercles plus petits + recentres sur la separation (<=391px)
   -------------------------------------------------------------------------
   A <=391px le template repassait les ronds a 144px (trop gros). On les
   reduit a 120px en reduisant AUSSI la police et le padding interne, sinon
   le texte deborde et n'est plus centre. Puis on descend l'ensemble des
   ronds de 16px (translateY, sans margin-collapse) pour que le centre des
   ronds du haut tombe pile sur la separation brun/creme.
   ========================================================================= */
@media only screen and (max-width: 391px) {
    #footer #rond11 > .inner,
    #footer #ID1656491160640 > .inner,
    #footer #ID1656491161079 > .inner,
    #footer #ID1656491161808 > .inner {
        width: 120px;
        height: 120px;
    }
    #footer .titleck.rondbdp {
        padding: 14px;
        line-height: 20px;
    }
    #footer .titleck.rondbdp a {
        font-size: 17px;
        line-height: 20px;
    }
    #footer #block_ID1656486673883 {
        transform: translateY(16px);
    }
}

/* =========================================================================
   12. Menu hamburger sur les pages internes (.menurond) en mobile
   -------------------------------------------------------------------------
   custom.css masque le menu sur les pages internes en mobile
   (@media max-width:1400 { .menurond #menu { display:none } }), ce qui
   supprimait aussi le bouton hamburger -> aucun menu sur ces pages.
   Le bouton burger et l'overlay sont en position:fixed, donc on peut
   reafficher #menu en l'effondrant a hauteur 0 (height:0 !important pour
   battre le #menu{height:270px} de custom.css) : le hamburger s'affiche
   sans reserver d'espace ni decaler le contenu. L'accueil (.homepage) n'est
   pas concerne.
   ========================================================================= */
@media only screen and (max-width: 1400px) {
    .menurond #menu {
        display: block !important;
        height: 0 !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
}
