
/* =========================================================
   里茲螞蟻敢聊課｜Standalone 區塊樣式
   此檔可單獨貼入 WordPress 自訂 HTML，不依賴其他區塊。
========================================================= */
.lm-course-page {
  --lm-blue:#28658d;
  --lm-blue-dark:#183f59;
  --lm-blue-soft:#edf4f7;
  --lm-gold:#d8bd8e;
  --lm-gold-dark:#aa8148;
  --lm-cream:#f7f2e9;
  --lm-white:#ffffff;
  --lm-ink:#172936;
  --lm-grey:#62717b;
  --lm-line:#dce5e9;
  --lm-green:#47745c;
  --lm-shadow:0 18px 45px rgba(24,63,89,.08);
  width:100%;
  margin:0;
  color:var(--lm-ink);
  font-family:"helvetica","PingFang TC","Microsoft JhengHei",Arial,sans-serif;
  font-size:16px;
  line-height:1.8;
  letter-spacing:.02em;
  box-sizing:border-box;
  overflow:hidden;
}
.lm-course-page *, .lm-course-page *::before, .lm-course-page *::after { box-sizing:border-box; }
.lm-course-page h1,.lm-course-page h2,.lm-course-page h3,.lm-course-page p,.lm-course-page ul { margin-top:0; }
.lm-course-page h1,.lm-course-page h2,.lm-course-page h3 { color:var(--lm-ink); font-family:inherit; font-weight:800; }
.lm-course-page a { text-decoration:none; }
.lm-course-page .lm-container { position:relative; z-index:2; width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.lm-course-page.lm-section { position:relative; padding:88px 0; }
.lm-course-page.lm-bg-white { background:var(--lm-white); }
.lm-course-page.lm-bg-cream { background:var(--lm-cream); }
.lm-course-page.lm-bg-blue { background:var(--lm-blue-dark); }

/* decoration */
.lm-course-page .lm-hex { position:absolute; z-index:1; display:block; width:130px; aspect-ratio:1; background:rgba(40,101,141,.08); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); pointer-events:none; }
.lm-course-page .lm-hex-gold { background:rgba(216,189,142,.20); }
.lm-course-page .lm-hex-white { background:rgba(255,255,255,.06); }
.lm-course-page .lm-hex-small { width:65px; }
.lm-course-page .lm-hex-medium { width:92px; }
.lm-course-page .lm-hex-one { top:30px; right:5%; transform:rotate(12deg); }
.lm-course-page .lm-hex-two { right:14%; bottom:28px; transform:rotate(-9deg); }

