:root {
  --hydro-bg: #F0FDF4;
  --hydro-surface: #FFFFFF;
  --hydro-tone: #0D9488;
  --hydro-tone-hover: #0F766E;
  --hydro-ink: #134E4A;
  --hydro-dark: #0F172A;
  --hydro-gradient: linear-gradient(135deg, #0D9488 0%, #14B8A6 100%);
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;
}

body {
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--font-display);
}

/* Mécanisme Galerie CSS Radio */
.optic-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease-in-out, visibility 0.25s ease-in-out;
}

.optic-radio-1:checked ~ .optic-stage .optic-slide-1,
.optic-radio-2:checked ~ .optic-stage .optic-slide-2,
.optic-radio-3:checked ~ .optic-stage .optic-slide-3,
.optic-radio-4:checked ~ .optic-stage .optic-slide-4 {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

/* Preset C : Miniatures en bas avec opacité 0.5 sur inactives */
.optic-thumbs label {
  opacity: 0.5;
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.optic-thumbs label:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}

.optic-radio-1:checked ~ .optic-thumbs .optic-thumb-1,
.optic-radio-2:checked ~ .optic-thumbs .optic-thumb-2,
.optic-radio-3:checked ~ .optic-thumbs .optic-thumb-3,
.optic-radio-4:checked ~ .optic-thumbs .optic-thumb-4 {
  opacity: 1;
  transform: scale(1.03);
  box-shadow: 0 0 0 2px var(--hydro-tone);
}

/* Preset C : Bouton CTA avec bordure accentuée de 6px */
.optic-order-trigger {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

.optic-order-trigger:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(13, 148, 136, 0.16) !important;
  border-left-color: var(--hydro-tone-hover) !important;
}

/* Preset C : Avis rounded-2xl sans bordures avec élévation douce */
.optic-review-entry {
  transition: transform 0.2s ease;
}

.optic-review-entry:hover {
  transform: translateY(-2px);
}