/*
Theme Name:   Hello Miséricorde Child
Theme URI:    https://serviteursdelamisericorde.fr
Description:  Child theme Hello Elementor pour Serviteurs de la Miséricorde — typographie, tokens de marque, SVG, et hooks ACF/CPT.
Author:       Serviteurs de la Miséricorde
Author URI:   https://serviteursdelamisericorde.fr
Template:     hello-elementor
Version:      0.1.0
Text Domain:  hello-misericorde-child
*/

/* ============ TOKENS DE MARQUE (fallback si Kit Elementor non chargé) ============ */
:root {
  --misericorde-grenat:  #5C0E1D;
  --misericorde-carmin:  #D80F2C;
  --misericorde-rouge:   #ED2F1A;
  --misericorde-orange:  #F26B2D;
  --misericorde-ocre:    #E6A52A;
  --misericorde-miel:    #F5C843;
  --misericorde-azur:    #7CA3E6;
  --misericorde-rose:    #FCE9EC;
  --misericorde-rose-2:  #F6D9DF;
  --misericorde-ivoire:  #FBF6EF;
  --misericorde-noir:    #14110F;
  --misericorde-gris:    #6B6258;
}

body { background: var(--misericorde-ivoire); color: var(--misericorde-noir); }

/* ============ CLASSES UTILITAIRES À POSER SUR LES CONTAINERS ELEMENTOR ============ */

/* Fond rose pastel avec grain (cf. .bg-rose du proto) */
.is-bg-rose {
  background-color: var(--misericorde-rose);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.36  0 0 0 0 0.06  0 0 0 0 0.11  0 0 0 0.07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-blend-mode: multiply;
}

/* Titre festival rotatif en Anton miel */
.is-festival-title {
  font-family: "Anton", "Geologica", sans-serif !important;
  color: var(--misericorde-miel) !important;
  line-height: .85 !important;
  letter-spacing: -.01em !important;
  font-weight: 400 !important;
  transform: rotate(-3deg);
  transform-origin: 0 100%;
}

/* Eyebrow (petite étiquette avec trait à gauche) */
.is-eyebrow {
  font-family: "Geologica", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  color: var(--misericorde-carmin) !important;
  display: inline-flex; align-items: center; gap: 10px;
}
.is-eyebrow::before { content: ""; width: 22px; height: 2px; background: currentColor; }

/* Sceau Hero (cercle conic-gradient avec citation au centre) */
.is-seal {
  position: relative; width: 168px; height: 168px; border-radius: 50%;
  background: conic-gradient(from 0deg,
    var(--misericorde-carmin),
    var(--misericorde-orange),
    var(--misericorde-miel),
    var(--misericorde-azur),
    var(--misericorde-grenat),
    var(--misericorde-carmin));
  padding: 4px; box-shadow: 0 18px 40px rgba(92,14,29,.18);
  transform: rotate(-8deg);
}
.is-seal > .is-seal-inner {
  width: 100%; height: 100%; border-radius: 50%; background: var(--misericorde-ivoire);
  display: grid; place-items: center; text-align: center;
  font-family: "Cormorant", Georgia, serif; font-weight: 700; font-size: 13px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--misericorde-grenat); line-height: 1.15;
}

/* Cadre rayons (sun-frame) en sur-couche d'une image */
.is-sun-frame { position: relative; }
.is-sun-frame::before {
  content: ""; position: absolute; inset: -8%; pointer-events: none; z-index: 1;
  background-image: var(--sun-frame-src); background-size: contain; background-repeat: no-repeat; background-position: center;
}
.is-sun-frame > * { position: relative; z-index: 2; }

/* Pattern de fond brush sur container */
.is-brush-bg { position: relative; isolation: isolate; }
.is-brush-bg::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: var(--brush-bg-src); background-size: cover; background-position: center;
  opacity: var(--brush-bg-opacity, 0.55);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, transparent 35%, black 70%);
          mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, transparent 35%, black 70%);
}
.is-brush-bg > .e-con-inner, .is-brush-bg > * { position: relative; z-index: 1; }

/* Icon Box "porte" — variante grenat (carte centrale) */
.is-porte-vivre {
  background: var(--misericorde-grenat) !important;
  color: #fff !important;
}
.is-porte-vivre .elementor-icon-box-title,
.is-porte-vivre .elementor-icon-box-title a { color: #fff !important; }
.is-porte-vivre .elementor-icon-box-description { color: rgba(255,255,255,.78) !important; }

/* Badge édition (Festival) */
.is-edition-badge {
  display: inline-block;
  background: var(--misericorde-miel); color: var(--misericorde-grenat);
  padding: 18px 24px; transform: rotate(-6deg);
  font-family: "Anton", "Geologica", sans-serif; font-size: 26px; letter-spacing: .02em; line-height: 1;
  box-shadow: 0 12px 24px rgba(0,0,0,.25);
}

/* Pull-quote du manifeste */
.is-pull-quote {
  margin: 48px auto 0 !important; max-width: 760px !important;
  padding: 28px 32px !important; border-left: 4px solid var(--misericorde-carmin) !important;
  background: rgba(255,255,255,.55) !important; border-radius: 4px !important;
}
.is-pull-quote blockquote, .is-pull-quote .elementor-blockquote {
  font-family: "Cormorant", Georgia, serif !important; font-style: italic;
  font-weight: 500 !important; font-size: clamp(22px, 2vw, 28px) !important;
  color: var(--misericorde-grenat) !important; line-height: 1.35 !important;
}
