/* OneDigitalite: compact inner-page header (breadcrumb.php) + student area skin (My courses, wishlist,
   purchase history, profile, credentials, messages, surveys). Loaded site-wide after the theme CSS. */

/* ---- compact page header ---- */
.odb { background: linear-gradient(180deg, #F1EEFF 0, #F6F5FC 100%); border-bottom: 1px solid #ECEAF7; padding: 26px 0 24px; }
.odb-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: #6B6987; margin-bottom: 6px; }
.odb-crumbs a { color: #5B3CF5; font-weight: 600; text-decoration: none; }
.odb h1 { font-size: clamp(24px, 3vw, 32px); font-weight: 800; color: #0E0B33; margin: 0; letter-spacing: -.01em; }
.odb p { margin: 4px 0 0; color: #6B6987; }

/* ---- student area shell ---- */
.wish-list-body { padding: 28px 0 70px !important; background: #F6F5FC; }
.wish-list-search { background: #fff; border: 1px solid #E7E6F2; border-radius: 18px; padding: 18px 14px; margin-bottom: 20px !important; box-shadow: 0 18px 40px -34px rgba(14,11,51,.5); }
.student-profile-info { text-align: center; padding: 6px 0 14px; border-bottom: 1px solid #F0EFF7; margin-bottom: 10px; }
.student-profile-info .profile-image { width: 72px !important; height: 72px !important; border-radius: 50% !important; object-fit: cover; border: 3px solid #F1EEFF; }
.student-profile-info h4 { font-size: 16px !important; font-weight: 800 !important; color: #0E0B33 !important; margin: 10px 0 2px !important; }
.student-profile-info span { font-size: 12.5px; color: #8A88A6; word-break: break-all; }
.btn-profile-menu { display: flex !important; align-items: center; gap: 10px; padding: 10px 12px !important; margin: 2px 0 !important; border-radius: 10px !important; color: #3D3B5C !important; font-weight: 600 !important; font-size: 14px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.btn-profile-menu:hover { background: #F6F5FC !important; color: #0E0B33 !important; }
.btn-profile-menu.active { background: #F1EEFF !important; color: #5B3CF5 !important; }
.btn-profile-menu i, .btn-profile-menu svg { width: 18px; text-align: center; color: inherit !important; }

/* cards used by the theme's student pages */
.common-card, .my-course-1-full-body, .profile-ful-body, .purchase-body, .conversation-fulllll-body { background: #fff !important; border: 1px solid #E7E6F2 !important; border-radius: 18px !important; box-shadow: 0 18px 40px -34px rgba(14,11,51,.5) !important; }
.profile-ful-body .form-control, .wish-list-body .form-control { border-radius: 10px !important; border-color: #E1DFEE !important; min-height: 44px; }
.profile-ful-body .form-control:focus, .wish-list-body .form-control:focus { border-color: #5B3CF5 !important; box-shadow: 0 0 0 4px rgba(91,60,245,.12) !important; }
.wish-list-body .btn-primary { background: #5B3CF5 !important; border-color: #5B3CF5 !important; border-radius: 10px !important; font-weight: 700; }
.purchase-body .table thead th, .purchase-body .table-head th { background: #F6F5FC !important; color: #6B6987 !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .05em; border: 0 !important; }
.purchase-body .table td { vertical-align: middle; border-color: #F0EFF7 !important; }

/* ---- My courses ---- */
.osa-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.osa-stats > div { background: #fff; border: 1px solid #E7E6F2; border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; }
.osa-stats b { font-size: 24px; font-weight: 800; color: #0E0B33; line-height: 1.1; }
.osa-stats span { font-size: 12.5px; color: #6B6987; font-weight: 600; }
.osa-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.osa-filter button { height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid #E7E6F2; background: #fff; color: #3D3B5C; font-weight: 700; font-size: 13px; }
.osa-filter button.is-active { background: #0E0B33; border-color: #0E0B33; color: #fff; }
.osa-list { display: flex; flex-direction: column; gap: 14px; }
.osa-card { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; gap: 18px; align-items: center; background: #fff; border: 1px solid #E7E6F2; border-radius: 18px; padding: 14px; transition: border-color .2s, box-shadow .2s; }
.osa-card:hover { border-color: #D9D3FA; box-shadow: 0 14px 30px -22px rgba(14,11,51,.45); }
.osa-thumb { display: block; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #F6F5FC; }
.osa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.osa-body { min-width: 0; }
.osa-state { display: inline-block; font-size: 11.5px; font-weight: 800; letter-spacing: .03em; padding: 3px 9px; border-radius: 999px; margin-bottom: 6px; }
.osa-state.is-progress { background: #F1EEFF; color: #5B3CF5; }
.osa-state.is-new { background: #F1F5F9; color: #475569; }
.osa-state.is-completed { background: #E3F6EC; color: #0B6B3A; }
.osa-state.is-expired { background: #FFF0F3; color: #B4183A; }
.osa-body h3 { font-size: 16.5px; font-weight: 800; line-height: 1.35; margin: 0 0 4px; }
.osa-body h3 a { color: #0E0B33; text-decoration: none; }
.osa-body h3 a:hover { color: #5B3CF5; }
.osa-meta { font-size: 13px; color: #6B6987; margin: 0 0 10px; }
.osa-prog { display: flex; align-items: center; gap: 10px; max-width: 420px; }
.osa-bar { flex: 1; height: 8px; border-radius: 999px; background: #ECEAF7; overflow: hidden; }
.osa-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5B3CF5, #8B6CFF); }
.osa-card[data-state="completed"] .osa-bar i { background: #0E9F6E; }
.osa-prog span { font-size: 13px; font-weight: 800; color: #0E0B33; min-width: 38px; }
.osa-access { font-size: 12px; color: #8A88A6; margin: 8px 0 0; }
.osa-actions { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 170px; }
.osa-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 42px; padding: 0 18px; border-radius: 11px; background: #5B3CF5; color: #fff !important; font-weight: 800; font-size: 14px; text-decoration: none; box-shadow: 0 10px 20px -12px rgba(91,60,245,.8); }
.osa-btn:hover { background: #4A2FE0; }
.osa-btn.is-gold { background: #FFF1D6; color: #7A4A00 !important; box-shadow: none; }
.osa-btn.is-ghost { background: #F1EEFF; color: #5B3CF5 !important; box-shadow: none; }
.osa-link { text-align: center; font-size: 13px; font-weight: 600; color: #6B6987; text-decoration: none; }
.osa-link:hover { color: #5B3CF5; }
.osa-empty { background: #fff; border: 1px solid #E7E6F2; border-radius: 20px; text-align: center; padding: 48px 24px; }
.osa-empty-ico { font-size: 40px; margin-bottom: 8px; }
.osa-empty h2 { font-size: 20px; font-weight: 800; color: #0E0B33; }
.osa-empty p { color: #6B6987; }
@media (max-width: 991px) {
  .osa-card { grid-template-columns: 150px minmax(0, 1fr); }
  .osa-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; min-width: 0; }
  .osa-actions .osa-btn { flex: 1; }
}
@media (max-width: 575px) {
  .osa-card { grid-template-columns: 1fr; }
  .osa-stats b { font-size: 20px; }
}
.wish-list-body .wish-list-search { margin-top: 0 !important; }
.student-profile-info { margin-top: 0 !important; padding-top: 4px !important; } .wish-list-search > .row { margin-top: 0 !important; }
/* refund request (purchase history) */
.orq summary { list-style: none; cursor: pointer; display: inline-flex; padding: 6px 12px; border-radius: 8px; border: 1px solid #E7E6F2; font-size: 13px; font-weight: 700; color: #5B3CF5; background: #fff; }
.orq summary::-webkit-details-marker { display: none; }
.orq[open] summary { background: #F1EEFF; }
.orq form { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.orq textarea { width: 100%; min-width: 200px; border: 1px solid #E1DFEE; border-radius: 10px; padding: 8px 10px; font-size: 13px; }
.orq button { align-self: flex-start; border: 0; border-radius: 8px; background: #0E0B33; color: #fff; padding: 6px 12px; font-size: 13px; font-weight: 700; }

/* Blog + instructor profile cards: the theme pins card images to 261px, which crops them in a grid */
.blog-body .courses-card .courses-card-body .courses-card-image,
.instructor-1 .courses-card .courses-card-body .courses-card-image { width: 100%; flex: none; }
.blog-body .courses-card-image img,
.instructor-1 .courses-card-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.blog-body .courses-card-image .courses-card-image { width: 100%; }
.blog-body .courses-card-image, .instructor-1 .courses-card-image { height: auto !important; min-height: 0 !important; line-height: 0; }
.blog-body .courses-card-image img, .instructor-1 .courses-card-image img { height: auto !important; }
/* instructor sidebar: hide the contact card when there is nothing public to show */
.instructor-right .instructon-contact:not(:has(a, .instructon-icon)) { display: none; }
.blog-body .courses-card-image, .instructor-1 .courses-card-image { aspect-ratio: auto !important; }
