/**
 * NutriCare Courses — frontend widget styles.
 * Every color/font value uses var(--token, fallback) so this automatically
 * matches the NutriCare Pro theme's palette when active together, and
 * still looks coherent standalone with any theme.
 */
.ncc-widget{
  --ncc-primary: var(--nc-color-primary, #4f9d69);
  --ncc-primary-dark: var(--nc-color-primary-dark, #3c7d52);
  --ncc-surface: var(--nc-color-surface, #f8f7f3);
  --ncc-text: var(--nc-color-text, #2b2f2a);
  --ncc-text-muted: var(--nc-color-text-muted, #6b7269);
  --ncc-border: var(--nc-color-border, #e7e9e4);
  --ncc-font-heading: var(--nc-font-heading, 'Poppins', sans-serif);
  --ncc-font-body: var(--nc-font-body, 'Inter', sans-serif);
  --ncc-radius: var(--nc-radius, 14px);
  --ncc-radius-sm: var(--nc-radius-sm, 8px);

  font-family: var(--ncc-font-body);
  color: var(--ncc-text);
  background: var(--nc-color-bg, #fff);
  border: 1px solid var(--ncc-border);
  border-radius: var(--ncc-radius);
  padding: 28px;
  max-width: 920px;
  box-shadow: 0 8px 24px rgba(43,47,42,.08);
  box-sizing: border-box;
}
.ncc-widget *{box-sizing:border-box}
.ncc-title{font-family:var(--ncc-font-heading);margin:0 0 4px;font-size:1.4rem}
.ncc-subtitle{color:var(--ncc-text-muted);margin:0 0 20px}
.ncc-muted{color:var(--ncc-text-muted)}

/* Forms */
.ncc-enroll-form label{display:block;font-weight:600;font-size:.85rem;margin-bottom:6px;margin-top:14px}
.ncc-enroll-form input{width:100%;padding:11px 14px;border:1px solid var(--ncc-border);border-radius:var(--ncc-radius-sm);font-family:inherit}
.ncc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--ncc-radius-sm);font-weight:600;border:2px solid transparent;cursor:pointer;width:100%;font-size:1rem;margin-top:16px;text-decoration:none}
.ncc-btn-primary{background:var(--ncc-primary);color:#fff}
.ncc-btn-primary:hover{background:var(--ncc-primary-dark);color:#fff}

.ncc-message{border-radius:var(--ncc-radius-sm);padding:12px 14px;font-size:.9rem;margin-bottom:16px}
.ncc-message--success{background:#e3f5ea;border:1px solid #bcd9c8;color:#1e7e42}
.ncc-message--error{background:#fdecec;border:1px solid #f3c3c3;color:#a12f2f}

/* Dashboard tabs — left sidebar nav, right-side content (matches NutriCare Booking's account dashboard) */
.ncc-tabs-layout{display:flex;align-items:flex-start;gap:28px;margin-top:12px}
.ncc-tab-nav{display:flex;flex-direction:column;gap:2px;flex:0 0 200px;border-right:2px solid var(--ncc-border);padding-right:4px}
.ncc-tab-btn{background:none;border:none;text-align:left;padding:12px 16px;font-size:.9rem;font-weight:600;color:var(--ncc-text-muted);cursor:pointer;white-space:nowrap;border-right:3px solid transparent;margin-right:-5px;border-radius:var(--ncc-radius-sm) 0 0 var(--ncc-radius-sm);transition:color .15s ease, background .15s ease}
.ncc-tab-btn:hover{color:var(--ncc-text);background:var(--ncc-surface)}
.ncc-tab-btn.is-active{color:var(--ncc-primary-dark);border-right-color:var(--ncc-primary);background:var(--ncc-surface)}
.ncc-tab-content{flex:1;min-width:0}
.ncc-tab-panel{display:none}
.ncc-tab-panel.is-active{display:block}

@media (max-width:780px){
  .ncc-tabs-layout{flex-direction:column;gap:0}
  .ncc-tab-nav{flex-direction:row;flex:0 0 auto;width:100%;border-right:none;border-bottom:2px solid var(--ncc-border);padding-right:0;padding-bottom:0;margin-bottom:20px;overflow-x:auto}
  .ncc-tab-btn{border-right:none;margin-right:0;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:0}
  .ncc-tab-btn.is-active{border-right-color:transparent;border-bottom-color:var(--ncc-primary)}
}

.ncc-history-card{background:var(--ncc-surface);border-radius:var(--ncc-radius-sm);padding:16px;margin-bottom:14px}
.ncc-history-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;margin-bottom:8px}
