/**
 * Filament admin panel — dashboard layout overrides
 * Loaded via AdminPanelProvider
 */

/* Be Vietnam Pro — same as public/css/style.css (home page) */
@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('../../fonts/BeVietnamPro-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('../../fonts/BeVietnamPro-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('../../fonts/BeVietnamPro-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('../../fonts/BeVietnamPro-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

.fi-body,
.fi-sidebar,
.fi-topbar,
.fi-main,
.fi-modal,
.dashboard-main,
.dashboard-main * {
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

/* Sidebar */
.fi-sidebar {
    background-color: #f8faff !important;
}

.fi-sidebar-header,
.fi-sidebar-nav {
    background-color: transparent;
}

/* Main content area (right side) */
.fi-main {
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #d6e4ff 40%,
        #cfdfff 48%,
        #ffffff 100%
    ) !important;
}

.fi-main-ctn {
    background: transparent;
}

/* Dashboard page */
.fi-dashboard-page {
    background: transparent;
}

/* ============================================
   Product Form — Scoped Styles
   All selectors scoped under .fp-wrapper
   ============================================ */
/* Main container */
.fp-wrapper {
    background: #ffffff;
    border-radius: 8px;
    padding: 0;
}

/* ── Input fields ── */
.fp-wrapper input[type="text"],
.fp-wrapper input[type="number"],
.fp-wrapper input[type="email"],
.fp-wrapper input[type="url"],
.fp-wrapper textarea,
.fp-wrapper select {
    color: #474747 !important;
    border-radius: 6px !important;
    width: 100%;
    padding: 5px 10px;
}

/* Placeholder */
.fp-wrapper input::placeholder,
.fp-wrapper textarea::placeholder {
    color: #C0C0C0 !important;
    opacity: 1;
}

/* ── Labels ── */
.fp-wrapper label {
    color: #C0C0C0 !important;
    font-size: 14px;
}

/* ── Amount row ── */
.fp-amount-row {
    position: relative;
}

.fp-amount-row .fp-fixed-label {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #C0C0C0;
    font-size: 14px;
    pointer-events: none;
}

/* ── Cart Recovery row ── */
.fp-cart-recovery-row {
    position: relative;
}

.fp-cart-recovery-row .fp-enable-label {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #C0C0C0;
    font-size: 14px;
    pointer-events: none;
}

/* ── Upload Products section ── */
.fp-upload-section > div {
    background: #EDF5FF !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 16px !important;
}

/* ── Or divider ── */
.fp-or-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #000000;
    font-size: 14px;
    margin: 8px 0;
}

.fp-or-divider::before,
.fp-or-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #000000B0;
}

/* ── RichEditor scrollbar fix ── */
.fp-wrapper .fp-description .ProseMirror,
.fp-wrapper .fp-terms .ProseMirror,
.fp-wrapper .fp-description [contenteditable],
.fp-wrapper .fp-terms [contenteditable] {
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
}

.fp-wrapper .fp-description .tiptap,
.fp-wrapper .fp-terms .tiptap {
    max-height: none !important;
    overflow: visible !important;
}

/* ── RichEditor border ── */
.fp-wrapper .fp-description,
.fp-wrapper .fp-terms {
    border: 1.09px solid #C0C0C0 !important;
    border-radius: 6px !important;
}

/* ── Create / Cancel buttons ── */
[class*="fp-btn-create"] {
    background: #0059FF !important;
    color: #fff !important;
    border-radius: 6px !important;
}

[class*="fp-btn-cancel"] {
    background: #FF0000!important;
    color: #fff !important;
    border-radius: 6px !important;
}

.fp-wrapper .fi-input {
    color: #C0C0C0 !important;
}
.fp-wrapper .fi-input::placeholder {
    color: #C0C0C0 !important;
    opacity: 1;
}

.fp-fixed-btn {
    color: #C0C0C0;
    border: 1.09px solid #C0C0C0;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 13px;
    white-space: nowrap;
    cursor: pointer;
}
.fp-enable-btn {
    color: #C0C0C0;
    border: 1.09px solid #C0C0C0;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 13px;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.2s ease;
}

.fp-enable-btn.active {
    background: #0059FF !important;
    border-color: #0059FF !important;
    color: #fff !important;
}

/* ── Preview Wrapper ── */
.fp-preview-wrapper {
    width: 100%;
}

