﻿/* @autor : Marc Seraille - Des Demains */
/* @date : Octobre 2014 */

/* ----------------------------- */
/* = Sommaire */
/* ----------------------------- */
/* 1- Comportements generaux */
/* 2- Centrage du contenu, positionnements généraux */
/* 3- Tooltip */
/* 4- Navigation à gauche */
/* 5- Header */
/* 6- Navigation en haut - cabane */
/* 7- Diaporama et recherche (cycle2, select) */
/* 8- Carroussel (zooms) */
/* 9- Actualités */
/* 10- Interêts */
/* 11- Aside (newsletter, brochures, témoignages)*/
/* 13- Séjours résultats */
/* 14- Media Queries*/

/* vert : #53ba36;  rouge:#D6291B; orange : #d65d1b;  Bleu : #3333cc ou 6699ff; bleu clair: #657cbb; */


@charset "UTF-8";

/*------------------------------Footer-------------------------------*/

#centrage #footer {
    margin: 0 auto;
    float: left;
    width: 991px;
    /*height:430px;*/
    background-image: url(images/footer/bas.png);
    background-repeat: no-repeat;
    background-position: bottom center;
    font-size: 11px;
    color: #333333;
    line-height: 18px;
    padding: 0 0 30px 0;
}

#centrage #footeradmin {
    margin: 0 auto;
    float: left;
    width: 991px;
    height: 171px;
    font-size: 09px;
    font-stretch: semi-condensed;
    text-align: center;
    color: #4b5980;
}

#centrage #footer a:link {
    text-decoration: none;
    color: #4a4a4a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
}

#centrage #footer a:hover {
    text-decoration: none;
    color: #ff0000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
}

#centrage #footer a:visited {
    text-decoration: none;
    color: #4a4a4a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
}

div#footer2020 {
    width: 100%;
    height: 360px;
    background: #666;
    display: block;
    clear: both;
}

.foot2020-gauche {
    position: absolute;
    width: 65%;
}

.foot2020-droit {
    width: 32%;
    float: right; /* Remplace position: absolute; par float */
    background: #fff;
    min-height: 150px;
    border-radius: 7px;
    padding: 10px;
    margin-top: -13px; /* Remplace top avec margin-top pour ajuster la position */
}

.foot2020-bas {
    width: 100%;
    position: absolute;
    bottom: -250px;
}

    .foot2020-bas a:link, .foot2020-bas a:visited {
        background: #444;
        border-radius: 15px;
        text-decoration: none;
        color: #fff;
        padding: 5px;
    }

    .foot2020-bas a:hover {
        background: #333;
    }

.footer2020-centre {
    width: 1270px;
    display: block;
    margin: 0 auto;
    padding: 30px 0 70px 0;
    /* background: #000; */
    color: #fff;
    font-size: 1.5em;
    position: relative;
}

@media(max-width: 1000px) {
    .foot2020-droit {
        display: none;
    }

    .foot2020-gauche {
        position: absolute;
        max-width: 60%;
    }
}

/*------------------------------COMPORTEMENTS GENERAUX--------------------------------*/
#PanelInsStage table tr {
    line-height: 10px !important;
}

html {
    height: 100%;
}

body {
    font-weight: 400;
    font-variant: normal;
    font-style: normal;
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    overflow-x: hidden;
    background: url(../img/bati/fond.gif) repeat fixed;
    margin: 0;
    padding: 0;
}

table {
    font-weight: 400;
    font-variant: normal;
    font-style: normal;
    font-size: 100%;
}

.gras {
    font-weight: bold;
}

#nav_smart, #tj_smart, #sejour_smart, #inscription_smart {
    display: none;
}

.blanc {
    background-color: #FFFFFF;
}

a.blanc {
    color: #000000;
}

.rouge {
    background-color: #657cbb;
    color: #FFFFFF !important;
}

    .rouge a {
        text-decoration: none;
    }

        .rouge a:hover {
            color: #FFFFFF !important;
            text-decoration: underline;
        }

.grisclair {
    background-color: #e5e5e5;
}

.grisentre {
    background-color: #b7b7b7;
}

.blancentre {
    background-color: #ffffff;
}

.gristresclair {
    background-color: #f4f3f3;
}

.bleuentre {
    background-color: #657cbb;
}

.grisfonce {
    background-color: #373737;
    color: #FFFFFF;
}

.bleufonce {
    background-color: #3333cc;
    color: #FFFFFF;
}

.noir {
    color: #373737 !important;
}

.t100 {
    width: 100% !important;
}

}

.t95 {
    width: 95% !important;
}

.t80 {
    width: 80% !important;
}

.t85 {
    width: 85% !important;
}

.t75 {
    width: 75% !important;
}

.t70 {
    width: 70% !important;
}

.t60 {
    width: 60% !important;
}

.t55 {
    width: 55% !important;
}

.t50 {
    width: 50% !important;
}

.t45 {
    width: 45% !important;
}

.t40 {
    width: 40% !important;
}

.t35 {
    width: 35% !important;
}

.t30 {
    width: 30% !important;
}

.t25 {
    width: 25% !important;
}

.t20 {
    width: 20% !important;
}

.t15 {
    width: 15% !important;
}

.t15centre {
    width: 15% !important;
    text-align: center;
}

.t10 {
    width: 10% !important;
}

.t5 {
    width: 5% !important;
}

.pt {
    padding-top: 1% !important;
}

.pl {
    padding-left: 1% !important;
}

.pr {
    padding-right: 1% !important;
}

.pb {
    padding-bottom: 1% !important;
}

.pt2 {
    padding-top: 2px !important;
}

.pl2 {
    padding-left: 2% !important;
}

.pr2 {
    padding-right: 2% !important;
}

.pb2 {
    padding-bottom: 2% !important;
}

.pa {
    padding: 2% !important;
}

.pl0 {
    padding-left: 0% !important;
}

.mt {
    margin-top: 1%;
}

.ml {
    margin-left: 1%;
}

.mr {
    margin-right: 1%;
}

.mb {
    margin-bottom: 1%;
}


