/*
Theme Name: Cité de Refuge Zion — Astra Child
Theme URI: https://citederefugezion.org/
Description: Thème enfant Astra pour la Commission Cité de Refuge Zion. Design sur-mesure (bleu royal, cramoisi, Montserrat + Cormorant), rendu fidèle aux maquettes : accueil, à propos, enseignements, galerie, boutique, direct, contact, don, blog.
Author: Elimboo
Author URI: https://elimboo.com
Template: astra
Version: 1.0.0
Text Domain: crz
*/

/* ============================================================ *
 * Reset + base
 * ============================================================ */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;padding:0;background:#ffffff;color:#16203d;font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;}

/* Neutralise d'éventuels conteneurs Astra résiduels */
.crz-root{width:100%;overflow-x:hidden;}
/* Astra force la couleur des titres/citations : on rétablit l'héritage
   (les couleurs posées en style inline restent prioritaires). */
.crz-root h1,.crz-root h2,.crz-root h3,.crz-root h4,.crz-root h5,.crz-root h6{color:inherit;}
.crz-root blockquote{color:inherit;margin:0;padding:0;border:0;background:transparent;quotes:none;}

/* ============================================================ *
 * Animations
 * ============================================================ */
@keyframes crzPulse{0%{box-shadow:0 0 0 0 rgba(225,20,73,.55);}70%{box-shadow:0 0 0 12px rgba(225,20,73,0);}100%{box-shadow:0 0 0 0 rgba(225,20,73,0);}}
@keyframes crzFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes crzMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes crzRise{from{transform:translateY(26px);}to{transform:none;}}
[data-rise]{animation:crzRise .8s cubic-bezier(.2,.7,.2,1) both;}

/* ============================================================ *
 * Champs de formulaire
 * ============================================================ */
.crz-inp{font:inherit;color:#16203d;padding:.8em .95em;border:1.5px solid #e4e8f2;border-radius:10px;background:#fff;width:100%;transition:border-color .18s ease,box-shadow .18s ease;}
.crz-inp:focus{outline:none;border-color:#1e45a8;box-shadow:0 0 0 3px rgba(30,69,168,.15);}

a:focus-visible,button:focus-visible,.crz-inp:focus-visible{outline:3px solid #e11449;outline-offset:2px;}

/* ============================================================ *
 * Article (single) — typographie de contenu de marque
 * ============================================================ */
.crz-article{max-width:760px;margin:0 auto;font-size:1.12rem;line-height:1.8;color:#2c3658;}
.crz-article > *{margin:0 0 1.35rem;}
.crz-article > *:last-child{margin-bottom:0;}
.crz-article h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.2;color:#0b163a;letter-spacing:-.01em;margin:2.4rem 0 1rem;}
.crz-article h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.3rem;color:#16317a;margin:2rem 0 .8rem;}
.crz-article h4{font-weight:800;font-size:1.1rem;color:#16317a;margin:1.6rem 0 .6rem;}
.crz-article a{color:#e11449;text-decoration:underline;text-underline-offset:2px;font-weight:600;}
.crz-article a:hover{color:#b40d39;}
.crz-article strong,.crz-article b{color:#0b163a;font-weight:800;}
.crz-article blockquote{margin:1.9rem 0;padding:1.3rem 1.7rem;background:#f6f8fd;border-left:4px solid #e11449;border-radius:0 16px 16px 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;line-height:1.45;color:#16317a;}
.crz-article blockquote p{margin:0;}
.crz-article ul,.crz-article ol{padding-left:1.4rem;}
.crz-article li{margin:.45rem 0;}
.crz-article li::marker{color:#e11449;}
.crz-article img{border-radius:16px;height:auto;}
.crz-article figure{margin:1.9rem 0;}
.crz-article figcaption{font-size:.9rem;color:#5b6478;text-align:center;margin-top:.6rem;}
.crz-article hr{border:0;border-top:1px solid #e4e8f2;}

/* ============================================================ *
 * Navigation responsive
 * ============================================================ */
[data-nav-toggle]{display:none;}
@media (max-width:1100px){ [data-nav-wide]{display:none !important;} }
@media (max-width:900px){
  [data-nav-desktop]{display:none !important;}
  [data-nav-toggle]{display:inline-flex !important;}
  [data-hero-grid]{grid-template-columns:1fr !important;}
  [data-grid-2]{grid-template-columns:1fr !important;}
  [data-grid-3]{grid-template-columns:repeat(2,1fr) !important;}
  [data-grid-4]{grid-template-columns:repeat(2,1fr) !important;}
  [data-gallery]{grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:180px !important;}
  [data-gallery] > *{grid-column:auto !important;grid-row:auto !important;}
  [data-charte]{grid-template-columns:1fr !important;}
  [data-prog-feat]{grid-template-columns:1fr !important;}
  [data-prog]{grid-template-columns:1fr !important;}
  [data-feat]{grid-template-columns:1fr !important;}
  [data-shop]{grid-template-columns:repeat(2,1fr) !important;}
  [data-coords]{grid-template-columns:1fr 1fr !important;}
  [data-footer]{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:560px){
  [data-grid-3]{grid-template-columns:1fr !important;}
  [data-grid-4]{grid-template-columns:1fr 1fr !important;}
  [data-gallery]{grid-template-columns:1fr !important;}
  [data-shop]{grid-template-columns:1fr !important;}
  [data-coords]{grid-template-columns:1fr !important;}
  [data-amt]{grid-template-columns:1fr 1fr !important;}
  [data-footer]{grid-template-columns:1fr !important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;}
}