/* ── Tabs ── */
.fp-preview-tabs {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fp-tab {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: background 0.2s;
}


.fp-tab.fp-tab-active {
    background: #0059FF3B;
    color: #0059FF;
}

.fp-tab:hover {
    background: #0059FF1A;
    color: #0059FF;
}

.fp-tab svg {
    display: block;
    color: #000000;
}

/* ── Preview Card ── */
.fp-preview-card {
    background: #0059FF12;
    border-radius: 12px;
    padding: 16px;
    transition: max-width 0.3s ease;
    width: 100%;
}

.fp-preview-card.fp-mobile {
    max-width: 320px;
    margin: 0 auto;
}

/* ── Image ── */
.fp-preview-image-wrap {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px;
    min-height: 180px;
    background: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fp-preview-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

#fp-preview-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

/* ── Title ── */
.fp-preview-title {
    font-weight: 700;
    font-size: 16px;
    color: #1e293b;
    margin-bottom: 10px;
}

/* ── Links ── */
.fp-preview-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.fp-preview-links span {
    font-weight: 600;
    font-size: 20px;
    color: #1e293b;
    cursor: pointer;
}

/* ── CTA Button ── */
.fp-preview-cta {
    background: #0059FF;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px;
    width: 100%;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

/* ── Gallery count badge inside upload field ── */
.fp-gallery-upload .fp-gallery-count-badge {
    font-size: 13px;
    color: #0059FF;
    font-weight: 600;
    padding: 6px 0 2px 0;
}

/* ── Gallery count in preview section ── */
#fp-preview-gallery-count {
    font-size: 13px;
    color: #1e293b;
    font-weight: 500;
    margin-top: 12px;
    padding: 8px 12px;
    background: #0059FF1A;
    border-radius: 6px;
    text-align: center;
}
/* ── Gallery Preview Grid ── */
#fp-preview-gallery {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.fp-gallery-item {
    width: calc(33% - 10px);
}

.fp-gallery-item img {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.fp-gallery-item span {
    font-size: 11px;
    color: #1e293b;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* ── Preview Description ── */
#fp-preview-desc {
    font-size: 16px;
    color: #1e293b;
    margin-bottom: 12px;
    line-height: 1.5;
}

.fp-gallery-item {
    position: relative;
}

.fp-gallery-delete {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    color: white;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.fp-gallery-delete:hover {
    background: red;
}

.fp-gallery-label {
    display: block;
    text-align: center;
    font-size: 11px;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fp-upload-section .fi-section-content {
    padding: 0 !important;
}

.fp-upload-section {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}

.fp-upload-section.fi-section {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.fp-upload-section .fi-section-content-ctn {
    border-top: none !important;
}

.fp-left-col .fi-section-content {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.fp-left-col .fi-fo-component-ctn {
    gap: 16px !important;
}

.fp-upload-section .fi-fo-component-ctn {
    gap: 12px !important;
}

.fp-description {
    margin-top: 0 !important;
}

#fp-preview-desc {
    font-size: 13px;
    color: #475569;
    margin-top: 6px;
    margin-bottom: 12px;
    line-height: 1.5;
}

.fp-preview-links span {
    font-size: 13px;
    font-weight: 500;
    color: #1e293b;
    display: block;
    margin-bottom: 2px;
}

#fp-preview-terms {
    font-size: 20px;
    color: #475569;
    margin-bottom: 8px;
    line-height: 1.5;
}
.fp-cart-recovery-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fp-cart-recovery-label {
    font-size: 14px;
    font-weight: 500;
    color: #1e293b;
}
.fi-fo-rich-editor-toolbar .flex {
    flex-wrap: wrap !important;
}
[data-trix-button-group="history-tools"] {
    order: -1;
}
#data\.settings .fi-section-content {
    padding: 0 !important;
}

#data\.settings .fi-section-content-ctn {
    border-top: none !important;
}

#data\.settings {
    box-shadow: none !important;
    background: transparent !important;
    border: none !important;
    ring: none !important;
}
#data\.settings .fi-section-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.fp-gallery-upload .filepond--item,
.fp-image-upload .filepond--item {
    height: 54px !important;
}

.fp-gallery-upload .filepond--image-preview-wrapper,
.fp-gallery-upload .filepond--image-preview-overlay,
.fp-gallery-upload .filepond--image-preview,
.fp-gallery-upload .filepond--image-clip,
.fp-image-upload .filepond--image-preview-wrapper,
.fp-image-upload .filepond--image-preview-overlay,
.fp-image-upload .filepond--image-preview,
.fp-image-upload .filepond--image-clip {
    display: none !important;
    height: 0 !important;
}

.fp-gallery-upload .filepond--panel-center.filepond--item-panel,
.fp-image-upload .filepond--panel-center.filepond--item-panel {
    transform: none !important;
}
.fp-right-col .fi-section-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.fp-preview-wrapper {
    display: flex;
    flex-direction: column;
}

.fp-preview-tabs {
    position: absolute;
    top: 16px;
    right: 16px;
}

.fp-right-col .fi-section-header {
    position: relative;
}
.fp-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
a.fp-add-new-digital-product,
a.fp-add-new-digital-product.fi-btn {
    background-color: #0059FF !important;
    font-weight: 400 !important;
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 20px !important;
    transition: background-color 0.2s ease !important;
    padding: 8px 26px !important;
}

a.fp-add-new-digital-product:hover,
a.fp-add-new-digital-product.fi-btn:hover {
    background-color: #0047cc !important;
}

/* ── Course Preview ── */
.fc-preview-card {
    background: #f0f4ff;
    border-radius: 12px;
    padding: 0 0 16px 0;
    overflow: hidden;
}

.fc-preview-image-wrap {
    position: relative;
    width: 100%;
    margin-bottom: 12px;
}

.fc-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.fc-preview-title {
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
    padding: 0 16px;
    margin-bottom: 6px;
}

.fc-preview-desc {
    font-size: 13px;
    color: #475569;
    padding: 0 16px;
    margin-bottom: 16px;
    line-height: 1.5;
}

.fc-preview-cta {
    display: block;
    width: calc(100% - 32px);
    margin: 0 16px;
    padding: 12px;
    background: #0059FF;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
}

.fc-preview-cta:hover {
    background: #0047cc;
}

.fc-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.fc-modal {
    background: white;
    border-radius: 12px;
    padding: 24px;
    width: 90%;
    max-width: 400px;
    position: relative;
}

.fc-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #64748b;
}

