:root {
    --site-navy: #0f2744;
    --site-navy-deep: #091628;
    --site-red: #cb2f2f;
    --site-red-deep: #a51f1f;
    --site-gold: #d9b15b;
    --site-cream: #f7f1e6;
    --site-ink: #1c2430;
    --site-muted: #687181;
    --site-surface: #ffffff;
    --site-border: rgba(15, 39, 68, 0.12);
    --site-shadow: 0 18px 45px rgba(9, 22, 40, 0.12);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--site-ink);
    background:
        radial-gradient(circle at top right, rgba(217, 177, 91, 0.2), transparent 22%),
        linear-gradient(180deg, #fcfcfa 0%, #f4efe5 100%);
    font-family: "Manrope", sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(10px);
    background: rgba(247, 241, 230, 0.88);
    border-bottom: 1px solid rgba(15, 39, 68, 0.08);
}

.site-navbar {
    min-height: 82px;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    color: var(--site-navy);
}

.site-brand strong {
    display: block;
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.site-brand small {
    display: block;
    color: var(--site-muted);
    font-size: 0.8rem;
}

.site-brand-mark {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 0.9rem;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--site-red), var(--site-navy));
    color: #fff;
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    box-shadow: var(--site-shadow);
}

.nav-link {
    color: var(--site-navy);
    font-weight: 600;
}

.nav-link.active,
.nav-link:hover {
    color: var(--site-red);
}

.btn-site-primary,
.btn-site-secondary {
    border-radius: 999px;
    padding: 0.85rem 1.4rem;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn-site-primary {
    background: linear-gradient(135deg, var(--site-red), var(--site-red-deep));
    color: #fff;
    border: none;
    box-shadow: 0 12px 25px rgba(203, 47, 47, 0.25);
}

.btn-site-secondary {
    background: rgba(255, 255, 255, 0.72);
    color: var(--site-navy);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.btn-site-primary:hover,
.btn-site-secondary:hover {
    transform: translateY(-2px);
}

.hero-section,
.page-hero {
    position: relative;
    overflow: hidden;
}

.hero-section {
    padding: 4.5rem 0 3.5rem;
}

.hero-panel,
.page-hero-panel,
.site-card,
.feature-card,
.program-card,
.leader-card,
.news-card,
.gallery-card,
.contact-card,
.login-card,
.stats-card,
.admin-card {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--site-border);
    border-radius: 28px;
    box-shadow: var(--site-shadow);
}

/*.hero-panel {
    padding: 3rem;
    background:
        linear-gradient(100deg, rgba(15, 39, 68, 0.98), rgba(56, 120, 247, 0.84)),
        url("meeting1.jpeg") center/cover;
    color: #fff;
}*/
/*Nouveau en tete page accueil*/
/*.hero-section{

position:relative;
height:650px;
overflow:hidden;

}*/
.hero-section{

position:relative;

width:87%;
max-width:1350px;

margin:8px auto;

height:560px;

overflow:hidden;

border-radius:18px;
box-shadow:0 20px 60px rgba(0,0,0,0.25);


/*box-shadow:0 15px 40px rgba(0,0,0,0.15);*/
padding: 0;  

}

/* IMAGE */

/*.hero-image{

height:650px;
object-fit:cover;

}*/
.hero-image{


border-radius:25px;

width:100%;
/*height:560px;*/
height:100%;

object-fit:cover;

display:block;
animation:zoomHero 12s infinite alternate;


}
/* ANIMATION */

@keyframes zoomHero{

from{
transform:scale(1);
}

to{
transform:scale(1.08);
}

}



/* OVERLAY */

/*.hero-overlay{

position:absolute;
top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.45);

}*/
.hero-overlay{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

/*background:rgba(0,0,0,0.45);*/
background:
linear-gradient(
90deg,
rgba(0,0,0,0.75) 0%,
rgba(0,0,0,0.45) 45%,
rgba(0,0,0,0.2) 100%
);

z-index:2;

}



/* TEXTE */

.hero-caption{

position:absolute;

top:50%;
left:7%;

transform:translateY(-50%);

text-align:left;

max-width:700px;

z-index:5;

}

/*.hero-caption{

position:absolute;

top:50% !important;
left:8% !important;

transform:translateY(-50%);

text-align:left;

max-width:700px;

z-index:5;

padding:0 !important;
margin:0 !important;

}*/

/* PETIT TITRE */

.hero-kicker{

font-size:14px;
letter-spacing:2px;
text-transform:uppercase;
color:#f4c542;
margin-bottom:15px;

}

/* GRAND TITRE */

.hero-title{

font-size:70px;
font-weight:800;
line-height:1.1;
margin-bottom:20px;

}

/* TEXTE */

.hero-text{

font-size:22px;
line-height:1.7;

}

/* BOUTONS FIXES */

.hero-buttons{

position:absolute;

bottom:40px;
left:8%;

z-index:10;

display:flex;
gap:20px;

}

/* BOUTON PRINCIPAL */

.btn-hero-primary{

background:#d62828;
color:white;

padding:14px 30px;

border-radius:50px;
font-weight:bold;

text-decoration:none;

}

/* BOUTON SECOND */

.btn-hero-secondary{

background:white;
color:#002868;

padding:14px 30px;

border-radius:50px;
font-weight:bold;

text-decoration:none;

}

/* HOVER */

.btn-hero-primary:hover{

background:#b71c1c;
color:white;

}

.btn-hero-secondary:hover{

background:#002868;
color:white;

}

.carousel,
.carousel-inner,
.carousel-item{

margin:0;
padding:0;
line-height:0;
border:none;


}

/*.carousel-item{

position:relative;

height:560px;

}*/

/*.carousel-caption{

top:0 !important;
bottom:0 !important;

left:0 !important;
right:0 !important;

padding:0 !important;
margin:0 !important;

}*/





/*================*/



.hero-kicker,
.section-kicker {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--site-gold);
    margin-bottom: 1rem;
}

