/*
Theme Name: SPARK Séminaires Paris 2026/2027
Theme URI: https://www.stk-spark.fr
Author: SPARK
Author URI: https://www.stk-spark.fr
Description: Thème WordPress premium, responsive et entièrement administrable pour SPARK — Séminaires Internationaux de Formation, Paris 2026/2027. Conçu pour un rendu digne des grandes écoles internationales et cabinets d'audit (Deloitte, EY, PwC, KPMG). Sans dépendance à Elementor.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: spark
*/

/* ==========================================================================
   1. VARIABLES DE MARQUE (surchargées dynamiquement en inline par le Customizer)
   ========================================================================== */
:root{
  --spark-navy:#2b2c5c;
  --spark-navy-dark:#191a38;
  --spark-royal:#565a92;
  --spark-royal-light:#7d80b8;
  --spark-gold:#9c3f74;
  --spark-gold-light:#c16b9c;
  --spark-white:#ffffff;
  --spark-gray:#f4f5fa;
  --spark-gray-dark:#8892a6;
  --spark-text:#14141c;
  --font-heading:'Playfair Display', Georgia, serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --radius:14px;
  --shadow-soft:0 10px 40px rgba(43,44,92,.12);
  --shadow-strong:0 20px 60px rgba(43,44,92,.28);
  --glass-bg:rgba(255,255,255,.08);
  --glass-border:rgba(255,255,255,.18);
}

/* ==========================================================================
   2. RESET
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--spark-text);
  background:var(--spark-white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin:0 0 .5em;color:var(--spark-navy);}
p{margin:0 0 1em;}
.container{max-width:1240px;margin:0 auto;padding:0 24px;}
.section{padding:100px 0;position:relative;}
.section-sm{padding:60px 0;}
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--spark-gold);font-weight:600;margin-bottom:16px;
}
.section-label::before{content:'';width:28px;height:2px;background:var(--spark-gold);display:inline-block;}
.section-title{font-size:clamp(28px,4vw,44px);margin-bottom:18px;}
.section-sub{max-width:680px;color:var(--spark-gray-dark);font-size:17px;margin-bottom:48px;}
.text-center{text-align:center;}
.mx-auto{margin-left:auto;margin-right:auto;}

/* Boutons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 34px;border-radius:100px;font-weight:600;font-size:15px;
  letter-spacing:.02em;border:2px solid transparent;transition:.35s cubic-bezier(.4,0,.2,1);
  cursor:pointer;
}
.btn-primary{background:linear-gradient(135deg,var(--spark-gold),var(--spark-gold-light));color:var(--spark-navy-dark);box-shadow:0 8px 24px rgba(201,162,75,.35);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(201,162,75,.5);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-3px);}
.btn-outline-navy{background:transparent;border-color:var(--spark-navy);color:var(--spark-navy);}
.btn-outline-navy:hover{background:var(--spark-navy);color:#fff;transform:translateY(-3px);}

/* Glassmorphism */
.glass{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-radius:var(--radius);
}

/* Cartes premium */
.card-premium{
  background:#fff;border-radius:var(--radius);padding:40px 32px;
  box-shadow:var(--shadow-soft);border:1px solid rgba(10,26,60,.06);
  transition:.4s cubic-bezier(.4,0,.2,1);
}
.card-premium:hover{transform:translateY(-8px);box-shadow:var(--shadow-strong);border-color:var(--spark-gold);}

/* Accessibilité */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--spark-navy);color:#fff;padding:12px 20px;z-index:10000;}
.skip-link:focus{left:16px;top:16px;}
:focus-visible{outline:3px solid var(--spark-gold);outline-offset:2px;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}

/* Utilitaires grille */
.grid{display:grid;gap:32px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:960px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

/* Note : l'opacité initiale des éléments [data-aos] est gérée par la
   feuille de style officielle d'AOS (chargée depuis le CDN). On ne duplique
   plus cette règle ici : si le CDN est bloqué ou lent, le contenu reste
   visible par défaut au lieu de disparaître définitivement. */
