/* Lionis Learning Center — charte graphique (accueil uniquement) */

.lp-body--home {
   --lionis-navy: #001b3d;
   --lionis-navy-deep: #05162e;
   --lionis-gold: #c5a059;
   --lionis-gold-bright: #d4a017;
   --lionis-cream: #f5f1e9;
   --lionis-cream-dark: #ebe5d8;
   --lionis-text: #0a1628;
   --lionis-muted: #5c6478;
   font-family: "Poppins", system-ui, sans-serif;
   background: var(--lionis-cream);
   color: var(--lionis-text);
}

.lp-body--home .lp-brand__text {
   display: flex;
   flex-direction: column;
   line-height: 1.1;
}

.lp-body--home .lp-brand__lionis {
   font-family: "Cinzel", "Times New Roman", serif;
   font-weight: 700;
   font-size: 1.05rem;
   letter-spacing: 0.12em;
   color: var(--lionis-navy);
}

.lp-body--home .lp-brand__sub {
   font-size: 0.62rem;
   font-weight: 600;
   letter-spacing: 0.22em;
   text-transform: uppercase;
   color: var(--lionis-gold);
}

.lp-body--home .lp-header {
   background: rgba(0, 27, 61, 0.97);
   border-bottom: 1px solid rgba(197, 160, 89, 0.25);
   box-shadow: 0 4px 24px rgba(5, 22, 46, 0.2);
}

.lp-body--home .lp-header .lp-brand__lionis {
   color: #fff;
}

.lp-body--home .lp-header .lp-brand__sub {
   color: var(--lionis-gold);
}

.lp-body--home .lp-nav a {
   color: rgba(255, 255, 255, 0.82);
   font-size: 0.88rem;
   letter-spacing: 0.02em;
}

.lp-body--home .lp-nav a:hover {
   color: var(--lionis-gold-bright);
}

.lp-body--home .lp-hero {
   background: var(--lionis-navy-deep);
   padding-top: clamp(3rem, 8vw, 5.5rem);
   padding-bottom: clamp(4rem, 10vw, 6rem);
}

.lp-body--home .lp-hero::before {
   background:
      radial-gradient(ellipse 55% 45% at 88% 15%, rgba(197, 160, 89, 0.18), transparent 55%),
      radial-gradient(ellipse 40% 35% at 5% 80%, rgba(197, 160, 89, 0.1), transparent 50%);
}

.lp-body--home .lp-hero::after {
   content: "";
   position: absolute;
   right: -8%;
   bottom: -15%;
   width: min(420px, 55vw);
   height: min(420px, 55vw);
   background: url("../images/logo_lionis.png") center / contain no-repeat;
   opacity: 0.06;
   pointer-events: none;
}

.lp-body--home .lp-hero__curve {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 48px;
   background: var(--lionis-cream);
   clip-path: ellipse(120% 100% at 50% 100%);
   z-index: 1;
}

.lp-body--home .lp-kicker {
   color: var(--lionis-gold);
   letter-spacing: 0.28em;
   font-size: 0.72rem;
   font-weight: 600;
   margin-bottom: 1rem;
}

.lp-body--home h1#lp-hero-title.lp-hero__title,
.lp-body--home section.lp-hero h1.lp-hero__title {
   font-family: "Cinzel", "Times New Roman", serif !important;
   font-weight: 700 !important;
   letter-spacing: 0.02em !important;
   line-height: 1.2 !important;
   color: #fff !important;
   -webkit-text-fill-color: #fff !important;
}

.lp-body--home .lp-hero__lead {
   color: rgba(255, 255, 255, 0.88);
}

.lp-body--home .lp-btn-ghost {
   border-color: var(--lionis-gold);
   color: var(--lionis-navy-deep) !important;
   background: var(--lionis-gold-bright);
   font-weight: 600;
   padding: 0.65rem 1.35rem;
   border-radius: 999px;
   border-width: 0;
   box-shadow: 0 4px 20px rgba(212, 160, 23, 0.35);
}

.lp-body--home .lp-btn-ghost:hover {
   background: #e8b830;
   color: var(--lionis-navy-deep) !important;
   transform: translateY(-1px);
}