.fc-modal-content h3 {
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 8px;
}

.fc-modal-content p {
    font-size: 14px;
    color: #475569;
}

.fc-trix-wrap trix-toolbar {
    border: 1px solid #C0C0C0 !important;
    border-bottom: none !important;
    border-radius: 8px 8px 0 0 !important;
    overflow: visible !important;
    padding: 0 3px !important;
}

.fc-trix-wrap trix-toolbar .trix-button-group {
    overflow: visible !important;
    flex-wrap: wrap !important;
}

.fc-trix-wrap trix-toolbar .trix-button-row {
    flex-wrap: wrap !important;
    overflow: visible !important;
    padding: 5px 0px;
}
.fc-trix-wrap trix-toolbar .trix-button-group:not(:first-child){
    margin:0 !important;
    height: fit-content;
}

.fi-resource-courses .fc-image-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px 16px;
    color: #94a3b8;
    font-size: 13px;
    background: #EDF5FF;
    border-radius: 8px;
    width: 100%;
}

.fi-resource-courses .fi-form-actions .fi-ac button:nth-child(1) {
    background: #0059FF !important;
    color: #fff !important;
}

.fi-resource-courses .fi-form-actions .fi-ac button:nth-child(2):hover {
    background: #0059FF !important;
    color: #fff !important;
}

.fi-resource-courses .fi-form-actions .fi-ac button:nth-child(3) {
    background: #FF0000 !important;
    color:#FFF;
}

.fi-resource-courses .fi-form-actions .fi-ac button:nth-child(3):hover {
    background: #FF0000 !important;
    color: #fff !important;
}

/* ============================================
   Session 1:1 Form — Scoped Styles (sp-)
   ============================================ */

.sp-wrapper {
    background: #ffffff;
    border-radius: 8px;
    padding: 0;
}

.sp-wrapper input[type="text"],
.sp-wrapper input[type="number"],
.sp-wrapper input[type="url"],
.sp-wrapper textarea,
.sp-wrapper select {
    color: #474747 !important;
    border-radius: 6px !important;
    width: 100%;
    padding: 5px 10px;
}

.sp-wrapper input::placeholder,
.sp-wrapper textarea::placeholder {
    color: #C0C0C0 !important;
    opacity: 1;
}

.sp-wrapper label {
    color: #C0C0C0 !important;
    font-size: 14px;
}