.mt2 {
    margin-top: 2%;
}

.ml2 {
    margin-left: 2%;
}

.mr2 {
    margin-right: 2%;
}

.mb1 {
    margin-bottom: 1%;
}

.mb2 {
    margin-bottom: 2%;
}

.mb4 {
    margin-bottom: 4%;
}

.mb10 {
    margin-bottom: 10%;
}

.ma {
    margin: 2%;
}

.h70 {
    height: 70% !important;
}

.table {
    display: table;
    vertical-align: top;
}

.cell {
    display: table-cell;
}

.celltop {
    display: table-cell;
    vertical-align: top;
}

.inline {
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px 0 0;
}

    .inline a {
        text-decoration: none !important;
        margin-right: 10px;
    }

.list {
    display: list-item;
    list-style-type: none;
}

    .list ul {
        margin: 0 !important;
    }

    .list a {
        text-decoration: none !important;
    }

        .list a:hover {
            text-decoration: underline !important;
        }

.listdisc {
    display: list-item;
    list-style-type: circle;
    list-style: circle;
    padding: 5px;
}

.floatr {
    float: right;
}

.floatl {
    float: left;
}

.none {
    padding: 0 !important;
    list-style-type: none;
}

    .none a {
        text-decoration: underline;
    }

        .none a:hover {
            text-decoration: none;
            color: #373737;
        }

.noneblanc a {
    text-decoration: underline;
    color: #FFFFFF;
}

    .noneblanc a:hover {
        text-decoration: underline;
        background-color: #FFFFFF;
        color: #333333 !important;
    }

.nonerouge a {
    text-decoration: none;
}

    .nonerouge a:hover {
        text-decoration: none;
        background-color: #657cbb;
        color: #FFFFFF;
    }

a {
    color: #333333;
}

    a:hover {
        text-decoration: none;
    }

i {
    padding-right: 5px;
}

    i:hover {
        color: white;
    }


a, p, img, span, header, nav, figure, article, section, aside, h1, h2, h3, h4, h5, h6, fieldset, table {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

.active {
    background-color: #FFFFFF;
    color: #002080;
}

img, embed, object, video {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    height: auto;
}

ul, ol {
    margin: 0;
    padding: 0 0 0 15px;
    list-style-position: outside;
}

    ul ul, ol ol {
        margin: 0;
        padding: 3px 0 3px 20px;
        list-style-position: outside;
        list-style-type: disc;
    }

li {
    margin: 0;
    padding: 3px 0 3px 0;
    list-style-position: outside;
    list-style-type: disc;
}

p {
    margin: 3px 0 3px 0;
    display: inline-block;
    -webkit-column-break-after: always;
    break-inside: avoid-column;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}


/*li > b, b > li, b li, li b{
	    list-style-type: none !important;
    }*/

h1 {
    font-size: 2.6vw;
    font-style: italic;
    text-align: left;
}

h2 {
    font-size: 1.7vw;
    font-style: italic;
    text-align: left;
    -webkit-column-span: all;
    -moz-column-span: all;
    column-span: all;
}

h3 {
    font-size: 1.2em;
    text-align: left;
    font-style: italic;
    padding-top: 10px;
}

h4 {
    font-size: 1.5em;
    text-align: left;
    font-style: italic;
    margin: 3% 0 2% 0;
    background-color: #657cbb;
    color: #FFFFFF;
    padding-left: 3px;
}

h5 {
    font-size: 1em;
    text-align: left;
    font-style: italic;
    margin: 3% 0 2% 0;
    background-color: #657cbb;
    color: #D6291B;
    padding-left: 3px;
}

h6 {
    font-size: 1vw;
    font-style: italic;
    text-align: left;
    margin-bottom: 10px !important;
    -webkit-column-span: all;
    -moz-column-span: all;
    column-span: all;
}

th[scope="row"], td {
    text-align: left;
    font-style: normal;
    font-weight: normal;
}

th {
    text-align: left;
    font-style: normal;
    font-weight: normal;
    width: 15%;
}

small {
    font-size: inherit;
}

strong {
    font-size: 2.2em;
    text-align: left;
}

/*------------------------------ LES FORMULAIRES --------------------------------*/

nav select {
    display: none;
}


.print-select {
    display: none;
}

label {
    display: inline-block;
    margin: 2% 2% 0 0;
    padding: 1% 0 1% 0;
    width: 30%;
}

select {
    border: none;
    outline: none;
    background-color: #FFFFFF;
    text-align: left;
    height: 25px;
    margin-top: 2%;
    padding: 0 2% 0 2%;
    width: 60%;
}

textarea, input {
    border-style: none;
    border-color: inherit;
    border-width: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    height: 25px;
    padding: 0 2% 0 2%;
    margin-bottom: 5px;
}

.prix {
    background-color: #FFFFFF;
    color: #000;
    border: 0;
    text-align: left;
    height: 25px;
    width: 100px;
    margin: 2% 1% 1% 0;
    padding: 0 2% 0 2%;
}

input[type="submit"] {
    background-color: #657cbb;
    color: #FFFFFF;
    width: 60%;
}

input[type="radio"] {
    display: inline-block;
    vertical-align: middle;
    margin: 0 1% 0 25px;
}

input[type="checkbox"] {
    display: inline-block;
    vertical-align: middle;
    margin: 0 1% 0 25px;
}

input[id="MTrouver"] {
    cursor: pointer;
}

textarea {
    vertical-align: top;
    height: 100px !important;
    display: block;
    width: 80%;
    background-color: #FFFFFF;
}

    input:hover, textarea:hover {
        background-color: #657cbb;
        color: #FFFFFF;
    }

input[type="submit"]:hover {
    /* rouge */
    background-color: #FF3C00;
    color: #333333;
}

.nav-top > li > div > form > h3 {
    color: white;
}


/*------------------------------CENTRAGE DU CONTENU --------------------------------*/

#bg {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.wrap-center {
    position: relative;
    margin-left: 0%;
    margin-right: 0%;
    max-width: 100%;
}

/*-----------------------------------------TOOLTIP--------------------------------*/

