:root{
    --color-primary:#9b2423;
    --color-primary-dark:#701a19;
    --color-text:#1C1C1C;
    --color-white:#fff;
    --color-grey:#7f7f7f;
    --color-dark:#585858;
    --max-width:1192px;
}

*{box-sizing:border-box;margin:0;padding:0;}

html,body{height:100%;}

body{
    font-family:'Roboto', sans-serif;
    font-weight:400;
    font-size:1rem;
    line-height:1.5;
    color:var(--color-text);
    background:var(--color-white);
    -webkit-font-smoothing:antialiased;
}

h1,h2,.brand-word{
    font-family:'Poppins', sans-serif;
    font-weight:700;
}

.text_champ h2 {
    padding-top: 20px;
    padding-bottom: 10px;
}

a{color:inherit;text-decoration:none;}

.wrap{
    max-width:var(--max-width);
    margin:0 auto;
    padding:0 32px;
}

/* ---------- Header ---------- */
header{
    padding:22px 0;
    border-bottom:1px solid #eee;
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.logo{
    display:flex;
    align-items:center;
    gap:12px;
}
.logo-mark{
    width:38px;
    height:38px;
    flex-shrink:0;
}
.logo-text{
    line-height:1.1;
}
.logo-text .top{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:0.95rem;
    letter-spacing:0.02em;
    color:var(--color-text);
}
.logo-text .bottom{
    font-family:'Poppins', sans-serif;
    font-weight:800;
    font-size:1.05rem;
    color:var(--color-primary);
    letter-spacing:0.03em;
}
.emergency-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--color-primary);
    color:var(--color-white);
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:0.95rem;
    padding:10px 20px;
    border-radius:24px;
    white-space:nowrap;
}
.emergency-badge svg{width:16px;height:16px;flex-shrink:0;}

/* ---------- Hero ---------- */
.hero{
    position:relative;
    background-color:#9b2423;
    color:var(--color-white);
    overflow:hidden;
    padding:96px 0 110px;
    background-image: url("/images/general/site/visuel-feu.svg");
    background-position: bottom right 10%;
    background-size: auto 90%;
    background-repeat: no-repeat;
}
.hero-chevrons{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:0.5;
}
.hero-chevrons svg{
    position:absolute;
    right:-8%;
    top:0;
    height:100%;
    width:auto;
}
.hero-inner{
    position:relative;
    z-index:2;
    max-width:720px;
}
.eyebrow{
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:0.85rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:#f3c9c8;
    margin-bottom:22px;
    display:flex;
    align-items:center;
    gap:10px;
}
.eyebrow::before{
    content:"";
    width:34px;
    height:2px;
    background:#f3c9c8;
    display:inline-block;
}
h1{
    font-size:2.5rem;
    line-height:1.18;
    margin-bottom:24px;
    max-width:11.5ch;
}
.hero p.lead{
    font-size:1.15rem;
    line-height:1.75;
    color:#f5e2e1;
    max-width:52ch;
    margin-bottom:40px;
}

