/*
Theme Name: Academia Elegance
Theme URI: https://example.com/academia-elegance
Author: Code GPT
Author URI: https://example.com
Description: Thème WordPress moderne, aéré et élégant pour universités, écoles supérieures et Unités de Formation et de Recherche. Optimisé pour Elementor Pro, responsive, accessible, et prêt pour programmes, facultés, recherche, événements, actualités et profils académiques.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: academia-elegance
Tags: education, university, elementor, custom-logo, featured-images, translation-ready, wide-blocks
*/

:root {
  --ae-navy: #0b1736;
  --ae-blue: #1e4ed8;
  --ae-gold: #c89b3c;
  --ae-ink: #172033;
  --ae-muted: #667085;
  --ae-border: #e7eaf0;
  --ae-soft: #f6f8fc;
  --ae-white: #ffffff;
  --ae-radius: 22px;
  --ae-shadow: 0 20px 55px rgba(11, 23, 54, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ae-ink);
  background: var(--ae-white);
  line-height: 1.7;
}
a { color: var(--ae-blue); text-decoration: none; }
a:hover { color: var(--ae-gold); }
img { max-width: 100%; height: auto; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.screen-reader-text { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

.ae-topbar {
  background: var(--ae-navy);
  color: rgba(255,255,255,.88);
  font-size: 14px;
}
.ae-topbar .container {
  display:flex; justify-content:space-between; gap:20px; padding:9px 0;
}
.ae-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--ae-border);
}
.ae-nav { display:flex; align-items:center; justify-content:space-between; min-height:82px; gap:28px; }
.ae-brand { display:flex; align-items:center; gap:12px; font-weight:800; color:var(--ae-navy); letter-spacing:-.02em; }
.ae-brand img { max-height:52px; width:auto; }
.ae-menu { display:flex; align-items:center; gap:24px; list-style:none; margin:0; padding:0; }
.ae-menu a { color:var(--ae-ink); font-weight:650; font-size:15px; }
.ae-menu a:hover { color:var(--ae-blue); }
.ae-cta {
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px; border-radius:999px; background:var(--ae-navy);
  color:#fff; font-weight:750; box-shadow: var(--ae-shadow);
}
.ae-cta:hover { background:var(--ae-blue); color:#fff; }
.ae-hero {
  position:relative; overflow:hidden;
  background: radial-gradient(circle at 80% 10%, rgba(30,78,216,.16), transparent 34%),
              linear-gradient(135deg, #f8faff 0%, #eef3ff 48%, #fff 100%);
  padding:92px 0;
}
.ae-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:52px; align-items:center; }
.ae-eyebrow { color:var(--ae-gold); font-weight:800; text-transform:uppercase; letter-spacing:.16em; font-size:13px; }
.ae-hero h1, .ae-page-title h1 { font-size:clamp(42px, 6vw, 76px); line-height:.98; letter-spacing:-.06em; margin:16px 0 22px; color:var(--ae-navy); }
.ae-hero p { font-size:20px; color:var(--ae-muted); max-width:680px; }
.ae-card {
  background:#fff; border:1px solid var(--ae-border); border-radius:var(--ae-radius);
  padding:28px; box-shadow: var(--ae-shadow);
}
.ae-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; }
.ae-stat strong { display:block; font-size:32px; color:var(--ae-navy); letter-spacing:-.04em; }
.ae-section { padding:76px 0; }
.ae-section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:32px; }
.ae-section-title h2 { font-size:clamp(30px,4vw,48px); margin:0; color:var(--ae-navy); letter-spacing:-.04em; }
.ae-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ae-feature { transition:.22s ease; min-height:220px; }
.ae-feature:hover { transform:translateY(-4px); }
.ae-feature h3 { color:var(--ae-navy); font-size:22px; margin:14px 0 10px; }
.ae-feature p { color:var(--ae-muted); margin:0; }
.ae-page-title { background:var(--ae-soft); padding:70px 0; border-bottom:1px solid var(--ae-border); }
.ae-content { padding:70px 0; }
.ae-content main { max-width: 860px; }
.ae-post-list { display:grid; gap:24px; }
.ae-footer { background:var(--ae-navy); color:rgba(255,255,255,.78); padding:64px 0 28px; }
.ae-footer h2,.ae-footer h3 { color:#fff; }
.ae-footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:34px; }
.ae-footer a { color:rgba(255,255,255,.82); }
.ae-footer a:hover { color:#fff; }
.ae-copyright { border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding-top:22px; font-size:14px; }

.elementor-page .ae-content { padding: 0; }
.elementor-template-full-width .ae-content main,
.page-template-page-elementor-fullwidth .ae-content main { max-width:none; width:100%; }

@media (max-width: 900px) {
  .ae-hero-grid, .ae-grid, .ae-footer-grid { grid-template-columns:1fr; }
  .ae-stats { grid-template-columns:1fr; }
  .ae-menu { display:none; }
  .ae-topbar .container { flex-direction:column; gap:4px; }
  .ae-hero { padding:64px 0; }
}
