/* =========================================
   區塊二：課程模組列表
   ========================================= */
:root{
  --color-modules-bg:#f4f6fa;--color-tag-bg:#e6e9ef;--color-tag-text:#243d65;
  --color-btn-light:#d6deeb;--color-btn-main:#c3cee1;
  --module-radius:14px;--module-shadow:0 6px 20px rgba(32,53,88,.08);
  --fs-modules-title:clamp(1.5rem,2vw + .7rem,2.5rem);
  --fs-subtitle:clamp(.9375rem,.5vw + .8rem,1.25rem);
  --fs-module-title:clamp(1.25rem,1vw + .9rem,1.875rem);
  --fs-module-text:clamp(.9375rem,.35vw + .85rem,1.125rem);
  --fs-tag:clamp(.8125rem,.2vw + .75rem,.9375rem);
}
.course-modules{padding:100px 1.5rem;background:var(--color-modules-bg)}
.course-modules__inner{max-width:1400px;margin:0 auto}
.course-modules__header{margin-bottom:3.5rem;text-align:center}
.course-modules__title{margin-bottom:1rem;font-size:var(--fs-section-heading);font-weight:900;line-height:1.4;color:#1b364a}
.subtitle{max-width:1100px;margin:0 auto;font-size:20px;font-weight:700;line-height:1.7;color:#1b364a}

.module-list{display:flex;flex-direction:column;gap:2rem}
/* 左右雙欄：左圖 / 右文 */
.module-card{display:grid;grid-template-columns:5fr 8fr;align-items:center;gap:3rem;padding:1.75rem;background:#fff;border:1px solid var(--color-card-border);border-radius:var(--module-radius);box-shadow:var(--module-shadow)}
.module-card__media{overflow:hidden;border-radius:12px;aspect-ratio:3/2;background:#dfe4ed}
.module-card__media img{width:100%;height:100%;object-fit:cover}
.module-card__title{margin-bottom:1rem;font-size:var(--fs-subheading);font-weight:700;line-height:1.4;color:var(--color-heading-navy)}
.module-card__highlight{margin-bottom:1.25rem;font-size:var(--fs-body);font-weight:700;line-height:1.75;color:var(--color-heading-navy)}
.module-card__highlight::before{content:"✦";margin-right:.25em;color:var(--color-primary)}  /* 四角星 */
.module-card__highlight strong{color:var(--color-primary);font-weight:900}

.tag-group{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:1.5rem;list-style:none}
.tag{padding:.35em 1.1em;font-size:var(--fs-tag);font-weight:700;line-height:1.4;color:var(--color-tag-text);background:var(--color-tag-bg);border-radius:999px;white-space:nowrap}

.btn-group{display:flex;flex-wrap:wrap;gap:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:10.5rem;padding:.75em 1.5em;font-size:clamp(1rem,.3vw + .9rem,1.25rem);font-weight:900;line-height:1.2;color:var(--color-heading-navy);text-decoration:none;border-radius:4px;transition:background-color .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}
.btn--secondary{background:linear-gradient(180deg,#e8edf5 0%,#d0d9e8 100%)}.btn--secondary:hover{background:linear-gradient(180deg,#dbe2ee 0%,#bfcbdf 100%)}
.btn--primary{background:linear-gradient(180deg,#e8edf5 0%,#d0d9e8 100%)}.btn--primary:hover{background:linear-gradient(180deg,#dbe2ee 0%,#bfcbdf 100%)}
/* 想強化 CTA：.btn--primary{background:var(--color-primary);color:#fff} */

@media (max-width:1024px){
  .course-modules{padding:100px 1.25rem}
  .module-card{grid-template-columns:1fr 1.4fr;gap:1.75rem;padding:1.5rem}
  .btn{min-width:8.5rem}
}
@media (max-width:768px){
  .course-modules{padding:100px 1rem}.course-modules__header{margin-bottom:2rem}
  .module-list{gap:1.5rem}
  .module-card{grid-template-columns:1fr;gap:1.25rem;padding:1rem}   /* 單欄、圖片置頂 */
  .module-card__media{aspect-ratio:16/10}
  .btn-group{flex-wrap:nowrap;gap:.75rem}.btn{flex:1;min-width:0}
}
@media (max-width:360px){.btn-group{flex-direction:column}.btn{width:100%}}
