/* ============================================================
   Service Étanche — Overrides Astra
   Force les couleurs/typo du DS sur les composants WordPress
   ============================================================ */

/* Boutons Gutenberg + Astra + Elementor */
.wp-block-button__link,
.elementor-button,
.ast-custom-button,
button.ast-button {
  background: var(--cta-bg) !important;
  color: var(--color-white) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 24px !important;
  font-weight: var(--fw-bold) !important;
  letter-spacing: 0.02em !important;
  font-family: var(--font-text) !important;
  border: none !important;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s !important;
}
.wp-block-button__link:hover,
.elementor-button:hover,
.ast-custom-button:hover {
  background: var(--cta-bg-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(61, 168, 200, 0.55) !important;
}

/* Titres Astra → Orbitron pour H1, Manrope pour le reste */
.entry-title,
.site-title,
h1, .ast-h1 {
  font-family: var(--font-display) !important;
  letter-spacing: var(--ls-display) !important;
  text-transform: uppercase;
  color: var(--color-primary);
}
h2, h3, h4, h5, h6 {
  font-family: var(--font-text) !important;
  color: var(--color-primary);
}

/* Liens */
a { color: var(--link); }
a:hover { color: var(--link-hover); }

/* Hero shortcode */
.se-hero {
  position: relative;
  min-height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  padding: 0 8vw;
  color: #fff;
}
.se-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(10,16,48,0) 50%, rgba(10,16,48,0.65) 100%);
  pointer-events: none;
}
.se-hero-inner {
  position: relative; z-index: 1;
  max-width: 560px;
}
.se-hero-eyebrow {
  display: inline-block;
  border: 1px solid var(--color-droplet);
  color: var(--color-droplet);
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px;
  margin-bottom: 20px;
}
.se-hero-title {
  font-family: var(--font-display) !important;
  font-size: clamp(40px, 5.5vw, 76px) !important;
  line-height: 1.02; letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff !important;
  margin: 0 0 20px;
}
.se-hero-desc {
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.55;
  color: rgba(255,255,255,0.82);
  margin: 0 0 30px;
}
.se-hero-cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--color-droplet);
  color: #fff !important;
  padding: 14px 28px;
  border-radius: var(--radius-md);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(61,168,200,0.4);
  transition: transform 0.15s, box-shadow 0.15s;
}
.se-hero-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(61,168,200,0.55);
  color: #fff !important;
}
