:root {
    --edu-blue: #3f6fe5;
    --edu-blue-soft: #edf3ff;
    --edu-text: #121826;
    --edu-muted: #697386;
    --edu-border: #e7eaf0;
    --edu-bg: #ffffff;
    --edu-surface: #f8fafc;
    --edu-header-height: 76px;
}

html.eduportal-menu-open,
html.eduportal-menu-open body {
    overflow: hidden;
}

.eduportal-header,
.eduportal-header * {
    box-sizing: border-box;
}

.eduportal-header {
    position: relative;
    z-index: 99990;
    width: 100%;
    background: var(--edu-bg);
    border-bottom: 1px solid var(--edu-border);
    color: var(--edu-text);
    font-family: inherit;
}

.eduportal-header__inner {
    min-height: var(--edu-header-height);
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.eduportal-brand {
    color: var(--edu-text) !important;
    text-decoration: none !important;
    font-size: clamp(1.35rem, 3vw, 1.65rem);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.03em;
}

.eduportal-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.eduportal-icon-button {
    width: 44px;
    height: 44px;
    padding: 9px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--edu-text) !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.eduportal-icon-button:hover,
.eduportal-icon-button:focus-visible {
    background: var(--edu-surface);
    outline: none;
}

.eduportal-icon-button svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.eduportal-cart-count {
    position: absolute;
    top: 1px;
    right: 0;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--edu-text);
    color: #fff;
    border: 2px solid #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

.eduportal-cart-count.is-empty {
    display: none;
}

.eduportal-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99991;
    background: rgba(15, 23, 42, .34);
    opacity: 0;
    transition: opacity .2s ease;
}

.eduportal-menu-backdrop.is-open {
    opacity: 1;
}

.eduportal-mobile-menu {
    position: fixed;
    z-index: 99992;
    top: 0;
    right: 0;
    width: min(86vw, 360px);
    height: 100dvh;
    background: #fff;
    box-shadow: -18px 0 50px rgba(15, 23, 42, .16);
    transform: translate3d(102%, 0, 0);
    transition: transform .22s ease;
    padding: 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
}

.eduportal-mobile-menu.is-open {
    transform: translate3d(0, 0, 0);
}

