/* Functional adapters only. Brand, typography and component styles belong to the Elementor Kit. */
.sn-site{margin:0;background:var(--sn--couleur--fond);color:var(--sn--couleur--texte-sur-sombre)}
.sn-site .elementor-widget-sn-edition-collection{width:100%;min-width:0}
.sn-site :where(figure,dl,dd){margin:0}
.sn-site :where(img){max-width:100%}
.sn-site :where(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.sn-empty{padding-block:1rem}
.sn-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.sn-faq summary::-webkit-details-marker{display:none}
.sn-faq details[open] .sn-faq-sign{transform:rotate(45deg)}
.sn-faq-sign{font-size:1.4em;transition:transform .2s}
.sn-photo-link{display:block;position:relative}
.sn-photo-zoom{position:absolute;right:1rem;bottom:1rem;background:var(--sn--couleur--sapin);color:var(--sn--couleur--creme);padding:0 .5rem}
.sn-lightbox{max-width:96vw;max-height:95vh;border:0;padding:3rem;background:var(--sn--couleur--sapin-profond);color:var(--sn--couleur--creme)}
.sn-lightbox::backdrop{background:#000c}
.sn-lightbox img{display:block;max-width:80vw;max-height:75vh;object-fit:contain}
.sn-lightbox figcaption{margin-top:.6rem;text-align:center}
.sn-lightbox button{position:absolute;background:transparent;border:0;color:inherit;font-size:2rem;cursor:pointer}
.sn-lightbox-close{top:0;right:.5rem}.sn-lightbox-prev{left:0;top:45%}.sn-lightbox-next{right:0;top:45%}
.sn-contact a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.sn-skip{position:fixed;left:1rem;top:-10rem;z-index:99999;padding:1rem;background:var(--sn--couleur--creme);color:var(--sn--couleur--sapin)}.sn-skip:focus{top:1rem}
@media(max-width:767px){.sn-lightbox{padding:2rem}.sn-lightbox img{max-width:78vw}.sn-hours-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.sn-site *{scroll-behavior:auto!important}.sn-faq-sign{transition:none}}

.sn-site .elementor-widget.sn-anchor{height:0;min-height:0;margin:0!important;padding:0}
.sn-site .elementor-widget-sn-opening{margin:0}
.sn-inline-icon{display:block;flex-shrink:0}.sn-inline-icon>svg{display:block;width:100%;height:100%}

/* Temporary drawing layer. Colours, border widths and geometry are read from Elementor. */
.sn-site .sn-drawing-frame{position:absolute;display:block;max-width:none;overflow:visible;pointer-events:none;z-index:2}