#tooltip {
    text-align: left;
    color: #fff;
    position: absolute;
    z-index: 9000;
    max-width: 50px;
    padding: 10px 50px 10px 10px;
    background: #373737;
    background-size: 13% auto;
    border: thin solid #373737;
}

    #tooltip:after /* triangle decoration */ {
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #373737;
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        margin-left: -10px;
    }

    #tooltip.top:after {
        border-top-color: transparent;
        border-bottom: 10px solid #373737;
        top: -20px;
        bottom: auto;
    }

    #tooltip.left:after {
        left: 10px;
        margin: 0;
    }

    #tooltip.right:after {
        right: 10px;
        left: auto;
        margin: 0;
    }

/* ----------------------------------- FENËTRE MODALE ----------------------------- */

#fade { /*--Masque opaque noir de fond--*/
    display: none; /*--masqué par défaut--*/
    background: #000;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: .80;
    z-index: 9999;
}

.popup_block {
    display: none; /*--masqué par défaut--*/
    padding: 20px;
    float: left;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 99999;
    overflow-y: auto;
    overflow-x: hidden;
}

img.btn_close {
    float: right;
    margin: -14px -14px 0 0;
    width: 30px;
}
/*--Gérer la position fixed pour IE6--*/
*html #fade {
    position: absolute;
}

*html .popup_block {
    position: absolute;
}

#inscrire_autre_enfant, #enquete_enfant {
    height: 70%;
    overflow-y: auto;
    overflow-x: hidden;
}
/* ------------------------------NAV PRINCIPALE A GAUCHE ----------------------------------- */


.nav-left {
    position: fixed;
    left: 0;
    background-size: 100%;
    height: 100%;
    z-index: 10000;
}

.nav {
    padding: 0;
    margin: 130px 0 0 0;
    position: relative;
}

    .nav, .nav a {
        color: #ffffff;
        cursor: pointer;
        text-decoration: none;
    }

        .nav > li {
            display: block;
            vertical-align: top;
            float: none;
            height: 65px;
            width: 60px;
            position: relative !important;
            margin-bottom: 10px;
        }

            .nav > li > a > i {
                padding-top: 7px;
            }

            .nav > li > a > span {
                display: block;
                padding-top: 3px;
                text-align: center;
            }

            .nav > li > a > i::before {
                margin-left: 18px;
            }

            .nav > li > a > i::after {
                font-family: 'Open Sans', sans-serif;
                font-size: 0.4em;
                text-align: center;
                display: list-item;
                list-style-type: none;
                margin: -4px 0 0 0;
                padding: 0;
            }

            .nav > li > a > i::after {
                display: block;
                margin-left: 17px;
            }

            .nav > li:hover:nth-child(1), .nav > li.active:nth-child(1) {
                background-color: #D6291B;
            }

            .nav > li:hover:nth-child(2), .nav > li.active:nth-child(2) {
                background-color: #657cbb;
            }

            .nav > li:hover:nth-child(3), .nav > li.active:nth-child(3) {
                background-color: #dcba14;
            }

            .nav > li:hover:nth-child(4), .nav > li.active:nth-child(4) {
                background-color: #53ba36;
            }

            .nav > li:hover:nth-child(5), .nav > li.active:nth-child(5) {
                background-color: #36a6ba;
            }

            .nav > li:hover:nth-child(6), .nav > li.active:nth-child(5) {
                background-color: #657cbb;
            }


            /*================ MENU SUITE / contenu div ===================*/

            .nav > li > div {
                position: absolute;
                display: none;
                left: 0;
                top: 0;
                padding: 15px;
                width: 400px;
                float: left;
                left: 100%;
            }

                .nav > li > div img {
                    float: left;
                    width: 60%;
                }

                .nav > li > div h2 {
                    margin-bottom: 5px;
                }

                .nav > li > div p {
                    float: right;
                    width: 37%;
                }

                    .nav > li > div p i {
                        display: block;
                        bottom: 0;
                        right: 0;
                    }

                    .nav > li > div p a:hover {
                        color: #657cbb;
                    }

            .nav > li:nth-child(2) > div p a:hover {
                color: #657cbb;
            }

            .nav > li:nth-child(3) > div p a:hover {
                color: #dcba14;
            }

            .nav > li:nth-child(4) > div p a:hover {
                color: #53ba36;
            }

            .nav > li:nth-child(5) > div p a:hover {
                color: #36a6ba;
            }

            .nav > li:nth-child(6) > div p a:hover {
                color: #657cbb;
            }

            /*============== EFFETS ==============*/

            .nav > li > div, .nav li > ul, .nav-top li > ul, .nav-top > li > div, .cabane > li > div, .sejours_resultat_right_menu > li > div, .recommande > li > div {
                -webkit-transform: translateX(50px);
                -moz-transform: translateX(50px);
                -ms-transform: translateX(50px);
                -o-transform: translateX(50px);
                transform: translateX(50px);
            }

            .nav > li > div, .nav li > ul, .nav-top li > ul, .nav-top > li > div, .cabane > li > div, .sejours_resultat_right_menu > li > div, .recommande > li > div {
                display: block !important;
                visibility: hidden;
                opacity: 0;
                -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease, visibility 0.4s linear 0s;
                -moz-transition: opacity 0.4s ease, -moz-transform 0.4s ease, visibility 0.4s linear 0s;
                -ms-transition: opacity 0.4s ease, -ms-transform 0.4s ease, visibility 0.4s linear 0s;
                -o-transition: opacity 0.4s ease, -o-transform 0.4s ease, visibility 0.4s linear 0s;
                transition: opacity .4s ease, transform .4s ease, visibility .4s linear 0s;
            }

            .nav > li:hover > div,
            .nav li:hover > ul,
            .nav-top li:hover > ul,
            .nav-top > li:hover > div,
            .cabane > li:hover > div,
            .sejours_resultat_right_menu > li:hover > div,
            .recommande > li:hover > div {
                visibility: visible;
                opacity: 1;
                -webkit-transform: translate(0);
                -moz-transform: translate(0);
                -ms-transform: translate(0);
                -o-transform: translate(0);
                transform: translate(0);
                -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
                -moz-transition: opacity 0.4s ease, -moz-transform 0.4s ease;
                -ms-transition: opacity 0.4s ease, -ms-transform 0.4s ease;
                -o-transition: opacity 0.4s ease, -o-transform 0.4s ease;
                transition: opacity .4s ease, transform .4s ease;
            }