.eduportal-mobile-menu__top {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.eduportal-mobile-menu__title {
    font-size: 1.2rem;
    font-weight: 750;
}

.eduportal-mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.eduportal-mobile-nav a {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 12px 14px;
    border-radius: 12px;
    color: var(--edu-text) !important;
    text-decoration: none !important;
    font-size: 1.05rem;
    font-weight: 570;
}

.eduportal-mobile-nav a:hover,
.eduportal-mobile-nav a:focus-visible {
    background: var(--edu-surface);
    outline: none;
}

.eduportal-mobile-nav__account {
    margin-top: 10px;
    background: var(--edu-blue-soft) !important;
    color: var(--edu-blue) !important;
}

/* Make the inherited Twenty Twenty-Five page spacing less blog-like. */
body:not(.tutor-dashboard) main.wp-block-group {
    margin-top: 0 !important;
}

body:not(.tutor-dashboard) main > .wp-block-group.alignfull {
    padding-top: clamp(28px, 5vw, 56px) !important;
}

/* Keep our global header above Tutor/Woo overlays that otherwise steal taps. */
.eduportal-header,
.eduportal-header__inner,
.eduportal-header__actions,
.eduportal-icon-button {
    pointer-events: auto !important;
}

@media (min-width: 782px) {
    .eduportal-header__inner {
        padding-left: 32px;
        padding-right: 32px;
    }

    .eduportal-mobile-menu {
        width: 360px;
    }
}


/* =========================================================
   EduPortal 1.1 storefront
   ========================================================= */
.eduportal-home,.eduportal-courses-page,.eduportal-home *,.eduportal-courses-page *{box-sizing:border-box}.eduportal-home,.eduportal-courses-page{color:var(--edu-text);background:#fff}.eduportal-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.eduportal-kicker{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;background:var(--edu-blue-soft);color:var(--edu-blue);font-size:.78rem;font-weight:750;line-height:1;letter-spacing:.01em}.eduportal-hero{padding:44px 0 30px;overflow:hidden}.eduportal-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:center}.eduportal-hero__content{min-width:0}.eduportal-hero h1{max-width:760px;margin:16px 0 14px;color:var(--edu-text);font-size:clamp(2.7rem,10.5vw,5.7rem);line-height:.94;letter-spacing:-.065em;font-weight:820}.eduportal-hero h1 span{color:var(--edu-blue)}.eduportal-hero__content>p{max-width:620px;margin:0;color:var(--edu-muted);font-size:clamp(1rem,3.8vw,1.2rem);line-height:1.65}.eduportal-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.eduportal-button{min-height:48px;padding:12px 17px;border:1px solid transparent;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--edu-text)!important;text-decoration:none!important;font-size:.95rem;font-weight:730;line-height:1.15;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.eduportal-button--primary{background:var(--edu-blue);color:#fff!important}.eduportal-button--ghost{border-color:var(--edu-border);background:#fff}.eduportal-study-card{min-height:320px;padding:22px;border:1px solid var(--edu-border);border-radius:30px;background:linear-gradient(145deg,#f7f9ff 0%,#fff 68%);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.eduportal-study-card__top{display:flex;align-items:center;gap:9px;color:var(--edu-muted);font-size:.88rem;font-weight:650}.eduportal-study-dot{width:9px;height:9px;border-radius:50%;background:var(--edu-blue)}.eduportal-study-card strong{color:var(--edu-text);font-size:1.28rem;letter-spacing:-.025em}.eduportal-study-illustration{width:210px;height:150px;margin:22px auto;position:relative}.eduportal-book{position:absolute;bottom:15px;width:106px;height:84px;border:6px solid var(--edu-blue);background:#fff}.eduportal-book--left{left:4px;border-radius:16px 6px 22px 16px;transform:skewY(9deg) rotate(3deg);border-right-width:3px}.eduportal-book--right{right:4px;border-radius:6px 16px 16px 22px;transform:skewY(-9deg) rotate(-3deg);border-left-width:3px}.eduportal-spark{position:absolute;color:var(--edu-blue);font-weight:800}.eduportal-spark--one{top:2px;left:34px;font-size:22px}.eduportal-spark--two{top:12px;right:32px;font-size:15px}.eduportal-spark--three{top:35px;left:95px;font-size:30px}.eduportal-section{padding:38px 0}.eduportal-section--soft{background:#f8fafc;margin-top:20px}.eduportal-section-heading{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.eduportal-section-heading--simple{align-items:flex-start}.eduportal-section-heading h2,.eduportal-page-hero h1,.eduportal-cta h2{margin:9px 0 0;color:var(--edu-text);font-weight:790;letter-spacing:-.045em}.eduportal-section-heading h2{font-size:clamp(1.65rem,6vw,2.6rem)}.eduportal-text-link{color:var(--edu-blue)!important;text-decoration:none!important;font-size:.9rem;font-weight:720;white-space:nowrap}.eduportal-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eduportal-course-card{min-width:0;overflow:hidden;border:1px solid var(--edu-border);border-radius:17px;background:#fff}.eduportal-course-card__image{aspect-ratio:4/3;display:block;overflow:hidden;background:#f2f5fb;text-decoration:none!important}.eduportal-course-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.eduportal-course-card__placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 24% 24%,rgba(63,111,229,.14),transparent 32%),linear-gradient(145deg,#f5f8ff,#eef3ff)}.eduportal-course-card__placeholder span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff;color:var(--edu-blue);font-size:1rem;font-weight:800;box-shadow:0 8px 25px rgba(31,51,86,.07)}.eduportal-course-card__body{padding:12px}.eduportal-course-card__eyebrow{margin-bottom:5px;color:var(--edu-blue);font-size:.68rem;line-height:1;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.eduportal-course-card__title{margin:0;color:var(--edu-text);font-size:.96rem;line-height:1.28;font-weight:760;letter-spacing:-.02em}.eduportal-course-card__title a{color:inherit!important;text-decoration:none!important}.eduportal-course-card__excerpt{display:none;margin:8px 0 0;color:var(--edu-muted);font-size:.82rem;line-height:1.5}.eduportal-course-card__bottom{margin-top:12px;padding-top:11px;border-top:1px solid var(--edu-border);display:flex;align-items:center;justify-content:space-between;gap:8px}.eduportal-course-card__price{min-width:0;color:var(--edu-text);font-size:.82rem;line-height:1.2;font-weight:760}.eduportal-course-card__price del{margin-left:4px;color:var(--edu-muted);font-size:.72rem;font-weight:500}.eduportal-price__sale,.eduportal-price__free{color:var(--edu-text)}.eduportal-course-card__link{flex:0 0 auto;color:var(--edu-blue)!important;text-decoration:none!important;font-size:.78rem;font-weight:740}.eduportal-benefits{display:grid;grid-template-columns:1fr;gap:12px}.eduportal-benefit{padding:20px;border:1px solid var(--edu-border);border-radius:18px;background:#fff}.eduportal-benefit__icon{width:42px;height:42px;margin-bottom:16px;border-radius:13px;display:grid;place-items:center;background:var(--edu-blue-soft);color:var(--edu-blue);font-weight:800}.eduportal-benefit h3{margin:0 0 7px;color:var(--edu-text);font-size:1.03rem;font-weight:760}.eduportal-benefit p{margin:0;color:var(--edu-muted);font-size:.9rem;line-height:1.55}.eduportal-cta{padding:25px;border:1px solid var(--edu-border);border-radius:24px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.eduportal-cta h2{font-size:clamp(1.55rem,5.5vw,2.5rem)}.eduportal-page-hero{padding:42px 0 16px}.eduportal-page-hero h1{font-size:clamp(2.4rem,10vw,4.6rem)}.eduportal-page-hero p{max-width:680px;margin:14px 0 0;color:var(--edu-muted);font-size:1rem;line-height:1.65}.eduportal-section--courses{padding-top:22px}.eduportal-empty-state{padding:42px 22px;border:1px dashed #d8deea;border-radius:18px;text-align:center}.eduportal-empty-state__icon{margin-bottom:10px;font-size:2rem}.eduportal-empty-state h3{margin:0 0 6px;font-size:1.1rem}.eduportal-empty-state p{margin:0;color:var(--edu-muted);font-size:.9rem}
@media(hover:hover) and (pointer:fine){.eduportal-button:hover{transform:translateY(-1px)}.eduportal-course-card:hover .eduportal-course-card__image img{transform:scale(1.025)}}
@media(min-width:560px){.eduportal-shell{width:min(1180px,calc(100% - 48px))}.eduportal-course-grid{gap:18px}.eduportal-course-card__body{padding:16px}.eduportal-course-card__title{font-size:1.08rem}.eduportal-course-card__excerpt{display:block}.eduportal-course-card__price{font-size:.92rem}}
@media(min-width:760px){.eduportal-hero{padding:66px 0 46px}.eduportal-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:50px}.eduportal-study-card{min-height:390px;padding:28px}.eduportal-section{padding:58px 0}.eduportal-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.eduportal-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.eduportal-cta{padding:34px;flex-direction:row;align-items:center;justify-content:space-between}}
@media(min-width:1060px){.eduportal-course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* =========================================================
   EduPortal 1.2 single Tutor course page
   ========================================================= */

.eduportal-course-topbar {
    padding: 18px 0 4px;
    background: #fff;
}

.eduportal-course-back {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--edu-muted) !important;
    text-decoration: none !important;
    font-size: .92rem;
    font-weight: 680;
}

.eduportal-course-back span {
    color: var(--edu-blue);
    font-size: 1.1rem;
}

.eduportal-single-course .tutor-full-width-course-top,
.eduportal-single-course .tutor-course-details-page {
    background: #fff !important;
}

.eduportal-single-course .tutor-course-details-page {
    width: min(1180px, calc(100% - 32px));
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.eduportal-single-course .tutor-course-top-info {
    padding-top: 8px !important;
}

.eduportal-single-course .tutor-course-details-title,
.eduportal-single-course .tutor-course-details-page h1,
.eduportal-single-course .tutor-course-details-page h2,
.eduportal-single-course .tutor-course-details-page h3 {
    color: var(--edu-text);
    letter-spacing: -.035em;
}

.eduportal-single-course .tutor-course-details-title {
    font-size: clamp(2rem, 8vw, 3.9rem) !important;
    line-height: 1.02 !important;
    font-weight: 800 !important;
}

.eduportal-single-course .tutor-course-details-page p,
.eduportal-single-course .tutor-course-details-page .tutor-color-secondary {
    color: var(--edu-muted);
}

.eduportal-single-course .tutor-course-details-page img {
    max-width: 100%;
}

.eduportal-single-course .tutor-course-details-page main > img,
.eduportal-single-course .tutor-course-thumbnail img,
.eduportal-single-course .tutor-video-player {
    border-radius: 22px !important;
    overflow: hidden;
}

.eduportal-single-course .tutor-course-details-tab {
    border: 1px solid var(--edu-border);
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
}

.eduportal-single-course .tutor-course-details-tab .tutor-is-sticky {
    background: #fff;
    border-bottom: 1px solid var(--edu-border);
}

.eduportal-single-course .tutor-course-details-tab .tutor-nav-link {
    color: var(--edu-muted) !important;
    font-weight: 650 !important;
}

.eduportal-single-course .tutor-course-details-tab .tutor-nav-link.is-active,
.eduportal-single-course .tutor-course-details-tab .tutor-nav-link.active {
    color: var(--edu-blue) !important;
}

.eduportal-single-course .tutor-course-details-tab .tutor-tab {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: 20px !important;
}

.eduportal-single-course .tutor-single-course-sidebar {
    position: relative;
}

.eduportal-single-course .tutor-course-single-sidebar-wrapper,
.eduportal-single-course .tutor-course-entry-box,
.eduportal-single-course .tutor-single-course-sidebar > div:first-child,
.eduportal-single-course .tutor-single-course-sidebar-more {
    border-radius: 20px !important;
}

.eduportal-single-course .tutor-course-single-sidebar-wrapper,
.eduportal-single-course .tutor-course-entry-box {
    border: 1px solid var(--edu-border) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.eduportal-single-course .tutor-btn,
.eduportal-single-course button.tutor-btn,
.eduportal-single-course a.tutor-btn {
    min-height: 48px;
    border-radius: 13px !important;
    font-weight: 720 !important;
}

.eduportal-single-course .tutor-btn-primary,
.eduportal-single-course .tutor-course-entry-box .tutor-btn-primary {
    background: var(--edu-blue) !important;
    border-color: var(--edu-blue) !important;
    color: #fff !important;
}

.eduportal-single-course .tutor-btn-outline-primary {
    border-color: var(--edu-blue) !important;
    color: var(--edu-blue) !important;
}

.eduportal-single-course .tutor-course-price,
.eduportal-single-course .tutor-course-price span,
.eduportal-single-course .tutor-course-sidebar-card-pricing {
    color: var(--edu-text) !important;
    font-weight: 800 !important;
}

.eduportal-single-course .tutor-accordion-item,
.eduportal-single-course .tutor-course-topic {
    border: 1px solid var(--edu-border) !important;
    border-radius: 14px !important;
    overflow: hidden;
    margin-bottom: 10px !important;
}

.eduportal-single-course .tutor-accordion-item-header,
.eduportal-single-course .tutor-course-topic-header {
    background: #f8fafc !important;
}

.eduportal-single-course .tutor-course-details-widget,
.eduportal-single-course .tutor-single-course-sidebar-more {
    border-color: var(--edu-border) !important;
    box-shadow: none !important;
}

.eduportal-single-course .tutor-course-details-page a:not(.tutor-btn):not(.eduportal-course-back) {
    text-decoration-thickness: 1px;
}

@media (max-width: 767px) {
    .eduportal-course-topbar {
        padding-top: 12px;
    }

    .eduportal-single-course .tutor-course-details-page {
        width: min(100% - 24px, 1180px);
    }

    .eduportal-single-course .tutor-course-details-title {
        font-size: clamp(2rem, 9vw, 3rem) !important;
    }

    .eduportal-single-course .tutor-course-details-tab {
        border-radius: 16px;
    }

    .eduportal-single-course .tutor-course-details-tab .tutor-tab {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (min-width: 768px) {
    .eduportal-single-course .tutor-course-details-page {
        width: min(1180px, calc(100% - 48px));
    }

    .eduportal-single-course .tutor-single-course-sidebar {
        position: sticky;
        top: 22px;
    }
}


/* =========================================================
   EduPortal 1.3 - WooCommerce Login / Register styling
   ========================================================= */

body.woocommerce-account:not(.logged-in) .wp-site-blocks main,
body.woocommerce-account:not(.logged-in) main.wp-block-group,
body.woocommerce-account:not(.logged-in) .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
    width: min(1040px, calc(100% - 28px));
    margin: 34px auto 56px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce::before {
    content: "Welcome to EduPortal";
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-bottom: 14px;
    padding: 6px 11px;
    border-radius: 999px;
    background: var(--edu-blue-soft);
    color: var(--edu-blue);
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
}

body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .woocommerce-account-fields > h2 {
    display: none;
}

body.woocommerce-account:not(.logged-in) #customer_login {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 22px !important;
    border: 1px solid var(--edu-border);
    border-radius: 22px;
    background: #fff;
}

body.woocommerce-account:not(.logged-in) #customer_login h2 {
    margin: 0 0 18px;
    color: var(--edu-text);
    font-size: 1.6rem;
    font-weight: 790;
    line-height: 1.15;
    letter-spacing: -.035em;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-row {
    margin: 0 0 14px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-row label,
body.woocommerce-account:not(.logged-in) form.login > p > label,
body.woocommerce-account:not(.logged-in) form.register > p > label {
    display: block;
    margin: 0 0 7px;
    color: var(--edu-text);
    font-size: .9rem;
    font-weight: 680;
}

body.woocommerce-account:not(.logged-in) input.input-text,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"] {
    width: 100% !important;
    min-height: 50px;
    padding: 12px 14px !important;
    border: 1px solid #d8deea !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: var(--edu-text) !important;
    font-size: 16px !important;
    line-height: 1.2;
    box-shadow: none !important;
    outline: none;
}

body.woocommerce-account:not(.logged-in) input.input-text:focus,
body.woocommerce-account:not(.logged-in) input[type="text"]:focus,
body.woocommerce-account:not(.logged-in) input[type="email"]:focus,
body.woocommerce-account:not(.logged-in) input[type="password"]:focus {
    border-color: var(--edu-blue) !important;
    box-shadow: 0 0 0 3px rgba(63,111,229,.10) !important;
}

body.woocommerce-account:not(.logged-in) .password-input {
    display: block;
}

body.woocommerce-account:not(.logged-in) .show-password-input {
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%);
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 2px 0 12px !important;
    color: var(--edu-muted);
    font-size: .88rem;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input {
    width: 18px;
    height: 18px;
    margin: 0;
}

body.woocommerce-account:not(.logged-in) .woocommerce-button,
body.woocommerce-account:not(.logged-in) button.button,
body.woocommerce-account:not(.logged-in) input.button {
    min-height: 48px;
    margin: 0 !important;
    padding: 12px 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: var(--edu-blue) !important;
    color: #fff !important;
    font-size: .95rem !important;
    font-weight: 740 !important;
    line-height: 1.15;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
    margin: 12px 0 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a,
body.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text a {
    color: var(--edu-blue) !important;
    text-decoration: none !important;
    font-weight: 650;
}

body.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text {
    color: var(--edu-muted);
    font-size: .82rem;
    line-height: 1.55;
}

body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    margin-bottom: 14px;
}

body.woocommerce-account:not(.logged-in) .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-info {
    border: 1px solid var(--edu-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--edu-text) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-error {
    border-color: #efc7c7 !important;
    background: #fff8f8 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-info {
    background: #f7f9ff !important;
}

body.woocommerce-account:not(.logged-in) .eduportal-auth-intro {
    margin-bottom: 24px;
}

body.woocommerce-account:not(.logged-in) .eduportal-auth-intro h1 {
    margin: 0 0 10px;
    color: var(--edu-text);
    font-size: clamp(2rem, 8vw, 3.6rem);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 820;
}

body.woocommerce-account:not(.logged-in) .eduportal-auth-intro p {
    max-width: 640px;
    margin: 0;
    color: var(--edu-muted);
    font-size: 1rem;
    line-height: 1.6;
}

body.woocommerce-account:not(.logged-in) .eduportal-auth-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 24px;
}

body.woocommerce-account:not(.logged-in) .eduportal-auth-point {
    padding: 12px;
    border: 1px solid var(--edu-border);
    border-radius: 14px;
    background: #f8fafc;
    color: var(--edu-muted);
    font-size: .78rem;
    line-height: 1.35;
}

body.woocommerce-account:not(.logged-in) .eduportal-auth-point strong {
    display: block;
    margin-bottom: 3px;
    color: var(--edu-text);
    font-size: .84rem;
}

@media (min-width: 760px) {
    body.woocommerce-account:not(.logged-in) .woocommerce {
        margin-top: 48px !important;
    }

    body.woocommerce-account:not(.logged-in) #customer_login {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
        padding: 28px !important;
    }
}

@media (max-width: 520px) {
    body.woocommerce-account:not(.logged-in) .eduportal-auth-points {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   EduPortal 1.4 - WooCommerce Cart + Checkout
   ========================================================= */

body.woocommerce-cart .wp-site-blocks main,
body.woocommerce-checkout .wp-site-blocks main,
body.woocommerce-cart main.wp-block-group,
body.woocommerce-checkout main.wp-block-group {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    width: min(1120px, calc(100% - 28px));
    margin: 36px auto 60px !important;
    color: var(--edu-text);
}

body.woocommerce-cart .woocommerce::before,
body.woocommerce-checkout .woocommerce::before {
    display: block;
    margin-bottom: 18px;
    color: var(--edu-blue);
    font-size: .78rem;
    font-weight: 760;
    letter-spacing: .045em;
    text-transform: uppercase;
}

body.woocommerce-cart .woocommerce::before {
    content: "Your Learning Cart";
}

body.woocommerce-checkout .woocommerce::before {
    content: "Secure Checkout";
}

/* Shared notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
    margin: 0 0 18px !important;
    padding: 15px 16px 15px 46px !important;
    border: 1px solid var(--edu-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--edu-text) !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message {
    background: #f7fbf8 !important;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
    border-color: #efc7c7 !important;
    background: #fff8f8 !important;
}

/* -------------------------
   CART
   ------------------------- */

body.woocommerce-cart table.shop_table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--edu-border) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 18px !important;
    background: #fff;
}

body.woocommerce-cart table.shop_table th {
    padding: 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--edu-border) !important;
    background: #f8fafc;
    color: var(--edu-muted);
    font-size: .76rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.woocommerce-cart table.shop_table td {
    padding: 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--edu-border) !important;
    color: var(--edu-text);
    vertical-align: middle;
}

body.woocommerce-cart table.shop_table tr:last-child td {
    border-bottom: 0 !important;
}

body.woocommerce-cart .product-thumbnail img {
    width: 76px !important;
    height: 58px !important;
    border-radius: 10px;
    object-fit: cover;
}

body.woocommerce-cart .product-name a {
    color: var(--edu-text) !important;
    text-decoration: none !important;
    font-weight: 720;
}

body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal {
    font-weight: 720;
}

body.woocommerce-cart .product-remove a.remove {
    width: 34px;
    height: 34px;
    display: inline-grid !important;
    place-items: center;
    border-radius: 50%;
    background: #fff4f4 !important;
    color: #b94242 !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .quantity .qty {
    width: 68px !important;
    min-height: 42px;
    border: 1px solid #d8deea !important;
    border-radius: 11px !important;
    background: #fff;
    color: var(--edu-text);
    font-size: 16px;
}

body.woocommerce-cart .coupon {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}

body.woocommerce-cart .coupon input.input-text {
    min-width: 170px;
    min-height: 44px;
    padding: 10px 12px !important;
    border: 1px solid #d8deea !important;
    border-radius: 11px !important;
    background: #fff !important;
    font-size: 16px !important;
}

body.woocommerce-cart button.button,
body.woocommerce-cart a.button,
body.woocommerce-cart input.button,
body.woocommerce-checkout button.button,
body.woocommerce-checkout a.button,
body.woocommerce-checkout input.button {
    min-height: 46px;
    padding: 11px 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--edu-blue) !important;
    color: #fff !important;
    font-size: .92rem !important;
    font-weight: 740 !important;
    line-height: 1.15;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-cart button.button:disabled,
body.woocommerce-cart button.button:disabled[disabled] {
    opacity: .45 !important;
}

body.woocommerce-cart .cart-collaterals {
    margin-top: 22px;
}

body.woocommerce-cart .cart_totals {
    width: 100% !important;
    float: none !important;
    margin-left: auto;
    padding: 20px;
    border: 1px solid var(--edu-border);
    border-radius: 18px;
    background: #fff;
}

body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 15px;
    color: var(--edu-text);
    font-size: 1.35rem;
    font-weight: 780;
    letter-spacing: -.03em;
}

body.woocommerce-cart .cart_totals table {
    border: 0 !important;
    margin-bottom: 12px !important;
}

body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
    padding: 11px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--edu-border) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 14px 0 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    min-height: 50px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    font-size: 1rem !important;
}

