/* Thème généré automatiquement — ne pas modifier ici, régler depuis l'administration. */
:root{
  --color-accent:#c8a25e;
  --color-forest:#5f8a6d;
  --color-cream:#2b2f28;
  --color-paper:#232620;
  --color-text:#ece7db;
  --color-muted:#a6ac9c;
  --color-border:#3b4038;
  --color-surface:#3b3e39;
  --color-link:#a7c3ae;
  --color-ring:rgba(200,162,94,.30);
  --color-shadow:rgba(0,0,0,.45);
  --color-on-accent:#2b2f2c;
  --color-on-forest:#ffffff;
  --color-field:#4f514d;
  --color-topbar:rgba(35,38,32,.94);
  --color-sidebar:#3d5946;
  --color-ok:#7cc795;
  --color-warn:#d9b878;
  --color-info:#9db8d4;
  --color-danger:#e6a396;
  --color-na:#b0b3a9;
  --color-error:#e39385;
  --color-error-border:#d97a6c;
  --font-heading:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-scale:1;
  --content-width:1200px;
  --space-factor:1;
  --button-radius:2px;
  --anim-duration:260ms;
  --anim-fast:160ms;
  --stagger-step:95ms;
  --ease-out:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

html{
  font-size:calc(16px * var(--font-scale));
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--color-paper);
  color:var(--color-text);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{
  font-family:var(--font-heading);
  font-weight:600;
  line-height:1.15;
  color:var(--color-text);
  margin:0 0 .5em;
  letter-spacing:.01em;
}
h1{font-size:clamp(2.2rem,1.4rem + 3vw,4rem)}
h2{font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem)}
h3{font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem)}
p{margin:0 0 1.1em}
a{color:var(--color-link);text-decoration:none;transition:color var(--anim-fast) ease}
a:hover{color:var(--color-accent)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}

.container{width:min(100% - 2.5rem, var(--content-width));margin-inline:auto}
.narrow{width:min(100% - 2.5rem, calc(var(--content-width) * .72));margin-inline:auto}
.section{padding:calc(4.5rem * var(--space-factor)) 0}
.section--tight{padding:calc(2.75rem * var(--space-factor)) 0}
.bg-cream{background:var(--color-cream)}
.bg-paper{background:var(--color-paper)}
.bg-forest{background:var(--color-forest);color:#f4f1ea}
.bg-forest h1,.bg-forest h2,.bg-forest h3{color:#fdfcf9}
.bg-forest a{color:#e7eee9}
.muted{color:var(--color-muted)}
.eyebrow{
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-accent);font-weight:600;margin-bottom:1rem;display:block
}
.lead{font-size:1.12rem;color:var(--color-muted);max-width:60ch}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.7rem;border-radius:var(--button-radius);
  font:inherit;font-weight:600;font-size:.95rem;letter-spacing:.02em;
  cursor:pointer;text-align:center;
  transition:background var(--anim-fast) ease,color var(--anim-fast) ease,
             border-color var(--anim-fast) ease,transform var(--anim-fast) ease;
}
.btn{background:transparent;color:#a7c3ae;border:1px solid #a7c3ae}.btn:hover{background:#a7c3ae;color:#232620;border-color:#a7c3ae}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn--sm{padding:.55rem 1.1rem;font-size:.85rem}
.btn--lg{padding:1rem 2.2rem;font-size:1rem}
.btn[disabled]{opacity:.55;pointer-events:none}

.badge{
  display:inline-block;padding:.28rem .7rem;border-radius:999px;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  background:rgba(47,74,58,.09);color:var(--color-forest)
}
.badge--available{background:rgba(64,125,88,.14);color:#2f6b45}
.badge--reserved{background:rgba(184,138,52,.16);color:#8a6212}
.badge--sold{background:rgba(52,73,94,.14);color:#34495e}
.badge--na{background:rgba(120,120,120,.14);color:#5f6360}
.badge--price{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}

.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px}
.divider{height:1px;background:var(--color-border);border:0;margin:0}

.grid{display:grid;gap:calc(1.75rem * var(--space-factor))}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}

/* Révélation au défilement : masquée uniquement si le JS tourne (sinon
   le contenu reste visible — page 100% fonctionnelle sans JavaScript). */
.reveal{
  transition:opacity var(--anim-duration) var(--ease-out),
             transform var(--anim-duration) var(--ease-out)
}
.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.is-visible{opacity:1;transform:none}

/* Entrée en cascade du hero au chargement (CSS pur, sans JS requis). */
@keyframes heroRise{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
.hero .eyebrow,.hero__eyebrow{animation:heroRise calc(var(--anim-duration) * 1.2) var(--ease-out) both;animation-delay:60ms}
.hero__title{animation:heroRise calc(var(--anim-duration) * 1.4) var(--ease-out) both;animation-delay:170ms}
.hero__subtitle,.hero__text{animation:heroRise calc(var(--anim-duration) * 1.4) var(--ease-out) both;animation-delay:330ms}
.hero__actions{animation:heroRise calc(var(--anim-duration) * 1.4) var(--ease-out) both;animation-delay:470ms}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    animation-delay:0s !important;transition-duration:.001ms !important;transition-delay:0s !important;
    scroll-behavior:auto !important}
  .reveal,.js .reveal{opacity:1;transform:none}
  .hero .eyebrow,.hero__eyebrow,.hero__title,.hero__subtitle,.hero__text,.hero__actions{animation:none}
}
@media (max-width: 720px){
  .section{padding:calc(3rem * var(--space-factor)) 0}
  .container,.narrow{width:min(100% - 1.75rem, var(--content-width))}
}

/* Ajustements spécifiques au thème sombre « atelier » */
.badge{background:rgba(255,255,255,.08);color:var(--color-link)}
.badge--available{background:rgba(90,168,119,.16);color:#7cc795}
.badge--reserved{background:rgba(200,162,94,.16);color:#d9b878}
.badge--sold{background:rgba(120,150,180,.16);color:#9db8d4}
.badge--na{background:rgba(160,160,160,.14);color:#b0b3a9}
.badge--price{background:transparent;border-color:var(--color-border);color:var(--color-text)}
.field--error input,.field--error select,.field--error textarea{border-color:#d97a6c}
.field__error{color:#e39385}
.flash--error{color:#e6a396;border-color:rgba(217,122,108,.4);background:rgba(217,122,108,.12)}
.flash--success{color:#8fd0a4;border-color:rgba(90,168,119,.4);background:rgba(90,168,119,.12)}
.flash--info{color:var(--color-link);border-color:rgba(167,195,174,.35);background:rgba(167,195,174,.10)}