.f2pr-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.f2pr-course-card{position:relative;background:#fff;border:1px solid rgba(10,29,49,.12);border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(10,29,49,.07);transition:.24s}.f2pr-course-card:hover{transform:translateY(-5px);box-shadow:0 30px 70px rgba(10,29,49,.13)}.f2pr-course-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#216eff,#e62e3d)}.f2pr-course-thumb{display:block;overflow:hidden;background:#0a1d31}.f2pr-course-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:.3s}.f2pr-course-card:hover .f2pr-course-thumb img{transform:scale(1.025)}.f2pr-course-body{padding:24px}.f2pr-eyebrow,.f2pr-lesson-status{display:inline-flex;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#226dec}.f2pr-course-card h3{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:10px 0 12px}.f2pr-course-card h3 a{text-decoration:none;color:#0a1d31}.f2pr-course-card p{color:#63717f;font-size:14px}.f2pr-card-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:20px}.f2pr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#0a1d31;color:#fff!important;border:0;border-radius:999px;padding:0 16px;text-decoration:none!important;font-weight:850;cursor:pointer;transition:.2s}.f2pr-btn:hover{background:#216eff;transform:translateY(-1px)}.f2pr-btn-secondary{background:#eef4ff;color:#0a1d31!important}.f2pr-btn-small{min-height:38px;padding:0 13px;font-size:13px}.f2pr-notice{padding:24px 26px;border:1px dashed rgba(10,29,49,.18);border-radius:22px;background:#f6f8fb;color:#5f6d7b}.f2pr-lessons{display:grid;gap:11px}.f2pr-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid rgba(10,29,49,.12);border-radius:18px;background:#fff;transition:.2s}.f2pr-lesson-row:hover{border-color:rgba(33,110,255,.35)}.f2pr-lesson-row strong{display:block;margin-top:5px}.f2pr-lock{font-size:20px}.f2pr-video{position:relative;aspect-ratio:16/9;background:#000;border-radius:24px;overflow:hidden;margin:0 0 28px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.f2pr-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.f2pr-book-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(10,29,49,.12);box-shadow:0 18px 48px rgba(10,29,49,.06)}.f2pr-book-form label{display:block;font-weight:800;margin-bottom:7px}.f2pr-book-form input{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:13px}.f2pr-book-note,.f2pr-book-form .f2pr-btn{grid-column:1/-1}.f2pr-book-note{font-size:14px;color:#526172}.f2pr-dashboard-head{margin-bottom:20px}.f2pr-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.f2pr-progress{height:9px;border-radius:999px;background:#e7edf4;overflow:hidden;margin:12px 0}.f2pr-progress span{display:block;height:100%;background:linear-gradient(90deg,#216eff,#49a0ff);border-radius:inherit}.f2pr-resources{margin:26px 0;padding:22px;border:1px solid rgba(10,29,49,.12);border-radius:20px;background:#f8fbff}.f2pr-resources h3{margin-top:0}.f2pr-resources ul{margin:0;padding-left:20px}.f2pr-completion{margin:24px 0}.f2pr-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.f2pr-contact-form label{display:block;font-weight:800;margin-bottom:6px}.f2pr-contact-form input,.f2pr-contact-form textarea{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:13px}.f2pr-contact-form .f2pr-full{grid-column:1/-1}.f2pr-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.f2pr-testimonial{position:relative;padding:28px;border:1px solid rgba(10,29,49,.1);border-radius:24px;background:#fff;box-shadow:0 16px 44px rgba(10,29,49,.05)}.f2pr-testimonial:before{content:"“";position:absolute;right:18px;top:2px;font-size:70px;line-height:1;color:rgba(33,110,255,.12);font-family:Georgia,serif}.f2pr-testimonial img{width:58px;height:58px;object-fit:cover;border-radius:50%}.f2pr-testimonial blockquote{margin:16px 0;color:#384858}.f2pr-admin-resource{padding:8px 0;border-bottom:1px solid #eee}@media(max-width:1050px){.f2pr-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.f2pr-testimonials{grid-template-columns:1fr 1fr}}@media(max-width:640px){.f2pr-course-grid,.f2pr-contact-form,.f2pr-testimonials{grid-template-columns:1fr}.f2pr-book-form{grid-template-columns:1fr}.f2pr-contact-form .f2pr-full{grid-column:auto}.f2pr-course-card h3{font-size:26px}}

/* Student portal / contract-complete account experience */
.f2pr-auth-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:34px;align-items:start}.f2pr-auth-intro{padding:34px;border-radius:28px;background:linear-gradient(145deg,#0a1d31,#123f69);color:#fff;position:sticky;top:110px}.f2pr-auth-intro h2{font-size:38px;line-height:1.05;margin:12px 0 14px}.f2pr-auth-intro p{color:rgba(255,255,255,.78)}.f2pr-auth-points{display:grid;gap:10px;margin-top:26px}.f2pr-auth-points span{padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06)}.f2pr-auth-form{padding:28px;border:1px solid rgba(10,29,49,.1);border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(10,29,49,.07)}.f2pr-auth-form .woocommerce h2{font-size:28px}.f2pr-auth-form .woocommerce form.login,.f2pr-auth-form .woocommerce form.register{border:0;padding:0;margin:0}.f2pr-auth-form .woocommerce-Input{min-height:48px;border:1px solid #ccd6e0;border-radius:13px;padding:10px 12px}.f2pr-auth-form .woocommerce-button{border-radius:999px!important;min-height:44px!important;background:#0a1d31!important;color:#fff!important;padding:0 20px!important}.f2pr-portal{display:grid;gap:24px}.f2pr-portal-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:28px;border-radius:28px;background:linear-gradient(135deg,#f5f9ff,#eef4ff);border:1px solid rgba(10,29,49,.08)}.f2pr-portal-head h2{font-size:42px;line-height:1.04;margin:7px 0 6px}.f2pr-portal-head p{margin:0;color:#607080}.f2pr-portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.f2pr-portal-stats>div{padding:20px;border:1px solid rgba(10,29,49,.1);border-radius:20px;background:#fff}.f2pr-portal-stats strong{display:block;font-size:24px;color:#0a1d31}.f2pr-portal-stats span{font-size:12px;color:#6a7784}.f2pr-portal-nav{display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid rgba(10,29,49,.08);border-radius:18px;background:#fff}.f2pr-portal-nav a{padding:11px 15px;border-radius:12px;text-decoration:none;color:#435264;font-weight:800}.f2pr-portal-nav a.is-active{background:#0a1d31;color:#fff}.f2pr-portal-panel{min-width:0}.f2pr-portal-title{margin-bottom:18px}.f2pr-portal-title h3{font-size:32px;margin:8px 0}.f2pr-portal-title p{margin:0;color:#667584}.f2pr-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.f2pr-portal-card{padding:26px;border:1px solid rgba(10,29,49,.1);border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(10,29,49,.05)}.f2pr-portal-card-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.f2pr-portal-card-head h3{margin:7px 0 0;font-size:25px}.f2pr-portal-card-head a{text-decoration:none;font-weight:800;color:#216eff}.f2pr-empty{padding:20px;border-radius:16px;background:#f7f9fc}.f2pr-mini-courses,.f2pr-mini-orders{display:grid;gap:10px}.f2pr-mini-course{display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:14px;border:1px solid rgba(10,29,49,.09);border-radius:15px;text-decoration:none;color:#0a1d31}.f2pr-mini-course span{font-size:12px;color:#6b7885}.f2pr-mini-course i{grid-column:1/-1;height:7px;background:#e5ebf2;border-radius:999px;overflow:hidden}.f2pr-mini-course i b{display:block;height:100%;background:linear-gradient(90deg,#216eff,#44a0ff)}.f2pr-mini-order{display:flex;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(10,29,49,.09);border-radius:15px;text-decoration:none;color:#0a1d31}.f2pr-mini-order span{display:grid}.f2pr-mini-order small{color:#71808f}.f2pr-booking-summary{display:grid;gap:3px;margin-top:18px;padding:14px;border-radius:15px;background:#f5f8fc}.f2pr-booking-summary small{color:#72808d}.f2pr-owned-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.f2pr-owned-course{display:grid;grid-template-columns:180px 1fr;min-width:0;border:1px solid rgba(10,29,49,.1);border-radius:24px;background:#fff;overflow:hidden}.f2pr-owned-course-media img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}.f2pr-owned-course-body{padding:24px}.f2pr-owned-course-body h4{font-size:27px;margin:8px 0}.f2pr-purchase-meta{font-size:12px;color:#71808d}.f2pr-order-table,.f2pr-booking-table{display:grid;overflow:hidden;border:1px solid rgba(10,29,49,.1);border-radius:20px;background:#fff}.f2pr-order-head,.f2pr-order-row{display:grid;grid-template-columns:.7fr .9fr 1.7fr 1.2fr 1fr 1fr .5fr;gap:12px;align-items:center;padding:13px 16px}.f2pr-order-head{background:#0a1d31;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.f2pr-order-row{border-top:1px solid rgba(10,29,49,.08);font-size:13px}.f2pr-order-row a{font-weight:800;color:#216eff}.f2pr-booking-head,.f2pr-booking-row{display:grid;grid-template-columns:1.5fr 1.4fr .7fr .9fr;gap:14px;align-items:center;padding:14px 16px}.f2pr-booking-head{background:#0a1d31;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}.f2pr-booking-row{border-top:1px solid rgba(10,29,49,.08)}.f2pr-booking-row>span:first-child{display:grid}.f2pr-booking-row small{color:#71808d}.f2pr-status{font-weight:800}.f2pr-status-confirmed,.f2pr-status-completed{color:#10824a}.f2pr-status-pending_confirmation{color:#a76b00}.f2pr-status-cancelled{color:#b52836}.f2pr-account-card{padding:26px;border:1px solid rgba(10,29,49,.1);border-radius:24px;background:#fff}.f2pr-account-card dl{display:grid;gap:8px;margin:0 0 20px}.f2pr-account-card dl div{display:grid;grid-template-columns:140px 1fr;padding:11px 0;border-bottom:1px solid rgba(10,29,49,.08)}.f2pr-account-card dt{font-weight:800}.f2pr-account-card dd{margin:0;color:#5f6e7d}.f2pr-booking-checkout-card{display:grid;gap:16px}.f2pr-booking-price{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:18px;background:#eef4ff}.f2pr-booking-price span{font-weight:800;color:#526171}.f2pr-booking-price strong{font-size:24px;color:#0a1d31}
@media(max-width:1000px){.f2pr-auth-shell{grid-template-columns:1fr}.f2pr-auth-intro{position:static}.f2pr-portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.f2pr-portal-grid{grid-template-columns:1fr}.f2pr-owned-courses{grid-template-columns:1fr}.f2pr-order-table{overflow-x:auto}.f2pr-order-head,.f2pr-order-row{min-width:840px}}
@media(max-width:700px){.f2pr-portal-head{align-items:flex-start;flex-direction:column}.f2pr-portal-head h2{font-size:34px}.f2pr-portal-stats{grid-template-columns:1fr 1fr}.f2pr-owned-course{grid-template-columns:1fr}.f2pr-owned-course-media img{min-height:180px;max-height:230px}.f2pr-booking-table{overflow-x:auto}.f2pr-booking-head,.f2pr-booking-row{min-width:660px}.f2pr-account-card dl div{grid-template-columns:1fr}.f2pr-auth-intro{padding:24px}.f2pr-auth-intro h2{font-size:32px}}

/* v1.8.0 purchase/booking readiness */
.f2pr-btn-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.f2pr-admin-price-link{background:#fff4e5!important;color:#7a3e00!important;border:1px solid #f2c27b!important}
.f2pr-booking-checkout-card.needs-price{border:1px solid #f0c36c}
.f2pr-booking-checkout-card button[disabled]{opacity:.55;cursor:not-allowed}
.f2pr-admin-config{margin:.75rem 0 0;font-size:.9rem}
.f2pr-admin-config a{font-weight:700;text-decoration:underline}

.f2pr-vdo-admin-badge{position:absolute;left:12px;bottom:12px;z-index:3;padding:7px 10px;background:rgba(4,18,34,.88);color:#fff;border:1px solid rgba(255,255,255,.18);font-size:11px;line-height:1.3;backdrop-filter:blur(8px)}.f2pr-vdo-admin-badge code{color:#9bc2ff}.f2pr-vdo-error{border-color:#f1b5b5!important;background:#fff7f7!important;color:#7b1d1d!important}

/* VdoCipher webcomponent playback */
.f2pr-video vdocipher-player{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;background:#000}


/* French2PR SiteKit v2.9.1 — desktop-only homepage hero overlap hotfix.
   Mobile/tablet layout below 1101px is intentionally untouched. */
@media (min-width:1101px){
  .f5-hero .f5-hero-grid{
    grid-template-columns:minmax(0,1.03fr) minmax(500px,.97fr)!important;
    gap:46px!important;
  }
  .f5-hero .f5-hero-copy{
    min-width:0!important;
    position:relative!important;
    z-index:2!important;
  }
  .f5-hero .f5-hero-copy h1{
    max-width:620px!important;
    font-size:clamp(46px,4.65vw,64px)!important;
  }
  .f5-hero .f5-hero-media{
    min-width:0!important;
    min-height:500px!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .f5-hero .f5-student-frame{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:405px!important;
    min-height:405px!important;
    margin:0!important;
  }
  .f5-hero .f5-path-card{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:100%!important;
    padding:10px 12px!important;
    display:grid!important;
    grid-template-columns:auto repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    gap:0!important;
    transform:none!important;
  }
  .f5-hero .f5-path-card>span{
    margin:0 10px 0 0!important;
    white-space:nowrap!important;
  }
  .f5-hero .f5-path-card a{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:7px!important;
    padding:6px 8px!important;
    border-top:0!important;
    border-left:1px solid rgba(255,255,255,.11)!important;
    min-width:0!important;
  }
  .f5-hero .f5-path-card a:hover{
    transform:translateY(-1px)!important;
  }
  .f5-hero .f5-path-card b{
    width:28px!important;
    height:28px!important;
    font-size:10px!important;
  }
  .f5-hero .f5-path-card em{
    font-size:9px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