/* Empty cart */
body.woocommerce-cart .cart-empty {
    margin: 0 0 14px !important;
    padding: 24px !important;
    border: 1px dashed #d7deea !important;
    border-radius: 18px !important;
    background: #fff !important;
    text-align: center;
}

body.woocommerce-cart .return-to-shop {
    text-align: center;
}

/* -------------------------
   CHECKOUT
   ------------------------- */

body.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

body.woocommerce-checkout #customer_details {
    min-width: 0;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 20px;
    border: 1px solid var(--edu-border);
    border-radius: 18px;
    background: #fff;
}

body.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 18px;
}

body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
    margin: 0 0 16px;
    color: var(--edu-text);
    font-size: 1.3rem;
    font-weight: 780;
    letter-spacing: -.03em;
}

body.woocommerce-checkout .form-row {
    margin: 0 0 14px !important;
}

body.woocommerce-checkout .form-row label {
    display: block;
    margin: 0 0 7px;
    color: var(--edu-text);
    font-size: .88rem;
    font-weight: 680;
}

body.woocommerce-checkout .input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection {
    width: 100% !important;
    min-height: 48px;
    padding: 11px 13px !important;
    border: 1px solid #d8deea !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--edu-text) !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout textarea {
    min-height: 110px;
    resize: vertical;
}

