
/* ============================================================
   💠 Capsule Dynamique — CSS Générique / Structure Commune
   Utilisé pour TOUTES les capsules (structure, layout, typographie de base)
   ============================================================ */

.capsule-container {
  padding: var(--space-4xl) var(--space-md);
  font-family: var(--font-main);
  background: var(--ty-lin-brume);
  color: var(--ty-anthracite-velours);
}

.capsule-hero h1 {
  font-family: var(--font-deco);
  font-size: clamp(2.4rem, 5vw, 3rem);
  text-align: center;
  margin-bottom: 0.5rem;
}

.capsule-hero p {
  font-size: 1.2rem;
  text-align: center;
  font-style: italic;
  margin-bottom: var(--space-2xl);
  color: var(--ty-texte-doux);
}

.capsule-story {
  max-width: 800px;
  margin-inline: auto;
  font-size: 1.1rem;
  line-height: 1.7;
  text-align: justify;
  white-space: pre-wrap;
  margin-bottom: var(--space-3xl);
}

.capsule-rituel {
  max-width: 700px;
  margin: var(--space-3xl) auto;
  font-style: italic;
  text-align: center;
  border-top: 1px dashed var(--ty-corail-alchimie);
  padding-top: var(--space-2xl);
  font-size: 1.2rem;
  color: var(--ty-anthracite-velours);
  white-space: pre-wrap;
}

.capsule-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-xl);
  margin-top: var(--space-3xl);
  width: 100%;
}

.capsule-product-card {
  border: 1px solid var(--ty-lin-brume);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: #fff;
  text-align: center;
  transition: all var(--dur-fast) ease;
}

.capsule-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.capsule-product-card img {
  max-width: 100%;
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-md);
}

.capsule-product-card h3 {
  font-family: var(--font-main);
  font-size: 1.1rem;
  color: var(--ty-terre-argile);
  margin-bottom: 0.5rem;
}


/* === Archives Capsules === */
.capsule-archives {
  margin: var(--space-3xl) auto;
  max-width: 900px;
  text-align: center;
}
.capsule-archives-title {
  font-family: var(--font-deco);
  font-size: 2rem;
  margin-bottom: var(--space-lg);
}
.capsule-archives-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
}
.capsule-archives-list li a {
  background: var(--ty-sable-clair);
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: var(--ty-anthracite-velours);
  transition: background 0.3s;
}
.capsule-archives-list li a:hover {
  background: var(--ty-corail-alchimie);
  color: #fff;
}

/* === Citation Capsule === */
.capsule-citation {
  max-width: 700px;
  margin: var(--space-3xl) auto;
  text-align: center;
  font-style: italic;
  font-size: 1.4rem;
  color: var(--ty-terre-argile);
  position: relative;
}
.capsule-citation blockquote::before,
.capsule-citation blockquote::after {
  content: "“";
  font-size: 3rem;
  line-height: 0;
  color: var(--ty-corail-alchimie);
  vertical-align: middle;
}
.capsule-citation blockquote::after {
  content: "”";
}

/* === Galerie Capsule === */
.capsule-galerie {
  max-width: 1000px;
  margin: var(--space-4xl) auto;
  padding: 0 var(--space-md);
}
.capsule-galerie-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-lg);
}
.capsule-galerie-grid figure {
  margin: 0;
}
.capsule-galerie-grid img {
  width: 100%;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
