/*
Theme Name: Akyri School
Theme URI: https://example.com/akyri
Author: Akyri
Description: Thème WordPress moderne pour établissements scolaires, avec tableau de bord et modules locaux de base. Akyri Hub complète l'offre avec les fonctions SaaS.
Version: 0.4.2
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: akyri-school
License: GPL-2.0-or-later
*/
:root{--ak-primary:#1457c5;--ak-ink:#172033;--ak-muted:#64748b;--ak-bg:#f4f7fb;--ak-card:#fff;--ak-border:#e4eaf2;--ak-radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--ak-bg);color:var(--ak-ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--ak-primary);text-decoration:none}a:hover{text-decoration:underline}.ak-site-header{background:#fff;border-bottom:1px solid var(--ak-border)}.ak-header-inner,.ak-container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.ak-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.ak-brand{font-weight:800;font-size:1.3rem;color:var(--ak-ink)}.ak-brand span{color:var(--ak-primary)}.ak-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.ak-main{padding:32px 0 56px}.ak-hero{background:linear-gradient(135deg,#123e91,#2876e8);color:#fff;border-radius:24px;padding:clamp(24px,5vw,48px);margin-bottom:24px}.ak-hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.12;margin:0 0 12px}.ak-hero p{max-width:680px;color:#e5efff}.ak-button,.button-primary{display:inline-block;border:0;border-radius:10px;background:var(--ak-primary);color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}.ak-hero .ak-button{background:#fff;color:#1249a4}.ak-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ak-card{background:var(--ak-card);border:1px solid var(--ak-border);border-radius:var(--ak-radius);padding:20px;box-shadow:0 5px 22px #1b3b6410}.ak-stat{font-size:2rem;font-weight:800;line-height:1.2}.ak-muted{color:var(--ak-muted)}.ak-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}.ak-columns{display:grid;grid-template-columns:2fr 1fr;gap:18px}.ak-table{width:100%;border-collapse:collapse}.ak-table th,.ak-table td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--ak-border)}.ak-table th{color:var(--ak-muted);font-size:.85rem}.ak-form label{display:block;font-weight:650;margin:12px 0 5px}.ak-form input,.ak-form select,.ak-form textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.ak-notice{padding:12px 14px;border-radius:10px;background:#e9f7ef;color:#17643a;margin:12px 0}.ak-notice.error{background:#fff0f0;color:#9b1c1c}.ak-footer{border-top:1px solid var(--ak-border);padding:24px 0;color:var(--ak-muted);background:#fff}.ak-content{background:#fff;border:1px solid var(--ak-border);border-radius:var(--ak-radius);padding:clamp(18px,4vw,32px)}@media(max-width:900px){.ak-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ak-columns{grid-template-columns:1fr}}@media(max-width:600px){.ak-header-inner{align-items:flex-start;flex-direction:column}.ak-nav ul{gap:12px}.ak-grid{grid-template-columns:1fr 1fr}.ak-card{padding:15px}.ak-main{padding-top:20px}}@media(max-width:380px){.ak-grid{grid-template-columns:1fr}}

/* Akyri Hub portal styles (also usable inside Elementor Shortcode widgets). */
.akyri-login-box,.akyri-portal{max-width:1100px;margin:2rem auto;padding:clamp(1rem,3vw,2rem);border:1px solid #e2e8f0;border-radius:18px;background:#fff;color:#172033;box-sizing:border-box}
.akyri-login-box h2,.akyri-portal h2{margin-top:0}.akyri-login-box input[type=text],.akyri-login-box input[type=password]{width:100%;max-width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box}.akyri-login-box input[type=submit],.akyri-portal .button{background:#173f75;color:#fff;border:0;border-radius:8px;padding:.75rem 1rem;cursor:pointer;text-decoration:none}.akyri-portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.akyri-portal-card{border:1px solid #e2e8f0;border-radius:14px;padding:1.2rem;background:#f8fafc}.akyri-portal-number{font-size:2rem;font-weight:700;margin:.5rem 0}.akyri-user-bar{padding:.5rem 0}.elementor-widget-shortcode .akyri-login-box,.elementor-widget-shortcode .akyri-portal{width:100%}


/* Akyri 0.3.0 — six demo page designs */
.ak-demo{--demo-ink:#14213d;--demo-muted:#64748b;--demo-primary:#3157d5;--demo-accent:#c9f36a;color:var(--demo-ink);padding:24px 0 64px;overflow:hidden}.ak-demo *{box-sizing:border-box}.ak-demo-hero,.ak-demo-intro,.ak-demo-cards,.ak-demo-portal{width:min(1160px,calc(100% - 36px));margin-inline:auto}.ak-demo-hero{position:relative;min-height:430px;border-radius:30px;padding:clamp(30px,6vw,76px);display:flex;align-items:center;overflow:hidden;background:#101e3d;color:white;isolation:isolate}.ak-demo-hero-inner{position:relative;z-index:2;max-width:650px}.ak-demo-kicker{font-size:.74rem;letter-spacing:.16em;font-weight:800;color:var(--demo-primary);display:inline-block;margin-bottom:14px}.ak-demo-hero .ak-demo-kicker{color:var(--demo-accent)}.ak-demo-hero h1{font-size:clamp(2.5rem,6vw,5rem);letter-spacing:-.055em;line-height:.99;margin:0 0 22px;max-width:720px;color:inherit}.ak-demo-hero p{font-size:clamp(1rem,2vw,1.2rem);color:#d9e2f3;max-width:590px}.ak-demo-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.ak-demo-btn,.ak-demo-outline{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;font-weight:800;text-decoration:none!important;transition:transform .2s,box-shadow .2s}.ak-demo-btn{background:var(--demo-accent);color:#172033!important;box-shadow:0 10px 28px #0002}.ak-demo-btn:hover,.ak-demo-outline:hover{transform:translateY(-2px)}.ak-demo-link{color:white;font-weight:700;text-decoration:none}.ak-demo-proof{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:38px;color:#d9e2f3;font-size:.82rem}.ak-demo-orb{position:absolute;width:390px;height:390px;border-radius:50%;right:5%;top:50%;transform:translateY(-50%);display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#8ca6ff,#465ce0 48%,#202b6a 75%);box-shadow:0 0 0 35px #ffffff08,0 0 0 75px #ffffff05;z-index:1}.ak-demo-orb-inner{width:75%;height:75%;border:1px solid #ffffff6b;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;transform:rotate(-9deg)}.ak-demo-orb-inner span{font-size:.7rem;letter-spacing:.4em;margin-bottom:16px}.ak-demo-orb-inner strong{font-size:1.55rem;line-height:1.3;letter-spacing:.05em}.ak-demo-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:end;padding:68px 8px 30px}.ak-demo-intro h2,.ak-demo-portal h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.04em;margin:0}.ak-demo-intro>p{color:var(--demo-muted);font-size:1.04rem;margin:0}.ak-demo-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:16px}.ak-demo-card{background:#fff;border:1px solid #e3e9f2;border-radius:22px;padding:28px;box-shadow:0 12px 36px #203b6509;min-height:245px}.ak-demo-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf1ff;color:var(--demo-primary);font-size:1.4rem;font-weight:800;margin-bottom:24px}.ak-demo-card h3{font-size:1.2rem;margin:0 0 10px}.ak-demo-card p{color:var(--demo-muted);font-size:.95rem}.ak-demo-card>a{display:inline-flex;gap:18px;align-items:center;margin-top:12px;font-weight:800;color:var(--demo-primary)}.ak-demo-card-accent{background:var(--demo-primary);color:white;border-color:transparent}.ak-demo-card-accent p,.ak-demo-card-accent>a{color:#edf2ff}.ak-demo-card-accent .ak-demo-icon{background:#ffffff24;color:white}.ak-demo-portal{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:26px;border-radius:24px;padding:clamp(26px,4vw,48px);background:#eaf0ff}.ak-demo-portal>div:first-child{max-width:650px}.ak-demo-portal p{color:var(--demo-muted)}.ak-demo-portal-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:230px}.ak-demo-outline{border:1px solid #bdc9e8;color:var(--demo-ink)}
/* 1 Campus moderne */.akyri-template-01-campus-moderne .ak-demo{--demo-primary:#3157d5;--demo-accent:#c9f36a}.akyri-template-01-campus-moderne .ak-demo-hero{background:linear-gradient(120deg,#101e3d 0%,#1c3470 65%,#3157d5 100%)}
/* 2 Académique premium */.akyri-template-02-academique-premium .ak-demo{--demo-primary:#946d3b;--demo-accent:#e9d6a5}.akyri-template-02-academique-premium .ak-demo-hero{background:linear-gradient(125deg,#211d1a,#46372c 68%,#806747)}.akyri-template-02-academique-premium .ak-demo-orb{background:radial-gradient(circle at 35% 25%,#e8d6ad,#a98856 52%,#51402e 80%)}.akyri-template-02-academique-premium .ak-demo-card-accent{background:#4d3c2c}
/* 3 Communauté */.akyri-template-03-ecole-communautaire .ak-demo{--demo-primary:#0d8378;--demo-accent:#ffd27d}.akyri-template-03-ecole-communautaire .ak-demo-hero{background:linear-gradient(125deg,#073d3b,#087f78 70%,#2da99a)}.akyri-template-03-ecole-communautaire .ak-demo-orb{background:radial-gradient(circle at 30% 25%,#ffe0a1,#f2a45f 48%,#a94e44 80%)}.akyri-template-03-ecole-communautaire .ak-demo-card-accent{background:#087f78}
/* 4 Numérique */.akyri-template-04-ecole-numerique .ak-demo{--demo-primary:#6b45e8;--demo-accent:#83f2e0}.akyri-template-04-ecole-numerique .ak-demo-hero{background:linear-gradient(125deg,#17113c,#382278 65%,#6b45e8)}.akyri-template-04-ecole-numerique .ak-demo-orb{background:radial-gradient(circle at 30% 25%,#b2fff2,#6b45e8 50%,#271354 80%);border-radius:36% 64% 65% 35%/40% 35% 65% 60%}.akyri-template-04-ecole-numerique .ak-demo-card-accent{background:#382278}
/* 5 International */.akyri-template-05-international .ak-demo{--demo-primary:#1264a3;--demo-accent:#ffcb9b}.akyri-template-05-international .ak-demo-hero{background:linear-gradient(125deg,#082c50,#1264a3 66%,#42a7b5)}.akyri-template-05-international .ak-demo-orb{background:radial-gradient(circle at 30% 25%,#d7f5ff,#42a7b5 45%,#1264a3 80%)}.akyri-template-05-international .ak-demo-card-accent{background:#1264a3}
/* 6 Préscolaire */.akyri-template-06-prescolaire .ak-demo{--demo-primary:#bd4e78;--demo-accent:#ffe28c}.akyri-template-06-prescolaire .ak-demo-hero{background:linear-gradient(125deg,#5d315e,#a7477b 65%,#ed9a80);border-radius:42px}.akyri-template-06-prescolaire .ak-demo-orb{background:radial-gradient(circle at 30% 25%,#ffe4a4,#f5a07b 48%,#bd4e78 80%);border-radius:44% 56% 40% 60%/55% 35% 65% 45%}.akyri-template-06-prescolaire .ak-demo-card-accent{background:#a7477b}
@media(max-width:900px){.ak-demo-orb{opacity:.42;right:-100px}.ak-demo-hero-inner{max-width:700px}.ak-demo-intro{grid-template-columns:1fr;gap:12px;padding-top:48px}.ak-demo-cards{grid-template-columns:1fr 1fr}.ak-demo-card:last-child{grid-column:1/-1}.ak-demo-portal{align-items:flex-start;flex-direction:column}.ak-demo-portal-actions{width:100%;flex-direction:row;flex-wrap:wrap}}
@media(max-width:600px){.ak-demo-hero{min-height:450px;padding:28px 22px;border-radius:22px}.ak-demo-orb{width:230px;height:230px;right:-95px;top:78%;opacity:.25}.ak-demo-hero h1{font-size:2.6rem}.ak-demo-proof{flex-direction:column;gap:6px}.ak-demo-cards{grid-template-columns:1fr}.ak-demo-card:last-child{grid-column:auto}.ak-demo-card{min-height:auto}.ak-demo-intro{padding:42px 2px 20px}.ak-demo-portal-actions{flex-direction:column}.ak-demo-btn,.ak-demo-outline{width:100%;text-align:center}}

/* Akyri 0.4.2 widget areas */
.akyri-widget{margin:0 0 1.5rem;padding:1rem;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(20,40,80,.06)}
.akyri-widget .widget-title{margin-top:0;font-size:1.1rem}.akyri-footer-widgets{color:inherit}.akyri-footer-widgets a{color:inherit}
