/*==========================
REVIEWS
==========================*/

.review{

background:#fff;

padding:36px;

border-radius:22px;

box-shadow:var(--shadow-sm);

transition:.35s;

}

.review:hover{

transform:translateY(-8px);

box-shadow:var(--shadow);

}

.review__stars{

font-size:1.3rem;

color:#f7b500;

margin-bottom:20px;

}

.review__text{

font-style:italic;

margin-bottom:20px;

}

.review__author{

font-weight:700;

color:var(--primary);

}

/*==========================
ZONE INTERVENTION
==========================*/

.area-list{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:14px;

margin:35px 0;

}

.area-list li{

background:#fff;

padding:16px 20px;

border-radius:14px;

box-shadow:var(--shadow-sm);

font-weight:600;

}

.area-map{

border-radius:24px;

overflow:hidden;

box-shadow:var(--shadow-lg);

min-height:450px;

}

/*==========================
PAGE
==========================*/

.page-hero{

padding:110px 0 80px;

background:linear-gradient(135deg,var(--primary),var(--secondary));

color:#fff;

text-align:center;

}

.page-hero__title{

color:#fff;

margin-bottom:18px;

}

.page-content{

padding:80px 0;

}

.entry{

max-width:980px;

margin:auto;

}

.entry__thumb{

margin-bottom:40px;

border-radius:22px;

overflow:hidden;

box-shadow:var(--shadow);

}

.entry__thumb img{

width:100%;

display:block;

}

.entry__content h2{

margin-top:60px;

}

.entry__content ul{

list-style:disc;

padding-left:24px;

margin-bottom:25px;

}

.entry__content table{

width:100%;

border-collapse:collapse;

margin:35px 0;

}

.entry__content th,

.entry__content td{

border:1px solid var(--border);

padding:15px;

text-align:left;

}

/*==========================
SIDEBAR
==========================*/

.sidebar{

display:flex;

flex-direction:column;

gap:30px;

}

.widget{

background:#fff;

padding:32px;

border-radius:20px;

box-shadow:var(--shadow-sm);

}

.widget-title{

font-size:1.35rem;

margin-bottom:20px;

}

.widget ul{

display:flex;

flex-direction:column;

gap:12px;

}

.widget a:hover{

color:var(--primary);

}

/*==========================
CONTACT
==========================*/

.contact-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:50px;

}

.contact-form{

background:#fff;

padding:42px;

border-radius:24px;

box-shadow:var(--shadow);

}

.contact-form .form-row{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-bottom:20px;

}

.contact-form label{

display:block;

font-weight:600;

margin-bottom:8px;

}

.contact-form input,

.contact-form textarea,

.contact-form select{

width:100%;

padding:16px;

border:1px solid var(--border);

border-radius:14px;

transition:.3s;

background:#fff;

}

.contact-form textarea{

min-height:180px;

resize:vertical;

}

.contact-form input:focus,

.contact-form textarea:focus,

.contact-form select:focus{

border-color:var(--primary);

box-shadow:0 0 0 4px rgba(10,108,176,.10);

}

.form-notice{

padding:18px 22px;

border-radius:14px;

margin-bottom:20px;

font-weight:600;

}

.form-notice--ok{

background:#eaf8ef;

color:#1c7d46;

}

.form-notice--ko{

background:#fff1f1;

color:#b02020;

}

/*==========================
TIMELINE
==========================*/

.timeline{

position:relative;

padding-left:50px;

}

.timeline::before{

content:"";

position:absolute;

left:18px;

top:0;

bottom:0;

width:4px;

background:var(--primary);

border-radius:20px;

}

.timeline-item{

position:relative;

margin-bottom:55px;

padding-left:30px;

}

.timeline-item::before{

content:"";

position:absolute;

left:-42px;

top:6px;

width:22px;

height:22px;

border-radius:50%;

background:var(--secondary);

border:5px solid #fff;

box-shadow:0 0 0 4px var(--primary);

}

.timeline-item h3{

margin-bottom:10px;

}

/*==========================
FOOTER
==========================*/

.site-footer{

background:#0b2434;

color:#fff;

}

.footer-cta{

padding:60px 0;

background:linear-gradient(135deg,var(--primary),var(--secondary));

}

.footer-cta__inner{

display:flex;

justify-content:space-between;

align-items:center;

gap:40px;

}

.footer-cta__title{

color:#fff;

margin-bottom:12px;

}

.footer-cta__text{

color:#fff;

opacity:.9;

}

.site-footer__grid{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:50px;

padding:80px 0;

}

.footer-title{

color:#fff;

margin-bottom:18px;

}

.footer-list{

display:flex;

flex-direction:column;

gap:12px;

}

.footer-list a{

color:rgba(255,255,255,.85);

}

.footer-list a:hover{

color:#fff;

}

.site-footer__bottom{

border-top:1px solid rgba(255,255,255,.08);

padding:22px 0;

}

.site-footer__bottom-inner{

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:20px;

}

.legal-list{

display:flex;

gap:22px;

flex-wrap:wrap;

}