.hero-title,
.page-hero-title,
.section-title {
    font-family: "Playfair Display", serif;
      
    font-weight: 800;
    line-height: 1.05;
}

.hero-title {
    font-size: clamp(1.4rem, 3vw, 2.8rem); /*(2.4rem, 5vw, 4.8rem)*/
    margin-bottom: 1rem;
}

.hero-text,
.section-text,
.page-hero-text {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.05rem;
    max-width: 46rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.hero-stat {
    padding: 1.15rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.hero-stat strong {
    display: block;
    font-size: 1.9rem;
}

.section-block {
    padding: 1.5rem 0 4rem;
}

.section-header {
    max-width: 44rem;
    margin-bottom: 2rem;
}

.section-title {
    font-size: clamp(1.5rem, 2vw, 2rem);
    color: var(--site-navy);
    margin-bottom: 0.8rem;
}

.section-text {
    color: var(--site-muted);
}

.site-card,
.feature-card,
.program-card,
.leader-card,
.news-card,
.gallery-card,
.contact-card,
.login-card,
.stats-card,
.admin-card {
    padding: 1.6rem;
    height: 100%;
}

.feature-card i,
.program-card i,
.contact-card i,
.stats-card i {
    font-size: 1.45rem;
    color: var(--site-red);
}

.feature-card h3,
.program-card h3,
.leader-card h3,
.news-card h3,
.contact-card h3,
.login-card h3,
.admin-card h3 {
    color: var(--site-navy);
    margin: 0.8rem 0;
    font-size: 1.2rem;
}

.site-card p,
.feature-card p,
.program-card p,
.leader-card p,
.news-card p,
.contact-card p,
.login-card p,
.admin-card p {
    color: var(--site-muted);
    margin-bottom: 0;
}

.president-message {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

.president-portrait {
    border-radius: 24px;
    overflow: hidden;
    min-height: 100%;
}

.president-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.program-grid,
.leaders-grid,
.news-grid,
.gallery-grid,
.stats-grid {
    display: grid;
    gap: 1.4rem;
}

.program-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.leaders-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.news-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.stats-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.leader-card img,
.news-card img,
.gallery-card img {
    border-radius: 22px;
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-bottom: 1rem;
}

.news-meta,
.leader-role {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.86rem;
    color: var(--site-red);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.85rem;
}

.page-hero {
    padding: 3rem 0 2rem;
}

.page-hero-panel {
    padding: 2.4rem;
    background: linear-gradient(135deg, rgba(15, 39, 68, 1), rgba(203, 47, 47, 0.92));
    color: #fff;
}

.page-hero-title {
    font-size: clamp(1.5rem, 2vw, 2rem); /*(2rem, 4vw, 3.7rem)*/
    margin-bottom: 1rem;
}

.contact-form .form-control,
.contact-form .form-select,
.login-card .form-control,
.login-card .form-select {
    border-radius: 16px;
    border: 1px solid rgba(15, 39, 68, 0.14);
    padding: 0.9rem 1rem;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus,
.login-card .form-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(203, 47, 47, 0.12);
    border-color: rgba(203, 47, 47, 0.32);
}

.badge-soft {
    display: inline-block;
    padding: 0.45rem 0.8rem;
    background: rgba(217, 177, 91, 0.2);
    color: var(--site-navy);
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.8rem;
}

.site-footer {
    margin-top: 4rem;
    padding: 3rem 0 2rem;
    background: linear-gradient(180deg, var(--site-navy), var(--site-navy-deep));
    color: rgba(255, 255, 255, 0.86);
}

.site-footer h3,
.site-footer h4 {
    color: #fff;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li + li {
    margin-top: 0.55rem;
}

.footer-links a,
.site-footer a {
    color: rgba(255, 255, 255, 0.82);
}

.footer-bottom {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.empty-state {
    padding: 2rem;
    text-align: center;
    color: var(--site-muted);
}

@media (max-width: 991px) {
    .hero-panel,
    .page-hero-panel {
        padding: 2rem;
    }

    .hero-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .hero-section {
        padding-top: 2rem;
    }

    .site-card,
    .feature-card,
    .program-card,
    .leader-card,
    .news-card,
    .gallery-card,
    .contact-card,
    .login-card,
    .stats-card,
    .admin-card {
        padding: 1.25rem;
        border-radius: 22px;
    }
}


.site-brand-logo {
    width: 132px;
    height: 114px;
    display: block;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
    background: transparent;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.site-brand strong {
    font-size: 0.92rem;
    line-height: 1.2;
}

.newsletter-form {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.newsletter-form input {
    flex: 1 1 220px;
    border: none;
    border-radius: 999px;
    padding: 0.9rem 1rem;
}

.newsletter-form button {
    border: none;
    border-radius: 999px;
    padding: 0.9rem 1.2rem;
    background: var(--site-red);
    color: #fff;
    font-weight: 700;
}

.social-row {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.social-link {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,0.12);
    color: #fff;
    transition: transform 0.2s ease, background 0.2s ease;
}

.social-link:hover {
    background: var(--site-red);
    transform: translateY(-2px);
}

.footer-map {
    border-radius: 22px;
    overflow: hidden;
    min-height: 220px;
    border: 1px solid rgba(255,255,255,0.12);
}

.footer-map iframe {
    width: 100%;
    height: 220px;
    border: 0;
}

.footer-contact {
    color: rgba(255,255,255,0.82);
}

.whatsapp-float {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    font-size: 1.7rem;
    box-shadow: 0 18px 35px rgba(37, 211, 102, 0.35);
    z-index: 120;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.4rem;
}

.video-card {
    background: rgba(255,255,255,0.92);
    border: 1px solid var(--site-border);
    border-radius: 24px;
    box-shadow: var(--site-shadow);
    overflow: hidden;
}

.video-card iframe,
.video-card video {
    width: 100%;
    height: 240px;
    border: 0;
    background: #000;
}

.video-card-body {
    padding: 1.2rem 1.3rem 1.4rem;
}

.donation-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.donation-method {
    padding: 1.3rem;
    border-radius: 20px;
    border: 1px solid var(--site-border);
    background: rgba(255,255,255,0.85);
}


.site-brand-logo-only {
    gap: 0;
    padding: 0.1rem 0.5rem 0.1rem 0;
}

.site-navbar {
    min-height: 118px;
}

.page-title-lockup {
    margin-bottom: 1.2rem;
}

.page-title-party {
    margin: 0;
    font-family: "Playfair Display", serif;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.1;
    text-transform: uppercase;
    font-weight: 800;
    color: #ffffff;
    text-align: center;
}

.page-title-slogan {
    margin: 0.65rem 0 0;
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255,255,255,0.88);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: center;
}


.site-topnav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.1rem;
    min-height: 82px;
}

.site-nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.35rem;
    flex: 1 1 auto;
    flex-wrap: wrap;
}

.site-nav-actions {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-shrink: 0;
}

.site-brand-logo {
    width: 58px;
    height: 58px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    overflow: hidden;
}

@media (max-width: 1100px) {
    .site-topnav {
        flex-direction: column;
        align-items: flex-start;
        padding: 0.9rem 0;
    }

    .site-nav-links {
        justify-content: flex-start;
        gap: 0.9rem 1.1rem;
    }

    .site-nav-actions {
        width: 100%;
        flex-wrap: wrap;
    }
}
/*------Section WebTv-----*/
.webtv{

padding:50px;
background:#fdfffe;
color:rgb(10, 10, 10);

}

.videos{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;

}

iframe{

width:100%;
height:200px;

}

/*Les 5 grands axes */
/* =============================== */
/* SLIDER AXES PRIORITAIRES */
/* =============================== */

.program-slider-container {
position: relative;
overflow: hidden;
}

.program-slider {
display: flex;
gap: 20px;
overflow-x: auto;
scroll-behavior: smooth;
padding: 10px 5px;
}

.program-slider::-webkit-scrollbar {
display: none;
}

.program-card {
min-width: 280px;
flex: 0 0 auto;
background: white;
padding: 25px;
border-radius: 12px;
box-shadow: 0 5px 15px rgba(0,0,0,0.08);
transition: 0.3s;
text-align: center;
}

.program-card:hover {
transform: translateY(-8px);
box-shadow: 0 15px 30px rgba(0,0,0,0.12);
}

/* Icons */

.program-card i {
font-size: 35px;
color: #0d6efd;
margin-bottom: 15px;
}

/* Boutons */
.program-slider-container {
position: relative;
overflow: hidden;
}

.slider-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: white;
border: none;
width: 45px;
height: 45px;
border-radius: 50%;
box-shadow: 0 5px 15px rgba(0,0,0,0.15);
cursor: pointer;
z-index: 100;
display: flex;
align-items: center;
justify-content: center;
}

.slider-btn.prev {
left: 10px;
}

.slider-btn.next {
right: 10px;
}

/* Bouton */

/*.slider-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: white;
border: none;
width: 45px;
height: 45px;
border-radius: 50%;
box-shadow: 0 5px 15px rgba(0,0,0,0.15);
cursor: pointer;
z-index: 10;
transition: 0.3s;
}

.slider-btn:hover {
background: #0d6efd;
color: white;
}

.slider-btn.prev {
left: -10px;
}

.slider-btn.next {
right: -10px;
}*/

/*Pour Eviter que les boutons soient cachés*/
.program-slider-container {
position: relative;
overflow: hidden;
padding: 0 40px;
}

/* Mobile responsive */

@media (max-width:768px){

.program-card{
min-width: 240px;
}

.slider-btn{
display:none;
}

}
/* Dimensions des cards */
.program-card {
min-width: 240px;
max-width: 240px;
flex: 0 0 auto;
background: white;
padding: 20px;
border-radius: 16px;
box-shadow: 0 5px 15px rgba(0,0,0,0.08);
transition: 0.3s;
text-align: left;
}

/*====Fond degrade a la section 5 grands axes */
.axes-section {
background: linear-gradient(
135deg,
#f1f3f6 0%,
#ffffff 40%,
#e3ecff 100%
);

padding: 80px 0;
border-radius: 20px;
margin: 40px 0;
}

/* Bouton lire la suite */
/*.news-link {
display: inline-block;
margin-top: 10px;
color: #fafbfc;

background-color: #012a63;
font-weight: 600;
text-decoration: none;
}

.news-link:hover {
text-decoration: underline;
} */

/*===========*/
.news-link {
display: inline-block;
margin-top: auto;
padding: 10px 20px;
background: linear-gradient(45deg, #0d6efd, #0a58ca);
color: white;
border-radius: 30px;
font-weight: 600;
transition: 0.3s;
text-align: center;
}

.news-link:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

/*Section Vidéo */
.video-container {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}

.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 10px;
}

/* section Actualites de la page d'accueil*/
.news-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:30px;
}

.news-card{
background:#fff;
border-radius:16px;
overflow:hidden;
padding:20px;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
height:100%;
transition:0.3s;
}

.news-card:hover{
transform:translateY(-5px);
}

.news-image{
width:100%;
height:220px;
object-fit:cover;
border-radius:12px;
margin-bottom:15px;
}

.news-meta{
font-size:13px;
font-weight:700;
color:#dc3545;
text-transform:uppercase;
margin-bottom:10px;
}

.news-card h3{
font-size:28px;
margin-bottom:15px;
line-height:1.3;
}

.news-excerpt{
font-size:16px;
line-height:1.8;
color:#666;
min-height:160px;
}

.news-link{
display:inline-block;
padding:12px 25px;
background:#0d6efd;
color:white;
border-radius:30px;
text-decoration:none;
font-weight:600;
transition:0.3s;
}

.news-link:hover{
background:#0b5ed7;
color:white;
}


/*Page  actualites.php*/
.news-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:25px;
}

