/* Vairua — styles complémentaires (le gros vient de Tailwind CDN) */

:root {
  --green: #2F5D3A;
  --green-light: #7BA05B;
  --wood: #9C6B3F;
  --ecru: #F4EDE1;
  --cream: #FBF8F1;
  --ink: #3A2E25;
  --lagoon: #4FA8A3;
  --tiare: #FBEFD0;
  --coral: #D98E5B;
}

html { scroll-behavior: smooth; }

body {
  background: var(--ecru);
  /* Texture organique très subtile sur le fond ecru */
  background-image: radial-gradient(circle at 15% 0%, rgba(123,160,91,.06), transparent 42%),
                    radial-gradient(circle at 100% 8%, rgba(79,168,163,.05), transparent 40%);
  background-attachment: fixed;
}

/* Grain photographique discret pour le hero (et autres voiles) */
.hero-grain {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

/* Effet de survol homogène sur les cartes */
.lift { transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease; }
.lift:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(58,46,37,.16); }

/* Reveal de base — masqué tant que GSAP n'a pas joué (sinon visible) */
.gsap-ready .reveal { opacity: 0; transform: translateY(24px); }

/* Filet décoratif */
.leaf-rule {
  width: 56px; height: 3px; border-radius: 999px;
  background: linear-gradient(90deg, var(--green) 0%, var(--green-light) 100%);
}

/* Suréleve de section : petit libellé en capitales */
.eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--green-light);
}
.eyebrow::before { content: ""; width: 1.6rem; height: 2px; border-radius: 999px; background: var(--green-light); }

/* Liens du corps de texte éditorial */
.prose-natura a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }

/* Citation manuscrite */
.handwrite { font-family: 'Caveat', cursive; }

/* Focus visible accessible */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--lagoon);
  outline-offset: 2px;
  border-radius: 6px;
}

/* Leaflet : coins arrondis */
.leaflet-container { border-radius: 1rem; font-family: inherit; }

/* Scrollbar douce */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #d8cdb8; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--wood); }

/* Petit flash sur recalcul de prix */
@keyframes priceflash {
  0% { transform: scale(1); }
  40% { transform: scale(1.06); color: var(--green); }
  100% { transform: scale(1); }
}
.price-flash { animation: priceflash .45s ease; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .gsap-ready .reveal { opacity: 1; transform: none; }
  .price-flash { animation: none; }
}

/* Carrousel galerie : transition crossfade */
.gallery-slide { transition: opacity .5s ease; }

/* Badges */
.badge { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .6rem; border-radius: 999px; font-size: .72rem; font-weight: 600; }