/* ------------------------- HEADER  : LOGO, CABANE, RESEAUX SOCIAUX, ETC  ------------------------------ */


header h1 {
    display: none;
}

#logo {
    width: 17%;
    position: absolute;
    z-index: 200;
    margin: 0.5%;
}

#logostructure {
    width: 50%;
    position: absolute;
    z-index: 200;
    margin: 2%;
}

#cabane {
    width: auto;
    margin: 2% 15% 2% 20%;
    padding: 2px;
    float: right;
}

    #cabane .fa, #cabane i, #cabane h3, #cabane ul, #cabane span, #cabane p, #cabane a {
        display: inline-block;
        padding: 0 5px 0 5px;
        vertical-align: central;
    }

    #cabane div a {
        margin: 5px 0 5px 0;
    }

    #cabane i {
        color: #657cbb;
    }

        #cabane i:hover {
            color: #657cbb;
        }

    #cabane h3 {
        font-size: 1.5em;
    }

#reseaux {
    float: right;
    margin: 2.5% 2% 0 0;
}

    #reseaux ul li {
        display: inline-block;
        margin-right: 10px;
    }

        #reseaux ul li i:hover {
            color: #657cbb;
        }

/* --------------------------------- DEROULANTS : NAV TOP, MENU CABANE --------------------------------------- */

nav#nav_top {
    position: relative;
    right: 0;
    z-index: 10000;
    float: right;
    width: 80%;
    height: 35px;
    padding: 0;
    margin: 0;
}

ul.nav-top, .nav-top ul, .nav-top li, .nav-top li > ul, .cabane li {
    margin: 0 !important;
    padding: 0 !important;
    list-style-type: none !important;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.nav-top a, .cabane a, .recommande a {
    cursor: pointer;
}

.nav-top, .cabane:hover, .nav-top a, .cabane a {
    color: #002080;
}

    .nav-top > li, .cabane > li {
        display: inline-block;
        height: 35px;
    }

        .nav-top > li:nth-child(1) {
            width: 15%;
            font-size: 10pt;
        }

        .nav-top > li:nth-child(2), .nav-top > li:nth-child(3), .nav-top > li:nth-child(4), .nav-top > li:nth-child(5), .nav-top > li:nth-child(6) {
            width: 15%;
            font-size: 10pt;
        }

    .nav-top.fa, .cabane.fa {
        font-size: 10pt;
        letter-spacing: 10px;
    }

    .nav-top i {
    }

    .nav-top > li > a, .cabane > li > a {
        line-height: 40px;
        text-align: center;
        font-weight: bold;
    }

    .nav-top > li:hover {
        background-color: #FFFFFF;
        text-decoration: underline;
    }

.cabane > li:hover {
    background-color: #FFFFFF;
}

.nav-top li, .cabane li, .recommande li {
    position: relative;
    cursor: default;
}

    .nav-top li > a, .cabane li > a, .recommande li > a {
        text-decoration: none;
        display: block;
    }

#nav_top > ul > li:nth-child(4) > a, #nav_top > ul > li:nth-child(5) > a {
}

.nav-top li > ul, .cabane li > ul, .recommande li > ul {
    z-index: 1;
    list-style: none;
}

.nav-top:after, .cabane:after, .recommande:after {
    content: '';
    display: block;
    clear: both;
}

.nav-top ul, .cabane ul, .recommande ul {
    position: absolute;
    width: 100%;
}

    .nav-top ul > li, .cabane ul > li {
        min-height: 40px;
    }

        .nav-top ul > li a, .cabane ul > li a {
            padding: 10px 0 10px 10px;
        }

.nav-top > li > ul, .cabane > li > ul, .nav-top > li > ul ul, .cabane > li > ul ul {
    background-color: #657cbb;
    color: #FFFFFF;
}

    .nav-top > li > ul li > a, .cabane > li > ul li > a, .nav-top > li > ul ul li > a, .cabane > li > ul ul li > a {
        color: #FFFFFF;
    }

    .nav-top > li > ul li:hover, .cabane > li > ul li:hover, .nav-top > li > ul ul li:hover, .cabane > li > ul ul li:hover {
        background-color: #aa0000;
    }

        .nav-top > li > ul li:hover > a, .nav-top > li > ul ul li:hover > a {
            color: #FFFFFF;
        }

.nav-top > li > ul, .cabane > li > ul {
    top: 100%;
    left: 0;
}

    .nav-top > li > ul ul, .cabane > li > ul ul {
        top: 0;
        left: 100%;
    }

/* div du menu */

.nav-top > li > div, .cabane > li > div, .recommande > li > div {
    position: absolute;
    display: none;
    left: 0;
    top: 100%;
    padding: 5px 10px;
    background-color: #657cbb;
    color: #555555;
    width: 200px;
    z-index: 8000;
}

.sejours_resultat_right_menu > li > div, .recommande > li > div {
    top: 24px !important;
}

.nav-top > li > div > p > a, .cabane > li > div > a, .recommande div > a {
    display: block;
    text-decoration: none;
    margin-top: 10px;
}

    .nav-top > li > div > p > a:hover, .cabane > li > div > a:hover, .recommande > li > div > a:hover {
        text-decoration: underline;
    }

.nav-top > li > div > h3, .cabane > li > div > h3, .recommande > li > div > h3 {
    color: #FFFFFF;
}

.nav-top > li:hover > div, .cabane > li:hover > div, .recommande > li:hover > div {
    display: block;
}

li#tel {
    float: right;
    width: 27%;
    margin: 0 !important;
    padding: 0 !important;
}

