/* SkillsBridge Core — follows Elementor Global Colours; override in SkillsBridge → Settings */
:root{
  --sbc-primary: var(--e-global-color-primary, #0b3d91);
  --sbc-accent: var(--e-global-color-accent, #f5a623);
  --sbc-dark: var(--e-global-color-text, #0f172a);
  --sbc-muted:#64748b; --sbc-line:#e6e8ef; --sbc-soft:#f5f7fb; --sbc-bg:#fff;
  --sbc-radius:16px; --sbc-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(15,23,42,.18);
  --sbc-shadow-lg:0 2px 4px rgba(15,23,42,.05),0 24px 48px -20px rgba(15,23,42,.28);
}
.sbc{color:var(--sbc-dark);font-size:16px;line-height:1.6}
.sbc *,.sbc *::before,.sbc *::after{box-sizing:border-box}
.sbc a{color:inherit}
.sbc-muted{color:var(--sbc-muted)} .sbc-small{font-size:.85em}
.sbc-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sbc-primary)}
.sbc-section-title{margin:56px 0 20px;font-size:clamp(1.4rem,2.5vw,1.9rem)}
.sbc-empty{padding:40px;text-align:center;color:var(--sbc-muted);background:var(--sbc-soft);border-radius:var(--sbc-radius)}
.sbc-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}

/* Buttons */
.sbc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:2px solid var(--sbc-primary);background:var(--sbc-primary);color:#fff!important;font-weight:600;text-decoration:none!important;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;line-height:1.2;font-size:.95rem}
.sbc-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px -10px var(--sbc-primary)}
.sbc-btn--ghost{background:transparent;color:var(--sbc-primary)!important}
.sbc-btn--block{width:100%}
.sbc-link{font-weight:600;color:var(--sbc-primary)!important;text-decoration:none!important}
.sbc-link:hover{text-decoration:underline!important}