/* headings */
.lm-course-page .lm-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; color:var(--lm-blue); font-size:14px; font-weight:800; letter-spacing:.12em; }
.lm-course-page .lm-eyebrow::before { content:""; width:25px; height:14px; background:var(--lm-gold); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-section-title { max-width:900px; margin-bottom:18px; font-size:clamp(30px,4.2vw,46px); line-height:1.25; }
.lm-course-page .lm-section-intro { max-width:880px; margin-bottom:42px; color:var(--lm-grey); font-size:17px; line-height:1.9; }
.lm-course-page.lm-bg-blue .lm-eyebrow { color:var(--lm-gold); }
.lm-course-page.lm-bg-blue .lm-section-title,.lm-course-page.lm-bg-blue h3 { color:var(--lm-white); }
.lm-course-page.lm-bg-blue .lm-section-intro { color:rgba(255,255,255,.75); }

/* buttons */
.lm-course-page .lm-button-row { display:flex; flex-wrap:wrap; gap:12px; }
.lm-course-page .lm-btn { display:inline-flex!important; min-height:52px; align-items:center; justify-content:center; padding:13px 22px!important; border:1px solid transparent!important; border-radius:9px!important; font-size:16px!important; font-weight:800!important; line-height:1.4!important; transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important; }
.lm-course-page .lm-btn:hover { transform:translateY(-2px); }
.lm-course-page .lm-btn-primary { background:var(--lm-blue)!important; color:var(--lm-white)!important; box-shadow:0 10px 25px rgba(40,101,141,.20); }
.lm-course-page .lm-btn-primary:hover { background:var(--lm-blue-dark)!important; }
.lm-course-page .lm-btn-secondary,.lm-course-page .lm-btn-outline { border-color:var(--lm-blue)!important; background:var(--lm-white)!important; color:var(--lm-blue)!important; }
.lm-course-page .lm-btn-secondary:hover,.lm-course-page .lm-btn-outline:hover { background:var(--lm-blue-soft)!important; }
.lm-course-page .lm-btn-gold { background:var(--lm-gold)!important; color:#2f271b!important; }
.lm-course-page .lm-btn-white { background:var(--lm-white)!important; color:var(--lm-blue-dark)!important; }

/* 01 hero */
#lm-small-talk-hero { position:relative; padding:96px 0 78px; background:var(--lm-cream); }
#lm-small-talk-hero .lm-hero-hex-one { top:-55px; right:4%; width:270px; background:rgba(40,101,141,.08); transform:rotate(15deg); }
#lm-small-talk-hero .lm-hero-hex-two { right:24%; bottom:-38px; width:110px; background:rgba(216,189,142,.28); transform:rotate(-10deg); }
#lm-small-talk-hero .lm-hero-hex-three { top:52px; left:-34px; width:90px; background:rgba(40,101,141,.07); }
#lm-small-talk-hero .lm-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:64px; align-items:center; }
#lm-small-talk-hero .lm-hero-label { display:inline-flex; align-items:center; gap:9px; margin-bottom:22px; padding:8px 14px; border:1px solid rgba(40,101,141,.20); border-radius:100px; background:var(--lm-white); color:var(--lm-blue); font-size:14px; font-weight:800; }
#lm-small-talk-hero .lm-hero-label::before { content:""; width:16px; height:16px; background:var(--lm-gold); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
#lm-small-talk-hero h1 { max-width:760px; margin-bottom:24px; font-size:clamp(39px,6vw,70px); line-height:1.16; }
#lm-small-talk-hero h1 span { color:var(--lm-blue); }
#lm-small-talk-hero .lm-hero-lead { max-width:760px; margin-bottom:30px; color:#455b68; font-size:clamp(17px,2vw,21px); line-height:1.85; }
#lm-small-talk-hero .lm-hero-card { position:relative; padding:34px; border:1px solid rgba(40,101,141,.13); border-radius:20px; background:var(--lm-white); box-shadow:var(--lm-shadow); overflow:hidden; }
#lm-small-talk-hero .lm-hero-card::after { content:""; position:absolute; top:-39px; right:-31px; width:105px; aspect-ratio:1; background:rgba(216,189,142,.19); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
#lm-small-talk-hero .lm-hero-card-label { position:relative; z-index:2; margin-bottom:20px; color:var(--lm-blue); font-size:14px; font-weight:800; }
#lm-small-talk-hero .lm-hero-fact { position:relative; z-index:2; display:flex; gap:16px; align-items:center; padding:17px 0; border-bottom:1px solid var(--lm-line); }
#lm-small-talk-hero .lm-hero-fact:first-of-type { padding-top:0; }
#lm-small-talk-hero .lm-hero-fact:last-child { padding-bottom:0; border-bottom:0; }
#lm-small-talk-hero .lm-hero-number { display:flex; flex:0 0 auto; width:88px; height:76px; align-items:center; justify-content:center; background:var(--lm-blue-soft); color:var(--lm-blue); font-size:14px; font-weight:900; line-height:1.1; text-align:center; white-space:nowrap; clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
#lm-small-talk-hero .lm-hero-fact p { margin:0; color:var(--lm-grey); font-size:13px; line-height:1.55; }
#lm-small-talk-hero .lm-hero-fact strong { display:block; margin-bottom:3px; color:var(--lm-ink); font-size:14px; }

/* 02 problems / results */
.lm-course-page .lm-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.lm-course-page .lm-panel { position:relative; padding:38px; border-radius:20px; overflow:hidden; }
.lm-course-page .lm-panel::after { content:""; position:absolute; right:-25px; bottom:-32px; width:100px; aspect-ratio:1; background:rgba(40,101,141,.06); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-panel-problem { border:1px solid #eadfd3; background:#fbf7f2; }
.lm-course-page .lm-panel-result { border:1px solid #cfdfd6; background:#f1f7f3; }
.lm-course-page .lm-panel h3 { position:relative; z-index:2; margin-bottom:20px; font-size:25px; }
.lm-course-page .lm-check-list { position:relative; z-index:2; display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.lm-course-page .lm-check-list li { position:relative; padding-left:30px; color:#465964; }
.lm-course-page .lm-check-list li::before { content:"✓"; position:absolute; left:0; color:var(--lm-green); font-weight:900; }
.lm-course-page .lm-panel-problem .lm-check-list li::before { content:"—"; color:var(--lm-gold-dark); }
.lm-course-page .lm-check-list strong { color:var(--lm-ink); }

/* 03 syllabus */
.lm-course-page .lm-syllabus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.lm-course-page .lm-syllabus-item { display:flex; gap:18px; align-items:flex-start; padding:24px; border:1px solid var(--lm-line); border-radius:15px; background:var(--lm-white); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.lm-course-page .lm-syllabus-item:hover { transform:translateY(-2px); border-color:rgba(40,101,141,.35); box-shadow:0 10px 25px rgba(24,63,89,.07); }
.lm-course-page .lm-syllabus-number { display:flex; flex:0 0 auto; width:45px; height:40px; align-items:center; justify-content:center; background:var(--lm-cream); color:var(--lm-blue); font-weight:900; clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-syllabus-item h3 { margin:0 0 10px; font-size:18px; line-height:1.45; }
.lm-course-page .lm-syllabus-sublist { margin:0; padding-left:20px; color:var(--lm-grey); font-size:14px; line-height:1.75; }
.lm-course-page .lm-bonus { position:relative; display:flex; gap:20px; align-items:center; margin-top:24px; padding:28px 30px; border-radius:17px; background:var(--lm-blue-dark); color:var(--lm-white); overflow:hidden; }
.lm-course-page .lm-bonus::after { content:""; position:absolute; right:-28px; bottom:-43px; width:140px; aspect-ratio:1; background:rgba(216,189,142,.15); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-bonus-label { position:relative; z-index:2; flex:0 0 auto; padding:8px 13px; border-radius:100px; background:var(--lm-gold); color:#302718; font-size:13px; font-weight:900; }
.lm-course-page .lm-bonus-content { position:relative; z-index:2; }
.lm-course-page .lm-bonus h3 { margin:0 0 5px; color:var(--lm-white); font-size:19px; }
.lm-course-page .lm-bonus p { margin:0; color:rgba(255,255,255,.78); font-size:14px; }

/* 04 fees */
.lm-course-page .lm-price-layout { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:34px; }
.lm-course-page .lm-price-main { position:relative; display:flex; flex-direction:column; padding:34px; border:1px solid var(--lm-line); border-radius:20px; background:var(--lm-white); overflow:hidden; }
.lm-course-page .lm-price-main::after { content:""; position:absolute; top:-45px; right:-38px; width:130px; aspect-ratio:1; background:rgba(216,189,142,.14); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-price { position:relative; z-index:2; margin:0 0 18px; color:var(--lm-blue-dark); font-size:clamp(40px,5vw,58px); font-weight:900; line-height:1.2; }
.lm-course-page .lm-price-facts { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:6px; }
.lm-course-page .lm-price-fact { padding:18px; border-radius:14px; background:var(--lm-blue-soft); text-align:center; }
.lm-course-page .lm-price-fact strong { display:block; color:var(--lm-blue-dark); font-size:22px; }
.lm-course-page .lm-price-warning { position:relative; z-index:2; margin:24px 0 0; padding:17px 18px; border-left:4px solid var(--lm-gold); border-radius:0 10px 10px 0; background:var(--lm-cream); color:#675a48; font-size:13px; line-height:1.75; }
.lm-course-page .lm-price-summary { position:relative; padding:32px; border-radius:20px; background:var(--lm-blue-dark); color:var(--lm-white); overflow:hidden; }
.lm-course-page .lm-price-summary::after { content:""; position:absolute; right:-45px; bottom:-50px; width:165px; aspect-ratio:1; background:rgba(216,189,142,.12); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-price-summary h3,.lm-course-page .lm-price-summary ul,.lm-course-page .lm-price-summary .lm-btn { position:relative; z-index:2; }
.lm-course-page .lm-price-summary h3 { margin-bottom:16px; color:var(--lm-white); font-size:24px; }
.lm-course-page .lm-price-summary ul { display:grid; gap:9px; margin:0 0 24px; padding:0; list-style:none; }
.lm-course-page .lm-price-summary li { position:relative; padding-left:25px; color:rgba(255,255,255,.90); font-size:14px; }
.lm-course-page .lm-price-summary li::before { content:"✓"; position:absolute; left:0; color:var(--lm-gold); font-weight:900; }

/* 05 class cards */
#lm-class-times .lm-class-time-note { max-width:920px; margin:0 0 34px; padding:18px 22px; border-left:4px solid var(--lm-gold); border-radius:0 12px 12px 0; background:var(--lm-cream); color:#5f574b; font-size:15px; line-height:1.85; }
#lm-class-times .lm-class-time-note strong { color:var(--lm-blue-dark); }
#lm-class-times .lm-class-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#lm-class-times .lm-class-card { position:relative; min-height:270px; padding:26px; border:1px solid var(--lm-line); border-radius:18px; background:var(--lm-white); box-shadow:0 8px 25px rgba(24,63,89,.045); overflow:hidden; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
#lm-class-times .lm-class-card:hover { transform:translateY(-3px); border-color:rgba(40,101,141,.28); box-shadow:0 14px 30px rgba(24,63,89,.08); }
#lm-class-times .lm-class-card::after { content:""; position:absolute; top:-35px; right:-32px; width:100px; aspect-ratio:1; background:rgba(216,189,142,.12); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
#lm-class-times .lm-class-top { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
#lm-class-times .lm-class-hex { display:flex; width:58px; height:52px; align-items:center; justify-content:center; background:var(--lm-blue-soft); color:var(--lm-blue); font-size:17px; font-weight:900; clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
#lm-class-times .lm-class-card.is-taipei .lm-class-hex { background:var(--lm-cream); color:var(--lm-gold-dark); }
#lm-class-times .lm-month-badge { padding:5px 10px; border-radius:100px; background:var(--lm-blue-soft); color:var(--lm-blue); font-size:12px; font-weight:800; }
#lm-class-times .lm-class-title { position:relative; z-index:2; margin:0 0 8px; font-size:21px; }
#lm-class-times .lm-mode-badge { position:relative; z-index:2; display:inline-flex; margin-bottom:18px; padding:5px 11px; border-radius:100px; background:var(--lm-blue-soft); color:var(--lm-blue); font-size:13px; font-weight:800; }
#lm-class-times .lm-mode-badge.is-taipei { background:var(--lm-cream); color:var(--lm-gold-dark); }
#lm-class-times .lm-class-information { position:relative; z-index:2; display:grid; gap:10px; padding-top:16px; border-top:1px solid var(--lm-line); }
#lm-class-times .lm-info-row { display:grid; grid-template-columns:72px 1fr; gap:9px; }
#lm-class-times .lm-info-label { color:var(--lm-grey); font-size:13px; font-weight:700; }
#lm-class-times .lm-info-value { color:var(--lm-ink); font-size:14px; font-weight:700; }
#lm-class-times .lm-break-note { position:relative; z-index:2; margin-top:14px; padding:10px 12px; border-left:3px solid var(--lm-gold); background:var(--lm-cream); color:#675a48; font-size:12px; }

/* 06 enrolment */
.lm-course-page .lm-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:30px; }
.lm-course-page .lm-step { position:relative; padding:26px 22px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.06); overflow:hidden; }
.lm-course-page .lm-step::after { content:""; position:absolute; top:-29px; right:-27px; width:78px; aspect-ratio:1; background:rgba(216,189,142,.10); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-step-number,.lm-course-page .lm-step h3,.lm-course-page .lm-step p { position:relative; z-index:2; }
.lm-course-page .lm-step-number { margin-bottom:18px; color:var(--lm-gold); font-size:14px; font-weight:900; }
.lm-course-page .lm-step h3 { margin-bottom:9px; font-size:18px; }
.lm-course-page .lm-step p { margin:0; color:rgba(255,255,255,.72); font-size:14px; }
.lm-course-page .lm-action-box { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:28px 30px; border-radius:18px; background:var(--lm-white); }
.lm-course-page .lm-action-box h3 { margin:0 0 5px; color:var(--lm-ink); font-size:20px; }
.lm-course-page .lm-action-box p { margin:0; color:var(--lm-grey); font-size:14px; }

/* 07 reviews */
.lm-course-page .lm-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.lm-course-page .lm-review-card { position:relative; padding:30px; border:1px solid var(--lm-line); border-radius:18px; background:var(--lm-white); overflow:hidden; }
.lm-course-page .lm-review-card::after { content:""; position:absolute; top:-36px; right:-30px; width:95px; aspect-ratio:1; background:rgba(40,101,141,.06); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); }
.lm-course-page .lm-review-label { position:relative; z-index:2; margin-bottom:14px; color:var(--lm-blue); font-size:14px; font-weight:800; }
.lm-course-page .lm-review-card p { position:relative; z-index:2; margin:0; color:var(--lm-grey); font-size:15px; line-height:1.9; }

/* 08 FAQ */
.lm-course-page .lm-faq-list { display:grid; gap:12px; max-width:900px; }
.lm-course-page .lm-faq { border:1px solid var(--lm-line); border-radius:14px; background:var(--lm-white); overflow:hidden; }
.lm-course-page .lm-faq summary { position:relative; padding:21px 58px 21px 22px; cursor:pointer; color:var(--lm-ink); font-weight:800; list-style:none; }
.lm-course-page .lm-faq summary::-webkit-details-marker { display:none; }
.lm-course-page .lm-faq summary::after { content:"+"; position:absolute; top:50%; right:22px; color:var(--lm-blue); font-size:24px; transform:translateY(-50%); }
.lm-course-page .lm-faq[open] summary::after { content:"−"; }
.lm-course-page .lm-faq-content { padding:0 22px 22px; color:var(--lm-grey); font-size:15px; }
.lm-course-page .lm-faq-content p { margin-bottom:0; }

/* 09 CTA */
#lm-final-cta { position:relative; padding:80px 0; background:var(--lm-blue-dark); overflow:hidden; }
#lm-final-cta .lm-final-cta-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
#lm-final-cta h2 { margin:0; color:var(--lm-white); font-size:clamp(30px,4vw,46px); line-height:1.3; }
.lm-mobile-bar { display:none; }

@media (max-width:960px) {
  #lm-small-talk-hero .lm-hero-grid,.lm-course-page .lm-price-layout,#lm-final-cta .lm-final-cta-inner { grid-template-columns:1fr; }
  #lm-class-times .lm-class-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lm-course-page .lm-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .lm-course-page { font-size:15px; }
  .lm-course-page .lm-container { width:min(100% - 30px,1160px); }
  .lm-course-page.lm-section { padding:64px 0; }
  #lm-small-talk-hero { padding:70px 0 56px; }
  #lm-small-talk-hero .lm-hero-grid { gap:36px; }
  #lm-small-talk-hero h1 { font-size:clamp(38px,12vw,53px); }
  #lm-small-talk-hero .lm-hero-card { padding:25px; }
  .lm-course-page .lm-two-column,.lm-course-page .lm-syllabus-grid,.lm-course-page .lm-price-facts,.lm-course-page .lm-steps,.lm-course-page .lm-review-grid,#lm-class-times .lm-class-grid { grid-template-columns:1fr; }
  .lm-course-page .lm-panel { padding:28px 24px; }
  .lm-course-page .lm-button-row,.lm-course-page .lm-button-row .lm-btn { width:100%; }
  .lm-course-page .lm-bonus { align-items:flex-start; flex-direction:column; }
  .lm-course-page .lm-action-box { align-items:flex-start; flex-direction:column; }
  #lm-final-cta { padding:64px 0; }
  .lm-mobile-bar { position:fixed; z-index:99999; right:0; bottom:0; left:0; display:grid; grid-template-columns:.95fr 1.25fr; gap:8px; padding:9px 10px calc(9px + env(safe-area-inset-bottom)); border-top:1px solid #dce5e9; background:rgba(255,255,255,.97); box-shadow:0 -10px 30px rgba(24,63,89,.13); }
  .lm-mobile-bar .lm-btn { min-height:48px; padding:10px 8px!important; font-size:14px!important; }
}
@media (max-width:420px) {
  .lm-course-page .lm-syllabus-item { gap:13px; padding:18px 16px; }
  .lm-course-page .lm-syllabus-number { width:40px; height:36px; }
  #lm-small-talk-hero .lm-hero-number { width:80px; height:70px; font-size:12px; }
}
