/**
 * e-chef / Interservise — design tokens & header (Stage 1)
 * Rouxbe-inspired: clean, professional culinary school
 */
:root {
    /* Rouxbe-inspired palette (rouxbe.com/individual-training) */
    --echef-color-primary: #a0c64f;
    --echef-color-primary-dark: #8fb247;
    --echef-color-primary-light: #b8d66f;
    --echef-color-primary-rgb: 160, 198, 79;
    --echef-color-nav: #383838;
    --echef-color-header: #000000;
    --echef-color-header-ink: #ffffff;
    --echef-color-accent: #a0c64f;
    --echef-color-accent-warm: #f0d96a;
    --echef-color-accent-warm-dark: #e8cc55;
    --echef-color-accent-warm-rgb: 240, 217, 106;
    --echef-color-bg: #fafaf8;
    --echef-color-surface: #ffffff;
    --echef-color-border: #e8e6e1;
    --echef-color-text: #383838;
    --echef-color-text-muted: #666666;
    --echef-color-text-inverse: #ffffff;
    --echef-color-sale: #1b8a3a;
    --echef-color-off: #d32f2f;
    --echef-hero-blue: #1e4ed8;
    --echef-hero-blue-deep: #163db8;

    --echef-font-sans: "Echef Lari", "Open Sans", "Noto Sans Georgian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

    --echef-space-1: 0.25rem;
    --echef-space-2: 0.5rem;
    --echef-space-3: 0.75rem;
    --echef-space-4: 1rem;
    --echef-space-5: 1.5rem;
    --echef-space-6: 2rem;
    --echef-space-8: 3rem;
    --echef-space-10: 4rem;

    --echef-radius-sm: 6px;
    --echef-radius-md: 10px;
    --echef-radius-lg: 16px;

    --echef-shadow-sm: 0 1px 3px rgba(26, 26, 26, 0.06);
    --echef-shadow-md: 0 8px 24px rgba(26, 26, 26, 0.08);

    --echef-header-height: 72px;
    --echef-audience-bar-height: 0px;

    /* Bootstrap → Rouxbe (loads after main.css) */
    --bs-primary: #a0c64f;
    --bs-primary-rgb: 160, 198, 79;
    --bs-link-color: #8fb247;
    --bs-link-hover-color: #7a9838;
}

html, body {
    font-family: var(--echef-font-sans);
}

/* Legacy main.css blue buttons → Rouxbe green */
.button--primary,
.button.button--primary,
a.button--primary {
    background-color: var(--echef-color-primary) !important;
    border-color: var(--echef-color-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(var(--echef-color-primary-rgb), 0.22) !important;
}

.button--primary:hover,
.button.button--primary:hover,
a.button--primary:hover {
    background-color: var(--echef-color-primary-dark) !important;
    border-color: var(--echef-color-primary-dark) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(var(--echef-color-primary-rgb), 0.32) !important;
}

/* Rouxbe-style yellow secondary CTA — see .button--accent below */

.button--primary-outline,
.button.button--primary-outline,
a.button--primary-outline {
    background-color: transparent !important;
    border: 2px solid var(--echef-color-primary) !important;
    color: var(--echef-color-primary) !important;
    box-shadow: none !important;
}

.button--primary-outline:hover,
.button.button--primary-outline:hover,
a.button--primary-outline:hover {
    background-color: var(--echef-color-primary) !important;
    border-color: var(--echef-color-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(var(--echef-color-primary-rgb), 0.22) !important;
}

/* Rouxbe-style yellow filled CTA */
.button--accent,
.button.button--accent,
a.button--accent {
    background-color: var(--echef-color-accent-warm) !important;
    border: 2px solid var(--echef-color-accent-warm) !important;
    color: var(--echef-color-text) !important;
    box-shadow: 0 8px 20px rgba(var(--echef-color-accent-warm-rgb), 0.18) !important;
}

.button--accent:hover,
.button.button--accent:hover,
a.button--accent:hover {
    background-color: var(--echef-color-accent-warm-dark) !important;
    border-color: var(--echef-color-accent-warm-dark) !important;
    color: var(--echef-color-text) !important;
}

/* Yellow transparent outline */
.button--accent-outline,
.button.button--accent-outline,
a.button--accent-outline {
    background-color: transparent !important;
    border: 2px solid var(--echef-color-accent-warm) !important;
    color: var(--echef-color-text) !important;
    box-shadow: none !important;
}

.button--accent-outline:hover,
.button.button--accent-outline:hover,
a.button--accent-outline:hover {
    background-color: var(--echef-color-accent-warm) !important;
    border-color: var(--echef-color-accent-warm) !important;
    color: var(--echef-color-text) !important;
}

/* Legacy dark header button (was blue on hover) */
.button--dark,
.button.button--dark,
a.button--dark {
    background-color: var(--echef-color-accent-warm) !important;
    border: 2px solid var(--echef-color-accent-warm) !important;
    color: var(--echef-color-text) !important;
}

.button--dark:hover,
.button.button--dark:hover,
a.button--dark:hover {
    background-color: var(--echef-color-accent-warm-dark) !important;
    border-color: var(--echef-color-accent-warm-dark) !important;
    color: var(--echef-color-text) !important;
}

.button--dark-outline {
    background-color: transparent !important;
    border: 2px solid var(--echef-color-nav) !important;
    color: var(--echef-color-nav) !important;
}

.button--dark-outline:hover {
    background-color: var(--echef-color-nav) !important;
    color: #fff !important;
}

.button--text:hover {
    color: var(--echef-color-primary) !important;
}

.bg-primary {
    background-color: var(--echef-color-primary) !important;
}

.text-primary {
    color: var(--echef-color-primary) !important;
}

.btn-primary {
    background-color: var(--echef-color-primary) !important;
    border-color: var(--echef-color-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--echef-color-primary-dark) !important;
    border-color: var(--echef-color-primary-dark) !important;
    color: #fff !important;
}

.btn-outline-primary {
    color: var(--echef-color-primary) !important;
    border-color: var(--echef-color-primary) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover {
    background-color: var(--echef-color-primary) !important;
    border-color: var(--echef-color-primary) !important;
    color: #fff !important;
}

.btn-outline-accent {
    color: var(--echef-color-text) !important;
    border-color: var(--echef-color-accent-warm) !important;
    background-color: transparent !important;
}

.btn-outline-accent:hover {
    background-color: var(--echef-color-accent-warm) !important;
    border-color: var(--echef-color-accent-warm) !important;
    color: var(--echef-color-text) !important;
}

.btn-accent {
    background-color: var(--echef-color-accent-warm) !important;
    border-color: var(--echef-color-accent-warm) !important;
    color: var(--echef-color-text) !important;
}

.btn-accent:hover {
    background-color: var(--echef-color-accent-warm-dark) !important;
    border-color: var(--echef-color-accent-warm-dark) !important;
    color: var(--echef-color-text) !important;
}

.echef-cart-badge,
.cart-nav .badge.bg-primary {
    background-color: var(--echef-color-primary) !important;
    color: #fff !important;
}

.echef-cart__header {
    background-color: var(--echef-color-primary) !important;
    color: #fff !important;
    border: none;
    padding: var(--echef-space-4);
}

.echef-cart .card {
    border-radius: var(--echef-radius-md, 10px);
    overflow: hidden;
}

.echef-cart-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.echef-cart-item__cover,
.echef-cart-item__cover-fallback {
    width: 6rem;
    height: 4rem;
    flex-shrink: 0;
    border-radius: 8px;
    object-fit: cover;
    background: var(--echef-color-border, #e8e6e1);
}

.echef-cart-item__cover-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--echef-color-text-muted, #666);
}

.echef-cart-item__body {
    flex: 1 1 auto;
    min-width: 0;
}

.echef-cart-item__title {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

.echef-cart-item__title a {
    color: inherit;
    text-decoration: none;
}

.echef-cart-item__title a:hover {
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-cart-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.85rem;
}

.echef-cart-item__price {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.5rem;
    font-size: 0.9375rem;
}

.echef-cart-item__price strong {
    color: var(--echef-color-text, #383838);
}

.echef-cart-item__now {
    color: var(--echef-color-text, #1a1a1a);
    font-weight: 700;
}

.echef-cart-item__price del {
    color: var(--echef-color-text-muted, #666);
}

.echef-cart-item__off {
    color: var(--echef-color-off, #d32f2f);
    font-weight: 700;
}

.echef-cart-item__price .echef-cart-item__off {
    font-size: 0.8125rem;
}

.echef-cart-item .echef-level-badge,
.echef-checkout-item .echef-level-badge {
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--echef-color-text-muted, #666);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.echef-cart-summary .text-success {
    color: var(--echef-color-sale, #1b8a3a) !important;
}

.echef-cart-item__actions {
    flex: 0 0 auto;
}

@media (max-width: 575.98px) {
    .echef-cart-item {
        flex-wrap: wrap;
    }

    .echef-cart-item__actions {
        width: 100%;
        text-align: right;
    }
}

.echef-page-section {
    padding: var(--echef-space-6) 0 var(--echef-space-8);
    background: var(--echef-color-bg);
}

/* Base typography helpers */
.echef-page {
    font-family: var(--echef-font-sans);
    color: var(--echef-color-text);
    background: var(--echef-color-bg);
}

.echef-kicker {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--echef-color-primary);
    margin-bottom: var(--echef-space-3);
}

.echef-title-xl {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--echef-color-text);
    margin-bottom: var(--echef-space-4);
}

.echef-lead {
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--echef-color-text-muted);
    max-width: 42rem;
}

/* Header audiences + language live in the single site header */
.echef-audience-nav {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-audience-nav a {
    display: inline-block;
    padding: 0.5rem 0.55rem;
    color: var(--echef-color-text);
    text-decoration: none;
    border-radius: var(--echef-radius-sm);
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
    font-family: var(--echef-font-sans);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.echef-audience-nav a:hover,
.echef-audience-nav a:focus-visible {
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-primary-dark);
}

.echef-audience-nav a.is-active {
    background: rgba(var(--echef-color-primary-rgb), 0.14);
    color: var(--echef-color-text);
}

.echef-header-lang {
    display: flex;
    align-items: center;
    gap: var(--echef-space-2);
    flex-shrink: 0;
}

.echef-header-lang a,
.echef-header-lang__link {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    text-decoration: none;
    opacity: 1;
    border: 0;
    box-shadow: none;
}

.echef-header-lang__flag {
    display: block;
    width: 18px;
    height: 12px;
    flex: none;
}

.echef-header-lang a:hover,
.echef-header-lang__link:hover {
    opacity: 0.85;
}

/* Main site header — pure black, white links, lime hover */
header.echef-site-header,
.echef-site-header {
    background: #000 !important;
    background-color: #000 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
    color: var(--echef-color-header-ink);
    overflow: visible;
    position: sticky;
    top: 0;
    z-index: 10050;
}

.echef-site-header.nav-shadow {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

.echef-site-header .navbar {
    min-height: var(--echef-header-height);
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    overflow: visible;
}

.echef-site-header__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: nowrap;
}

@media (min-width: 1200px) {
    .echef-site-header .navbar > .container.echef-site-header__row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        justify-content: initial;
        column-gap: 1.25rem;
    }

    .echef-site-header .navbar-brand {
        grid-column: 1;
        justify-self: start;
    }

    .echef-site-header__primary {
        justify-self: center;
        grid-column: 2;
    }

    .echef-site-header .rightContent {
        justify-self: end;
        grid-column: 3;
    }
}

.echef-site-header__mobile-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-left: auto;
    flex-shrink: 0;
}

.echef-site-header__mobile-actions .echef-header-lang {
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
}

.echef-site-header__mobile-actions .cart-nav {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-decoration: none;
    flex-shrink: 0;
}

.echef-site-header__mobile-actions .menu-icon-container {
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
}

.echef-site-header__mobile-actions .menu-icon {
    margin-left: 0;
    margin-top: 0;
}

.echef-site-header__mobile-actions .echef-header-lang__flag,
.navbar-mobile__top-tools .echef-header-lang__flag {
    width: 24px;
    height: 16px;
}

.navbar-mobile__top-tools {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-shrink: 0;
}

@media (min-width: 1200px) {
    .echef-site-header__mobile-actions {
        display: none !important;
    }
}

.echef-site-header .navbar-brand {
    margin-right: 0;
    padding-top: 0.35rem;
    padding-bottom: 0.4rem;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    line-height: 0;
}

.echef-site-header .navbar-brand img,
.navbar-mobile__top .echef-brand-logo {
    display: block;
    height: 40px;
    width: auto;
    max-width: min(168px, 46vw);
    overflow: visible;
}

@media (min-width: 1200px) {
    .echef-site-header .navbar-brand {
        flex: 0 0 auto;
        overflow: visible;
    }

    .echef-site-header .navbar-brand img {
        height: 52px;
        max-width: 248px;
    }
}

.navbar-mobile__top {
    overflow: visible;
}

.navbar-mobile__top a {
    display: inline-block;
    overflow: visible;
    line-height: 0;
    padding-bottom: 0.2rem;
}

.echef-site-header__primary {
    align-items: center;
    justify-content: center;
}

.echef-site-header__sep {
    display: inline-block;
    width: 1px;
    height: 1.25rem;
    background: var(--echef-color-border);
    flex-shrink: 0;
}

.echef-site-header .nav-link,
.echef-site-header .navbar-nav .nav-item .nav-link {
    color: var(--echef-color-header-ink) !important;
    font-family: var(--echef-font-sans);
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.25;
    padding: 0.4rem 0.15rem !important;
    white-space: nowrap;
    letter-spacing: 0;
    transition: color 0.15s ease;
}

.echef-site-header .navbar-nav .nav-item {
    margin-right: 0 !important;
}

.echef-site-header .navbar-nav {
    gap: 1.75rem;
    flex-direction: row;
    flex-wrap: nowrap;
}

.echef-site-header .echef-cabinet-nav {
    gap: 1.15rem;
}

.echef-site-header .rightContent {
    gap: 0.5rem;
    flex-shrink: 0;
}

.echef-site-header .rightContent .cart-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.echef-site-header .rightContent .button--text {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 0.9375rem;
    color: var(--echef-color-header-ink) !important;
}

.echef-site-header .rightContent .button--text:hover,
.echef-site-header .rightContent .button--text:focus-visible {
    color: var(--echef-color-primary) !important;
}

.echef-site-header .rightContent .button--accent {
    padding: 0.4rem 0.85rem;
    font-size: 0.8125rem;
}

.echef-site-header .user-image img {
    height: 36px;
    width: 36px;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 18%;
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .echef-site-header .nav-link {
        font-size: 0.9375rem;
    }

    .echef-site-header .navbar-nav {
        gap: 1.25rem;
    }

    .echef-site-header .navbar-brand img {
        height: 48px;
        width: auto;
        max-width: 232px;
    }
}

.echef-site-header .nav-link:hover,
.echef-site-header .nav-link:focus-visible,
.echef-site-header .nav-link.is-active,
.echef-site-header .navbar-nav .nav-item .nav-link:hover,
.echef-site-header .navbar-nav .nav-item .nav-link:focus-visible,
.echef-site-header .navbar-nav .nav-item .nav-link.is-active {
    color: var(--echef-color-primary) !important;
}

.echef-site-header .navbar-nav .nav-item .nav-link::after,
.echef-site-header .navbar-nav .nav-item .nav-link:hover::after,
.echef-site-header .navbar-nav .nav-item .nav-link.active::after,
.echef-site-header .navbar-nav .nav-item .nav-link.is-active::after {
    content: none !important;
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    background: none !important;
}

.echef-cabinet-nav .nav-link.is-active,
.echef-cabinet-nav .navbar-mobile__menu-link.is-active,
.echef-site-header .echef-cabinet-nav .nav-item .nav-link.is-active {
    color: var(--echef-color-primary) !important;
    font-weight: 600;
}

.echef-cabinet-nav .echef-notif-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.echef-notif-bell__badge {
    position: absolute;
    top: -6px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background-color: var(--echef-color-primary);
    color: #fff !important;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

.navbar-mobile__menu-link .echef-notif-bell__badge {
    position: static;
    display: inline-block;
    margin-left: 0.4rem;
    vertical-align: middle;
}

.echef-site-header .header__Search-button,
.echef-site-header .cart-nav,
.echef-site-header .menu-icon-container,
.echef-site-header .navbar-mobile--cross {
    color: var(--echef-color-header-ink);
}

.echef-site-header .header__Search-button:hover,
.echef-site-header .header__Search-button:focus-visible,
.echef-site-header .cart-nav:hover,
.echef-site-header .cart-nav:focus-visible,
.echef-site-header .menu-icon-container:hover,
.echef-site-header .navbar-mobile--cross:hover {
    color: var(--echef-color-primary);
}

.echef-site-header .menu-icon,
.echef-site-header .menu-icon::before,
.echef-site-header .menu-icon::after {
    background-color: currentColor;
}

.echef-site-header .menu-icon.transformed {
    background-color: transparent !important;
}

.echef-site-header .menu-icon-container {
    color: var(--echef-color-header-ink);
}

.echef-site-header .menu-icon-container:hover .menu-icon,
.echef-site-header .menu-icon-container:hover .menu-icon::before,
.echef-site-header .menu-icon-container:hover .menu-icon::after {
    background-color: var(--echef-color-primary);
}

.echef-site-header .navbar-mobile,
.echef-site-header .navbar-mobile.show {
    background-color: var(--echef-color-header);
    color: var(--echef-color-header-ink);
    top: var(--echef-header-height);
    height: calc(100dvh - var(--echef-header-height));
    z-index: 10040;
}

.echef-site-header .navbar-mobile--cross {
    background-color: transparent !important;
}

.echef-site-header .navbar-mobile__menu-list li a:hover,
.echef-site-header .navbar-mobile__menu-list li.open a,
.echef-site-header .navbar-mobile__menu-list li.active a {
    background-color: transparent !important;
}

.echef-site-header .navbar-mobile__menu-link,
.echef-site-header .navbar-mobile__menu-list li a span {
    color: var(--echef-color-header-ink) !important;
    font-size: 1.125rem;
    font-weight: 600;
}

html[lang="ka"] .echef-site-header .nav-link,
html[lang="ka"] .echef-site-header .navbar-nav .nav-item .nav-link,
html[lang="ka"] .echef-site-header .navbar-mobile__menu-link,
html[lang="ka"] .echef-site-header .navbar-mobile__menu-list li a span {
    font-weight: 400;
}

.echef-site-header .navbar-mobile__menu-list li a:hover .navbar-mobile__menu-link,
.echef-site-header .navbar-mobile__menu-link.is-active {
    color: var(--echef-color-primary) !important;
}

.echef-site-header .navbar-mobile .social-icons li {
    border-color: #42414b;
}

.echef-site-header .navbar-mobile .social-icons a {
    color: var(--echef-color-header-ink);
}

.echef-site-header .navbar-mobile .social-icons li:hover {
    background-color: var(--echef-color-primary);
    border-color: transparent;
}

.echef-site-header .navbar-mobile .social-icons li:hover a {
    color: #fff;
}

.echef-site-header .button--accent,
.echef-site-header .button--dark {
    font-weight: 600;
}

/* Header search overlay: keep the dark glass, drop the Crocus blue square */
body.echef-search-open {
    overflow: hidden;
}

.echef-search-overlay.overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 4000;
    width: 100%;
    height: 100%;
    background: rgba(160, 198, 79, 0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.echef-search-overlay.overlay.is-open,
.echef-search-overlay.overlay[style*='display: block'] {
    display: block;
}

.echef-search-overlay__close.closebtn,
.echef-search-overlay .closebtn {
    position: absolute;
    top: 1.25rem;
    right: 1.5rem;
    z-index: 1;
    float: none;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    background: transparent !important;
    color: var(--echef-color-primary-dark);
    font-size: 2.75rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    opacity: 1;
}

.echef-search-overlay__close.closebtn:hover,
.echef-search-overlay .closebtn:hover,
.echef-search-overlay__close:focus-visible {
    opacity: 1;
    color: var(--echef-color-primary) !important;
    background: transparent !important;
}

.echef-search-overlay .overlay-content,
.echef-search-overlay__bar {
    display: flex;
    align-items: stretch;
    float: none;
    width: min(36rem, calc(100% - 2rem));
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 253, 246, 0.92);
    border: 1.5px solid var(--echef-color-primary-dark);
    border-radius: 999px;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 16px 40px rgba(18, 24, 32, 0.18);
}

.echef-search-overlay input[type='text'],
.echef-search-overlay input[type='search'],
.echef-search-overlay__input {
    float: none;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 3.5rem;
    margin: 0;
    padding: 0 1.5rem 0 0.15rem;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #121820 !important;
    -webkit-text-fill-color: #121820;
    caret-color: #121820;
    font-size: 1.0625rem;
    line-height: 3.5rem;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

.echef-search-overlay input::placeholder {
    color: #2a3548 !important;
    -webkit-text-fill-color: #2a3548;
    opacity: 1;
}

.echef-search-overlay input::-webkit-input-placeholder {
    color: #2a3548 !important;
    -webkit-text-fill-color: #2a3548;
    opacity: 1;
}

.echef-search-overlay input::-moz-placeholder {
    color: #2a3548 !important;
    opacity: 1;
}

.echef-search-overlay input:focus,
.echef-search-overlay input:hover {
    outline: none;
    background: transparent !important;
    color: #121820 !important;
    -webkit-text-fill-color: #121820;
}

.echef-search-overlay input[type='search']::-webkit-search-decoration,
.echef-search-overlay input[type='search']::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.echef-search-overlay .overlay-content button[type='submit'],
.echef-search-overlay__submit {
    float: none;
    flex: 0 0 3.5rem;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #121820;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.echef-search-overlay .overlay-content button[type='submit']:hover,
.echef-search-overlay .overlay-content button[type='submit']:focus-visible,
.echef-search-overlay__submit:hover,
.echef-search-overlay__submit:focus-visible {
    background: transparent !important;
    color: var(--echef-color-primary-dark);
    outline: none !important;
}

.echef-search-overlay__submit svg {
    display: block;
}

@media (max-width: 574px) {
    .echef-search-overlay__close.closebtn,
    .echef-search-overlay .closebtn {
        top: 0.75rem;
        right: 0.75rem;
        font-size: 2rem;
    }
}

/* Buttons */
.echef-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--echef-space-2);
    padding: 0.75rem 1.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: var(--echef-radius-md);
    border: 2px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.echef-btn--primary {
    background: var(--echef-color-primary);
    color: #fff;
    border-color: var(--echef-color-primary);
}

.echef-btn--primary:hover {
    background: var(--echef-color-primary-dark);
    border-color: var(--echef-color-primary-dark);
    color: #fff;
}

.echef-btn--gift {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    background: #fff;
    color: #8b1519;
    border-color: #8b1519;
}

.echef-btn--gift i {
    color: inherit;
}

.echef-btn--gift:hover,
.echef-btn--gift:focus-visible {
    background: #fff8f8;
    border-color: #8b1519;
    color: #8b1519;
}

.echef-gift-course-price {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1a1a1a;
}

.echef-btn--hero {
    background: linear-gradient(180deg, #2f63f0 0%, var(--echef-hero-blue) 100%);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 20px rgba(30, 78, 216, 0.32);
}

.echef-btn--hero:hover,
.echef-btn--hero:focus-visible {
    background: linear-gradient(180deg, #3b6ef5 0%, var(--echef-hero-blue-deep) 100%);
    border-color: transparent;
    color: #fff;
}

.echef-btn--outline {
    background: transparent;
    color: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
}

.echef-btn--outline:hover {
    background: var(--echef-color-primary);
    color: #fff;
}

.echef-btn--accent {
    background: var(--echef-color-accent-warm);
    color: var(--echef-color-text);
    border-color: var(--echef-color-accent-warm);
}

.echef-btn--accent:hover {
    background: var(--echef-color-accent-warm-dark);
    border-color: var(--echef-color-accent-warm-dark);
    color: var(--echef-color-text);
}

.echef-btn--accent-outline {
    background: transparent;
    color: var(--echef-color-text);
    border-color: var(--echef-color-accent-warm);
}

.echef-btn--accent-outline:hover {
    background: var(--echef-color-accent-warm);
    border-color: var(--echef-color-accent-warm);
    color: var(--echef-color-text);
}

.echef-btn--secondary {
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
    border-color: var(--echef-color-border);
}

.echef-btn--secondary:hover {
    background: var(--echef-color-border);
    color: var(--echef-color-text);
}

.echef-btn--sm {
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
}

/* Cabinet notes — same filled CTA on list / show / edit / create */
.btn-gradient-primary {
    background: linear-gradient(135deg, #e40178 0%, #764ba2 100%);
    border: none;
    color: #fff !important;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-gradient-primary:hover,
.btn-gradient-primary:focus {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 25px rgba(228, 1, 120, 0.28);
}
.btn-gradient-success {
    background: linear-gradient(135deg, #00AF91 0%, #009579 100%);
    border: none;
    color: #fff !important;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
}

.echef-btn.is-disabled,
.echef-btn[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
    cursor: not-allowed;
}

/* Landing sections */
.echef-landing-hero {
    padding: var(--echef-space-6) 0 var(--echef-space-5);
    background: linear-gradient(180deg, #fff 0%, var(--echef-color-bg) 100%);
}

.echef-about-hero__p,
.echef-about-hero__platform {
    max-width: 40rem;
    margin: 0.75rem 0 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--echef-color-text);
}

.echef-about-hero__platform {
    color: var(--echef-color-text-muted);
}

.echef-about-strap {
    display: inline-block;
    margin: 1.5rem 0 0;
    padding: 0.55rem 0.9rem;
    border: 1px solid var(--echef-color-border);
    background: #000;
    color: var(--echef-color-primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.4;
}

.echef-about-facts {
    padding: 0 0 var(--echef-space-6);
}

.echef-about-facts__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

@media (min-width: 992px) {
    .echef-about-facts__grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.echef-about-fact {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: 0.9rem 1rem;
    min-height: 100%;
}

.echef-about-fact strong {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.95rem;
    color: var(--echef-color-text);
}

.echef-about-fact span {
    font-size: 0.85rem;
    line-height: 1.4;
    color: var(--echef-color-text-muted);
}

.echef-about-split {
    padding: 0 0 var(--echef-space-8);
}

.echef-about-split__card h2 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.echef-about-split__card .echef-btn {
    margin-top: 1.1rem;
}

.echef-about-split__contact {
    margin: 1.5rem 0 0;
}

.echef-about-split__contact a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.echef-landing-blocks {
    padding: var(--echef-space-5) 0;
}

.echef-block-card {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-6);
    height: 100%;
    box-shadow: var(--echef-shadow-sm);
}

.echef-block-card h3 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-3);
    color: var(--echef-color-text);
}

.echef-block-card p {
    color: var(--echef-color-text-muted);
    margin: 0;
    line-height: 1.6;
    font-size: 0.9375rem;
}

.echef-block-card__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--echef-radius-md);
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: var(--echef-space-4);
}

.echef-landing-cta {
    padding: var(--echef-space-6) 0 var(--echef-space-8);
}

.echef-cta-panel {
    background: var(--echef-color-nav);
    color: #fff;
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-6);
    text-align: center;
}

.echef-cta-panel h2 {
    color: #fff;
    font-size: clamp(1.35rem, 3vw, 2rem);
    margin-bottom: var(--echef-space-3);
}

.echef-cta-panel p {
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: var(--echef-space-5);
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}

.echef-cta-panel .echef-btn--accent {
    color: var(--echef-color-text);
}

.echef-landing-hero .echef-btn + .echef-btn,
.echef-landing-hero .echef-btn + .button {
    margin-left: var(--echef-space-2);
}

.echef-btn--light {
    background: #fff;
    color: var(--echef-color-primary-dark);
    border-color: #fff;
}

.echef-btn--light:hover {
    background: var(--echef-color-bg);
    color: var(--echef-color-primary-dark);
}

/* Footer: same pure black as the header */
.footer.echef-footer,
.footer.echef-footer.footer--two {
    background: #000 !important;
    background-color: #000 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 2.5rem !important;
    padding-bottom: 1.75rem;
}

.echef-footer .echef-footer__row {
    --bs-gutter-x: 1rem;
}

.echef-footer .footer__wrapper {
    margin-bottom: 1.25rem;
    max-width: none;
}

.echef-footer .footer__wrapper_logo {
    overflow: visible;
    line-height: 0;
    margin-bottom: 0.35rem;
    padding-bottom: 0.2rem;
}

.echef-footer .footer__wrapper_logo a {
    display: inline-block;
    overflow: visible;
    line-height: 0;
}

.echef-footer .footer__wrapper_logo img {
    display: block;
    width: auto;
    height: 68px;
    max-width: 320px;
    overflow: visible;
}

@media (max-width: 574px) {
    .echef-footer .footer__wrapper_logo img {
        width: auto !important;
        height: 56px;
        max-width: min(100%, 280px);
    }
}

.echef-footer .echef-footer__tagline {
    max-width: 22rem;
    margin: 0.9rem 0 0;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.35;
    color: var(--echef-color-primary);
}

.echef-footer .echef-footer__links {
    --bs-gutter-x: 0.75rem;
}

@media (min-width: 992px) {
    .echef-footer .echef-footer__links {
        --bs-gutter-x: 1rem;
    }
}

.echef-footer .footer__list h6 {
    font-size: 0.9375rem;
    line-height: 1.3;
    margin-bottom: 0.75rem;
}

.echef-footer .footer__list ul li {
    margin-bottom: 0.35rem;
}

.echef-footer .footer__list ul li a {
    font-size: 0.875rem;
    line-height: 1.4;
}

.echef-footer .footer__wrapper_social ul li a {
    color: #fff;
}

.echef-footer .footer__wrapper_social ul li a:hover {
    background-color: var(--echef-color-primary);
    border-color: transparent;
    color: #fff;
}

/* Audience nav inside mobile drawer (light background) */
.navbar-mobile__menu .echef-audience-nav {
    border-bottom: 1px solid var(--echef-color-border);
    padding-bottom: var(--echef-space-3);
    margin-bottom: var(--echef-space-3);
    flex-wrap: wrap;
}

.navbar-mobile__menu .echef-audience-nav a {
    color: var(--echef-color-text);
    padding: var(--echef-space-2) var(--echef-space-3);
    font-size: 0.875rem;
}

.navbar-mobile__menu .echef-audience-nav a:hover,
.navbar-mobile__menu .echef-audience-nav a.is-active {
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-primary-dark);
}

@media (max-width: 767.98px) {
    .echef-landing-hero {
        padding: var(--echef-space-6) 0;
    }
}

.nav-mobile__footer {
    margin-top: auto;
    padding: 0 1.25rem 1.25rem;
}

.nav-mobile__account {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.nav-mobile__account-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--echef-color-header-ink);
    border: 1px solid #42414b;
}

.nav-mobile__account-link:hover,
.nav-mobile__account-link:focus-visible {
    color: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
}

.nav-mobile__account-link--accent {
    background: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
    color: #111;
}

.nav-mobile__account-link--accent:hover,
.nav-mobile__account-link--accent:focus-visible {
    color: #111;
    filter: brightness(1.05);
}

.nav-mobile__account-link--muted {
    font-weight: 500;
    opacity: 0.85;
}

.navbar-mobile__top .echef-header-lang {
    justify-content: flex-end;
}

/* Focus visibility (a11y) */
.echef-audience-nav a:focus-visible,
.echef-btn:focus-visible {
    outline: 2px solid var(--echef-color-accent);
    outline-offset: 2px;
}

.echef-site-header .nav-link:focus-visible,
.echef-site-header .button--text:focus-visible,
.echef-site-header .header__Search-button:focus-visible,
.echef-site-header .cart-nav:focus-visible {
    outline: 2px solid var(--echef-color-primary);
    outline-offset: 2px;
}

/* Catalog (Stage 2) */
.echef-catalog {
    padding: var(--echef-space-5) 0 var(--echef-space-6);
    background: #fff;
}

.echef-catalog__header .echef-kicker {
    margin-bottom: 0.45rem;
    background: transparent !important;
}

.echef-page .echef-catalog .container,
.echef-page .echef-catalog__header,
.echef-page .echef-catalog__header h1,
.echef-page .echef-catalog__header p,
.echef-page .echef-catalog__breadcrumb,
.echef-page .echef-catalog-toolbar {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none;
}

.echef-catalog .echef-course-card,
.echef-catalog .echef-program-card {
    background: #fff;
    border: 1px solid rgba(56, 56, 56, 0.14);
    box-shadow: 0 10px 28px rgba(26, 26, 26, 0.08);
}

.echef-catalog .echef-course-card:hover,
.echef-catalog .echef-program-card:hover {
    border-color: rgba(160, 198, 79, 0.55);
    box-shadow: 0 16px 36px rgba(160, 198, 79, 0.16);
}

.echef-catalog__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem 0.4rem;
    margin-bottom: 0.35rem;
    padding: 0;
    font-size: 0.8125rem;
    line-height: 1.35;
    font-weight: 400;
    color: var(--echef-color-primary);
    background: transparent;
}

.echef-catalog__breadcrumb a,
.echef-catalog__breadcrumb span {
    display: inline;
    color: var(--echef-color-primary);
    font-weight: 400;
    text-decoration: none;
}

.echef-catalog__breadcrumb a:hover {
    color: var(--echef-color-primary-dark);
    text-decoration: underline;
}

.echef-catalog__header {
    margin-bottom: var(--echef-space-5);
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent !important;
}

.echef-catalog__header h1 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-catalog__header p {
    color: var(--echef-color-text-muted);
    margin: 0;
    max-width: 40rem;
}

.echef-catalog__layout {
    align-items: flex-start;
}

.echef-catalog__layout > [class*="col-"] {
    min-width: 0;
}

.echef-catalog-filters-toggle {
    display: flex;
    align-items: center;
    gap: var(--echef-space-2);
    width: 100%;
    margin-bottom: var(--echef-space-4);
    padding: var(--echef-space-3) var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    font-weight: 600;
    color: var(--echef-color-text);
    cursor: pointer;
}

.echef-catalog-sidebar {
    background: var(--echef-color-surface);
    border: 1px solid rgba(56, 56, 56, 0.14);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-4);
    box-shadow: 0 10px 28px rgba(26, 26, 26, 0.07);
    position: sticky;
    top: calc(var(--echef-header-height) + var(--echef-space-4));
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.echef-catalog-filters-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.echef-catalog-sidebar__title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-4);
    padding-bottom: var(--echef-space-3);
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-filter-group {
    margin-bottom: var(--echef-space-4);
}

.echef-filter-group:last-of-type {
    margin-bottom: var(--echef-space-5);
}

.echef-filter-group label,
.echef-filter-group__label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--echef-space-2);
}

.echef-filter-group .form-control,
.echef-filter-group .form-select {
    font-size: 0.9375rem;
    border-color: var(--echef-color-border);
    border-radius: var(--echef-radius-sm);
}

.echef-filter-group .form-control:focus,
.echef-filter-group .form-select:focus {
    border-color: var(--echef-color-primary-light);
    box-shadow: 0 0 0 3px rgba(var(--echef-color-primary-rgb), 0.15);
}

.echef-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
}

.echef-filter-chip {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    border-radius: 999px;
    border: 1px solid var(--echef-color-border);
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}

.echef-filter-chip:hover {
    border-color: var(--echef-color-primary-light);
    color: var(--echef-color-primary-dark);
}

.echef-filter-chip.is-active {
    background: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
    color: #fff;
}

.echef-catalog-sidebar__actions {
    display: flex;
    flex-direction: column;
    gap: var(--echef-space-2);
    margin-top: var(--echef-space-2);
    padding-top: var(--echef-space-4);
    border-top: 1px solid var(--echef-color-border);
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.echef-catalog-sidebar__actions .echef-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    text-align: center;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
    flex: 0 0 auto;
}

.echef-catalog-sidebar__actions button.echef-btn {
    border: 2px solid transparent;
    appearance: none;
    -webkit-appearance: none;
}

.echef-catalog-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
}

