/* burdi© — page d'accueil (convertie depuis la maquette Claude Design) */
html { scroll-behavior: smooth; }
body { margin: 0; background: #F4F6F4; color: #000; font-family: 'Archivo', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #000; text-decoration: none; }
a:hover { color: #6E4B32; }
::selection { background: #EBD7A6; color: #000; }
:focus-visible { outline: 2px solid #6E4B32; outline-offset: 3px; }
@keyframes burdiRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* bureau / mobile — remplace les blocs conditionnels de la maquette */
.only-wide { display: contents; }
.only-narrow, .mobile-bar { display: none; }
@media (max-width: 899px) {
  .only-wide { display: none; }
  .only-narrow, .mobile-bar { display: contents; }
}
body.overlay-open { overflow: hidden; }
/* le hero se cale sous l'en-tête, sinon son bas (texte, flèche) passe sous la ligne de flottaison */
/* hero : le shuriken tourne en continu ; au premier défilement l'accroche laisse place au logo */
[data-ref="hero"] { height: calc(140svh - var(--hh, 0px)) !important; }
[data-ref="intro"] { transition: opacity .4s ease, transform .4s ease; }
[data-ref="logo"] { transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.thrown [data-ref="intro"] { opacity: 0 !important; transform: translateY(-30px) !important; }
.thrown [data-ref="logo"] { opacity: 1 !important; transform: none !important; transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) {
  [data-ref="intro"], [data-ref="logo"] { transition: none; }
  .thrown [data-ref="logo"] { transition-delay: 0s; }
}
[data-ref="hero"] > div { top: var(--hh, 0px) !important; height: calc(100svh - var(--hh, 0px)) !important; }
/* sur mobile, le texte du hero ne doit pas passer sous la barre « Réserver » */
@media (max-width: 899px) {
  [data-ref="hero"] > div > div:last-of-type { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
}
body.overlay-open .mobile-bar { display: none; }
.overlay[hidden] { display: none !important; }

/* emplacements photo : se remplissent seuls quand assets/photos/<id>.jpg existe */
.photo-slot { position: absolute; inset: 0; overflow: hidden; background: #D9D8D4; display: flex; align-items: flex-end; }
.photo-slot::before { content: ""; position: absolute; inset: 0; background: url(grain.jpg) center / 256px; opacity: .16; mix-blend-mode: multiply; }
.photo-slot span { position: relative; }
.photo-slot span { margin: 14px; font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: #6f6d68; }
.photo-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }

/* tunnel de réservation dans le panneau latéral */
.drawer { --bk-display: 'Archivo', system-ui, sans-serif; --bk-text: 'Archivo', system-ui, sans-serif; }
.drawer #burdi-reservation { max-width: none; }
.drawer .bk-title, .drawer .bk-choice-name, .drawer .bk-done-title, .drawer .bk-recap-due dd {
  font-weight: 800; font-stretch: 118%; letter-spacing: -.03em; }
.drawer .bk-title { font-size: 24px; margin-bottom: 18px; }
.drawer .bk-choice { border-color: #D9D8D4; }
.drawer .bk-choice[aria-pressed="true"] { border-color: #000; }
.drawer .bk-btn:hover:not(:disabled) { background: #6E4B32; border-color: #6E4B32; }
.drawer .bk-btn-ghost:hover { background: #000; color: #F4F6F4 !important; }

/* formulaire de devis */
.devis-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.devis-form .full { grid-column: 1 / -1; }
.devis-form textarea { width: 100%; min-height: 110px; padding: 12px; border: 1px solid #9C9A95; background: #fff; font: inherit; font-size: 16px; border-radius: 0; }
.devis-form .hp { position: absolute; left: -9999px; }
#devis-msg { font-size: 14px; margin: 0; }
@media (max-width: 420px) { .devis-form { grid-template-columns: 1fr; } }