a[href^="tel:"]:before {
    content: "\f098";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    font-size: 16pt;
    letter-spacing: 14px;
    text-decoration: inherit;
    padding-left: 10px;
}

/* ---------------- DIAPORAMA  ---------------------- */

.photos li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

ul.diapo-liens {
    margin: 5px 0 0 5px !important;
    padding: 0 !important;
}

.diapo img:first-child {
    position: static;
    z-index: 100;
}

.diapo-liens li:not(.cycle-pager-active) {
    display: inline-block;
    text-decoration: none;
    padding: 0.5% !important;
    margin: 0.5% 3% 1% 1.5% !important;
    cursor: pointer;
}

.diapo-liens li:hover, .diapo-liens li:active, .diapo-liens li.cycle-pager-active {
    text-decoration: none;
    display: inline-block;
    background-color: #657cbb;
    color: #FFFFFF;
    padding: 0.5% !important;
    margin: 0.5% 3% 1% 1.5% !important;
    -webkit-box-shadow: rgba(0, 0, 0, 0.247059) 0px 5px 21px;
    box-shadow: rgba(0, 0, 0, 0.247059) 0px 5px 21px;
    cursor: pointer;
}

/* ----------------------------- moteur de recherche : menu deroulant  ----------------------------------- */

#recherche {
    position: relative;
    z-index: 200;
}

.recherche a {
    text-decoration: none;
    color: #000000 !important;
}



.recherche {
    position: absolute;
    width: 90%;
    height: auto;
    margin: 1% 0 0 0%;
    border-width: 1%;
    border-style: solid;
    border-color: #657cbb;
}

    .recherche li, ul.recherche, .recherche ul {
        list-style: none;
        margin: 0 !important;
        padding: 0 !important;
    }

    .recherche > li > a {
        background-color: #FFFFFF;
        height: 2.75em;
        line-height: 2.75em;
        text-indent: 0.5em;
        display: block;
        position: relative;
        text-shadow: 0px 1px 0px rgba(0,0,0,.5);
        color: #333333;
        font: italic;
        font-size: 1vw;
    }

    .recherche > li:first-of-type {
        border-bottom: 5px solid #657cbb;
    }

    .recherche ul li a {
        background: #fff;
        border-bottom: 1px solid #efeff0;
        width: 100%;
        height: 2.75em;
        line-height: 2.75em;
        text-indent: 2.75em;
        display: block;
        position: relative;
        font-size: 1em;
    }

    .recherche ul li:last-child a {
        border-bottom: 1px solid #33373d;
    }

    .recherche > li > a:hover, .recherche > li > a.active {
        background-color: #e5e5e5;
        color: #333333;
    }

    .recherche > li > a span {
        font-size: 0.857em;
        display: inline-block;
        position: absolute;
        right: 1em;
        top: 50%;
        background: #657cbb;
        line-height: 1em;
        height: 1em;
        padding: .4em .6em;
        margin: -.8em 0 0 0;
        color: #fff;
        text-indent: 0;
        text-align: center;
        -webkit-border-radius: .769em;
        -moz-border-radius: .769em;
        border-radius: .769em;
    }

    .recherche > li > a:hover span, .recherche > li a.active span {
        background: #2173a1;
    }

    .recherche > li > ul li a:before {
        content: "\25B6";
        font-size: 8px;
        color: #bcbcbf;
        position: absolute;
        width: 1em;
        height: 1em;
        top: 0;
        left: -2.7em;
    }

    .recherche > li > ul li:hover a, .recherche > li > ul li:hover a span, .recherche > li > ul li:hover a:before {
        color: #32373D;
    }

    .recherche > li > ul li:hover a {
        background: #657cbb;
        color: #FFFFFF;
    }

    .recherche ul > li > a span {
        font-size: 0.857em;
        display: inline-block;
        position: absolute;
        right: 1em;
        top: 50%;
        background: #fff;
        border: 1px solid #d0d0d3;
        line-height: 1em;
        height: 1em;
        padding: .4em .7em;
        margin: -.9em 0 0 0;
        color: #878d95;
        text-indent: 0;
        text-align: center;
        -webkit-border-radius: .769em;
        -moz-border-radius: 769em;
        border-radius: 769em;
        text-shadow: 0px 0px 0px rgba(255,255,255,.01));
    }

#recherche div {
    margin-top: 60%;
}

#recherche input {
    background-color: #AA0000 !important;
    color: #FFFFFF !important;
    margin-top: 20px;
    width: 30% !important;
    font-weight: bold;
    text-align: center;
}

    #recherche input:hover {
        background-color: #001040 !important;
        color: #FFFFFF !important;
        margin-top: 20px;
    }

#EnvoyerM {
    background-color: #AA0000 !important;
    color: #FFFFFF !important;
    margin-top: 20px;
    width: 30% !important;
    font-weight: bold;
    text-align: center;
}

    #EnvoyerM:hover {
        background-color: #001040 !important;
        color: #FFFFFF !important;
        margin-top: 20px;
    }

#valcodesaisiM {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    width: 30% !important;
}

#hidSourceID1cab {
    width: 80%;
}

/* -----------Pour eviter d’afficher la petite croix qui efface le text e--------- */
::-ms-clear {
    display: none;
}

/* --------------------- INDEX / ZOOM SUR NOS SEJOURS / CAROUSSEL  -------------------------- */

#caroussel {
    height: 180px;
}

    #caroussel p {
        margin: 0 !important;
    }

    #caroussel > article.cycle-slide {
        overflow: hidden !important;
    }

    #caroussel article img {
        position: absolute;
        width: 390px !important;
    }

    #caroussel article p {
        position: absolute;
        bottom: -165px;
        background-color: #FFFFFF;
        padding: 3px;
    }

.cycle-paused:after {
    content: 'Pause';
    color: white;
    background: black;
    padding: 10px;
    z-index: 500;
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 10px;
    opacity: .5;
    filter: alpha(opacity=50);
}


/* --------------------- PAGE INDEX / ACTUALITES  -------------------------- */

#actu section article {
    margin-top: 8%;
}