.echef-catalog-toolbar__count {
    font-size: 0.9375rem;
    color: var(--echef-color-text-muted);
}

.echef-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    margin-bottom: var(--echef-space-4);
}

.echef-active-filter {
    display: inline-flex;
    align-items: center;
    gap: var(--echef-space-2);
    padding: 0.25rem 0.65rem;
    font-size: 0.8125rem;
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-primary-dark);
    border-radius: 999px;
}

.echef-active-filter__remove {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    line-height: 1;
    opacity: 0.7;
}

.echef-active-filter__remove:hover {
    opacity: 1;
}

.echef-catalog-grid > [class*="col-"] {
    display: flex;
}

.echef-catalog-grid .echef-program-card,
.echef-catalog-grid .echef-course-card {
    width: 100%;
}

.echef-course-card,
.echef-program-card {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--echef-shadow-sm);
    transition: box-shadow 0.2s, transform 0.2s;
    color: var(--echef-color-text);
}

.echef-course-card:hover,
.echef-program-card:hover {
    box-shadow: var(--echef-shadow-md);
    transform: translateY(-2px);
}

.echef-course-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--echef-color-border);
}

.echef-course-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.echef-course-card__badge {
    position: absolute;
    top: var(--echef-space-3);
    left: var(--echef-space-3);
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 999px;
    background: var(--echef-color-accent);
    color: #1a1a1a;
}

.echef-course-card__rating {
    position: absolute;
    top: var(--echef-space-3);
    left: var(--echef-space-3);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(16, 19, 87, 0.08);
    box-shadow: 0 4px 14px rgba(16, 19, 87, 0.12);
}

.echef-star-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    line-height: 1;
    font-size: 0.72rem;
    color: #f5b301;
}

.echef-star-rating .far.fa-star {
    color: #e0e0e0;
}

.echef-course-card__rating-value {
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    color: var(--echef-color-text, #383838);
}

.echef-course-card__badge--hit {
    z-index: 3;
    right: auto;
    background: #d4a017;
    color: #1a1a1a;
    border-radius: 0 0 6px 0;
    top: 0;
    left: 0;
}

.echef-course-card__badge--free {
    z-index: 3;
    left: auto;
    right: 0;
    top: 0;
    border-radius: 0 0 0 6px;
    background: var(--echef-color-primary);
    color: #1a1a1a;
}

.echef-course-card__badge--path {
    z-index: 3;
    left: auto;
    right: 0;
    top: auto;
    bottom: 0;
    border-radius: 6px 0 0 0;
    background: var(--echef-color-navy, #1e3a5f);
    color: #fff;
}

.echef-course-card__flags {
    position: absolute;
    z-index: 3;
    left: 0.4rem;
    right: auto;
    bottom: 0.4rem;
    max-width: 72%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    pointer-events: none;
}

.echef-course-card__badge--waitlist,
.echef-course-card__badge--installment {
    position: static;
    top: auto;
    left: auto;
    max-width: 100%;
    padding: 0.1rem 0.38rem;
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 1.25;
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(16, 19, 87, 0.16);
}

.echef-course-card__badge--waitlist {
    background: #8b1519;
    color: #fff;
}

.echef-course-card__badge--installment {
    background: #101357;
    color: #fff;
}

.echef-catalog-section {
    margin: 0 0 2.25rem;
}

.echef-catalog-section__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    padding: 0 0 0 0.85rem;
    border-left: 3px solid #8b1519;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none;
}

.echef-catalog-section__head h2 {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 700;
    color: #1a1a1a;
    background: transparent !important;
}

.echef-catalog-section__all {
    flex-shrink: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: #8b1519;
    text-decoration: none;
}

.echef-catalog-section__all:hover {
    text-decoration: underline;
}

.echef-course-card--showcase {
    position: relative;
    overflow: hidden;
}

.echef-course-card--showcase .echef-course-card__photo {
    display: block;
    height: 100%;
}

.echef-course-card--showcase .echef-course-card__hover {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    padding: 1.05rem 1rem 1rem;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s;
}

.echef-course-card--showcase:hover .echef-course-card__hover,
.echef-course-card--showcase:focus-within .echef-course-card__hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s;
}

.echef-course-card--showcase .echef-course-card__bar--rest {
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

.echef-course-card--showcase:hover .echef-course-card__bar--rest,
.echef-course-card--showcase:focus-within .echef-course-card__bar--rest {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s;
}

.echef-course-card--showcase .echef-course-card__hover .echef-course-card__title {
    margin-bottom: 0.4rem;
}

.echef-course-card--showcase .echef-course-card__hover .echef-course-card__facts {
    margin-bottom: 0.75rem;
}

.echef-course-card--showcase .echef-course-card__hover .echef-course-card__bar {
    flex: none;
    margin: 0 0 0.75rem;
    border-radius: 0;
}

.echef-course-card--showcase .echef-course-card__hover .echef-course-card__desc {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0 0 0.9rem;
    overflow: hidden;
    color: #9a9a9a;
    line-height: 1.45;
    -webkit-mask-image: linear-gradient(180deg, #000 62%, transparent);
    mask-image: linear-gradient(180deg, #000 62%, transparent);
}

.echef-course-card__enroll {
    border-radius: 999px;
    border-color: #8b1519;
    color: #8b1519;
    background: transparent;
    padding: 0.45rem 1.15rem;
}

.echef-course-card__enroll:hover,
.echef-course-card__enroll:focus-visible {
    background: #8b1519;
    border-color: #8b1519;
    color: #fff;
}

.echef-course-card__hover-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: auto;
}

.echef-course-card__more {
    font-size: 0.875rem;
    font-weight: 700;
    color: #8b1519;
    text-decoration: none;
}

.echef-course-card__more:hover {
    text-decoration: underline;
}

.echef-course-card__facts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.4rem;
    margin: 0;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-level-dots {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
}

.echef-level-dots i {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: #8b1519;
}

.echef-course-card__facts-sep {
    display: inline-block;
    width: 1px;
    height: 0.85em;
    margin: 0 0.15rem;
    background: #c8c4bb;
    vertical-align: middle;
}

.echef-course-card--showcase .echef-course-card__body {
    padding: 0.85rem 0.95rem 0.55rem;
}

.echef-course-card--showcase .echef-course-card__title--rest a,
.echef-course-card--showcase .echef-course-card__hover .echef-course-card__title a {
    color: #8b1519;
}

.echef-course-card--showcase .echef-course-card__title--rest a:hover,
.echef-course-card--showcase .echef-course-card__hover .echef-course-card__title a:hover {
    color: #6e1014;
}

.echef-course-card__bar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    margin-top: auto;
    min-height: 2.85rem;
    position: relative;
    z-index: 5;
    color: #fff;
}

.echef-course-card__bar-meta {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 0.45rem 0.65rem;
    min-width: 0;
    padding: 0.5rem 0.8rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
    background: #5c731f;
}

.echef-course-card__bar .echef-course-price-pair {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    margin: 0;
    padding: 0.5rem 0.9rem;
    border-left: 0;
    color: #1a1a1a;
    font-weight: 800;
    font-size: 1.05rem;
    background: var(--echef-color-primary);
}

.echef-course-card__bar .echef-course-price-pair del {
    color: rgba(26, 26, 26, 0.5);
    font-weight: 500;
}

.echef-course-card__bar .echef-course-promo {
    margin: 0;
}

.echef-course-card__bar .echef-course-promo__chip {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.echef-course-card--showcase .echef-course-card__body {
    padding: 0.85rem 0.95rem 0.55rem;
    flex: 1 0 auto;
}

.echef-course-card--showcase .echef-course-card__badge,
.echef-course-card--showcase .echef-course-card__flags {
    transition: opacity 0.4s ease;
}

.echef-course-card--showcase:hover .echef-course-card__badge,
.echef-course-card--showcase:focus-within .echef-course-card__badge,
.echef-course-card--showcase:hover .echef-course-card__flags,
.echef-course-card--showcase:focus-within .echef-course-card__flags {
    opacity: 0;
}

@media (hover: none) {
    .echef-course-card--showcase .echef-course-card__hover {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        bottom: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        padding: 0.95rem 1rem 0.35rem;
    }

    .echef-course-card--showcase .echef-course-card__body,
    .echef-course-card--showcase .echef-course-card__bar--rest {
        display: none;
    }
}

.echef-course-card__body,
.echef-program-card__body {
    padding: var(--echef-space-4);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.echef-course-card__body {
    padding: 0.7rem 0.9rem 0.8rem;
}

.echef-course-card__price-row,
.echef-course-buy-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 0.85rem;
    min-width: 0;
}

.echef-course-price-pair {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    min-width: 0;
}

.echef-course-price-pair del {
    display: inline;
    margin: 0;
    font-size: 0.82em;
    font-weight: 400;
    color: var(--echef-color-text-muted, #666);
    white-space: nowrap;
}

.echef-course-installment {
    padding: 0 1rem 0.75rem;
}

.echef-course-installment__offer,
.echef-course-installment__note {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.4;
}

.echef-course-installment__offer {
    font-weight: 600;
}

.echef-course-installment__note {
    margin-top: 0.25rem;
    color: #5c5c5c;
}

.echef-course-part-note {
    margin: 0 1rem 0.75rem;
    font-size: 0.88rem;
    line-height: 1.4;
    color: #5c5c5c;
}

.echef-course-promo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0 0 0 auto;
    line-height: 1;
}

.echef-course-promo__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.14rem 0.5rem;
    border-radius: 999px;
    background: var(--echef-hero-blue, #1e4ed8);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.25;
    white-space: nowrap;
}

.echef-course-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.3rem 0.5rem;
    margin-bottom: 0.4rem;
}

.echef-program-card .echef-course-card__meta {
    justify-content: space-between;
    margin-bottom: var(--echef-space-2);
}

.echef-course-card__category,
.echef-program-card__goal {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-primary);
}

.echef-level-badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: var(--echef-radius-sm);
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary-dark);
}

.echef-format-badge {
    display: inline-block;
    font-size: 0.75rem;
    color: var(--echef-color-text-muted);
    margin-bottom: 0;
    line-height: 1.2;
}

.echef-program-card .echef-format-badge {
    margin-bottom: var(--echef-space-2);
}

.echef-course-card__title,
.echef-program-card__title {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: var(--echef-space-2);
}

.echef-course-card__title {
    font-size: 1.15rem;
    line-height: 1.28;
    margin-bottom: 0.35rem;
}

.echef-course-card__format {
    margin: 0 0 0.4rem;
    font-size: 0.75rem;
    color: var(--echef-color-text-muted);
    line-height: 1.3;
}

.echef-course-card__chef {
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-course-card__part-note {
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--echef-color-text-muted);
}

.echef-program-card__title a {
    color: #8b1519;
    text-decoration: none;
}

.echef-catalog--roadmaps {
    padding-bottom: 0.5rem;
}

.echef-catalog--roadmaps .echef-catalog__header {
    margin-bottom: 1rem;
}

.echef-paths-trust {
    margin: 0.35rem 0 0;
    max-width: 40rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--echef-color-text-muted);
}

.echef-roadmaps-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.55rem;
}

.echef-roadmaps-hero__trust span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.32rem 0.55rem;
    border-radius: 999px;
    background: rgba(160, 198, 79, 0.13);
    color: #4b611b;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.2;
}

.echef-roadmaps-hero__actions {
    margin-top: 0.75rem;
}

.echef-roadmaps-section {
    margin-bottom: 0.95rem;
}

.echef-roadmaps-section__head {
    margin-bottom: 0.65rem;
}

.echef-roadmaps-section__head--split {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
}

.echef-roadmaps-section__head h2 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
}

.echef-roadmaps-section__head p {
    margin: 0.2rem 0 0;
    max-width: 44rem;
    color: var(--echef-color-text-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.echef-path-picker {
    margin-bottom: 0.95rem;
    padding: 0.9rem;
    border: 1px solid rgba(56, 56, 56, 0.12);
    border-radius: 16px;
    background: #fafaf8;
}

.echef-path-picker__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 1rem;
    margin-bottom: 0.7rem;
}

.echef-path-picker__head h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
}

.echef-path-picker__head p {
    margin: 0;
    color: var(--echef-color-text-muted);
    font-size: 0.9rem;
}

.echef-path-picker__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.echef-path-picker__card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0.1rem 0.55rem;
    align-items: center;
    min-width: 0;
    padding: 0.7rem;
    border: 1px solid rgba(160, 198, 79, 0.32);
    border-radius: 12px;
    background: #fff;
    color: #1a1a1a;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.echef-path-picker__card:hover,
.echef-path-picker__card:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(160, 198, 79, 0.65);
    box-shadow: 0 10px 24px rgba(160, 198, 79, 0.16);
    color: #1a1a1a;
}

.echef-path-picker__icon {
    grid-row: 1 / span 2;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(160, 198, 79, 0.15);
    color: #5c731f;
}

.echef-path-picker__card strong {
    font-size: 0.9rem;
    line-height: 1.2;
}

.echef-path-picker__card span:not(.echef-path-picker__icon) {
    color: var(--echef-color-text-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.echef-path-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-top: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: #101010;
    color: #fff;
}

.echef-path-help div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.55rem;
    align-items: baseline;
}

.echef-path-help strong {
    font-size: 0.95rem;
}

.echef-path-help span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.86rem;
}

.echef-course-router {
    margin-bottom: 0.95rem;
    padding: 0.9rem;
    border: 1px solid rgba(56, 56, 56, 0.12);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(26, 26, 26, 0.04);
}

.echef-course-router__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.7rem;
}

.echef-course-router__head h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
}

.echef-course-router__head p:not(.echef-kicker) {
    margin: 0.2rem 0 0;
    max-width: 42rem;
    color: var(--echef-color-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.echef-course-router__all {
    flex: none;
    color: #8b1519;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
}

.echef-course-router__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
}

.echef-course-router__card,
.echef-course-router__formats a {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.62rem 0.7rem;
    border: 1px solid rgba(56, 56, 56, 0.1);
    border-radius: 12px;
    background: #fafaf8;
    color: #1a1a1a;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.echef-course-router__card:hover,
.echef-course-router__card:focus-visible,
.echef-course-router__formats a:hover,
.echef-course-router__formats a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(139, 21, 25, 0.28);
    box-shadow: 0 10px 22px rgba(139, 21, 25, 0.08);
    color: #1a1a1a;
}

.echef-course-router__card span,
.echef-course-router__formats span {
    overflow: hidden;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.echef-course-router__card small,
.echef-course-router__formats small {
    flex: none;
    color: var(--echef-color-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.echef-course-router__formats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.55rem;
}

.echef-course-router__formats a {
    justify-content: flex-start;
    border-color: rgba(160, 198, 79, 0.28);
    background: #f7f8f1;
    color: #1a1a1a;
}

.echef-course-router__formats a:hover,
.echef-course-router__formats a:focus-visible {
    color: #1a1a1a;
}

.echef-course-router__formats i {
    color: #a0c64f;
}

.echef-course-router__formats small {
    margin-left: auto;
    color: var(--echef-color-text-muted);
}

.echef-roadmap-faq {
    margin-bottom: 0.95rem;
    padding: 0.9rem;
    border: 1px solid rgba(56, 56, 56, 0.12);
    border-radius: 16px;
    background: #fafaf8;
}

.echef-roadmap-faq__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.echef-roadmap-faq__item {
    border: 1px solid rgba(56, 56, 56, 0.1);
    border-radius: 12px;
    background: #fff;
}

.echef-roadmap-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.7rem 0.8rem;
    color: #1a1a1a;
    cursor: pointer;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.3;
    list-style: none;
}

.echef-roadmap-faq__item summary::-webkit-details-marker {
    display: none;
}

.echef-roadmap-faq__item summary::after {
    content: '+';
    flex: none;
    color: #8b1519;
    font-size: 1.1rem;
    font-weight: 800;
}

.echef-roadmap-faq__item[open] summary::after {
    content: '−';
}

.echef-roadmap-faq__item p {
    margin: 0;
    padding: 0 0.8rem 0.75rem;
    color: var(--echef-color-text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.echef-roadmap-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(160, 198, 79, 0.3);
    border-radius: 16px;
    background: #f7f8f1;
    color: #1a1a1a;
}

.echef-roadmap-help h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
}

.echef-roadmap-help p {
    margin: 0.15rem 0 0;
    color: var(--echef-color-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.echef-paths {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.echef-paths__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: start;
}

.echef-path {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(56, 56, 56, 0.14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(26, 26, 26, 0.05);
}

.echef-path--flagship {
    display: grid;
    grid-template-columns: 11.5rem minmax(0, 1fr);
    gap: 0.35rem 1rem;
    align-items: stretch;
    padding: 0.65rem 0.85rem 0.65rem 0.65rem;
}

.echef-path--flagship .echef-path__photo {
    grid-row: 1 / span 2;
    min-height: 8.5rem;
}

.echef-path--flagship .echef-path__bar {
    grid-column: 2;
    margin-top: 0;
}

.echef-path__photo {
    overflow: hidden;
    border-radius: 10px;
    background: #eceae4;
}

.echef-path__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.echef-path__main {
    min-width: 0;
}

.echef-path--flagship .echef-path__main {
    padding-top: 0.35rem;
}

.echef-path__audience {
    margin: 0 0 0.15rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: uppercase;
    color: #5c731f;
}

html[lang="ka"] .echef-path__audience {
    font-size: 0.8rem;
    letter-spacing: 0;
    text-transform: none;
}

.echef-path__title {
    margin: 0 0 0.3rem;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.25;
}

.echef-path--flagship .echef-path__title {
    font-size: 1.35rem;
}

.echef-path__title a {
    color: #1a1a1a;
    text-decoration: none;
}

.echef-path__title a:hover,
.echef-path__title a:focus-visible {
    color: #8b1519;
}

.echef-path__lead {
    display: -webkit-box;
    margin: 0 0 0.45rem;
    overflow: hidden;
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.echef-path__steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.echef-path__milestones {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
    margin: 0 0 0.5rem;
    padding: 0;
    list-style: none;
}

.echef-path__milestones li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.42rem 0.5rem;
    border-radius: 999px;
    background: #f7f8f1;
    color: #383838;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}

.echef-path__milestones li span {
    display: inline-flex;
    flex: none;
    width: 1.35rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #a0c64f;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
}

.echef-path__milestone-result {
    background: rgba(160, 198, 79, 0.18) !important;
    color: #4b611b !important;
}

.echef-path__steps li {
    display: flex;
    gap: 0.4rem;
    align-items: baseline;
    font-size: 0.875rem;
    line-height: 1.35;
}

.echef-path__steps li + li {
    margin-top: 0.12rem;
}

.echef-path__step-num {
    flex: none;
    min-width: 0.9rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #8b1519;
}

.echef-path__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem 0.75rem;
}

.echef-path__offer {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.5rem;
    min-width: 0;
}

.echef-path__price {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    color: #8b1519;
}

.echef-path__parts {
    font-size: 0.8125rem;
    line-height: 1.3;
    color: var(--echef-color-text-muted);
}

.echef-path__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.7rem;
}

.echef-path__more {
    font-size: 0.875rem;
    font-weight: 700;
    color: #5c731f;
    text-decoration: none;
}

.echef-path__more:hover,
.echef-path__more:focus-visible {
    text-decoration: underline;
}

.echef-path--slim {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.35rem 0.85rem;
    padding: 0.5rem 0.7rem;
}

.echef-path--slim .echef-path__photo {
    width: 4.5rem;
    height: 4.5rem;
}

.echef-path--slim .echef-path__title {
    margin-bottom: 0;
    font-size: 1.02rem;
}

.echef-path--slim .echef-path__audience {
    margin-bottom: 0.05rem;
}

.echef-path--slim .echef-path__bar {
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .echef-path-picker__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .echef-course-router__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .echef-paths__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .echef-path-picker {
        padding: 0.65rem;
    }

    .echef-path-picker__grid {
        grid-template-columns: 1fr;
    }

    .echef-path-help {
        align-items: stretch;
        flex-direction: column;
    }

    .echef-path-help .echef-btn {
        width: 100%;
    }

    .echef-course-router {
        padding: 0.65rem;
    }

    .echef-course-router__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .echef-roadmaps-section__head--split {
        align-items: flex-start;
        flex-direction: column;
    }

    .echef-course-router__grid,
    .echef-course-router__formats {
        grid-template-columns: 1fr;
    }

    .echef-roadmap-faq {
        padding: 0.65rem;
    }

    .echef-roadmap-faq__grid {
        grid-template-columns: 1fr;
    }

    .echef-roadmap-help {
        align-items: stretch;
        flex-direction: column;
    }

    .echef-roadmap-help .echef-btn {
        justify-content: center;
        width: 100%;
    }

    .echef-path--flagship {
        grid-template-columns: 1fr;
        padding: 0.55rem;
    }

    .echef-path--flagship .echef-path__photo {
        grid-row: auto;
        min-height: 0;
        max-height: 9.5rem;
        aspect-ratio: 16 / 7;
    }

    .echef-path--flagship .echef-path__bar,
    .echef-path--flagship .echef-path__main {
        grid-column: auto;
        padding-top: 0;
    }

    .echef-path--flagship .echef-path__main {
        padding: 0.1rem 0.35rem 0;
    }

    .echef-path__milestones {
        grid-template-columns: 1fr;
    }

    .echef-path--slim {
        grid-template-columns: 3.5rem minmax(0, 1fr);
    }

    .echef-path--slim .echef-path__photo {
        width: 3.5rem;
        height: 3.5rem;
    }

    .echef-path--slim .echef-path__bar {
        grid-column: 1 / -1;
        justify-content: space-between;
    }

    .echef-path__actions .echef-btn {
        flex: 1 1 auto;
    }
}

.echef-course-card__title a {
    color: #8b1519;
}

.echef-course-card__title a:hover,
.echef-program-card__title a:hover {
    color: #6e1014;
}

.echef-course-card__title a:hover {
    color: #6e1014;
}

.echef-course-card__desc,
.echef-program-card__desc {
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
    line-height: 1.5;
    margin-bottom: var(--echef-space-3);
    flex: 1;
}

.echef-course-card__desc {
    flex: none;
    line-height: 1.4;
    margin-bottom: 0.4rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.echef-course-card__instructor {
    display: flex;
    align-items: center;
    gap: var(--echef-space-2);
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-3);
}

.echef-course-card__instructor img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
}

.echef-card-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--echef-space-2);
    text-align: center;
    padding: var(--echef-space-3) 0;
    border-top: 1px solid var(--echef-color-border);
    border-bottom: 1px solid var(--echef-color-border);
    margin-bottom: var(--echef-space-3);
}

.echef-course-card .echef-card-stats--inline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0.15rem 0.85rem;
    text-align: left;
    padding: 0.22rem 0;
    margin-bottom: 0.45rem;
}

.echef-course-card .echef-card-stats--inline .echef-card-stats__item {
    display: inline-flex;
    align-items: baseline;
    gap: 0.28rem;
    white-space: nowrap;
}

.echef-course-card .echef-card-stats--inline .echef-card-stats__value {
    font-size: 0.875rem;
}

.echef-course-card .echef-card-stats--inline .echef-card-stats__label {
    font-size: 0.6875rem;
    text-transform: none;
    letter-spacing: 0;
}

.echef-card-stats__value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--echef-color-text);
}

.echef-card-stats__label {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-text-muted);
}

.echef-course-card__footer,
.echef-program-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    margin-top: auto;
}

.echef-course-card__footer--stacked {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
}

.echef-course-card__actions .echef-btn--sm {
    padding: 0.45rem 0.7rem;
    font-size: 0.8125rem;
}

.echef-course-card__actions {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--echef-space-2);
    width: 100%;
}

.echef-course-card__actions .echef-btn {
    flex: 1 1 0;
    justify-content: center;
    white-space: nowrap;
}

.echef-course-card__actions .echef-btn--outline {
    border-color: var(--echef-color-primary);
    color: var(--echef-color-primary-dark);
}

.echef-course-card__actions .echef-btn--outline:hover {
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-text);
}

.echef-course-card__actions .echef-btn--accent {
    background: var(--echef-color-primary) !important;
    border-color: var(--echef-color-primary) !important;
    color: #fff !important;
}

.echef-course-card__actions .echef-btn--accent:hover {
    background: var(--echef-color-primary-dark) !important;
    border-color: var(--echef-color-primary-dark) !important;
    color: #fff !important;
}

/* Contact page: compact stack, map must not overlap cards */
.echef-page .getin-touch {
    padding: 1.25rem 0 1.5rem !important;
    background-image: none !important;
}

.echef-page .getin-touch > .container > .row > h2 {
    font-size: 1.35rem;
    margin-bottom: 1rem;
}

.echef-page .contact-feature {
    padding: 0.7rem 0.85rem;
}

.echef-page .contact-feature + .contact-feature {
    margin-top: 0.65rem !important;
}

.echef-page .contact-feature-icon {
    width: 40px;
    height: 40px;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.echef-page .contact-feature-icon i {
    font-size: 1.1rem !important;
}

.echef-page .contact-feature-icon.primary-bg {
    background-color: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary);
}

.echef-page .contact-feature-icon.tertiary-bg {
    background-color: rgba(var(--echef-color-accent-warm-rgb), 0.18);
    color: var(--echef-color-accent-warm-dark);
}

.echef-page .contact-feature-icon.success-bg {
    background-color: rgba(var(--echef-color-primary-rgb), 0.08);
    color: var(--echef-color-primary-dark);
}

.echef-page .contact-feature-text h5,
.echef-page .contact-feature-text .h5 {
    font-size: 0.95rem;
    line-height: 1.35;
    margin-bottom: 0;
}

.echef-page .contact-feature-text h6,
.echef-page .contact-feature-text .h6 {
    margin-bottom: 0.15rem;
}

.echef-page .contact-feature-text p {
    font-size: 0.9rem;
    line-height: 1.4;
    margin-bottom: 0;
}

.echef-page .form-area {
    padding: 1rem 1.15rem;
}

.echef-page .form-area form textarea {
    height: 5.5rem;
    margin-bottom: 0;
}

