/* Retzo Design - styles Gutenberg légers pour Twenty Twenty-Five */
:root {
  --retzo-red: #d74727;
  --retzo-red-dark: #a9341f;
  --retzo-red-soft: #fff0eb;
  --retzo-cream: #fbf7f1;
  --retzo-cream-2: #f4eee6;
  --retzo-text: #222222;
  --retzo-muted: #5f5f5f;
  --retzo-border: rgba(215, 71, 39, 0.16);
  --retzo-shadow: 0 18px 45px rgba(30, 20, 10, 0.08);
  --retzo-radius: 1.35rem;
  --retzo-radius-lg: 1.8rem;
  --retzo-max: 1180px;
}

.retzo-page {
  color: var(--retzo-text);
}

.retzo-page :where(h1, h2, h3) {
  letter-spacing: -0.035em;
  line-height: 1.06;
}

.retzo-section {
  padding-top: clamp(3rem, 6vw, 6rem);
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.retzo-section-soft {
  background: linear-gradient(180deg, #fff 0%, var(--retzo-cream) 100%);
}

.retzo-kicker {
  color: var(--retzo-red);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.retzo-hero {
  overflow: hidden;
  position: relative;
  padding: clamp(3rem, 7vw, 7rem) 0 clamp(2rem, 5vw, 5rem);
  background:
    radial-gradient(circle at 88% 18%, rgba(215, 71, 39, 0.07) 0 22rem, transparent 22.2rem),
    linear-gradient(135deg, #ffffff 0%, var(--retzo-cream) 100%);
  border-radius: 0 0 var(--retzo-radius-lg) var(--retzo-radius-lg);
}

.retzo-hero-title {
  max-width: 13ch;
  font-size: clamp(2.35rem, 6vw, 5.2rem);
  margin-bottom: 1.2rem;
}

.retzo-hero-title strong,
.retzo-accent {
  color: var(--retzo-red);
}

.retzo-hero-text {
  max-width: 42rem;
  color: var(--retzo-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
}

.retzo-hero-buttons .wp-block-button__link,
.retzo-button-primary .wp-block-button__link {
  background: var(--retzo-red) !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 1px solid var(--retzo-red) !important;
  padding: 0.9rem 1.35rem !important;
  box-shadow: 0 12px 28px rgba(215, 71, 39, 0.22);
  font-weight: 700;
}

.retzo-button-secondary .wp-block-button__link {
  background: transparent !important;
  color: var(--retzo-red) !important;
  border: 1px solid var(--retzo-red) !important;
  border-radius: 999px !important;
  padding: 0.9rem 1.35rem !important;
  font-weight: 700;
}

.retzo-hero-note {
  display: flex;
  align-items: center;
  gap: .55rem;
  color: var(--retzo-muted);
  font-size: .95rem;
  margin-top: 1.2rem;
}

.retzo-hero-note::before {
  content: "♡";
  color: var(--retzo-red);
  font-size: 1.2rem;
}

.retzo-illustration {
  min-height: 340px;
  border-radius: var(--retzo-radius-lg);
  background:
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,.8)),
    var(--retzo-red-soft);
  border: 1px solid var(--retzo-border);
  box-shadow: var(--retzo-shadow);
  position: relative;
  overflow: hidden;
}

.retzo-illustration::before {
  content: "☁";
  position: absolute;
  top: 18%;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(7rem, 16vw, 13rem);
  line-height: 1;
  color: var(--retzo-red);
  opacity: .95;
}

.retzo-illustration::after {
  content: "";
  position: absolute;
  inset: auto 7% 9% 7%;
  height: 48%;
  background:
    repeating-linear-gradient(-12deg, transparent 0 22px, rgba(34,34,34,.18) 23px 24px),
    linear-gradient(160deg, transparent 0 42%, rgba(215,71,39,.18) 42.5% 44%, transparent 44.5% 100%);
  border-radius: 45% 55% 35% 45%;
  opacity: .62;
}

.retzo-card {
  height: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(34,34,34,.07);
  border-radius: var(--retzo-radius);
  box-shadow: var(--retzo-shadow);
  padding: clamp(1.25rem, 2.4vw, 2rem);
  transition: transform .18s ease, box-shadow .18s ease;
}

.retzo-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 56px rgba(30, 20, 10, 0.12);
}

.retzo-icon {
  color: var(--retzo-red);
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 1rem;
}

.retzo-card p,
.retzo-muted {
  color: var(--retzo-muted);
}

.retzo-card a,
.retzo-link {
  color: var(--retzo-red);
  font-weight: 700;
  text-decoration: none;
}

.retzo-values .wp-block-column {
  border-left: 1px solid var(--retzo-border);
  padding-left: clamp(1rem, 2vw, 2rem);
}

.retzo-values .wp-block-column:first-child {
  border-left: 0;
}

.retzo-panel {
  background: linear-gradient(135deg, #fff7f2 0%, var(--retzo-cream) 100%);
  border: 1px solid var(--retzo-border);
  border-radius: var(--retzo-radius-lg);
  padding: clamp(1.4rem, 4vw, 3rem);
  box-shadow: 0 12px 34px rgba(30, 20, 10, 0.06);
}

.retzo-trust-number {
  color: var(--retzo-red);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 850;
  letter-spacing: -0.06em;
  margin-bottom: 0;
}

.retzo-cta {
  position: relative;
  overflow: hidden;
  color: #fff;
  border-radius: var(--retzo-radius-lg);
  padding: clamp(1.8rem, 4vw, 3rem);
  background:
    radial-gradient(circle at 5% 100%, rgba(255,255,255,.16) 0 14rem, transparent 14.2rem),
    linear-gradient(135deg, var(--retzo-red) 0%, var(--retzo-red-dark) 100%);
  box-shadow: 0 22px 60px rgba(215, 71, 39, 0.24);
}

.retzo-cta :where(h2, p) {
  color: #fff;
}

.retzo-cta .wp-block-button__link {
  border-radius: 999px !important;
  padding: .9rem 1.3rem !important;
  font-weight: 760;
}

.retzo-cta .retzo-button-primary .wp-block-button__link {
  background: #fff !important;
  color: var(--retzo-red) !important;
  border-color: #fff !important;
  box-shadow: none;
}

.retzo-cta .retzo-button-secondary .wp-block-button__link {
  color: #fff !important;
  border-color: rgba(255,255,255,.78) !important;
}

@media (max-width: 781px) {
  .retzo-hero {
    border-radius: 0 0 1.2rem 1.2rem;
  }
  .retzo-illustration {
    min-height: 240px;
  }
  .retzo-values .wp-block-column {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--retzo-border);
    padding-top: 1rem;
  }
  .retzo-values .wp-block-column:first-child {
    border-top: 0;
  }
}
