/* ==========================================================================
   FunInKorea Integration — components rendered by this plugin.
   Falls back gracefully if the child theme is not active, since the tokens
   are re-declared here with the same values.
   ========================================================================== */

.fik-card__placeholder {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  font-family: var(--fik-font-head, sans-serif); font-size: 2.4rem; font-weight: 700;
  color: var(--fik-green, #3f9d63); background: var(--fik-green-mist, #f2f9f5);
}

.fik-card__state { margin: 0; }

/* ---------- Filter chips driven by real radio inputs ---------- */
.fik-filters__input:checked + .fik-chip {
  background: var(--fik-navy, #13305d);
  border-color: var(--fik-navy, #13305d);
  color: #fff;
}
.fik-filters__input:focus-visible + .fik-chip {
  outline: 3px solid var(--fik-green, #3f9d63);
  outline-offset: 2px;
}
.fik-chip--reset { border-style: dashed; }

.fik-finder { margin-block: 8px 40px; }

/* ---------- Membership plans ---------- */
.fik-plans .fik-plan.is-current { border-color: var(--fik-green, #3f9d63); box-shadow: var(--fik-shadow, 0 4px 14px rgba(19,48,93,.07)); }
.fik-plan__price {
  font-family: var(--fik-font-head, sans-serif); font-weight: 700;
  font-size: 1.6rem; color: var(--fik-navy, #13305d); margin: 4px 0 12px;
}
.fik-plan__list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 9px; }
.fik-plan__list li {
  position: relative; padding-inline-start: 24px;
  font-size: .9rem; color: var(--fik-text, #475261); line-height: 1.5;
}
.fik-plan__list li::before {
  content: ""; position: absolute; inset-inline-start: 0; top: .45em;
  width: 13px; height: 8px; border-inline-start: 2px solid var(--fik-green, #3f9d63);
  border-block-end: 2px solid var(--fik-green, #3f9d63);
  transform: rotate(-45deg);
}

/* ---------- My Learning dashboard ---------- */
.fik-dashboard { display: grid; gap: 28px; }
.fik-dash__panel {
  background: #fff; border: 1px solid var(--fik-line, #e4e8ee);
  border-radius: var(--fik-radius, 14px); padding: 22px;
}
.fik-dash__heading {
  font-family: var(--fik-font-head, sans-serif); font-weight: 600;
  font-size: 1.15rem; color: var(--fik-navy, #13305d); margin: 0 0 16px;
}
.fik-dash__panel--membership { background: var(--fik-green-mist, #f2f9f5); border-color: transparent; }
.fik-dash__membership { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.fik-dash__eyebrow {
  font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--fik-green-deep, #2f7d4d);
}
.fik-dash__tier {
  font-family: var(--fik-font-head, sans-serif); font-weight: 700;
  font-size: 1.4rem; color: var(--fik-navy, #13305d); margin: 2px 0 0;
}

.fik-dash__classes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fik-dash__class {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 14px 16px; border: 1px solid var(--fik-line, #e4e8ee);
  border-radius: var(--fik-radius-sm, 8px); flex-wrap: wrap;
}
.fik-dash__class-main { display: flex; flex-direction: column; gap: 3px; }
.fik-dash__class-title {
  font-family: var(--fik-font-head, sans-serif); font-weight: 600;
  color: var(--fik-navy, #13305d); text-decoration: none;
}
.fik-dash__class-title:hover { color: var(--fik-green-deep, #2f7d4d); }
.fik-dash__class-when { font-size: .85rem; color: var(--fik-muted, #6b7686); }

.fik-dash__links { display: flex; flex-wrap: wrap; gap: 9px; }

/* ---------- Progress ---------- */
.fik-progress {
  height: 6px; border-radius: 999px; overflow: hidden;
  background: var(--fik-line-soft, #eef1f5);
}
.fik-progress__bar { display: block; height: 100%; background: var(--fik-green, #3f9d63); }
.fik-progress__label { font-size: .8rem; color: var(--fik-muted, #6b7686); }

/* ---------- Sections rendered by shortcodes ---------- */
.fik-shop-teaser .fik-card--product .fik-card__media { aspect-ratio: 1 / 1; }
