:root { --site-primary:#176b87; --site-ink:#172033; --site-muted:#657085; --site-line:#dfe6ef; --site-bg:#f8fafc; --site-surface:#fff }
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; color:var(--site-ink); background:var(--site-bg); font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
a { color:inherit }
.preview-ribbon { padding:8px 18px; color:#fff; background:#172033; text-align:center; font-size:.78rem; font-weight:700 }
.site-page-shell { max-width:1180px; min-height:100vh; margin:auto; padding:0 26px }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 0; border-bottom:1px solid var(--site-line) }
.site-brand { display:flex; align-items:center; gap:11px; color:var(--site-ink); text-decoration:none }.site-brand span { display:flex; flex-direction:column }.site-brand strong { font-size:1rem }.site-brand small { margin-top:1px; color:var(--site-muted); font-size:.78rem }.site-logo { width:42px; height:42px; object-fit:contain; border-radius:10px }
.site-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px }.site-nav a { padding:7px 11px; border-radius:8px; color:var(--site-muted); text-decoration:none; font-size:.88rem }.site-nav a:hover,.site-nav a.active { color:var(--site-primary); background:color-mix(in srgb,var(--site-primary) 10%,transparent) }
.site-content { padding:32px 0 70px }.site-hero { padding:clamp(42px,8vw,96px) clamp(24px,7vw,82px); border-radius:28px; color:#fff; background:linear-gradient(135deg,var(--site-primary),#253f9f); box-shadow:0 22px 50px color-mix(in srgb,var(--site-primary) 22%,transparent) }.site-eyebrow { margin-bottom:11px; color:#c9f3ed; font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase }.site-hero h1 { max-width:780px; margin:0; font-size:clamp(2.15rem,6vw,5rem); line-height:1.03; letter-spacing:-.045em }.site-hero p { max-width:650px; margin:23px 0 0; color:#ecf4ff; font-size:clamp(1rem,2vw,1.2rem) }.site-button { display:inline-flex; align-items:center; justify-content:center; min-height:43px; margin-top:27px; padding:10px 17px; border-radius:9px; color:#fff; background:var(--site-primary); text-decoration:none; font-weight:750; transition:transform .15s ease,opacity .15s ease }.site-button:hover { transform:translateY(-2px); opacity:.9 }.site-hero .site-button { color:var(--site-primary); background:#fff }.site-button.light { color:var(--site-ink); background:#fff }
.site-text-block,.site-features { max-width:940px; margin:72px auto 0 }.site-text-block h2,.site-features h2,.site-cta h2 { margin:0 0 18px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em }.site-rich-text { max-width:750px; color:var(--site-muted); font-size:1.05rem }.site-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px }.site-feature { min-height:190px; padding:24px; border:1px solid var(--site-line); border-radius:17px; background:var(--site-surface); box-shadow:0 9px 28px rgba(31,50,90,.05) }.site-feature-number { color:var(--site-primary); font-size:.76rem; font-weight:850; letter-spacing:.09em }.site-feature h3 { margin:38px 0 7px; font-size:1.1rem }.site-feature p { margin:0; color:var(--site-muted); font-size:.9rem }.site-image-block { max-width:1000px; margin:72px auto 0 }.site-image-block img { display:block; width:100%; max-height:590px; object-fit:cover; border-radius:22px }.site-image-block figcaption { margin-top:9px; color:var(--site-muted); text-align:center; font-size:.82rem }.site-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:72px; padding:36px 40px; border-radius:20px; color:#fff; background:#172033 }.site-cta h2 { margin-bottom:8px }.site-cta p { margin:0; color:#d9e2f3 }.site-cta .site-button { flex:0 0 auto; margin-top:0 }
.site-footer { display:flex; justify-content:space-between; gap:22px; padding:25px 0 35px; border-top:1px solid var(--site-line); color:var(--site-muted); font-size:.84rem }.site-footer strong,.site-footer span { display:block; color:var(--site-ink) }.site-footer span { margin-top:5px; color:var(--site-muted) }.site-contact { display:flex; flex-direction:column; align-items:flex-end; gap:4px }.site-contact a { color:var(--site-primary); text-decoration:none }
.site-nav-shop { color:var(--site-primary)!important; background:color-mix(in srgb,var(--site-primary) 10%,transparent) }.site-nav a.site-nav-shop.active { color:#fff!important; background:var(--site-primary) }.site-nav-cart { font-weight:700 }.site-nav-cart span { display:inline-grid; min-width:20px; height:20px; place-items:center; margin-left:4px; padding:0 5px; border-radius:999px; color:#fff; background:var(--site-primary); font-size:.72rem; font-weight:800 }.site-shop-block,.site-social-block { max-width:1000px; margin:72px auto 0 }.site-shop-block h2,.site-social-block h2 { margin:0 0 12px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em }.site-shop-intro,.site-social-block>p { max-width:700px; margin:0; color:var(--site-muted); font-size:1.02rem }.site-shop-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:24px }.site-shop-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--site-line); border-radius:16px; background:var(--site-surface); box-shadow:0 9px 28px rgba(31,50,90,.05) }.site-shop-image { display:grid; height:170px; place-items:center; overflow:hidden; color:var(--site-primary); background:color-mix(in srgb,var(--site-primary) 9%,#fff); text-decoration:none; font-size:3rem }.site-shop-image img { width:100%; height:100%; object-fit:cover }.site-shop-card-body { display:flex; flex:1; flex-direction:column; padding:15px }.site-shop-category { color:var(--site-primary); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase }.site-shop-card h3 { margin:7px 0 14px; font-size:1rem; line-height:1.2 }.site-shop-card h3 a { text-decoration:none }.site-shop-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:11px; border-top:1px solid var(--site-line); font-size:.82rem }.site-shop-card-bottom strong { color:var(--site-primary) }.site-shop-card-bottom a { color:var(--site-primary); font-weight:750; text-decoration:none }.site-shop-block>.site-button { margin-top:22px }.site-shop-empty { display:grid; gap:4px; margin-top:22px; padding:24px; border:1px dashed var(--site-line); border-radius:14px; color:var(--site-muted); background:var(--site-surface) }.site-shop-empty strong { color:var(--site-ink) }.site-social-links { display:flex; flex-wrap:wrap; gap:9px; margin-top:21px }.site-social-links a { display:inline-flex; align-items:center; gap:8px; min-height:39px; padding:8px 12px; border:1px solid var(--site-line); border-radius:999px; color:var(--site-primary); background:var(--site-surface); font-size:.84rem; font-weight:750; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease }.site-social-links a:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(31,50,90,.1) }.site-social-links a span { display:grid; place-items:center; width:21px; height:21px; margin:0; border-radius:50%; color:#fff; background:var(--site-primary); font-size:.72rem }.site-footer-socials { display:flex; gap:6px; margin-top:9px }.site-footer-socials a { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff!important; background:var(--site-primary); font-size:.72rem; font-weight:800 }.site-footer-socials a:hover { opacity:.82 }
.site-theme-sunset { --site-primary:#b55a38 }.site-theme-forest { --site-primary:#2c7658 }.site-theme-slate { --site-primary:#52647f }
@media (max-width:900px) { .site-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:700px) { .site-page-shell { padding:0 16px }.site-header { align-items:flex-start; flex-direction:column; padding:18px 0 }.site-nav { justify-content:flex-start }.site-content { padding-top:18px }.site-hero { padding:42px 24px; border-radius:20px }.site-feature-grid,.site-shop-grid { grid-template-columns:1fr }.site-feature { min-height:0 }.site-feature h3 { margin-top:24px }.site-cta { align-items:flex-start; flex-direction:column; padding:28px 24px }.site-footer { align-items:flex-start; flex-direction:column }.site-contact { align-items:flex-start } }
.site-languages { display:flex; gap:4px; }.site-languages a { padding:6px 9px; border-radius:8px; color:var(--site-muted); font-size:.8rem; font-weight:800; letter-spacing:.04em; text-decoration:none }.site-languages a[aria-current="true"] { color:#fff; background:var(--site-primary) }
.site-gallery-block,.site-reviews-block,.site-contact-block { max-width:1000px; margin:72px auto 0 }.site-gallery-block h2,.site-reviews-block h2,.site-contact-block h2 { margin:0 0 12px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em }
.site-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px }.site-gallery-grid figure { margin:0 }.site-gallery-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px }.site-gallery-grid figcaption { margin-top:6px; color:var(--site-muted); font-size:.82rem }
.site-reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:22px }.site-review { display:flex; flex-direction:column; justify-content:space-between; gap:16px; margin:0; padding:22px; border:1px solid var(--site-line); border-radius:17px; background:var(--site-surface); box-shadow:0 9px 28px rgba(31,50,90,.05) }.site-review blockquote { margin:0; font-size:1.02rem; line-height:1.55 }.site-review figcaption strong { display:block }.site-review figcaption span { color:var(--site-muted); font-size:.84rem }.site-reviews-block>.site-button { margin-top:22px }
.site-contact-block { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; padding:32px; border-radius:22px; background:var(--site-surface); border:1px solid var(--site-line) }.site-contact-intro p { margin:0 0 14px; color:var(--site-muted) }.site-contact-intro ul { display:grid; gap:6px; margin:0; padding:0; list-style:none }.site-contact-intro a { color:var(--site-primary); font-weight:700; text-decoration:none }
.site-contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px }.site-contact-field { display:grid; gap:5px }.site-contact-field.full,.site-contact-form .site-button,.site-contact-error { grid-column:1/-1 }.site-contact-field label { font-weight:700; font-size:.9rem }.site-contact-field input,.site-contact-field textarea { width:100%; padding:11px 12px; border:1px solid #c9d2df; border-radius:10px; font:inherit }.site-contact-form .site-button { justify-self:start; margin-top:4px; border:0; cursor:pointer; font:inherit; font-weight:750 }.site-contact-error { margin:0; color:#b42318; font-weight:650 }.site-contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden }.site-contact-sent { display:grid; gap:4px; align-self:center; padding:20px; border-radius:14px; background:#e6f6ec }.site-contact-sent span { color:var(--site-muted) }
@media (max-width:700px) { .site-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }.site-reviews-grid,.site-contact-block,.site-contact-form { grid-template-columns:1fr }.site-contact-block { padding:22px } }
.site-hero.has-image { position:relative; overflow:hidden; background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(15,23,42,.38)),var(--site-hero-image) center/cover no-repeat }
.site-bg-soft,.site-bg-dark { max-width:none; padding:44px clamp(22px,5vw,56px); border-radius:24px }.site-bg-soft { background:color-mix(in srgb,var(--site-primary) 8%,#fff) }.site-bg-dark { color:#fff; background:#172033 }.site-bg-dark p,.site-bg-dark .site-rich-text,.site-bg-dark .site-shop-intro,.site-bg-dark figcaption { color:#d9e2f3 }.site-bg-dark .site-feature,.site-bg-dark .site-review { color:var(--site-ink) }
.site-bg-dark .site-review figcaption { color:var(--site-muted) }.site-bg-dark .site-review figcaption strong { color:var(--site-ink) }
.site-hero-media { display:none }.site-hero-tagline { font-style:italic }.site-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:27px }.site-hero-actions .site-button { margin-top:0 }.site-hero .site-button.secondary { color:#fff; background:transparent; box-shadow:inset 0 0 0 1px rgba(255,255,255,.7) }.site-hero-highlights { display:flex; flex-wrap:wrap; gap:8px 22px; margin:30px 0 0; padding:0; list-style:none; color:#ecf4ff; font-size:.88rem; font-weight:650 }.site-hero-highlights span { margin-right:6px; opacity:.7 }
.site-reviews-summary { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:6px 0 0; color:var(--site-muted) }.site-reviews-summary strong { color:var(--site-ink); font-size:1.15rem }.site-stars { position:relative; display:inline-block; color:#c9cfd8; font-size:1.25rem; letter-spacing:.08em; line-height:1 }.site-stars::before { content:"★★★★★" }.site-stars > span { position:absolute; inset:0 auto 0 0; overflow:hidden; color:#b07a12; white-space:nowrap }.site-stars > span::before { content:"★★★★★" }.site-review-stars { color:#b07a12; letter-spacing:.08em }.site-reviews-policy { max-width:720px; margin:18px 0 0; color:var(--site-muted); font-size:.82rem }
.site-hours-block,.site-loyalty-block { max-width:1000px; margin:72px auto 0 }.site-hours-block h2,.site-loyalty-block h2 { margin:0 0 12px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em }.site-hours { display:grid; gap:0; max-width:520px; margin:22px 0 0; padding:6px 20px; border:1px solid var(--site-line); border-radius:16px; background:var(--site-surface) }.site-hours div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--site-line) }.site-hours div:last-child { border-bottom:0 }.site-hours dt { font-weight:650 }.site-hours dd { margin:0; color:var(--site-muted); font-variant-numeric:tabular-nums }.site-hours .is-today dt,.site-hours .is-today dd { color:var(--site-primary); font-weight:800 }.site-hours-closure { max-width:520px; margin:12px 0 0; padding:10px 14px; border-radius:12px; background:color-mix(in srgb,var(--site-primary) 8%,#fff); font-weight:650 }.site-loyalty-card { display:grid; justify-items:start; gap:16px; max-width:640px; margin-top:22px; padding:24px; border:1px solid var(--site-line); border-radius:18px; background:var(--site-surface) }.site-loyalty-stamps { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none }.site-loyalty-stamps li { display:grid; place-items:center; width:38px; height:38px; border:2px dashed var(--site-line); border-radius:50%; color:var(--site-muted); font-size:.8rem; font-weight:800 }.site-loyalty-stamps li.is-reward { border:0; color:#fff; background:var(--site-primary); font-size:1rem }.site-loyalty-rule { margin:0; font-size:1.05rem }.site-loyalty-card .site-button { margin-top:0 }
.site-review-reply { margin-top:4px; padding:12px 14px; border-left:3px solid var(--site-primary); border-radius:10px; background:color-mix(in srgb,var(--site-primary) 6%,#fff); font-size:.9rem }.site-review-reply strong { display:block; margin-bottom:4px; font-size:.82rem }.site-review-reply p { margin:0; color:var(--site-muted) }
.site-customer-reviews .site-review { justify-content:flex-start }
/* Le thaï ne s'espace pas lettre à lettre et n'a pas de capitales : les petits titres espacés redeviennent lisibles. */
:lang(th) .site-page-shell, :lang(th) .site-page-shell * { letter-spacing: 0 !important; }
.site-closure-notice { max-width:760px; margin:14px auto 0; padding:12px 16px; border:1px solid var(--site-line); border-left:4px solid var(--site-primary); border-radius:12px; background:var(--site-surface); font-weight:650; text-align:center }
.site-giftcards-block { max-width:1000px; margin:72px auto 0 }.site-giftcards-block h2 { margin:0 0 12px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em }.site-giftcards-card { display:grid; justify-items:start; gap:14px; max-width:640px; margin-top:22px; padding:24px; border:1px solid var(--site-line); border-radius:18px; background:var(--site-surface) }.site-giftcards-icon { color:var(--site-primary); font-size:1.6rem }.site-giftcards-steps { display:grid; gap:8px; margin:0; padding:0; list-style:none }.site-giftcards-steps li { display:flex; align-items:center; gap:10px }.site-giftcards-steps span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#fff; background:var(--site-primary); font-size:.8rem; font-weight:800 }.site-giftcards-note,.site-giftcards-validity { margin:0 }.site-giftcards-validity { color:var(--site-muted); font-size:.9rem }.site-giftcards-card .site-button { margin-top:0 }

/* Animations (réglage du site, ou de la page) : « none » immobile, « soft » celles du thème, « lively » plus marquées. */
.site-reveal-on .site-reveal { opacity:0; transform:translateY(18px) }
.site-reveal-on .site-reveal.is-visible { opacity:1; transform:none; transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1) }
.site-reveal-on body.site-motion-lively .site-reveal { transform:translateY(36px) scale(.98) }
.site-reveal-on body.site-motion-lively .site-reveal.is-visible { transform:none; transition-duration:1.05s }
body.site-motion-lively :is(.site-button,.site-booking-book,.site-nav a.site-nav-shop) { position:relative; overflow:hidden; isolation:isolate }
body.site-motion-lively :is(.site-button,.site-booking-book,.site-nav a.site-nav-shop)::before { position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.32) 50%,transparent 70%); content:""; transform:translateX(-120%); transition:transform .9s cubic-bezier(.22,.61,.36,1); pointer-events:none }
body.site-motion-lively :is(.site-button,.site-booking-book,.site-nav a.site-nav-shop):hover::before { transform:translateX(120%) }
body.site-motion-lively :is(.site-booking-card,.site-feature,.site-review,.site-shop-card) { transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s }
body.site-motion-lively :is(.site-booking-card,.site-feature,.site-review,.site-shop-card):hover { transform:translateY(-6px); box-shadow:0 26px 50px -22px rgba(31,40,35,.35) }
body.site-motion-lively .site-booking-card-media,body.site-motion-lively .site-shop-image img,body.site-motion-lively .site-gallery-grid img,body.site-motion-lively .site-image-block img { transition:transform 1.2s cubic-bezier(.22,.61,.36,1) }
body.site-motion-lively .site-booking-card:hover .site-booking-card-media,body.site-motion-lively .site-shop-card:hover .site-shop-image img,body.site-motion-lively .site-gallery-grid figure:hover img { transform:scale(1.07) }
body.site-motion-lively .site-gallery-grid figure,body.site-motion-lively .site-image-block { overflow:hidden }
body.site-motion-lively .site-image-block:hover img { transform:scale(1.04) }
body.site-motion-lively .site-hero-frame img { animation:site-breathe 14s ease-in-out infinite alternate }
@keyframes site-breathe { from { transform:scale(1) } to { transform:scale(1.06) } }
.site-motion-none *,.site-motion-none *::before,.site-motion-none *::after { transition:none !important; animation:none !important }
.site-motion-none :is(.site-button,.site-booking-card,.site-booking-book,.site-social-links a,.site-nav a,.site-feature,.site-review,.site-shop-card):hover,
.site-motion-none .site-hero-media:hover .site-hero-frame img,.site-motion-none .site-gallery-grid figure:hover img { transform:none !important }
@media (prefers-reduced-motion: reduce) {
  [class*="site-motion-"] *,[class*="site-motion-"] *::before,[class*="site-motion-"] *::after { transition:none !important; animation:none !important }
  .site-reveal-on .site-reveal { opacity:1; transform:none }
  [class*="site-motion-"] :is(.site-button,.site-booking-card,.site-feature,.site-review,.site-shop-card):hover,
  [class*="site-motion-"] .site-gallery-grid figure:hover img,[class*="site-motion-"] .site-hero-media:hover .site-hero-frame img { transform:none !important }
}
.site-buttons-block { display:flex; flex-wrap:wrap; gap:12px; max-width:1000px; margin:44px auto 0 }.site-buttons-block.align-center { justify-content:center }.site-buttons-block .site-button { margin-top:0 }.site-button.secondary { color:var(--site-primary); background:transparent; box-shadow:inset 0 0 0 1px var(--site-primary) }
.site-rich-text p,.site-feature-text p { margin:0 0 .9em }.site-rich-text p:last-child,.site-feature-text p:last-child { margin-bottom:0 }.site-rich-text ul,.site-feature-text ul { margin:0 0 .9em; padding-left:1.2em; text-align:left }.site-rich-text li,.site-feature-text li { margin:.25em 0 }.site-rich-text a,.site-feature-text a { color:var(--site-primary); font-weight:650; text-underline-offset:3px }.site-feature-text { margin:0; color:var(--site-muted); font-size:.9rem }
.site-image-text,.site-video-block,.site-map-block,.site-faq-block { max-width:1000px; margin:72px auto 0 }
.site-image-text { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(24px,5vw,56px) }
.site-image-text.image-right .site-image-text-media { order:2 }
.site-image-text-media { margin:0 }.site-image-text-media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px }
.site-image-text-copy h2,.site-video-block h2,.site-map-block h2,.site-faq-block h2 { margin:0 0 14px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12; letter-spacing:-.025em }
.site-image-text-copy .site-button { margin-top:20px }
.site-video { position:relative; display:grid; place-items:center; align-content:center; gap:10px; aspect-ratio:16/9; margin-top:22px; overflow:hidden; border-radius:18px; color:#fff; background:linear-gradient(135deg,color-mix(in srgb,var(--site-primary) 88%,#000),color-mix(in srgb,var(--site-primary) 55%,#000)) }
.site-video small { max-width:420px; padding:0 16px; color:rgba(255,255,255,.75); font-size:.8rem; text-align:center }
.site-video-play { display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border:0; border-radius:999px; color:var(--site-primary); background:#fff; font:inherit; font-weight:750; cursor:pointer; box-shadow:0 14px 30px rgba(0,0,0,.25); transition:transform .2s }
.site-video-play:hover { transform:scale(1.04) }
.site-video.is-playing { display:block }.site-video iframe { width:100%; height:100%; border:0 }
.site-map-card { display:grid; justify-items:start; gap:14px; max-width:560px; margin-top:22px; padding:24px; border:1px solid var(--site-line); border-radius:18px; background:var(--site-surface) }
.site-map-pin { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; background:var(--site-primary); font-size:1.3rem }
.site-map-card address { font-style:normal; font-size:1.05rem; line-height:1.55 }
.site-map-actions { display:flex; flex-wrap:wrap; gap:10px }.site-map-actions .site-button { margin-top:0 }
.site-faq { display:grid; gap:10px; margin-top:22px }
.site-faq details { border:1px solid var(--site-line); border-radius:14px; background:var(--site-surface) }
.site-faq summary { position:relative; padding:16px 48px 16px 18px; font-weight:700; cursor:pointer; list-style:none }
.site-faq summary::-webkit-details-marker { display:none }
.site-faq summary::after { position:absolute; top:50%; right:18px; color:var(--site-primary); font-size:1.3rem; content:"+"; transform:translateY(-50%) }
.site-faq details[open] summary::after { content:"–" }
.site-faq details > .site-rich-text { max-width:none; padding:0 18px 16px; font-size:.98rem }
.site-divider { max-width:1000px; margin:48px auto 0 }
.site-divider.divider-line { height:1px; background:var(--site-line) }
.site-divider.divider-space { height:24px }
.site-divider.divider-ornament { height:24px; background:no-repeat center / 120px 24px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24' fill='none' stroke='%23999' stroke-width='1.1'%3E%3Cpath d='M0 12h50M70 12h50'/%3E%3Ccircle cx='60' cy='12' r='4'/%3E%3C/svg%3E") }
@media (max-width:700px) { .site-image-text { grid-template-columns:1fr }.site-image-text.image-right .site-image-text-media { order:0 } }
.site-announcement { max-width:760px; margin:14px auto 0; padding:11px 16px; border-radius:999px; color:#fff; background:var(--site-primary); font-weight:650; text-align:center }.site-announcement a { color:inherit; text-decoration:none }.site-announcement a:hover { text-decoration:underline }
.site-legal-block { max-width:820px; margin:72px auto 0 }.site-legal-block h2 { margin:0 0 14px; font-size:clamp(1.65rem,3vw,2.45rem); line-height:1.12 }
.site-legal { display:grid; gap:0; margin:0; padding:6px 22px; border:1px solid var(--site-line); border-radius:16px; background:var(--site-surface) }
.site-legal div { display:grid; grid-template-columns:200px minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid var(--site-line) }.site-legal div:last-child { border-bottom:0 }
.site-legal dt { color:var(--site-muted); font-weight:650 }.site-legal dd { margin:0 }.site-legal a { color:var(--site-primary) }
@media (max-width:600px) { .site-legal div { grid-template-columns:1fr; gap:2px } }
.site-footer-legal-link { color:inherit }
.site-preview-note { position:relative; z-index:3; max-width:1000px; margin:48px auto -40px; padding:8px 14px; border:1px dashed #b45309; border-radius:10px; color:#7a2e0e; background:#fff7ed; font:600 .82rem/1.4 system-ui,sans-serif; text-align:center }
/* Le point important de chaque photo (choisi dans l'éditeur) reste visible quand elle est recadrée. */
.site-page-shell img { object-position:var(--focus,50% 50%) }
.site-hero.has-image { background-position:center,var(--site-hero-focus,50% 50%) }
.site-block-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px }.site-block-actions .site-button { margin-top:0 }
.site-cta .site-block-actions { flex:0 0 auto; margin-top:0 }

.site-contact-privacy { grid-column: 1 / -1; margin: 0; color: var(--site-muted); font-size: .82rem; }
.site-contact-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.site-contact-form[aria-disabled="true"] .site-button { opacity: .75; cursor: default; }
/* Sur le bandeau d'appel sombre, un bouton « contour » reste lisible (clair sur foncé). */
.site-cta .site-button.secondary { color:#fff; background:transparent; box-shadow:inset 0 0 0 1px rgba(255,255,255,.7) }
.site-cta .site-button.secondary:hover { background:rgba(255,255,255,.12) }
