/* Polices hébergées sur le site (RGPD : aucun appel à Google) */
@font-face{font-family:Geologica;font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/geologica-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Geologica;font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/geologica-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Oswald;font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/oswald-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Oswald;font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/oswald-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Thème CDM Stone : titres en Gloock, texte en Geologica. */
body { font-family: 'Geologica', system-ui, sans-serif !important; }
.hx-title em { font-style: normal !important; }
html .font-display { font-family: 'Gloock', Georgia, serif !important; font-weight: 400 !important; letter-spacing: -0.02em !important; font-variation-settings: normal !important; }
/* Angles plus nets, plus « pierre taillée » */
.rounded, .rounded-sm, .rounded-md, .rounded-lg { border-radius: 2px !important; }
.rounded-xl, .rounded-2xl { border-radius: 4px !important; }
/* Titres des cartes sur petits téléphones */
@media (max-width: 440px) { .gal-item h3 { font-size: 1.2rem !important; line-height: 1.15 !important; } .gal-item > div.p-5 { padding: .875rem !important; } }

/* ── Bandeau d'annonce ── */
#annonce { position: fixed; top: var(--hh, 60px); left: 0; right: 0; z-index: 39; background: #a83e09; color: #fff; display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 7px 46px; text-align: center; font-size: 13.5px; line-height: 1.35; }
#annonce p { margin: 0; }
#annonce a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
#annonce a:hover { text-decoration-thickness: 2px; }
#annonce button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: none; border: 0; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; opacity: .85; }
#annonce button:hover { opacity: 1; }
#annonce a:focus-visible, #annonce button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
html.has-annonce body:not(:has(.hx)) { padding-top: var(--ah, 38px); }
.an-court { display: none; }
@media (max-width: 640px) { .a-court .an-long { display: none; } .a-court .an-court { display: inline; } }
/* Accueil : le texte de la photo reste sous la barre et le bandeau */
.hx { height: auto !important; min-height: min(100svh, 980px); padding-top: calc(var(--hh, 60px) + 1.5rem); box-sizing: border-box; }
html.has-annonce .hx { padding-top: calc(var(--hh, 60px) + var(--ah, 38px) + 1.5rem); }
@media (max-width: 520px) { #annonce { font-size: 12.5px; padding-left: 14px; text-align: left; justify-content: flex-start; } }