/* ── Left col spacing ── */
.sp-left-col .fi-section-content {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.sp-left-col .fi-fo-component-ctn {
    gap: 16px !important;
}

/* ── RichEditor ── */
.sp-wrapper .sp-description {
    border: 1.09px solid #C0C0C0 !important;
    border-radius: 6px !important;
}

.sp-wrapper .sp-description .ProseMirror,
.sp-wrapper .sp-description [contenteditable] {
    max-height: none !important;
    overflow: visible !important;
}

/* ── Preview header ── */
.sp-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.sp-right-col .fi-section-header {
    position: relative;
}

/* ── Tabs ── */
.sp-preview-tabs {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sp-tab {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: background 0.2s;
}

.sp-tab.sp-tab-active {
    background: #0059FF3B;
    color: #0059FF;
}

.sp-tab:hover {
    background: #0059FF1A;
    color: #0059FF;
}

.sp-tab svg {
    display: block;
    color: #000000;
}

/* ── Preview Card ── */
.sp-preview-card {
    background: #0059FF12;
    border-radius: 12px;
    overflow: hidden;
    transition: max-width 0.3s ease;
    width: 100%;
}

.sp-preview-card.sp-mobile {
    max-width: 320px;
    margin: 0 auto;
}

/* ── Banner image ── */
.sp-preview-image-wrap {
    width: 100%;
    margin-bottom: 0;
    min-height: 180px;
    background: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#sp-preview-image-placeholder {
    color: #94a3b8;
    font-size: 13px;
}

#sp-preview-image {
    width: 100%;
    height: auto;
    display: block;
}

/* ── Card content padding ── */
.sp-preview-card .sp-preview-title,
.sp-preview-card .sp-preview-desc,
.sp-preview-card .sp-preview-cta {
    padding-left: 16px;
    padding-right: 16px;
}

/* ── Title ── */
.sp-preview-title {
    font-weight: 700;
    font-size: 16px;
    color: #1e293b;
    margin-top: 12px;
    margin-bottom: 6px;
}

/* ── Description ── */
#sp-preview-desc {
    font-size: 13px;
    color: #475569;
    margin-bottom: 16px;
    line-height: 1.5;
}

.sp-preview-cta {
    display: block;
    width: calc(50% - 32px);
    margin: 0 16px 16px 16px;
    padding: 12px;
    background: #0059FF;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 400;
    cursor: pointer;
    text-align: center;
    font-family:'Be Vietnam Pro'
}

.sp-preview-cta:hover {
    background: #0047cc;
}

.sp-preview-cta {
    display: block;
    width: calc(50% - 32px);
    margin: 0 16px 16px 16px;
    padding: 12px;
    background: #0059FF;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 400;
    cursor: pointer;
    text-align: center;
    font-family:'Be Vietnam Pro'
}

.fi-resource-session-one-to-one .fi-form-actions .fi-ac button:nth-child(1) {
    background: #0059FF !important;
    color: #fff !important;
    font-weight:400;
    border:1px solid #0059FF;
}
.fi-resource-session-one-to-one .fi-form-actions .fi-ac button:nth-child(1):hover{
    background:#FFFFFF !important;
    border:1px solid #0059FF;
    color: #1e293b !important;
}

.fi-resource-session-one-to-one .fi-form-actions .fi-ac button:nth-child(2){
    font-weight:400;
}
.fi-resource-session-one-to-one .fi-form-actions .fi-ac button:nth-child(2):hover{
    background: #0059FF !important;
    color: #fff !important;
}

.fi-resource-session-one-to-one .fi-form-actions .fi-ac button:nth-child(3) {
    background: #FF0000 !important;
    color: #fff !important;
    font-weight:400;
}

/* ====================== Dashboard Styles for sidebar =================================== */
/* Sub menu dots/line hide karo */
.fi-sidebar-item .fi-sidebar-item-button .fi-sidebar-item-icon {
    display: flex !important;
}

/* Default bullet/dot hide karo */
.fi-sidebar-group .fi-sidebar-item::before {
    display: none !important;
}

/* Sub menu left border/line hide karo */
.fi-sidebar-group .fi-sidebar-items {
    border-left: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
/* Dot aur line hide karo */
.fi-sidebar-item-grouped-border {
    display: none !important;
}

/* Icon hamesha show karo (sidebar open ho ya closed) */
.fi-sidebar-sub-group-items .fi-sidebar-item-icon {
    display: block !important;
}
.fi-sidebar-sub-group-items {
    padding-left: 12px !important;
}
.fi-sidebar-item > a[href*="/admin/services"] .fi-sidebar-item-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.fi-sidebar-item > a[href*="/admin/services"] .fi-sidebar-item-label::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    min-width: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='3' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: auto !important;
    transition: transform 0.3s ease !important;
}
/* Language switcher */
#admin-locale-form select {
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 4px 24px 4px 8px !important;
    font-size: 13px !important;
    color: #475569 !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
}

#admin-locale-form select:focus {
    outline: none !important;
    border-color: #0059FF !important;
    box-shadow: 0 0 0 2px #0059FF1A !important;
}

.fi-topbar #admin-locale-form select {
    background-color: #ffffff !important;
}
.fi-main-ctn .fi-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
}