/* ===== Pages locales (pilier domicile + villes) ===== */

/* Hero */
.loc-hero{background:linear-gradient(135deg,#1a3a3a 0%,#2c6b6b 55%,#409393 100%);padding:72px 0 56px;position:relative;overflow:hidden;}
.loc-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(152,216,216,.12);}
.loc-hero .container{position:relative;z-index:1;}
.loc-hero__tag{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:7px 18px;border-radius:50px;margin-bottom:20px;}
.loc-hero__title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.2;color:#fff;max-width:760px;margin:0 0 16px;}
.loc-hero__sub{color:rgba(255,255,255,.88);font-size:1.05rem;line-height:1.7;max-width:640px;margin:0 0 28px;}
.loc-hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px;}
.loc-hero__ghost{display:inline-block;padding:13px 26px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.4);border-radius:50px;color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;transition:background .2s;}
.loc-hero__ghost:hover{background:rgba(255,255,255,.24);}
.loc-hero__badges{display:flex;gap:22px;flex-wrap:wrap;}
.loc-hero__badges span{color:rgba(255,255,255,.85);font-size:.85rem;font-weight:500;}

/* Corps */
.loc-body{padding:56px 0 64px;}
.loc-container{max-width:860px;}
.loc-content{color:#374151;line-height:1.85;font-size:.98rem;}
.loc-content .loc-lead{font-size:1.12rem;line-height:1.8;color:#1f2937;}
.loc-content h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.75rem;color:#1a3a3a;margin:52px 0 18px;padding-bottom:12px;border-bottom:3px solid #98D8D8;line-height:1.3;}
.loc-content h3{font-size:1.08rem;color:#1a3a3a;margin:30px 0 10px;}
.loc-content a{color:#2c7a7a;font-weight:600;}
.loc-content p{margin:0 0 16px;}

/* Bandeau CTA jaune */
.loc-banner{background:#FEF3DC;border-radius:16px;padding:24px 28px;margin:32px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 4px 18px rgba(26,58,58,.07);}
.loc-banner__text{margin:0 !important;font-weight:700;color:#1a3a3a;font-size:1.02rem;}
.loc-banner__btns{display:flex;gap:12px;flex-wrap:wrap;}

/* Listes en cartes */
.loc-content ul.loc-list{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:12px;}
.loc-content ul.loc-list li{background:#f4faf9;border:1px solid #d4e5e3;border-radius:14px;padding:16px 20px 16px 50px;position:relative;line-height:1.7;}
.loc-content ul.loc-list li::before{content:"✓";position:absolute;left:19px;top:15px;width:22px;height:22px;border-radius:50%;background:#409393;color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.loc-content ul.loc-list li strong{color:#1a3a3a;}

/* Liste des communes */
.loc-content ul.loc-communes{list-style:none;padding:20px 26px;margin:20px 0 24px;columns:3;column-gap:32px;background:#f4faf9;border:1px solid #d4e5e3;border-radius:16px;}
.loc-content ul.loc-communes li{padding:6px 0 6px 24px;position:relative;break-inside:avoid;}
.loc-content ul.loc-communes li::before{content:"📍";position:absolute;left:0;font-size:.85rem;}
.loc-content ul.loc-communes a{color:#2c7a7a;font-weight:700;}

/* Tableau tarifs */
.loc-table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;border:1px solid #d4e5e3;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(26,58,58,.06);}
.loc-table th{background:linear-gradient(135deg,#1a3a3a,#2c6b6b);color:#fff;padding:14px 20px;text-align:left;font-size:.92rem;}
.loc-table td{padding:14px 20px;border-top:1px solid #e5efee;background:#fff;}
.loc-table tr:nth-child(odd) td{background:#f9fcfc;}
.loc-table td strong{color:#1a3a3a;font-size:1.05rem;}

/* FAQ */
.loc-faq{display:grid;gap:14px;margin:24px 0 8px;}
.loc-faq__item{background:#fff;border:1px solid #d4e5e3;border-left:4px solid #409393;border-radius:14px;padding:20px 24px;box-shadow:0 3px 14px rgba(26,58,58,.05);}
.loc-faq__item h3{margin:0 0 10px !important;font-size:1.02rem;color:#1a3a3a;}
.loc-faq__item p{margin:0 !important;font-size:.94rem;color:#4b5563;}

/* Bandeau final */
.loc-cta-final{background:linear-gradient(135deg,#1a3a3a,#409393);padding:60px 0;text-align:center;}
.loc-cta-final h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem);color:#fff;margin:0 0 12px;}
.loc-cta-final p{color:rgba(255,255,255,.85);max-width:600px;margin:0 auto 26px;line-height:1.7;}
.loc-cta-final__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:22px;}
.loc-cta-final__note{color:rgba(255,255,255,.65);font-size:.82rem;}

@media (max-width:760px){
  .loc-hero{padding:52px 0 40px;}
  .loc-content ul.loc-communes{columns:2;}
  .loc-banner{flex-direction:column;align-items:flex-start;}
}
@media (max-width:480px){
  .loc-content ul.loc-communes{columns:1;}
}
