/* KurTech Studio: full-bleed layout fix for Elementor / theme boxed containers */
.elementor-widget:has(.mm-course-browser),
.elementor-widget-container:has(.mm-course-browser),
.elementor-shortcode:has(.mm-course-browser),
.entry-content:has(> .mm-course-browser) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.mm-course-browser {
  display: flow-root;
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow-x: clip;
}

.mm-course-browser:first-child {
  margin-top: 0 !important;
}

.mm-course-browser + .mm-course-browser {
  margin-top: 0 !important;
}

body {
  overflow-x: clip;
}

.mm-course-browser,.mm-course-browser *{box-sizing:border-box}.mm-course-browser{background:#fdf8ef;color:#2a1810;font-family:"Noto Sans TC",sans-serif}.view-tabs{max-width:1280px;margin:0 auto;padding:2.1rem 2rem 1rem;display:flex;justify-content:space-between;gap:1.2rem}.view-tabs__group{display:inline-flex;gap:.25rem;padding:.35rem;border-radius:999px;background:#fff;box-shadow:0 8px 32px rgba(248,74,1,.08)}.view-tab{border:0;background:transparent;color:#6b5847;font-size:.95rem;letter-spacing:.08em;padding:.8rem 1.55rem;border-radius:999px;cursor:pointer}.view-tab.is-active{background:#2a1810;color:#fff}.result-count{color:#a89580;font-size:.9rem;letter-spacing:.06em}.result-count strong{color:#f84a01;font-weight:500}.mm-course-main{max-width:1280px;margin:0 auto;padding:2rem 2rem 5rem}.mm-course-view[hidden]{display:none!important}.tl-section{margin-bottom:4rem}.tl-section__head{display:flex;align-items:flex-end;gap:1.3rem;border-bottom:1px solid rgba(42,24,16,.12);padding-bottom:1rem;margin-bottom:2rem}.tl-month{font-family:"Belleza","Cormorant Garamond",serif;font-size:2.2rem;line-height:1;color:#f84a01}.tl-month sup{font-size:.88rem;letter-spacing:.25em;color:#a89580;margin-right:.45rem}.tl-month-zh{font-family:"Noto Serif TC",serif;font-size:1.25rem;letter-spacing:.15em}.tl-month-count,.rg-count{margin-left:auto;color:#a89580;font-size:.92rem;letter-spacing:.08em}.tl-month-count strong,.rg-count strong{color:#f84a01}.tl-cards,.rg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.rg-section{background:#fff;border-radius:24px;padding:2rem;margin-bottom:3rem;box-shadow:0 2px 12px rgba(42,24,16,.06)}.rg-section__head{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.rg-marker{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f84a01,#ffba85);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.rg-name{font-family:"Noto Serif TC",serif;font-size:1.55rem;letter-spacing:.16em;font-weight:500}.rg-name-en{margin-top:.25rem;font-family:"Belleza","Cormorant Garamond",serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#a89580}.course-card{display:flex;flex-direction:column;min-height:540px;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 2px 12px rgba(42,24,16,.06);border:1px solid rgba(42,24,16,.06);transition:.35s}.course-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(236,124,130,.15)}.course-card__cover{position:relative;min-height:220px;background:linear-gradient(135deg,#ec7c82,#ffba85);overflow:hidden}.course-card__cover:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1px);background-size:18px 18px;opacity:.45}.course-card__cover img{position:absolute;inset:0;width:100%;height:100%;min-height:220px;object-fit:cover}.cover-series{background:linear-gradient(135deg,#f84a01,#ec7c82)}.cover-training{background:linear-gradient(135deg,#a78bda,#ec7c82)}.cover-event{background:linear-gradient(135deg,#71c19a,#ffe06f)}.course-card__art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Belleza",serif;letter-spacing:.32em;text-transform:uppercase}.course-card__cover-tags,.course-card__cover-status,.course-card__cover-region{position:absolute;z-index:3}.course-card__cover-tags{top:1rem;left:1rem;display:flex;gap:.45rem}.cc-tag{padding:.42rem .85rem;border-radius:999px;background:#fff;color:#f84a01;font-size:.75rem;font-weight:500}.cc-tag.level{background:rgba(42,24,16,.7);color:#fff}.course-card__cover-status{top:1rem;right:1rem}.cc-status{padding:.42rem .85rem;border-radius:999px;font-size:.75rem;font-weight:500}.cc-status.open{background:#7fd59f;color:#fff}.cc-status.upcoming{background:#ffe06f;color:#2a1810}.cc-status.closed{background:rgba(42,24,16,.72);color:#fff}.course-card__cover-region{left:1.25rem;bottom:1rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.18)}.course-card__body{flex:1;padding:1.65rem 1.55rem 1.35rem}.course-card__title{font-family:"Noto Serif TC",serif;font-size:1.22rem;line-height:1.65;letter-spacing:.05em;font-weight:500;margin:0 0 .55rem}.course-card__title-en{font-family:"Belleza",serif;font-size:.78rem;line-height:1.65;letter-spacing:.28em;text-transform:uppercase;color:#a89580;margin:0 0 1.2rem}.course-card__info{display:grid;gap:.72rem}.course-card__info-row{display:flex;gap:.6rem;color:#6b5847;font-size:.88rem;line-height:1.65;font-weight:300}.course-card__info-row strong{color:#2a1810}.course-card__foot{border-top:1px solid rgba(42,24,16,.08);background:#f8f1e5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.55rem}.course-card__price{font-family:"Belleza",serif;font-size:1.25rem}.course-card__price .ccy,.course-card__price .unit{color:#a89580;font-size:.78rem}.course-card__cta{padding:.78rem 1.25rem;border-radius:999px;background:#f84a01;color:#fff!important;font-size:.84rem;font-weight:600;text-decoration:none!important;white-space:nowrap}.mm-course-empty{max-width:760px;margin:0 auto;padding:3rem 2rem;border-radius:22px;background:#fff;box-shadow:0 2px 12px rgba(42,24,16,.06);text-align:center;color:#6b5847;line-height:2}@media(max-width:1100px){.tl-cards,.rg-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.view-tabs{padding:1.6rem 1.25rem .8rem;flex-direction:column}.view-tabs__group{width:100%;display:grid;grid-template-columns:1fr 1fr}.mm-course-main{padding:1.6rem 1.25rem 4rem}.tl-section__head{align-items:flex-start;flex-wrap:wrap}.tl-month-count,.rg-count{margin-left:0;width:100%}.tl-cards,.rg-cards{grid-template-columns:1fr}.rg-section{padding:1.25rem}.course-card{min-height:auto}.course-card__foot{align-items:flex-start;flex-direction:column}.course-card__cta{width:100%;text-align:center;justify-content:center}}

/* v2.0.3 updates */
.course-card__cover{display:block;text-decoration:none!important;color:inherit;cursor:pointer;}
.course-card__cover:focus-visible{outline:3px solid rgba(248,74,1,.45);outline-offset:3px;}
.course-card__price .ccy{display:inline-block;margin-right:.25em;}

/* v2.0.6 mobile icon / marker proportion fixes */
.rg-section__head {
  min-width: 0;
}

.rg-marker {
  flex: 0 0 48px !important;
  inline-size: 48px !important;
  block-size: 48px !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  aspect-ratio: 1 / 1 !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
}

.rg-section__head > div:not(.rg-marker) {
  min-width: 0;
}

.rg-name,
.rg-name-en {
  overflow-wrap: anywhere;
}

.course-card__info-row .ic {
  flex: 0 0 1.35em;
  width: 1.35em;
  min-width: 1.35em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
}

.course-card__cover-region {
  display: inline-flex;
  align-items: center;
  gap: .25em;
  line-height: 1.2;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .rg-section__head {
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: .95rem !important;
  }

  .rg-marker {
    flex-basis: 56px !important;
    inline-size: 56px !important;
    block-size: 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    font-size: 1.25rem !important;
  }

  .rg-count {
    flex: 0 0 auto;
    width: auto !important;
    margin-left: auto !important;
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .rg-section__head {
    gap: .75rem !important;
  }

  .rg-marker {
    flex-basis: 48px !important;
    inline-size: 48px !important;
    block-size: 48px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }
}

/* v2.0.9 course cover square image ratio fix
   Most course feature images are designed as square cards, so the cover area
   should also stay 1:1 to avoid cutting off text or key visuals. */
.course-card__cover {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
}

.course-card__cover img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Keep fallback artwork centered when no feature image is set. */
.course-card__art {
  min-height: 0 !important;
}

/* v2.0.11 price suffix restored */
.course-card__price .unit{display:inline-block;margin-left:.25em;}


/* v2.0.12 show up to three WordPress tags on course cards */
.course-card__cover-tags{
  max-width:calc(100% - 7.5rem);
  flex-wrap:wrap;
  align-items:flex-start;
}
.course-card__cover-tags .cc-tag{
  line-height:1.15;
  white-space:nowrap;
}
@media(max-width:420px){
  .course-card__cover-tags{
    max-width:calc(100% - 6.5rem);
    gap:.35rem;
  }
  .course-card__cover-tags .cc-tag{
    padding:.36rem .68rem;
    font-size:.72rem;
  }
}

/* v2.0.13 oversea multi-currency price lines */
.course-card__price{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  line-height:1.35;
}
.course-card__price .price-line{
  display:block;
}
.course-card__price .price-line--foreign{
  font-size:.98rem;
}
.course-card__price .currency-label,
.course-card__price .foreign-ccy{
  color:#a89580;
  font-size:.78rem;
}
.course-card__price .amount{
  display:inline-block;
}
@media(max-width:760px){
  .course-card__price{
    width:100%;
  }
}


/* v2.0.18 price color correction
   Keep NTD$ and foreign currency codes such as USD$ / AUD$ in the original soft grey. */
.course-card__price .ccy,
.course-card__price .unit,
.course-card__price .currency-label,
.course-card__price .foreign-ccy{
  color:#a89580;
}


/* v2.0.19 foreign price amount size correction
   Keep helper words smaller, but make foreign numeric amounts match the NTD$ amount size. */
.course-card__price .amount{
  color:#2a1810;
  font-size:1.25rem;
  line-height:1.2;
}
.course-card__price .price-line--foreign .amount{
  font-size:1.25rem;
}
.course-card__cta.course-card__cta--soldout{background:#d63b2e;color:#fff!important}