/* Thème généré automatiquement — ne pas modifier ici, régler depuis l'administration. */
:root{
  --color-accent:#7c9885;
  --color-forest:#2f4a3a;
  --color-cream:#f7f4ee;
  --color-paper:#fdfcf9;
  --color-text:#2b2f2c;
  --color-muted:#6d746f;
  --color-border:#e3ded3;
  --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;
}

*,*::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-forest);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:#2f4a3a;border:1px solid #2f4a3a}.btn:hover{background:#2f4a3a;color:#ffffff;border-color:#2f4a3a}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-forest)}
.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:#fff;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))}

.reveal{opacity:0;transform:translateY(14px);
  transition:opacity var(--anim-duration) cubic-bezier(.22,.61,.36,1),
             transform var(--anim-duration) cubic-bezier(.22,.61,.36,1)}
.reveal.is-visible{opacity:1;transform:none}

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