#actu article img {
    width: 100%;
    margin: 2% 0 2% 0;
}

#custom-pager {
    position: absolute;
    top: 0;
    margin-top: -4%;
    background-color: #FFFFFF;
}

    #custom-pager a {
        display: inline-block;
        width: 15px;
        padding: 2px 5px 2px 5px;
        margin: 0;
        text-decoration: none;
    }

        #custom-pager a:hover, #custom-pager a.cycle-pager-active {
            display: inline-block;
            width: 15px;
            margin: 0;
            padding: 2px 5px 2px 5px;
            background-color: #657cbb;
        }

/* --------------------- COLONNES -------------------------- */

.colonne {
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    padding-bottom: 30px;
}

    .colonne article {
        text-align: justify;
        overflow: auto; /* Firefox */
        display: inline-block;
        width: 100%;
        -webkit-column-break-after: always;
        break-inside: avoid-column;
    }

        .colonne article img {
            padding: 10px 0 10px 0 !important;
        }

    .colonne p {
        text-align: justify;
    }

    .colonne hr {
        column-break-after: always;
        -webkit-column-break-after: always;
        break-inside: avoid-column;
        visibility: hidden;
    }

.simple p {
    display: inherit !important;
}

.simple img {
    width: 40%;
    float: left;
    padding: 0px 10px 10px 0;
}


/* ---------------- NEWSLETTER / BROCHURE / RIGHT / ASIDE ---------------------- */


aside {
    padding-top: 20px;
}

    aside a {
        text-decoration: none;
    }

        aside a:hover {
            text-decoration: underline;
        }

    aside i {
        color: #657cbb;
    }

    aside .rouge i {
        color: #FFFFFF;
    }

    aside .rouge a:hover {
        background-color: #D6291B !important;
    }

    aside .rouge i:hover {
        color: #373737 !important;
    }

    aside article fieldset {
        padding: 0;
        margin-top: 5px;
    }

    aside article input {
        background-color: #e5e5e5;
        float: none;
        width: 60%;
        margin: 0;
    }

        aside article input[type="submit"] {
            width: 30%;
        }

span.date {
    margin-top: 2px;
    font-style: italic;
    font-weight: bold;
}

#temoignage p {
    font-style: italic;
}

#inscription select {
    float: right;
}

#inscription input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 2px 10px 8px 0;
}

#inscription input[type="submit"] {
    background-color: #FFFFFF;
    color: #333333;
    margin-top: 15px;
    width: 150px;
    text-align: left;
}

    #inscription input[type="submit"]:hover {
        background-color: #e5e5e5;
    }

/* ----------------------- PAGES GENERALES / MAIN ----------------------------- */


li.blanc:hover {
    background-color: #657cbb;
    color: #FFFFFF;
}

.cycle_lien li:hover, .cycle_lien li:active, .cycle_lien li.cycle-pager-active {
    text-decoration: none;
    background-color: #657cbb;
    color: #FFFFFF;
    -webkit-box-shadow: rgba(0, 0, 0, 0.247059) 0px 5px 21px;
    box-shadow: rgba(0, 0, 0, 0.247059) 0px 5px 21px;
    cursor: pointer;
}


/* -----------------------PARTICULARITES PAGE SEJOURS ------------------------ */

li.inscrire {
}

.synthese {
    position: relative;
    z-index: 200;
}

/*article > figure {
	    overflow:hidden!important;
	    width:100%;
	    }

    article > figure > img {
	    position:relative!important;
	    left:40%;
	    margin-left:-58%;
	    width:60%;
	    }*/

.ias-spinner {
    width: 20px !important;
    height: 20px !important;
    margin-left: 200px;
}
/* -------------------------------MEDIA QUERIES ---------------------------- */


@media screen and (max-width: 1430px) {

    .nav-top > li > a {
        padding: 0 5px 0 5px;
        text-transform: lowercase !important;
    }

    .inline {
        margin: 0 1px 0 0;
    }

    h6 {
        font-size: 14px !important;
    }
}


@media screen and (max-width: 1110px) {
    .wrap-center {
        margin-left: 1% !important;
        margin-right: 1% !important;
    }

    .nav-top > li > a {
        padding: 0 2px 0 7px;
    }

    .pa {
        padding: 1%;
    }

    .recherche > li > a {
        font-size: 1em;
    }
}

@media screen and (max-width: 970px) {
    .nav-top i {
        padding: 0 3px 0 1px;
    }

    .nav-top > li > a {
        padding: 0 0px 0 0px;
    }
}

@media screen and (max-width: 800px) {
    .wrap-center {
        margin-left: 9%;
        margin-right: 0% !important;
    }
}

@media screen and (max-width:900px) {
    .menu > li > a {
        font-size: 1em;
    }

    .nav-top > li > a i {
        font-size: 20px;
    }

    .nav-top > li > a {
        font-size: 12px;
        padding: 0 3px 0 1px;
    }

    .nav-top > li > ul {
        width: 150px;
    }

    .nav {
        margin: 10px 0 0 0 !important;
    }

    .nav-top i {
        display: none !important;
    }

    .nav-top > li > a {
        line-height: 35px !important;
    }

    .cycle-slide article img {
        width: 50% !important;
    }

    .diapo-liens {
        display: none;
    }

    figure > ul.photos {
        position: absolute !important;
    }

    .cycle-slide img {
        width: 85% !important;
    }

    h1 {
        font-size: 24px !important;
    }

    h2 {
        font-size: 18px !important;
    }

    aside, .caroussel, .diapo-liens {
        display: none !important;
    }

    li.inscrire {
        display: inline-block !important;
    }

    li.imprimer {
        display: none !important;
    }

    .wrap-center {
        margin-left: 1% !important;
        margin-right: 1% !important;
    }

    #logo {
        width: 40px !important;
    }

    #logostructure {
        width: 100px !important;
    }

    .diapo {
        width: 140% !important;
    }
}