.lp-body--home .lp-btn-outline-nav {
   display: inline-flex;
   align-items: center;
   padding: 0.45rem 1rem;
   border-radius: 999px;
   border: 1px solid var(--lionis-gold);
   color: var(--lionis-gold) !important;
   font-weight: 600;
   font-size: 0.85rem;
   text-decoration: none !important;
   transition: background 0.15s, color 0.15s;
}

.lp-body--home .lp-btn-outline-nav:hover {
   background: var(--lionis-gold);
   color: var(--lionis-navy) !important;
}

.lp-body--home .lp-hero .lp-btn-outline-nav {
   border-color: rgba(255, 255, 255, 0.45);
   color: #fff !important;
}

.lp-body--home .lp-hero .lp-btn-outline-nav:hover {
   background: rgba(255, 255, 255, 0.12);
   color: var(--lionis-gold-bright) !important;
}

.lp-body--home .lp-hero__panel {
   background: rgba(255, 255, 255, 0.06);
   border: 1px solid rgba(197, 160, 89, 0.35);
   border-radius: 20px;
}

.lp-body--home .lp-hero__panel h3 {
   color: var(--lionis-gold);
   letter-spacing: 0.06em;
   text-transform: uppercase;
   font-size: 0.78rem;
}

.lp-body--home .lp-hero__check {
   background: rgba(197, 160, 89, 0.25);
   color: var(--lionis-gold-bright);
   border-radius: 50%;
}

.lp-body--home .lp-stats {
   margin-top: -2.5rem;
}

.lp-body--home .lp-stat {
   border: 1px solid rgba(197, 160, 89, 0.35);
   border-radius: 16px;
   box-shadow: 0 8px 32px rgba(0, 27, 61, 0.08);
}

.lp-body--home .lp-stat strong {
   font-family: "Cinzel", serif;
   color: var(--lionis-navy);
   font-size: 1.5rem;
}

.lp-body--home .lp-divider {
   display: flex;
   align-items: center;
   gap: 1rem;
   max-width: 280px;
   margin: 0 auto 2rem;
   color: var(--lionis-gold);
}

.lp-body--home .lp-divider::before,
.lp-body--home .lp-divider::after {
   content: "";
   flex: 1;
   height: 1px;
   background: linear-gradient(90deg, transparent, var(--lionis-gold), transparent);
}

.lp-body--home .lp-divider__star {
   font-size: 0.65rem;
   opacity: 0.9;
}

.lp-body--home .lp-section__head h2 {
   font-family: "Cinzel", serif;
   font-weight: 700;
   color: var(--lionis-navy);
   letter-spacing: 0.02em;
}

.lp-body--home .lp-section--muted {
   background: var(--lionis-white);
   border-color: var(--lionis-cream-dark);
}

.lp-body--home .lp-service {
   border: 1px solid rgba(197, 160, 89, 0.2);
   border-radius: 18px;
   transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}

.lp-body--home .lp-service:hover {
   border-color: rgba(197, 160, 89, 0.5);
   box-shadow: 0 16px 40px rgba(0, 27, 61, 0.1);
}

.lp-body--home .lp-service__icon {
   background: linear-gradient(135deg, rgba(0, 27, 61, 0.08), rgba(197, 160, 89, 0.15));
   color: var(--lionis-navy);
   border: 1px solid rgba(197, 160, 89, 0.35);
}

.lp-body--home .lp-service h3 {
   font-family: "Cinzel", serif;
   font-weight: 600;
   color: var(--lionis-navy);
   font-size: 1rem;
}

.lp-body--home .lp-step::before {
   background: linear-gradient(135deg, var(--lionis-navy), var(--lionis-navy-deep));
   box-shadow: 0 4px 14px rgba(0, 27, 61, 0.35);
   border: 2px solid var(--lionis-gold);
}

.lp-body--home .lp-step h3 {
   font-family: "Cinzel", serif;
   color: var(--lionis-navy);
}