body.woocommerce-checkout .select2-selection {
    display: flex !important;
    align-items: center;
}

body.woocommerce-checkout .select2-selection__rendered {
    padding-left: 0 !important;
}

body.woocommerce-checkout .select2-selection__arrow {
    top: 50% !important;
    right: 8px !important;
    transform: translateY(-50%);
}

body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout input[type="text"]:focus,
body.woocommerce-checkout input[type="email"]:focus,
body.woocommerce-checkout input[type="tel"]:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
    border-color: var(--edu-blue) !important;
    box-shadow: 0 0 0 3px rgba(63,111,229,.10) !important;
    outline: none;
}

body.woocommerce-checkout #order_review {
    padding: 20px;
    border: 1px solid var(--edu-border);
    border-radius: 18px;
    background: #fff;
}

body.woocommerce-checkout table.shop_table {
    border: 0 !important;
    margin: 0 0 18px !important;
    border-collapse: collapse !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
    padding: 11px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--edu-border) !important;
}

body.woocommerce-checkout table.shop_table th {
    color: var(--edu-muted);
    font-size: .8rem;
    font-weight: 720;
}

body.woocommerce-checkout table.shop_table td {
    color: var(--edu-text);
}

body.woocommerce-checkout #payment {
    margin-top: 18px;
    border: 1px solid var(--edu-border) !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    padding: 16px !important;
    border-bottom: 1px solid var(--edu-border) !important;
}