.echef-page .contact-feature-shape,
.echef-page .form-area-shape {
    display: none;
}

.echef-page .map-area {
    margin-top: 0 !important;
    padding: 0 0 1.75rem !important;
    position: relative;
    z-index: 0;
}

.echef-page .map-area-frame {
    padding: 0;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    overflow: hidden;
}

.echef-page .map-area-frame iframe {
    height: 220px;
    border-radius: 0;
    display: block;
}

.echef-course-card__price {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--echef-color-primary-dark);
}

.echef-course-card__price del {
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--echef-color-text-muted);
}

.echef-program-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    width: 100%;
    flex-shrink: 0;
    background: var(--echef-color-border);
}

.echef-program-card__media a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.echef-program-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.echef-skill-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-1);
    margin-bottom: var(--echef-space-3);
}

.echef-skill-badge {
    font-size: 0.6875rem;
    padding: 0.2rem 0.5rem;
    border-radius: var(--echef-radius-sm);
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    color: var(--echef-color-text-muted);
}

.echef-catalog-empty {
    text-align: center;
    padding: var(--echef-space-10) var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px dashed var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
}

.echef-catalog-empty i {
    font-size: 3rem;
    color: var(--echef-color-border);
    margin-bottom: var(--echef-space-4);
}

.echef-catalog-empty h2 {
    font-size: 1.25rem;
    margin-bottom: var(--echef-space-2);
}

.echef-catalog-empty p {
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-4);
}

.echef-catalog-pages {
    margin: 0 0 var(--echef-space-6);
    padding: var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-catalog-pages__title {
    margin: 0 0 var(--echef-space-3);
    font-size: 1rem;
    font-weight: 700;
}

.echef-catalog-pages__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.echef-catalog-pages__list a {
    font-weight: 600;
    color: var(--echef-color-primary-dark);
}

.echef-catalog-pages__kind {
    margin-left: 0.5rem;
    font-size: 0.75rem;
    color: var(--echef-color-text-muted);
}

.echef-catalog--courses .echef-catalog__header {
    margin-bottom: 0.85rem;
}

.echef-catalog--courses .echef-catalog__header h1 {
    margin-bottom: var(--echef-space-2);
}

.echef-catalog--internships .echef-catalog__header,
.echef-catalog--blog .echef-catalog__header,
.echef-catalog--events .echef-catalog__header,
.echef-catalog--instructors .echef-catalog__header {
    margin-bottom: 0.85rem;
}

.echef-catalog--internships .echef-catalog__header h1,
.echef-catalog--blog .echef-catalog__header h1,
.echef-catalog--events .echef-catalog__header h1,
.echef-catalog--instructors .echef-catalog__header h1 {
    margin-bottom: var(--echef-space-2);
}

.echef-catalog--blog {
    padding-bottom: var(--echef-space-6);
}

.echef-catalog--blog .blog-page {
    background: transparent;
}

.echef-catalog--courses .echef-catalog-filters {
    background: #fff;
    border: 1px solid rgba(56, 56, 56, 0.14);
    border-radius: var(--echef-radius-lg);
    padding: 0.65rem 0.95rem 0.7rem;
    margin-bottom: 1rem;
    box-shadow: 0 10px 28px rgba(26, 26, 26, 0.07);
    box-sizing: border-box;
    overflow: visible;
}

.echef-catalog .echef-filter-bar,
.echef-catalog .echef-filter-bar__row,
.echef-catalog .echef-filter-bar__search,
.echef-catalog .echef-filter-bar__search-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.echef-catalog--courses .echef-filter-bar__row {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.95fr) minmax(0, 0.95fr) auto;
    gap: 0.55rem 0.75rem;
    align-items: end;
    overflow: visible;
}

.echef-catalog--roadmaps .echef-filter-bar__row {
    grid-template-columns: minmax(0, 1.2fr) repeat(4, minmax(0, 0.85fr)) auto;
}

.echef-catalog--courses .echef-filter-bar__row > .echef-filter-group {
    margin-bottom: 0;
    min-width: 0;
    max-width: 100%;
    position: relative;
    z-index: 1;
    overflow: visible;
}

.echef-catalog--courses .echef-filter-bar__row > .echef-filter-group:focus-within,
.echef-catalog--courses .echef-filter-bar__row > .echef-filter-group:has(.nice-select.open) {
    z-index: 20;
}

.echef-catalog--courses .echef-filter-group:last-of-type {
    margin-bottom: 0;
}

.echef-catalog--courses .echef-filter-bar .echef-filter-group label,
.echef-catalog--courses .echef-filter-bar .echef-filter-group__label {
    margin-bottom: 0.25rem;
    font-size: 0.6875rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.echef-catalog--courses .echef-filter-bar__search-wrap {
    position: relative;
}

.echef-catalog--courses .echef-filter-bar__search-wrap > i {
    position: absolute;
    left: 0.7rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.95rem;
    color: var(--echef-color-text-muted);
    pointer-events: none;
}

.echef-catalog--courses .echef-filter-bar__search-wrap .form-control {
    padding-left: 2.1rem;
}

.echef-catalog--courses .echef-filter-bar__tags {
    margin: 0.65rem 0 0;
    padding-top: 0.55rem;
    border-top: 1px solid var(--echef-color-border);
    min-width: 0;
}

.echef-catalog--courses .echef-filter-chips {
    gap: 0.35rem 0.4rem;
}

.echef-catalog--courses .echef-filter-chip {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}

.echef-catalog--courses .echef-filter-bar__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-end;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    border: 0;
    width: auto;
    max-width: 100%;
    min-width: 0;
    align-self: end;
}

.echef-catalog--courses .echef-filter-bar__actions .echef-btn {
    width: auto;
    flex: 0 1 auto;
    min-width: 0;
    min-height: 2.25rem;
    padding: 0.35rem 0.85rem;
    white-space: nowrap;
}

.echef-catalog--courses .echef-filter-group .form-control,
.echef-catalog--courses .echef-filter-group .form-select {
    font-size: 0.8125rem;
    padding: 0.4rem 0.6rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 2.25rem;
    box-sizing: border-box;
}

.echef-catalog--courses .echef-filter-group .form-control {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-appearance: none;
    appearance: none;
}

.echef-catalog--courses .echef-filter-group input[type="search"]::-webkit-search-decoration,
.echef-catalog--courses .echef-filter-group input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.echef-catalog--courses .echef-filter-group .form-select {
    overflow: hidden;
    padding-right: 1.85rem;
}

.echef-catalog--courses .echef-filter-group .nice-select,
.echef-catalog--courses .echef-filter-group .form-select.nice-select {
    float: none;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 2.25rem;
    min-height: 2.25rem;
    line-height: 1.35;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    padding-right: 1.85rem;
    overflow: hidden;
    background-image: none;
}

.echef-catalog--courses .echef-filter-group .nice-select .current {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.echef-catalog--courses .echef-filter-group .nice-select.open {
    overflow: visible;
}

.echef-catalog--courses .echef-filter-group .nice-select .list {
    z-index: 30;
    left: 0;
    right: auto;
    min-width: 100%;
    max-width: min(18rem, 90vw);
    max-height: 16rem;
    overflow-x: hidden;
    overflow-y: auto;
}

@media (max-width: 1199.98px) {
    .echef-catalog--courses .echef-filter-bar__row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .echef-catalog--roadmaps .echef-filter-bar__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .echef-catalog--courses .echef-filter-bar__search,
    .echef-catalog--roadmaps .echef-filter-bar__search {
        grid-column: 1 / -1;
    }

    .echef-catalog--courses .echef-filter-bar__actions {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 991.98px) {
    .echef-catalog-sidebar,
    .echef-catalog--courses .echef-catalog-filters {
        display: none;
        position: static;
        margin-bottom: var(--echef-space-4);
    }

    .echef-catalog-sidebar.is-open,
    .echef-catalog--courses .echef-catalog-filters.is-open {
        display: block;
    }

    .echef-catalog--courses .echef-filter-bar__row,
    .echef-catalog--roadmaps .echef-filter-bar__row {
        grid-template-columns: 1fr;
    }

    .echef-catalog--courses .echef-filter-bar .echef-filter-group label {
        white-space: normal;
    }

    .echef-catalog--courses .echef-filter-bar__actions .echef-btn {
        flex: 1 1 0;
        justify-content: center;
        text-align: center;
    }
}

@media (min-width: 992px) {
    .echef-catalog-filters-toggle {
        display: none;
    }
}

/* Page header (blog, internships, detail pages) */
.echef-page-section {
    padding: var(--echef-space-5) 0 var(--echef-space-4);
}

.echef-page-header {
    margin-bottom: var(--echef-space-5);
}

.echef-page-header__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 1rem;
    margin-bottom: 0.35rem;
}

.echef-page-header__nav .echef-catalog__breadcrumb {
    margin-bottom: 0;
}

.echef-page-header__hero {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--echef-space-5);
    padding-top: var(--echef-space-2);
}

.echef-page-header__copy {
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 42rem;
}

.echef-page-header__eyebrow {
    margin: 0 0 0.4rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--echef-color-primary-dark);
}

.echef-page-header__copy .echef-lead {
    max-width: none;
    margin-bottom: 0;
}

.echef-page-header__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(5.5rem, 1fr));
    gap: var(--echef-space-3);
    flex: 0 1 auto;
    min-width: 0;
}

.echef-page-header__stat {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    padding: var(--echef-space-3) var(--echef-space-4);
    text-align: center;
    box-shadow: var(--echef-shadow-sm);
}

.echef-page-header__stat strong {
    display: block;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--echef-color-text);
    line-height: 1.2;
}

.echef-page-header__stat span {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: var(--echef-color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.3;
}

.echef-detail-panel {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-5);
    box-shadow: var(--echef-shadow-sm);
    margin-bottom: var(--echef-space-6);
}

.echef-detail-panel__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--echef-space-3);
}

.echef-detail-panel__stat {
    text-align: center;
    padding: var(--echef-space-3);
    background: var(--echef-color-bg);
    border-radius: var(--echef-radius-md);
}

.echef-detail-panel__stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--echef-color-primary-dark);
    line-height: 1.2;
}

.echef-detail-panel__stat-label {
    font-size: 0.6875rem;
    color: var(--echef-color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.echef-detail-panel__cta {
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    padding: var(--echef-space-5);
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.echef-detail-panel__cta h2 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-detail-panel__cta p {
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
    margin-bottom: var(--echef-space-4);
}

.echef-content-panel {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-5);
    box-shadow: var(--echef-shadow-sm);
    margin-bottom: var(--echef-space-5);
}

.echef-content-panel__title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-content-panel__lead {
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-4);
}

.echef-roadmap-course {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--echef-space-4);
    padding: var(--echef-space-4);
    margin-bottom: var(--echef-space-3);
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-roadmap-course__step {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--echef-color-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.9375rem;
}

.echef-roadmap-course__body {
    flex: 1 1 12rem;
    min-width: 0;
}

.echef-roadmap-course__title {
    font-size: 1.0625rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-1);
}

.echef-roadmap-course__desc {
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-2);
}

.echef-roadmap-course__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-roadmap-course__action {
    flex: 0 0 auto;
    margin-left: auto;
}

/* Program (roadmap) show page */
.echef-program-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 0;
    align-items: stretch;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
    box-shadow: var(--echef-shadow-sm);
    margin-bottom: var(--echef-space-5);
}

.echef-program-hero__visual {
    min-height: 280px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.echef-program-hero__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.18) 100%);
    pointer-events: none;
}

.echef-program-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--echef-space-3);
    padding: var(--echef-space-5);
    min-width: 0;
}

.echef-program-hero__eyebrow {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--echef-color-primary-dark);
    letter-spacing: 0.01em;
}

.echef-program-hero__facts {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--echef-space-2) var(--echef-space-3);
}

.echef-program-hero__facts li {
    display: flex;
    align-items: center;
    gap: var(--echef-space-2);
    font-size: 0.9375rem;
    color: var(--echef-color-text);
}

.echef-program-hero__facts li i {
    color: var(--echef-color-primary);
    font-size: 1.15rem;
    flex: 0 0 auto;
}

.echef-program-hero__offer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    margin-top: var(--echef-space-2);
    padding: var(--echef-space-3) var(--echef-space-4);
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-program-hero__price {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.echef-program-hero__price-value {
    font-size: 1.75rem;
    line-height: 1.1;
    font-weight: 800;
    color: var(--echef-color-primary-dark);
}

.echef-program-hero__price-note {
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-program-hero__offer .echef-btn {
    flex: 0 0 auto;
}

.echef-program-hero__sub {
    flex: 1 1 100%;
    margin: 0;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
    text-align: right;
}

.echef-program-path {
    list-style: none;
    padding: var(--echef-space-4);
    margin: 0 0 var(--echef-space-5);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: var(--echef-space-2);
    counter-reset: none;
}

.echef-program-path__step {
    flex: 1 1 8rem;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--echef-space-2);
    padding: var(--echef-space-3) var(--echef-space-2);
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    text-align: center;
    position: relative;
}

.echef-program-path__step + .echef-program-path__step::before {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(-1 * var(--echef-space-2));
    width: var(--echef-space-2);
    height: 2px;
    background: var(--echef-color-border);
    transform: translateY(-50%);
}

.echef-program-path__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 var(--echef-space-2);
    border-radius: 999px;
    background: var(--echef-color-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.9375rem;
}

.echef-program-path__step--practice .echef-program-path__num,
.echef-program-path__step--certificate .echef-program-path__num {
    background: var(--echef-color-primary-dark);
}

.echef-program-path__label {
    font-size: 0.875rem;
    color: var(--echef-color-text);
    font-weight: 600;
    line-height: 1.25;
}

.echef-program-includes {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-5);
    box-shadow: var(--echef-shadow-sm);
    margin-bottom: var(--echef-space-5);
}

.echef-program-includes__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--echef-space-2) var(--echef-space-4);
}

.echef-program-includes__list li {
    display: flex;
    align-items: flex-start;
    gap: var(--echef-space-2);
    font-size: 0.9375rem;
    color: var(--echef-color-text);
}

.echef-program-includes__list li i {
    color: var(--echef-color-primary);
    font-size: 1.15rem;
    flex: 0 0 auto;
    margin-top: 0.15rem;
}

.echef-program-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--echef-space-4);
    margin-bottom: var(--echef-space-5);
}

.echef-program-highlights--single {
    grid-template-columns: 1fr;
}

.echef-program-highlight {
    display: flex;
    gap: var(--echef-space-3);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-4);
    box-shadow: var(--echef-shadow-sm);
}

.echef-program-highlight__icon {
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--echef-color-primary-soft, rgba(129, 199, 132, 0.15));
    color: var(--echef-color-primary-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.echef-program-highlight__kicker {
    margin: 0 0 0.25rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--echef-color-text-muted);
}

.echef-program-highlight h3 {
    margin: 0 0 0.5rem;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--echef-color-text);
}

.echef-program-highlight p {
    margin: 0;
    font-size: 0.9375rem;
    color: var(--echef-color-text-muted);
    line-height: 1.5;
}

.echef-program-final {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-4) var(--echef-space-5);
    box-shadow: var(--echef-shadow-sm);
    margin-bottom: var(--echef-space-5);
}

.echef-program-final h2 {
    margin: 0 0 0.25rem;
    font-size: 1.125rem;
    font-weight: 700;
}

.echef-program-final p {
    margin: 0;
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
}

@media (max-width: 991.98px) {
    .echef-program-hero {
        grid-template-columns: 1fr;
    }

    .echef-program-hero__visual {
        min-height: 200px;
    }

    .echef-program-highlights {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .echef-program-hero__facts,
    .echef-program-includes__list {
        grid-template-columns: 1fr;
    }

    .echef-program-hero__offer {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .echef-program-hero__sub {
        text-align: center;
    }

    .echef-program-path {
        flex-direction: column;
    }

    .echef-program-path__step + .echef-program-path__step::before {
        display: none;
    }

    .echef-program-final {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .echef-page-header__hero {
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
    }

    .echef-page-header__copy {
        flex: 0 0 auto;
        max-width: none;
        min-height: 0;
    }

    .echef-page-header__stats {
        width: 100%;
        grid-template-columns: repeat(3, 1fr);
    }

    .echef-detail-panel__stats {
        grid-template-columns: repeat(3, 1fr);
    }

    .echef-roadmap-course__action {
        width: 100%;
        margin-left: 0;
    }

    .echef-roadmap-course__action .echef-btn {
        width: 100%;
    }
}

.echef-detail-panel__cta .echef-btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 479.98px) {
    .echef-page-header__stats,
    .echef-detail-panel__stats {
        grid-template-columns: 1fr;
    }
}

/* B2B landing (Stage 3) */
.echef-b2b-section {
    padding: var(--echef-space-8) 0;
}

.echef-b2b-section--alt {
    background: var(--echef-color-bg);
}

.echef-b2b-section__title {
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 700;
    margin-bottom: var(--echef-space-3);
}

.echef-b2b-section__lead {
    color: var(--echef-color-text-muted);
    max-width: 42rem;
    margin-bottom: var(--echef-space-5);
}

.echef-b2b-subtitle {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-4);
}

.echef-curriculum-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    background: var(--echef-color-surface);
    box-shadow: var(--echef-shadow-sm);
}

.echef-curriculum-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.echef-curriculum-table th,
.echef-curriculum-table td {
    padding: var(--echef-space-3) var(--echef-space-4);
    border-bottom: 1px solid var(--echef-color-border);
    text-align: left;
    vertical-align: top;
}

.echef-curriculum-table th {
    background: var(--echef-color-bg);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-text-muted);
}

.echef-curriculum-table tbody tr:last-child td {
    border-bottom: none;
}

.echef-case-card {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-5);
    height: 100%;
    box-shadow: var(--echef-shadow-sm);
}

.echef-case-card__company {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-primary);
    margin-bottom: var(--echef-space-2);
}

.echef-case-card__metric {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--echef-color-primary-dark);
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    margin-bottom: var(--echef-space-3);
}

.echef-case-card h3 {
    font-size: 1.0625rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-case-card p {
    color: var(--echef-color-text-muted);
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
}

.echef-partner-card {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    padding: var(--echef-space-4);
    height: 100%;
}

.echef-partner-card h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-partner-card__meta {
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-2);
}

.echef-partner-card p {
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-3);
}

.echef-partner-card__badge {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
}

.echef-internship-teaser {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    padding: var(--echef-space-3) var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-b2b-lead {
    padding: var(--echef-space-8) 0 var(--echef-space-10);
    background: linear-gradient(180deg, var(--echef-color-bg) 0%, #fff 100%);
}

.echef-b2b-lead__panel {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-6);
    box-shadow: var(--echef-shadow-md);
}

.echef-lead-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--echef-color-text);
}

.echef-lead-form__consent input {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

.echef-lead-form__consent a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.echef-lead-form__label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: var(--echef-space-1);
}

.echef-alert {
    padding: var(--echef-space-3) var(--echef-space-4);
    border-radius: var(--echef-radius-md);
    margin-bottom: var(--echef-space-4);
    font-size: 0.9375rem;
}

.echef-alert--success {
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary-dark);
    border: 1px solid rgba(var(--echef-color-primary-rgb), 0.25);
}

.echef-alert--info {
    background: rgba(30, 78, 216, 0.1);
    color: var(--echef-hero-blue-deep, #163db8);
    border: 1px solid rgba(30, 78, 216, 0.28);
    box-shadow: 0 8px 22px rgba(30, 78, 216, 0.08);
}

.echef-alert--error {
    background: rgba(220, 53, 69, 0.08);
    color: #842029;
    border: 1px solid rgba(220, 53, 69, 0.2);
}

@media (max-width: 767.98px) {
    .echef-internship-teaser {
        flex-direction: column;
        align-items: stretch;
    }

    .echef-internship-teaser .echef-btn {
        width: 100%;
    }
}

/* Internships catalog & detail */
.echef-internships {
    padding-bottom: var(--echef-space-10);
}

.echef-internship-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
    padding: var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
}

.echef-internship-toolbar__field {
    flex: 1 1 14rem;
    min-width: 0;
}

.echef-internship-toolbar__field label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-1);
}

.echef-internship-toolbar__search {
    position: relative;
}

.echef-internship-toolbar__search input {
    width: 100%;
    padding: 0.65rem 2.5rem 0.65rem 0.85rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    font-size: 0.9375rem;
    background: var(--echef-color-bg);
}

.echef-internship-toolbar__search input:focus {
    outline: 2px solid rgba(var(--echef-color-primary-rgb), 0.25);
    border-color: var(--echef-color-primary);
}

.echef-internship-toolbar__search i {
    position: absolute;
    right: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--echef-color-text-muted);
    pointer-events: none;
}

.echef-internship-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
}

.echef-internship-card {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-4);
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--echef-shadow-sm);
    transition: box-shadow 0.2s, transform 0.2s;
}

.echef-internship-card:hover {
    box-shadow: var(--echef-shadow-md);
    transform: translateY(-2px);
}

.echef-internship-card__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--echef-space-2);
    margin-bottom: var(--echef-space-3);
}

.echef-internship-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
}

.echef-internship-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 999px;
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-primary-dark);
}

.echef-internship-badge--featured {
    background: rgba(251, 175, 8, 0.18);
    color: #8a6200;
}

.echef-internship-badge--paid {
    background: rgba(var(--echef-color-primary-rgb), 0.15);
    color: var(--echef-color-primary-dark);
}

.echef-internship-badge--deadline {
    background: var(--echef-color-bg);
    color: var(--echef-color-text-muted);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.75rem;
}

.echef-internship-card__company {
    display: flex;
    align-items: center;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-3);
    padding: var(--echef-space-3);
    background: var(--echef-color-bg);
    border-radius: var(--echef-radius-md);
}

.echef-internship-card__logo,
.echef-internship-card__logo-placeholder {
    width: 3rem;
    height: 3rem;
    border-radius: var(--echef-radius-md);
    object-fit: cover;
    flex-shrink: 0;
}

.echef-internship-card__logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--echef-color-border);
    color: var(--echef-color-text-muted);
}

.echef-internship-card__company-name {
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 0 0 0.15rem;
}

.echef-internship-card__company-meta {
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-internship-card__title {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
    line-height: 1.35;
}

.echef-internship-card__title a {
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-internship-card__title a:hover {
    color: var(--echef-color-primary);
}

.echef-internship-card__desc {
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
    line-height: 1.55;
    margin-bottom: var(--echef-space-3);
    flex: 1;
}

.echef-internship-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    margin-bottom: var(--echef-space-3);
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-internship-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.echef-internship-card__salary {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    margin-bottom: var(--echef-space-3);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
    background: rgba(var(--echef-color-primary-rgb), 0.08);
    border-radius: var(--echef-radius-md);
}

.echef-internship-card__footer {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    margin-top: auto;
    padding-top: var(--echef-space-3);
    border-top: 1px solid var(--echef-color-border);
}

.echef-internship-card__footer .echef-btn {
    flex: 1 1 auto;
}

.echef-internship-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex: 1 1 auto;
    padding: 0.55rem 0.85rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-bg);
    color: var(--echef-color-text-muted);
}

.echef-internship-status--pending {
    background: rgba(251, 175, 8, 0.15);
    color: #8a6200;
}

.echef-internship-status--accepted {
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary-dark);
}

.echef-internship-empty {
    text-align: center;
    padding: var(--echef-space-8) var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
}

.echef-internship-empty i {
    font-size: 2.5rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-3);
}

.echef-internship-detail__company {
    display: flex;
    align-items: center;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
}

.echef-internship-detail__company img {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    object-fit: cover;
}

.echef-internship-detail__deadline {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #8a6200;
    background: rgba(251, 175, 8, 0.15);
    border-radius: 999px;
}

.echef-internship-detail__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
}

.echef-internship-detail__fact {
    padding: var(--echef-space-3);
    background: var(--echef-color-bg);
    border-radius: var(--echef-radius-md);
    font-size: 0.9375rem;
}

.echef-internship-detail__fact strong {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-text-muted);
    margin-bottom: 0.25rem;
}

.echef-internship-detail__salary {
    padding: var(--echef-space-3) var(--echef-space-4);
    margin-bottom: var(--echef-space-4);
    background: rgba(var(--echef-color-primary-rgb), 0.08);
    border-radius: var(--echef-radius-md);
    color: var(--echef-color-primary-dark);
    font-weight: 600;
}

.echef-internship-detail__section {
    margin-bottom: var(--echef-space-5);
}

.echef-internship-detail__section h2 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-3);
}

.echef-internship-detail__section p,
.echef-internship-detail__section li {
    color: var(--echef-color-text-muted);
    line-height: 1.7;
}

.echef-internship-sidebar-stats {
    width: 100%;
    text-align: left;
}

.echef-internship-sidebar-stats div {
    display: flex;
    justify-content: space-between;
    gap: var(--echef-space-3);
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--echef-color-border);
    font-size: 0.9375rem;
}

.echef-internship-sidebar-stats div:last-child {
    border-bottom: none;
}

/* Blog post (single) */
.echef-blog-post {
    padding-bottom: var(--echef-space-10);
}

.echef-blog-article {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
    box-shadow: var(--echef-shadow-sm);
    margin-bottom: var(--echef-space-6);
}

.echef-blog-article__header {
    padding: var(--echef-space-5) var(--echef-space-5) 0;
}

.echef-blog-article__title {
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: var(--echef-space-4);
    color: var(--echef-color-text);
}

.echef-blog-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-3);
    align-items: center;
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-4);
}

.echef-blog-article__author {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
}

.echef-blog-article__category {
    display: inline-block;
    padding: 0.25rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    border-radius: 999px;
    text-decoration: none;
}

.echef-blog-article__category:hover {
    background: rgba(var(--echef-color-primary-rgb), 0.18);
    color: var(--echef-color-primary-dark);
}

.echef-blog-article__image {
    margin: 0 var(--echef-space-5) var(--echef-space-5);
    border-radius: var(--echef-radius-md);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    max-height: 22rem;
}

.echef-blog-article__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.echef-blog-article__content {
    padding: 0 var(--echef-space-5) var(--echef-space-5);
    line-height: 1.75;
    font-size: 1.0625rem;
    overflow-x: auto;
}

.echef-blog-article__content h2,
.echef-blog-article__content h3 {
    margin-top: var(--echef-space-5);
    margin-bottom: var(--echef-space-3);
    color: var(--echef-color-text);
}

.echef-blog-article__content p {
    margin-bottom: var(--echef-space-4);
    color: var(--echef-color-text-muted);
}

.echef-blog-article__content img {
    max-width: 100%;
    max-height: 22rem;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: var(--echef-space-4) auto;
    border-radius: var(--echef-radius-md);
}

.echef-blog-article__content ul,
.echef-blog-article__content ol {
    margin: 0 0 var(--echef-space-4);
    padding-left: 1.35rem;
}

.echef-blog-article__content li {
    margin-bottom: 0.4rem;
    color: var(--echef-color-text-muted);
}

.echef-blog-article__content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 0 0 var(--echef-space-5);
}

.echef-blog-article__content th,
.echef-blog-article__content td {
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--echef-color-border);
    text-align: left;
    vertical-align: top;
}

.echef-blog-article__content th {
    background: var(--echef-color-bg);
    font-weight: 700;
    color: var(--echef-color-text);
}

.echef-blog-article__content blockquote {
    margin: 0 0 var(--echef-space-5);
    padding: var(--echef-space-4);
    border-left: 4px solid var(--echef-color-primary);
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
}

.echef-blog-article__footer {
    padding: var(--echef-space-4) var(--echef-space-5);
    border-top: 1px solid var(--echef-color-border);
    background: var(--echef-color-bg);
}

.echef-blog-article__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
}

.echef-blog-article__tag {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--echef-color-primary-dark);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: 999px;
    text-decoration: none;
}

.echef-blog-article__tag:hover {
    border-color: var(--echef-color-primary);
    color: var(--echef-color-primary);
}

.echef-blog-related__title {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-4);
}

.echef-blog-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: var(--echef-space-4);
}

.echef-blog-related .post-card {
    border-color: var(--echef-color-border);
}

.echef-blog-related .post-title a {
    color: var(--echef-color-text);
    font-weight: 700;
}

.echef-blog-related .post-title a:hover {
    color: var(--echef-color-primary);
}

.echef-blog-related .category-badge {
    color: var(--echef-color-primary);
    border-left-color: var(--echef-color-primary);
}

.echef-page .echef-catalog__breadcrumb a:hover {
    color: var(--echef-color-primary-dark);
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .echef-internship-toolbar__actions {
        width: 100%;
    }

    .echef-internship-toolbar__actions .echef-btn {
        flex: 1 1 auto;
    }

    .echef-internship-detail__facts {
        grid-template-columns: 1fr;
    }

    .echef-blog-article__header,
    .echef-blog-article__content,
    .echef-blog-article__footer {
        padding-left: var(--echef-space-4);
        padding-right: var(--echef-space-4);
    }

    .echef-blog-article__image {
        margin-left: var(--echef-space-4);
        margin-right: var(--echef-space-4);
    }
}

/* Internship application form */
.echef-application {
    padding-bottom: var(--echef-space-10);
}

.echef-application-panel {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-5);
    box-shadow: var(--echef-shadow-md);
}

.echef-application-preview {
    padding: var(--echef-space-4);
    margin-bottom: var(--echef-space-5);
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-application-preview h2 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-application-preview__company {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    margin-bottom: var(--echef-space-3);
}

.echef-application-preview__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-3);
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
}

.echef-application-section {
    margin-bottom: var(--echef-space-5);
    padding-bottom: var(--echef-space-5);
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-application-section:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.echef-application-section__title {
    display: flex;
    align-items: center;
    gap: var(--echef-space-2);
    font-size: 1.0625rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-4);
}

.echef-application-section__title i {
    color: var(--echef-color-primary);
}

.echef-application-section__badge {
    margin-left: auto;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-text-muted);
    background: var(--echef-color-bg);
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
}

.echef-application-panel .form-control,
.echef-application-panel .form-select {
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    padding: 0.65rem 0.85rem;
    font-size: 0.9375rem;
}

.echef-application-panel .form-control:focus,
.echef-application-panel .form-select:focus {
    border-color: var(--echef-color-primary);
    box-shadow: 0 0 0 3px rgba(var(--echef-color-primary-rgb), 0.12);
}

.echef-application-hint {
    display: flex;
    align-items: flex-start;
    gap: var(--echef-space-2);
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
    margin-top: var(--echef-space-2);
}

.echef-application-char-counter {
    text-align: right;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
    margin-top: var(--echef-space-1);
}

.echef-application-char-counter.is-low {
    color: #b45309;
}

.echef-application-char-counter.is-good {
    color: var(--echef-color-primary-dark);
}

.echef-application-terms {
    padding: var(--echef-space-4);
    background: var(--echef-color-bg);
    border-radius: var(--echef-radius-md);
    border: 1px solid var(--echef-color-border);
}

.echef-application-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-3);
    justify-content: flex-end;
    margin-top: var(--echef-space-5);
    padding-top: var(--echef-space-4);
    border-top: 1px solid var(--echef-color-border);
}