/* Grid + cards */
.sbc-grid{display:grid;gap:24px}
.sbc-grid--2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.sbc-grid--3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.sbc-grid--4{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.sbc-card{display:flex;flex-direction:column;background:var(--sbc-bg);border:1px solid var(--sbc-line);border-radius:var(--sbc-radius);overflow:hidden;box-shadow:var(--sbc-shadow);transition:transform .25s,box-shadow .25s}
.sbc-card:hover{transform:translateY(-4px);box-shadow:var(--sbc-shadow-lg)}
.sbc-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--sbc-soft)}
.sbc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sbc-card:hover .sbc-card__media img{transform:scale(1.05)}
.sbc-card__placeholder{position:absolute;inset:0;background:linear-gradient(135deg,var(--sbc-primary),var(--sbc-accent))}
.sbc-card__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.sbc-card__title{margin:0;font-size:1.12rem;line-height:1.35}
.sbc-card__title a{text-decoration:none}
.sbc-card__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--sbc-line);display:flex;justify-content:space-between;align-items:center}
.sbc-meta{margin:0;color:var(--sbc-muted);font-size:.9rem}
.sbc-price{font-weight:700;font-size:1.05rem}
.sbc-date{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;align-items:center;min-width:54px;padding:8px 10px;background:#fff;border-radius:12px;font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--sbc-muted);box-shadow:var(--sbc-shadow)}
.sbc-date strong{font-size:1.45rem;line-height:1;color:var(--sbc-dark)}
.sbc-date--static{position:static}
.sbc-flag{position:absolute;top:14px;right:14px;background:rgba(15,23,42,.8);color:#fff;font-size:.72rem;font-weight:600;padding:6px 10px;border-radius:999px}
.sbc-session-card.is-past .sbc-card__media img{filter:grayscale(.7);opacity:.85}
.sbc-byline{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;text-decoration:none}
.sbc-tick{color:var(--sbc-primary)}

/* Avatars & chips */
.sbc-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--sbc-primary),var(--sbc-accent));color:#fff;font-weight:700}
.sbc-avatar img{width:100%;height:100%;object-fit:cover}
.sbc-avatar--xs{width:28px;height:28px;font-size:.7rem}.sbc-avatar--md{width:56px;height:56px}.sbc-avatar--lg{width:96px;height:96px;font-size:1.6rem;border:4px solid #fff;box-shadow:var(--sbc-shadow)}
.sbc-avatar--xl{width:160px;height:160px;font-size:2.6rem;border:6px solid #fff;box-shadow:var(--sbc-shadow-lg)}
.sbc-chips{display:flex;flex-wrap:wrap;gap:6px}
.sbc-chip,.sbc-verified{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--sbc-soft);color:var(--sbc-dark)}
.sbc-chip--presenter{background:color-mix(in srgb,var(--sbc-primary) 12%,#fff);color:var(--sbc-primary)}
.sbc-chip--tutor{background:#ecfdf5;color:#047857}.sbc-chip--coach{background:#fdf4ff;color:#a21caf}.sbc-chip--student{background:#fff7ed;color:#c2410c}
.sbc-chip--open{background:#dcfce7;color:#166534}
.sbc-verified{background:color-mix(in srgb,var(--sbc-primary) 12%,#fff);color:var(--sbc-primary)}
.sbc-verified svg{width:14px;height:14px;fill:var(--sbc-primary)}
.sbc-tags{display:flex;flex-wrap:wrap;gap:6px}
.sbc-tags span{font-size:.78rem;padding:4px 10px;border:1px solid var(--sbc-line);border-radius:999px;color:var(--sbc-muted)}
.sbc-headline{margin:0;font-weight:500}

.sbc-profile-card .sbc-profile-card__top{display:flex;justify-content:center;padding:28px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--sbc-primary) 10%,#fff) 0 55%,transparent 55%)}
.sbc-profile-card .sbc-card__body{text-align:center;align-items:center}

/* Tabs */
.sbc-tabs__nav{display:inline-flex;gap:4px;padding:5px;background:var(--sbc-soft);border-radius:999px;margin-bottom:24px}
.sbc-tabs__nav button{border:0;background:transparent;padding:10px 20px;border-radius:999px;font-weight:600;cursor:pointer;color:var(--sbc-muted)}
.sbc-tabs__nav button.is-active{background:#fff;color:var(--sbc-dark);box-shadow:var(--sbc-shadow)}

/* Filter bar */
.sbc-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;margin-bottom:28px;background:#fff;border:1px solid var(--sbc-line);border-radius:999px;box-shadow:var(--sbc-shadow)}
.sbc-filter input[type=search]{flex:1 1 240px;border:0;padding:10px 14px;background:transparent;font-size:1rem;outline:0}
.sbc-filter select{border:1px solid var(--sbc-line);border-radius:999px;padding:9px 14px;background:#fff}
@media(max-width:700px){.sbc-filter{border-radius:var(--sbc-radius)}.sbc-filter .sbc-btn{width:100%}}

/* Forms */
.sbc-form{display:flex;flex-direction:column;gap:16px}
.sbc-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem}
.sbc-form input:not([type=checkbox]):not([type=radio]),.sbc-form textarea,.sbc-form select{width:100%;padding:12px 14px;border:1px solid var(--sbc-line);border-radius:12px;background:#fff;font:inherit;font-weight:400;transition:border-color .15s,box-shadow .15s}
.sbc-form input:focus,.sbc-form textarea:focus,.sbc-form select:focus{outline:0;border-color:var(--sbc-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--sbc-primary) 15%,transparent)}
.sbc-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.sbc-form__split{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sbc-form .sbc-check,.sbc-check{flex-direction:row!important;align-items:center;gap:8px;font-weight:500}
.sbc-check--card{padding:14px;border:1px dashed var(--sbc-line);border-radius:12px;align-self:end}
.sbc-types{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.sbc-types legend{font-weight:700;margin-bottom:10px}
.sbc-type{position:relative;cursor:pointer}
.sbc-type input{position:absolute;opacity:0}
.sbc-type span{display:flex;flex-direction:column;gap:2px;padding:14px;border:2px solid var(--sbc-line);border-radius:12px;height:100%;transition:border-color .15s,background .15s}
.sbc-type small{font-weight:400;color:var(--sbc-muted)}
.sbc-type input:checked+span{border-color:var(--sbc-primary);background:color-mix(in srgb,var(--sbc-primary) 6%,#fff)}

.sbc-panel{background:#fff;border:1px solid var(--sbc-line);border-radius:var(--sbc-radius);padding:24px;box-shadow:var(--sbc-shadow);margin-bottom:20px}
.sbc-panel h3{margin-top:0}
.sbc-center{text-align:center}
.sbc-notice{padding:14px 18px;border-radius:12px;margin-bottom:16px;border-left:4px solid #16a34a;background:#f0fdf4}
.sbc-notice--error{border-color:#dc2626;background:#fef2f2}
.sbc-auth{max-width:560px;margin:0 auto}
.sbc-auth .sbc-tabs__nav{display:flex}.sbc-auth .sbc-tabs__nav button{flex:1}

/* Single session */
.sbc-session__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
@media(max-width:960px){.sbc-session__grid{grid-template-columns:1fr}}
.sbc-session__side{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px}
.sbc-facts{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.sbc-facts li{padding:16px;background:var(--sbc-soft);border-radius:12px;font-weight:600}
.sbc-facts span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sbc-muted);font-weight:700}
.sbc-book{padding:26px;border-radius:var(--sbc-radius);background:#fff;border:1px solid var(--sbc-line);box-shadow:var(--sbc-shadow-lg);display:flex;flex-direction:column;gap:12px}
.sbc-book__price{font-size:1.9rem;font-weight:800}
.sbc-booked{margin:0;color:#166534;font-weight:700}
.sbc-host{padding:20px;border-radius:var(--sbc-radius);background:var(--sbc-soft)}
.sbc-host__row{display:flex;gap:12px;align-items:center;margin-top:8px;text-decoration:none}
.sbc-prose{font-size:1.05rem}

/* Single profile */
.sbc-profile__hero{display:flex;gap:36px;align-items:center;padding:36px;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--sbc-primary) 10%,#fff),color-mix(in srgb,var(--sbc-accent) 10%,#fff));margin-bottom:36px}
@media(max-width:700px){.sbc-profile__hero{flex-direction:column;text-align:center}.sbc-profile__hero .sbc-chips,.sbc-actions{justify-content:center}}
.sbc-profile__headline{font-size:1.25rem;font-weight:600;margin:10px 0 4px}
.sbc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.sbc-profile__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px}
@media(max-width:960px){.sbc-profile__grid{grid-template-columns:1fr}}
.sbc-list{margin:0;padding-left:18px}.sbc-list li{margin-bottom:6px}
.sbc-contact{margin-top:48px}

/* Dashboard */
.sbc-dash{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}
@media(max-width:900px){.sbc-dash{grid-template-columns:1fr}}
.sbc-dash__nav{position:sticky;top:100px;background:#fff;border:1px solid var(--sbc-line);border-radius:var(--sbc-radius);padding:18px;box-shadow:var(--sbc-shadow)}
.sbc-dash__me{display:flex;gap:12px;align-items:center;padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid var(--sbc-line)}
.sbc-dash__nav nav{display:flex;flex-direction:column;gap:2px}
.sbc-dash__nav nav a{padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:500;color:var(--sbc-muted)}
.sbc-dash__nav nav a:hover{background:var(--sbc-soft);color:var(--sbc-dark)}
.sbc-dash__nav nav a.is-active{background:color-mix(in srgb,var(--sbc-primary) 10%,#fff);color:var(--sbc-primary);font-weight:700}
@media(max-width:900px){.sbc-dash__nav{position:static}.sbc-dash__nav nav{flex-direction:row;overflow-x:auto}.sbc-dash__nav nav a{white-space:nowrap}}
.sbc-dash__main h2{margin-top:0}
.sbc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.sbc-kpi{padding:18px;border-radius:14px;background:#fff;border:1px solid var(--sbc-line)}
.sbc-kpi span{display:block;font-size:.8rem;color:var(--sbc-muted)}
.sbc-kpi strong{font-size:1.7rem;line-height:1.2}
.sbc-kpi small{display:block;color:var(--sbc-muted)}
.sbc-progress{height:8px;border-radius:99px;background:var(--sbc-soft);overflow:hidden;margin-bottom:10px}
.sbc-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--sbc-primary),var(--sbc-accent))}
.sbc-table-wrap{overflow-x:auto}
.sbc-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--sbc-radius);overflow:hidden;border:1px solid var(--sbc-line)}
.sbc-table th,.sbc-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--sbc-line);font-size:.92rem}
.sbc-table th{background:var(--sbc-soft);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sbc-muted)}
.sbc-status{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:700;background:var(--sbc-soft)}
.sbc-status--live{background:#dcfce7;color:#166534}.sbc-status--awaiting-approval{background:#fef9c3;color:#854d0e}.sbc-status--past{background:#f1f5f9;color:#64748b}
.sbc-tickets{display:flex;flex-direction:column;gap:12px}
.sbc-ticket{display:flex;gap:16px;align-items:center;padding:14px 18px;background:#fff;border:1px solid var(--sbc-line);border-radius:14px}
.sbc-ticket__body{flex:1}
.sbc-ticket.is-past{opacity:.6}
.sbc-cta{display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:28px;border-radius:20px;color:#fff;background:linear-gradient(135deg,var(--sbc-primary),color-mix(in srgb,var(--sbc-primary) 60%,var(--sbc-accent)));margin-bottom:20px}
.sbc-cta h3{color:#fff;margin:6px 0}.sbc-cta p{margin:0;opacity:.9;max-width:520px}
.sbc-cta .sbc-eyebrow{color:#fff;opacity:.8}
.sbc-cta .sbc-btn{background:#fff;color:var(--sbc-primary)!important;border-color:#fff}
.sbc-cta__buy{text-align:center}
.sbc-price-lg{font-size:2rem;font-weight:800;margin-bottom:8px}.sbc-price-lg small{font-size:.9rem;opacity:.8;font-weight:500}

/* Access box (thank-you / orders) */
.sbc-access{margin:24px 0;padding:24px;border-radius:var(--sbc-radius);border:2px solid var(--sbc-primary);background:color-mix(in srgb,var(--sbc-primary) 4%,#fff)}
.sbc-access h3{margin-top:0}
.sbc-access__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--sbc-line)}

/* Stats */
.sbc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;text-align:center}
.sbc-stats strong{display:block;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;line-height:1;background:linear-gradient(135deg,var(--sbc-primary),var(--sbc-accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.sbc-stats span{color:var(--sbc-muted);font-weight:600}

.sbc-pager{display:flex;gap:6px;justify-content:center;margin-top:32px}
.sbc-pager a,.sbc-pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--sbc-line);text-decoration:none}
.sbc-pager .is-current{background:var(--sbc-primary);color:#fff;border-color:var(--sbc-primary)}
