h1 {
  font-family: var(--ff-head);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 800;
  color: var(--sama-blue-dark);
  margin-bottom: 1rem;
}:root {--primary-dark: #003785; --primary-color: #1465BB; --secondary-color: #2196F3; --light-blue: #81C9FA; --light-tint: #B9FFFF; --background-color: #f7fafd; --text-color: #1a273b; --white: #ffffff; --light-grey: #e9eff6; --border-color: #d2e1f2; --shadow-sm: 0 2px 4px rgba(0, 55, 133, 0.05); --shadow-md: 0 6px 16px rgba(0, 55, 133, 0.08); --spacing-unit: 1rem; --ff-head: 'Sora', 'Segoe UI', Arial, sans-serif; --ff-body: 'DM Sans', 'Segoe UI', Arial, sans-serif; --sama-blue-dark: #003785; --sama-blue: #1465BB; --sama-orange: #E8622A; --sama-orange-mid: #FFAD5B; --sama-orange-light: #FFDBB8; --sama-border: #d2e1f2; --sama-warm-bg: #FEF3E6; --sama-muted: #ffffff; --sama-card-bg: #ffffff; --sama-text: #1F3250; --ease-out: cubic-bezier(0.22, 1, 0.36, 1); --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); --success-color: #1465BB; --warning-color: #2196F3; --danger-color: #003785; } * {box-sizing: border-box; margin: 0; padding: 0; } body {font-family: var(--ff-body), 'Segoe UI', system-ui, -apple-system, sans-serif; line-height: 1.65; color: var(--text-color); background-color: var(--primary-color); background-image: linear-gradient(180deg, #022052 0%, var(--primary-color) 22%, #071fa9c7 45%, #2196f3 72%, #2196f3 70%); background-attachment: scroll; display: flex; flex-direction: column; min-height: 100vh; } 
h1,
h2,
h3,
h4,
h5,
h6 {margin-bottom: 1rem; font-weight: 700; color: var(--primary-dark); line-height: 1.3; } p {color: var(--sama-muted); font-size: 1rem; line-height: 1.7; margin-bottom: 1rem; } a {color: var(--primary-color); text-decoration: none; transition: color 0.2s ease; } a:hover {color: var(--primary-dark); } .container {max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-unit); } .main-header {background: rgba(255, 255, 255, 0) !important; background-color: transparent !important; box-shadow: none; padding: 1rem 0; border-bottom: none; position: fixed; top: 0; left: 0; right: 0; z-index: 100; transition: transform 0.3s ease-out, background 0.3s ease-out; } .main-header .container {background: transparent !important; } .main-header.hidden {transform: translateY(-100%); } .main-header.hero-visible .main-nav a {color: white; } .main-header:not(.hero-visible) .main-nav a {color: white; } .main-header:not(.hero-visible) {background: rgba(255, 255, 255, 0) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 2px 20px rgba(0, 55, 133, 0.12); } .main-header+main {padding-top: 90px; } .main-header .container {display: flex; justify-content: space-between; align-items: center; } .main-header.header-centered .container {justify-content: center; } .main-footer {background: #00378578; color: white; padding: 40px 0 20px; font-family: var(--ff-body); position: relative; overflow: hidden; margin-top: 30px; } .footer-inner-container {max-width: 1200px; margin: 0 auto; padding: 0 20px; } .footer-top-section {display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2rem; margin-bottom: 2rem; } .footer-nav-col {display: flex; flex-direction: column; gap: 1rem; } .footer-identity-col {grid-column: span 1; } .footer-logo-img {width: 200px; height: auto; display: block; margin-bottom: 0.75rem; } .footer-brand-identity {display: flex; align-items: center; gap: 12px; margin-bottom: 1rem; } .footer-logo-square {width: 48px; height: 48px; background: var(--sama-orange); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: var(--ff-head); font-size: 1.8rem; font-weight: 800; color: white; flex-shrink: 0; } .footer-logo-name {font-family: var(--ff-head); font-size: 1.8rem; font-weight: 800; color: white; letter-spacing: 0.01em; margin: 0; } .footer-brand-description {font-size: 0.9rem; line-height: 1.6; color: rgba(255, 255, 255, 0.7); margin: 0; max-width: 280px; } .footer-section-title {font-family: var(--ff-head); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255, 255, 255, 0.8); margin-bottom: 0.75rem; padding-bottom: 8px; border-bottom: 1px solid var(--sama-border); } .footer-links-group {display: flex; flex-direction: column; gap: 0.5rem; } .footer-link {color: rgba(255, 255, 255, 0.85); text-decoration: none; font-size: 0.95rem; transition: color 0.2s; } .footer-link:hover {color: var(--sama-orange); } .footer-contact-details {display: flex; flex-direction: column; gap: 0.75rem; } .footer-contact-item {display: flex; align-items: center; gap: 10px; font-size: 0.95rem; color: rgba(255, 255, 255, 0.85); } .footer-contact-icon {width: 18px; height: 18px; flex-shrink: 0; color: rgba(255, 255, 255, 0.85); } .footer-social-row {display: flex; gap: 10px; } .footer-social-box {width: 40px; height: 40px; border-radius: 8px; background: rgba(255, 255, 255, 0.1); display: flex; align-items: center; justify-content: center; color: white; text-decoration: none; transition: background 0.2s, transform 0.2s; } .footer-social-box:hover {background: var(--sama-orange); transform: translateY(-2px); } .footer-social-box svg {width: 18px; height: 18px; } .footer-middle-divider {height: 1px; background: rgba(255, 255, 255, 0.15); margin: 2rem 0; } .footer-bottom-section {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .footer-copyright {font-size: 0.85rem; color: rgba(255, 255, 255, 0.6); } .footer-bottom-right {display: flex; gap: 1.5rem; flex-wrap: wrap; } .footer-bottom-link {color: rgba(255, 255, 255, 0.7); text-decoration: none; font-size: 0.85rem; transition: color 0.2s; } .footer-bottom-link:hover {color: var(--sama-orange); } @media (max-width: 768px) {.footer-top-section {grid-template-columns: 1fr; } .footer-bottom-section {flex-direction: column; text-align: center; } .footer-bottom-right {flex-direction: column; gap: 1rem; } } .logo a {font-size: 1.5rem; font-weight: 500; text-decoration: none; color: var(--primary-dark); display: flex; align-items: center; } .logo img {height: 60px; width: auto; display: block; } .main-nav ul {display: flex; list-style: none; gap: 1.75rem; align-items: center; } .main-nav a {text-decoration: none; color: var(--text-color); font-weight: 600; padding: 0.25rem 0; border-bottom: 2px solid transparent; } .main-nav a:hover,
.main-nav a.active {color: var(--primary-color); border-bottom-color: var(--primary-color); } .nav-toggle {display: none; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; background: transparent; border: none; cursor: pointer; padding: 0; flex-shrink: 0; } .nav-toggle span {display: block; width: 100%; height: 2px; background: #fff; border-radius: 2px; transition: transform 0.3s ease, opacity 0.3s ease; transform-origin: center; } .main-header:not(.hero-visible) .nav-toggle span {background: var(--primary-dark); } .nav-toggle.open span:nth-child(1) {transform: translateY(9px) rotate(45deg); } .nav-toggle.open span:nth-child(2) {opacity: 0; transform: scaleX(0); } .nav-toggle.open span:nth-child(3) {transform: translateY(-9px) rotate(-45deg); } .btn {display: inline-block; padding: 0.65rem 1.35rem; border-radius: 6px; text-decoration: none; font-weight: 700; cursor: pointer; border: none; transition: all 0.2s ease-in-out; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .btn:hover {transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .btn:active {transform: translateY(0); } .btn-sm {padding: 0.35rem 0.75rem; font-size: 0.875rem; } .btn-primary {background-color: var(--primary-color); color: var(--white); box-shadow: 0 4px 10px rgba(20, 101, 187, 0.2); } .btn-primary:hover {background-color: var(--primary-dark); color: var(--white); } .btn-secondary {background-color: var(--secondary-color); color: var(--white); box-shadow: 0 4px 10px rgba(33, 150, 243, 0.2); } .btn-secondary:hover {background-color: var(--primary-color); color: var(--white); } .btn-danger {background-color: var(--primary-dark); color: var(--white); } .btn-danger:hover {background-color: #002252; color: var(--white); } .btn-warning {background-color: var(--light-blue); color: var(--primary-dark); } .btn-warning:hover {background-color: var(--secondary-color); color: var(--white); } .card-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2rem; } .card {border: 1px solid var(--border-color); border-radius: 10px; background: var(--white); overflow: hidden; transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.3s; box-shadow: var(--shadow-sm); } .card:hover {transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: var(--secondary-color); } .card-body {padding: 2rem; } .card-title {margin-top: 0.5rem; margin-bottom: 1rem; font-size: 1.35rem; color: var(--primary-dark); } .badge {background: var(--light-grey); padding: 0.35rem 0.65rem; border-radius: 4px; font-size: 0.85rem; font-weight: 600; color: var(--primary-color); border: 1px solid var(--border-color); } .badge-lg {background: var(--primary-color); color: var(--white); padding: 0.35rem 0.85rem; border-radius: 6px; font-size: 0.95rem; font-weight: 700; border: none; } .hero {background: transparent; padding: 5rem 0; text-align: center; margin-bottom: 3rem; position: relative; overflow: hidden; } #hero-background {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; } .hero .container {position: relative; z-index: 1; } .hero-split {display: flex; align-items: center; gap: 3rem; } .hero-logo-col {flex: 0 0 auto; display: flex; align-items: center; justify-content: center; align-self: stretch; } .hero-logo-img {height: 100%; width: auto; max-height: 380px; min-height: 260px; object-fit: contain; filter: drop-shadow(0 8px 32px rgba(0,55,133,0.25)); } .hero-text-col {flex: 1; } .hero h1 {margin-bottom: 1.5rem; font-size: 2.75rem; font-weight: 800; color: var(--primary-dark); text-align: left; } 
.hero p {font-size: 1.15rem; max-width: 700px; margin: 0 0 2.5rem; color: #4a5a70; text-align: left; } .hero-actions {margin-top: 2rem; display: flex; justify-content: flex-start; gap: 1.25rem; } .features {display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-bottom: 4rem; } .feature-card {background: var(--white); padding: 2.5rem 2rem; border-radius: 10px; box-shadow: var(--shadow-sm); text-align: center; border-top: 4px solid var(--secondary-color); transition: transform 0.2s, box-shadow 0.2s; } .feature-card:hover {transform: translateY(-3px); box-shadow: var(--shadow-md); } .feature-card h2 {color: var(--primary-dark); margin-bottom: 1.2rem; font-size: 1.5rem; } .news-item {display: flex; gap: 2.5rem; margin-bottom: 3rem; background: var(--white); padding: 1.5rem; border-radius: 10px; border: 1px solid var(--border-color); box-shadow: var(--shadow-sm); } .news-image img {border-radius: 8px; object-fit: cover; } .read-more {font-weight: 700; color: var(--primary-color); text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; } .read-more:hover {color: var(--primary-dark); } .detail-view .grid-layout {display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; margin-top: 3rem; } .detail-view .detail-section {margin-bottom: 2rem; } .detail-view .detail-section h3 {margin-bottom: 1rem; color: var(--primary-dark); } .detail-view .detail-section p,
.detail-view .detail-section li {line-height: 1.7; margin-bottom: 0.9rem; } .sidebar .info-box {background: var(--white); padding: 2rem; border-radius: 10px; border: 1px solid var(--border-color); box-shadow: var(--shadow-sm); } .info-box ul {list-style: none; padding: 0; margin-bottom: 1.5rem; } .info-box li {margin-bottom: 0.75rem; display: flex; flex-direction: column; } .form-group {margin-bottom: 1.5rem; } input[type="text"],
input[type="email"],
select,
textarea {width: 100%; padding: 0.8rem 1rem; border: 1px solid var(--border-color); border-radius: 6px; font-family: inherit; background-color: var(--white); color: var(--text-color); transition: border-color 0.2s, box-shadow 0.2s; } input[type="text"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {border-color: var(--secondary-color); box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.15); outline: none; } .contact-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; } .admin-container {max-width: 1200px; margin: 0 auto; padding: 3rem var(--spacing-unit); } .admin-header {display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.5rem; border-bottom: 2px solid var(--border-color); padding-bottom: 1.25rem; } .section-header {display: flex; justify-content: space-between; align-items: center; margin-top: 4rem; margin-bottom: 1.5rem; } table {width: 100%; border-collapse: separate; border-spacing: 0; background: var(--white); box-shadow: var(--shadow-sm); border-radius: 10px; overflow: hidden; border: 1px solid var(--border-color); margin-bottom: 2.5rem; } th,
td {padding: 1.2rem; text-align: left; border-bottom: 1px solid var(--light-grey); } th {background: var(--light-grey); color: var(--primary-dark); font-weight: 700; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.5px; } tr:last-child td {border-bottom: none; } tr:hover td {background-color: rgba(232, 241, 251, 0.4); } .text-center {text-align: center; } .mt-4 {margin-top: 2rem; } .mb-2 {margin-bottom: 0.75rem; } .mb-4 {margin-bottom: 2rem; } .p-4 {padding: 2rem; } .full-width {display: block; text-align: center; width: 100%; } #map {background: var(--light-grey); border-radius: 8px; height: 250px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--border-color); color: var(--primary-color); font-weight: 600; } .skip-link {position: absolute; top: -60px; left: 0; background: var(--primary-dark); color: var(--white); padding: 10px 20px; z-index: 999; font-weight: 700; border-radius: 0 0 6px 0; transition: top 0.2s; box-shadow: var(--shadow-md); } .skip-link:focus {top: 0; } @media (max-width: 768px) {.main-header .container {flex-direction: row; justify-content: space-between; align-items: center; gap: 0; text-align: left; } .nav-toggle {display: flex; } .main-nav {display: none; position: fixed; top: 65px; left: 0; right: 0; background: rgba(0, 28, 80, 0.97); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); padding: 0.5rem 0 1.25rem; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25); z-index: 99; border-top: 1px solid rgba(255, 255, 255, 0.1); } .main-nav.open {display: block; } .main-nav ul {flex-direction: column; align-items: stretch; gap: 0; padding: 0 1.25rem; } .main-nav li {border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .main-nav li:last-child {border-bottom: none; padding-top: 0.5rem; } .main-nav a {display: block; padding: 0.875rem 0; color: rgba(255, 255, 255, 0.9) !important; border-bottom: none; font-size: 1rem; } .main-nav a:hover,
.main-nav a.active {color: var(--sama-orange) !important; border-bottom: none; } .main-nav .btn-primary {display: inline-block; margin-top: 0.25rem; width: auto; } .news-item {flex-direction: column; gap: 1.5rem; } .detail-view .grid-layout,
.contact-grid {grid-template-columns: 1fr; gap: 2rem; } } 
.partners-logos-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1.5rem; align-items: center; justify-items: center; padding: 2rem 0; }
.partner-logo-item {display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; padding: 1.5rem; background-color: var(--white); border: 1px solid var(--border-color); border-radius: 12px; text-decoration: none; transition: all 0.3s ease; box-shadow: var(--shadow-sm); } .partner-logo-item img {max-width: 85%; max-height: 85%; width: auto; height: auto; object-fit: contain; filter: grayscale(100%) brightness(0.95); transition: filter 0.3s ease; } .partner-logo-item:hover {border-color: var(--secondary-color); box-shadow: 0 4px 12px rgba(20, 101, 187, 0.15); } .partner-logo-item:hover img {filter: grayscale(0%) brightness(1); } @media (max-width: 768px) {.partners-logos-grid {grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 1rem; padding: 1.5rem 0; } .partner-logo-item {height: 100px; padding: 1rem; } .partner-logo-item img {filter: grayscale(0%) brightness(1); } } h1 {font-family: var(--ff-head); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800; color: var(--sama-blue-dark); margin-bottom: 1rem; } .lead {font-size: 1.1rem; color: var(--sama-muted); line-height: 1.7; max-width: 800px; margin-bottom: 1.5rem; } .Block {color: white; } .internal-nav {display: flex; gap: 1rem; justify-content: center; margin: 2rem 0; flex-wrap: wrap; } .internal-nav a {padding: 0.6rem 1.2rem; background-color: var(--sama-warm-bg); border: 1px solid var(--sama-border); border-radius: 50px; text-decoration: none; color: var(--sama-text); font-weight: 500; transition: all 0.3s; font-size: 0.9rem; } .internal-nav a:hover {background-color: var(--sama-orange-light); color: var(--sama-orange); border-color: var(--sama-orange); } .split-layout {display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: start; } @media (max-width: 768px) {.split-layout {grid-template-columns: 1fr; } } .stats-box {background: var(--sama-blue); color: white; padding: 2rem; border-radius: 12px; text-align: center; box-shadow: var(--shadow-sm); } .stats-box h3 {font-family: var(--ff-head); font-size: 2.5rem; font-weight: 800; margin-bottom: 0.5rem; } .stats-box p {margin-bottom: 1.5rem; opacity: 0.9; font-size: 0.95rem; } .team-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.5rem; } .team-card {background: white; border: 1px solid var(--sama-border); border-radius: 12px; padding: 1.5rem; text-align: center; box-shadow: var(--shadow-sm); transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out); } .team-card:hover {transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1); } .team-card h3 {font-family: var(--ff-head); color: var(--sama-blue-dark); font-size: 1.1rem; margin-bottom: 0.5rem; } .team-card .role {display: block; font-weight: 600; color: var(--sama-orange); margin-bottom: 0.5rem; font-size: 0.9rem; } .team-card .diploma {font-size: 0.85rem; color: var(--sama-muted); } .pedagogy-features {display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 2rem; } .pedagogy-item {background: white; padding: 1.5rem; border-radius: 12px; border: 1px solid var(--sama-border); border-left: 4px solid var(--sama-blue); box-shadow: var(--shadow-sm); transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out); } .pedagogy-item:hover {transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1); } .pedagogy-item h3 {font-family: var(--ff-head); display: flex; align-items: center; gap: 0.5rem; color: var(--sama-blue-dark); font-size: 1.1rem; margin-bottom: 0.75rem; } .pedagogy-item p {font-size: 0.95rem; color: var(--sama-muted); } .section-association,
.section-equipe,
.section-demarche {background: white; border-radius: 12px; padding: 2rem; border: 1px solid var(--sama-border); box-shadow: var(--shadow-sm); } .section-equipe {background: var(--sama-warm-bg); } ul {margin-bottom: 1.5rem; padding-left: 1.5rem; } ul li {margin-bottom: 0.75rem; color: var(--sama-muted); line-height: 1.6; } ul li strong {color: var(--sama-blue-dark); } .scroll-reveal {opacity: 0; transform: translateY(24px); transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out); } .scroll-reveal.visible {opacity: 1; transform: translateY(0); } @media (max-width: 768px) {.hero {padding: 48px 0; } .hero-split {flex-direction: column; gap: 1.5rem; text-align: center; } .hero-logo-img {width: 140px; } 
.hero h1,
.hero p {text-align: center; } .hero h1 {font-size: 1.8rem; } .hero-actions {flex-direction: column; align-items: center; } .footer-top-section {grid-template-columns: 1fr; } .footer-bottom-section {flex-direction: column; text-align: center; } } .formations-hero {padding: 80px 0 90px; position: relative; overflow: hidden; } .formations-hero::before {content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); } .formations-hero .container {position: relative; z-index: 1; } .hero-eyebrow {display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .15); border: 1px solid rgba(255, 255, 255, .25); color: #fff; font-family: var(--ff-body); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 5px 14px; border-radius: 50px; margin-bottom: 20px; backdrop-filter: blur(4px); } .hero-eyebrow span {width: 6px; height: 6px; background: var(--sama-orange-mid); border-radius: 50%; display: inline-block; } .formations-hero h1 {font-family: var(--ff-head); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; color: #fff; line-height: 1.15; max-width: 680px; margin-bottom: 18px; } .formations-hero h1 em {font-style: normal; color: var(--sama-orange-mid); } .formations-hero p {color: rgba(255, 255, 255, .85); font-size: 1.05rem; max-width: 560px; margin-bottom: 32px; line-height: 1.7; } .hero-stats {display: flex; gap: 32px; flex-wrap: wrap; } .hero-stat {color: #fff; } .hero-stat strong {display: block; font-family: var(--ff-head); font-size: 1.8rem; font-weight: 800; line-height: 1; color: var(--sama-orange-mid); } .hero-stat span {font-size: .82rem; opacity: .8; text-transform: uppercase; letter-spacing: .05em; } .page-container {max-width: 1200px; margin: 0 auto; padding: 0 20px; } 
.axis-nav-wrap {background: #fff; border-bottom: 1px solid var(--sama-border); position: sticky; top: 0; z-index: 90; } .axis-nav {display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; } .axis-nav::-webkit-scrollbar {display: none; } .axis-btn {flex-shrink: 0; padding: 18px 24px; font-family: var(--ff-body); font-size: .88rem; font-weight: 600; color: #d46a3b; background: none; border: none; border-bottom: 3px solid transparent; cursor: pointer; transition: color .2s, border-color .2s; white-space: nowrap; } 
.axis-btn:hover {color: var(--sama-blue); }
.axis-btn.active {color: var(--sama-orange); border-bottom-color: var(--sama-orange); }
.section-block {padding: 64px 0 16px; } 
.section-label {display: inline-flex; align-items: center; gap: 8px; font-size: 1.5rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: white; margin-bottom: 10px; } 
.section-label::before {content: ''; display: inline-block; width: 20px; height: 2px; background:white; border-radius: 2px; }
.section-block h2 {font-family: var(--ff-head); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; color: #d46a3b; margin-bottom: 10px; } .section-block p.lead {color: var(--sama-muted); max-width: 640px; font-size: 1rem; margin-bottom: 36px; } .formations-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; margin-bottom: 56px; } .formation-card {background: var(--sama-card-bg); border: 1px solid var(--sama-border); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 14px; cursor: pointer; transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .3s; position: relative; overflow: hidden; opacity: 0; transform: translateY(28px); } 
.formation-card.visible {opacity: 1; transform: translateY(0); transition: opacity .5s var(--ease-out), transform .5s var(--ease-out), box-shadow .3s, border-color .3s; } .formation-card::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--card-accent, var(--sama-blue)), var(--card-accent2, var(--sama-orange))); border-radius: 16px 16px 0 0; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease-out); } .formation-card:hover {transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .1); border-color: transparent; } 
.formation-card:hover::before {transform: scaleX(1); } 
.card-code-badge {display: inline-flex; align-items: center; font-family: var(--ff-head); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; background: var(--badge-bg, #eef4ff00); color: var(--badge-color, var(--sama-blue)); align-self: flex-start; } 
.card-title {font-family: var(--ff-head); font-size: 1.05rem; font-weight: 700; color: #fff; line-height: 1.3; } 
.card-accroche {font-size: .88rem; color: var(--sama-muted); line-height: 1.55; flex-grow: 1; } 
.card-meta {display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid var(--sama-border); padding-top: 14px; } 
.card-meta-pill {display: inline-flex; align-items: center; gap: 5px; font-size: .76rem; color: var(--sama-muted); background: transparent; border: 1px solid var(--sama-border); padding: 3px 10px; border-radius: 10px; } 
.card-meta-pill svg {width: 12px; height: 12px; flex-shrink: 0; } 
.card-cta {display: inline-flex; align-items: center; gap: 6px; font-family: var(--ff-body); font-size: .82rem; font-weight: 600; color: var(--sama-orange); background: var(--sama-orange-light); border: none; padding: 8px 16px; border-radius: 8px; cursor: pointer; transition: background .2s, gap .2s; align-self: flex-start; margin-top: 4px; } .card-cta svg {width: 14px; height: 14px; transition: transform .2s; } .formation-card:hover .card-cta {background: #FFE3CC; } .formation-card:hover .card-cta svg {transform: translateX(3px); } .card-financeurs {border-top: 1px solid var(--sama-border); padding-top: 12px; margin-top: 12px; } .financeurs-label {font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sama-muted); margin-bottom: 8px; display: block; } .financeurs-logos {display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .financeur-logo {display: flex; align-items: center; justify-content: center; height: 36px; padding: 0 8px; background: var(--sama-warm-bg); border: 1px solid var(--sama-border); border-radius: 6px; flex-shrink: 0; color: inherit; text-decoration: none; } .financeur-logo-link {display: inline-flex; } .financeur-logo img {max-height: 28px; max-width: 100px; object-fit: contain; } .financeurs-link-placeholder {margin-top: 10px; font-size: .85rem; color: var(--sama-muted); } .simple-card {background: #fff; border: 1px solid var(--sama-border); border-radius: 12px; padding: 20px 24px; display: flex; align-items: flex-start; gap: 14px; opacity: 0; transform: translateX(-16px); } .simple-card.visible {opacity: 1; transform: translateX(0); transition: opacity .4s var(--ease-out), transform .4s var(--ease-out); } .simple-card-icon {width: 40px; height: 40px; border-radius: 10px; background: var(--sama-orange-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .simple-card-icon svg {width: 20px; height: 20px; color: var(--sama-orange); } .simple-card h4 {font-family: var(--ff-head); font-size: .95rem; font-weight: 700; color: var(--sama-blue-dark); margin-bottom: 4px; } .simple-card p {font-size: .84rem; color: var(--sama-muted); margin: 0; } .simple-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-bottom: 56px; }
.modal-overlay {position: fixed; inset: 0; background: rgba(10, 20, 40, .55); backdrop-filter: blur(6px); z-index: 1000; display: flex; align-items: flex-end; justify-content: flex-end; opacity: 0; pointer-events: none; transition: opacity .3s ease; } .modal-overlay.open {opacity: 1; pointer-events: all; } .modal-panel {width: min(680px, 100vw); height: 100vh; background: #96b2dab0; overflow-y: auto; transform: translateX(100%); transition: transform .4s var(--ease-out); display: flex; flex-direction: column; } .modal-overlay.open .modal-panel {transform: translateX(0); } 
.modal-header {position: sticky; top: 0; background: #fff; border-bottom: 1px solid var(--sama-border); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; z-index: 10; } .modal-header-left {display: flex; align-items: center; gap: 12px; } .modal-code {font-family: var(--ff-head); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 12px; border-radius: 6px; background: var(--badge-bg, #EEF4FF); color: var(--badge-color, var(--sama-blue)); } .modal-title-head {font-family: var(--ff-head); font-size: 1.05rem; font-weight: 700; color: var(--sama-blue-dark); } .modal-close {width: 36px; height: 36px; border-radius: 8px; background: var(--sama-warm-bg); border: 1px solid var(--sama-border); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; flex-shrink: 0; } .modal-close:hover {background: #FFE8D8; } .modal-close svg {width: 18px; height: 18px; } .modal-body {padding: 28px; flex-grow: 1; } 
.modal-hero-band {background: linear-gradient(135deg, var(--sama-blue-dark), var(--sama-blue)); border-radius: 14px; padding: 24px; margin-bottom: 28px; position: relative; overflow: hidden; } .modal-hero-band::after {content: attr(data-code); position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-family: var(--ff-head); font-size: 5rem; font-weight: 800; color: rgba(255, 255, 255, .07); letter-spacing: -.02em; pointer-events: none; } 
.modal-hero-band h2 {font-family: var(--ff-head); font-size: 1.3rem; font-weight: 800; color: #fff; margin-bottom: 8px; } .modal-hero-band p {color: rgba(255, 255, 255, .8); font-size: .9rem; line-height: 1.6; margin: 0; max-width: 480px; } .modal-info-bar {display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; } .info-chip {display: flex; align-items: center; gap: 7px; padding: 8px 14px; background: var(--sama-warm-bg); border: 1px solid var(--sama-border); border-radius: 10px; font-size: .8rem; } .info-chip-icon {width: 28px; height: 28px; border-radius: 6px; background: var(--sama-orange-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .info-chip-icon svg {width: 14px; height: 14px; color: var(--sama-orange); } .info-chip-text strong {display: block; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #e8622a; margin-bottom: 1px; } .info-chip-text span {color: var(--sama-text); font-weight: 500; } .modal-section {margin-bottom: 24px; } .modal-section-title {display: flex; align-items: center; gap: 8px; font-family: var(--ff-head); font-size: .82rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--sama-orange); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--sama-border); } .modal-section-title svg {width: 16px; height: 16px; } 
.modal-list {list-style: none; display: flex; flex-direction: column; gap: 8px; } 
.modal-list li {display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: white; line-height: 1.55; } .modal-list li::before {content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--sama-orange); flex-shrink: 0; margin-top: 8px; } .modal-text {font-size: .9rem; color: #ffffff; line-height: 1.65; } .contact-box {background: var(--sama-orange-light); border: 1px solid #FFCFAD; border-radius: 12px; padding: 18px 20px; margin-top: 8px; } .contact-box p {font-size: .85rem; color: #7A3A1A; margin: 0; line-height: 1.6; } .contact-box p+p {margin-top: 4px; } .modal-cta-row {padding: 20px 28px; border-top: 1px solid var(--sama-border); background: var(--sama-warm-bg); display: flex; gap: 12px; flex-wrap: wrap; } .btn-modal-primary {flex: 1; min-width: 160px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--sama-orange); color: #fff; font-family: var(--ff-body); font-weight: 600; font-size: .9rem; padding: 12px 20px; border-radius: 10px; border: none; cursor: pointer; text-decoration: none; transition: background .2s, transform .2s; } .btn-modal-primary:hover {background: #C9501D; transform: translateY(-1px); } .btn-modal-secondary {display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--sama-blue); font-family: var(--ff-body); font-weight: 600; font-size: .9rem; padding: 12px 20px; border-radius: 10px; border: 1px solid var(--sama-border); cursor: pointer; text-decoration: none; transition: background .2s; } .btn-modal-secondary:hover {background: var(--sama-warm-bg); } .tag-list {display: flex; flex-wrap: wrap; gap: 6px; } .tag {font-size: .78rem; padding: 4px 10px; border-radius: 6px; background: #EEF4FF; color: var(--sama-blue); font-weight: 500; } .tag.free {background: #E8F8EE; color: #1A6E38; font-weight: 700; } @media (max-width: 640px) {.formations-hero {padding: 48px 0 56px; } .modal-panel {width: 100vw; } .modal-body {padding: 20px 16px; } .modal-cta-row {padding: 16px; } .formations-grid {grid-template-columns: 1fr; } } .news-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 56px; } .news-card {background: var(--sama-card-bg); border: 1px solid var(--sama-border); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 18px; transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), opacity .4s ease, transform .4s ease; opacity: 0; transform: translateY(28px); } .news-card.visible {opacity: 1; transform: translateY(0); } .news-card:hover {transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 0, 0, .08); } 
.news-card time {display: block; color: var(--sama-muted); font-size: .88rem; } .news-card h3 {font-family: var(--ff-head); font-size: 1.15rem; margin: 0; color: #d46a3b; } .news-card p {color: var(--sama-muted); margin: 0; line-height: 1.7; } .news-card .news-cta {align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; background: var(--sama-blue); color: #fff; padding: 12px 18px; border-radius: 12px; text-decoration: none; font-weight: 700; transition: transform .2s, background .2s; } .news-card .news-cta:hover {transform: translateY(-1px); background: var(--sama-blue-dark); } .legal-content {max-width: 800px; margin: 4rem auto; padding: 0 1.5rem; } .legal-content h1 {color: var(--primary-color); margin-bottom: 2rem; font-size: 2.5rem; } .legal-section {margin-bottom: 2.5rem; } .legal-section h2 {font-size: 1.2rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 1rem; color: var(--text-color); border-bottom: 2px solid var(--light-grey); padding-bottom: 0.5rem; } .legal-section p {color: #555; line-height: 1.8; } .hero {background: transparent; min-height: calc(100vh + 90px); margin-top: -170px; padding-top: calc(90px + 5rem); display: flex; align-items: center; color: white; position: relative; overflow: hidden; } .hero::before {content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); } .hero .container {position: relative; z-index: 1; } .hero h1 {font-family: var(--ff-head); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800; line-height: 1.2; margin-bottom: 20px; max-width: 800px; color: #fff; } .hero h2, .hero h3, .hero h4, .hero h5, .hero h6 {color: #fff; } .hero p {color: #ffffff; font-size: 1.1rem; line-height: 1.7; max-width: 700px; margin-bottom: 32px; opacity: 0.9; } .presentation {color: rgba(255, 255, 255, 0.9); font-size: 1.1rem; line-height: 1.7; max-width: 700px; margin-bottom: 32px; opacity: 0.9; } .hero-actions {display: flex; gap: 16px; flex-wrap: wrap; } .hero .btn-primary {background: var(--sama-orange); color: #fff; box-shadow: 0 4px 16px rgba(232, 98, 42, 0.4); } .hero .btn-primary:hover {background: #C9501D; color: #fff; } .hero .btn-secondary {background: rgba(255, 255, 255, 0.12); border: 1.5px solid rgba(255, 255, 255, 0.45); color: #fff; backdrop-filter: blur(6px); box-shadow: none; } .hero .btn-secondary:hover {background: rgba(255, 255, 255, 0.22); color: #fff; } .legitimite-grid {display: flex; gap: 1rem; margin-top: 1.5rem; padding-bottom: 1.5rem; flex-wrap: wrap; } .legitimite-item {background: #dcdcdc; color: #333; border-radius: 8px; padding: 1.5rem 1rem; font-size: 0.9rem; box-shadow: var(--shadow-sm); flex: 1 1 15%; min-height: 180px; transition: all 0.4s var(--ease-spring); cursor: pointer; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; text-align: center; } .legitimite-item strong {color: #5bc5db; display: block; margin-bottom: 0.5rem; font-size: 1.05rem; transition: color 0.4s ease; } .legitimite-item:hover {transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); color: white; } .legitimite-item:hover strong {color: white; } .legitimite-item:nth-child(1):hover {background: var(--sama-orange); } .legitimite-item:nth-child(2):hover {background: var(--sama-blue); } .legitimite-item:nth-child(3):hover {background: var(--sama-orange-mid); } .legitimite-item:nth-child(4):hover {background: var(--sama-blue-dark); } .legitimite-item:nth-child(5):hover {background: var(--sama-orange); } .legitimite-item:nth-child(6):hover {background: var(--sama-blue); } .domaines-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; } .domaine-card {background: var(--sama-card-bg); border: 1px solid var(--sama-border); border-radius: 12px; padding: 1.5rem; text-align: center; border-top: 4px solid var(--sama-blue); transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out); } .domaine-card:hover {transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1); } .domaine-card .icon {font-size: 2rem; margin-bottom: 0.75rem; } .domaine-card h3 {color: var(--sama-blue-dark); font-size: 1.05rem; margin-bottom: 0.5rem; } .domaine-card p {font-size: 0.9rem; color: var(--sama-muted); } .chiffres-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; } 
.chiffre-card {background: #1465BB70; color: white; border-radius: 12px; padding: 1.5rem; text-align: center; } 
.chiffre-card .chiffre {font-family: var(--ff-head); font-size: 2rem; font-weight: 800; display: block; margin-bottom: 0.4rem; } 
.chiffre-card p {margin: 0; opacity: 0.9; font-size: 0.95rem; color: rgba(255, 255, 255, 0.85); } 
.cta-section {background: #fef3e647; border: 1px solid var(--sama-border); border-radius: 12px; padding: 2rem; text-align: center; margin: 2rem 0; } .cta-section h2 {color: white; margin-bottom: 0.75rem; } .cta-section p {margin-bottom: 1.25rem; max-width: 600px; margin-left: auto; margin-right: auto; } .formations-intro-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1.5rem 0; } 
.formation-tag {background: white; border: 1px solid var(--sama-border); border-radius: 8px; padding: 0.6rem 1rem; font-size: 0.9rem; font-weight: 500; text-align: center; box-shadow: var(--shadow-sm); transition: transform 0.2s, box-shadow 0.2s; } 
.formation-tag:hover {transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .section-legitimite {background: var(--sama-warm-bg); padding: 2rem; border-radius: 12px; margin-top: 2rem; border: 1px solid var(--sama-border); } 
.axis-panel {display: none; } .axis-panel.active {display: block; animation: axisFadeIn 0.35s var(--ease-out); } @keyframes axisFadeIn {from {opacity: 0; transform: translateY(10px); } to {opacity: 1; transform: translateY(0); } } 
.info-accordion-section {max-width: 960px; margin-left: auto; margin-right: auto; } .info-bar-container {background: var(--white); border: 1px solid var(--border-color); border-left: 4px solid var(--sama-blue); border-radius: 12px; margin-bottom: 0.75rem; box-shadow: var(--shadow-sm); overflow: hidden; transition: box-shadow 0.3s var(--ease-out), transform 0.2s var(--ease-out); } .info-bar-container:hover {box-shadow: var(--shadow-md); transform: translateX(2px); } .info-bar-title {padding: 1.2rem 1.5rem; font-family: var(--ff-head); font-size: 1.1rem; font-weight: 700; color: var(--sama-blue-dark); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; transition: background 0.25s ease, color 0.25s ease; user-select: none; } .info-bar-title::-webkit-details-marker {display: none; } .info-bar-title::after {content: '+'; font-size: 1.6rem; font-weight: 400; line-height: 1; flex-shrink: 0; margin-left: 1rem; transition: transform 0.3s var(--ease-out), color 0.25s; } .info-bar-container[open] .info-bar-title::after {transform: rotate(45deg); } .info-bar-content {padding: 1.5rem; animation: accordionOpen 0.3s var(--ease-out); } @keyframes accordionOpen {from {opacity: 0; transform: translateY(-8px); } to {opacity: 1; transform: translateY(0); } } .ibc-blue {border-left-color: #1465BB; background: #F0F6FF; } .ibc-blue .info-bar-title {color: #b0c9e3; } .ibc-blue .info-bar-title::after {color: #1465BB; } .ibc-blue .info-bar-title:hover {background: #ddeaff00; } .ibc-blue[open] .info-bar-title {background: #1465BB; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.2); } .ibc-blue[open] .info-bar-title::after {color: #fff; } .ibc-blue[open] .info-bar-content {background: #1465BB; } .ibc-navy {border-left-color: #003785; background: #EBF0FA; } .ibc-navy .info-bar-title {color: #6094f4; } .ibc-navy .info-bar-title::after {color: #d5e0f5; } .ibc-navy .info-bar-title:hover {background: #d5e0f5; } .ibc-navy[open] .info-bar-title {background: #003785; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.2); } .ibc-navy[open] .info-bar-title::after {color: #fff; } .ibc-navy[open] .info-bar-content {background: #003785; } .ibc-purple {border-left-color: #7B1FA2; background: #F7F0FD; } .ibc-purple 
.info-bar-title {color: #cb78fe; } 
.ibc-purple .info-bar-title::after {color: #7b1fa27c; } 
.ibc-purple .info-bar-title:hover {background: #eeddfb77; }
.ibc-purple[open] .info-bar-title {background: #691b9a7b; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.2); } .ibc-purple[open] .info-bar-title::after {color: #fff; } .ibc-purple[open] 
.info-bar-content {background: #691b9a80; } 
.ibc-red {border-left-color: #C0392B; background: #fef3f27d; } 
.ibc-red .info-bar-title {color: #B71C1C; } 
.ibc-red .info-bar-title::after {color: #c03a2b; } 
.ibc-red .info-bar-title:hover {background: #fde2e07c; } 
.ibc-red[open] .info-bar-title {background: #b71c1c87; color: #ffffff7d; border-bottom: 1px solid rgba(255,255,255,0.2); }
.ibc-red[open] .info-bar-title::after {color: #fff; } .ibc-red[open] .info-bar-content {background: #b71c1c8b; } 
.ibc-green {border-left-color: #2e7d3284; background: #F1FAF2; } 
.ibc-green .info-bar-title {color: #71bb58; } 
.ibc-green .info-bar-title::after {color: #2E7D32; } 
.ibc-green .info-bar-title:hover {background: #dcf5df; } 
.ibc-green[open] .info-bar-title {background: #1b5e1f96; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.2); } .ibc-green[open] .info-bar-title::after {color: #fff; } .ibc-green[open] .info-bar-content {background: #1b5e1f8c; } .ibc-orange {border-left-color: #E8622A; background: #FFF5F0; } .ibc-orange .info-bar-title {color: #C04A0A; } .ibc-orange .info-bar-title::after {color: #E8622A; } .ibc-orange .info-bar-title:hover {background: #ffe6d8; } .ibc-orange[open] .info-bar-title {background: #D4500A; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.2); } 
.ibc-orange[open] .info-bar-title::after {color: #fff; } .ibc-orange[open] .info-bar-content {background: #D4500A; } main > section:not(.hero):not(.formations-hero) {background: rgba(255, 255, 255, 0); } .formation-card,
.news-card,
.simple-card,
.feature-card,
.card,
.team-card,
.domaine-card,
.pedagogy-item,
.legitimite-item {background:#374C7EC4; } .cta-section {background: (#374c7ec4) !important;}

/* ── SLIDE TABS NAV ──────────────────────────────────────────────────────── */
.main-nav ul {
  position: relative !important;
  display: flex !important;
  list-style: none !important;
  gap: 0 !important;
  align-items: center !important;
  background: transparent !important;
  border-radius: 9999px !important;
  border: 2px solid rgba(255,255,255,.18) !important;
  padding: 4px !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}
.main-nav li:not(.nav-cursor) {
  position: relative;
  z-index: 10;
}
.main-nav a,
.main-nav .btn.btn-primary {
  display: block !important;
  padding: 8px 20px !important;
  font-family: var(--ff-body) !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: #fff !important;
  text-decoration: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: none !important;
}
.main-nav a:hover,
.main-nav a.active,
.main-nav .btn.btn-primary:hover {
  color: #fff !important;
  border-bottom: none !important;
  background: none !important;
  transform: none !important;
  box-shadow: none !important;
}
.nav-cursor {
  position: absolute !important;
  z-index: 0 !important;
  height: calc(100% - 8px) !important;
  top: 4px !important;
  background: #1465BB70 !important;
  border-radius: 9999px !important;
  pointer-events: none !important;
  list-style: none !important;
  box-shadow: 0 0 12px rgba(20,101,187,.55), 0 0 28px rgba(20,101,187,.3) !important;
  transition: left .28s cubic-bezier(.22,1,.36,1),
              width .28s cubic-bezier(.22,1,.36,1),
              opacity .15s !important;
}
@media (max-width: 768px) {
  .nav-cursor { display: none !important; }
  .main-nav ul {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 1.25rem !important;
  }
  .main-nav li:not(.nav-cursor) { z-index: auto; }
  .main-nav a { color: rgba(255,255,255,.9) !important; }
  .main-nav .btn.btn-primary {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: 6px !important;
  }
}

/* ── HOVER ICONS — effet "allume" #1465BB70 ──────────────────────────────── */

/* Icônes circulaires dans les cartes (formations.html) */
.simple-card-icon {
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.simple-card:hover .simple-card-icon {
  background: #1465BB70 !important;
  box-shadow: 0 0 14px rgba(20,101,187,.65), 0 0 30px rgba(20,101,187,.3);
  transform: scale(1.12);
}
.simple-card-icon svg {
  transition: stroke 0.25s ease, color 0.25s ease;
}
.simple-card:hover .simple-card-icon svg {
  stroke: #fff;
  color: #fff;
}

/* Cartes chiffres (index.html) */
.chiffre-card {
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.chiffre-card:hover {
  box-shadow: 0 0 20px rgba(20,101,187,.7), 0 0 44px rgba(20,101,187,.3);
  transform: translateY(-4px) scale(1.03);
}

/* Icônes réseaux sociaux footer */
.footer-social-box {
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}
.footer-social-box:hover {
  background: #1465BB70 !important;
  box-shadow: 0 0 14px rgba(20,101,187,.65), 0 0 28px rgba(20,101,187,.3) !important;
  transform: translateY(-3px) scale(1.08) !important;
}

/* Icônes contact footer */
.footer-contact-item {
  transition: color 0.2s ease;
}
.footer-contact-item:hover .footer-contact-icon {
  color: #1465BB !important;
  filter: drop-shadow(0 0 5px rgba(20,101,187,.55));
}

/* Icônes emoji features (index.html) */
.icon {
  transition: transform 0.25s ease, filter 0.25s ease;
}
.icon:hover,
*:hover > .icon {
  transform: scale(1.18) rotate(-5deg);
  filter: drop-shadow(0 0 8px rgba(20,101,187,.65));
}

/* ── COOKIE CONSENT BANNER ───────────────────────────────────────────────── */
#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(0, 28, 80, 0.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.25);
  padding: 1.25rem 1.5rem;
  transform: translateY(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
#cookie-banner.cookie-visible {
  transform: translateY(0);
}
.cookie-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.cookie-text {
  flex: 1;
  min-width: 260px;
}
.cookie-text strong {
  display: block;
  color: #fff;
  font-family: var(--ff-head);
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
.cookie-text p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.85rem;
  line-height: 1.6;
  margin: 0;
}
.cookie-text a {
  color: var(--sama-orange-mid);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie-text a:hover {
  color: #fff;
}
.cookie-actions {
  display: flex;
  gap: 0.75rem;
  flex-shrink: 0;
}
.cookie-btn {
  padding: 0.6rem 1.5rem;
  border-radius: 8px;
  font-family: var(--ff-body);
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  border: none;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}
.cookie-btn:hover {
  transform: translateY(-1px);
}
.cookie-btn-accept {
  background: var(--sama-orange);
  color: #fff;
  box-shadow: 0 4px 12px rgba(232, 98, 42, 0.35);
}
.cookie-btn-accept:hover {
  background: #C9501D;
  box-shadow: 0 6px 16px rgba(232, 98, 42, 0.45);
}
.cookie-btn-refuse {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.cookie-btn-refuse:hover {
  background: rgba(255, 255, 255, 0.18);
}
@media (max-width: 640px) {
  .cookie-content {
    flex-direction: column;
    gap: 1rem;
  }
  .cookie-actions {
    width: 100%;
  }
  .cookie-btn {
    flex: 1;
    text-align: center;
    padding: 0.65rem 1rem;
  }
}


/* ── News article detail layout ─────────────────────────────────── */
.news-detail h1 { margin-bottom: .25rem; }
.news-detail .date { margin-bottom: 1.5rem; color: var(--sama-muted, #666); }

.news-detail-body {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.news-detail-image {
  flex: 0 0 280px;
  max-width: 280px;
}
.news-detail-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  object-fit: cover;
}

.news-detail-text {
  flex: 1 1 0;
  min-width: 0;
  line-height: 1.75;
}

.news-detail-text--full {
  max-width: 760px;
}

@media (max-width: 640px) {
  .news-detail-body {
    flex-direction: column;
  }
  .news-detail-image {
    flex: none;
    max-width: 100%;
  }
}

/* ── News article detail — text color ───────────────────────────── */
.news-detail,
.news-detail h1,
.news-detail .date,
.news-detail-text,
.news-detail-body {
  color: #ffffff;
}

#partenaires-title {
  color: #d46a3b;
}

#soutiens-institutionnels-title,
#partenaires-locaux-title {
  color: #d46a3b;
}