@media (max-width: 767.98px) {
    .echef-application-actions {
        flex-direction: column;
    }

    .echef-application-actions .echef-btn {
        width: 100%;
    }
}

/* Pagination (blog, catalog, roadmaps) */
.echef-pagination {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--echef-space-3);
    width: 100%;
    margin: var(--echef-space-5) 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
}

.echef-pagination__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: center;
    align-items: center;
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.echef-pagination__summary strong {
    color: var(--echef-color-primary);
    font-weight: 700;
}

.echef-pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
}

.echef-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.625rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-surface);
    color: var(--echef-color-text);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

a.echef-pagination__link:hover {
    border-color: var(--echef-color-primary);
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-text);
}

.echef-pagination__list li:first-child .echef-pagination__link,
.echef-pagination__list li:last-child .echef-pagination__link {
    background: transparent;
    border-color: transparent;
    min-width: 0;
}

.echef-pagination__link.is-active {
    background: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
    color: #fff;
}

.echef-pagination__link.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

/* Legacy blog pagination aliases */
.pagination-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--echef-space-3);
    width: 100%;
    padding: var(--echef-space-4);
    border-radius: var(--echef-radius-lg);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    box-shadow: var(--echef-shadow-sm);
}

.pagination-summary {
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.pagination-summary strong {
    color: var(--echef-color-primary);
}

.page-item .page-link {
    border-color: var(--echef-color-border);
    color: var(--echef-color-text);
    border-radius: var(--echef-radius-md);
}

.page-item.active .page-link {
    background: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
    color: #fff;
}

.page-item:not(.disabled):not(.active) .page-link:hover {
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    border-color: var(--echef-color-primary);
    color: var(--echef-color-text);
}

.page-item.disabled .page-link {
    opacity: 0.45;
}

/* Events catalog */
.echef-events {
    padding: 0 0 var(--echef-space-10);
}

.echef-events-search {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--echef-space-4);
    margin-top: var(--echef-space-5);
    padding: var(--echef-space-5);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
}

.echef-events-search__field {
    flex: 1 1 280px;
}

.echef-events-search__field label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-text);
    margin-bottom: var(--echef-space-2);
}

.echef-events-search__input {
    position: relative;
}

.echef-events-search__input input {
    width: 100%;
    padding: 0.75rem 2.75rem 0.75rem 1rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
    font-size: 0.9375rem;
}

.echef-events-search__input input:focus {
    outline: 2px solid rgba(var(--echef-color-primary-rgb), 0.2);
    border-color: var(--echef-color-primary);
}

.echef-events-search__input i {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--echef-color-text-muted);
    pointer-events: none;
}

.echef-events-search__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
}

.echef-event-card {
    display: flex;
    flex-direction: column;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
    box-shadow: var(--echef-shadow-sm);
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.echef-event-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--echef-shadow-md);
    border-color: rgba(var(--echef-color-primary-rgb), 0.35);
}

.echef-event-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.echef-event-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.echef-event-card:hover .echef-event-card__media img {
    transform: scale(1.04);
}

.echef-event-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--echef-space-5);
    gap: var(--echef-space-3);
}

.echef-event-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--echef-space-3);
}

.echef-event-card__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
}

.echef-event-card__title a {
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-event-card__title a:hover {
    color: var(--echef-color-primary);
}

.echef-event-card__topic {
    flex-shrink: 0;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary-dark);
    font-size: 0.75rem;
    font-weight: 600;
}

.echef-event-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
}

.echef-event-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.echef-event-card__meta i {
    color: var(--echef-color-primary);
    width: 1rem;
    text-align: center;
}

.echef-event-card__desc {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--echef-color-text-muted);
}

.echef-event-card__footer {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    margin-top: auto;
    padding-top: var(--echef-space-2);
}

.echef-event-card__footer .echef-btn {
    flex: 1 1 auto;
    justify-content: center;
}

.echef-events-empty {
    text-align: center;
    padding: var(--echef-space-10) var(--echef-space-5);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
}

.echef-events-empty i {
    font-size: 3rem;
    color: var(--echef-color-accent-warm);
    margin-bottom: var(--echef-space-4);
}

.echef-events-empty h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--echef-color-text);
    margin-bottom: var(--echef-space-2);
}

@media (max-width: 767.98px) {
    .echef-events-search {
        flex-direction: column;
        align-items: stretch;
    }

    .echef-events-search__actions {
        width: 100%;
    }

    .echef-events-search__actions .echef-btn {
        flex: 1;
    }
}

/* Event detail page */
.echef-event-detail__media {
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
    border: 1px solid var(--echef-color-border);
    box-shadow: var(--echef-shadow-md);
}

.echef-event-detail__media img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}

.echef-event-share {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--echef-space-2);
}

.echef-event-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: none;
    border-radius: var(--echef-radius-md);
    color: #fff;
    cursor: pointer;
    transition: transform 0.2s, opacity 0.2s;
}

.echef-event-share__btn:hover {
    transform: translateY(-2px);
    opacity: 0.92;
}

.echef-event-share__btn--facebook { background: #3b5998; }
.echef-event-share__btn--twitter { background: #1da1f2; }
.echef-event-share__btn--linkedin { background: #0077b5; }
.echef-event-share__btn--copy {
    background: var(--echef-color-primary);
    color: #fff;
}

.echef-event-nav {
    display: flex;
    flex-direction: column;
    gap: var(--echef-space-3);
}

.echef-event-nav__item {
    display: flex;
    align-items: center;
    gap: var(--echef-space-3);
    padding: var(--echef-space-3);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    text-decoration: none;
    color: var(--echef-color-text);
    background: var(--echef-color-bg);
    transition: border-color 0.2s, background 0.2s;
}

.echef-event-nav__item:hover {
    border-color: var(--echef-color-primary);
    background: rgba(var(--echef-color-primary-rgb), 0.08);
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-event-nav__item--next {
    justify-content: space-between;
}

.echef-event-nav__item small {
    display: block;
    font-size: 0.75rem;
    color: var(--echef-color-text-muted);
    margin-bottom: 0.15rem;
}

.echef-event-nav__item strong {
    display: block;
    font-size: 0.875rem;
    line-height: 1.35;
    color: var(--echef-color-text);
}

.echef-event-nav__item i {
    color: var(--echef-color-primary);
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .echef-event-share {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Student auth (login / register) */
.echef-auth {
    padding: var(--echef-space-4) 0 var(--echef-space-5);
}

.echef-auth__art {
    max-height: 340px;
    width: auto;
}

.echef-auth__panel {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: 1rem 1.25rem 1.15rem;
    box-shadow: var(--echef-shadow-md);
}

.echef-auth__title {
    font-size: clamp(1.25rem, 2.4vw, 1.5rem);
    font-weight: 700;
    color: var(--echef-color-text);
    margin-bottom: 0.2rem;
}

.echef-auth__lead {
    color: var(--echef-color-text-muted);
    margin-bottom: 0.7rem;
    font-size: 0.875rem;
}

.echef-auth__lead a {
    color: var(--echef-color-primary);
    font-weight: 600;
    text-decoration: none;
}

.echef-auth a:not(.echef-btn):not(.button) {
    color: var(--echef-color-primary);
    font-weight: 600;
    text-decoration: none;
}

.echef-auth a:not(.echef-btn):not(.button):hover,
.echef-auth__lead a:hover,
.echef-auth__link:hover {
    color: var(--echef-color-primary-dark);
    text-decoration: underline;
}

.echef-auth__link,
.echef-auth .form-element a {
    color: var(--echef-color-primary) !important;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.8125rem;
}

.echef-auth__link:hover,
.echef-auth .form-element a:hover {
    color: var(--echef-color-primary-dark) !important;
    text-decoration: underline;
}

.echef-auth .form-element {
    display: flow-root;
    width: 100%;
    float: none;
    clear: both;
    margin-bottom: 0.5rem;
    overflow: visible;
}

.echef-auth .form-element::after {
    content: "";
    display: table;
    clear: both;
}

.echef-auth .form-element label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--echef-color-text);
    margin-bottom: 0.15rem;
    text-transform: none;
}

.echef-auth .form-element .nice-select,
.echef-auth .nice-select.echef-auth-select {
    float: none !important;
    display: block !important;
    width: 100% !important;
    height: 2.15rem;
    min-height: 2.15rem;
    line-height: calc(2.15rem - 2px);
    padding: 0 2rem 0 0.7rem;
    margin: 0;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-bg);
    font-size: 0.875rem;
    color: var(--echef-color-text);
}

.echef-auth .form-element .nice-select .current,
.echef-auth .nice-select.echef-auth-select .current {
    display: block;
    line-height: inherit;
}

.echef-auth .form-element .nice-select .list {
    width: 100%;
}

.echef-auth .form-element .nice-select.open {
    z-index: 5;
}

.echef-auth .nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1) translateY(0);
}

.echef-auth .form-element input[type="text"],
.echef-auth .form-element input[type="email"],
.echef-auth .form-element input[type="password"],
.echef-auth .form-element input[type="tel"],
.echef-auth .form-element select,
.echef-auth .form-element textarea {
    width: 100%;
    height: 2.15rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    font-size: 0.875rem;
    line-height: 1.3;
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
}

.echef-auth .form-element input:focus {
    outline: 2px solid rgba(var(--echef-color-primary-rgb), 0.25);
    border-color: var(--echef-color-primary);
}

.echef-auth .form-alert-input {
    position: relative;
}

.echef-auth .form-alert-input input {
    padding-right: 2.75rem;
}

.echef-auth .form-alert-icon {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--echef-color-text-muted);
    cursor: pointer;
}

.echef-auth a.text-primary,
.echef-auth .terms a {
    color: var(--echef-color-primary) !important;
    font-weight: 600;
}

.echef-auth .form-element.terms {
    margin-top: 0.15rem;
    margin-bottom: 0.7rem;
}

.echef-auth .form-element.terms label {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    margin-bottom: 0;
}

.echef-auth .button--primary,
.echef-auth .echef-btn--primary {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
}

.echef-auth .checkbox-primary {
    accent-color: var(--echef-color-primary);
}

.echef-auth .form-element .echef-phone-field {
    display: flex;
    align-items: stretch;
}

.echef-auth .form-element .echef-phone-field select.echef-phone-field__dial,
.echef-auth .form-element .echef-phone-field .nice-select.echef-phone-field__dial {
    width: auto !important;
    flex: 0 1 6.5rem;
    max-width: 38%;
    height: 2.15rem;
    min-height: 2.15rem;
    line-height: calc(2.15rem - 2px);
    margin: 0;
    float: none;
    padding: 0 1.6rem 0 0.55rem;
    border-radius: var(--echef-radius-md) 0 0 var(--echef-radius-md);
}

.echef-auth .form-element:has(.nice-select.open) {
    position: relative;
    z-index: 6;
}

.echef-auth .form-element .echef-phone-field .nice-select.echef-phone-field__dial.open {
    overflow: visible;
    z-index: 6;
}

.echef-auth .form-element .echef-phone-field .nice-select .current {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.echef-auth .form-element .echef-phone-field .nice-select.open .list {
    width: 16rem;
    max-width: 70vw;
    max-height: 14rem;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 1;
    pointer-events: auto;
    transform: scale(1) translateY(0);
}

.echef-auth .form-element .echef-phone-field input[type="tel"] {
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 0 var(--echef-radius-md) var(--echef-radius-md) 0;
}

.echef-auth .echef-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.echef-page .signup-area .button--primary {
    background: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
    color: #fff;
}

.echef-page .signup-area .button--primary:hover {
    background: var(--echef-color-primary-dark);
    border-color: var(--echef-color-primary-dark);
    color: #fff;
}

.echef-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.echef-checklist li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.echef-checklist li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: var(--echef-color-accent, #ff7a1a);
    font-weight: 700;
}

.echef-checklist--dash li::before {
    content: "—";
    font-weight: 400;
    color: var(--echef-color-text-muted, #666);
}

/* Homepage */
.echef-home-hero {
    position: relative;
    padding: 2.25rem 0 2.15rem;
    overflow: hidden;
}

.echef-home-hero--cinematic {
    --echef-hero-blue: #1e4ed8;
    --echef-hero-blue-deep: #163db8;
    --echef-hero-ink: #0b0c10;
    --echef-hero-h: 440px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--echef-hero-ink);
    color: #fff;
    padding: 1.15rem 0 1.25rem;
    min-height: 0;
}

.echef-home-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.echef-home-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% 42%;
    display: block;
}

.echef-home-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #0b0c10 0%,
        rgba(11, 12, 16, 0.88) 20%,
        rgba(11, 12, 16, 0.5) 42%,
        rgba(11, 12, 16, 0.2) 64%,
        rgba(11, 12, 16, 0.05) 82%,
        transparent 100%
    );
    pointer-events: none;
}

.echef-home-hero--cinematic .container {
    position: relative;
    z-index: 1;
}

.echef-home-hero__stage {
    position: relative;
    min-height: var(--echef-hero-h);
    display: flex;
    align-items: center;
}

.echef-home-hero__panel {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(16rem, 0.88fr) minmax(0, 1.2fr);
    align-items: center;
}

.echef-home-hero__copy {
    grid-column: 1;
    grid-row: 1;
    max-width: 32rem;
    padding: 1.75rem 1.25rem 1.75rem 0.1rem;
}

.echef-home-hero__actions {
    display: contents;
}

.echef-home-hero__eyebrow {
    display: block;
    margin: 0 0 0.75rem;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
}

html[lang="ka"] .echef-home-hero__eyebrow {
    text-transform: none;
    letter-spacing: .02em;
    font-size: 1.02rem;
}

html[lang="ka"] .echef-home-hero__title {
    font-size: clamp(1.55rem, 3.2vw, 2.35rem);
    line-height: 1.14;
}

html[lang="ka"] .echef-home-hero__lead {
    font-size: 0.98rem;
}

html[lang="ka"] .echef-home-hero__textlink {
    font-size: 0.9rem;
}

html[lang="ka"] .echef-home-hero__pill {
    font-size: 1.05rem;
}

.echef-home-hero__title {
    margin: 0 0 0.9rem;
    font-size: clamp(1.7rem, 3.6vw, 2.75rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--echef-color-primary);
}

.echef-home-hero__title-line,
.echef-home-hero__title-accent {
    display: block;
    color: var(--echef-color-primary);
}

html[lang="ru"] .echef-home-hero__title,
html[lang="en"] .echef-home-hero__title {
    text-transform: uppercase;
    letter-spacing: 0.01em;
}

.echef-home-hero__lead {
    max-width: 30rem;
    margin: 0 0 1rem;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.86);
}

.echef-home-hero__textlink {
    display: inline;
    color: #fff;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .04em;
    text-decoration: none;
}

.echef-home-hero__textlink-label {
    white-space: nowrap;
    text-decoration: underline;
    text-underline-offset: .28em;
    text-decoration-thickness: 1px;
}

html[lang="ru"] .echef-home-hero__textlink,
html[lang="en"] .echef-home-hero__textlink {
    text-transform: uppercase;
}

.echef-home-hero__textlink:hover,
.echef-home-hero__textlink:focus-visible {
    color: var(--echef-color-primary);
}

.echef-home-hero__textlink:focus-visible,
.echef-home-hero__pill:focus-visible,
.echef-home-hero__more:focus-visible {
    outline: 2px solid var(--echef-color-primary);
    outline-offset: 3px;
}

.echef-home-hero__pill {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 3.35rem;
    padding: .9rem 2.4rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #2f63f0 0%, var(--echef-hero-blue) 100%);
    color: #fff;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: .03em;
    text-decoration: none;
    box-shadow: 0 14px 32px rgba(30, 78, 216, 0.42), 0 1px 0 rgba(255, 255, 255, 0.25) inset;
    white-space: nowrap;
}

html[lang="ru"] .echef-home-hero__pill,
html[lang="en"] .echef-home-hero__pill {
    text-transform: uppercase;
}

.echef-home-hero__pill:hover,
.echef-home-hero__pill:focus-visible {
    color: #fff;
    background: linear-gradient(180deg, #3b6ef5 0%, var(--echef-hero-blue-deep) 100%);
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(30, 78, 216, 0.5);
}

.echef-home-hero__more-row {
    display: flex;
    justify-content: center;
    padding: 0.85rem 0 0 18%;
}

.echef-home-hero__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: .55rem 2rem;
    border-radius: 999px;
    border: 2px solid #c6e85a;
    background: var(--echef-hero-blue);
    color: #c6e85a;
    font-weight: 800;
    letter-spacing: .06em;
    text-decoration: none;
}

html[lang="ru"] .echef-home-hero__more,
html[lang="en"] .echef-home-hero__more {
    text-transform: uppercase;
}

.echef-home-hero__more:hover,
.echef-home-hero__more:focus-visible {
    color: #d4f06e;
    background: var(--echef-hero-blue-deep);
    border-color: #d4f06e;
}

body:has(.echef-cookie-banner:not([hidden])) .echef-home-hero--cinematic {
    padding-bottom: 2.25rem;
}

.echef-btn--lg {
    padding: .85rem 1.35rem;
    font-size: .95rem;
}

.echef-home-audience__header {
    max-width: 42rem;
    margin: 0 auto 2.5rem;
}

.echef-home-audience__lead {
    color: var(--echef-color-text-muted, #666);
    line-height: 1.65;
    margin: 0;
}

.echef-home-audience-card__body p {
    margin: 0 0 1rem;
    color: var(--echef-color-text-muted, #666);
    line-height: 1.6;
    font-size: .92rem;
}

.echef-home-audience {
    background: var(--echef-color-bg, #fafaf8);
}

.echef-home-audience-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(16, 19, 87, 0.08);
    box-shadow: 0 10px 30px rgba(16, 19, 87, 0.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.echef-home-audience-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(16, 19, 87, 0.1);
}

.echef-home-audience-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.echef-home-audience-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.echef-home-audience-card:hover .echef-home-audience-card__image img {
    transform: scale(1.04);
}

.echef-home-audience-card__body {
    padding: 1.25rem 1.25rem 1.5rem;
}

.echef-home-audience-card__title {
    font-size: 1.1rem;
    margin: .35rem 0 .75rem;
}

.echef-home-audience-card__title a {
    color: inherit;
    text-decoration: none;
}

.echef-home-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.echef-home-roadmaps .echef-program-card {
    width: 100%;
}

.echef-home-final-cta {
    --echef-hero-blue: #1e4ed8;
    --echef-hero-blue-deep: #163db8;
    --echef-hero-ink: #0b0c10;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-bottom: 0;
    padding: 2.5rem 0 3rem;
    background: var(--echef-hero-ink);
}

.echef-home-final-cta--photo {
    padding: 3.75rem 0 4rem;
}

.echef-home-final-cta__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.echef-home-final-cta__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}

.echef-home-final-cta__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 72% 70% at 50% 48%, rgba(11, 12, 16, 0.5) 0%, rgba(11, 12, 16, 0.28) 100%),
        linear-gradient(180deg, rgba(160, 198, 79, 0.28) 0%, rgba(11, 12, 16, 0.32) 38%, rgba(11, 12, 16, 0.58) 100%);
}

.echef-home-final-cta .container {
    position: relative;
    z-index: 1;
}

.echef-home-final-cta .echef-cta-panel {
    background: transparent;
    border-radius: 0;
    padding: 0.5rem 0 0;
}