.infobulle {
    z-index: 10000;
    position: absolute;
    visibility: hidden;
    border: 1px solid Black;
    padding: 10px;
    font-family: Verdana, Arial;
    font-size: 10px;
    background-color: #FFFFCC;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#4d000000',GradientType=0 );
    -webkit-transition: all .3s 1s ease;
    -moz-transition: all .3s 1s ease;
    -ms-transition: all .3s 1s ease;
    -o-transition: all .3s 1s ease;
    transition: all .3s 1s ease;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
    -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
    -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
}

#Rubrique {
    background-color: #ffffff;
    padding: 20px;
    margin: 20px auto;
    width: 80%;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

    #Rubrique h1 {
        text-align: left;
        color: #003366;
    }

    #Rubrique h2 {
        text-align: left;
        color: #003366;
    }

#RubriqueDetail {
    background-color: #ffffff;
    padding: 20px;
    margin: 20px auto;
    width: 80%;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

    #RubriqueDetail h1 {
        text-align: left;
        color: #003366;
    }

    #RubriqueDetail h2 {
        text-align: left;
        color: #003366;
    }

.valider {
    width: 50px;
    text-align: center;
    font-size: 12pt;
}

/* Style pour le div contenant les boutons */
#BoutonsVal {
    display: inline-block;
    flex-wrap: wrap;
    justify-content: center; /* Centrer les boutons */
    align-items: center;
    margin-top: 20px; /* Espacement global si nécessaire */
}

    /* Ajout d'un espacement après le label (pour éviter que le premier bouton soit collé au label) */
    #BoutonsVal label {
        display: inline;
        margin-bottom: 20px; /* Espacement entre le label et le premier bouton */
    }

/* Style pour les boutons sur grands écrans */
.btnval {
    display: inline-block;
    width: auto;
    padding: 10px;
    margin: 10px;
    font-weight: bold;
    font-size: 12pt;
    height: 40px;
    text-align: center;
}

/* Media queries pour les petits écrans (smartphones, petites tablettes) */
@media screen and (max-width: 768px) {
    #BoutonsVal {
        display: flex;
        flex-direction: column; /* Empiler les boutons verticalement */
    }

    .btnval {
        width: 80%; /* Les boutons prennent plus de place en largeur sur les petits écrans */
        font-size: 0.9em; /* Réduction de la taille du texte */
        margin-bottom: 10px;
        height: auto; /* Ajustement de la hauteur */
    }

    .conditions-label {
        font-size: 0.5em; /* Réduction de la taille de la police */
    }
}

/* Media queries pour les très petits écrans (smartphones en mode portrait) */
@media screen and (max-width: 480px) {
    #BoutonsVal {
        display: flex;
        flex-direction: column; /* Empiler les boutons verticalement */
    }

    .btnval {
        width: 100%; /* Les boutons prennent toute la largeur sur les très petits écrans */
        font-size: 0.9em;
        margin-bottom: 10px;
        height: auto; /* Ajustement de la hauteur */
    }

    .conditions-label {
        font-size: 0.4em; /* Taille plus petite pour les écrans étroits */
    }
}

.image-text-container {
    display: flex;
    align-items: flex-start;
}

    .image-text-container img {
        margin-right: 20px;
        width: 500px;
        height: auto;
    }

    .image-text-container p {
        text-align: justify;
        line-height: 1.6;
        color: #333;
        margin: 0;
    }

.image-text-container-resa {
    display: block;
}

    .image-text-container-resa img {
        margin-right: 20px;
        width: 500px;
        height: auto;
    }

    .image-text-container-resa p {
        text-align: justify;
        line-height: 1.6;
        color: #333;
        margin: 0;
        font-size: 10pt;
    }

.image-text-container-resa-stages {
    display: block;
}

    .image-text-container-resa-stages img {
        margin-right: 20px;
        width: 500px;
        height: auto;
    }

    .image-text-container-resa-stages p {
        text-align: justify;
        line-height: 1.6;
        color: #333;
        margin: 0;
        font-size: 12pt;
    }

/* ----- TITRE ----- */
.titre-stages {
    font-size: 1.4em;
    font-weight: bold;
    margin: 20px 0 10px 0;
    color: #AA0000;
}
/* ================================================
   GRILLE DES STAGES — VERSION FINALE CORRIGÉE
   ================================================ */

/* ----- DESKTOP : 2 COLONNES ----- */
.stages-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px;
    width: 100%;
    margin-top: 15px;
}

/* ----- CARTE ----- */
.stage-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #DDDDDD;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    padding: 15px;
    gap: 15px;
    width: 100%;
}

/* ----- IMAGE ----- */
.stage-thumb {
    width: 300px !important;
    height: 400px !important;
    object-fit: contain;
    border: 1px solid #DDD;
    border-radius: 6px;
}

/* ----- INFORMATIONS ----- */
.stage-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.stage-lieu i {
    color: #006EDC !important;
    margin-right: 5px;
}

/* ----- BOUTON ----- */
.btn-acceder {
    padding: 10px 18px;
    background-color: #006EDC;
    color: #fff !important;
    border-radius: 8px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
}

    .btn-acceder i {
        margin-left: 6px;
    }

.stage-action {
    justify-content: center !important;
    text-align: center !important;
    padding-top: 30px;
}

.stage-docs-list {
    margin-top: 6px;
}

    .stage-docs-list .doc-mini {
        font-size: 0.8em;
        margin-top: 3px;
    }

    .stage-docs-list a {
        color: #003DA5;
        text-decoration: none;
    }

        .stage-docs-list a:hover {
            text-decoration: underline;
        }

.doc-mini {
    font-size: 0.8em;
    margin: 2px 0;
}

    .doc-mini a {
        color: #0066cc;
        text-decoration: none;
    }

        .doc-mini a:hover {
            text-decoration: underline;
        }

.doc-mini-title {
    font-size: 12px;
    font-weight: bold;
    color: #007AEA;
    margin-top: 6px;
    margin-bottom: 3px;
}

.doc-mini {
    font-size: 11px;
    padding: 1px 0;
}

/* ===================================================
   SMARTPHONE : 1 SEULE COLONNE + CARTE CENTRÉE
   =================================================== */

