/**
 * Courses listing (all) – card alignment, truncate, tooltip, price & filter
 */

/* Card alignment – grid item & card full height, body flex agar Learn More sejajar */
.rbt-course-grid-column .course-grid-3 {
    display: flex;
}

.rbt-course-grid-column .course-grid-3 .rbt-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.rbt-course-grid-column .course-grid-3 .rbt-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.rbt-course-grid-column .course-grid-3 .rbt-card-body .rbt-card-bottom {
    margin-top: auto;
    flex-shrink: 0;
}

/* Nama kelas: 1 baris + ellipsis; saat hover tampil full di tempat yang sama (area judul) */
.rbt-course-grid-column .rbt-card-title {
    margin-bottom: 8px;
    min-height: 1.5em;
    line-height: 1.5;
}

.rbt-course-grid-column .rbt-card-title .rbt-card-title-link {
    display: block;
}

.rbt-course-grid-column .rbt-card-title .rbt-card-title-visual {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rbt-course-grid-column .rbt-card-title .rbt-card-title-link:hover .rbt-card-title-visual {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

/* Mentor & kategori: tidak melebihi card, 1 baris + ellipsis; saat hover tampil full di tempat yang sama */
.rbt-course-grid-column .rbt-author-meta {
    min-width: 0;
}

.rbt-course-grid-column .rbt-author-info {
    min-width: 0;
    overflow: hidden;
}

.rbt-course-grid-column .rbt-author-info-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rbt-course-grid-column .rbt-author-info-text a {
    pointer-events: auto;
}

.rbt-course-grid-column .rbt-author-info:hover .rbt-author-info-text,
.rbt-course-grid-column .rbt-author-info-text:hover {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.rbt-course-grid-column .rbt-author-info:hover {
    overflow: visible;
}

/* Price style – kotak diskon (bg pink muda, border) + harga coret di samping */
.rbt-price-coupon-style {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    margin-right: 2px;
    margin-bottom: 5px;
}

.rbt-price-coupon-style .rbt-price-coupon-box {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    height: 20px;
    padding: 2px 4px;
    margin-right: 4px;
    border-radius: 5px;
    background: rgb(255, 245, 246);
    border: 1px solid rgb(255, 178, 194);
    flex-shrink: 0;
}

.rbt-price-coupon-style .rbt-price-coupon-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    background: rgb(249, 77, 99);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 5px;
    flex-shrink: 0;
}

.rbt-price-coupon-style .rbt-price-coupon-box .current-price {
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.1px;
    color: rgb(249, 77, 99);
}

.rbt-price-coupon-style .rbt-price-coupon-box .current-price .currency {
    font-weight: 800;
}

.rbt-price-coupon-style .rbt-price-coupon-box .current-price .amount {
    font-weight: 800;
}

.rbt-price-coupon-style .off-price {
    display: flex;
    align-items: center;
    overflow: hidden;
    font-size: 14px;
    font-weight: 400;
    color: #9e9e9e;
    text-decoration: line-through;
}

.rbt-price-coupon-style>.current-price {
    font-size: 14px;
    font-weight: 700;
    color: rgb(249, 77, 99);
}

/* Filter section – header line & expand/collapse */
.rbt-filter-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 2px 0 8px 0;
    user-select: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    width: 100%;
}

.rbt-filter-section .rbt-widget-title {
    border-bottom: none;
}

.rbt-filter-section-header:hover {
    opacity: 0.85;
}

.rbt-filter-caret {
    display: inline-flex;
    transition: transform 0.2s ease;
    color: currentColor;
}

.rbt-filter-section.collapsed .rbt-filter-caret {
    transform: rotate(-90deg);
}

.rbt-filter-section-body {
    overflow: hidden;
    max-height: 600px;
    margin-top: 12px;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        margin-top 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.rbt-filter-section.collapsed .rbt-filter-section-body {
    max-height: 0 !important;
    margin-top: 0;
}

/* Premium / Free tier badge (thumbnail top-right) */
.rbt-card-img,
.ls-detail-thumb-wrap {
    position: relative;
}

.ls-tier-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.ls-tier-badge--premium {
    background: linear-gradient(135deg, #c9a227 0%, #f5e6a3 45%, #c9a227 100%);
}

.ls-tier-badge--free {
    background: #22c55e;
}

/* Diskon — pojok kiri atas thumbnail (bersamaan dengan Premium/Free di kanan) */
.ls-diskon-thumb-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    background: #fff;
    color: rgb(249, 77, 99);
    border: 1px solid rgb(255, 178, 194);
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.ls-price-free-label {
    color: #16a34a !important;
    font-weight: 800;
    font-size: 1rem;
}

/* --------------------------------------------------------------------------
   Cart breadcrumb — header Histudy pakai position:absolute (transparent),
   jadi konten “Cart” harus punya padding-top = tinggi header + jarak napak
   (hanya clamp rem tidak cukup karena bagian atas tertutup header).
   -------------------------------------------------------------------------- */
.rbt-breadcrumb-default.ls-cart-breadcrumb-area {
    position: relative;
    z-index: 0;
    /* ~88px header + 5.5rem (~88px) ruang napak = mirip Histudy cart */
    padding-top: calc(5.5rem + 88px) !important;
    padding-bottom: 6rem !important;
}

@media only screen and (max-width: 991px) {
    .rbt-breadcrumb-default.ls-cart-breadcrumb-area {
        padding-top: calc(4.5rem + 76px) !important;
        padding-bottom: 4.5rem !important;
    }
}

@media only screen and (max-width: 575px) {
    .rbt-breadcrumb-default.ls-cart-breadcrumb-area {
        padding-top: calc(4rem + 64px) !important;
        padding-bottom: 3.5rem !important;
    }
}

/* Judul + breadcrumb sedikit lebih “napak” di dalam banner */
.rbt-breadcrumb-default.ls-cart-breadcrumb-area .breadcrumb-inner {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.rbt-breadcrumb-default.ls-cart-breadcrumb-area .breadcrumb-inner .title {
    margin-top: 0;
    margin-bottom: 0.75rem;
}

/* Cart table - Histudy style adjustments */
.ls-cart-histudy-table .ls-cart-item-thumb {
    width: 76px;
    height: 76px;
    object-fit: cover;
    border-radius: 10px;
}

.ls-cart-histudy-table tbody tr th,
.ls-cart-histudy-table tbody tr td {
    vertical-align: middle;
}

.ls-cart-histudy-table .rbt-button-group .rbt-btn {
    min-width: auto;
}

/* Cart shipping: Histudy checkout.html pattern (checkout-payment-method + single-method) */
.calculate-shipping .ls-cart-shipping-seller-block:last-child {
    margin-bottom: 0 !important;
}

.calculate-shipping .checkout-payment-method .single-method .ls-shipping-rate-meta {
    margin-top: 8px;
    padding-left: 28px;
}

/* Checkout – address read-only block (Histudy card) */
.checkout_area .checkout-payment-method.ls-checkout-address-box .b3 {
    color: var(--color-body);
}

/* Checkout — Ringkasan pesanan: flex (bukan float). Theme .checkout-cart-total ul li { display:block } harus di-override. */
.checkout_area .checkout-cart-total.ls-checkout-cart-total ul.ls-checkout-product-list > li.ls-checkout-line-item {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    float: none !important;
    clear: both;
    margin-bottom: 0 !important;
    padding: 12px 0;
    border-bottom: 1px solid var(--color-border);
}

.checkout_area .checkout-cart-total.ls-checkout-cart-total ul.ls-checkout-product-list > li.ls-checkout-line-item:first-child {
    padding-top: 14px;
}

.checkout_area .checkout-cart-total.ls-checkout-cart-total ul.ls-checkout-product-list > li.ls-checkout-line-item:last-child {
    border-bottom: none;
    padding-bottom: 4px;
}

.checkout_area .checkout-cart-total.ls-checkout-cart-total ul li.ls-checkout-line-item > span {
    float: none !important;
}

.checkout_area .checkout-cart-total.ls-checkout-cart-total .ls-checkout-line-name span.text-muted {
    float: none !important;
    display: inline;
}

/* Kolom kanan nominal — lebar sama agar sejajar dengan Sub total / Ongkir */
.checkout_area .ls-checkout-table-head span:last-child,
.checkout_area .ls-checkout-metric-value,
.checkout_area .ls-checkout-grand-value {
    min-width: 7.5rem;
    text-align: right;
}

.ls-checkout-table-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-weight: 700;
    font-size: 15px;
    color: var(--color-heading);
    margin-bottom: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border);
}

.ls-checkout-product-list {
    padding: 0 0 16px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--color-border);
}

.checkout_area .checkout-cart-total .ls-checkout-line-name {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 120px);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--color-body);
    text-align: left;
}

.checkout_area .checkout-cart-total .ls-checkout-line-price {
    flex: 0 0 7.5rem;
    width: 7.5rem;
    min-width: 7.5rem;
    max-width: 7.5rem;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    text-align: right !important;
    white-space: nowrap;
    color: var(--color-heading);
    align-self: flex-start;
}

.ls-checkout-metrics {
    padding-top: 4px;
}

.ls-checkout-metric {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    padding: 11px 0;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-body);
}

.ls-checkout-metric:last-of-type {
    border-bottom: none;
}

.ls-checkout-metric-value {
    text-align: right;
    white-space: nowrap;
    color: var(--color-heading);
}

.ls-checkout-grand-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 0;
    padding-top: 16px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-heading);
    border-top: 1px solid var(--color-border);
}

.ls-checkout-grand-value {
    font-size: 17px;
    font-weight: 700;
    white-space: nowrap;
}