.lp-body--home .lp-bac-fr-home {
   background: linear-gradient(145deg, var(--lionis-navy-deep) 0%, var(--lionis-navy) 50%, #0a2848 100%);
}

.lp-body--home .lp-bac-fr-home__mesh {
   opacity: 0.35;
   background-image:
      radial-gradient(circle at 20% 30%, rgba(197, 160, 89, 0.15) 0%, transparent 42%),
      linear-gradient(rgba(197, 160, 89, 0.08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(197, 160, 89, 0.08) 1px, transparent 1px);
}

.lp-body--home .lp-bac-fr-home__eyebrow {
   color: var(--lionis-navy);
   background: rgba(197, 160, 89, 0.2);
   border-color: rgba(197, 160, 89, 0.45);
}

.lp-body--home .lp-bac-fr-home h2.lp-bac-fr-home__title {
   font-family: "Cinzel", serif !important;
   color: var(--lionis-navy) !important;
   -webkit-text-fill-color: var(--lionis-navy) !important;
}

.lp-body--home .lp-bac-fr-home__lead strong {
   color: var(--lionis-navy) !important;
   background: linear-gradient(transparent 62%, rgba(197, 160, 89, 0.4) 62%);
}

.lp-body--home .lp-bac-fr-home__chip {
   color: var(--lionis-navy);
   border-color: rgba(197, 160, 89, 0.5);
}

.lp-body--home .lp-bac-fr-home__btn {
   background: linear-gradient(135deg, var(--lionis-gold-bright), var(--lionis-gold));
   color: var(--lionis-navy-deep) !important;
   box-shadow: 0 6px 24px rgba(212, 160, 23, 0.4);
   border-radius: 999px;
}

.lp-body--home .lp-bac-fr-home__btn:hover {
   color: var(--lionis-navy-deep) !important;
   filter: brightness(1.08);
}

.lp-body--home .lp-bac-fr-home__card-accent {
   background: linear-gradient(180deg, var(--lionis-gold), var(--lionis-navy));
}

.lp-body--home .lp-bac-fr-home__bullet {
   background: var(--lionis-navy);
   color: var(--lionis-gold);
}

.lp-body--home .lp-portal-grid .ft-btn-add,
.lp-body--home .lp-portal-grid .btn.ft-btn-add {
   background: var(--lionis-navy) !important;
   border-color: var(--lionis-navy) !important;
   color: #fff !important;
   border-radius: 10px;
   font-weight: 600;
}

.lp-body--home .lp-portal-grid .ft-btn-add:hover,
.lp-body--home .lp-portal-grid .btn.ft-btn-add:hover {
   background: var(--lionis-navy-deep) !important;
   filter: brightness(1.05);
}

.lp-body--home .lp-portal-grid .home-card {
   border: 1px solid rgba(197, 160, 89, 0.25);
   border-radius: 16px;
   overflow: hidden;
}

.lp-body--home .lp-portal-grid .ft-toolbar__title {
   font-family: "Cinzel", serif;
   color: var(--lionis-navy) !important;
}

.lp-body--home .lp-footer {
   background: #fff;
   color: var(--lionis-muted);
   border-top: 3px solid var(--lionis-gold);
   padding: 0;
}

.lp-body--home .lp-footer__contact {
   max-width: 1120px;
   margin: 0 auto;
   padding: 2rem 1.25rem 1.25rem;
   display: grid;
   gap: 1.5rem;
}

@media (min-width: 768px) {
   .lp-body--home .lp-footer__contact {
      grid-template-columns: 1fr 1.4fr;
      align-items: center;
   }
}

.lp-body--home .lp-footer__brand-block {
   display: flex;
   align-items: center;
   gap: 0.85rem;
}

.lp-body--home .lp-footer__brand-block img {
   height: 3rem;
   width: auto;
}

.lp-body--home .lp-footer__brand-name {
   font-family: "Cinzel", serif;
   font-weight: 700;
   font-size: 1.1rem;
   color: var(--lionis-navy);
   letter-spacing: 0.06em;
}

.lp-body--home .lp-footer__brand-tag {
   font-size: 0.7rem;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--lionis-gold);
   font-weight: 600;
}

.lp-body--home .lp-footer__links {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem 1.75rem;
}

.lp-body--home .lp-footer__link-item {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   color: var(--lionis-navy);
   text-decoration: none !important;
   font-size: 0.9rem;
   font-weight: 500;
}

.lp-body--home .lp-footer__link-item .fa {
   width: 2rem;
   height: 2rem;
   border-radius: 50%;
   background: rgba(0, 27, 61, 0.08);
   color: var(--lionis-navy);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 0.85rem;
}

.lp-body--home .lp-footer__link-item:hover {
   color: var(--lionis-gold-bright);
}

.lp-body--home .lp-footer__bar {
   background: var(--lionis-cream);
   border-top: 1px solid var(--lionis-cream-dark);
   padding: 1rem 1.25rem;
}

.lp-body--home .lp-footer__inner {
   color: var(--lionis-muted);
}

.lp-body--home .lp-footer a {
   color: var(--lionis-navy);
   text-decoration: none;
}

.lp-body--home .lp-footer a:hover {
   color: var(--lionis-gold-bright);
}

/* Sous-pages (ex. inscription Bac français) — même charte que l'accueil */
.lp-body--home .lp-hero--sub {
   padding: clamp(2.25rem, 5vw, 3.5rem) 1.25rem clamp(3.5rem, 8vw, 5rem);
}

.lp-body--home .lp-hero--sub .lp-hero__inner {
   text-align: center;
}

.lp-body--home .lp-hero--sub .lp-hero__lead {
   margin-left: auto;
   margin-right: auto;
}

.lp-body--home .lp-hero__chips {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 0.5rem;
   margin-top: 1.25rem;
}

.lp-body--home .lp-hero__chip {
   display: inline-flex;
   align-items: center;
   gap: 0.35rem;
   font-size: 0.75rem;
   font-weight: 600;
   padding: 0.35rem 0.85rem;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(197, 160, 89, 0.45);
   color: #fff;
}

.lp-body--home .lp-bac-fr-inscription {
   max-width: 680px;
   margin: 0 auto;
   padding: 2rem 1.25rem 3rem;
}

.lp-body--home .lp-bac-fr-breadcrumb {
   font-size: 0.82rem;
   color: var(--lionis-muted);
   margin-bottom: 1rem;
}

.lp-body--home .lp-bac-fr-breadcrumb a {
   color: var(--lionis-navy) !important;
   font-weight: 600;
   text-decoration: none !important;
}

.lp-body--home .lp-bac-fr-breadcrumb a:hover {
   color: var(--lionis-gold-bright) !important;
}

.lp-body--home .lp-bac-fr-breadcrumb span[aria-hidden="true"] {
   margin: 0 0.35rem;
   opacity: 0.5;
   color: var(--lionis-gold);
}

.lp-body--home .lp-bac-fr-card {
   border-radius: 20px;
   box-shadow: 0 16px 48px rgba(0, 27, 61, 0.12);
   border: 1px solid rgba(197, 160, 89, 0.3);
   overflow: hidden;
   background: #fff;
}

.lp-body--home .lp-bac-fr-card .ft-toolbar {
   background: linear-gradient(135deg, var(--lionis-navy-deep) 0%, var(--lionis-navy) 100%);
   border-bottom: 3px solid var(--lionis-gold);
   padding: 1.35rem 1.5rem;
}

.lp-body--home .lp-bac-fr-card .ft-toolbar__title {
   font-family: "Cinzel", serif !important;
   font-size: 1.2rem !important;
   font-weight: 700 !important;
   color: #fff !important;
   text-transform: none !important;
   letter-spacing: 0.02em;
   margin: 0 0 0.5rem !important;
}

.lp-body--home .lp-bac-fr-card .ft-toolbar__hint {
   color: rgba(255, 255, 255, 0.88) !important;
   margin: 0 !important;
   font-size: 0.92rem;
   line-height: 1.55;
}

.lp-body--home .lp-bac-fr-card .ft-form-body {
   padding: 1.5rem 1.5rem 1.75rem;
}

.lp-body--home .lp-bac-fr-card label {
   font-weight: 600;
   font-size: 0.88rem;
   color: var(--lionis-navy);
}

.lp-body--home .lp-bac-fr-card .form-control:focus {
   border-color: var(--lionis-gold);
   box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.25);
}

.lp-body--home .lp-bac-fr-card .ft-btn-add,
.lp-body--home .lp-bac-fr-card #bf_submit {
   background: linear-gradient(135deg, var(--lionis-gold-bright), var(--lionis-gold)) !important;
   border: none !important;
   color: var(--lionis-navy-deep) !important;
   font-weight: 700;
   padding: 0.7rem 1.5rem;
   border-radius: 999px;
   box-shadow: 0 6px 24px rgba(212, 160, 23, 0.35);
}

.lp-body--home .lp-bac-fr-card .ft-btn-add:hover:not(:disabled),
.lp-body--home .lp-bac-fr-card #bf_submit:hover:not(:disabled) {
   filter: brightness(1.06);
   transform: translateY(-1px);
   color: var(--lionis-navy-deep) !important;
}