.table-tarifs, .table-cours {
    width: 80%;
    margin: 10px;
}

    .table-cours td {
        padding: 6px 8px;
    }

.table-repas {
    width: 60%;
    margin: 10px;
}

.table-repas td {
    padding: 6px 8px;
}

.entete th {
    padding: 6px;
    background: #007AEA;
    color: white;
    font-weight: bold;
    text-align: center;
}

.libelle-input {
    font-size: small;
    text-align: left;
}

/* MATIN : beige sable */
.bloc-matin {
    background: #f2e9da;
    padding: 8px;
    border-right: 3px solid #e6dfcf;
    border-radius: 6px 0 0 6px;
}

/* Bloc APRES-MIDI */
.bloc-apmidi {
    background: #f2fff6; /* Vert sauge clair */
    padding: 8px;
    border-left: 2px solid #d3f5de;
    border-radius: 0 6px 6px 0;
}

.bloc-date {
    background: #f0eba0;
    padding: 8px;
    border-left: 2px solid #d3f5de;
    border-radius: 0 6px 6px 0;
}

.table-tarifs td {
    padding: 6px 8px;
}

.tarif-label {
    cursor: pointer;
    display: inline-block;
    width: 100%;
    margin: 0% 2% 0 0;
}

@media(max-width: 1000px) {
    .table-tarifs td {
        padding: 6px 8px;
        width: 70%;
    }
}

/* ====== DOCUMENTS DU STAGE ====== */

/* ----------- BLOC DOCUMENTS : LIGNE PAR DOCUMENT ----------- */
.docs-container {
    width: 100%;
    margin-top: 20px;
}

.doc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 10px;
    margin-bottom: 12px;
    border: 1px solid #DDD;
    border-radius: 8px;
    background: #fff;
}

/* Libellé à gauche */
.doc-name {
    font-size: 0.8em;
    font-weight: bold;
    color: #333;
    flex: 1;
    text-align: left;
}

/* Image (miniature) */
.doc-image {
    width: 20px;
    text-align: right;
}

.doc-thumb {
    width: 20px;
    height: auto;
    object-fit: contain;
    border: 1px solid #DDD;
    border-radius: 6px;
    background: #fafafa;
}


/* ----------- MODE SMARTPHONE : empiler verticalement ----------- */
@media (max-width: 700px) {

    .doc-row {
        flex-direction: column;
        text-align: center;
        padding: 15px;
    }

    .doc-name {
        margin-bottom: 10px;
    }

    .doc-image {
        text-align: center;
        width: 100%;
    }

    .doc-thumb {
        width: 70%;
        max-width: 220px;
        margin: auto;
    }
}
/* --- WRAPPER TARIFS + DOCUMENTS --- */
.tarifs-docs-wrapper {
    display: flex;
    gap: 40px;
    width: 100%;
    margin-bottom: 25px;
}

/* Colonne gauche (Tarifs) */
.col-tarifs {
    width: 50%;
}

/* Colonne droite (Docs) */
.col-docs {
    width: 50%;
}

/* --- Lignes des documents --- */
.doc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #EEE;
}

/* Libellé */
.doc-name {
    font-size: 0.8em;
    font-weight: bold;
    color: #333;
    flex: 1;
}

/* Mini image */
.doc-image {
    width: 40px;
    text-align: right;
}

.doc-thumb {
    width: 32px;
    height: auto;
    border: 1px solid #DDD;
    border-radius: 4px;
}

/* CONTENEUR GLOBAL DOCS : moitié droite */
.docs-container {
    width: 100%; /* ou 40% si vous voulez encore plus étroit */
    margin-top: 10px;
}

/* LIGNE DOCUMENT — on limite la largeur */
.doc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 380px; /* 🔥 Réduit la largeur totale */
    padding: 6px 10px;
    border: 1px solid #EEE;
    border-radius: 5px;
    margin-bottom: 8px;
    background: #fff;
}

/* TEXTE À GAUCHE */
.doc-name {
    font-size: 0.8em;
    font-weight: bold;
    color: #333;
    max-width: 260px; /* 🔥 empêche de s'étirer trop */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* IMAGE À DROITE */
.doc-image {
    width: 28px; /* 🔥 taille contrôlée */
    min-width: 28px;
    text-align: right;
}

.doc-thumb {
    width: 28px;
    height: auto;
    object-fit: contain;
    border: 1px solid #DDD;
    border-radius: 4px;
    background: #fafafa;
}

/* grille des documents */
.docs-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

/* chaque ligne de document */
.doc-row {
    background: #fff;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    display: flex;
}

/* le lien (image + texte) */
.doc-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    width: 100%;
}

/* miniature à gauche */
.doc-thumb {
    width: 30px;
    height: auto;
    object-fit: contain;
    border: 1px solid #CCC;
    border-radius: 4px;
    background: #fafafa;
    margin-right: 10px;
}

/* nom du document */
.doc-name {
    font-size: 0.8em;
    font-weight: bold;
    color: #333;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px; /* <-- ajuste si nécessaire */
}

/* effet hover */
.doc-link:hover .doc-name {
    text-decoration: underline;
    color: #006EDC;
}

/* RESPONSIVE — sous les tarifs en mobile */
@media(max-width: 1000px) {
    .tarifs-docs-wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .docs-container {
        width: 100%;
    }

    .doc-row {
        max-width: 100%;
    }

    .tarifs-docs-wrapper {
        flex-direction: column;
    }

    .col-tarifs,
    .col-docs {
        width: 100%;
    }
}

.bloc-repasmatin {
    background: #f2e9da;
    padding: 8px;
    border-right: 3px solid #e6dfcf;
    border-radius: 6px 0 0 6px;
}

.bloc-repassoir {
    background: #f2fff6; /* Vert sauge clair */
    padding: 8px;
    border-left: 2px solid #d3f5de;
    border-radius: 0 6px 6px 0;
}

.bloc-hebergement {
    background: #f2fff6; /* Vert sauge clair */
    padding: 8px;
    border-left: 2px solid #d3f5de;
    border-radius: 0 6px 6px 0;
}
