@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');:root{--green:#294d4a;--sage:#78938a;--gold:#c4a575;--bg:#f2f4f2;--ink:#263c39;--muted:#63726c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:#28615b;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.23}h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:.35em 0}h2{font-size:clamp(1.5rem,2.5vw,2.1rem)}h3{font-size:1.27rem}p{margin:0 0 1.1em}.wrap{max-width:1300px;margin:auto;padding:0 22px 24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}.brand{font-weight:800;font-size:1.2rem;color:var(--green)}.topnav{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem}.hero{border-radius:26px;min-height:375px;display:flex;align-items:end;background:linear-gradient(90deg,rgba(20,51,47,.93),rgba(20,51,47,.65),rgba(20,51,47,.05)),url('../img/ville.svg') center/cover;color:white;padding:clamp(26px,5vw,65px);margin-bottom:26px}.hero p{max-width:670px;font-size:1.1rem}.eyebrow{display:inline-block;background:#e5eee9;color:#2b5b54;border-radius:40px;padding:5px 13px;font-weight:800;font-size:.73rem;letter-spacing:.06em;text-transform:uppercase}.hero .eyebrow{background:var(--gold);color:#233c35}.layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(265px,1fr);gap:24px;align-items:start}.panel,.tile,.side,.partner,.featured{background:#fff;border-radius:20px;box-shadow:0 8px 26px rgba(37,67,61,.05)}.panel{padding:clamp(22px,3vw,35px);margin-bottom:22px}.panel h2:first-child{margin-top:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:30px 0 17px}.section-heading h2{margin:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tile{overflow:hidden}.tile .photo{height:170px;overflow:hidden}.tile .photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.tile:hover img{transform:scale(1.04)}.tile .body{padding:20px}.tile h3{margin:10px 0}.tile p{color:var(--muted);font-size:.94rem}.side{padding:22px;position:sticky;top:16px;border-top:5px solid var(--gold)}.side h2{font-size:1.5rem}.ad{border:1px solid #e1e8e3;border-radius:16px;padding:16px;margin:12px 0;background:#fafbf9;text-align:center}.ad img{max-width:140px;max-height:76px;object-fit:contain;display:block;margin:0 auto 8px}.ad strong{display:block;line-height:1.3}.ad small{display:block;color:var(--muted);margin:6px 0}.ad a{font-weight:700;font-size:.86rem}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.partner{padding:18px;border:1px solid #e3e8e4}.partner img{height:65px;max-width:100%;object-fit:contain;display:block;margin-bottom:12px}.partner strong{display:block}.partner small{display:block;color:var(--muted)}.partner p{font-size:.88rem}.feature-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.featured{overflow:hidden}.featured img{width:100%;height:225px;object-fit:cover}.featured .body{padding:23px}.footer{margin-top:28px;border-radius:22px;background:#294d4a;color:white;padding:30px}.footer a{color:#f2e2c5}.footerlinks{display:flex;gap:12px 22px;flex-wrap:wrap}.breadcrumb{font-size:.87rem;color:var(--muted);margin:0 0 20px}.article{font-size:1.03rem}.article h2{margin-top:1.5em}.article ul{padding-left:22px}.article li{margin:9px 0}.article-cover{width:100%;height:290px;object-fit:cover;border-radius:15px;margin-bottom:22px}.note{padding:17px 20px;background:#edf3ee;border-left:4px solid var(--gold);border-radius:12px}.related{display:grid;gap:10px}.related a{padding:10px 14px;border-radius:10px;background:#f2f4f2}details{border-bottom:1px solid #e4eae5;padding:11px 0}summary{cursor:pointer;font-weight:700}.mini{font-size:.84rem;color:var(--muted)}.oldlinks{columns:2;column-gap:25px}.oldlinks a{display:block;margin-bottom:10px}.badge-category{font-size:.75rem;color:#6c775d;text-transform:uppercase;letter-spacing:.06em;font-weight:700}@media(max-width:900px){.layout{grid-template-columns:1fr}.side{position:static}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.wrap{padding:0 12px 16px}.topbar{display:block}.topnav{gap:10px}.hero{min-height:315px}.cards,.feature-grid,.partner-grid{grid-template-columns:1fr}.oldlinks{columns:1}.article-cover{height:200px}}
/* V3 — dimensions homogènes des visuels de la page index */
.tile .photo{display:block;width:100%;height:148px;overflow:hidden;border-radius:20px 20px 0 0;}
.tile .photo img{display:block;width:100%;height:100%;max-height:148px;object-fit:cover;}
.featured img{display:block;width:100%;height:185px;max-height:185px;object-fit:cover;}
.featured,.tile{min-width:0;}
.partner img{display:block;width:auto;max-width:150px;height:58px;object-fit:contain;}
.ad img{width:auto;max-width:130px;max-height:65px;}
@media(max-width:650px){.tile .photo,.tile .photo img{height:155px;max-height:155px}.featured img{height:170px;max-height:170px}}

/* v4 forced sizes */
.tile .photo,.tile .photo img{height:140px!important;max-height:140px!important}.featured>img{height:175px!important;max-height:175px!important}.hero{min-height:260px;max-height:340px}

/* V5: photo IA en couverture, cadrage cohérent */
.hero{background:linear-gradient(90deg,rgba(11,50,46,.93) 0%,rgba(11,50,46,.70) 42%,rgba(11,50,46,.04) 100%),url('../img/hero.jpg') center center/cover no-repeat!important;}
.featured>img,.tile .photo img,.article-cover{object-fit:cover;object-position:center;}


/* Réservations Régie Expat v1.0 : masquées jusqu'à activation centrale */
.expat-sponsor[hidden]{display:none!important}
.expat-sponsor:not([hidden]){background:#fff;border:1px solid #AFCFD1;border-radius:10px;padding:14px;margin:18px 0;min-width:0}
.expat-sponsor .sponsor-label{font-size:11px;letter-spacing:.05em;color:#245D65;background:#E4F0F0;border-radius:5px;padding:3px 6px}
.expat-sponsor a[rel~="sponsored"]{color:#245D65;text-decoration:underline}
@media(max-width:760px){.expat-sponsor:not([hidden]){margin:12px 0;padding:12px}}