body.woocommerce-checkout #payment div.payment_box {
    margin: 12px 0 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--edu-muted) !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #fff !important;
}

body.woocommerce-checkout #payment .place-order {
    padding: 16px !important;
}

body.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 52px;
    font-size: 1rem !important;
}

/* Checkout returning customer / coupon toggles */
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 12px;
}

body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.login {
    margin: 0 0 18px !important;
    padding: 18px !important;
    border: 1px solid var(--edu-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
}

/* Order received / thank-you */
body.woocommerce-order-received .woocommerce {
    width: min(920px, calc(100% - 28px));
    margin: 42px auto 60px !important;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
    padding: 18px;
    border: 1px solid #cfe3d5;
    border-radius: 16px;
    background: #f7fbf8;
    color: var(--edu-text);
    font-weight: 700;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 18px 0 24px !important;
    padding: 0 !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--edu-border);
    border-radius: 14px;
    background: #fff;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid var(--edu-border);
    border-radius: 18px;
    background: #fff;
}

/* Mobile cart transformation */
@media (max-width: 700px) {
    body.woocommerce-cart table.shop_table_responsive thead {
        display: none;
    }

    body.woocommerce-cart table.shop_table_responsive tr {
        display: block;
        padding: 14px;
        border-bottom: 1px solid var(--edu-border);
    }

    body.woocommerce-cart table.shop_table_responsive tr:last-child {
        border-bottom: 0;
    }

    body.woocommerce-cart table.shop_table_responsive td {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        width: 100%;
        padding: 8px 0 !important;
        border: 0 !important;
        text-align: right !important;
    }

    body.woocommerce-cart table.shop_table_responsive td::before {
        color: var(--edu-muted);
        font-size: .75rem;
        font-weight: 700;
        text-transform: uppercase;
    }

    body.woocommerce-cart table.shop_table_responsive td.product-thumbnail {
        display: block !important;
        text-align: left !important;
    }

    body.woocommerce-cart table.shop_table_responsive td.product-thumbnail::before,
    body.woocommerce-cart table.shop_table_responsive td.actions::before {
        display: none;
    }

    body.woocommerce-cart table.shop_table_responsive td.actions {
        display: block !important;
        padding-top: 14px !important;
    }

    body.woocommerce-cart .coupon {
        margin-bottom: 10px;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon button {
        width: 100% !important;
    }
}

@media (min-width: 760px) {
    body.woocommerce-cart .cart_totals {
        width: min(460px, 100%) !important;
    }

    body.woocommerce-checkout form.checkout {
        grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
        align-items: start;
    }

    body.woocommerce-checkout #order_review_heading,
    body.woocommerce-checkout #order_review {
        grid-column: 2;
    }

    body.woocommerce-checkout #customer_details {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1050px) {
    body.woocommerce-order-received ul.woocommerce-order-overview {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}


/* =========================================================
   EduPortal 1.5 - Editable WordPress page content
   ========================================================= */

.eduportal-page-content {
    margin: 0;
    padding: 0;
}

.eduportal-page-content > .wp-block-post-content {
    margin: 0;
}

.eduportal-editable-home,
.eduportal-courses-editor-page {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}

.eduportal-editor-hero,
.eduportal-editor-section,
.eduportal-courses-editor-page .eduportal-page-hero {
    width: min(1180px, calc(100% - 32px));
    margin-left: auto !important;
    margin-right: auto !important;
}

.eduportal-editor-hero {
    padding: 48px 0 34px;
}

.eduportal-editor-hero-title {
    max-width: 820px;
    margin: 16px 0 14px !important;
    color: var(--edu-text);
    font-size: clamp(2.7rem, 10.5vw, 5.7rem);
    line-height: .94;
    letter-spacing: -.065em;
    font-weight: 820;
}

.eduportal-editor-hero-copy {
    max-width: 650px;
    margin: 0 !important;
    color: var(--edu-muted);
    font-size: clamp(1rem, 3.8vw, 1.2rem);
    line-height: 1.65;
}

.eduportal-editor-actions {
    gap: 10px !important;
    margin-top: 24px !important;
}

.eduportal-editor-actions .wp-block-button__link,
.eduportal-cta .wp-block-button__link {
    min-height: 48px;
    padding: 12px 17px !important;
    border-radius: 13px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--edu-blue) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: .95rem;
    font-weight: 730;
}