.cta-row{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-bottom:56px;
}
.btn{
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:0.98rem;
    padding:16px 26px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn svg{width:20px;height:20px;flex-shrink:0;}
.btn-solid{
    background:var(--color-white);
    color:var(--color-primary);
}
.btn-solid:hover{transform:translateY(-2px);}
.btn-outline{
    background:transparent;
    color:var(--color-white);
    border:1.5px solid rgba(255,255,255,0.55);
}
.btn-outline:hover{
    border-color:var(--color-white);
    transform:translateY(-2px);
}

.urgence{
    display:flex;
    align-items:center;
    gap:14px;
    background:rgba(0,0,0,0.18);
    border:1px solid rgba(255,255,255,0.22);
    border-radius:8px;
    padding:16px 20px;
    max-width:min(100%, 560px);
}
.urgence-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--color-white);
    color:var(--color-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.urgence-icon svg{width:20px;height:20px;}
.urgence-text{font-size:0.92rem;line-height:1.5;color:#fbe6e5;}
.urgence-text strong{
    font-family:'Poppins', sans-serif;
    color:var(--color-white);
    font-size:1.05rem;
}

/* ---------- Info strip ---------- */
.info-strip{
    padding:56px 0;
    border-bottom:1px solid #eee;
}
.info-strip .wrap{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}
.info-strip .dot{
    width:10px;height:10px;border-radius:50%;
    background:var(--color-primary);
    flex-shrink:0;
}
.info-strip p{
    color:var(--color-dark);
    font-size:0.98rem;
    max-width:64ch;
}

/* ---------- Footer ---------- */
footer{
    background:#f6f3f2;
    padding:28px 0;
}
.footer-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
footer p{
    font-size:0.82rem;
    color:var(--color-grey);
}
footer a{color:var(--color-grey);}
footer a:hover{color:var(--color-primary);}
.social{
    display:flex;
    gap:14px;
}
.social a{
    width:32px;height:32px;
    border-radius:50%;
    background:var(--color-primary);
    color:var(--color-white);
    display:flex;align-items:center;justify-content:center;
}
.social svg{width:15px;height:15px;}


/**** CONTACT ****/
/* ---------- Bandeau titre ---------- */
.page-hero{
    color:var(--color-white);
    padding:64px 0 56px;
    position:relative;
    overflow:hidden;
    background-color:#9b2423;
    background-image: url("/images/general/site/visuel-feu.svg");
    background-position: bottom right 10%;
    background-size: auto 90%;
    background-repeat: no-repeat;
}
.page-hero .wrap{position:relative;z-index:2;}
.hero-chevrons{position:absolute;inset:0;pointer-events:none;opacity:0.5;}
.hero-chevrons svg{position:absolute;right:-8%;top:0;height:100%;width:auto;}
.eyebrow{
    font-family:'Poppins', sans-serif;font-weight:600;font-size:0.85rem;letter-spacing:0.14em;
    text-transform:uppercase;color:#f3c9c8;margin-bottom:16px;display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:34px;height:2px;background:#f3c9c8;display:inline-block;}
h1{font-size:2.5rem;line-height:1.18;max-width:16ch;}
.page-hero p.lead{margin-top:18px;color:#f5e2e1;max-width:56ch;font-size:1.08rem;}

/* ---------- Contenu ---------- */
.content-section{padding:64px 0 96px;}
.grid-form{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start;margin: 56px auto;}

.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:0.85rem;margin-bottom:6px;color:var(--color-text);}
.form-group label .req{color:var(--color-primary);}
.form-control{
    width:100%;padding:13px 14px;border:1.5px solid #ddd;border-radius:6px;
    font-family:'Roboto', sans-serif;font-size:0.98rem;color:var(--color-text);
    transition:border-color .15s ease;background:var(--color-white);
}
.form-control:focus{outline:none;border-color:var(--color-primary);}
textarea.form-control{min-height:150px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}

.rgpd-row{display:flex;align-items:flex-start;gap:10px;margin:24px 0;font-size:0.88rem;color:var(--color-dark);}
.rgpd-row input{margin-top:4px;flex-shrink:0;}

.btn-submit{
    font-family:'Poppins', sans-serif;font-weight:600;font-size:0.98rem;
    background:var(--color-primary);color:var(--color-white);border:none;
    padding:15px 32px;border-radius:6px;cursor:pointer;transition:transform .15s ease, background .15s ease;
}
.btn-submit:hover{background:var(--color-primary-dark);transform:translateY(-2px);}

.alert{padding:16px 18px;border-radius:6px;font-size:0.92rem;margin-bottom:24px;}
.alert-success{background:#e9f5ec;color:#1e6b3a;border:1px solid #bfe3ca;}
.alert-error{background:#fbeceb;color:var(--color-primary-dark);border:1px solid #f0c6c5;}

/* ---------- Colonne infos ---------- */
.info-card{
    background:#f6f3f2;border-radius:10px;padding:32px;
}
.info-card h2{font-size:1.2rem;margin-bottom:20px;color:var(--color-text);}
.info-item{display:flex;gap:14px;margin-bottom:22px;}
.info-item:last-child{margin-bottom:0;}
.info-icon{
    width:38px;height:38px;border-radius:50%;background:var(--color-primary);color:var(--color-white);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.info-icon svg{width:18px;height:18px;}
.info-text{font-size:0.94rem;color:var(--color-dark);line-height:1.6;}
.info-text strong{display:block;color:var(--color-text);font-family:'Poppins', sans-serif;font-size:0.95rem;margin-bottom:2px;}
.info-text a{color:var(--color-primary);font-weight:500;}

.urgence-card{
    margin-top:24px;background:var(--color-primary);color:var(--color-white);border-radius:10px;padding:24px 28px;
    display:flex;align-items:center;gap:16px;
}
.urgence-card .info-icon{background:var(--color-white);color:var(--color-primary);}
.urgence-card p{font-size:0.92rem;color:#fbe6e5;}
.urgence-card strong{color:var(--color-white);font-family:'Poppins', sans-serif;font-size:1.1rem;}

    .map {
        max-width: 400px;
        width: 100%;
    }
    .map iframe {
        width: 100%;
        height: 300px;
    }


    /**** PAGES DYNAMIQUES *****/

.page-wrap {
    margin: 56px auto;
}

.text_champ{
    padding: 0 0 60px;
}

.toggleTitre {
    cursor: pointer;
    position: relative;
    font-weight: normal;
    font-size: 1.125rem;
    margin-top: 5px;
    padding: 25px 25px 25px 72px;
    color: #fff;
    background-color: var(--color-dark);
    border-radius: 8px;
}

.toggleTitre:before {
    display: flex;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 25px;
    transform: translateY(-50%);
    content: url("/images/general/site/btn-plus-text.svg");
    line-height: 0;
}
.toggleTitre.active {
    background-color: var(--color-primary);
    border-radius: 0;
    -webkit-border-top-left-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    -moz-border-radius-topleft: 8px;
    -moz-border-radius-topright: 8px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.toggleTitre.active:before {
    content: url("/images/general/site/btn-minus-text.svg");
}

.toggleTexte {
    padding: 0 25px 25px 72px;
    background-color: var(--color-primary);
    -webkit-border-bottom-right-radius: 8px;
    -webkit-border-bottom-left-radius: 8px;
    -moz-border-radius-bottomright: 8px;
    -moz-border-radius-bottomleft: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

.toggleTexte article {
    padding-bottom: 0;
}

.toggleTexte * {
    color: #fff !important;
}

/*Gestion des images*/
.text_champ .texte_pag_dyn, .text_champ figure{
    display:inline-block;
    vertical-align: top;
}

.text_img {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

body .image_gauche {
    margin-right: 25px !important;
}

body .image_droite {
    margin-left: 25px !important;
}

.text_champ figure{
    margin: 0;
    max-width: 50%;
    width: 100%;
}

.image_droite img,
.image_gauche img {
    width: 100%;
    height: auto;
}

.text_champ .texte_pag_dyn{
    width: 100%;
}

/*Paragraphe*/

.text_champ ul,
.text_champ ul li {
    font-size: 16px;
    position:relative;
    margin-left:20px;
    list-style-type:initial;
    line-height: 1.5;
}

.text_champ a:hover {
    text-decoration: none;
}

.text_champ p strong, .text_champ p strong a {
    font-weight: 700;
}

.text_champ img.imgTinyMceGauche, #tinymce img.imgTinyMceGauche{
    float: left;
    margin-right: 15px;
}

.text_champ img.imgTinyMceDroite, #tinymce img.imgTinyMceDroite{
    float: right;
    margin-left: 15px;
}

ol {
    margin-left: 35px;
}

/*Bouton*/
.btn_cta_general{
    max-width: 265px;
    width: 100%;
    margin-top: 30px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
    color: var(--color-primary);
    background: rgba(255, 255, 255, 0);
    font-weight: 500;
    /*effet*/
    -webkit-transition: .2s ease;
    transition: .2s ease;
}

.btn_cta_general:hover{
    color: #fff;
    background-color: var(--color-primary);
}

/*CAROUSEL*/
.content-slickDynamique {
    margin-bottom: 60px;
}

.content-slickDynamique .slick-slide a {
    display: flex;
    max-width: 250px;
    width: 100%;
    height: 250px;
}

.content-slickDynamique .slick-slide img {
    object-fit: cover;
}

.slick-initialized .slick-slide {
    float: none;
    display: inline-block;
    vertical-align: middle;
    margin:10px;
}

.slick-track{
    margin:auto;
}

.slick-prev:before, .slick-next:before {
    content: '';
}

.slick-next, .slick-next:hover, .slick-next:focus {
    background: url(/images/general/site/arrow-slick-next.svg) no-repeat center center;
    right: 0;
    opacity: 0.8;
}

.slick-slider{
    padding:0 60px;
}

.slick-prev, .slick-prev:hover, .slick-prev:focus {
    background: url(/images/general/site/arrow-slick-prev.svg) no-repeat center center;
    left: 0;
    opacity: 0.8;
}

.slick-next:hover, .slick-prev:hover{
    opacity: 1;
}


.slick-dots {
    text-align: center;
}

.slick-prev, .slick-next {
    width: 56px;
    height: 56px;
}


.slick-dots button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 12px !important;
    border: 1px solid #a3d8c3 !important;
    background: transparent;
    font-size: 0 !important;
    cursor: pointer !important;
}

.slick-dots .slick-active button {
    background-color: #a3d8c3 !important;
}

.slick-dots li button:before{
    content:none;
}

@media (max-width: 860px){
    .grid-form{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
}

/*****************
		790px
******************/
@media (max-width: 790px) {
    /*** PAGES DYNAMIQUES ***/
    .text_img {
        flex-direction: column;
    }
    body .image_droite {
        margin-left: 0px !important;
    }
    body .image_gauche {
        margin-right: 0px !important;
    }
    .text_champ figure {
        max-width: unset;
    }
    .text_champ figure img {
        object-fit: cover;
        width: 100%;
        height: 300px;
    }
}

@media (max-width: 640px){
    .wrap{padding:0 20px;}
    h1{font-size:2rem;}
    .hero{padding:64px 0 72px;}
    .header-inner{flex-wrap:wrap;}
    .footer-inner{flex-direction:column;align-items:flex-start;}
}

@media (prefers-reduced-motion: reduce){
    .btn{transition:none;}
}

/*****************
		463px
******************/
@media (max-width: 463px) {
    /**carousel page dyn**/
    .slick-initialized .slick-slide {
        float: left;
    }
}