.news-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(0,0,0,0.08);

    display:flex;
    flex-direction:column;

    height:100%;
    transition:0.3s;
}

.news-card:hover{
    transform:translateY(-5px);
}

.news-image{
    width:100%;
    height:220px;
    overflow:hidden;
}

.news-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.news-content{
    padding:20px;

    display:flex;
    flex-direction:column;

    flex:1;
}

.news-meta{
    font-size:14px;
    color:#777;
    margin-bottom:10px;
}

.news-card h3{
    font-size:22px;
    margin-bottom:15px;
    line-height:1.4;
}

.news-card p{
    color:#555;
    line-height:1.7;

    flex:1;
}

.news-footer{
    margin-top:20px;
}

.btn-news{
    display:inline-block;
    padding:10px 18px;
    background:#0d6efd;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    transition:0.3s;
}

.btn-news:hover{
    background:#084298;
}


/*Nouveau style d'affichage navbar modifier le 25 mai 2025*/
/* NAVBAR */
/* TOGGLE MENU */

.menu-toggle{

display:none;
background:none;
border:none;
font-size:35px;
cursor:pointer;
color:#000;

}

/* MOBILE */

@media(max-width:991px){

.site-topnav{

flex-wrap:wrap;
position:relative;

}

.menu-toggle{

display:block;

}

.site-nav-links{

display:none;
flex-direction:column;
width:100%;
background:white;
padding:20px;
margin-top:15px;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,0.1);

}

.site-nav-links.show{

display:flex;

}

.site-nav-links a{

padding:12px 0;
border-bottom:1px solid #eee;

}

.site-nav-actions{

width:100%;
margin-top:15px;

}

.site-nav-actions .btn{

width:100%;

}

}

/*Section News letter*/
.newsletter-form{
display:flex;
gap:10px;
margin-top:15px;
flex-wrap:wrap;
}

.newsletter-form input{
flex:1;
padding:12px 15px;
border:none;
border-radius:8px;
outline:none;
font-size:15px;
}

.newsletter-form button{
background:#c62828;
color:white;
border:none;
padding:12px 20px;
border-radius:8px;
font-weight:600;
cursor:pointer;
transition:0.3s;
}

.newsletter-form button:hover{
background:#8e0000;
transform:translateY(-2px);
}

/* Les documents communaux */
.pdf-link{
    display:block;
    padding:10px;
    text-decoration:none;
    color:#333;
    border-radius:6px;
    margin-bottom:4px;
    transition:.3s;
}

.pdf-link:hover{
    background:#f5f5f5;
    padding-left:18px;
}

#pdfList{
    max-height:700px;
    overflow-y:auto;
}

.pdf-viewer iframe{
    width:100%;
    height:1600px;
    border:none;
}