.eduportal-editor-actions .is-style-outline .wp-block-button__link {
    border: 1px solid var(--edu-border) !important;
    background: #fff !important;
    color: var(--edu-text) !important;
}

.eduportal-editor-section {
    padding: 38px 0;
}

.eduportal-editor-section > h2,
.eduportal-editor-section .wp-block-heading {
    color: var(--edu-text);
}

.eduportal-editor-section > h2 {
    margin-top: 9px !important;
    font-size: clamp(1.65rem, 6vw, 2.6rem);
    letter-spacing: -.045em;
}

.eduportal-editor-benefits {
    gap: 12px !important;
    margin-top: 22px !important;
}

.eduportal-editor-benefits .eduportal-benefit {
    height: 100%;
}

.eduportal-courses-editor-page .eduportal-page-hero {
    padding: 42px 0 16px;
}

.eduportal-courses-editor-page .eduportal-page-hero h1 {
    margin: 9px 0 0 !important;
    font-size: clamp(2.4rem, 10vw, 4.6rem);
    letter-spacing: -.05em;
}

.eduportal-courses-editor-page .eduportal-page-hero p:not(.eduportal-kicker) {
    max-width: 680px;
    margin-top: 14px;
    color: var(--edu-muted);
    line-height: 1.65;
}

@media (min-width: 560px) {
    .eduportal-editor-hero,
    .eduportal-editor-section,
    .eduportal-courses-editor-page .eduportal-page-hero {
        width: min(1180px, calc(100% - 48px));
    }
}

@media (min-width: 760px) {
    .eduportal-editor-hero {
        padding: 66px 0 46px;
    }

    .eduportal-editor-section {
        padding: 58px 0;
    }

    .eduportal-editor-benefits {
        gap: 18px !important;
    }
}