.echef-home-final-cta .echef-cta-panel__kicker,
.echef-home-final-cta .echef-kicker {
    color: #c6e85a;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

html[lang="ka"] .echef-home-final-cta .echef-kicker {
    text-transform: none;
    letter-spacing: 0.02em;
    font-size: 1.02rem;
}

.echef-home-final-cta .echef-cta-panel h2 {
    color: var(--echef-color-primary);
    font-size: clamp(1.9rem, 3.8vw, 3.05rem);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 1rem;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

html[lang="ka"] .echef-home-final-cta .echef-cta-panel h2 {
    font-size: clamp(1.75rem, 3.4vw, 2.65rem);
    line-height: 1.22;
}

.echef-home-final-cta .echef-cta-panel p {
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.05rem;
    margin-bottom: 1.75rem;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

html[lang="ka"] .echef-home-final-cta .echef-cta-panel p {
    font-size: 0.98rem;
}

.echef-home-final-cta .echef-cta-panel .echef-btn {
    border-radius: 999px;
    font-weight: 800;
    min-height: 3.35rem;
    padding: 0.9rem 2.4rem;
    letter-spacing: 0.03em;
}

html[lang="ru"] .echef-home-final-cta .echef-cta-panel .echef-btn,
html[lang="en"] .echef-home-final-cta .echef-cta-panel .echef-btn {
    text-transform: uppercase;
}

html[lang="ka"] .echef-home-final-cta .echef-cta-panel .echef-btn {
    font-size: 1.05rem;
}

.echef-home-final-cta .echef-cta-panel .echef-btn--accent {
    background: linear-gradient(180deg, #2f63f0 0%, var(--echef-hero-blue) 100%);
    border: 0;
    color: #fff;
    box-shadow: 0 14px 32px rgba(30, 78, 216, 0.42), 0 1px 0 rgba(255, 255, 255, 0.25) inset;
}

.echef-home-final-cta .echef-cta-panel .echef-btn--accent:hover,
.echef-home-final-cta .echef-cta-panel .echef-btn--accent:focus-visible {
    color: #fff;
    background: linear-gradient(180deg, #3b6ef5 0%, var(--echef-hero-blue-deep) 100%);
}

.echef-home-final-cta .echef-cta-panel .echef-btn--primary {
    background: var(--echef-hero-blue);
    border: 2px solid #c6e85a;
    color: #c6e85a;
}

.echef-home-final-cta .echef-cta-panel .echef-btn--primary:hover,
.echef-home-final-cta .echef-cta-panel .echef-btn--primary:focus-visible {
    background: var(--echef-hero-blue-deep);
    border-color: #d4f06e;
    color: #d4f06e;
}

@media (max-width: 767.98px) {
    .echef-home-final-cta--photo {
        padding: 2.75rem 0 3rem;
    }

    .echef-home-final-cta--photo .echef-home-final-cta__media::after {
        background:
            radial-gradient(ellipse 100% 80% at 50% 46%, rgba(11, 12, 16, 0.58) 0%, rgba(11, 12, 16, 0.4) 100%),
            linear-gradient(180deg, rgba(160, 198, 79, 0.24) 0%, rgba(11, 12, 16, 0.42) 40%, rgba(11, 12, 16, 0.62) 100%);
    }
}

/* How we teach — Engage / Learn / Assess / Thrive */
.echef-home-method {
    background: var(--echef-color-bg, #fafaf8);
}

.echef-home-method__header {
    max-width: 42rem;
    margin: 0 auto 1.5rem;
}

.echef-home-method__intro {
    max-width: 36rem;
    color: var(--echef-color-text-muted, #666);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
}

.echef-method-card {
    display: flex;
    flex-direction: column;
    padding: 1.75rem 1.5rem;
    border-radius: 16px;
    background: var(--echef-color-surface, #fff);
    border: 1px solid var(--echef-color-border, #e8e6e1);
    box-shadow: 0 6px 20px rgba(56, 56, 56, 0.04);
    transition: transform .2s ease, box-shadow .2s ease;
}

.echef-method-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(56, 56, 56, 0.08);
}

.echef-method-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.15rem;
    border-radius: 12px;
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary-dark, #8fb247);
    font-size: 1.25rem;
}

.echef-method-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 .65rem;
    color: var(--echef-color-text, #383838);
}

.echef-method-card__text {
    margin: 0;
    font-size: .92rem;
    line-height: 1.6;
    color: var(--echef-color-text-muted, #666);
    flex: 1;
}

.echef-method-card--engage .echef-method-card__icon {
    background: rgba(var(--echef-color-primary-rgb), 0.14);
}

.echef-method-card--learn .echef-method-card__icon {
    background: rgba(var(--echef-color-accent-warm-rgb), 0.22);
    color: #9a7b00;
}

.echef-method-card--assess .echef-method-card__icon {
    background: rgba(56, 56, 56, 0.08);
    color: var(--echef-color-text, #383838);
}

.echef-method-card--thrive .echef-method-card__icon {
    background: rgba(var(--echef-color-primary-rgb), 0.2);
    color: var(--echef-color-primary, #a0c64f);
}

.echef-home-method__blog {
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-home-method__blog-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.echef-home-method__blog-title {
    font-size: 1.15rem;
    margin: 0;
    color: var(--echef-color-text, #383838);
}

.echef-home-method__blog-link {
    font-size: .9rem;
    font-weight: 700;
    color: var(--echef-color-primary-dark, #8fb247);
    text-decoration: none;
    white-space: nowrap;
}

.echef-home-method__blog-link:hover {
    color: var(--echef-color-text, #383838);
}

.echef-method-blog-card {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: var(--echef-color-surface, #fff);
    border: 1px solid var(--echef-color-border, #e8e6e1);
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s ease;
}

.echef-method-blog-card:hover {
    box-shadow: 0 10px 24px rgba(56, 56, 56, 0.08);
    color: inherit;
}

.echef-method-blog-card img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.echef-method-blog-card__body {
    padding: 1.15rem 1.25rem 1.35rem;
}

.echef-method-blog-card__date {
    display: block;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted, #666);
    margin-bottom: .4rem;
}

.echef-method-blog-card__body h4 {
    font-size: 1rem;
    margin: 0 0 .45rem;
    line-height: 1.35;
    color: var(--echef-color-text, #383838);
}

.echef-method-blog-card__body p {
    margin: 0;
    font-size: .88rem;
    line-height: 1.55;
    color: var(--echef-color-text-muted, #666);
}

/* Programs — capsule style */
.echef-home-programs {
    background: var(--echef-color-bg, #fafaf8);
    color: var(--echef-color-text, #383838);
    padding-top: 0;
}

.echef-home-programs__header {
    max-width: 52rem;
    margin: 0 auto 1.5rem;
}

.echef-home-programs__lead {
    color: var(--echef-color-text-muted, #666);
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 42rem;
}

.echef-home-programs .echef-kicker {
    color: var(--echef-color-primary, #a0c64f);
}

.echef-home-programs .font-title--md {
    color: var(--echef-color-text, #383838);
}

.echef-capsule {
    border-radius: 20px;
    overflow: hidden;
    background: #12142e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    transition: transform .2s ease, box-shadow .2s ease;
}

.echef-capsule:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

.echef-capsule__media img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.echef-capsule__body {
    padding: 1.15rem 1.2rem 1.35rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.echef-capsule__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .75rem;
}

.echef-capsule__type,
.echef-capsule__weeks {
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.echef-capsule__type {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.echef-capsule__weeks {
    background: rgba(255, 122, 26, 0.18);
    color: #ffb347;
}

.echef-capsule__title {
    font-size: 1.05rem;
    line-height: 1.25;
    margin: 0 0 .65rem;
    color: #fff;
}

.echef-capsule__desc {
    margin: 0 0 .85rem;
    font-size: .88rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
    flex: 1;
}

.echef-capsule__bullets {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: grid;
    gap: .35rem;
}

.echef-capsule__bullets li {
    position: relative;
    padding-left: 1rem;
    font-size: .82rem;
    color: rgba(255, 255, 255, 0.78);
}

.echef-capsule__bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #ff7a1a;
}

.echef-capsule__cta {
    margin-top: auto;
    font-size: .88rem;
    font-weight: 700;
    color: #ffb347;
    text-decoration: none;
}

.echef-capsule__cta:hover {
    color: #fff;
}

.echef-capsule--chef { border-top: 3px solid #ff7a1a; }
.echef-capsule--sous { border-top: 3px solid #00a0a0; }
.echef-capsule--restaurateur { border-top: 3px solid #4ade80; }
.echef-capsule--pastry { border-top: 3px solid #d97706; }
.echef-capsule--dough { border-top: 3px solid #a78bfa; }
.echef-capsule--default { border-top: 3px solid #fff; }

/* Home — dark bands (platform, popular courses, instructors) */
.echef-page .section.echef-home-platform,
.echef-page .section.echef-home-popular,
.echef-page .section.echef-home-instructors {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(ellipse 85% 55% at 50% -8%, rgba(160, 198, 79, 0.14), transparent 58%),
        radial-gradient(ellipse 60% 40% at 100% 100%, rgba(160, 198, 79, 0.06), transparent 50%),
        linear-gradient(180deg, #0f1124 0%, #12142e 48%, #181a32 100%);
    color: #fff;
}

.echef-page .section.echef-home-platform::before,
.echef-page .section.echef-home-popular::before,
.echef-page .section.echef-home-instructors::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
    transform: translateX(-50%);
    width: min(560px, 72%);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(160, 198, 79, 0.7), transparent);
    pointer-events: none;
}

.echef-page .section.echef-home-platform .container,
.echef-page .section.echef-home-popular .container,
.echef-page .section.echef-home-instructors .container {
    position: relative;
    z-index: 1;
}

.echef-page .section.echef-home-platform .echef-kicker {
    color: var(--echef-color-primary, #a0c64f);
}

.echef-page .section.echef-home-platform .font-title--md,
.echef-page .section.echef-home-popular .font-title--md,
.echef-page .section.echef-home-instructors .font-title--md,
.echef-page .section.echef-home-instructors .echef-home-instructors__title {
    color: #fff;
}

.echef-page .section.echef-home-platform .echef-home-platform__lead,
.echef-page .section.echef-home-popular .echef-home-popular__lead {
    color: rgba(255, 255, 255, 0.74);
}

.echef-page .section.echef-home-platform .echef-platform-card {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(6px);
}

.echef-page .section.echef-home-platform .echef-platform-card:hover {
    background: rgba(160, 198, 79, 0.12);
    border-color: rgba(198, 232, 90, 0.55);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32);
}

.echef-page .section.echef-home-platform .echef-platform-card__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--echef-color-primary, #a0c64f);
    color: #0b0c10;
    font-size: 1.15rem;
    box-shadow: 0 8px 18px rgba(160, 198, 79, 0.28);
}

.echef-page .section.echef-home-platform .echef-platform-card__icon i {
    font-size: 1.15rem;
    line-height: 1;
}

.echef-page .section.echef-home-platform .echef-platform-card:hover .echef-platform-card__icon {
    background: #c6e85a;
    color: #0b0c10;
}

.echef-page .section.echef-home-platform .echef-platform-card__title {
    color: #fff;
}

html[lang="ka"] .echef-page .section.echef-home-platform .echef-platform-card__title {
    text-transform: none;
    letter-spacing: 0.02em;
    font-size: 1.05rem;
}

.echef-page .section.echef-home-platform .echef-platform-card__text {
    color: rgba(255, 255, 255, 0.72);
}

.echef-page .section.echef-home-popular .echef-course-card {
    background: #fff;
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
    color: var(--echef-color-text);
}

.echef-page .section.echef-home-popular .echef-course-card__title a {
    color: #8b1519;
}

.echef-page .section.echef-home-popular .echef-course-card__desc,
.echef-page .section.echef-home-popular .echef-course-card__instructor,
.echef-page .section.echef-home-popular .echef-card-stats__label {
    color: var(--echef-color-text-muted);
}

.echef-page .section.echef-home-popular .echef-card-stats__value {
    color: var(--echef-color-text);
}

.echef-page .section.echef-home-popular .echef-course-card:hover {
    border-color: rgba(160, 198, 79, 0.45);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.echef-page .section.echef-home-instructors .mentor {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.echef-page .section.echef-home-instructors .mentor__title {
    background: #fff;
    border: none;
}

.echef-page .section.echef-home-instructors .mentor__title a {
    color: var(--echef-color-text, #383838);
}

.echef-page .section.echef-home-instructors .mentor:hover .mentor__title a {
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-page .section.echef-home-instructors .mentor__title p {
    color: #908fa5;
}

.echef-home-guide {
    margin-top: 1.35rem;
    padding: 0;
    background: transparent;
    scroll-margin-top: calc(var(--echef-header-height, 72px) + 0.75rem);
}

.echef-home-guide__question {
    margin: 0 0 1.1rem;
    text-align: center;
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: var(--echef-color-text, #383838);
}

html[lang="ka"] .echef-home-guide__question {
    font-size: clamp(1.2rem, 2.2vw, 1.6rem);
    line-height: 1.28;
}

.echef-home-guide__cards {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .echef-home-guide__cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

.echef-home-guide__card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.25rem 1.2rem 1.15rem;
    border-radius: 18px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    background: #fff;
    box-shadow: 0 8px 24px rgba(16, 19, 87, 0.04);
    text-decoration: none;
    color: inherit;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.echef-home-guide__card:hover,
.echef-home-guide__card:focus-visible {
    border-color: rgba(var(--echef-color-primary-rgb), 0.42);
    box-shadow: 0 16px 36px rgba(var(--echef-color-primary-rgb), 0.14);
    color: inherit;
    transform: translateY(-2px);
}

.echef-home-guide__card:focus-visible {
    outline: 2px solid var(--echef-color-primary, #a0c64f);
    outline-offset: 3px;
}

.echef-home-guide__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.85rem;
    border-radius: 999px;
    background: rgba(var(--echef-color-primary-rgb), 0.14);
    color: var(--echef-color-primary-dark, #8fb247);
    font-size: 1rem;
}

.echef-home-guide__title {
    margin: 0 0 0.45rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--echef-color-text, #383838);
}

.echef-home-guide__lead {
    margin: 0 0 1rem;
    flex: 1;
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.45;
    color: #5c5b66;
}

.echef-home-guide__cta {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-home-guide__cta::after {
    content: " →";
}

/* Journey — How it works */
.echef-home-journey {
    background: linear-gradient(180deg, #fff 0%, var(--echef-color-bg, #fafaf8) 100%);
    padding-top: 2.5rem;
    scroll-margin-top: calc(var(--echef-header-height, 72px) + 0.5rem);
}

.echef-home-journey .echef-kicker {
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-home-journey__header {
    max-width: 40rem;
    margin: 0 auto 1.5rem;
}

.echef-home-journey__title {
    margin: 0;
    font-size: clamp(1.85rem, 3.8vw, 3rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--echef-color-text, #383838);
}

.echef-home-journey__track {
    position: relative;
}

@media (min-width: 768px) {
    .echef-home-journey__track::before {
        content: "";
        position: absolute;
        top: 3.25rem;
        left: 16.666%;
        right: 16.666%;
        height: 2px;
        background: linear-gradient(
            90deg,
            rgba(var(--echef-color-primary-rgb), 0.08) 0%,
            rgba(var(--echef-color-primary-rgb), 0.45) 50%,
            rgba(var(--echef-color-primary-rgb), 0.08) 100%
        );
        pointer-events: none;
    }
}

.echef-journey-step {
    position: relative;
    overflow: hidden;
    padding: 1.65rem 1.5rem 1.5rem;
    border-radius: 18px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    background: #fff;
    box-shadow: 0 8px 24px rgba(16, 19, 87, 0.04);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.echef-journey-step:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--echef-color-primary-rgb), 0.42);
    box-shadow: 0 16px 36px rgba(var(--echef-color-primary-rgb), 0.14);
}

.echef-journey-step__num {
    position: absolute;
    top: .75rem;
    right: 1rem;
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    color: rgba(var(--echef-color-primary-rgb), 0.34);
    pointer-events: none;
    user-select: none;
}

.echef-journey-step__head {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.echef-journey-step__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 12px;
    background: rgba(var(--echef-color-primary-rgb), 0.28);
    color: var(--echef-color-primary, #a0c64f);
    font-size: 1.1rem;
    box-shadow: inset 0 0 0 1px rgba(var(--echef-color-primary-rgb), 0.35);
    transition: background .22s ease, color .22s ease, box-shadow .22s ease;
}

.echef-journey-step:hover .echef-journey-step__num {
    color: rgba(var(--echef-color-primary-rgb), 0.48);
}

.echef-journey-step:hover .echef-journey-step__icon {
    background: var(--echef-color-primary, #a0c64f);
    color: #fff;
    box-shadow: 0 8px 18px rgba(var(--echef-color-primary-rgb), 0.32);
}

.echef-journey-step__label {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--echef-color-primary, #a0c64f);
}

.echef-journey-step__title {
    position: relative;
    z-index: 1;
    font-size: 1.08rem;
    font-weight: 700;
    margin: 0 0 .65rem;
    line-height: 1.35;
    color: var(--echef-color-text, #383838);
}

.echef-journey-step__text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: .9rem;
    line-height: 1.65;
    color: var(--echef-color-text-muted, #666);
}

@media (max-width: 767.98px) {
    .echef-home-journey__track::before {
        display: none;
    }

    .echef-journey-step__num {
        font-size: 2.25rem;
        color: rgba(var(--echef-color-primary-rgb), 0.38);
    }
}

.echef-home-blog {
    background: #fff;
}

.echef-home-blog__card {
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    background: #fff;
    box-shadow: 0 8px 24px rgba(16, 19, 87, 0.04);
}

.echef-home-blog__image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--echef-color-bg, #fafaf8);
}

.echef-home-blog__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.echef-home-blog__body {
    padding: 0.9rem 1.05rem 1.05rem;
}

.echef-home-blog__date {
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-home-blog__title {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.35;
}

.echef-home-blog__title a {
    color: var(--echef-color-text, #383838);
    text-decoration: none;
}

.echef-home-blog__title a:hover,
.echef-home-blog__title a:focus-visible {
    color: var(--echef-color-hero, #1e4d8c);
}

.echef-home-blog__more {
    margin: 1.25rem 0 0;
    text-align: center;
}

.echef-home-blog__more a {
    color: var(--echef-color-text, #383838);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* Platform — Technologie style */
.echef-home-platform {
    padding-top: 0;
}

.echef-home-platform__header {
    max-width: 44rem;
    margin: 0 auto 1.5rem;
}

.echef-home-platform__lead {
    max-width: 38rem;
    color: var(--echef-color-text-muted, #666);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
}

.echef-platform-card {
    padding: 1.5rem 1.35rem;
    border-radius: 16px;
    background: var(--echef-color-surface, #fff);
    border: 1px solid var(--echef-color-border, #e8e6e1);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.echef-platform-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--echef-color-primary-rgb), 0.45);
    background: rgba(var(--echef-color-primary-rgb), 0.08);
    box-shadow: 0 14px 36px rgba(var(--echef-color-primary-rgb), 0.18);
}

.echef-platform-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    background: rgba(var(--echef-color-primary-rgb), 0.14);
    color: var(--echef-color-primary-dark, #8fb247);
    transition: background .22s ease, color .22s ease;
}

.echef-platform-card:hover .echef-platform-card__icon {
    background: var(--echef-color-primary, #a0c64f);
    color: #fff;
}

.echef-platform-card__title {
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin: 0 0 .5rem;
    color: var(--echef-color-text, #383838);
}

.echef-platform-card__text {
    margin: 0;
    font-size: .88rem;
    line-height: 1.6;
    color: var(--echef-color-text-muted, #666);
}

/* Homepage section headers — no boxed white backgrounds, readable titles */
.echef-page section[class*="echef-home-"]:not(.echef-home-hero):not(.echef-home-platform):not(.echef-home-popular):not(.echef-home-instructors):not(.echef-home-final-cta) {
    background-color: var(--echef-color-bg, #fafaf8);
}

.echef-page section.echef-home-hero,
.echef-page section.echef-home-hero--cinematic {
    background: #0b0c10 !important;
    background-color: #0b0c10 !important;
}

/* main.css sets header { background: #fff !important } — reset for in-page section headers */
.echef-page section[class*="echef-home-"] header,
.echef-page section[class*="echef-home-"] .echef-home-programs__header,
.echef-page section[class*="echef-home-"] .echef-home-guide__header,
.echef-page section[class*="echef-home-"] .echef-home-journey__header,
.echef-page section[class*="echef-home-"] .echef-home-platform__header,
.echef-page section[class*="echef-home-"] .echef-home-popular__header,
.echef-page section[class*="echef-home-"] .echef-home-faq__header,
.echef-page section[class*="echef-home-"] .echef-home-categories__header {
    background: transparent !important;
    background-color: transparent !important;
}

.echef-page section[class*="echef-home-"] .container {
    background: transparent;
}

.echef-page .echef-home-programs__header,
.echef-page .echef-home-guide__header,
.echef-page .echef-home-journey__header,
.echef-page .echef-home-platform__header,
.echef-page .echef-home-popular__header,
.echef-page .echef-home-faq__header,
.echef-page .echef-home-categories__header {
    background: transparent !important;
}

.echef-page section[class*="echef-home-"] .echef-kicker,
.echef-page section[class*="echef-home-"] .font-title--md,
.echef-page section[class*="echef-home-"] [class*="__lead"],
.echef-page section[class*="echef-home-"] [class*="__tagline"] {
    background: transparent !important;
}

.echef-page .echef-home-programs .font-title--md,
.echef-page .echef-home-journey .font-title--md,
.echef-page .echef-home-faq .font-title--md,
.echef-page .echef-home-categories .font-title--md {
    color: var(--echef-color-text, #383838);
    text-transform: none;
    margin-bottom: 1rem;
}

.echef-page section[class*="echef-home-"]:not(.echef-home-hero) .font-title--md,
.echef-page .section .font-title--md,
.echef-page .echef-home-campus__title,
.echef-page .echef-home-instructors__title {
    font-size: clamp(1.9rem, 3.8vw, 3.05rem);
    line-height: 1.22;
}

html[lang="ka"] .echef-page section[class*="echef-home-"]:not(.echef-home-hero) .font-title--md,
html[lang="ka"] .echef-page .section .font-title--md,
html[lang="ka"] .echef-page .echef-home-instructors__title,
html[lang="ka"] .echef-page .echef-home-guide .font-title--md,
html[lang="ka"] .echef-page .echef-home-journey__title {
    font-size: clamp(1.75rem, 3.4vw, 2.65rem);
    line-height: 1.24;
}

.echef-page .section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.echef-page .section.echef-home-platform,
.echef-page .section.echef-home-popular,
.echef-page .section.echef-home-instructors,
.echef-page .section.echef-home-programs,
.echef-page .section.echef-home-journey,
.echef-page .section.echef-home-faq,
.echef-page .section.echef-home-categories,
.echef-page .section.echef-home-campus {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

@media (max-width: 767px) {
    .echef-page .section,
    .echef-page .section.echef-home-platform,
    .echef-page .section.echef-home-popular,
    .echef-page .section.echef-home-instructors,
    .echef-page .section.echef-home-programs,
    .echef-page .section.echef-home-journey,
    .echef-page .section.echef-home-faq,
    .echef-page .section.echef-home-categories,
    .echef-page .section.echef-home-campus {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
    }

    .echef-home-hero {
        padding: 2rem 0 1.75rem;
    }

    .echef-home-hero--cinematic {
        padding: 1rem 0 1.15rem;
    }
}

.echef-home-popular__header {
    max-width: 40rem;
    margin: 0 auto 1.5rem;
}

.echef-home-popular__lead {
    color: var(--echef-color-text-muted, #666);
    line-height: 1.65;
    margin: 0;
}

.echef-home-popular .echef-course-card {
    width: 100%;
    border-color: var(--echef-color-border, #e8e6e1);
}

.echef-home-popular .echef-course-card:hover {
    border-color: rgba(var(--echef-color-primary-rgb), 0.35);
    box-shadow: 0 14px 32px rgba(var(--echef-color-primary-rgb), 0.14);
}

.echef-home-popular .echef-course-card__rating {
    background: rgba(255, 255, 255, 0.96);
}

.echef-home-popular .echef-star-rating {
    color: #f5b301;
}

.echef-home-popular .echef-course-card__badge--free {
    background: var(--echef-color-primary, #a0c64f);
    color: #1a1a1a;
}

.echef-home-popular .echef-course-card__price {
    color: var(--echef-color-primary-dark, #8fb247);
    font-weight: 700;
}

.echef-home-popular .echef-course-card__actions .echef-btn--outline {
    border-color: var(--echef-color-primary, #a0c64f);
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-home-popular .echef-course-card__actions .echef-btn--outline:hover {
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-text, #383838);
}

.echef-home-popular .echef-course-card__actions .echef-btn--accent {
    background: var(--echef-color-primary, #a0c64f) !important;
    border-color: var(--echef-color-primary, #a0c64f) !important;
    color: #fff !important;
}

.echef-home-popular .echef-course-card__actions .echef-btn--accent:hover {
    background: var(--echef-color-primary-dark, #8fb247) !important;
    border-color: var(--echef-color-primary-dark, #8fb247) !important;
}

/* Categories — direction tiles */
.echef-home-categories {
    background: var(--echef-color-bg, #fafaf8);
}

.echef-home-categories__header {
    max-width: 40rem;
    margin: 0 auto 2.5rem;
}

.echef-home-categories__lead {
    color: var(--echef-color-text-muted, #666);
    line-height: 1.65;
    margin: 0;
}

.echef-category-tile {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    overflow: hidden;
    background: var(--echef-color-surface, #fff);
    border: 1px solid var(--echef-color-border, #e8e6e1);
    text-decoration: none;
    color: inherit;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.echef-category-tile:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--echef-color-primary-rgb), 0.45);
    box-shadow: 0 14px 36px rgba(var(--echef-color-primary-rgb), 0.16);
    color: inherit;
}

.echef-category-tile__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--echef-color-border, #e8e6e1);
}

.echef-category-tile__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.echef-category-tile:hover .echef-category-tile__media img {
    transform: scale(1.05);
}

.echef-category-tile__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 17, 40, 0.05) 0%, rgba(15, 17, 40, 0.72) 100%);
    pointer-events: none;
}

.echef-category-tile__icon {
    position: absolute;
    left: .85rem;
    bottom: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 10px;
    background: rgba(var(--echef-color-primary-rgb), 0.92);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

.echef-category-tile__body {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: .9rem 1rem 1.05rem;
}

.echef-category-tile__name {
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--echef-color-text, #383838);
}

.echef-category-tile__meta {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--echef-color-primary-dark, #8fb247);
}

/* Campus — hero-style mosaic visual */
.echef-home-campus {
    background: transparent;
}

.echef-home-campus__row {
    align-items: stretch;
}

.echef-home-campus__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    width: 100%;
    max-width: none;
    padding: 0;
}

.echef-home-campus__intro {
    flex-shrink: 0;
}

.echef-home-campus .echef-kicker {
    display: block;
    margin-bottom: .45rem;
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-page .echef-home-campus__title,
html[lang="ka"] .echef-page .echef-home-campus__title {
    margin: 0 0 .55rem;
    font-size: clamp(1.45rem, 2.4vw, 1.95rem);
    line-height: 1.22;
    color: var(--echef-color-text, #383838);
}

.echef-home-campus__lead {
    margin: 0;
    color: var(--echef-color-text-muted, #666);
    line-height: 1.55;
    font-size: 1rem;
    max-width: 38rem;
}

.echef-campus-team {
    padding: .75rem .9rem;
    border-radius: 16px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    background: var(--echef-color-bg, #fafaf8);
}

.echef-campus-team__kicker {
    display: block;
    margin-bottom: .65rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--echef-color-primary, #a0c64f);
}

.echef-campus-team__avatars {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}

.echef-campus-team__avatars img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(16, 19, 87, 0.12);
}

.echef-campus-team__avatars img + img {
    margin-left: -.6rem;
}

.echef-campus-team__text {
    margin: 0;
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted, #666);
}

.echef-home-campus__features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.15rem;
}

.echef-campus-feature {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: .7rem;
    align-items: start;
    padding: .85rem .9rem;
    border-radius: 16px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    background: #fff;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.echef-campus-feature:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--echef-color-primary-rgb), 0.42);
    box-shadow: 0 10px 24px rgba(var(--echef-color-primary-rgb), 0.12);
}

.echef-campus-feature__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 12px;
    background: var(--echef-color-primary-dark, #8fb247);
    color: #fff;
    font-size: 1.25rem;
    box-shadow: 0 6px 16px rgba(var(--echef-color-primary-rgb), 0.32);
}

.echef-campus-feature__icon i {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.echef-campus-feature__body {
    min-width: 0;
}

.echef-campus-feature__body strong {
    display: block;
    margin-bottom: .35rem;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--echef-color-text, #383838);
}

.echef-campus-feature__body p {
    margin: 0;
    font-size: .86rem;
    line-height: 1.6;
    color: var(--echef-color-text-muted, #666);
}

.echef-campus-mosaic {
    display: flex;
    width: 100%;
    min-height: 100%;
}

.echef-campus-mosaic__figure {
    position: relative;
    display: flex;
    flex: 1;
    width: 100%;
    height: 100%;
    min-height: 280px;
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(16, 19, 87, 0.12);
    border: 1px solid rgba(16, 19, 87, 0.08);
}

.echef-campus-mosaic__figure::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 42%;
    background: linear-gradient(to top, rgba(15, 17, 36, 0.55), transparent);
    pointer-events: none;
    z-index: 1;
}

.echef-campus-mosaic__figure > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.echef-campus-mosaic__badge {
    position: absolute;
    z-index: 3;
    top: 1rem;
    left: 1rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    max-width: min(100%, calc(100% - 7.5rem));
    margin: 0;
    padding: .45rem .85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.92);
    color: var(--echef-color-text, #202029);
    font-size: .74rem;
    font-weight: 600;
    line-height: 1.35;
    backdrop-filter: blur(10px);
}

.echef-campus-mosaic__pulse {
    flex-shrink: 0;
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--echef-color-primary, #a0c64f);
    box-shadow: 0 0 0 0 rgba(160, 198, 79, 0.55);
    animation: echefHeroPulse 2s infinite;
}

.echef-campus-mosaic__thumb {
    position: absolute;
    z-index: 3;
    top: .7rem;
    right: .7rem;
    width: 48px;
    height: 48px;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
}

.echef-campus-mosaic__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.28));
}

.echef-campus-mosaic__stats {
    position: absolute;
    z-index: 2;
    left: .75rem;
    right: .75rem;
    bottom: .75rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.echef-campus-mosaic__tile {
    padding: .75rem .65rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 28px rgba(16, 19, 87, 0.1);
    color: var(--echef-color-text, #202029);
    min-width: 0;
}

.echef-campus-mosaic__tile-kicker {
    display: block;
    margin-bottom: .45rem;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted, #666);
}

.echef-campus-mosaic__tile strong {
    display: block;
    font-size: clamp(1.15rem, 2.2vw, 1.45rem);
    line-height: 1.05;
    font-weight: 800;
    color: var(--echef-color-text, #202029);
}

.echef-campus-mosaic__tile span,
.echef-campus-mosaic__tile > p {
    display: block;
    margin: .25rem 0 0;
    font-size: .68rem;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted, #666);
}

.echef-campus-mosaic__tile--stat {
    text-align: center;
}

.echef-campus-mosaic__tile--practice {
    text-align: center;
    background: rgba(16, 19, 87, 0.88);
    border-color: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.echef-campus-mosaic__tile--practice strong {
    color: #fff;
}

.echef-campus-mosaic__tile--practice span {
    color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 991.98px) {
    .echef-home-campus__row {
        align-items: start;
    }

    .echef-campus-mosaic__figure {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 767.98px) {
    .echef-home-campus__features {
        grid-template-columns: 1fr;
        margin-top: .9rem;
    }

    .echef-campus-mosaic__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* FAQ preview on homepage */
.echef-home-faq--compact.section,
.echef-page .section.echef-home-faq--compact {
    padding-top: 1.25rem;
    padding-bottom: 1.15rem;
}

.echef-home-faq--compact .echef-home-faq__header {
    margin-bottom: 0.75rem;
}

.echef-home-faq--compact .echef-home-faq__lead {
    display: none;
}

.echef-page .section.echef-home-faq--compact .font-title--md,
html[lang="ka"] .echef-page .section.echef-home-faq--compact .font-title--md {
    margin-bottom: 0;
    font-size: 1.35rem;
    line-height: 1.25;
}

.echef-home-faq--compact .text-center.mt-4 {
    margin-top: 0.75rem !important;
}

.echef-home-final-cta--compact.echef-home-final-cta--photo,
.echef-home-final-cta--compact {
    padding: 1.35rem 0 1.5rem;
}

.echef-home-final-cta--compact .echef-cta-panel h2,
html[lang="ka"] .echef-home-final-cta--compact .echef-cta-panel h2 {
    margin-bottom: 0.4rem;
    font-size: 1.35rem;
    line-height: 1.25;
}

.echef-home-final-cta--compact .echef-cta-panel p,
html[lang="ka"] .echef-home-final-cta--compact .echef-cta-panel p {
    margin-bottom: 0.85rem;
    font-size: 0.95rem;
}

.echef-home-faq__header {
    max-width: 40rem;
    margin: 0 auto 1.5rem;
}

.echef-home-faq__lead {
    color: var(--echef-color-text-muted, #666);
    line-height: 1.65;
    margin: 0;
}

.echef-home-faq__list {
    max-width: 48rem;
    margin: 0 auto;
    display: grid;
    gap: .75rem;
}

.echef-faq-item {
    border: 1px solid var(--echef-color-border, #e8e6e1);
    border-radius: 12px;
    background: var(--echef-color-surface, #fff);
    overflow: hidden;
}

.echef-faq-item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    font-weight: 600;
    color: var(--echef-color-text, #383838);
}

.echef-faq-item summary::-webkit-details-marker {
    display: none;
}

.echef-faq-item__toggle {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    color: var(--echef-color-primary-dark, #8fb247);
    font-size: 1.1rem;
    line-height: 1;
    transition: transform .2s ease;
}

.echef-faq-item[open] .echef-faq-item__toggle {
    transform: rotate(45deg);
}

.echef-faq-item__answer {
    padding: 0 1.15rem 1rem;
    font-size: .92rem;
    line-height: 1.65;
    color: var(--echef-color-text-muted, #666);
}

.echef-faq-item__answer p {
    margin: 0;
}

/* FAQ page */
.echef-faq-page .echef-page-header__copy {
    max-width: none;
}

.echef-faq-page__list {
    max-width: none;
    width: 100%;
    margin: 0;
    display: grid;
    gap: .75rem;
}

.echef-faq-page__empty {
    text-align: center;
    color: var(--echef-color-text-muted, #666);
    font-size: 1rem;
    padding: 2rem 0;
}

/* Course detail page */
.echef-page .breadcrumb,
.echef-course-detail .breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 0.35rem !important;
}

.echef-course-detail .breadcrumb-item a {
    color: var(--echef-color-primary);
    text-decoration: none;
}

.echef-course-detail .breadcrumb-item a:hover {
    color: var(--echef-color-primary-dark);
    text-decoration: underline;
}

.echef-course-detail .breadcrumb-item.active {
    color: var(--echef-color-primary);
}

.echef-course-detail .card {
    border-radius: 12px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transition: box-shadow .2s ease, transform .2s ease;
}

.echef-course-detail .card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.echef-course-detail .card-header.bg-primary,
.echef-course-detail .card-header.bg-secondary,
.echef-course-detail .card-header.bg-dark,
.echef-course-detail .card-header.bg-info {
    background: linear-gradient(135deg, var(--echef-color-primary, #a0c64f), var(--echef-color-primary-dark, #8fb247)) !important;
    color: #fff !important;
    border-radius: 12px 12px 0 0 !important;
    border: none;
}

.echef-course-detail .card-header.bg-dark {
    background: linear-gradient(135deg, #383838, #2a2a2a) !important;
}

.echef-course-detail .card-header.bg-info {
    background: linear-gradient(135deg, #6b9080, #5a7d6e) !important;
}

.echef-course-detail .btn-primary {
    background: var(--echef-color-primary, #a0c64f);
    border-color: var(--echef-color-primary, #a0c64f);
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
}

.echef-course-detail .btn-primary:hover {
    background: var(--echef-color-primary-dark, #8fb247);
    border-color: var(--echef-color-primary-dark, #8fb247);
}

.echef-course-detail .btn-outline-primary {
    border: 2px solid var(--echef-color-primary, #a0c64f);
    color: var(--echef-color-primary-dark, #8fb247);
    background: transparent;
    border-radius: 8px;
    font-weight: 600;
}

.echef-course-detail .btn-outline-primary:hover {
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    color: var(--echef-color-text, #383838);
}

.echef-course-detail .btn-success {
    background: var(--echef-color-primary-dark, #8fb247);
    border-color: var(--echef-color-primary-dark, #8fb247);
}

.echef-course-detail .text-primary {
    color: var(--echef-color-primary-dark, #8fb247) !important;
}

.access-flag-modern {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    width: 100%;
    margin: 0 0 0.65rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1.35;
    box-shadow: none;
    white-space: normal;
}

.echef-course-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 1rem;
    margin-bottom: 0.75rem;
}

.echef-course-toolbar .echef-catalog__breadcrumb {
    margin-bottom: 0;
    min-width: 0;
}

.access-flag-modern--success {
    background: rgba(var(--echef-color-primary-rgb), 0.15);
    color: var(--echef-color-primary-dark, #8fb247);
    border: 1px solid rgba(var(--echef-color-primary-rgb), 0.35);
}

.access-flag-modern--warning {
    background: rgba(var(--echef-color-accent-warm-rgb, 240, 217, 106), 0.25);
    color: var(--echef-color-text, #383838);
    border: 1px solid rgba(var(--echef-color-accent-warm-rgb, 240, 217, 106), 0.5);
}

.access-flag-modern i {
    margin-top: 0.12rem;
    flex-shrink: 0;
}

.echef-course-detail .random-badge,
.echef-course-detail .keyword-badge {
    padding: .35rem .75rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    color: #fff;
    background: var(--echef-color-primary, #a0c64f);
    display: inline-flex;
    align-items: center;
}

.echef-course-detail .keyword-container .keyword-badge {
    background: var(--echef-color-primary-dark, #8fb247);
    margin: .15rem;
}

.echef-course-detail .courseCard--wrapper {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e2e0d8;
    box-shadow: 0 18px 40px rgba(26, 26, 26, 0.1);
}

.echef-course-detail .courseCard--wrapper > .cart {
    padding: 1rem 1.1rem 0;
}

.echef-course-detail .cart__price {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    padding: 0.35rem 0 0.2rem;
    border-bottom: 0;
}

.echef-course-detail .cart__price .current-price {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.echef-course-buy-kicker {
    margin: 0 0 0.55rem;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    color: #1a1a1a;
    letter-spacing: -0.02em;
}

.echef-course-detail .current-price .echef-course-buy-price {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    color: #1a1a1a;
    font-weight: 800;
    font-size: 2rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-align: center;
    margin-bottom: 0;
}

.echef-course-detail .cart__price .echef-course-price-pair {
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: 0.4rem;
    row-gap: 0;
    color: #1a1a1a;
}

.echef-course-buy-once {
    margin-left: 0.05rem;
    font-size: 0.92rem;
    font-weight: 500;
    color: #8a8a8a;
    letter-spacing: 0;
    white-space: nowrap;
}

.echef-course-detail .cart__price .echef-course-promo {
    margin: 0;
}

.echef-course-detail .cart__price .echef-course-price-pair del {
    color: var(--echef-color-text-muted, #666);
    font-size: 0.48em;
    font-weight: 500;
}

.echef-course-detail .echef-course-installment {
    margin: 0.55rem 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 0;
    text-align: center;
}

.echef-course-detail .echef-course-installment__offer {
    font-weight: 700;
    color: #1a1a1a;
    font-size: 0.9rem;
}

.echef-course-detail .echef-course-installment__note {
    color: #5c5c5c;
}

.echef-course-detail .echef-course-buy-points {
    list-style: none;
    margin: 0.75rem 0 0.85rem;
    padding: 0.55rem 0.65rem;
    display: grid;
    gap: 0.45rem;
    background: #f7f6f2;
    border-radius: 12px;
}

.echef-course-detail .echef-course-buy-points li {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.55rem;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0.88rem;
    line-height: 1.35;
    color: #4a4a4a;
}

.echef-course-detail .echef-course-buy-points span {
    margin: 0;
    flex: 0 1 auto;
    text-align: left;
}

.echef-course-detail .echef-course-buy-points i {
    flex: 0 0 1.05rem;
    width: 1.05rem;
    margin: 0;
    color: var(--echef-color-primary, #a0c64f);
    font-size: 0.88rem;
    line-height: 1;
    text-align: center;
}

.echef-course-detail .cart__includes-info,
.echef-course-detail .cart__share-content {
    background: #f3f3ee;
    border-top: 1px solid #d8d6d0;
}

.echef-course-detail .cart__share-content h6 {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6a6a6a;
}

.echef-course-detail .echef-course-share__btn {
    min-height: 36px;
    background: transparent;
    border-color: #cfcbc3;
    color: #444;
    font-weight: 600;
}

.echef-course-detail .echef-course-share__btn:hover,
.echef-course-detail .echef-course-share__btn.is-copied {
    background: #111;
    border-color: #111;
    color: #fff;
}

.echef-course-detail .progress-bar {
    background: var(--echef-color-primary, #a0c64f);
    border-radius: 8px;
}

.echef-course-detail .certificate-section {
    border-left: 4px solid var(--echef-color-primary, #a0c64f);
    background: rgba(var(--echef-color-primary-rgb), 0.06);
}

.echef-course-detail .certificate-info {
    border-left: 4px solid var(--echef-color-primary-dark, #8fb247);
    background: rgba(var(--echef-color-primary-rgb), 0.04);
}

.echef-course-detail .list-group-item {
    padding: 1.15rem;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    margin-bottom: .5rem;
    border-radius: 10px !important;
    transition: border-color .2s ease, background .2s ease;
}

.echef-course-detail .list-group-item:hover {
    background: rgba(var(--echef-color-primary-rgb), 0.05);
    border-color: rgba(var(--echef-color-primary-rgb), 0.35);
}

.echef-course-detail .description-preview {
    color: var(--echef-color-text-muted, #666);
    line-height: 1.55;
}

.echef-cert-iframe-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #fff;
    aspect-ratio: 794 / 1123;
}

.echef-cert-iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    transform-origin: top left;
}

.echef-course-detail .certificate-design {
    background: #fff;
    border: 12px double var(--echef-color-primary, #a0c64f);
}

.echef-course-detail .certificate-border {
    border-color: var(--echef-color-primary, #a0c64f) !important;
}

.echef-cert-verify__card {
    max-width: 36rem;
    margin: 0 auto;
    padding: 1.5rem 1.75rem;
    background: #fff;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    border-radius: 12px;
}

.echef-cert-verify__card dl {
    margin: 0;
}

.echef-cert-verify__card dl > div {
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-cert-verify__card dl > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.echef-cert-verify__card dt {
    font-size: 0.8rem;
    color: var(--echef-color-text-muted, #666);
    margin-bottom: 0.2rem;
}

.echef-cert-verify__card dd {
    margin: 0;
    font-size: 1.05rem;
}

.echef-cert-verify__card dd span {
    font-size: 0.92rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-cert-verify__code {
    text-align: center;
    color: var(--echef-color-text-muted, #666);
}

.echef-statement-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    max-width: 40rem;
    margin: 0 auto 1rem;
}

.echef-statement {
    display: flex;
    flex-direction: column;
    max-width: 40rem;
    min-height: 72vh;
    margin: 0 auto;
    padding: 2rem 1.75rem 1.75rem;
    background: #fff;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.echef-statement__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 1.5rem 0;
}

.echef-statement__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-statement__brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.echef-statement__logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    flex: 0 0 auto;
}

.echef-statement__school {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #2b2118;
    line-height: 1.3;
}

.echef-statement__contacts {
    margin: 0;
    font-size: 0.88rem;
    color: var(--echef-color-text-muted, #666);
    line-height: 1.4;
    text-align: right;
    flex: 0 0 auto;
}

.echef-statement__title {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.35;
    font-weight: 400;
    color: #2b2118;
}

.echef-statement__title-prefix {
    display: block;
    text-align: left;
    font-weight: 400;
}

.echef-statement__title-program {
    display: block;
    text-align: center;
    font-weight: 700;
    margin-top: 0.35rem;
}

.echef-statement__body {
    font-size: 1.05rem;
    line-height: 1.55;
    color: #2b2118;
}

.echef-statement__body p {
    margin: 0 0 0.85rem;
}

.echef-statement__name {
    font-size: 1.35rem;
    font-weight: 700;
    text-align: center;
    margin: 1rem 0 0.35rem !important;
}

.echef-statement__id {
    text-align: center;
    font-size: 0.95rem;
    color: var(--echef-color-text-muted, #666);
    margin: 0 0 1rem !important;
}

.echef-statement__course-part {
    font-size: 0.88rem;
    color: var(--echef-color-text-muted, #666);
    margin: 0 0 0.35rem !important;
}

.echef-statement__course-label {
    margin-top: 1.25rem !important;
    margin-bottom: 0.35rem !important;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-text-muted, #666);
}

:lang(ka) .echef-statement__course-label {
    text-transform: none;
    letter-spacing: normal;
}

.echef-statement__course {
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 0 !important;
}

.echef-statement__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 0;
    padding: 1rem 0;
    border-top: 1px solid var(--echef-color-border, #e8e6e1);
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-statement__meta dt {
    margin: 0;
    font-size: 0.8rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-statement__meta dd {
    margin: 0.2rem 0 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.echef-statement__sign {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
}

.echef-statement__director {
    flex: 1 1 auto;
    text-align: left;
}

.echef-statement__director-name {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.echef-statement__director-label {
    margin: 0;
    font-size: 0.9rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-statement__qr {
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
}

.echef-statement__qr svg {
    display: block;
    width: 88px;
    height: 88px;
}

.echef-statement__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    font-size: 0.85rem;
    line-height: 1.4;
    color: var(--echef-color-text-muted, #666);
    word-break: break-word;
}

.echef-statement__verify-label {
    color: var(--echef-color-text-muted, #666);
}

.echef-statement__site-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    color: #1e4ed8;
    text-decoration: none;
}

.echef-statement__verify-url {
    color: #1e4ed8;
    text-decoration: none;
    font-size: 0.82rem;
}

.echef-statement__foot a:hover {
    text-decoration: underline;
}

/* Georgian: Noto first (Open Sans has no Mkhedruli — uppercase/missing glyphs look broken). */
:lang(ka) {
    --echef-font-sans: "Echef Lari", "Noto Sans Georgian", "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.echef-statement {
    font-family: var(--echef-font-sans);
}

@media (max-width: 575.98px) {
    .echef-statement {
        padding: 1.25rem 1rem;
    }

    .echef-statement__meta {
        grid-template-columns: 1fr;
    }

    .echef-statement__title {
        font-size: 1.15rem;
    }

    .echef-statement__sign {
        align-items: flex-end;
    }

    .echef-statement__qr {
        margin-top: 0.5rem;
    }

    .echef-statement__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .echef-statement__contacts {
        text-align: left;
    }
}

.echef-course-detail .card:hover {
    transform: none;
}

.echef-course-buy-sticky {
    position: sticky;
    top: 1rem;
    z-index: 3;
}

.echef-course-main {
    overflow: hidden;
}

.echef-course-main__cover {
    position: relative;
    height: 140px;
    background: var(--echef-color-border, #e8e6e1);
}

.echef-course-main__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 575.98px) {
    .echef-course-main__cover {
        height: 112px;
    }
}

.echef-richtext {
    color: var(--echef-color-text);
    font-size: 1rem;
    line-height: 1.65;
}

.echef-richtext > *:first-child {
    margin-top: 0;
}

.echef-richtext > *:last-child {
    margin-bottom: 0;
}

.echef-richtext p {
    margin: 0 0 var(--echef-space-4);
    color: var(--echef-color-text);
}

.echef-richtext h2,
.echef-richtext h3,
.echef-richtext h4 {
    margin: var(--echef-space-5) 0 var(--echef-space-3);
    color: var(--echef-color-text);
    font-weight: 700;
    line-height: 1.3;
}

.echef-richtext h2 {
    font-size: 1.25rem;
}

.echef-richtext h3,
.echef-richtext h4 {
    font-size: 1.0625rem;
}

.echef-richtext ul,
.echef-richtext ol {
    margin: 0 0 var(--echef-space-4);
    padding-left: 1.35rem;
}

.echef-richtext li {
    margin-bottom: 0.4rem;
}

.echef-richtext li:last-child {
    margin-bottom: 0;
}

.echef-richtext a {
    color: var(--echef-color-primary-dark);
}

.echef-richtext img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: var(--echef-space-4) auto;
    border-radius: var(--echef-radius-md);
}

.echef-richtext blockquote {
    margin: 0 0 var(--echef-space-4);
    padding: var(--echef-space-3) var(--echef-space-4);
    border-left: 4px solid var(--echef-color-primary);
    background: var(--echef-color-bg);
}

.echef-richtext table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 0 0 var(--echef-space-4);
}

.echef-richtext th,
.echef-richtext td {
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--echef-color-border);
    text-align: left;
    vertical-align: top;
}

.echef-course-desc.is-collapsed .echef-course-desc__body {
    max-height: 13.75rem;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(#000 62%, transparent);
    mask-image: linear-gradient(#000 62%, transparent);
}

.echef-course-desc__toggle {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--echef-color-primary-dark);
    font-size: 0.9375rem;
    font-weight: 700;
    cursor: pointer;
}

.echef-course-desc__toggle:hover {
    text-decoration: underline;
}

.echef-course-main__title {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    color: var(--echef-color-text, #383838);
}

.echef-course-path__kicker {
    margin: 0.4rem 0 0;
    font-size: 0.95rem;
    color: var(--echef-color-text-muted, #6b6b6b);
}

.echef-course-path {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    list-style: none;
    margin: 0 1.25rem 1rem;
    padding: 0;
}

.echef-course-path__item {
    font-size: 0.875rem;
}

.echef-course-path__item.is-current span {
    font-weight: 700;
}

.echef-course-path__item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.echef-course-path__buy-note {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--echef-color-text-muted, #6b6b6b);
}

.echef-course-overview-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-course-overview-list li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.4;
}

.echef-course-overview-list li:last-child {
    border-bottom: 0;
}

.echef-course-overview-list i {
    color: var(--echef-color-primary-dark, #8fb247);
    width: 1.1rem;
    font-size: 1em;
    text-align: center;
}

.echef-course-overview-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    list-style: none;
    margin: 0.9rem 0 0.15rem;
    padding: 0.85rem 0 0;
    border-top: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-course-overview-chips li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid rgba(var(--echef-color-primary-rgb), 0.4);
    border-radius: 999px;
    background: rgba(var(--echef-color-primary-rgb), 0.08);
    color: var(--echef-color-text, #383838);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
}

.echef-course-overview-chips i {
    color: var(--echef-color-primary-dark, #8fb247);
    font-size: 0.875rem;
}

.echef-course-share {
    display: flex;
    gap: 0.5rem;
}

.echef-course-share__btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 40px;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    border-radius: var(--echef-radius-sm);
    background: #fff;
    color: var(--echef-color-text, #383838);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.echef-course-share__btn:hover,
.echef-course-share__btn.is-copied {
    background: var(--echef-color-primary, #a0c64f);
    border-color: var(--echef-color-primary, #a0c64f);
    color: #fff;
}

.echef-course-tabs__nav {
    display: flex;
    border-top: 1px solid var(--echef-color-border, #e8e6e1);
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-course-tabs__btn {
    flex: 1 1 0;
    margin: 0;
    padding: 0.85rem 0.5rem;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    background: none;
    color: var(--echef-color-text-muted, #666);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}

.echef-course-tabs__btn:hover {
    color: var(--echef-color-text, #383838);
}

.echef-course-tabs__btn.is-active {
    color: var(--echef-color-text, #383838);
    border-bottom-color: var(--echef-color-primary, #a0c64f);
}

.echef-course-tabs__panel {
    font-size: 0.9375rem;
    line-height: 1.5;
}

.echef-course-tabs__panel[hidden] {
    display: none;
}

.echef-course-outline-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-course-outline-list li {
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.4;
}

.echef-course-outline-list li:last-child {
    border-bottom: 0;
}

.echef-course-outline-list__n {
    flex: 0 0 1.75rem;
    color: var(--echef-color-text-muted, #666);
    font-weight: 400;
    font-size: inherit;
}

.echef-course-info__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.4;
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-course-info__row:first-child {
    padding-top: 0;
}

.echef-course-info__row span,
.echef-course-info__row strong {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.echef-course-info__row span {
    color: var(--echef-color-text, #383838);
}

.echef-course-info__row span i {
    width: 1.1rem;
    font-size: 1em;
    text-align: center;
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-course-info__row strong {
    text-align: right;
    color: var(--echef-color-text, #383838);
}

.echef-course-detail .cart__includes-info,
.echef-course-detail .cart__share-content {
    padding: 0.85rem !important;
}

.echef-course-detail .cart__includes-info h6,
.echef-course-detail .cart__share-content h6 {
    margin-bottom: 0.55rem !important;
}

.echef-course-detail .cart__includes-info li {
    margin-bottom: 0.35rem !important;
}

.echef-course-detail .cart__price {
    padding: 0 !important;
}

.echef-course-detail .cart__checkout-process {
    margin: 0 !important;
    padding: 0 0 1rem !important;
}

.echef-course-detail .cart__share-content {
    margin: 0 -1.1rem 0;
    border-top: 1px solid #d8d6d0;
}

.echef-course-detail .cart__checkout-process .d-grid > .echef-btn,
.echef-course-detail .cart__checkout-process .d-grid > a,
.echef-course-detail .cart__checkout-process .d-grid > form {
    width: 100%;
}

.echef-course-detail .cart__checkout-process .echef-btn--primary,
.echef-course-detail .cart__checkout-process .echef-btn--gift,
.echef-course-detail .cart__checkout-process .echef-btn--outline {
    width: 100%;
    min-height: 48px;
    font-weight: 700;
    line-height: 1.3;
    padding: 0.7rem 0.9rem;
}

.echef-course-detail .cart__checkout-process .time-left {
    margin-bottom: 0.65rem !important;
}

@media (max-width: 991.98px) {
    .echef-course-buy-sticky {
        position: static;
    }
}

/* Checkout */
.echef-checkout-state__icon {
    color: var(--echef-color-text-muted, #666);
    opacity: .65;
}

.echef-checkout-panel {
    background: var(--echef-color-surface, #fff);
    border: 1px solid var(--echef-color-border, #e8e6e1);
    border-radius: 16px;
    padding: 1.35rem 1.25rem;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
}

.echef-checkout-panel--sidebar {
    position: sticky;
    top: calc(var(--echef-header-height, 72px) + 1.25rem);
}

.echef-checkout-paybar__sum {
    display: none;
}

@media (max-width: 991.98px) {
    .echef-page.echef-checkout {
        padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
    }

    .echef-checkout-panel--sidebar {
        position: static;
    }

    .echef-checkout-paybar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 40;
        display: flex;
        align-items: center;
        gap: 0.85rem;
        margin: 0;
        padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
        background: #fff;
        border-top: 1px solid var(--echef-color-border, #e8e6e1);
        box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.08);
    }

    .echef-checkout-paybar__sum {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
        min-width: 0;
        flex: 0 1 auto;
    }

    .echef-checkout-paybar__sum span {
        font-size: 0.75rem;
        color: var(--echef-color-text-muted, #666);
        line-height: 1.2;
    }

    .echef-checkout-paybar__sum strong {
        font-size: 1rem;
        font-weight: 700;
        color: var(--echef-color-text, #383838);
        white-space: nowrap;
    }

    .echef-checkout-paybar .echef-btn {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 48px;
        margin: 0;
    }
}

.echef-checkout-panel__title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 1.15rem;
    color: var(--echef-color-text, #383838);
}

.echef-checkout-stack {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.echef-checkout-method-pick .echef-checkout-subtitle {
    margin-bottom: .75rem;
}

.echef-checkout-subtitle {
    font-size: .92rem;
    font-weight: 700;
    margin: 0 0 .85rem;
    color: var(--echef-color-text, #383838);
}

.echef-checkout-note {
    font-size: .88rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-payment-methods {
    display: grid;
    gap: .75rem;
}

.echef-payment-method {
    position: relative;
    border: 2px solid var(--echef-color-border, #e8e6e1);
    border-radius: 12px;
    background: var(--echef-color-surface, #fff);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.echef-payment-method:hover:not(.is-active) {
    border-color: #cfcfc8;
}

.echef-payment-method.is-active {
    border-color: var(--echef-color-primary, #a0c64f);
    background: rgba(var(--echef-color-primary-rgb), 0.16);
    box-shadow: 0 0 0 2px rgba(var(--echef-color-primary-rgb), 0.45);
}

.echef-payment-method .form-check-input {
    position: absolute;
    left: .85rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    accent-color: var(--echef-color-primary, #a0c64f);
    width: 1.15rem;
    height: 1.15rem;
}

.echef-payment-method__label {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .85rem .85rem .85rem 2.5rem;
    margin: 0;
    cursor: pointer;
    width: 100%;
}

.echef-payment-method__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--echef-color-primary, #a0c64f);
    color: #fff;
    flex-shrink: 0;
}

.echef-payment-method__icon--paypal {
    background: #0070ba;
}

.echef-payment-method__copy {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.echef-payment-method__copy strong {
    color: var(--echef-color-text, #383838);
}

.echef-payment-method__copy small {
    color: var(--echef-color-text-muted, #666);
}

.echef-payment-method__badge {
    display: inline-flex;
    align-self: start;
    margin-top: .15rem;
    padding: .1rem .45rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    border-radius: 999px;
    background: var(--echef-color-primary, #a0c64f);
    color: #fff;
}

.echef-checkout-card {
    border: 1px solid var(--echef-color-border, #e8e6e1);
    border-radius: 12px;
    padding: 1rem;
    background: var(--echef-color-bg, #fafaf8);
}

.echef-checkout-alert {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
}

.echef-bank-details {
    background: rgba(var(--echef-color-accent-warm-rgb), 0.18);
    padding: .75rem;
    border-radius: 8px;
    border-left: 4px solid var(--echef-color-accent-warm, #f0d96a);
}

.echef-checkout-items {
    display: grid;
    gap: .85rem;
    margin-bottom: 1.15rem;
}

.echef-checkout-item {
    display: flex;
    gap: .85rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--echef-color-border, #e8e6e1);
}

.echef-checkout-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.echef-checkout-item__img {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.echef-checkout-item__title {
    font-size: .95rem;
    margin: 0 0 .25rem;
    line-height: 1.35;
}

.echef-checkout-item__title a {
    color: var(--echef-color-text, #383838);
    text-decoration: none;
}

.echef-checkout-item__title a:hover {
    color: var(--echef-color-primary-dark, #8fb247);
}

.echef-checkout-item__meta {
    font-size: .82rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-checkout-item .echef-cart-item__price {
    margin-top: 0.2rem;
}

.echef-checkout-totals__list {
    display: grid;
    gap: .55rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.echef-checkout-totals__row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: .92rem;
    color: var(--echef-color-text-muted, #666);
}

.echef-checkout-totals__list > .echef-checkout-totals__row--discount {
    color: var(--echef-color-off, #d32f2f);
}

.echef-checkout-totals__list > .echef-checkout-totals__row--total {
    margin-top: .35rem;
    padding-top: .75rem;
    border-top: 1px solid var(--echef-color-border, #e8e6e1);
    font-weight: 700;
    font-size: 1rem;
    color: var(--echef-color-text, #1a1a1a);
}

.echef-checkout-totals__list > .echef-checkout-totals__row--total .echef-cart-item__now {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--echef-color-text, #1a1a1a);
}

.echef-checkout-flitt-hint {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .7rem;
    padding: .7rem .85rem;
    border: 1px solid var(--echef-color-border, #e8e6e1);
    border-radius: 8px;
    background: #fafafa;
}

.echef-checkout-flitt-hint .fa-lock {
    color: var(--echef-color-text-muted, #666);
    font-size: .85rem;
}

.echef-checkout-flitt-hint p {
    flex: 1 1 12rem;
    margin: 0;
    font-size: .75rem;
    line-height: 1.35;
    color: var(--echef-color-text-muted, #666);
}

.echef-checkout-totals__note {
    margin-top: .65rem;
}

.echef-checkout .form-control:focus,
.echef-checkout .form-select:focus {
    border-color: var(--echef-color-primary, #a0c64f);
    box-shadow: 0 0 0 .2rem rgba(var(--echef-color-primary-rgb), 0.18);
}

/* Instructors listing & profile */
.echef-instructors-search {
    margin-bottom: var(--echef-space-5);
}

.echef-instructors-search__form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    align-items: stretch;
    max-width: 42rem;
    margin: 0 auto;
}

.echef-instructors-search__input {
    flex: 1 1 14rem;
    min-height: 3rem;
    border-radius: var(--echef-radius-md);
    border: 1px solid var(--echef-color-border);
    padding: 0.75rem 1rem;
}

.echef-instructors-search__input:focus {
    border-color: var(--echef-color-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--echef-color-primary-rgb), 0.18);
}

.echef-instructors-search__clear {
    min-width: 3rem;
    padding-inline: 0.85rem;
}

.echef-instructors-search__results {
    text-align: center;
    margin-bottom: var(--echef-space-4);
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
}

.echef-instructor-card {
    display: flex;
    flex-direction: column;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
    box-shadow: var(--echef-shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.echef-instructor-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--echef-shadow-md);
}

.echef-instructor-card__media {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--echef-color-bg);
}

.echef-instructor-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.echef-instructor-card:hover .echef-instructor-card__media img {
    transform: scale(1.04);
}

.echef-instructor-card__body {
    flex: 1 1 auto;
    padding: var(--echef-space-4);
    text-align: center;
}

.echef-instructor-card__name {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-instructor-card__name a {
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-instructor-card__name a:hover {
    color: var(--echef-color-primary-dark);
}

.echef-instructor-card__role {
    color: var(--echef-color-primary-dark);
    font-weight: 600;
    margin-bottom: var(--echef-space-2);
}

.echef-instructor-card__bio {
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.echef-instructor-card__footer {
    padding: 0 var(--echef-space-4) var(--echef-space-4);
    text-align: center;
}

.echef-instructors-empty {
    text-align: center;
    padding: var(--echef-space-7) var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
}

.echef-instructors-empty__icon {
    font-size: 2.5rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-3);
}

.echef-instructor-profile-card {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
    overflow: hidden;
}

.echef-instructor-profile-card__photo {
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--echef-color-bg);
}

.echef-instructor-profile-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.echef-instructor-profile-card__meta {
    padding: var(--echef-space-4);
}

.echef-instructor-profile-card__title {
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-3);
}

.echef-instructor-profile-card__about {
    margin-bottom: var(--echef-space-4);
    padding-bottom: var(--echef-space-4);
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-instructor-profile-card__about-title {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-2);
}

.echef-instructor-profile-card__bio {
    color: var(--echef-color-text);
    line-height: 1.7;
    font-size: 0.9375rem;
}

.echef-instructor-course-list {
    display: grid;
    gap: var(--echef-space-4);
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .echef-instructor-course-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.echef-instructor-profile-card__contact {
    display: grid;
    gap: 0.25rem;
    margin-bottom: var(--echef-space-3);
    font-size: 0.9375rem;
}

.echef-instructor-profile-card__contact span {
    color: var(--echef-color-text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.echef-instructor-profile-card__contact a {
    color: var(--echef-color-text);
    text-decoration: none;
    word-break: break-word;
}

.echef-instructor-profile-card__contact a:hover {
    color: var(--echef-color-primary-dark);
}

.echef-instructor-profile__bio {
    color: var(--echef-color-text);
    line-height: 1.7;
}

.echef-instructor-profile__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    margin-top: var(--echef-space-4);
}

.echef-instructor-course-card {
    display: flex;
    flex-direction: column;
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.echef-instructor-course-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--echef-shadow-sm);
}

.echef-instructor-course-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.echef-instructor-course-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.echef-instructor-course-card__body {
    padding: var(--echef-space-3);
}

.echef-instructor-course-card__title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: var(--echef-space-2);
}

.echef-instructor-course-card__title a {
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-instructor-course-card__title a:hover {
    color: var(--echef-color-primary-dark);
}

.echef-instructor-course-card__desc {
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .echef-instructors-search__form .echef-btn {
        flex: 1 1 auto;
    }

    .echef-instructor-profile__actions .echef-btn {
        width: 100%;
        justify-content: center;
    }
}

.echef-cta-panel__kicker {
    display: block;
    margin-bottom: .75rem;
    color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 1199.98px) {
    .echef-home-hero--cinematic {
        --echef-hero-h: 400px;
    }

    .echef-home-hero__pill {
        margin-left: 0;
        font-size: .95rem;
        padding: .85rem 2rem;
    }
}

@media (max-width: 991.98px) {
    .echef-home-hero--cinematic {
        padding: 2.75rem 0 3rem;
    }

    .echef-home-hero__media img {
        object-position: center 58%;
    }

    .echef-home-hero__media::after {
        background:
            radial-gradient(ellipse 72% 70% at 50% 48%, rgba(11, 12, 16, 0.5) 0%, rgba(11, 12, 16, 0.28) 100%),
            linear-gradient(180deg, rgba(160, 198, 79, 0.28) 0%, rgba(11, 12, 16, 0.32) 38%, rgba(11, 12, 16, 0.58) 100%);
    }

    .echef-home-hero__stage {
        min-height: 0;
        display: block;
    }

    .echef-home-hero__panel {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .echef-home-hero__copy {
        max-width: none;
        width: 100%;
        padding: 0.5rem 0 0;
    }

    .echef-home-hero__title {
        font-size: clamp(1.9rem, 6vw, 2.65rem);
        line-height: 1.12;
        margin-bottom: 1rem;
        text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
    }

    html[lang="ka"] .echef-home-hero__title {
        font-size: clamp(1.55rem, 5.2vw, 2.1rem);
    }

    .echef-home-hero__lead {
        max-width: 36rem;
        margin: 0 auto 1rem;
        font-size: 1.05rem;
        color: rgba(255, 255, 255, 0.92);
        text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
    }

    html[lang="ka"] .echef-home-hero__lead {
        font-size: 0.98rem;
    }

    .echef-home-hero__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
        width: 100%;
        margin-top: 0.75rem;
    }

    .echef-home-hero__pill {
        grid-column: auto;
        grid-row: auto;
        justify-self: auto;
        align-self: auto;
        margin: 0;
        min-height: 3.35rem;
        padding: 0.9rem 2.4rem;
        box-shadow: 0 14px 32px rgba(30, 78, 216, 0.42), 0 1px 0 rgba(255, 255, 255, 0.25) inset;
    }

    .echef-home-hero__pill:hover,
    .echef-home-hero__pill:focus-visible {
        box-shadow: 0 18px 36px rgba(30, 78, 216, 0.5);
    }

    .echef-home-hero__textlink {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 3.35rem;
        margin: 0 0 0.75rem;
        padding: 0.9rem 2.4rem;
        border-radius: 999px;
        font-weight: 800;
        letter-spacing: 0.03em;
        text-decoration: none;
        background: var(--echef-hero-blue);
        border: 2px solid #c6e85a;
        color: #c6e85a;
    }

    .echef-home-hero__textlink-label {
        white-space: normal;
        text-decoration: none;
    }

    .echef-home-hero__textlink:hover,
    .echef-home-hero__textlink:focus-visible {
        background: var(--echef-hero-blue-deep);
        border-color: #d4f06e;
        color: #d4f06e;
    }

    .echef-home-hero__more-row {
        justify-content: flex-start;
        padding: 0.75rem 0 0;
    }

    .echef-home-method__blog-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Student cabinet — compact header (profile + dashboard) */
.echef-cabinet .students-info,
.echef-page .students-info {
    padding-top: 0.35rem !important;
    padding-bottom: 1.25rem;
}

.echef-page .students-info-intro,
.echef-cabinet .students-info-intro {
    padding: 0 !important;
    margin-bottom: 0.75rem !important;
    background: transparent;
    border-radius: 0;
}

.echef-stud-crumbs {
    padding: 0.5rem 0 0;
}

.echef-stud-crumbs .echef-catalog__breadcrumb {
    margin-bottom: 0;
}

.echef-stud-crumbs .echef-catalog__breadcrumb a {
    display: inline;
}

.echef-cabinet .breadcrumb {
    background: transparent;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
}

.echef-cabinet .breadcrumb-item a {
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-cabinet .breadcrumb-item a:hover {
    color: var(--echef-color-text);
    text-decoration: underline;
}

.echef-cabinet .breadcrumb-item.active {
    color: var(--echef-color-text-muted, #666);
}

.echef-cabinet .container.py-5,
.echef-cabinet .container.py-4,
.echef-cabinet .container.py-2 {
    padding-top: 0.75rem !important;
    padding-bottom: 1.25rem !important;
}

.echef-cabinet .section {
    padding-top: 0.5rem;
    padding-bottom: 1.5rem;
}

.echef-stud-note-count {
    display: inline-flex;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.4rem;
    margin-left: auto;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--echef-color-primary, #a0c64f);
    color: #111;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.echef-stud-layout {
    --echef-stud-rail: 3.5rem;
    --echef-stud-rail-open: 15.5rem;
    display: grid;
    grid-template-columns: var(--echef-stud-rail) minmax(0, 1fr);
    column-gap: 0;
    align-items: stretch;
    min-height: calc(100vh - var(--echef-header-height, 72px));
    transition: grid-template-columns 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.echef-stud-layout.is-open {
    grid-template-columns: var(--echef-stud-rail-open) minmax(0, 1fr);
}

.echef-stud-layout__main {
    min-width: 0;
}

.echef-stud-layout__main > .container,
.echef-stud-layout__main .container {
    max-width: none;
}

.echef-stud-sidebar {
    width: 100%;
    min-width: 0;
    min-height: 100%;
    background: var(--echef-color-surface);
    border: 0;
    border-right: 1px solid var(--echef-color-border);
    border-radius: 0;
    padding: 0.75rem 0.35rem 1rem;
    box-shadow: none;
    position: sticky;
    top: 0;
    align-self: stretch;
    overflow: hidden;
}

.echef-stud-sidebar__nav {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    width: 100%;
    min-width: 0;
}

.echef-stud-sidebar__group {
    display: block;
    max-height: 0;
    margin: 0;
    padding: 0 0.55rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
    white-space: nowrap;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.28s ease,
        margin 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.echef-stud-layout.is-open .echef-stud-sidebar__group {
    max-height: 1.6rem;
    margin: 0.15rem 0 0.2rem;
    opacity: 1;
}

.echef-stud-sidebar__link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    position: relative;
    text-align: left;
    border: 0;
    background: transparent;
    color: var(--echef-color-text);
    padding: 0.5rem 0.55rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    overflow: hidden;
    transition: background 0.2s ease, color 0.2s ease;
}

button.echef-stud-sidebar__link {
    appearance: none;
    -webkit-appearance: none;
}

.echef-stud-sidebar__icon {
    flex: 0 0 1.15rem;
    width: 1.15rem;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1;
}

.echef-stud-sidebar__label {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 0;
    overflow: hidden;
    line-height: 1.3;
    opacity: 0;
    transition: max-width 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
}

.echef-stud-layout.is-open .echef-stud-sidebar__label {
    max-width: 12rem;
    opacity: 1;
}

.echef-stud-sidebar__link:hover,
.echef-stud-sidebar__link:focus-visible {
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-stud-sidebar__link.is-active,
.echef-stud-sidebar__link.active {
    background: rgba(var(--echef-color-primary-rgb), 0.22);
    color: var(--echef-color-text);
}

.echef-stud-sidebar__new {
    display: inline-flex;
    margin-left: auto;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.08rem 0.35rem;
    border-radius: 4px;
    background: var(--echef-color-primary);
    color: #111;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-width 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease, padding 0.28s ease;
}

.echef-stud-layout.is-open .echef-stud-sidebar__new {
    max-width: 5.5rem;
    opacity: 1;
}

.echef-stud-layout:not(.is-open) .echef-stud-sidebar__new {
    display: block;
    position: absolute;
    right: 0.2rem;
    top: 0.2rem;
    width: 0.42rem;
    height: 0.42rem;
    max-width: 0.42rem;
    min-width: 0;
    padding: 0;
    font-size: 0;
    overflow: hidden;
    opacity: 1;
}

.echef-stud-layout:not(.is-open) .echef-stud-note-count {
    position: absolute;
    right: 0.08rem;
    top: 0.08rem;
    min-width: 0.9rem;
    height: 0.9rem;
    margin: 0;
    font-size: 0.6rem;
    padding: 0 0.2rem;
}

@media (prefers-reduced-motion: reduce) {
    .echef-stud-layout,
    .echef-stud-sidebar__group,
    .echef-stud-sidebar__label,
    .echef-stud-sidebar__new,
    .echef-stud-sidebar__link {
        transition: none;
    }
}

.echef-profile-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0 0 1rem;
}

.echef-stud-subnav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin: 0;
}

.echef-profile-status {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

.echef-profile-status__lead {
    margin: 0;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
    color: var(--echef-color-text);
}

.echef-profile-status__hint {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: var(--echef-color-text-muted, #666);
}

.echef-profile-status--ok .echef-profile-status__lead {
    color: #2f6b3a;
}

.echef-stud-subnav .nav-link,
.echef-stud-subnav__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.45rem 1rem;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: 999px;
    color: var(--echef-color-text);
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

.echef-stud-subnav .nav-link:hover,
.echef-stud-subnav__link:hover {
    background: #fff;
    color: var(--echef-hero-blue);
    border-color: var(--echef-hero-blue);
}

.echef-stud-subnav .nav-link.active,
.echef-stud-subnav__link.is-active,
.echef-stud-subnav .nav-link.active:hover,
.echef-stud-subnav__link.is-active:hover {
    background: var(--echef-hero-blue);
    border-color: var(--echef-hero-blue);
    color: #fff;
}

.echef-profile-card {
    width: 100%;
    max-width: none;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: 1.25rem 1.5rem 1.5rem;
    box-shadow: var(--echef-shadow-sm);
}

.echef-profile-card__title {
    margin: 0 0 1rem;
    font-size: 1.0625rem;
    font-weight: 700;
}

.echef-profile-dl {
    margin: 0;
}

.echef-profile-dl > div {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) 1fr;
    gap: 0.5rem 1.5rem;
    padding: 0.7rem 0;
    border-top: 1px solid var(--echef-color-border);
}

.echef-profile-dl dt {
    margin: 0;
    color: var(--echef-color-text-muted);
    font-size: 0.8125rem;
    font-weight: 600;
}

.echef-profile-dl dd {
    margin: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.echef-profile-form__actions {
    display: flex;
    justify-content: flex-end;
}

.echef-profile-form + .echef-profile-form {
    margin-top: 1rem;
}

.echef-page .students-info-intro nav {
    margin-top: 0;
}

.echef-stud-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: 0.875rem 1.125rem;
    margin-bottom: 1rem;
    box-shadow: var(--echef-shadow-sm);
}

.echef-stud-head__who {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.echef-stud-head__who img,
.echef-stud-avatar__btn img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 18%;
    flex-shrink: 0;
    background: var(--echef-color-bg);
    border: 2px solid var(--echef-color-border);
}

.echef-stud-avatar {
    position: relative;
    flex-shrink: 0;
    margin: 0;
}

.echef-stud-avatar__btn {
    display: block;
    position: relative;
    width: 52px;
    height: 52px;
    margin: 0;
    cursor: pointer;
    border-radius: 50%;
}

.echef-stud-avatar__btn img {
    display: block;
}

.echef-stud-avatar__badge {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--echef-color-primary);
    color: #fff;
    border: 2px solid var(--echef-color-surface);
    box-shadow: var(--echef-shadow-sm);
}

.echef-stud-avatar__btn:hover img,
.echef-stud-avatar__btn:focus-visible img {
    border-color: var(--echef-color-primary);
}

.echef-stud-avatar__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.echef-stud-head__who h5 {
    margin: 0 0 0.1rem;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--echef-color-text);
}

.echef-stud-head__who p {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
    line-height: 1.3;
}

.echef-stud-head__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.echef-stud-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 4.75rem;
    padding: 0.4rem 0.7rem;
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-stud-stat strong {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--echef-color-text);
}

.echef-stud-stat span {
    font-size: 0.6875rem;
    color: var(--echef-color-text-muted);
    line-height: 1.25;
}

.echef-stud-course {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
    background: #fff;
    border: 1px solid rgba(56, 56, 56, 0.14);
    border-radius: var(--echef-radius-md);
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(26, 26, 26, 0.06);
    min-height: 0;
}

.echef-stud-course:hover {
    border-color: rgba(160, 198, 79, 0.5);
    box-shadow: 0 10px 24px rgba(160, 198, 79, 0.12);
}

.echef-stud-course__media {
    flex: 0 0 148px;
    width: 148px;
    background: var(--echef-color-border);
}

.echef-stud-course__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.echef-stud-course__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.7rem 0.85rem;
}

.echef-stud-course__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.3;
}

.echef-stud-course__title a {
    color: var(--echef-color-text);
    text-decoration: none;
}

.echef-stud-course__title a:hover {
    color: var(--echef-color-primary-dark);
}

.echef-stud-course__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem 0.7rem;
    margin: 0;
    font-size: 0.75rem;
    color: var(--echef-color-text-muted);
    line-height: 1.3;
}

.echef-stud-course__progress {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.echef-stud-course__bar {
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: #eceae4;
    overflow: hidden;
}

.echef-stud-course__bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--echef-color-primary);
}

.echef-stud-course__pct {
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--echef-color-text);
}

.echef-stud-course__cta {
    align-self: flex-start;
    margin-top: 0.15rem;
}

.echef-stud-course--pending {
    background: #f7f6f2;
}

.echef-stud-course--pending .echef-stud-course__title {
    color: #5c5c5c;
    font-weight: 600;
}

.echef-stud-empty {
    text-align: center;
    padding: 2.5rem 1rem;
}

.echef-stud-empty h2 {
    margin: 0 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 700;
}

.echef-stud-empty p {
    margin: 0 0 1rem;
    color: var(--echef-color-text-muted);
}

.echef-notes-filters {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 0.85fr) auto;
    gap: 0.4rem 0.55rem;
    align-items: end;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.echef-notes-filters > * {
    min-width: 0;
}

.echef-notes-filters .form-label {
    margin-bottom: 0.2rem;
    font-size: 0.7rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.echef-notes-filters__actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
    padding-bottom: 0.1rem;
}

.echef-notes-filters__actions .echef-btn--sm {
    min-width: 2.5rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
}

.echef-note-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.echef-note-actions form {
    margin: 0;
}

.echef-note-panel {
    background: #fff;
    border: 1px solid rgba(56, 56, 56, 0.14);
    border-radius: var(--echef-radius-md);
    padding: 1rem 1.1rem;
}

.echef-note-flags,
.echef-note-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.echef-note-flag,
.echef-note-tag,
.echef-note-tag-example {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.28rem 0.7rem;
    border: 1px solid rgba(56, 56, 56, 0.18);
    border-radius: 999px;
    background: #f7f6f2;
    color: var(--echef-color-text);
    font-size: 0.8rem;
    line-height: 1.2;
    text-decoration: none;
}

.echef-note-flag--muted {
    color: var(--echef-color-text-muted);
}

.echef-note-tag {
    cursor: pointer;
}

.echef-note-tag:hover,
.echef-note-tag-example:hover,
.echef-note-tag-example:focus {
    border-color: rgba(160, 198, 79, 0.7);
    color: var(--echef-color-text);
}

.echef-note-tag-example {
    position: relative;
    cursor: pointer;
    background: #fff;
}

.echef-note-tag-example[data-tip]:hover::after,
.echef-note-tag-example[data-tip]:focus::after {
    content: attr(data-tip);
    position: absolute;
    left: 0;
    bottom: calc(100% + 8px);
    z-index: 20;
    width: max-content;
    max-width: 16rem;
    padding: 0.4rem 0.6rem;
    border-radius: 8px;
    background: #383838;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
    text-align: left;
}

.echef-note-tag .tag-remove {
    cursor: pointer;
    border: 0;
    background: none;
    color: inherit;
    padding: 0;
    line-height: 1;
}

.echef-note-reply {
    padding: 0.85rem 1rem;
    background: #f7f6f2;
    border: 1px solid rgba(160, 198, 79, 0.45);
    border-radius: var(--echef-radius-md);
}

.echef-note-reply__body {
    white-space: pre-wrap;
    line-height: 1.55;
}

.echef-note-body {
    line-height: 1.6;
}

.echef-rm-card {
    background: #fff;
    border: 1px solid rgba(56, 56, 56, 0.14);
    border-radius: var(--echef-radius-md);
    padding: 1.1rem 1.15rem;
    margin-bottom: 1rem;
}

.echef-rm-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1rem;
}

.echef-rm-stat strong {
    display: block;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.echef-rm-stat span {
    font-size: 0.8rem;
    color: var(--echef-color-text-muted);
}

.echef-rm-course {
    border-left: 3px solid #e8e6e1;
    padding-left: 0.85rem;
    margin-bottom: 0.85rem;
}

.echef-rm-overall {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
    color: #383838;
    margin: 0;
}

.echef-rm-overall.is-mid { color: #5a7a20; }
.echef-rm-overall.is-done { color: #1b8a3a; }

.echef-rm-bar {
    height: 8px;
    background: #e8e6e1;
    border-radius: 99px;
    overflow: hidden;
}

.echef-rm-bar > span {
    display: block;
    height: 100%;
    background: #a0c64f;
    min-width: 0;
}

.echef-rm-bar.is-mid > span { min-width: 4px; }
.echef-rm-bar.is-done > span { background: #1b8a3a; }

.echef-rm-pct {
    display: inline-block;
    min-width: 3.4rem;
    text-align: center;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.3;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
}

.echef-rm-pct--zero {
    color: #666;
    background: #f0eeea;
}

.echef-rm-pct--mid {
    color: #2a3a10;
    background: #e6f0c8;
}

.echef-rm-pct--done {
    color: #fff;
    background: #1b8a3a;
}

.echef-rm-meta {
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.3;
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
    color: #383838;
    background: #f0eeea;
}

.echef-rm-meta--on {
    color: #2a3a10;
    background: #e6f0c8;
}

.echef-rm-list-title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #383838;
}

.echef-rm-table {
    width: 100%;
    font-size: 0.9rem;
}

.echef-rm-table th {
    font-weight: 600;
    color: var(--echef-color-text-muted);
    border-bottom: 1px solid rgba(56, 56, 56, 0.12);
    padding: 0.45rem 0.4rem;
}

.echef-rm-table td {
    padding: 0.65rem 0.4rem;
    border-bottom: 1px solid rgba(56, 56, 56, 0.08);
    vertical-align: middle;
}

.echef-ai-main {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.echef-ai-history {
    flex: 1 1 auto;
    min-height: 18rem;
    height: min(52vh, 36rem);
    max-height: min(52vh, 36rem);
    overflow-y: auto;
    overflow-anchor: none;
    background: #f7f6f2;
    border-radius: var(--echef-radius-md);
    padding: 1rem;
    scroll-behavior: smooth;
}

.echef-ai-history .max-w-75 {
    max-width: 92%;
}

.echef-ai-bubble {
    max-width: 92%;
    border-radius: var(--echef-radius-md);
    padding: 0.75rem 1rem;
    color: #383838;
}

.echef-ai-bubble--user {
    background: var(--echef-color-primary);
    color: #111;
}

.echef-ai-bubble--assistant {
    background: #fff;
    border: 1px solid rgba(56, 56, 56, 0.14);
}

.echef-ai-course__label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-text-muted);
    margin-bottom: 0.2rem;
}

.echef-ai-course__name {
    font-size: 0.95rem;
    font-weight: 600;
    color: #383838;
}

.echef-ai-course__name--muted {
    font-weight: 400;
    color: var(--echef-color-text-muted);
}

.echef-ai-composer {
    position: sticky;
    bottom: 0;
    z-index: 1;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    background: #fff;
    border-top: 1px solid rgba(56, 56, 56, 0.1);
}

@media (max-width: 991.98px) {
    .echef-ai-history {
        height: min(46vh, 28rem);
        max-height: min(46vh, 28rem);
        min-height: 14rem;
    }
}

.echef-ai-pilot {
    display: inline-flex;
    align-items: center;
    margin: 0;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.08rem 0.35rem;
    border-radius: 4px;
    background: var(--echef-color-primary);
    color: #111;
    line-height: 1.2;
    vertical-align: middle;
}

.echef-ai .badge_ai {
    display: none;
}

@media (max-width: 991.98px) {
    .echef-notes-filters {
        grid-template-columns: 1fr 1fr;
    }

    .echef-notes-filters__search {
        grid-column: 1 / -1;
    }

    .echef-notes-filters__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .echef-stud-course {
        flex-direction: column;
    }

    .echef-stud-course__media {
        flex: 0 0 auto;
        width: 100%;
        aspect-ratio: 16 / 9;
        max-height: 140px;
    }
}

.echef-page .students-info-main .tab-content__profile {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
    max-width: 52rem;
}

.echef-page .students-info-main .tab-content__profile-content {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}

.echef-page .students-info-main .tab-content .about-student,
.echef-page .students-info-main .tab-content .info-student {
    padding: 1.125rem 1.25rem;
}

.echef-page .students-info-main .tab-content {
    padding-top: 1rem;
}

.echef-page .students-info-form form .row + .row {
    margin-top: 0;
}

.echef-stud-settings {
    max-width: none;
    width: 100%;
}

.echef-profile-form {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-6);
    box-shadow: var(--echef-shadow-md);
}

.echef-profile-form__title {
    font-size: 1.0625rem;
    font-weight: 700;
    margin: 0 0 var(--echef-space-4);
}

.echef-profile-form .form-control,
.echef-profile-form .form-select {
    height: auto !important;
    min-height: 2.75rem;
    margin-bottom: 0;
    border: 1px solid var(--echef-color-border) !important;
    border-radius: var(--echef-radius-md) !important;
    padding: 0.65rem 0.85rem;
    font-size: 0.9375rem;
    background: #fff;
    color: var(--echef-color-text);
}

.echef-profile-form .form-control:focus,
.echef-profile-form .form-select:focus {
    border-color: var(--echef-color-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--echef-color-primary-rgb), 0.12) !important;
}

.echef-profile-form .form-control[readonly] {
    background: var(--echef-color-bg);
    color: var(--echef-color-text-muted);
}

.echef-profile-form input[type="date"] {
    -webkit-appearance: auto;
    appearance: auto;
}

.echef-profile-form input[type="file"] {
    padding: 0.45rem 0.75rem;
}

.echef-profile-form .echef-btn {
    min-width: 10rem;
}

.echef-field-hint {
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--echef-color-text-muted);
    margin: 0.35rem 0 0;
}

.echef-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.9375rem;
    font-weight: 500;
    margin: 0;
    cursor: pointer;
}

.echef-check input {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

.echef-phone-field {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.echef-phone-field__dial {
    flex: 0 1 11.5rem;
    min-width: 7.5rem;
    max-width: 42%;
    border: 1px solid var(--echef-color-border);
    border-right: 0;
    border-radius: var(--echef-radius-md) 0 0 var(--echef-radius-md);
    background: var(--echef-color-bg);
    padding: 0 0.55rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-text);
}

.echef-phone-field .form-control {
    border-radius: 0 var(--echef-radius-md) var(--echef-radius-md) 0 !important;
}

.echef-profile-form .input-with-icon {
    position: relative;
}

.echef-profile-form .input-with-icon .form-control {
    padding-right: 2.75rem;
}

.echef-profile-form .input-with-icon .input-icon {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    cursor: pointer;
    color: var(--echef-color-text-muted);
}

@media (max-width: 639.98px) {
    .echef-profile-card,
    .echef-stud-settings,
    .echef-profile-form {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .echef-profile-dl > div {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .echef-profile-form__actions .echef-btn {
        width: 100%;
        justify-content: center;
    }

    .echef-profile-form__actions {
        justify-content: stretch;
    }
}

@media (max-width: 767.98px) {
    .echef-stud-head {
        align-items: flex-start;
    }

    .echef-stud-head__stats {
        justify-content: flex-start;
        width: 100%;
    }

    .echef-home-hero--cinematic {
        padding: 2.75rem 0 3rem;
    }

    .echef-home-hero__media::after {
        background:
            radial-gradient(ellipse 100% 80% at 50% 46%, rgba(11, 12, 16, 0.58) 0%, rgba(11, 12, 16, 0.4) 100%),
            linear-gradient(180deg, rgba(160, 198, 79, 0.24) 0%, rgba(11, 12, 16, 0.42) 40%, rgba(11, 12, 16, 0.62) 100%);
    }

    .echef-home-hero__title {
        font-size: clamp(1.75rem, 7vw, 2.35rem);
    }

    html[lang="ka"] .echef-home-hero__title {
        font-size: clamp(1.45rem, 6.2vw, 1.95rem);
    }

    .echef-home-hero__lead {
        font-size: 0.98rem;
        margin-bottom: 0.85rem;
    }

    .echef-home-hero__pill,
    .echef-home-hero__textlink {
        white-space: normal;
        min-height: 48px;
        padding: 0.75rem 1.35rem;
    }

    .echef-home-hero__more {
        width: 100%;
        max-width: 22rem;
    }

    .echef-home-hero__more-row {
        padding-top: 1.1rem;
    }

    .echef-home-section-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Lesson watch page (T03) */
.echef-lesson .echef-page-header,
.echef-quiz .echef-page-header {
    margin-bottom: var(--echef-space-4);
}

.echef-lesson .echef-page-header__hero,
.echef-quiz .echef-page-header__hero {
    padding-top: var(--echef-space-2);
    gap: var(--echef-space-3);
    align-items: center;
}

.echef-lesson .echef-page-header__copy,
.echef-quiz .echef-page-header__copy {
    max-width: none;
}

.echef-lesson .echef-page-header .echef-kicker,
.echef-quiz .echef-page-header .echef-kicker {
    margin-bottom: var(--echef-space-1);
}

.echef-lesson-kind {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border-radius: var(--echef-radius-pill, 999px);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--echef-color-bg-muted, #f3f0eb);
    color: var(--echef-color-text-muted);
}

.echef-lesson-kind--recipe {
    background: color-mix(in srgb, var(--echef-color-primary, #c45c26) 12%, #fff);
    color: var(--echef-color-primary, #c45c26);
}

.echef-lesson-kind--exam {
    background: color-mix(in srgb, var(--echef-color-primary, #c45c26) 18%, #fff);
    color: var(--echef-color-primary, #c45c26);
}

.echef-lesson-kind--completion {
    background: color-mix(in srgb, var(--echef-color-success, #2d6a4f) 14%, #fff);
    color: var(--echef-color-success, #2d6a4f);
}

.echef-lesson .echef-page-header .echef-lead {
    margin-top: var(--echef-space-2);
    max-width: 40rem;
}

.echef-lesson .echef-page-header .echef-title-xl,
.echef-quiz .echef-page-header .echef-title-xl {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0;
}

.echef-quiz .echef-page-header {
    margin-bottom: var(--echef-space-3);
}

.echef-quiz .echef-page-header__hero {
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 0.35rem;
    gap: 0.35rem;
    min-height: 0;
}

.echef-quiz .echef-page-header__copy {
    flex: 0 1 auto;
    min-height: 0;
}

.echef-quiz .echef-page-header__nav {
    align-items: center;
    gap: 0.5rem 1rem;
}

.echef-quiz .echef-page-header__nav .echef-catalog__breadcrumb {
    flex: 1 1 auto;
    min-width: 0;
}

.echef-quiz-shell {
    margin: 0 0 var(--echef-space-6);
}

.echef-quiz-intro {
    padding: 1.15rem 1.35rem;
}

.echef-quiz-intro .echef-content-panel__lead {
    max-width: none;
    margin-bottom: var(--echef-space-3);
    font-size: 1rem;
    line-height: 1.5;
}

.echef-quiz-intro .echef-quiz-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.75rem;
    padding: 0;
    margin-bottom: var(--echef-space-4);
    background: none;
}

.echef-quiz-intro form {
    margin-top: var(--echef-space-2);
}

.echef-quiz-intro__cta {
    min-width: 13rem;
}

.echef-quiz-history .echef-content-panel__title {
    margin-bottom: var(--echef-space-3);
}

.echef-quiz-attempts .is-open {
    color: var(--echef-color-text-muted);
    font-weight: 600;
}

.echef-quiz-progress {
    margin: 0 0 var(--echef-space-4);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-lesson .row > [class*="col-"],
.echef-quiz .row > [class*="col-"] {
    min-width: 0;
}

.echef-lesson-toc {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
    overflow: hidden;
}

.echef-lesson-toc details {
    display: block;
}

.echef-lesson-toc summary.echef-lesson-toc__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    list-style: none;
    cursor: pointer;
}

.echef-lesson-toc summary.echef-lesson-toc__head::-webkit-details-marker,
.echef-lesson-toc summary.echef-lesson-toc__head::marker {
    display: none;
    content: "";
}

.echef-lesson-toc summary.echef-lesson-toc__head::after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    margin-top: -0.15rem;
    border-right: 2px solid var(--echef-color-text-muted);
    border-bottom: 2px solid var(--echef-color-text-muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}

.echef-lesson-toc details[open] > summary.echef-lesson-toc__head::after {
    margin-top: 0.2rem;
    transform: rotate(-135deg);
}

@media (min-width: 992px) {
    .echef-lesson-toc {
        position: sticky;
        top: calc(var(--echef-header-height) + 1rem);
    }

    .echef-lesson-toc summary.echef-lesson-toc__head {
        pointer-events: none;
        cursor: default;
    }

    .echef-lesson-toc summary.echef-lesson-toc__head::after {
        display: none;
    }
}

.echef-lesson-toc__head,
.echef-lesson-toc__foot {
    padding: var(--echef-space-4);
}

.echef-lesson-toc__head {
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-lesson-toc__title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-lesson-toc__list {
    overscroll-behavior: contain;
    scroll-padding-block: 0.75rem;
}

@media (min-width: 992px) {
    .echef-lesson-toc {
        overflow: visible;
    }

    .echef-lesson-toc__list {
        max-height: none;
        overflow-y: visible;
    }
}

.echef-lesson-toc__item {
    display: flex;
    gap: 0.625rem;
    align-items: flex-start;
    padding: 0.5rem 0.875rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid var(--echef-color-border);
    color: var(--echef-color-text);
    text-decoration: none;
    font-size: 0.875rem;
    line-height: 1.35;
}

.echef-lesson-toc__item:last-child {
    border-bottom: none;
}

a.echef-lesson-toc__item:hover {
    background: var(--echef-color-bg);
    color: var(--echef-color-text);
}

.echef-lesson-toc__position {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
}

.echef-lesson-toc__here {
    display: inline-block;
    margin-bottom: 0.15rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-primary-dark);
    background: rgba(var(--echef-color-primary-rgb), 0.18);
    border-radius: var(--echef-radius-sm);
}

.echef-lesson-toc__item.is-current {
    background: rgba(var(--echef-color-primary-rgb), 0.12);
    border-left-color: var(--echef-color-primary);
    box-shadow: inset 0 0 0 1px rgba(var(--echef-color-primary-rgb), 0.25);
}

.echef-lesson-toc__item.is-done .echef-lesson-toc__icon {
    color: var(--echef-color-primary-dark);
}

.echef-lesson-toc__item.is-current .echef-lesson-toc__icon {
    color: var(--echef-color-primary-dark);
}

.echef-lesson-toc__item.is-locked {
    color: var(--echef-color-text-muted);
    cursor: not-allowed;
}

.echef-lesson-toc__icon {
    flex: 0 0 1.1rem;
    margin-top: 0.15rem;
    color: var(--echef-color-text-muted);
}

.echef-lesson-toc__body {
    min-width: 0;
    flex: 1;
}

.echef-lesson-toc__num {
    display: block;
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-lesson-toc__name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.echef-lesson-toc__foot {
    border-top: 1px solid var(--echef-color-border);
    background: var(--echef-color-bg);
}

.echef-lesson-toc__bar {
    height: 6px;
    margin-bottom: 0.5rem;
    overflow: hidden;
    background: var(--echef-color-border);
    border-radius: 99px;
}

.echef-lesson-toc__bar-fill {
    height: 100%;
    background: var(--echef-color-primary);
    border-radius: 99px;
}

.echef-lesson-meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: var(--echef-color-text-muted);
}

.echef-lesson-html {
    font-size: 1rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

/* Recipe card (lesson HTML pack: .echef-recipe-card) */
.echef-lesson-html .echef-recipe-card {
    --echef-recipe-gap: var(--echef-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--echef-recipe-gap);
}

.echef-lesson-html .echef-recipe-card__lead {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--echef-color-text);
}

.echef-lesson-html .echef-recipe-card__media {
    margin: 0;
    border-radius: var(--echef-radius-md);
    overflow: hidden;
    border: 1px solid var(--echef-color-border);
    background: var(--echef-color-bg);
}

.echef-lesson-html .echef-recipe-card__media img {
    display: block;
    width: 100%;
    max-height: 22rem;
    object-fit: cover;
    margin: 0 !important;
}

.echef-lesson-html .echef-recipe-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-lesson-html .echef-recipe-card__meta li {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    margin: 0;
    padding: 0.4rem 0.75rem;
    font-size: 0.9375rem;
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-full, 999px);
}

.echef-lesson-html .echef-recipe-card__meta-label {
    color: var(--echef-color-text-muted);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.echef-lesson-html .echef-recipe-card__section {
    margin: 0;
    padding: var(--echef-space-4);
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
}

.echef-lesson-html .echef-recipe-card__title {
    margin: 0 0 var(--echef-space-3);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.echef-lesson-html .echef-recipe-card__subtitle {
    margin: var(--echef-space-4) 0 var(--echef-space-2);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--echef-color-text-muted);
}

.echef-lesson-html .echef-recipe-card__section > .echef-recipe-card__subtitle:first-of-type {
    margin-top: 0;
}

.echef-lesson-html .echef-recipe-card__ingredients {
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-lesson-html .echef-recipe-card__ingredients li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--echef-space-3);
    margin: 0;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--echef-color-border);
    font-size: 0.9375rem;
}

.echef-lesson-html .echef-recipe-card__ingredients li:last-child {
    border-bottom: none;
}

.echef-lesson-html .echef-recipe-card__ingredient {
    flex: 1 1 auto;
    min-width: 0;
}

.echef-lesson-html .echef-recipe-card__amount {
    flex: 0 0 auto;
    font-weight: 600;
    white-space: nowrap;
    color: var(--echef-color-text);
}

.echef-lesson-html .echef-recipe-card__note {
    margin: var(--echef-space-3) 0 0;
    padding: var(--echef-space-3);
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
    background: var(--echef-color-surface);
    border-radius: var(--echef-radius-sm);
    border-left: 3px solid var(--echef-color-primary, #c45c26);
}

.echef-lesson-html .echef-recipe-card__steps {
    --echef-recipe-step-size: 1.875rem;
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: echef-recipe-step;
    display: flex;
    flex-direction: column;
    gap: var(--echef-space-4);
}

.echef-lesson-html .echef-recipe-card__steps li {
    display: flex;
    align-items: flex-start;
    gap: var(--echef-space-3);
    margin: 0;
    padding: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    counter-increment: echef-recipe-step;
}

.echef-lesson-html .echef-recipe-card__steps li::before {
    content: counter(echef-recipe-step);
    flex: 0 0 var(--echef-recipe-step-size);
    width: var(--echef-recipe-step-size);
    height: var(--echef-recipe-step-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.05rem;
    border-radius: 50%;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    color: var(--echef-color-on-primary, #fff);
    background: var(--echef-color-primary, #c45c26);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--echef-color-primary, #c45c26) 22%, transparent);
}

.echef-lesson-html .echef-recipe-card__steps li:last-child {
    margin-bottom: 0;
}

/* Lesson presentation kinds (CMS: content_presentation) */
.echef-content-panel--exam {
    border-left: 4px solid var(--echef-color-primary, #c45c26);
}

.echef-content-panel--exam .echef-lesson-html--exam {
    font-size: 1.0625rem;
    line-height: 1.65;
}

.echef-content-panel--completion {
    text-align: center;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--echef-color-primary, #c45c26) 8%, var(--echef-color-surface, #fff)) 0%,
        var(--echef-color-surface, #fff) 55%
    );
}

.echef-content-panel--completion .echef-lesson-html--completion {
    max-width: 36rem;
    margin-inline: auto;
    font-size: 1.125rem;
    line-height: 1.65;
}

.echef-content-panel--completion .echef-lesson-html--completion p {
    margin-bottom: var(--echef-space-3);
}

.echef-lesson--exam .echef-lesson-quiz {
    border-left: 4px solid var(--echef-color-primary, #c45c26);
}

.echef-lesson-media + .echef-lesson-html,
.echef-lesson-html + .echef-lesson-media,
.echef-content-panel__lead + .echef-lesson-media,
.echef-lesson-media + .echef-lesson-media {
    margin-top: var(--echef-space-5);
}

.echef-lesson-media audio {
    display: block;
}

.echef-lesson-pdf {
    display: block;
    width: 100%;
    min-height: 28rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-bg);
}

.echef-lesson-html img,
.echef-lesson-html video,
.echef-lesson-html object,
.echef-lesson-html embed {
    max-width: 100% !important;
    height: auto !important;
    float: none !important;
    box-sizing: border-box;
}

.echef-lesson-html iframe {
    max-width: 100% !important;
    float: none !important;
}

.echef-lesson-html table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.echef-lesson-html,
.echef-quiz-question__prompt,
.echef-quiz-option__text {
    overflow-x: auto;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.echef-quiz img,
.echef-quiz-question__prompt img,
.echef-quiz-option__text img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    float: none !important;
    box-sizing: border-box;
}

.echef-quiz-question__prompt table,
.echef-quiz-option__text table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.echef-lesson-html [style*="white-space:nowrap"],
.echef-lesson-html [style*="white-space: nowrap"],
.echef-quiz-question__prompt [style*="white-space:nowrap"],
.echef-quiz-question__prompt [style*="white-space: nowrap"],
.echef-quiz-option__text [style*="white-space:nowrap"],
.echef-quiz-option__text [style*="white-space: nowrap"] {
    white-space: normal !important;
}

.echef-lesson-notes__body {
    padding: var(--echef-space-4);
    background: var(--echef-color-bg);
    border-radius: var(--echef-radius-md);
}

.echef-lesson-materials {
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-lesson-materials li {
    padding: var(--echef-space-3) 0;
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-lesson-materials li:last-child {
    border-bottom: none;
}

.echef-lesson-materials__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
}

.echef-lesson-materials__row i {
    margin-right: 0.4rem;
    color: var(--echef-color-primary-dark);
}

.echef-lesson-fallback {
    padding: var(--echef-space-4);
    background: var(--echef-color-bg);
    border: 1px dashed var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
}

.echef-lesson-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--echef-space-3);
}

.echef-lesson-nav > span:empty {
    display: none;
}

@media (min-width: 768px) {
    .echef-lesson-nav > span:empty {
        display: block;
        flex: 1 1 auto;
    }
}

.echef-lesson-quiz__gate {
    margin: 0 0 var(--echef-space-4);
    font-size: 0.9375rem;
    color: var(--echef-color-text);
}

.echef-lesson-quiz__meta,
.echef-quiz-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
}

.echef-quiz-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.75rem;
    grid-template-columns: none;
}

.echef-lesson-quiz__meta strong,
.echef-quiz-meta strong {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-lesson-quiz__meta span,
.echef-quiz-meta span {
    display: block;
    margin-top: 0.15rem;
    font-weight: 600;
}

.echef-quiz-back.echef-btn {
    flex-shrink: 0;
    background: #8b1519;
    border-color: #8b1519;
    color: #fff;
}

.echef-quiz-back.echef-btn:hover,
.echef-quiz-back.echef-btn:focus-visible {
    background: #6e1014;
    border-color: #6e1014;
    color: #fff;
}

.echef-quiz-attempts {
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-quiz-attempts li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    padding: var(--echef-space-3) 0;
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-quiz-attempts li:last-child {
    border-bottom: none;
}

.echef-quiz-attempts .is-passed {
    color: var(--echef-color-primary-dark);
}

.echef-quiz-attempts .is-failed {
    color: #9a3412;
}

@media (max-width: 991.98px) {
    .echef-lesson-toc {
        position: static;
    }

    .echef-lesson-toc__list {
        max-height: min(42vh, 20rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 767px) {
    .echef-quiz .echef-page-header__nav {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .echef-quiz .echef-page-header,
    .echef-quiz .echef-page-header__hero,
    .echef-quiz .echef-page-header__copy {
        min-height: 0;
        height: auto;
        flex: 0 0 auto;
    }

    .echef-quiz .echef-quiz-back {
        width: 100%;
        justify-content: center;
    }

    .echef-quiz-intro .echef-content-panel__lead {
        max-width: none;
    }

    .echef-quiz-intro__cta {
        min-width: 0;
        width: 100%;
    }

    .echef-lesson .echef-page-header__stats,
    .echef-quiz .echef-page-header__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .echef-lesson .echef-content-panel,
    .echef-quiz .echef-content-panel {
        padding: var(--echef-space-4);
    }

    .echef-lesson-quiz__meta {
        grid-template-columns: 1fr;
    }

    .echef-quiz-meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 1rem;
    }

    .echef-lesson-nav {
        flex-direction: column;
        align-items: stretch;
    }

    .echef-lesson-nav .echef-btn,
    .echef-quiz .echef-content-panel .echef-btn:not(.echef-btn--sm),
    .echef-quiz-form__actions .echef-btn {
        width: 100%;
        justify-content: center;
    }

    .echef-quiz-attempts li {
        flex-direction: column;
        align-items: stretch;
    }

    .echef-quiz-attempts .echef-btn {
        width: 100%;
        justify-content: center;
    }

    .echef-lesson-pdf {
        min-height: 16rem;
    }
}

.echef-quiz-form {
    margin-bottom: var(--echef-space-8);
}

.echef-quiz-timer {
    position: sticky;
    top: calc(var(--echef-header-height) + 0.5rem);
    z-index: 5;
    margin-bottom: var(--echef-space-5);
    padding: var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
}

.echef-quiz-timer__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--echef-space-3);
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
}

.echef-quiz-timer time {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--echef-color-text);
    font-variant-numeric: tabular-nums;
}

.echef-quiz-timer__track {
    margin-top: var(--echef-space-3);
    height: 4px;
    background: var(--echef-color-border);
    border-radius: 99px;
    overflow: hidden;
}

.echef-quiz-timer__bar {
    height: 100%;
    width: 0;
    background: var(--echef-color-primary);
    border-radius: inherit;
}

.echef-quiz-timer.is-warning time {
    color: #9a3412;
}

.echef-quiz-timer.is-warning .echef-quiz-timer__bar {
    background: var(--echef-color-accent-warm);
}

.echef-quiz-timer.is-critical time {
    color: #9a3412;
}

.echef-quiz-timer.is-critical .echef-quiz-timer__bar {
    background: #9a3412;
}

.echef-quiz-question__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--echef-space-2);
    margin-bottom: var(--echef-space-4);
}

.echef-quiz-question__title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-quiz-question__points {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
}

.echef-quiz-question__prompt {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--echef-color-text);
    margin-bottom: var(--echef-space-4);
}

.echef-quiz-question__prompt p:last-child,
.echef-quiz-option__text p:last-child {
    margin-bottom: 0;
}

.echef-quiz-question__hint {
    margin: 0 0 var(--echef-space-3);
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
}

.echef-quiz-options {
    display: flex;
    flex-direction: column;
    gap: var(--echef-space-3);
}

.echef-quiz-option {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: var(--echef-space-3);
    margin: 0;
    padding: var(--echef-space-4);
    min-height: 2.75rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-surface);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    -webkit-tap-highlight-color: rgba(var(--echef-color-primary-rgb), 0.18);
}

.echef-quiz-option::before {
    content: "";
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.2rem;
    border: 2px solid var(--echef-color-border);
    border-radius: 99px;
    background: var(--echef-color-bg);
}

.echef-quiz-option:has(.echef-quiz-option__input[type="checkbox"])::before {
    border-radius: 0.28rem;
}

.echef-quiz-option:has(.echef-quiz-option__key)::before {
    display: none;
}

.echef-quiz-option:hover {
    border-color: var(--echef-color-primary);
}

.echef-quiz-option:has(.echef-quiz-option__input:checked) {
    border-color: var(--echef-color-primary-dark);
    background: rgba(var(--echef-color-primary-rgb), 0.1);
    box-shadow: 0 0 0 1px var(--echef-color-primary-dark);
}

.echef-quiz-option:has(.echef-quiz-option__input:checked)::before {
    border-color: var(--echef-color-primary-dark);
    background: var(--echef-color-primary);
    box-shadow: inset 0 0 0 3px var(--echef-color-surface);
}

.echef-quiz-option:has(.echef-quiz-option__input:focus-visible) {
    outline: 2px solid var(--echef-color-primary);
    outline-offset: 2px;
}

.echef-quiz-option__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.echef-quiz-option__key {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.35rem;
    border-radius: var(--echef-radius-sm);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.echef-quiz-option:has(.echef-quiz-option__input:checked) .echef-quiz-option__key {
    background: var(--echef-color-primary);
    border-color: var(--echef-color-primary);
    color: var(--echef-color-text-inverse);
}

.echef-quiz-option__text {
    flex: 1;
    min-width: 0;
    line-height: 1.5;
}

.echef-quiz-textarea {
    display: block;
    width: 100%;
    min-height: 7.5rem;
    padding: var(--echef-space-3) var(--echef-space-4);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    background: var(--echef-color-surface);
    color: var(--echef-color-text);
    font: inherit;
    resize: vertical;
}

.echef-quiz-textarea:focus {
    outline: 2px solid var(--echef-color-primary);
    outline-offset: 2px;
    border-color: var(--echef-color-primary);
}

.echef-quiz-form__actions {
    margin-top: var(--echef-space-5);
}

@media (max-width: 767px) {
    .echef-quiz-timer {
        top: calc(var(--echef-header-height) + 0.25rem);
        padding: var(--echef-space-3);
    }

    .echef-quiz-option {
        padding: 0.875rem var(--echef-space-4);
    }

    .echef-quiz-option::before {
        width: 1.25rem;
        height: 1.25rem;
    }
}

.echef-quiz-outcome {
    text-align: center;
}

.echef-quiz-outcome.is-passed {
    background: rgba(var(--echef-color-primary-rgb), 0.08);
    border-color: rgba(var(--echef-color-primary-rgb), 0.35);
}

.echef-quiz-outcome.is-failed {
    background: rgba(154, 52, 18, 0.06);
    border-color: rgba(154, 52, 18, 0.22);
}

.echef-quiz-outcome__status {
    margin: 0 0 var(--echef-space-2);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-quiz-outcome__score {
    margin: 0 0 var(--echef-space-3);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.echef-quiz-outcome.is-passed .echef-quiz-outcome__score,
.echef-quiz-review .is-passed,
.echef-quiz-attempts .is-passed {
    color: var(--echef-color-primary-dark);
}

.echef-quiz-outcome.is-failed .echef-quiz-outcome__score,
.echef-quiz-review .is-failed,
.echef-quiz-attempts .is-failed {
    color: #9a3412;
}

.echef-quiz-outcome__bar {
    margin: 0;
    font-size: 0.875rem;
    color: var(--echef-color-text-muted);
}

.echef-quiz-review__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--echef-space-2);
    margin-bottom: var(--echef-space-4);
}

.echef-quiz-review__badge {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.echef-quiz-review.is-correct {
    border-color: rgba(var(--echef-color-primary-rgb), 0.45);
}

.echef-quiz-review.is-correct .echef-quiz-review__badge {
    color: var(--echef-color-primary-dark);
}

.echef-quiz-review.is-incorrect {
    border-color: rgba(154, 52, 18, 0.28);
}

.echef-quiz-review.is-incorrect .echef-quiz-review__badge {
    color: #9a3412;
}

.echef-quiz-review__answer,
.echef-quiz-review__correct {
    padding: var(--echef-space-4);
    background: var(--echef-color-bg);
    border-radius: var(--echef-radius-md);
}

.echef-quiz-review__answer {
    margin-bottom: var(--echef-space-3);
}

.echef-quiz-review__answer strong,
.echef-quiz-review__correct strong {
    display: block;
    margin-bottom: var(--echef-space-2);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-quiz-review__picks {
    list-style: none;
    margin: 0;
    padding: 0;
}

.echef-quiz-review__picks li {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--echef-space-2);
    margin-top: var(--echef-space-2);
    min-width: 0;
    overflow-wrap: anywhere;
}

.echef-quiz-review__answer .echef-quiz-option__key,
.echef-quiz-review__correct .echef-quiz-option__key {
    margin-right: 0.15rem;
}

.echef-quiz-review__text,
.echef-quiz-review__stars {
    margin: 0;
}

.echef-quiz-review__why {
    margin-top: var(--echef-space-3);
    padding: var(--echef-space-4);
    background: rgba(var(--echef-color-primary-rgb), 0.06);
    border-radius: var(--echef-radius-md);
}

.echef-quiz-review__why strong {
    display: block;
    margin-bottom: var(--echef-space-2);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-quiz-review__why p {
    margin: 0;
}

.echef-quiz-results__nav {
    margin-top: var(--echef-space-2);
    margin-bottom: var(--echef-space-8);
}

@media (max-width: 767px) {
    .echef-quiz-results__nav .echef-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Student cabinet — payments */
.echef-payments {
    padding-bottom: var(--echef-space-8);
}

.echef-payments__head {
    margin-bottom: var(--echef-space-4);
}

.echef-payments__title {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--echef-color-text);
}

.echef-payments__lead {
    margin: 0;
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
}

.echef-payments__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
}

.echef-payments__field {
    flex: 1 1 12rem;
    min-width: 0;
    max-width: 16rem;
}

.echef-payments__field .form-select {
    border-color: var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    font-size: 0.9375rem;
    background-color: var(--echef-color-surface);
}

.echef-payments__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--echef-space-3);
}

.echef-payments__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    padding: var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
}

.echef-payments__course {
    display: flex;
    align-items: center;
    gap: var(--echef-space-3);
    min-width: 0;
    flex: 1 1 16rem;
}

.echef-payments__thumb {
    flex-shrink: 0;
    width: 4.5rem;
    height: 3.25rem;
    border-radius: var(--echef-radius-md);
    overflow: hidden;
    background: var(--echef-color-bg);
    border: 1px solid var(--echef-color-border);
}

.echef-payments__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.echef-payments__copy {
    min-width: 0;
}

.echef-payments__name {
    display: block;
    font-weight: 700;
    color: var(--echef-color-text);
    text-decoration: none;
    margin-bottom: 0.25rem;
}

.echef-payments__name:hover {
    color: var(--echef-color-primary-dark);
}

.echef-payments__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin: 0;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-payments__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
    flex-shrink: 0;
}

.echef-payments__amount {
    font-size: 1rem;
    color: var(--echef-color-text);
}

.echef-pay-status {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 999px;
    background: var(--echef-color-bg);
    color: var(--echef-color-text-muted);
}

.echef-pay-status--completed,
.echef-pay-status--free {
    background: rgba(var(--echef-color-primary-rgb), 0.14);
    color: var(--echef-color-primary-dark);
}

.echef-pay-status--pending {
    background: #fff4d6;
    color: #8a5a00;
}

.echef-pay-status--failed {
    background: #fde8e8;
    color: #9a3412;
}

.echef-pay-status--refunded {
    background: #e8f1fb;
    color: #1e4b7a;
}

.echef-payments__empty {
    text-align: center;
    padding: var(--echef-space-8) var(--echef-space-4);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
}

.echef-payments__empty i {
    font-size: 2.25rem;
    color: var(--echef-color-text-muted);
    margin-bottom: var(--echef-space-3);
}

.echef-payments__empty h2 {
    margin: 0 0 0.5rem;
    font-size: 1.125rem;
}

.echef-payments__empty p {
    margin: 0 0 var(--echef-space-4);
    color: var(--echef-color-text-muted);
}

.echef-payments__notice {
    margin: 0 0 var(--echef-space-4);
    padding: var(--echef-space-4);
    background: #fff4d6;
    border: 1px solid #ead7a0;
    border-radius: var(--echef-radius-lg);
}

.echef-payments__notice p {
    margin: 0 0 var(--echef-space-3);
    color: #8a5a00;
}

.echef-payments__notice .echef-btn {
    display: inline-flex;
}

.echef-payments__pager {
    margin-top: var(--echef-space-4);
}

.echef-payments__order {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-primary-dark);
    text-decoration: none;
    margin-bottom: 0.2rem;
}

.echef-payments__order:hover {
    color: var(--echef-color-primary);
}

.echef-payments__open {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
    text-decoration: none;
}

.echef-payments__open:hover {
    text-decoration: underline;
}

.echef-payments__kicker {
    margin: 0 0 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-payment-order {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: var(--echef-space-5);
    box-shadow: var(--echef-shadow-sm);
}

.echef-payment-order__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
    padding-bottom: var(--echef-space-4);
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-payment-order__course {
    display: flex;
    align-items: center;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-4);
}

.echef-payment-order__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--echef-space-4);
    margin: 0;
}

.echef-payment-order__facts dt {
    margin: 0 0 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-payment-order__facts dd {
    margin: 0;
    font-weight: 600;
}

.echef-payments__back {
    margin: var(--echef-space-4) 0 0;
}

.echef-payments__back a {
    color: var(--echef-color-primary-dark);
    font-weight: 600;
    text-decoration: none;
}

.echef-payments__back a:hover {
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    .echef-payments__field {
        max-width: none;
    }

    .echef-payments__aside {
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .echef-payment-order__facts {
        grid-template-columns: 1fr;
    }
}

.echef-payment-order__invoice {
    margin: var(--echef-space-5) 0 0;
}

.echef-invoice {
    padding-bottom: var(--echef-space-8);
}

.echef-invoice__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-3);
    margin-bottom: var(--echef-space-3);
}

.echef-invoice__hint {
    margin: 0 0 0.5rem;
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
    max-width: 40rem;
}

.echef-invoice__sheet {
    margin-top: var(--echef-space-4);
    padding: var(--echef-space-6);
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: var(--echef-shadow-sm);
    max-width: 44rem;
}

.echef-invoice__kicker {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-invoice__heading {
    margin: 0 0 0.5rem;
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--echef-color-text);
}

.echef-invoice__legal {
    margin: 0;
    color: var(--echef-color-text-muted);
    font-size: 0.9375rem;
}

.echef-invoice__purpose-label {
    margin: var(--echef-space-5) 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-invoice__purpose {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}

.echef-invoice__purpose-hint {
    margin: 0.35rem 0 var(--echef-space-5);
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.echef-invoice__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--echef-space-4);
    margin: 0;
}

.echef-invoice__facts dt {
    margin: 0 0 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-invoice__facts dd {
    margin: 0;
    font-weight: 600;
    word-break: break-word;
}

.echef-invoice__amount {
    font-size: 1.25rem;
}

.echef-invoice__bank {
    margin-top: var(--echef-space-5);
    padding-top: var(--echef-space-5);
    border-top: 1px solid var(--echef-color-border);
}

.echef-invoice__bank-title {
    margin: 0 0 var(--echef-space-4);
    font-size: 1rem;
    font-weight: 800;
}

.echef-invoice__footnote {
    margin: var(--echef-space-5) 0 0;
    padding-top: var(--echef-space-4);
    border-top: 1px solid var(--echef-color-border);
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.echef-invoice__contact {
    margin: var(--echef-space-4) 0 0;
    padding: 0;
    text-align: center;
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.echef-invoice__contact span {
    display: block;
    line-height: 1.5;
}

@media (max-width: 575.98px) {
    .echef-invoice__facts {
        grid-template-columns: 1fr;
    }
}

@media print {
    body:has(.echef-invoice) .echef-site-header,
    body:has(.echef-invoice) .nav-mobile,
    body:has(.echef-invoice) .echef-footer,
    body:has(.echef-invoice) .echef-stud-sidebar,
    body:has(.echef-invoice) .echef-invoice__actions,
    body:has(.echef-invoice) .echef-invoice__hint {
        display: none !important;
    }

    body:has(.echef-invoice) .echef-stud-layout {
        display: block;
        min-height: 0;
        grid-template-columns: none;
    }

    body:has(.echef-invoice) .echef-invoice__sheet {
        box-shadow: none;
        border: 0;
        padding: 0;
        max-width: none;
    }

    body:has(.echef-statement) .echef-site-header,
    body:has(.echef-statement) .nav-mobile,
    body:has(.echef-statement) .echef-footer,
    body:has(.echef-statement) .echef-statement-actions,
    body:has(.echef-statement) .no-print {
        display: none !important;
    }

    body:has(.echef-statement) .echef-page-section {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body:has(.echef-statement) .echef-statement {
        box-shadow: none;
        border: 0;
        max-width: none;
        padding: 0;
    }

    @page {
        margin: 16mm;
    }
}

.echef-notifications__item.is-unread {
    border-color: var(--echef-color-primary);
    background: rgba(var(--echef-color-primary-rgb), 0.08);
}

.echef-notifications__status {
    display: inline-block;
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--echef-color-text-muted);
}

.echef-notifications__item.is-unread .echef-notifications__status {
    color: var(--echef-color-primary-dark);
}

.echef-notifications__title {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 1.0625rem;
    color: var(--echef-color-text);
}

.echef-notifications__message {
    margin: 0 0 0.5rem;
    color: var(--echef-color-text);
    line-height: 1.5;
}

/* Legal pages + cookie banner + footer legal links */
.echef-legal-page .echef-page-header__copy {
    max-width: none;
}

.echef-legal-page .echef-legal {
    max-width: none;
    width: 100%;
    color: var(--echef-color-text);
    font-size: 1rem;
    line-height: 1.7;
}

.echef-legal h2 {
    margin: var(--echef-space-6) 0 var(--echef-space-3);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--echef-color-nav);
    scroll-margin-top: 6rem;
}

.echef-legal h2:first-child {
    margin-top: 0;
}

.echef-legal p {
    margin: 0 0 var(--echef-space-3);
}

.echef-legal ul {
    margin: 0 0 var(--echef-space-4);
    padding-left: 1.25rem;
}

.echef-legal li {
    margin-bottom: var(--echef-space-2);
}

.echef-legal__meta {
    margin: 0 0 var(--echef-space-5);
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.echef-legal__see-also {
    margin-top: var(--echef-space-8);
    padding-top: var(--echef-space-4);
    border-top: 1px solid var(--echef-color-border);
    font-size: 0.9375rem;
}

.echef-legal__see-also a {
    color: var(--echef-color-primary-dark);
}

.echef-footer .footer__bottom-content {
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: center;
}

.echef-footer .footer__bottom {
    border-top-color: rgba(255, 255, 255, 0.08);
}

.echef-footer .footer__top-ge {
    display: flex;
    align-items: center;
    min-height: 31px;
}

.echef-footer .footer__top-ge a,
.echef-footer .footer__top-ge img {
    display: inline-block;
    vertical-align: middle;
}

.echef-footer .footer__bottom_copyright {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
    max-width: 100%;
    color: #c8c7d4;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.echef-footer .footer__legal-links {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
}

.echef-footer .footer__legal-links a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.echef-footer .footer__legal-links a:hover {
    color: #fff;
}

.echef-footer .footer__social-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.echef-footer .footer__social-row ul {
    margin-bottom: 0;
}

.echef-footer .footer__social-row .footer__lang {
    margin-left: auto;
}

.echef-footer .footer__lang {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.echef-cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1080;
    padding: var(--echef-space-3);
    pointer-events: none;
}

.echef-cookie-banner[hidden] {
    display: none !important;
}

.echef-cookie-banner__inner {
    pointer-events: auto;
    max-width: 72rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--echef-space-4);
    padding: var(--echef-space-4) var(--echef-space-5);
    background: var(--echef-color-surface);
    color: var(--echef-color-text);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    box-shadow: var(--echef-shadow-md);
}

.echef-cookie-banner__copy {
    flex: 1 1 18rem;
    min-width: 0;
}

.echef-cookie-banner__title {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--echef-color-nav);
}

.echef-cookie-banner__text {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--echef-color-text-muted);
}

.echef-cookie-banner__link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--echef-color-primary-dark);
}

.echef-cookie-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--echef-space-2);
    align-items: center;
}

@media (max-width: 575.98px) {
    .echef-cookie-banner__actions {
        width: 100%;
    }

    .echef-cookie-banner__actions .echef-btn {
        flex: 1 1 auto;
        text-align: center;
    }
}

/* Lesson notes capture (T12.6 / PLAN slice 2) */
.echef-lesson-html.is-note-capture p,
.echef-lesson-html.is-note-capture li,
.echef-lesson-html.is-note-capture td,
.echef-lesson-html.is-note-capture h1,
.echef-lesson-html.is-note-capture h2,
.echef-lesson-html.is-note-capture h3,
.echef-lesson-html.is-note-capture h4,
.echef-lesson-html.is-note-capture .MsoNormal,
.js-echef-note-source.is-note-capture {
    cursor: pointer;
}

.echef-note-pick {
    background: rgba(var(--echef-color-primary-rgb), 0.28) !important;
    outline: 2px solid var(--echef-color-primary);
    outline-offset: 2px;
}

.echef-lesson-note-fab {
    position: fixed;
    right: 1rem;
    bottom: 1.25rem;
    z-index: 1070;
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    border: 0;
    border-radius: 50%;
    background: var(--echef-color-primary);
    color: var(--echef-color-header);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.echef-lesson-note-fab:focus-visible {
    outline: 3px solid var(--echef-color-header);
    outline-offset: 2px;
}

.echef-lesson-note-hint {
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: 5.5rem;
    z-index: 1071;
    max-width: 28rem;
    margin: 0 auto;
    padding: 1rem 1.1rem;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
}

.echef-lesson-note-hint p {
    margin: 0 0 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.45;
    color: var(--echef-color-text);
}

.echef-lesson-note-toolbar {
    position: fixed;
    z-index: 1072;
    min-height: 44px;
    padding: 0.5rem 0.9rem;
    border: 0;
    border-radius: 999px;
    background: var(--echef-color-header);
    color: var(--echef-color-header-ink);
    font-size: 0.875rem;
    font-weight: 600;
}

.echef-lesson-note-sheet {
    position: fixed;
    inset: 0;
    z-index: 1080;
}

.echef-lesson-note-sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.echef-lesson-note-sheet__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 85vh;
    overflow-y: auto;
    padding: 1rem 1.1rem 1.5rem;
    background: var(--echef-color-surface);
    border-radius: var(--echef-radius-lg) var(--echef-radius-lg) 0 0;
}

.echef-lesson-note-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.echef-lesson-note-sheet__head h2 {
    margin: 0;
    font-size: 1.125rem;
}

.echef-lesson-note-sheet__x {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    font-size: 1.75rem;
    line-height: 1;
    color: var(--echef-color-text-muted);
}

.echef-lesson-note-sheet__quote {
    margin: 0 0 0.75rem;
    padding: 0.75rem 0.9rem;
    border-left: 3px solid var(--echef-color-primary);
    background: var(--echef-color-bg);
    font-size: 0.9375rem;
}

.echef-lesson-note-sheet__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.echef-lesson-note-sheet__comment {
    width: 100%;
    min-height: 5.5rem;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-md);
    font: inherit;
}

.echef-lesson-note-sheet__who {
    margin: 0.85rem 0 0.35rem;
    padding: 0;
    border: 0;
}

.echef-lesson-note-sheet__who legend {
    padding: 0;
    margin-bottom: 0.4rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.echef-lesson-note-sheet__who label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 44px;
    cursor: pointer;
    font-size: 0.9375rem;
}

.echef-lesson-note-sheet__who input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    flex-shrink: 0;
}

.echef-lesson-note-toast {
    position: fixed;
    left: 50%;
    bottom: 5.5rem;
    z-index: 1090;
    transform: translateX(-50%);
    max-width: min(22rem, calc(100vw - 2rem));
    margin: 0;
    padding: 0.7rem 1rem;
    border-radius: var(--echef-radius-md);
    background: #2b2118;
    color: #fff;
    font-size: 0.875rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.echef-lesson-note-sheet__actions .echef-btn {
    flex: 1 1 10rem;
    min-height: 44px;
}

.echef-lesson-note-sheet__hint,
.echef-lesson-note-sheet__status {
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-lesson-note-sheet__status.is-error {
    color: var(--echef-color-off);
}

.echef-lesson-note-sheet__list-title {
    margin: 1.25rem 0 0.5rem;
    font-size: 0.9375rem;
}

.echef-lesson-note-sheet__list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 11rem;
    overflow-y: auto;
}

.echef-lesson-note-sheet__list li {
    padding: 0.55rem 0;
    border-top: 1px solid var(--echef-color-border);
    font-size: 0.875rem;
}

.echef-lesson-note-sheet__badge {
    display: inline-block;
    margin-right: 0.35rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: var(--echef-color-bg);
    font-size: 0.75rem;
    font-weight: 600;
}

@media (min-width: 768px) {
    .echef-lesson-note-fab {
        right: 1.5rem;
        bottom: 1.5rem;
    }

    .echef-lesson-note-hint {
        left: auto;
        right: 1.5rem;
        bottom: 6rem;
        margin: 0;
    }

    .echef-lesson-note-sheet__panel {
        left: auto;
        right: 1.5rem;
        bottom: 5.5rem;
        width: 26rem;
        max-height: 70vh;
        border-radius: var(--echef-radius-lg);
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
    }
}

body.echef-note-sheet-open {
    overflow: hidden;
}

/* T13.6 / T13.14 — chef cabinet: note badges + details toggle */
.echef-badge {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.15rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-radius: 999px;
    vertical-align: middle;
}

.echef-badge--new {
    background: rgba(var(--echef-color-primary-rgb), 0.16);
    color: var(--echef-color-primary-dark);
}

.echef-badge--draft {
    background: rgba(var(--echef-color-accent-warm-rgb), 0.35);
    color: #7a5b00;
}

.echef-badge--answered {
    background: rgba(27, 138, 58, 0.16);
    color: var(--echef-color-sale);
}

.echef-chef-note--new {
    border-left: 3px solid var(--echef-color-primary);
}

.echef-chef-progress-details {
    margin-top: 0.5rem;
}

.echef-chef-progress-details summary {
    cursor: pointer;
    font-size: 0.8125rem;
    color: var(--echef-color-primary-dark);
}

.echef-chef-progress-details__list {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    font-size: 0.8125rem;
}

.echef-chef-progress-details__list li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--echef-color-border);
}

.echef-chef-progress-details__list li:last-child {
    border-bottom: none;
}

.echef-mail-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.echef-mail-head__title {
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.echef-mail-head__lead {
    margin: 0;
    color: var(--echef-color-text-muted);
    font-size: 0.9rem;
}

.echef-mail-head__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.echef-mail-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    background: var(--echef-color-surface);
    overflow: hidden;
}

.echef-mail-list li + li {
    border-top: 1px solid var(--echef-color-border);
}

.echef-mail-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.9rem 1.15rem;
    color: inherit;
    text-decoration: none;
    min-height: 2.75rem;
}

.echef-mail-row:hover {
    background: var(--echef-color-bg);
}

.echef-mail-row__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1 1 12rem;
}

.echef-mail-row__body span {
    color: var(--echef-color-text-muted);
    font-size: 0.875rem;
}

.echef-mail-row__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-mail-status {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    background: rgba(30, 78, 216, 0.1);
    color: var(--echef-hero-blue);
}

.echef-mail-row.is-replied strong {
    font-weight: 800;
}

.echef-mail-status--waiting {
    background: rgba(30, 78, 216, 0.1);
    color: var(--echef-hero-blue);
}

.echef-mail-status--replied {
    background: rgba(160, 198, 79, 0.22);
    color: #4a6b12;
}

.echef-mail-status--closed {
    background: rgba(27, 138, 58, 0.14);
    color: var(--echef-color-sale);
}

.echef-mail-empty {
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    padding: 2rem 1.25rem;
    text-align: center;
}

.echef-mail-empty h2 {
    margin: 0 0 0.5rem;
    font-size: 1.1rem;
}

.echef-mail-empty p {
    margin: 0 0 1rem;
    color: var(--echef-color-text-muted);
}

.echef-mail-thread {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 1rem;
    width: 100%;
    background: var(--echef-color-surface);
    border: 1px solid var(--echef-color-border);
    border-radius: var(--echef-radius-lg);
    overflow: hidden;
}

.echef-mail-bubble {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1rem 1.25rem;
    border: 0;
    border-bottom: 1px solid var(--echef-color-border);
    border-radius: 0;
    background: transparent;
}

.echef-mail-bubble:last-child {
    border-bottom: 0;
}

.echef-mail-bubble--you {
    border-left: 3px solid var(--echef-hero-blue);
}

.echef-mail-bubble--school {
    background: var(--echef-color-bg);
    border-left: 3px solid var(--echef-color-primary);
}

.echef-mail-form {
    width: 100%;
    max-width: none;
}

.echef-mail-bubble__who {
    margin: 0 0 0.4rem;
    font-size: 0.8125rem;
    color: var(--echef-color-text-muted);
}

.echef-mail-bubble__text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.echef-mail-bubble__note {
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--echef-color-border);
}

.echef-mail-form {
    max-width: 40rem;
}

@media (max-width: 639.98px) {
    .echef-mail-head .echef-btn,
    .echef-mail-empty .echef-btn {
        width: 100%;
        justify-content: center;
    }

    .echef-mail-row__meta {
        align-items: flex-start;
        width: 100%;
    }
}

.echef-offer {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid var(--echef-color-border);
    overflow: hidden;
}

.echef-offer__photo {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: var(--echef-color-bg);
}

.echef-offer__body {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    flex: 1;
    padding: 1.1rem 1.15rem 1.25rem;
}

.echef-offer__body h3 {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.3;
}

.echef-offer__price {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
}

.echef-offer__price s {
    display: block;
    margin-bottom: 0.15rem;
    color: #8a8a8a;
    font-size: 0.95rem;
    font-weight: 500;
}

.echef-offer__meta,
.echef-offer__note {
    margin: 0;
    color: #5c5c5c;
    font-size: 0.9rem;
}

.echef-offer__body .echef-btn {
    margin-top: auto;
    align-self: flex-start;
}

.echef-offer-faq details {
    border-top: 1px solid var(--echef-color-border);
    padding: 0.85rem 0;
}

.echef-offer-faq summary {
    cursor: pointer;
    font-weight: 650;
}

.echef-offer-faq p {
    margin: 0.55rem 0 0;
    max-width: 40rem;
}

.echef-offer-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

