/* Site skin: brings the theme's inner pages in line with the builder homepage.
   Loaded after the theme CSS on every page that uses frontend.layouts.master. */

body.lb-site {
    --tg-heading-font-family: var(--tg-body-font-family);
    --lb-soft: color-mix(in srgb, var(--lb-accent) 8%, #ffffff);
}
body.lb-site :is(h1, h2, h3, h4, h5, h6) { font-family: var(--tg-body-font-family); letter-spacing: -.01em; }

/* ───────── Page header (x-frontend.breadcrumb) ───────── */
.lb-page-hero {
    position: relative;
    overflow: hidden;
    padding: 96px 0 90px;
    color: #fff;
    background-color: var(--lb-accent);
    background-image:
        radial-gradient(rgba(255, 255, 255, .14) 1.2px, transparent 1.3px),
        linear-gradient(135deg, var(--lb-accent) 0%, color-mix(in srgb, var(--lb-accent) 45%, #0b1220) 100%);
    background-size: 22px 22px, 100% 100%;
    background-position: right -40px top -10px, 0 0;
}
.lb-page-hero > .lb-container { position: relative; z-index: 1; }
.lb-page-hero__shape { position: absolute; border-radius: 50%; pointer-events: none; }
.lb-page-hero__shape--one { width: 420px; height: 420px; right: -120px; top: -180px; background: rgba(255, 255, 255, .07); }
.lb-page-hero__shape--two { width: 220px; height: 220px; right: 18%; bottom: -150px; border: 2px solid rgba(255, 255, 255, .14); }
.lb-crumbs {
    display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px;
    padding: 8px 18px; border-radius: 30px; font-size: 14px; font-weight: 600;
    background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22);
}
.lb-crumbs a { color: rgba(255, 255, 255, .8); text-decoration: none; }
.lb-crumbs a:hover { color: #fff; }
.lb-crumbs span { color: #fff; }
.lb-crumbs i { font-size: 10px; color: rgba(255, 255, 255, .55); }
.lb-page-hero__title { color: #fff; font-size: clamp(32px, 4.4vw, 54px); font-weight: 800; line-height: 1.1; margin: 18px 0 0; max-width: 900px; }
.lb-page-hero__subtitle { color: rgba(255, 255, 255, .86); font-size: 18px; line-height: 1.6; max-width: 640px; margin: 14px 0 0; }
.lb-page-hero__search { margin: 30px 0 0 !important; }
@media (max-width: 767px) { .lb-page-hero { padding: 64px 0 60px; } }

/* ───────── Shared section bits ───────── */
.lb-site .section__title .sub-title {
    background: color-mix(in srgb, var(--lb-accent) 12%, transparent);
    color: var(--lb-accent); text-transform: uppercase; letter-spacing: .04em; font-size: 14px; font-weight: 600; padding: 6px 16px;
}
.lb-site .section__title .title { font-weight: 700; }
.lb-site .section__title .title span:not(.svg-icon) { color: var(--lb-accent); }
.lb-site .section__title .title span.svg-icon, .lb-site .section__title .title svg { display: none; }

/* Buttons: pill shape and soft shadow, like the homepage. */
.lb-site .main-area .btn:not(.btn-close):not(.dropdown-toggle):not([class*="btn-outline"]):not(.btn-link):not(.btn-sm) {
    border-radius: 50px; border: 0; box-shadow: 0 8px 20px color-mix(in srgb, var(--lb-accent) 28%, transparent);
    transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}
.lb-site .main-area .btn:not(.btn-close):not(.dropdown-toggle):not([class*="btn-outline"]):not(.btn-link):not(.btn-sm):hover { transform: translateY(-2px); filter: brightness(1.06); }
.lb-site .main-area .btn.btn-two, .lb-site .main-area .btn.arrow-btn { background: var(--lb-accent); color: #fff; }
.lb-site .main-area .btn.btn-two svg path, .lb-site .main-area .btn.arrow-btn svg path { stroke: currentColor; }

/* Form fields */
.lb-site .main-area :is(.form-grp input, .form-grp textarea, .form-grp select, .contact-form-wrap input, .contact-form-wrap textarea, .account__form input, .cart__actions-form input, .comment-form input, .comment-form textarea) {
    border: 1px solid var(--lb-border); border-radius: 12px; background: #fff; transition: border-color .2s, box-shadow .2s;
}
.lb-site .main-area :is(.form-grp input, .form-grp textarea, .contact-form-wrap input, .contact-form-wrap textarea, .account__form input, .comment-form input, .comment-form textarea):focus {
    border-color: var(--lb-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--lb-accent) 14%, transparent); outline: 0;
}

/* Pagination */
.lb-site :is(.pagination__wrap, .pagination-wrap) ul li :is(a, span), .lb-site .pagination .page-link {
    border-radius: 50% !important; border: 1px solid var(--lb-border); box-shadow: none;
}
.lb-site :is(.pagination__wrap, .pagination-wrap) ul li.active :is(a, span), .lb-site .pagination .page-item.active .page-link,
.lb-site :is(.pagination__wrap, .pagination-wrap) ul li :is(a, span):hover { background: var(--lb-accent); border-color: var(--lb-accent); color: #fff; }

/* ───────── Cards ───────── */
.lb-site :is(.courses__item, .blog__post-item, .instructor__item, .testimonial__item, .features__item-two, .event__item) {
    border: 0 !important; border-radius: 18px; background: #fff; box-shadow: var(--lb-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}
.lb-site :is(.courses__item, .blog__post-item, .instructor__item):hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(15, 23, 42, .12); }
.lb-site .courses__item { padding: 16px 16px 22px; }
.lb-site .courses__item-thumb, .lb-site .courses__item-thumb img, .lb-site .blog__post-thumb, .lb-site .blog__post-thumb img { border-radius: 12px; overflow: hidden; }
.lb-site .courses__item-thumb img { aspect-ratio: 16/10; object-fit: cover; width: 100%; transition: transform .4s; }
.lb-site .courses__item:hover .courses__item-thumb img { transform: scale(1.05); }
.lb-site .courses__item .title a:hover, .lb-site .blog__post-content .title a:hover { color: var(--lb-accent); }
.lb-site .courses__item-tag a { background: #f1f5f9; color: #334155; }
.lb-site .courses__item-bottom .price { color: var(--lb-accent); font-weight: 800; }
.lb-site .courses__item-bottom .button a {
    background: color-mix(in srgb, var(--lb-accent) 12%, transparent); color: var(--lb-accent); border: 0; box-shadow: none; border-radius: 50px;
}
.lb-site .courses__item-bottom .button a:hover { background: var(--lb-accent); color: #fff; }
.lb-site .courses__item-bottom .button a i, .lb-site .courses__item-bottom .button a svg { color: inherit; }
.lb-site .blog__post-item { padding: 16px; }
.lb-site .blog__post-content { padding: 18px 8px 6px; }
.lb-site .blog__post-tag, .lb-site .blog__post-thumb .post-tag { background: var(--lb-accent); border-radius: 30px; }
.lb-site .instructor__item { padding: 22px; gap: 20px; }
.lb-site .instructor__thumb img { border-radius: 14px; }

/* ───────── Sidebars & panels ───────── */
.lb-site :is(.blog-widget, .courses__sidebar .courses-widget, .shop-widget, .instructor__sidebar, .courses__details-sidebar, .contact-form-wrap, .cart__collaterals-wrap, .wsus__payment_area, .comment-respond, .blog__post-author) {
    background: #fff; border: 1px solid var(--lb-border); border-radius: 18px; box-shadow: var(--lb-shadow);
}
.lb-site .blog-widget { padding: 28px; }
.lb-site .widget-title, .lb-site .blog-widget .widget-title { font-weight: 700; }
.lb-site .sidebar-search-form input { border-radius: 50px; border: 1px solid var(--lb-border); background: #f8fafc; }
.lb-site .list-wrap li a:hover { color: var(--lb-accent); }
.lb-site .rc-post-thumb img { border-radius: 10px; }

/* Course details */
.lb-site .courses__details-thumb img, .lb-site .courses__details-video img { border-radius: 18px; }
.lb-site .courses__details-sidebar .event__info, .lb-site .courses__details-sidebar .courses__cost-wrap { border-radius: 14px; }
.lb-site .courses__cost-wrap { background: linear-gradient(135deg, var(--lb-accent), color-mix(in srgb, var(--lb-accent) 55%, #0b1220)); }
.lb-site .courses__nav .nav { gap: 10px; }
.lb-site .courses__nav .nav .nav-item .nav-link { border-radius: 50px; padding: 10px 22px; background: #f1f5f9; color: #334155; }
.lb-site .courses__nav .nav .nav-item .nav-link.active { background: var(--lb-accent); color: #fff; }
.lb-site .courses__nav .nav .nav-item .nav-link::after { display: none; }
.lb-site :is(.courses__overview-wrap, .courses__curriculum-wrap, .courses__instructors-wrap, .courses__rating-wrap) { border: 1px solid var(--lb-border); border-radius: 18px; box-shadow: var(--lb-shadow); }
.lb-site .accordion-item { border-radius: 12px !important; overflow: hidden; border: 1px solid var(--lb-border); margin-bottom: 10px; }
.lb-site .accordion-button:not(.collapsed) { background: var(--lb-soft); color: var(--lb-accent); box-shadow: none; }

/* Blog details */
.lb-site .blog__details-thumb img { border-radius: 22px; }
.lb-site .blog__details-content blockquote { border-left: 4px solid var(--lb-accent); border-radius: 12px; background: var(--lb-soft); }

/* ───────── Auth (login / register / forgot) ───────── */
.lb-site .singUp-area { background: linear-gradient(180deg, var(--lb-soft), #fff 70%); }
.lb-site .singUp-wrap {
    background: #fff; border: 0; border-radius: 24px; box-shadow: 0 24px 60px rgba(15, 23, 42, .1); padding: 44px 48px 48px;
}
.lb-site .singUp-wrap .title { font-weight: 800; }
.lb-site .account__social-btn { border-radius: 50px; border: 1px solid var(--lb-border); }
.lb-site .account__switch a, .lb-site .account__check-forgot a { color: var(--lb-accent); font-weight: 600; }
.lb-site .singUp-wrap .btn { width: 100%; justify-content: center; }
@media (max-width: 575px) { .lb-site .singUp-wrap { padding: 30px 22px; } }

/* ───────── Cart / checkout ───────── */
.lb-site .cart__table, .lb-site .table { border-radius: 18px; overflow: hidden; box-shadow: var(--lb-shadow); border: 1px solid var(--lb-border); background: #fff; }
.lb-site .cart__table thead th, .lb-site .table thead th { background: #f8fafc; font-weight: 700; border-bottom: 1px solid var(--lb-border); }
.lb-site .product__thumb img { border-radius: 10px; }
.lb-site .cart__collaterals-wrap { padding: 30px; }
.lb-site .wsus__single_payment { border-radius: 14px; overflow: hidden; border: 1px solid var(--lb-border); transition: border-color .2s, box-shadow .2s; }
.lb-site .wsus__single_payment:hover { border-color: var(--lb-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lb-accent) 14%, transparent); }

/* ───────── Instructor profile / about ───────── */
.lb-site .instructor__details-thumb img { border-radius: 22px; }
.lb-site .instructor__details-social a, .lb-site .instructor__social a { border-radius: 50%; }
.lb-site .instructor__details-social a:hover, .lb-site .instructor__social a:hover { background: var(--lb-accent); color: #fff; }
.lb-site .faq__wrap .accordion-button:not(.collapsed) { color: var(--lb-accent); }

/* Older theme sections painted in the theme's navy are switched to the homepage's dark slate. */
.lb-site :is(.features__area, .features__area-two, .fact__area) { background-color: #0f172a !important; }

/* The shared footer follows the page content directly. */
.lb-site .main-area + .lb-type-footer, .lb-site .lb-type-footer { margin-top: 0; }

/* ───────── Page-specific touch-ups ───────── */
.lb-page-hero + .all-courses-area { margin-top: 0 !important; padding-top: 80px; }
.lb-site .account__divider span { background: #fff; }

.lb-site .contact-info-wrap .list-wrap li {
    background: #fff; border: 1px solid var(--lb-border); border-radius: 18px; box-shadow: var(--lb-shadow);
}

.lb-site .instructor__details-info {
    background: linear-gradient(135deg, var(--lb-accent), color-mix(in srgb, var(--lb-accent) 45%, #0b1220));
    border-radius: 22px; box-shadow: var(--lb-shadow);
}
.lb-site .instructor__details-thumb img { border: 6px solid rgba(255, 255, 255, .15); }

/* About page */
.lb-site .brand-area { background: #0f172a !important; }
.lb-site .section__title .title span:not(.svg-icon) { background: none !important; padding: 0; }
.lb-site .section__title.white-title .sub-title { background: rgba(255, 255, 255, .14); color: #fff; }
.lb-site .newsletter__area { background: linear-gradient(135deg, var(--lb-accent), color-mix(in srgb, var(--lb-accent) 45%, #0b1220)) !important; }
.lb-site .newsletter__form input { background: rgba(255, 255, 255, .14) !important; border: 1px solid rgba(255, 255, 255, .3) !important; color: #fff; border-radius: 50px; }
.lb-site .newsletter__form input::placeholder { color: rgba(255, 255, 255, .75); }
.lb-site .newsletter__form .btn { background: #fff !important; color: var(--lb-accent) !important; }
.lb-site .newsletter__shape { opacity: .35; }

/* Empty states */
.lb-site .lb-empty-actions { margin-top: 22px; }