/* EduPortal 1.6 - Editable About page */
.eduportal-about-page{max-width:none!important;margin:0!important;padding:0!important}
.eduportal-about-page .eduportal-editor-section{width:min(1180px,calc(100% - 32px));margin-left:auto!important;margin-right:auto!important}
.eduportal-about-hero{padding-top:56px!important;padding-bottom:52px!important}
.eduportal-about-hero h1{max-width:900px;margin:14px 0 16px!important;color:var(--edu-text);font-size:clamp(2.7rem,10vw,5.6rem);font-weight:820;line-height:.95;letter-spacing:-.06em}
.eduportal-about-lead{max-width:760px;margin:0!important;color:var(--edu-muted);font-size:clamp(1rem,3.7vw,1.18rem);line-height:1.7}
.eduportal-about-section{padding-top:48px!important;padding-bottom:48px!important;border-top:1px solid var(--edu-border)}
.eduportal-about-section h2,.eduportal-about-cta h2{margin:10px 0 0!important;color:var(--edu-text);font-size:clamp(1.75rem,6vw,2.7rem);font-weight:790;line-height:1.05;letter-spacing:-.045em}
.eduportal-about-section p{color:var(--edu-muted);line-height:1.7}
.eduportal-about-grid{gap:13px!important;margin-top:24px!important}
.eduportal-about-card{height:100%;padding:21px!important;border:1px solid var(--edu-border);border-radius:18px;background:#fff}
.eduportal-about-number{width:fit-content;margin:0 0 22px!important;padding:6px 9px;border-radius:999px;background:var(--edu-blue-soft);color:var(--edu-blue)!important;font-size:.75rem;font-weight:760;line-height:1}
.eduportal-about-card h3{margin:0 0 8px!important;color:var(--edu-text);font-size:1.12rem;font-weight:760}
.eduportal-about-card p:last-child{margin-bottom:0!important;color:var(--edu-muted);font-size:.9rem;line-height:1.65}
.eduportal-about-cta{margin-top:24px!important;margin-bottom:60px!important;padding:25px!important;border:1px solid var(--edu-border);border-radius:22px;background:#f8fafc}
.eduportal-about-cta .wp-block-buttons{margin-top:20px}
.eduportal-about-cta .wp-block-button__link{min-height:48px;padding:12px 18px!important;border-radius:13px!important;background:var(--edu-blue)!important;color:#fff!important;font-weight:730;text-decoration:none!important}
@media(min-width:560px){.eduportal-about-page .eduportal-editor-section{width:min(1180px,calc(100% - 48px))}}
@media(min-width:760px){.eduportal-about-hero{padding-top:74px!important;padding-bottom:66px!important}.eduportal-about-section{padding-top:64px!important;padding-bottom:64px!important}.eduportal-about-grid{gap:18px!important}.eduportal-about-card{padding:26px!important}.eduportal-about-cta{padding:32px!important;margin-bottom:74px!important}}


/* =========================================================
   EduPortal 1.7 - Footer
   ========================================================= */

.eduportal-footer {
    margin-top: 36px;
    border-top: 1px solid var(--edu-border);
    background: #f8fafc;
    color: var(--edu-text);
}

.eduportal-footer__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 42px;
    padding-bottom: 34px;
}

.eduportal-footer__brand {
    max-width: 500px;
}

.eduportal-footer__logo {
    display: inline-flex;
    align-items: center;
    color: var(--edu-text) !important;
    font-size: 1.35rem;
    font-weight: 820;
    line-height: 1;
    letter-spacing: -.04em;
    text-decoration: none !important;
}

.eduportal-footer__tagline {
    max-width: 480px;
    margin: 13px 0 0;
    color: var(--edu-muted);
    font-size: .9rem;
    line-height: 1.65;
}

.eduportal-footer h2 {
    margin: 0 0 13px;
    color: var(--edu-text);
    font-size: .78rem;
    font-weight: 780;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.eduportal-footer nav,
.eduportal-footer__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.eduportal-footer nav a,
.eduportal-footer__contact > a {
    color: var(--edu-muted) !important;
    font-size: .9rem;
    line-height: 1.4;
    text-decoration: none !important;
}

.eduportal-footer nav a:hover,
.eduportal-footer__contact > a:hover {
    color: var(--edu-blue) !important;
}

.eduportal-footer__address,
.eduportal-footer__placeholder {
    margin: 2px 0 0;
    color: var(--edu-muted);
    font-size: .86rem;
    line-height: 1.6;
}

.eduportal-footer__placeholder {
    max-width: 260px;
    font-style: italic;
}

.eduportal-footer__bottom {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding-top: 18px;
    padding-bottom: 24px;
    border-top: 1px solid var(--edu-border);
}

.eduportal-footer__bottom p {
    margin: 0;
    color: var(--edu-muted);
    font-size: .76rem;
    line-height: 1.5;
}

@media (min-width: 620px) {
    .eduportal-footer__inner {
        grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(120px, .7fr));
    }

    .eduportal-footer__contact {
        grid-column: 1 / -1;
    }

    .eduportal-footer__bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
    }
}

@media (min-width: 900px) {
    .eduportal-footer {
        margin-top: 52px;
    }

    .eduportal-footer__inner {
        grid-template-columns: minmax(260px, 1.6fr) minmax(120px, .65fr) minmax(140px, .75fr) minmax(220px, 1fr);
        gap: 34px;
        padding-top: 54px;
        padding-bottom: 44px;
    }

    .eduportal-footer__contact {
        grid-column: auto;
    }
}


/* =========================================================
   EduPortal 1.8 - Policy pages
   ========================================================= */
.eduportal-policy-template {
    margin: 0;
    padding: 0;
}

.eduportal-policy-template > .wp-block-post-content {
    margin: 0;
}

.eduportal-policy-hero,
.eduportal-policy-body {
    width: min(860px, calc(100% - 32px));
    margin-left: auto !important;
    margin-right: auto !important;
}

.eduportal-policy-hero {
    padding-top: 56px;
    padding-bottom: 36px;
    border-bottom: 1px solid var(--edu-border);
}

.eduportal-policy-hero h1 {
    margin: 14px 0 14px !important;
    color: var(--edu-text);
    font-size: clamp(2.4rem, 9vw, 4.6rem);
    font-weight: 820;
    line-height: .97;
    letter-spacing: -.055em;
}

.eduportal-policy-lead {
    max-width: 760px;
    margin: 0 !important;
    color: var(--edu-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.eduportal-policy-body {
    padding-top: 34px;
    padding-bottom: 68px;
}

.eduportal-policy-body h2 {
    margin: 34px 0 10px !important;
    color: var(--edu-text);
    font-size: 1.35rem;
    font-weight: 770;
    letter-spacing: -.025em;
}

.eduportal-policy-body p,
.eduportal-policy-body li {
    color: var(--edu-muted);
    font-size: .96rem;
    line-height: 1.75;
}

.eduportal-policy-body ul {
    padding-left: 1.25rem;
}

.eduportal-policy-note {
    margin-top: 34px !important;
    padding: 16px 18px;
    border: 1px solid #d8e1f3;
    border-radius: 14px;
    background: #f7f9ff;
    color: var(--edu-text) !important;
}

@media (min-width: 560px) {
    .eduportal-policy-hero,
    .eduportal-policy-body {
        width: min(860px, calc(100% - 48px));
    }
}

@media (min-width: 760px) {
    .eduportal-policy-hero {
        padding-top: 72px;
        padding-bottom: 46px;
    }

    .eduportal-policy-body {
        padding-top: 44px;
        padding-bottom: 84px;
    }

    .eduportal-policy-body h2 {
        margin-top: 40px !important;
    }
}


/* =========================================================
   EduPortal 1.9 - Registration UX
   ========================================================= */
.woocommerce-account .eduportal-register-note {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0 0 18px;
    padding: 13px 14px;
    border: 1px solid var(--edu-border);
    border-radius: 13px;
    background: #f8fafc;
}

.woocommerce-account .eduportal-register-note strong {
    color: var(--edu-text);
    font-size: .9rem;
    font-weight: 760;
}

.woocommerce-account .eduportal-register-note span {
    color: var(--edu-muted);
    font-size: .82rem;
    line-height: 1.55;
}

.woocommerce-account .eduportal-confirm-password-row {
    margin-bottom: 18px !important;
}

.woocommerce-account .woocommerce-form-register .password-input,
.woocommerce-account .woocommerce-form-register input[type="password"] {
    width: 100%;
}

.woocommerce-account .woocommerce-form-register .woocommerce-password-strength {
    margin-top: 7px;
    border-radius: 8px;
    font-size: .78rem;
    line-height: 1.45;
}

.woocommerce-account .woocommerce-form-register .woocommerce-password-hint {
    display: block;
    margin-top: 7px;
    color: var(--edu-muted);
    font-size: .76rem;
    line-height: 1.5;
}

/* =========================================================
   EduPortal 2.0 - Client-facing homepage polish
   ========================================================= */

/* Tighter, more intentional hero. */
.eduportal-editor-hero{padding-top:34px;padding-bottom:26px}
.eduportal-editor-hero-title{max-width:760px;margin-top:14px!important;margin-bottom:12px!important}
.eduportal-editor-hero-copy{max-width:610px;line-height:1.55}
.eduportal-editor-actions{margin-top:20px!important}

/* Course cards: balanced heights and stronger hierarchy. */
.eduportal-course-grid{align-items:stretch}
.eduportal-course-card{display:flex;flex-direction:column;height:100%;box-shadow:0 8px 26px rgba(31,51,86,.035)}
.eduportal-course-card__body{display:flex;flex:1;flex-direction:column}
.eduportal-course-card__title{min-height:2.5em}
.eduportal-course-card__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.eduportal-course-card__bottom{margin-top:auto}
.eduportal-course-card__link{white-space:nowrap}
.eduportal-price__free{color:var(--edu-blue);font-weight:780}

/* Benefits and three-step flow. */
.eduportal-benefit{position:relative;padding-top:22px;box-shadow:0 8px 24px rgba(31,51,86,.025)}
.eduportal-editor-benefits .eduportal-benefit:before{display:grid;width:40px;height:40px;margin-bottom:15px;place-items:center;border-radius:12px;background:var(--edu-blue-soft);color:var(--edu-blue);font-weight:820}
.eduportal-editor-benefits>.wp-block-column:nth-child(1) .eduportal-benefit:before{content:'▶'}
.eduportal-editor-benefits>.wp-block-column:nth-child(2) .eduportal-benefit:before{content:'✓'}
.eduportal-editor-benefits>.wp-block-column:nth-child(3) .eduportal-benefit:before{content:'↗'}
.eduportal-how-it-works{border-top:1px solid var(--edu-border)}
.eduportal-how-it-works>h2{max-width:700px}
.eduportal-steps{gap:12px!important;margin-top:22px!important}
.eduportal-step{height:100%;padding:20px;border:1px solid var(--edu-border);border-radius:18px;background:#fff}
.eduportal-step>span{display:inline-flex;min-width:38px;height:29px;padding:0 9px;align-items:center;justify-content:center;border-radius:999px;background:var(--edu-blue-soft);color:var(--edu-blue);font-size:.73rem;font-weight:800}
.eduportal-step h3{margin:17px 0 7px;color:var(--edu-text);font-size:1.03rem;font-weight:780}
.eduportal-step p{margin:0;color:var(--edu-muted);font-size:.88rem;line-height:1.55}

/* Final CTA: remove prototype feel and tighten spacing. */
.eduportal-cta{background:linear-gradient(145deg,#fff 0%,#f8faff 100%);box-shadow:0 12px 34px rgba(31,51,86,.035)}
.eduportal-cta>.wp-block-group{max-width:690px}

/* Footer: compact on mobile and never expose admin instructions. */
.eduportal-footer{margin-top:24px}
.eduportal-footer__inner{gap:20px;padding-top:32px;padding-bottom:26px}
.eduportal-footer nav,.eduportal-footer__contact{gap:7px}
.eduportal-footer__placeholder{font-style:normal}
.eduportal-footer__bottom{padding-top:15px;padding-bottom:18px}

@media(max-width:559px){
  .eduportal-editor-hero{padding-top:30px;padding-bottom:24px}
  .eduportal-editor-hero-title{font-size:clamp(2.55rem,13vw,4.2rem);line-height:.93}
  .eduportal-editor-hero-copy{font-size:1rem;line-height:1.55}
  .eduportal-editor-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%;gap:9px!important}
  .eduportal-editor-actions>.wp-block-button{width:100%;margin:0!important}
  .eduportal-editor-actions .wp-block-button__link{width:100%;min-height:50px;padding:10px 11px!important;font-size:.84rem}
  .eduportal-editor-section{padding-top:30px;padding-bottom:30px}
  .eduportal-section--soft{margin-top:8px}
  .eduportal-course-grid{gap:10px}
  .eduportal-course-card__body{padding:11px}
  .eduportal-course-card__title{font-size:.92rem;min-height:2.45em}
  .eduportal-course-card__excerpt{display:none}
  .eduportal-course-card__bottom{margin-top:10px;padding-top:10px}
  .eduportal-course-card__price{font-size:.8rem}
  .eduportal-course-card__link{font-size:.74rem}
  .eduportal-benefit{padding:18px}
  .eduportal-editor-benefits{gap:10px!important}
  .eduportal-steps{gap:10px!important}
  .eduportal-step{padding:18px}
  .eduportal-cta{gap:16px;padding:21px}
  .eduportal-cta .wp-block-buttons,.eduportal-cta .wp-block-button{width:100%}
  .eduportal-cta .wp-block-button__link{width:100%}
  .eduportal-footer__inner{grid-template-columns:1fr 1fr;gap:22px 18px}
  .eduportal-footer__brand,.eduportal-footer__contact{grid-column:1 / -1}
  .eduportal-footer__tagline{font-size:.84rem;line-height:1.55}
  .eduportal-footer h2{margin-bottom:9px}
  .eduportal-footer nav a,.eduportal-footer__contact>a{font-size:.84rem}
}

@media(min-width:760px){
  .eduportal-editor-hero{padding-top:52px;padding-bottom:38px}
  .eduportal-steps{gap:18px!important}
}

/* Four course cards on normal desktop/tablet-landscape widths. */
@media(min-width:900px){
  .eduportal-course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
}


/* =========================================================
   EduPortal 2.0.1 - Hero account CTA visibility + mobile alignment
   ========================================================= */

/* The editable Home page stores this button in post content, so use
   WordPress' logged-in body class to make it guest-only. */
body.logged-in .eduportal-editor-actions .eduportal-button--ghost {
    display: none !important;
}

/* Keep the hero actions neatly contained and aligned. */
.eduportal-editor-actions,
.eduportal-hero__actions {
    align-items: stretch;
}

.eduportal-editor-actions > .wp-block-button,
.eduportal-editor-actions > .wp-block-button .wp-block-button__link,
.eduportal-hero__actions > .eduportal-button {
    box-sizing: border-box;
    min-width: 0;
}

@media (max-width: 559px) {
    .eduportal-editor-actions,
    .eduportal-hero__actions {
        display: flex !important;
        flex-direction: column;
        width: min(100%, 420px);
        gap: 10px !important;
        margin-right: 0 !important;
    }

    .eduportal-editor-actions > .wp-block-button,
    .eduportal-editor-actions .wp-block-button__link,
    .eduportal-hero__actions > .eduportal-button {
        width: 100% !important;
        max-width: 100%;
        margin: 0 !important;
    }

    .eduportal-editor-actions .wp-block-button__link,
    .eduportal-hero__actions > .eduportal-button {
        min-height: 50px;
        padding: 11px 14px !important;
        font-size: .88rem;
    }
}
