
/* OFZ - PhiAcademy Style - Global + Full-width Fix */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ── TOP BAR ── */
header.wp-block-template-part::before {
  content: "OFZ BEAUTY ACADEMY  •  專業紋繡學院  •    •    •  ";
  display: block;
  background-color: #c4a45f;
  color: #0d0d0d !important;
  text-align: center;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  padding: 8px 20px;
  text-transform: uppercase;
}

/* ── HEADER / NAV ── */
header.wp-block-template-part .wp-block-group {
  background-color: #0d0d0d !important;
  border-bottom: 1px solid rgba(196,164,95,0.2) !important;
  padding: 0 40px !important;
}
header.wp-block-template-part .wp-block-group * { background: transparent !important; }

.wp-block-navigation a,
.wp-block-navigation__container a {
  color: #f0ece4 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 18px 16px !important;
}
.wp-block-navigation a:hover { color: #c4a45f !important; }

/* ── FOOTER ── */
footer.wp-block-template-part {
  background-color: #080808 !important;
  border-top: 1px solid rgba(196,164,95,0.15) !important;
}
footer.wp-block-template-part .wp-block-group {
  background-color: transparent !important;
  padding: 60px 40px 40px !important;
}
footer .wp-block-navigation a {
  color: #7a736b !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
  padding: 4px 0 !important;
  font-weight: 400 !important;
}

/* ── PAGE BODY ── */
body { margin: 0 !important; }
.wp-site-blocks { background: #0d0d0d !important; }

/* ── CRITICAL: FULL WIDTH FIX for page content ── */
.entry-content,
.wp-block-post-content,
main.wp-block-group {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

/* Make phi-page full width */
.phi-page, .phi-home {
  width: 100% !important;
  max-width: 100% !important;
}

/* ── Page template inner container ── */
.wp-block-template-part + main,
.is-layout-constrained > :not(.alignwide):not(.alignfull) {
  max-width: 100% !important;
}

/* ── REMOVE GUTENBERG BLOCK GAP ABOVE HERO ── */
/* Gutenberg adds 24px margin-top to all blocks after the first in wp-site-blocks */
.wp-site-blocks > .phi-home,
.wp-site-blocks > .phi-page,
.wp-site-blocks > div:has(> .phi-hero),
.wp-site-blocks > div:has(> .phi-page-hero) {
  margin-top: 0 !important;
}

/* ── HERO HEIGHT & ALIGNMENT FIX ── */
.phi-page-hero,
.phi-hero {
  height: auto !important;
  min-height: calc(100vh - 96px) !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  align-items: center !important;
}


/* Hide Home page title - PhiAcademy Style */
.home .entry-title,
.home .wp-block-post-title,
.home .page-title,
body.home h1.entry-title,
body.page-id-508 .entry-title,
body.page-id-508 .wp-block-post-title {
  display: none !important;
}

/* Home page - remove top padding before hero */
.home .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Full width content for home page */
.home .wp-block-post-content,
.home .entry-content,
.home .site-main {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* === OFZ Unified Color Scheme — Override low-contrast text (auto-added) === */

/* 1. Pricing section (merged into services page) - force light text on dark wrapper */
.ofz-section-dark h2,
.ofz-section-dark h3 { color: #f0ece4 !important; }
.ofz-section-dark h2 em,
.ofz-section-dark h3 em { color: #c4a45f !important; }
.ofz-section-dark p { color: #d4cdc1 !important; }
.ofz-section-dark .ofz-kicker,
.ofz-section-dark .phi-kicker { color: #c4a45f !important; }

/* 2. Pricing table - light text + gold headers */
.ofz-price-table { color: #f0ece4 !important; border-collapse: collapse !important; width: 100% !important; border: 1px solid rgba(184,160,106,0.35) !important; background: #0a0a0a !important; }
.ofz-price-table th {
  color: #b8a06a !important;
  background: transparent !important;
  border-bottom: 2px solid #b8a06a !important;
  padding: 20px 28px !important;
  font-size: 11px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-align: left !important;
}
.ofz-price-table tbody tr:nth-child(odd) { background: rgba(184,160,106,0.03) !important; }
.ofz-price-table tbody tr { border-bottom: 1px solid rgba(184,160,106,0.1) !important; transition: background .2s !important; }
.ofz-price-table tbody tr:hover { background: rgba(184,160,106,0.06) !important; }
.ofz-price-table td {
  color: #f0ece4 !important;
  border-bottom: none !important;
  padding: 22px 28px !important;
  vertical-align: middle !important;
}
.ofz-price-table tbody td:nth-child(1) { color: #f0ece4 !important; font-size: 16px !important; letter-spacing: 2px !important; font-weight: 500 !important; }
.ofz-price-table tbody td:nth-child(2) { color: #a8a298 !important; font-size: 13px !important; letter-spacing: 1px !important; }
.ofz-price-table .price { text-align: right !important; padding: 22px 28px !important; }
.ofz-price-table .price span { display: inline-block !important; color: #b8a06a !important; background: transparent !important; border: 1px solid #b8a06a !important; padding: 8px 24px !important; font-size: 12px !important; letter-spacing: 3px !important; font-weight: 500 !important; border-radius: 2px !important; font-family: Montserrat, sans-serif !important; text-transform: uppercase !important; transition: all .2s !important; }
.ofz-price-table .price span:hover { background: #b8a06a !important; color: #0a0a0a !important; }
.ofz-price-note { color: #a0998f !important; font-size: 13px !important; }

/* 3. CTA section (CONSULTATION) inside dark wrapper - fix invisible text */
.ofz-section-dark .ofz-cta-title,
.ofz-section-dark .ofz-cta-text,
.ofz-section-dark p { color: #d4cdc1 !important; }

/* 4. Faculty page - CREDENTIALS cards on dark bg */
.ofz-cert-title { color: #f0ece4 !important; }
.ofz-cert-desc { color: #a0998f !important; }

/* 5. Faculty page - cert mentions in instructor cards (white bg uses dark text) */
.ofz-instructor-card strong,
.ofz-instructor-card p { color: #1a1a1a !important; }

/* 6. About page - 立即開始 small label on gold bg - use dark text */
.ofz-small-label { color: #1a1a1a !important; }

/* 7. Courses page - fix invisible button texts */
.phi-see-all-btn,
.ofz-see-all-btn { color: #f0ece4 !important; }
.phi-btn-gold,
.ofz-btn-gold {
  color: #1a1a1a !important;
  background: #c4a45f !important;
}
.phi-btn-gold:hover,
.ofz-btn-gold:hover {
  background: #d4b47a !important;
  color: #0d0d0d !important;
}

/* 8. Kicker contrast on light backgrounds */
.ofz-section-light .ofz-kicker,
.ofz-section-light .phi-kicker { color: #8a5a48 !important; }

/* 9. Em (italic) inside h2/h3 on light bg - improve contrast */
.ofz-section-light h2 em,
.ofz-section-light h3 em { color: #8a6c2e !important; }


/* === High-specificity override: dark section inside light wrapper === */
/* Beats: .ofz-section-light :not(.ofz-kicker) { color: #1a1a1a !important; } */

.ofz-section-light .ofz-section-dark h2,
.ofz-section-light .ofz-section-dark h2 em,
.ofz-section-light .ofz-section-dark h3,
.ofz-section-light .ofz-section-dark p,
.ofz-section-light .ofz-section-dark span,
.ofz-section-light .ofz-section-dark .ofz-kicker,
.ofz-section-light .ofz-section-dark .ofz-price-table,
.ofz-section-light .ofz-section-dark .ofz-price-table th,
.ofz-section-light .ofz-section-dark .ofz-price-table td,
.ofz-section-light .ofz-section-dark .ofz-price-table tbody td,
.ofz-section-light .ofz-section-dark .ofz-price-note { color: #f0ece4 !important; }

.ofz-section-light .ofz-section-dark h2 em,
.ofz-section-light .ofz-section-dark h3 em { color: #c4a45f !important; }
.ofz-section-light .ofz-section-dark .ofz-kicker { color: #c4a45f !important; }
.ofz-section-light .ofz-section-dark .ofz-price-table th { color: #c4a45f !important; }
.ofz-section-light .ofz-section-dark .ofz-price-table .price { color: #d4b47a !important; }
.ofz-section-light .ofz-section-dark .ofz-price-note,
.ofz-section-light .ofz-section-dark p { color: #a0998f !important; }

/* CTA "立即諮詢" in dark wrapper inside light page */
.ofz-section-light .ofz-section-dark h2,
.ofz-section-light .ofz-section-dark h3,
.ofz-section-light .ofz-section-dark .ofz-section h2,
.ofz-section-light .ofz-section-dark .ofz-section h3 { color: #f0ece4 !important; }


/* === Higher-specificity overrides for cert cards & instructor lists === */
.ofz-section-light .ofz-cert-card,
.ofz-section-light .ofz-cert-card * { color: #f0ece4 !important; }
.ofz-section-light .ofz-cert-card .ofz-cert-title { color: #f0ece4 !important; font-weight: 500; }
.ofz-section-light .ofz-cert-card .ofz-cert-desc { color: #a0998f !important; font-size: 13px; line-height: 1.6; }

/* Instructor card bullet list strong - dark text on cream bg */
.ofz-section-light .ofz-item-list li strong,
.ofz-section-light .ofz-grid-2 .ofz-item-list strong { color: #2a2520 !important; font-weight: 600; }
.ofz-section-light .ofz-item-list li { color: #5a5550 !important; }


/* CTA 金色區塊 - 文字改為深色 */
.ofz-cta,
.ofz-cta * { color: #1a1a1a !important; }
.ofz-cta .ofz-small-label { color: #5a3a28 !important; letter-spacing: 2px; font-weight: 600; }
.ofz-cta h2,
.ofz-cta h2 em,
.ofz-cta h3 { color: #1a1a1a !important; }
.ofz-cta p { color: #2a2520 !important; }
.ofz-cta a:not(.ofz-btn) { color: #1a1a1a !important; text-decoration: underline; }
.ofz-cta .ofz-btn { color: #f0ece4 !important; background: #1a1a1a !important; }
.ofz-cta .ofz-btn:hover { background: #2a2520 !important; }


/* High-spec CTA 金色區塊 fixes (beats [class*=-label] rule) */
.ofz-page .ofz-cta .ofz-small-label,
.entry-content .ofz-cta .ofz-small-label { color: #5a3a28 !important; letter-spacing: 2px; }

/* CTA bottom button (no class, just A tag with dark bg) - light text */
.ofz-page .ofz-cta a,
.ofz-cta > a,
.ofz-cta a:link { color: #f0ece4 !important; background: #1a1a1a !important; padding: 14px 28px; display: inline-block; text-decoration: none; letter-spacing: 1px; transition: all 0.3s ease; }
.ofz-page .ofz-cta a:hover { color: #d4b47a !important; background: #2a2520 !important; }


/* 文章頁面 - 隱藏自動生成的 page title (我們用 hero 內的 h1) */
.page-id-784 .wp-block-post-title { display: none !important; }
.page-id-784 main > .wp-block-group:first-child:has(.wp-block-post-title) { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }


/* 文章列表頁 - 卸件卡片設計 */
.page-id-784 .wp-block-query .wp-block-group {
  background: #15110d !important;
  border: 1px solid rgba(196, 164, 95, 0.15) !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}
.page-id-784 .wp-block-query .wp-block-group:hover {
  border-color: rgba(196, 164, 95, 0.5) !important;
  transform: translateY(-2px) !important;
}
.page-id-784 .wp-block-post-date,
.page-id-784 .wp-block-query .wp-block-post-date {
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #c4a45f !important;
  margin-bottom: 14px !important;
  display: block !important;
}
.page-id-784 .wp-block-post-title,
.page-id-784 .wp-block-query .wp-block-post-title,
.page-id-784 .wp-block-query h2 {
  display: block !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #f0ece4 !important;
  margin: 0 0 14px 0 !important;
  font-family: 'Cormorant Garamond', 'Noto Serif TC', serif !important;
}
.page-id-784 .wp-block-post-title a {
  color: #f0ece4 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.page-id-784 .wp-block-post-title a:hover {
  color: #d4b47a !important;
}
.page-id-784 .wp-block-post-excerpt p {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #a0998f !important;
  margin: 0 0 16px 0 !important;
}
.page-id-784 .wp-block-post-excerpt__more-link {
  color: #c4a45f !important;
  text-decoration: none !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  border-bottom: 1px solid rgba(196, 164, 95, 0.4) !important;
  padding-bottom: 2px !important;
  display: inline-block !important;
}
.page-id-784 .wp-block-post-excerpt__more-link:hover {
  color: #d4b47a !important;
  border-bottom-color: #d4b47a !important;
}
.page-id-784 .ofz-page-hero {
  padding-top: 120px !important;
  padding-bottom: 60px !important;
}


/* === 文章頁 hero 置中 + 縮小 h1 === */
.page-id-784 .ofz-page-hero {
  text-align: center !important;
  padding: 120px 24px 80px !important;
}
.page-id-784 .ofz-page-hero-inner {
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}
.page-id-784 .ofz-page-hero h1 {
  font-size: 56px !important;
  line-height: 1.2 !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
}
.page-id-784 .ofz-page-hero .ofz-kicker {
  display: block !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}
.page-id-784 .ofz-page-hero-sub,
.page-id-784 .ofz-page-hero p {
  text-align: center !important;
  margin: 24px auto 0 !important;
  max-width: 600px !important;
  color: #a0998f !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* === 頁尾統一重設計 (以首頁風格為準) === */

/* 隱藏「需要協助？」為首的導覽列欄 */
footer.site-footer-container .wp-block-columns > .wp-block-column:first-child {
  display: none !important;
}

/* 3 欄置中 + 間距 */
footer.site-footer-container .wp-block-columns {
  justify-content: center !important;
  gap: 80px !important;
}
footer.site-footer-container .wp-block-column {
  text-align: center !important;
  flex: 0 1 260px !important;
}

/* 標籤 (h4) — 銅色 + letter-spacing */
footer.site-footer-container h4,
footer.site-footer-container .wp-block-heading {
  color: #b8755c !important;
  font-size: 13px !important;
  letter-spacing: 6px !important;
  font-weight: 400 !important;
  margin: 0 0 32px 0 !important;
  text-align: center !important;
  text-transform: none !important;
  font-family: 'Noto Sans TC', sans-serif !important;
}

/* 地址與文字 - 置中 + 柔和米色 + 無邊框 */
footer.site-footer-container p {
  color: #d4cdc1 !important;
  font-size: 14px !important;
  text-align: center !important;
  margin: 10px auto !important;
  letter-spacing: 1px !important;
  background: transparent !important;
  border: none !important;
}

/* 去除任何 input 與 button 預設邊框 */
footer.site-footer-container input,
footer.site-footer-container button {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ofzbeautyacademy.com 連結 — 米色 + 下劃線 */
footer.site-footer-container a[href*="ofzbeautyacademy.com"] {
  color: #d4cdc1 !important;
  text-decoration: underline !important;
  text-underline-offset: 6px !important;
  text-decoration-thickness: 1px !important;
}

/* Social icons 置中 */
footer.site-footer-container .wp-block-social-links {
  justify-content: center !important;
  margin: 0 auto !important;
}

/* Email input — 無邊框 + 透明背景 + 下劃線 */
footer.site-footer-container input[type="email"] {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(184, 117, 92, 0.3) !important;
  text-align: center !important;
  color: #a0998f !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
  width: 100% !important;
  max-width: 240px !important;
  display: block !important;
  margin: 0 auto !important;
}

/* SUBSCRIBE button — outlined 銅色 */
footer.site-footer-container button[type="submit"],
footer.site-footer-container .wp-block-jetpack-subscriptions__button,
footer.site-footer-container button {
  background: transparent !important;
  border: 1px solid #b8755c !important;
  color: #b8755c !important;
  padding: 12px 36px !important;
  letter-spacing: 4px !important;
  font-size: 12px !important;
  margin: 24px auto 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
}
footer.site-footer-container button:hover {
  background: #b8755c !important;
  color: #0a0806 !important;
}


/* 移除頁尾 h4 的重複 ::after pseudo-element */
footer.site-footer-container h4::before,
footer.site-footer-container h4::after,
footer.site-footer-container .wp-block-heading::before,
footer.site-footer-container .wp-block-heading::after {
  content: none !important;
  display: none !important;
}

/* 也移除 columns 部分的 pseudo-elements */
footer.site-footer-container .wp-block-column::before,
footer.site-footer-container .wp-block-column::after {
  content: none !important;
  display: none !important;
}


/* 移除 聯絡我們 h4 的多餘邊框 */
footer.site-footer-container h4.has-border-color,
footer.site-footer-container h4 {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}


/* === 標題小一點到適中大小 === */
.ofz-page-hero h1,
.ofz-page-hero h2 {
  font-size: clamp(40px, 6vw, 64px) !important;
  line-height: 1.15 !important;
}
.ofz-section h2 {
  font-size: clamp(32px, 4.5vw, 48px) !important;
  line-height: 1.2 !important;
}
.ofz-section h3 {
  font-size: clamp(24px, 3.5vw, 36px) !important;
  line-height: 1.3 !important;
}
.ofz-cta h2 {
  font-size: clamp(36px, 5vw, 52px) !important;
  line-height: 1.2 !important;
}
.page-id-784 .ofz-page-hero h1 {
  font-size: clamp(36px, 5vw, 52px) !important;
}


/* === 關於頁 - 随教師/認證/教學理念整合 === */

/* Hide auto-rendered page title on about-zh */
.page-id-564 .wp-block-post-title { display: none !important; }

/* Teachers grid - 4 columns */
.ofz-teachers-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 32px !important;
  max-width: 1280px !important;
  margin: 60px auto 0 !important;
  padding: 0 24px !important;
}
@media (max-width: 1024px) {
  .ofz-teachers-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .ofz-teachers-grid { grid-template-columns: 1fr !important; }
}
.ofz-teacher-card {
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
}
.ofz-teacher-photo-wrap {
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  margin-bottom: 20px !important;
  background: #1a1a1a !important;
}
.ofz-teacher-photo-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.ofz-teacher-info { padding: 0 4px !important; }
.ofz-teacher-name {
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #f0ece4 !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: 1px !important;
  font-family: 'Cormorant Garamond', 'Noto Serif TC', serif !important;
}
.ofz-teacher-title {
  font-size: 12px !important;
  letter-spacing: 2px !important;
  color: #c4a45f !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
.ofz-teacher-bio {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: #a0998f !important;
  margin: 0 !important;
}

/* Credentials grid - 5 items in flex */
.ofz-certs-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 24px !important;
  max-width: 1280px !important;
  margin: 60px auto 0 !important;
  padding: 0 24px !important;
}
.ofz-cert-card {
  background: rgba(196, 164, 95, 0.04) !important;
  border: 1px solid rgba(196, 164, 95, 0.18) !important;
  border-radius: 4px !important;
  padding: 30px 24px !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
}
.ofz-cert-card:hover {
  border-color: rgba(196, 164, 95, 0.5) !important;
  background: rgba(196, 164, 95, 0.08) !important;
  transform: translateY(-2px) !important;
}
.ofz-cert-icon {
  font-size: 18px !important;
  color: #c4a45f !important;
  margin-bottom: 18px !important;
  display: block !important;
}
.ofz-cert-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #f0ece4 !important;
  letter-spacing: 1px !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.4 !important;
}
.ofz-cert-desc {
  font-size: 12px !important;
  color: #a0998f !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Mission/Values grid - 3 cols 2x2 */
.ofz-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 40px !important;
  max-width: 1100px !important;
  margin: 60px auto 0 !important;
}
@media (max-width: 768px) { .ofz-grid-2 { grid-template-columns: 1fr !important; } }
.ofz-grid-2 > div { padding: 24px !important; background: rgba(196, 164, 95, 0.04) !important; border-left: 2px solid #c4a45f !important; }
.ofz-grid-2 h4, .ofz-grid-2 strong { color: #f0ece4 !important; font-size: 16px !important; font-weight: 500 !important; margin: 0 0 8px 0 !important; display: block !important; }
.ofz-grid-2 p, .ofz-grid-2 li { color: #a0998f !important; font-size: 14px !important; line-height: 1.7 !important; }


/* === 隱藏文章頁/關於頁頂部多餘的 separator hr 與 group wrapper === */
.page-id-784 main > .wp-block-group:first-child,
.page-id-564 main > .wp-block-group:first-child {
  display: none !important;
}
.page-id-784 .wp-block-separator,
.page-id-564 .wp-block-separator {
  display: none !important;
}
.page-id-784 main > .wp-block-group:has(.wp-block-post-title),
.page-id-564 main > .wp-block-group:has(.wp-block-post-title) {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* === 移除 nav header 上下的多餘邊框線條 === */
.wp-block-group.alignfull.wc-blocks-pattern-header,
.wp-block-group.alignfull.wc-blocks-pattern-header > * ,
.wp-block-group.alignfull.wc-blocks-pattern-header .wp-block-group {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
}

/* 亦移除任何 header 內部的 邊框 */
header .wp-block-group {
  border: none !important;
}
header {
  border-bottom: none !important;
}


/* === 全面移除 nav header 區域的金色邊框 === */
[class*="wc-blocks-pattern-header"],
[class*="wc-blocks-pattern-header"] * ,
[class*="wc-blocks-pattern-header"] .wp-block-group {
  border-top: none !important;
  border-bottom: none !important;
  border: none !important;
}

/* 以防万一：全部移除長得像金色 0.2 透明邊框的 element */
header .wp-block-group,
header > div,
header > * {
  border: 0 !important;
}


/* === 縮小 site logo 不要凸出 nav === */
.custom-logo,
img.custom-logo {
  max-height: 36px !important;
  width: auto !important;
  height: 36px !important;
}
.custom-logo-link {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
}


/* === 最強勢最後手段 - 所有 nav header 子孫邊框全部 0 === */
body header .wp-block-group,
body header .wp-block-group.is-nowrap,
body header .wp-block-group.is-layout-flex,
body header [class*="wc-blocks-pattern-header"],
body header [class*="wc-blocks-pattern-header"] *,
body header [class*="wp-container-core-group"],
body [class*="template-part"] [class*="wp-container"] {
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-style: none !important;
}


/* === 隱藏 nav 中間的 site logo (品牌已在頂部 tagline 顯示) === */
.custom-logo,
.custom-logo-link,
.wp-block-site-logo {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* === 課程頁 hero 模仿首頁風格，但全部一樣颜色 === */
.phi-page-hero {
  background: transparent !important;
  padding: 100px 24px 80px !important;
  text-align: center !important;
}
.phi-page-hero-inner {
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}
.phi-page-hero h1 {
  font-size: clamp(48px, 7vw, 88px) !important;
  line-height: 1.15 !important;
  color: #f0ece4 !important;
  font-family: 'Cormorant Garamond', 'Playfair Display', 'Noto Serif TC', serif !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  margin: 24px auto !important;
  text-align: center !important;
}
.phi-page-hero h1 em,
.phi-page-hero h1 i,
.phi-page-hero h1 strong {
  color: #f0ece4 !important;
  font-style: normal !important;
  font-weight: inherit !important;
  font-family: inherit !important;
}
.phi-page-hero .phi-kicker,
.phi-page-hero .ofz-kicker {
  display: block !important;
  text-align: center !important;
  color: #b8755c !important;
  font-size: 12px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  margin-bottom: 24px !important;
}
.phi-page-hero p,
.phi-page-hero-sub {
  text-align: center !important;
  max-width: 640px !important;
  margin: 24px auto 0 !important;
  color: #a0998f !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}


/* === 複製首頁 hero 光暈 (linear-gradient 對角從冷暗到暖棕) === */
.phi-page-hero {
  background: linear-gradient(145deg, rgb(20, 16, 14) 0%, rgb(30, 27, 25) 35%, rgb(42, 31, 28) 68%, rgb(61, 42, 36) 100%) !important;
  position: relative !important;
  min-height: 60vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 120px 24px 100px !important;
}

/* 關於頁 hero 也一起套用同樣光暈 */
.page-id-564 .ofz-page-hero,
.page-id-784 .ofz-page-hero {
  background: linear-gradient(145deg, rgb(20, 16, 14) 0%, rgb(30, 27, 25) 35%, rgb(42, 31, 28) 68%, rgb(61, 42, 36) 100%) !important;
  position: relative !important;
  min-height: 50vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}


/* === 課程/關於/文章 hero h1 再縮小 === */
.phi-page-hero h1 {
  font-size: clamp(36px, 4.5vw, 56px) !important;
  letter-spacing: 4px !important;
  margin: 20px auto !important;
}
.page-id-564 .ofz-page-hero h1,
.page-id-784 .ofz-page-hero h1 {
  font-size: clamp(32px, 4vw, 48px) !important;
  letter-spacing: 3px !important;
}


/* === 課程頁 COURSES 章節標題 · 縮小到首頁 h2 一樣大小 (48px) === */
.ofz-courses-header h2,
.phi-page-section h2,
.ofz-courses-header h2 em {
  font-size: clamp(28px, 3.5vw, 48px) !important;
  line-height: 1.25 !important;
  letter-spacing: 1px !important;
}
.ofz-courses-header h2 {
  color: #f0ece4 !important;
  font-weight: 400 !important;
  margin: 16px 0 24px !important;
}
.ofz-courses-header h2 em {
  color: #d4b47a !important;
  font-style: italic !important;
}
.ofz-courses-header .phi-kicker,
.ofz-courses-header .ofz-kicker {
  color: #b8755c !important;
  font-size: 12px !important;
  letter-spacing: 4px !important;
}
.ofz-courses-header p {
  color: #a0998f !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  max-width: 720px !important;
}


/* === 課程頁 h2 的學習方式: 玫瑰金、無斜體 === */
.ofz-courses-header h2 em,
.ofz-courses-header h2 .ofz-rose-text,
.phi-page-section h2 em {
  color: #d89a80 !important;
  font-style: normal !important;
  font-weight: 400 !important;
}


/* === 思源宋體 (Noto Serif TC) 全站主字體 === */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400;1,500&family=Noto+Serif+TC:wght@300;400;500;600&display=swap');

/* 全站預設中文字體 - 思源宋體 Light */
body,
body *,
body p,
body li,
body a,
body span,
body td,
body th,
body input,
body button,
body label {
  font-family: 'Noto Serif TC', 'Cormorant Garamond', "思源宋體", serif !important;
  font-weight: 300 !important;
}

/* 標題用 Medium (500) - 保持重量感 */
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-heading,
body .ofz-page-hero h1,
body .phi-page-hero h1 {
  font-family: 'Cormorant Garamond', 'Noto Serif TC', serif !important;
  font-weight: 400 !important;
}

/* 中文標題細一點更優雅 */
body h1 em, body h2 em, body h3 em {
  font-family: 'Cormorant Garamond', 'Noto Serif TC', serif !important;
  font-weight: 400 !important;
}

/* 加粗 strong 與 button 使用 Medium */
body strong,
body b,
body button,
body .ofz-btn,
body [class*="btn-"] {
  font-weight: 500 !important;
}

/* nav 領航使用 Regular */
body nav,
body .wp-block-navigation,
body .wp-block-navigation a {
  font-weight: 400 !important;
  letter-spacing: 1px;
}


/* === 強制全站 思源宋體 · 全面覆蓋 === */
html, body,
html body *,
.wp-site-blocks,
.wp-site-blocks *,
main, main *,
footer, footer *,
header, header *,
nav, nav *,
div, p, span, li, td, th, a, label, input, button, textarea, select, h1, h2, h3, h4, h5, h6, em, strong, small {
  font-family: 'Noto Serif TC', 'Cormorant Garamond', "思源宋體", serif !important;
}

/* 內文輕量感 - Light 300 */
body, body p, body li, body span, body td, body a {
  font-weight: 300 !important;
}

/* 標題保持 Regular 400 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400 !important;
}

/* 加粗 Medium 500 */
strong, b, button, .ofz-btn, [class*='btn-'] {
  font-weight: 500 !important;
}


/* === 勝過主題 Montserrat 的高特異性覆蓋 === */
body.wp-singular .wp-block-navigation a,
html body .wp-block-navigation a,
html body .wp-block-navigation__container a,
html body footer a,
html body footer p,
html body footer h4,
html body footer,
html body footer * {
  font-family: 'Noto Serif TC', "思源宋體", serif !important;
}

/* body 本身也改 */
html body,
html.wp-toolbar body,
body.wp-singular {
  font-family: 'Noto Serif TC', "思源宋體", serif !important;
  font-weight: 300 !important;
}


/* === CURRICULUM 区塊 (課程頁) · 縮小與玫瑰金 === */
.phi-section-light .phi-grid-2 h2,
.phi-section-light h2,
.phi-section h2 {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.25 !important;
  letter-spacing: 1px !important;
  margin: 16px 0 24px !important;
}
.phi-section-light .phi-grid-2 h2 em,
.phi-section-light h2 em,
.phi-section h2 em {
  color: #d89a80 !important;
  font-weight: 400 !important;
}


/* === CTA Band em → 玫瑰金統一 === */
html body .phi-cta-inner h2 em {
  color: #d89a80 !important;
  font-style: normal !important;
}
html body .phi-cta-inner h2 {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  line-height: 1.3 !important;
}

/* === CURRICULUM h2 縮小 + em 玫瑰金（保險再加一次） === */
html body .phi-section-light h2,
html body .phi-section h2 {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.25 !important;
  letter-spacing: 1px !important;
}
html body .phi-section-light h2 em,
html body .phi-section h2 em {
  color: #d89a80 !important;
  font-weight: 400 !important;
  font-style: normal !important;
}


/* === 關於頁 em 統一玫瑰金 + h2 縮小 === */
.page-id-564 h1 em,
.page-id-564 h2 em,
.page-id-564 h3 em {
  color: #d89a80 !important;
  font-style: normal !important;
  font-weight: 400 !important;
}
.page-id-564 .phi-page-hero h1 {
  font-size: clamp(36px, 4.5vw, 60px) !important;
  line-height: 1.25 !important;
}
.page-id-564 .phi-page-hero h2,
.page-id-564 .phi-section h2,
.page-id-564 .phi-section-light h2 {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  line-height: 1.3 !important;
  letter-spacing: 1px !important;
}


/* === 關於頁 h1/h2 縮小 - 2026 === */
html body.page-id-564 h1,
html body.page-id-564 main h1 {
  font-size: clamp(34px, 4.5vw, 56px) !important;
  line-height: 1.25 !important;
}
html body.page-id-564 h2,
html body.page-id-564 main h2 {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  line-height: 1.3 !important;
  letter-spacing: 1px !important;
}


/* === OFZ 學生專區 STYLES v1 === */
.ofz-student-page { color:#f0ece4; background:#0d0d0d; }
.ofz-section { padding:80px 24px; }
.ofz-section-dark { background:#0d0d0d; }
.ofz-container { max-width:1280px; margin:0 auto; }
.ofz-container-narrow { max-width:560px; margin:0 auto; }

/* HERO override: copy homepage glow */
html body.page-id-925 .phi-page-hero,
.ofz-student-hero {
  background: linear-gradient(145deg, rgb(20,16,14) 0%, rgb(30,27,25) 35%, rgb(42,31,28) 68%, rgb(61,42,36) 100%) !important;
  padding: 120px 24px 80px !important;
}
html body.page-id-925 h1,
html body.page-id-925 .ofz-student-hero h1 {
  font-size: clamp(40px, 5.5vw, 68px) !important;
  color:#f0ece4 !important;
  line-height:1.2 !important;
  margin:8px 0 16px !important;
}
html body.page-id-925 h1 em { color:#d89a80 !important; font-style:normal !important; font-weight:400 !important; }
html body.page-id-925 h2 em,
html body.page-id-925 h3 em,
html body.page-id-925 h4 em { color:#d89a80 !important; font-style:normal !important; font-weight:400 !important; }
html body.page-id-925 h2 { font-size:clamp(28px,3.5vw,44px) !important; line-height:1.3 !important; color:#f0ece4; letter-spacing:1px; margin:8px 0 16px; }
html body.page-id-925 .phi-eyebrow { color:#d89a80; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; margin:0 0 8px; }
html body.page-id-925 .phi-hero-lead { color:rgba(240,236,228,0.7); font-size:16px; max-width:520px; margin:16px auto 0; line-height:1.7; }
.phi-hero-inner { text-align:center; max-width:900px; margin:0 auto; }

/* LOGIN CARD */
.ofz-login-card {
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(216,154,128,0.18);
  border-radius:4px;
  padding:56px 40px;
  text-align:center;
  backdrop-filter:blur(8px);
}
.ofz-login-icon { font-size:32px; color:#d89a80; margin-bottom:16px; }
.ofz-login-desc { color:rgba(240,236,228,0.7); font-size:14px; line-height:1.8; margin:16px 0 32px; }
.ofz-google-btn-wrap { margin: 24px 0 32px; display:flex; flex-direction:column; align-items:center; gap:12px; }
.ofz-google-btn-fallback {
  display:inline-flex; align-items:center; gap:12px;
  padding:14px 40px;
  background:#fff; color:#3c4043;
  border:1px solid rgba(0,0,0,0.1);
  border-radius:4px;
  font-size:14px; font-weight:500; letter-spacing:0.05em;
  cursor:pointer; transition:all 0.2s;
  font-family:inherit;
}
.ofz-google-btn-fallback:hover { box-shadow:0 2px 8px rgba(216,154,128,0.2); transform:translateY(-1px); }
.ofz-g-ico {
  display:inline-flex; align-items:center; justify-content:center;
  width:20px; height:20px; border-radius:50%;
  background:conic-gradient(from 0deg, #4285F4, #34A853, #FBBC05, #EA4335, #4285F4);
  color:#fff; font-weight:700; font-size:12px; font-family:Arial,sans-serif;
}
.ofz-login-divider { position:relative; margin:32px 0 24px; color:rgba(240,236,228,0.4); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; }
.ofz-login-divider::before { content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:rgba(216,154,128,0.15); }
.ofz-login-divider span { position:relative; background:#0d0d0d; padding:0 16px; }
.ofz-login-help { list-style:none; padding:0; text-align:left; max-width:380px; margin:0 auto; }
.ofz-login-help li { color:rgba(240,236,228,0.65); font-size:13px; padding:6px 0; line-height:1.7; }
.ofz-login-help li::first-letter { color:#d89a80; }


/* === OFZ 學生專區 STYLES v2 === */
.ofz-welcome-bar { display:flex; justify-content:space-between; align-items:center; padding:32px 0; border-bottom:1px solid rgba(216,154,128,0.15); margin-bottom:48px; gap:24px; flex-wrap:wrap; }
.ofz-welcome-bar h2 { margin:0; }
.ofz-welcome-sub { color:rgba(240,236,228,0.5); font-size:12px; margin:4px 0 0; letter-spacing:0.05em; }
#ofz-logout-btn { padding:10px 24px; background:transparent; color:rgba(240,236,228,0.7); border:1px solid rgba(216,154,128,0.3); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; transition:all 0.2s; border-radius:0; font-family:inherit; }
#ofz-logout-btn:hover { background:rgba(216,154,128,0.1); color:#d89a80; border-color:#d89a80; }

/* PROGRESS CARDS */
.ofz-progress-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:80px; }
.ofz-progress-card { background:rgba(255,255,255,0.02); border:1px solid rgba(216,154,128,0.12); padding:32px 24px; text-align:center; border-radius:4px; }
.ofz-progress-num { display:block; font-family:"Cormorant Garamond","Noto Serif TC",serif; font-size:48px; color:#d89a80; line-height:1; font-weight:300; margin-bottom:8px; }
.ofz-progress-label { display:block; color:rgba(240,236,228,0.55); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; }

/* SECTION HEAD */
.ofz-section-head { text-align:center; margin-bottom:48px; }
.ofz-section-head .phi-eyebrow { display:block; }

/* COURSE GRID */
.ofz-course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ofz-course-card { background:rgba(255,255,255,0.02); border:1px solid rgba(216,154,128,0.12); border-radius:4px; overflow:hidden; transition:all 0.3s; display:flex; flex-direction:column; }
.ofz-course-card:hover { transform:translateY(-4px); border-color:rgba(216,154,128,0.4); box-shadow:0 12px 32px rgba(0,0,0,0.4); }
.ofz-course-thumb { position:relative; aspect-ratio:16/9; background:linear-gradient(135deg, rgba(216,154,128,0.18), rgba(61,42,36,0.6)); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ofz-course-icon { font-size:48px; color:rgba(216,154,128,0.5); }
.ofz-course-tag { position:absolute; top:12px; left:12px; padding:4px 10px; background:rgba(0,0,0,0.5); color:#d89a80; font-size:10px; letter-spacing:0.2em; }
.ofz-lock-badge { position:absolute; top:12px; right:12px; padding:4px 10px; background:rgba(0,0,0,0.7); color:rgba(240,236,228,0.7); font-size:10px; letter-spacing:0.15em; border:1px solid rgba(240,236,228,0.2); }
.ofz-course-body { padding:24px; flex:1; display:flex; flex-direction:column; }
.ofz-course-body h3 { font-size:18px; color:#f0ece4; margin:0 0 8px; line-height:1.4; font-weight:400; font-family:"Cormorant Garamond","Noto Serif TC",serif; }
.ofz-course-body h3 em { display:block; font-size:13px; color:rgba(216,154,128,0.8); font-style:normal; letter-spacing:0.05em; margin-top:2px; }
.ofz-course-body p { color:rgba(240,236,228,0.6); font-size:13px; line-height:1.7; margin:0 0 16px; flex:1; }
.ofz-course-meta { display:flex; justify-content:space-between; color:rgba(240,236,228,0.45); font-size:11px; letter-spacing:0.05em; margin-bottom:12px; }
.ofz-bar { height:3px; background:rgba(216,154,128,0.12); border-radius:3px; overflow:hidden; margin-bottom:16px; }
.ofz-bar-fill { height:100%; background:linear-gradient(90deg,#d89a80,#e8b39a); }
.ofz-course-cta { padding:12px 20px; background:transparent; color:#d89a80; border:1px solid rgba(216,154,128,0.4); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; transition:all 0.2s; font-family:inherit; }
.ofz-course-cta:hover { background:#d89a80; color:#0d0d0d; }
.ofz-card-locked .ofz-course-cta { color:rgba(240,236,228,0.5); border-color:rgba(240,236,228,0.2); }
.ofz-card-locked:hover { transform:none; }
.ofz-card-completed .ofz-course-icon { color:#d89a80; }

/* RESOURCES */
.ofz-resource-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ofz-resource-card { display:flex; align-items:center; gap:16px; padding:24px; background:rgba(255,255,255,0.02); border:1px solid rgba(216,154,128,0.12); text-decoration:none; color:inherit; border-radius:4px; transition:all 0.2s; }
.ofz-resource-card:hover { border-color:#d89a80; background:rgba(216,154,128,0.05); }
.ofz-resource-ico { font-size:24px; color:#d89a80; flex-shrink:0; }
.ofz-resource-card h4 { font-size:14px; color:#f0ece4; margin:0 0 4px; font-weight:400; }
.ofz-resource-card p { font-size:12px; color:rgba(240,236,228,0.5); margin:0; line-height:1.5; }

/* HIDE page title (we have our own hero) */
.page-id-925 .wp-block-post-title { display:none !important; }

/* RESPONSIVE */
@media (max-width:900px) {
  .ofz-progress-row { grid-template-columns:repeat(2,1fr); }
  .ofz-course-grid { grid-template-columns:1fr; }
  .ofz-resource-grid { grid-template-columns:1fr 1fr; }
}


/* === OFZ ADMIN WHITELIST PAGE v1 === */
.ofz-admin-page { color:#f0ece4; background:#0d0d0d; }
html body.page-id-944 .phi-page-hero, .ofz-admin-hero { background: linear-gradient(145deg, rgb(20,16,14) 0%, rgb(30,27,25) 35%, rgb(42,31,28) 68%, rgb(61,42,36) 100%) !important; padding: 120px 24px 80px !important; }
html body.page-id-944 h1 { font-size: clamp(38px, 5vw, 60px) !important; line-height: 1.2 !important; color:#f0ece4 !important; margin: 8px 0 16px !important; }
html body.page-id-944 h1 em, html body.page-id-944 h2 em, html body.page-id-944 h3 em { color:#d89a80 !important; font-style:normal !important; font-weight:400 !important; }
html body.page-id-944 h2 { font-size: clamp(24px, 3vw, 36px) !important; color:#f0ece4; line-height:1.3; margin:8px 0 16px; }
html body.page-id-944 h3 { font-size: 20px; color:#f0ece4; margin:24px 0 8px; font-weight:400; }
html body.page-id-944 h4 { font-size: 14px; color:#d89a80; margin:24px 0 8px; letter-spacing:0.1em; text-transform:uppercase; }
html body.page-id-944 .phi-eyebrow { color:#d89a80; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; margin: 0 0 8px; }
html body.page-id-944 .wp-block-post-title { display:none !important; }
.ofz-admin-bar { display:flex; justify-content:space-between; align-items:center; padding:32px 0; border-bottom:1px solid rgba(216,154,128,0.15); margin-bottom:48px; gap:24px; flex-wrap:wrap; }
#admin-logout { padding:10px 24px; background:transparent; color:rgba(240,236,228,0.7); border:1px solid rgba(216,154,128,0.3); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; border-radius:0; font-family:inherit; }
#admin-logout:hover { background:rgba(216,154,128,0.1); color:#d89a80; border-color:#d89a80; }
.ofz-card-wrap { background:rgba(255,255,255,0.02); border:1px solid rgba(216,154,128,0.12); padding:32px; border-radius:4px; }
.ofz-desc { color:rgba(240,236,228,0.6); font-size:13px; margin:0 0 16px; }
.ofz-textarea { width:100%; min-height:240px; background:#0d0d0d; color:#f0ece4; border:1px solid rgba(216,154,128,0.2); padding:16px; font-family:Menlo,Consolas,monospace; font-size:13px; line-height:1.6; border-radius:2px; resize:vertical; box-sizing:border-box; }
.ofz-textarea:focus { outline:none; border-color:#d89a80; }
.ofz-row-actions { display:flex; gap:8px; margin:16px 0; }
.ofz-row-actions input { flex:1; background:#0d0d0d; color:#f0ece4; border:1px solid rgba(216,154,128,0.2); padding:10px 14px; font-size:13px; border-radius:2px; box-sizing:border-box; }
.ofz-row-actions input:focus { outline:none; border-color:#d89a80; }
#wl-add-input-btn { padding:10px 18px; background:transparent; color:#d89a80; border:1px solid rgba(216,154,128,0.4); font-size:12px; letter-spacing:0.05em; cursor:pointer; border-radius:0; font-family:inherit; }
#wl-add-input-btn:hover { background:rgba(216,154,128,0.1); }
.ofz-action-bar { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin-top:24px; padding-top:24px; border-top:1px solid rgba(216,154,128,0.1); flex-wrap:wrap; }
.ofz-status { flex:1; font-size:13px; }
#wl-reload, #wl-save { padding:12px 28px; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; border-radius:0; font-family:inherit; }
#wl-reload { background:transparent; color:rgba(240,236,228,0.7); border:1px solid rgba(216,154,128,0.3); }
#wl-reload:hover { color:#d89a80; border-color:#d89a80; }
.ofz-primary { background:#d89a80; color:#0d0d0d; border:1px solid #d89a80; font-weight:600; }
.ofz-primary:hover { background:#e8b39a; }
.ofz-warn-box { background:rgba(255,170,80,0.08); border:1px solid rgba(255,170,80,0.3); color:#ffd194; padding:16px 20px; border-radius:4px; margin-bottom:24px; font-size:13px; }
.ofz-warn-box a { color:#ffd194; text-decoration:underline; }
.ofz-help-box { margin-top:32px; padding:24px 32px; background:rgba(255,255,255,0.02); border:1px solid rgba(216,154,128,0.1); border-radius:4px; }
.ofz-help-box ul { list-style:none; padding:0; margin:8px 0 0; }
.ofz-help-box li { color:rgba(240,236,228,0.65); font-size:13px; padding:4px 0; line-height:1.7; }
.ofz-help-box li::first-letter { color:#d89a80; }


/* === OFZ COURSE DETAIL PAGE v1 === */
.ofz-course-page { color:#f0ece4; background:#0d0d0d; }
html body.page-id-961 .phi-page-hero, .ofz-course-hero { background: linear-gradient(145deg, rgb(20,16,14) 0%, rgb(30,27,25) 35%, rgb(42,31,28) 68%, rgb(61,42,36) 100%) !important; padding: 120px 24px 64px !important; }
html body.page-id-961 h1 { font-size: clamp(38px, 5vw, 60px) !important; color:#f0ece4 !important; line-height:1.2; margin: 8px 0 16px !important; }
html body.page-id-961 h2 { font-size: clamp(24px, 3vw, 36px) !important; color:#f0ece4; line-height:1.3; margin:8px 0 16px; }
html body.page-id-961 h2 em, html body.page-id-961 h3 em { color:#d89a80 !important; font-style:normal !important; font-weight:400 !important; }
html body.page-id-961 .phi-eyebrow { color:#d89a80; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; margin: 0 0 8px; }
html body.page-id-961 .wp-block-post-title { display:none !important; }
.ofz-course-topbar { display:flex; justify-content:space-between; align-items:center; padding: 24px 0; border-bottom:1px solid rgba(216,154,128,0.15); margin-bottom: 32px; gap: 16px; flex-wrap: wrap; }
.ofz-back-link { color:rgba(240,236,228,0.6); font-size:13px; text-decoration:none; letter-spacing:0.05em; }
.ofz-back-link:hover { color:#d89a80; }
.ofz-course-progress { flex:1; max-width: 400px; }
.ofz-course-progress .phi-eyebrow { display:block; margin-bottom: 6px; }
.ofz-course-progress span:last-child { display:block; font-size:11px; color:rgba(240,236,228,0.55); margin-top: 6px; letter-spacing:0.05em; }
#course-logout-btn { padding:8px 18px; background:transparent; color:rgba(240,236,228,0.7); border:1px solid rgba(216,154,128,0.3); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; border-radius:0; font-family:inherit; }
#course-logout-btn:hover { color:#d89a80; border-color:#d89a80; }
.ofz-course-grid-2 { display:grid; grid-template-columns: 320px 1fr; gap: 32px; }
@media (max-width: 900px) { .ofz-course-grid-2 { grid-template-columns: 1fr; } }
.ofz-chapter-list h3 { font-size:14px; color:rgba(216,154,128,0.9); letter-spacing:0.1em; text-transform:uppercase; margin:0 0 16px; }
.ofz-chapter-list ol { list-style: none; padding:0; margin:0; }
.ofz-chapter-item { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; background:rgba(255,255,255,0.02); border:1px solid rgba(216,154,128,0.08); margin-bottom: 8px; cursor:pointer; transition: all 0.2s; border-radius:2px; }
.ofz-chapter-item:hover { border-color: rgba(216,154,128,0.4); background:rgba(216,154,128,0.05); }
.ofz-chapter-item.active { border-color: #d89a80; background:rgba(216,154,128,0.08); }
.ofz-chapter-item .ch-num { color:#d89a80; font-family:"Cormorant Garamond",serif; font-size:20px; line-height:1; min-width: 28px; }
.ofz-chapter-item .ch-title { font-size:13px; color:#f0ece4; line-height:1.5; margin-bottom: 2px; }
.ofz-chapter-item .ch-dur { font-size:11px; color:rgba(240,236,228,0.5); }
.ofz-course-main h3 { font-size: 22px; color:#f0ece4; margin: 16px 0 8px; font-weight: 400; font-family:"Cormorant Garamond","Noto Serif TC",serif; }
.ofz-chapter-desc { color: rgba(240,236,228,0.6); font-size: 14px; line-height: 1.7; margin: 0 0 24px; }
.ofz-video-frame { background:#000; aspect-ratio: 16/9; border:1px solid rgba(216,154,128,0.18); border-radius: 4px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.ofz-video-frame iframe { width:100%; height:100%; }
.ofz-video-placeholder { text-align:center; color:rgba(240,236,228,0.6); }
.ofz-video-placeholder p { margin: 16px 0 0; font-size: 13px; letter-spacing:0.05em; }
.ofz-resource-section h4 { font-size:12px; color:#d89a80; letter-spacing:0.2em; text-transform:uppercase; margin: 24px 0 12px; }
.ofz-back-btn { display:inline-block; padding:12px 28px; background:transparent; color:#d89a80; border:1px solid rgba(216,154,128,0.4); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; transition:all 0.2s; }
.ofz-back-btn:hover { background:rgba(216,154,128,0.1); }


/* === OFZ ADMIN ENROLLMENT TABLE v1 === */
.ofz-students-table { background:#0d0d0d; border:1px solid rgba(216,154,128,0.15); border-radius:4px; margin-bottom:24px; overflow-x:auto; }
.ofz-st-row { display:grid; grid-template-columns: minmax(220px, 2fr) repeat(8, 1fr); gap:8px; align-items:center; padding:12px 16px; border-bottom:1px solid rgba(216,154,128,0.08); }
.ofz-st-row:last-child { border-bottom: none; }
.ofz-st-head { background:rgba(216,154,128,0.08); color:#d89a80; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; }
.ofz-st-email { color:#f0ece4; font-size:13px; font-family:Menlo,Consolas,monospace; word-break:break-all; }
.ofz-st-col { text-align:center; }
.ofz-st-col input[type=checkbox] { width:18px; height:18px; cursor:pointer; accent-color:#d89a80; }
.ofz-st-col input[disabled] { opacity:0.4; cursor:not-allowed; }
.ofz-st-remove { width:28px; height:28px; padding:0; background:transparent; color:rgba(255,112,102,0.7); border:1px solid rgba(255,112,102,0.3); cursor:pointer; border-radius:50%; font-size:14px; line-height:1; font-family:inherit; }
.ofz-st-remove:hover { background:rgba(255,112,102,0.1); color:#ff7066; }
.ofz-students-empty { padding:32px; text-align:center; color:rgba(240,236,228,0.5); font-size:13px; }
@media (max-width: 900px) { .ofz-st-row { grid-template-columns: 1fr; gap:4px; padding:16px; } .ofz-st-head { display:none; } .ofz-st-col { text-align:left; } .ofz-st-col::before { content: attr(data-label); color:rgba(216,154,128,0.6); font-size:11px; margin-right:8px; } }


/* Force pill color override */
.ofz-section-light .ofz-section-dark .ofz-price-table .price span,
html body .ofz-price-table .price span { color: #b8a06a !important; }
html body .ofz-price-table .price span:hover { background: #b8a06a !important; color: #0a0a0a !important; }




/* NAV-CENTER-FIX-START */
html body header.wp-block-template-part .wp-block-group.alignfull[class*="wc-blocks-pattern-header"]{justify-content:center !important;}
html body header.wp-block-template-part .wp-block-group.alignfull > .wp-block-group.is-nowrap:first-child{display:none !important;}
/* NAV-CENTER-FIX-END */



/* NAV-TIGHTEN-START */
html body header.wp-block-template-part .wp-block-navigation .wp-block-navigation__container,html body header.wp-block-template-part .wp-block-navigation > ul,html body header.wp-block-template-part nav.wp-block-navigation ul{gap:40px !important;column-gap:40px !important;}
html body header.wp-block-template-part .wp-block-group.alignfull[class*="wc-blocks-pattern-header"]{padding:0 !important;min-height:auto !important;}
html body header.wp-block-template-part .wp-block-group.is-nowrap{padding:18px 40px !important;min-height:auto !important;}
/* NAV-TIGHTEN-END */

/* NAV-DECOR-CLEAN-START */
/* Kill any decorations / dots / borders inside nav items */
html body header .wp-block-navigation li,html body header .wp-block-navigation li::before,html body header .wp-block-navigation li::after,html body header .wp-block-navigation a::before,html body header .wp-block-navigation a::after{list-style:none !important;background:none !important;border:none !important;text-decoration:none !important;box-shadow:none !important;content:none !important;}
html body header .wp-block-navigation li{list-style:none !important;padding:0 !important;margin:0 !important;}
html body header .wp-block-navigation__submenu-icon,html body header svg.wp-block-navigation__submenu-icon{display:none !important;}
/* Re-affirm centering for any viewport */
html body header.wp-block-template-part .wp-block-group.alignfull[class*="wc-blocks-pattern-header"]{justify-content:center !important;align-items:center !important;}
html body header.wp-block-template-part .wp-block-group.alignfull > .wp-block-group.is-nowrap:first-child{display:none !important;}
/* NAV-DECOR-CLEAN-END */

/* NAV-SVG-NUKE-START */
/* Hide all SVG icons + responsive open/close buttons from nav at any viewport */
html body header .wp-block-navigation svg,html body header .wp-block-navigation__responsive-container-open,html body header .wp-block-navigation__responsive-container-close,html body header button.wp-block-navigation__responsive-container-open,html body header button.wp-block-navigation__responsive-container-close{display:none !important;visibility:hidden !important;opacity:0 !important;width:0 !important;height:0 !important;}
html body header .wp-block-navigation__submenu-icon{display:none !important;}
/* NAV-SVG-NUKE-END */

/* HIDE-POST-TITLE-START */
html body h1.wp-block-post-title,html body .wp-block-post-title{display:none !important;}
/* HIDE-POST-TITLE-END */

/* OFZ-SECTION-LIGHT-DARK-START */
html body .ofz-section-light{background:#0d0d0d !important;color:#d0ccc4 !important;}
html body .ofz-section-light *:not(.ofz-kicker):not(em){color:inherit !important;}
html body .ofz-section-light .ofz-kicker{color:#b8a06a !important;}
html body .ofz-section-light h1,html body .ofz-section-light h2,html body .ofz-section-light h3{color:#f0ece4 !important;}
html body .ofz-section-light p{color:#d0ccc4 !important;}
/* OFZ-SECTION-LIGHT-DARK-END */

/* GRID-2-ALIGN-CENTER-START */
html body .ofz-grid-2{align-items:center !important;}
/* GRID-2-ALIGN-CENTER-END */

/* PRICE-TABLE-LUXE-START */
html body .ofz-price-table{width:100% !important;border-collapse:collapse !important;background:linear-gradient(180deg,#0a0a0a 0%,#0d0d0d 100%) !important;border:1px solid rgba(184,160,106,0.25) !important;border-radius:2px !important;overflow:hidden !important;box-shadow:0 20px 60px rgba(0,0,0,0.4) !important;}
html body .ofz-price-table thead th{background:linear-gradient(180deg,rgba(184,160,106,0.04) 0%,transparent 100%) !important;color:#b8a06a !important;border-bottom:1px solid rgba(184,160,106,0.35) !important;font-size:10px !important;padding:24px 28px !important;letter-spacing:5px !important;font-weight:500 !important;text-transform:uppercase !important;font-family:Montserrat,sans-serif !important;}
html body .ofz-price-table tbody tr{border-bottom:1px solid rgba(184,160,106,0.06) !important;transition:all .4s ease !important;position:relative !important;}
html body .ofz-price-table tbody tr:hover{background:linear-gradient(90deg,rgba(184,160,106,0.04) 0%,rgba(184,160,106,0.06) 50%,rgba(184,160,106,0.04) 100%) !important;}
html body .ofz-price-table tbody tr:last-child{border-bottom:none !important;}
html body .ofz-price-table tbody td{padding:32px 28px !important;color:#d0ccc4 !important;font-size:14px !important;vertical-align:middle !important;}
html body .ofz-price-table tbody td:nth-child(1){color:#f0ece4 !important;font-weight:500 !important;letter-spacing:3px !important;font-size:17px !important;font-family:"Noto Serif TC",serif !important;position:relative !important;padding-left:48px !important;}
html body .ofz-price-table tbody td:nth-child(1)::before{content:"";position:absolute;left:28px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#b8a06a;box-shadow:0 0 12px rgba(184,160,106,0.5);}
html body .ofz-price-table tbody td:nth-child(2){color:#888279 !important;font-size:13px !important;letter-spacing:2px !important;font-style:italic !important;}
html body .ofz-price-table .price span{display:inline-block !important;color:#b8a06a !important;background:transparent !important;border:1px solid rgba(184,160,106,0.45) !important;padding:11px 32px !important;font-size:11px !important;letter-spacing:5px !important;font-weight:500 !important;border-radius:1px !important;font-family:Montserrat,sans-serif !important;text-transform:uppercase !important;transition:all .35s ease !important;position:relative !important;}
html body .ofz-price-table .price span::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(184,160,106,0.08) 0%,transparent 100%);pointer-events:none;}
html body .ofz-price-table .price span:hover{background:#b8a06a !important;color:#0a0a0a !important;border-color:#b8a06a !important;box-shadow:0 0 20px rgba(184,160,106,0.4) !important;letter-spacing:6px !important;}
/* Title gradient gold */
html body .ofz-section-dark .ofz-section h2 em{background:linear-gradient(135deg,#d4b47a 0%,#b8a06a 50%,#9d8a5a 100%) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;color:transparent !important;font-style:normal !important;}
/* PRICE-TABLE-LUXE-END */

/* LINE-BTN-GLOBAL-START */
/* All LINE links + ofz-btn site-wide: unified gold pill + centered */
html body a[href*="line.me"],html body a.ofz-btn,html body a.ofz-line-btn{display:inline-block !important;background:#b8a06a !important;color:#0a0a0a !important;padding:16px 44px !important;font-size:14px !important;letter-spacing:4px !important;font-weight:500 !important;border:none !important;border-radius:40px !important;text-decoration:none !important;font-family:Montserrat,"Noto Serif TC",sans-serif !important;text-align:center !important;cursor:pointer !important;transition:all .35s ease !important;box-shadow:0 6px 20px rgba(184,160,106,0.25) !important;line-height:1 !important;min-width:200px !important;text-transform:none !important;}
html body a[href*="line.me"]:hover,html body a.ofz-btn:hover{background:#cdb478 !important;color:#0a0a0a !important;box-shadow:0 8px 28px rgba(184,160,106,0.45) !important;letter-spacing:5px !important;transform:translateY(-1px) !important;}
/* Wrap parent of LINE buttons to center them on new line */
html body p:has(a[href*="line.me"]),html body p:has(a.ofz-btn){text-align:center !important;}
html body p > a[href*="line.me"],html body p > a.ofz-btn{display:inline-block !important;margin:20px auto !important;}
/* LINE-BTN-GLOBAL-END */

/* TEACHER-PHOTO-EQUAL-START */
html body .ofz-teacher-photo,html body .ofz-teacher-card .ofz-teacher-photo{aspect-ratio:3/4 !important;width:100% !important;height:auto !important;overflow:hidden !important;display:block !important;position:relative !important;border-radius:6px !important;}
html body .ofz-teacher-photo-img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 18% !important;display:block !important;}

/* TEACHER-PHOTO-EQUAL-END */

/* OFZ-CTA-COLOR-FIX-START */
html body .ofz-page .ofz-cta.ofz-cta .ofz-small-label,html body .entry-content .ofz-cta.ofz-cta .ofz-small-label{color:#b8a06a !important;letter-spacing:5px !important;}
html body .ofz-page .ofz-cta.ofz-cta h2{color:#f0ece4 !important;font-family:"Cormorant Garamond","Noto Serif TC",serif !important;font-weight:300 !important;}
html body .ofz-page .ofz-cta.ofz-cta p{color:#a8a298 !important;}
html body .ofz-page .ofz-cta.ofz-cta a,html body .entry-content .ofz-cta.ofz-cta a{display:inline-block !important;background:#b8a06a !important;color:#0a0a0a !important;padding:16px 44px !important;font-size:14px !important;letter-spacing:4px !important;font-weight:500 !important;border:none !important;border-radius:40px !important;text-decoration:none !important;font-family:Montserrat,"Noto Serif TC",sans-serif !important;text-align:center !important;line-height:1 !important;min-width:200px !important;margin-top:32px !important;box-shadow:0 6px 20px rgba(184,160,106,0.25) !important;transition:all .35s ease !important;}
html body .ofz-page .ofz-cta.ofz-cta a:hover{background:#cdb478 !important;transform:translateY(-1px) !important;}
/* OFZ-CTA-COLOR-FIX-END */

/* MISSION-GRID-STRETCH-FIX */
html body .ofz-mission-grid{align-items:stretch !important;}

/* STUDENT-CARD-LOCK-VISUAL */
html body .ofz-card-locked{filter:grayscale(.85) brightness(.55) !important;opacity:.85 !important;position:relative !important;cursor:not-allowed !important;}
html body .ofz-card-locked::before{content:"\1F512  未開通" !important;position:absolute !important;top:14px !important;right:14px !important;background:rgba(0,0,0,.92) !important;color:#b8a06a !important;padding:7px 16px !important;border-radius:24px !important;font-size:11px !important;letter-spacing:3px !important;font-weight:500 !important;border:1px solid rgba(184,160,106,.55) !important;z-index:10 !important;font-family:Montserrat,sans-serif !important;}
html body .ofz-card-locked .ofz-course-cta{background:transparent !important;border:1px solid rgba(184,160,106,.4) !important;color:#b8a06a !important;}
html body .ofz-card-locked:hover{filter:grayscale(.7) brightness(.7) !important;opacity:1 !important;}

/* WC-SHOW-PRODUCT-TITLE — override the global hide-post-title for product pages */
html body.single-product h1.wp-block-post-title,
html body.single-product .wp-block-post-title,
html body.single-product h1.product_title{display:block !important;color:#f0ece4 !important;font-family:Cormorant Garamond,Noto Serif TC,serif !important;font-size:42px !important;font-weight:300 !important;letter-spacing:2px !important;margin:0 0 20px !important;}

/* WC-PAGE-CLEARANCE-V2 — use margin-top so footer flex isn't affected */
html body.single-product .wp-site-blocks > .wp-block-group.product,
html body.post-type-archive-product .wp-site-blocks > .wp-block-group:not(footer),
html body.woocommerce-cart .wp-site-blocks > .wp-block-group:not(footer),
html body.woocommerce-checkout .wp-site-blocks > .wp-block-group:not(footer),
html body.woocommerce-account .wp-site-blocks > .wp-block-group:not(footer){margin-top:230px !important;padding-top:0 !important;}
/* Hide review sections on product pages */
html body.single-product #reviews,html body.single-product #review_form_wrapper,html body.single-product .woocommerce-tabs .reviews_tab,html body.single-product .wc-tab.reviews{display:none !important;}
/* Ensure footer never collapses */
html body.single-product footer.wp-block-template-part > div,html body.single-product footer .wp-block-group.alignfull{min-height:auto !important;flex:none !important;}

/* FOOTER-HEIGHT-FIX — unlock footer wrapper from forced 100px height */
html body footer.wp-block-template-part > .wp-block-group,
html body footer.wp-block-template-part > div.wp-block-group{height:auto !important;min-height:auto !important;}

/* FOOTER-ALIGN-TOP-FIX — top-align footer columns so they don't overlap menu */
html body footer.wp-block-template-part > .wp-block-group{align-items:flex-start !important;}
html body footer.wp-block-template-part .wp-block-columns{align-items:flex-start !important;}

/* FOOTER-3COL-FIX — hide menu column on WC pages so only 3 columns show */
html body.single-product footer .wp-block-columns > .wp-block-column:first-child,
html body.woocommerce-page footer .wp-block-columns > .wp-block-column:first-child,
html body.woocommerce footer .wp-block-columns > .wp-block-column:first-child,
html body.post-type-archive-product footer .wp-block-columns > .wp-block-column:first-child,
html body.woocommerce-cart footer .wp-block-columns > .wp-block-column:first-child,
html body.woocommerce-checkout footer .wp-block-columns > .wp-block-column:first-child,
html body.woocommerce-account footer .wp-block-columns > .wp-block-column:first-child{display:none !important;}

/* FOOTER-COL-AUTO-WIDTH — let WC product footer columns size naturally like homepage */
html body.single-product footer.wp-block-template-part .wp-block-column,
html body.woocommerce-page footer.wp-block-template-part .wp-block-column,
html body.post-type-archive-product footer.wp-block-template-part .wp-block-column,
html body.woocommerce-cart footer.wp-block-template-part .wp-block-column,
html body.woocommerce-checkout footer.wp-block-template-part .wp-block-column,
html body.woocommerce-account footer.wp-block-template-part .wp-block-column{flex-basis:auto !important;flex-grow:1 !important;}
html body.single-product footer.wp-block-template-part .wp-block-column:first-child,
html body.woocommerce-page footer.wp-block-template-part .wp-block-column:first-child,
html body.post-type-archive-product footer.wp-block-template-part .wp-block-column:first-child,
html body.woocommerce-cart footer.wp-block-template-part .wp-block-column:first-child,
html body.woocommerce-checkout footer.wp-block-template-part .wp-block-column:first-child,
html body.woocommerce-account footer.wp-block-template-part .wp-block-column:first-child{flex-basis:0 !important;flex-grow:0 !important;display:none !important;}

/* FOOTER-COL-MINWIDTH — give columns min-width like homepage so address doesn't wrap */
html body.single-product footer.wp-block-template-part .wp-block-column:not(:first-child),
html body.woocommerce-page footer.wp-block-template-part .wp-block-column:not(:first-child),
html body.post-type-archive-product footer.wp-block-template-part .wp-block-column:not(:first-child),
html body.woocommerce-cart footer.wp-block-template-part .wp-block-column:not(:first-child),
html body.woocommerce-checkout footer.wp-block-template-part .wp-block-column:not(:first-child),
html body.woocommerce-account footer.wp-block-template-part .wp-block-column:not(:first-child){min-width:240px !important;}

/* FOOTER-NUKE-BORDERS — kill the mystery white borders on footer text */
html body footer.wp-block-template-part .has-border-color,
html body footer.wp-block-template-part .wp-block-heading.has-border-color,
html body footer.wp-block-template-part p.has-border-color,
html body footer.wp-block-template-part h2.has-border-color,
html body footer.wp-block-template-part h3.has-border-color,
html body footer.wp-block-template-part h4.has-border-color,
html body footer.wp-block-template-part [class*="has-border"]{border:0 !important;border-width:0 !important;outline:none !important;}

/* WC-OFZ-THEME — apply OFZ brand palette to all WC pages */
html body.woocommerce-page,html body.single-product,html body.woocommerce-cart,html body.woocommerce-checkout,html body.woocommerce-account,html body.post-type-archive-product{background:#0a0806 !important;color:#d4cdc1 !important;}
/* Product title + headings */
html body.woocommerce-page h1.product_title,html body.single-product h1.product_title,html body.single-product h1.wp-block-post-title{color:#f0ece4 !important;font-family:"Noto Sans TC","Noto Serif TC",serif !important;font-weight:300 !important;}
html body.woocommerce-page h1,html body.woocommerce-page h2,html body.woocommerce-page h3,html body.single-product h1,html body.single-product h2,html body.single-product h3,html body.woocommerce-cart h1,html body.woocommerce-checkout h1{color:#f0ece4 !important;}
/* Price = gold */
html body.woocommerce-page .price,html body.single-product .price,html body.single-product .price .woocommerce-Price-amount{color:#b8755c !important;font-family:"Cormorant Garamond","Noto Serif TC",serif !important;font-size:32px !important;font-weight:400 !important;letter-spacing:1px !important;}
/* SKU + meta */
html body.single-product .sku_wrapper,html body.single-product .product_meta,html body.single-product .posted_in{color:#a8a298 !important;font-size:12px !important;letter-spacing:3px !important;text-transform:uppercase !important;}
html body.single-product .sku{color:#b8a06a !important;}
/* Quantity selector */
html body.woocommerce-page .quantity input.qty,html body.single-product .quantity input.qty{background:transparent !important;border:1px solid #b8a06a !important;color:#f0ece4 !important;padding:14px 8px !important;font-family:Montserrat,sans-serif !important;}
/* Add to cart + main buttons — gold outline style */
html body.woocommerce-page .button,html body.woocommerce-page button.button,html body.woocommerce-page input[type="submit"].button,html body.woocommerce-page button.single_add_to_cart_button,html body.single-product .button,html body.single-product button.button,html body.single-product .single_add_to_cart_button,html body.woocommerce-cart .button,html body.woocommerce-checkout .button,html body.woocommerce-account .button{background:transparent !important;border:1px solid #b8a06a !important;color:#b8a06a !important;font-family:Montserrat,sans-serif !important;font-size:13px !important;letter-spacing:4px !important;font-weight:500 !important;padding:16px 36px !important;border-radius:0 !important;text-transform:uppercase !important;transition:all .3s ease !important;}
html body.woocommerce-page .button:hover,html body.single-product .button:hover,html body.single-product .single_add_to_cart_button:hover,html body.woocommerce-cart .button:hover,html body.woocommerce-checkout .button:hover{background:#b8a06a !important;color:#0a0a0a !important;}
/* Inputs + selects */
html body.woocommerce-page input[type="text"],html body.woocommerce-page input[type="email"],html body.woocommerce-page input[type="tel"],html body.woocommerce-page input[type="password"],html body.woocommerce-page input[type="number"],html body.woocommerce-page textarea,html body.woocommerce-page select{background:transparent !important;border:none !important;border-bottom:1px solid rgba(184,160,106,.5) !important;color:#f0ece4 !important;padding:10px 0 !important;font-family:Montserrat,sans-serif !important;border-radius:0 !important;}
html body.woocommerce-page input:focus,html body.woocommerce-page textarea:focus,html body.woocommerce-page select:focus{outline:none !important;border-bottom-color:#b8a06a !important;}
/* Tables */
html body.woocommerce-page table,html body.woocommerce-page .shop_table{background:transparent !important;color:#f0ece4 !important;border:1px solid rgba(184,160,106,.25) !important;}
html body.woocommerce-page table th,html body.woocommerce-page .shop_table th{color:#b8a06a !important;font-size:11px !important;letter-spacing:3px !important;text-transform:uppercase !important;border-bottom:1px solid rgba(184,160,106,.4) !important;background:transparent !important;padding:16px !important;}
html body.woocommerce-page table td,html body.woocommerce-page .shop_table td{color:#f0ece4 !important;border-bottom:1px solid rgba(184,160,106,.15) !important;background:transparent !important;padding:16px !important;}
/* Notices */
html body.woocommerce-page .woocommerce-message,html body.woocommerce-page .woocommerce-info,html body.woocommerce-page .woocommerce-error{background:rgba(184,160,106,.06) !important;border-left:3px solid #b8a06a !important;color:#f0ece4 !important;}
/* Breadcrumb */
html body.single-product .wc-block-breadcrumbs,html body.single-product .woocommerce-breadcrumb{color:rgba(240,236,228,.6) !important;font-size:12px !important;letter-spacing:2px !important;}
html body.single-product .wc-block-breadcrumbs a,html body.single-product .woocommerce-breadcrumb a{color:rgba(240,236,228,.6) !important;text-decoration:none !important;}
html body.single-product .wc-block-breadcrumbs a:hover{color:#b8a06a !important;}
/* Cart / checkout totals */
html body.woocommerce-cart .cart_totals,html body.woocommerce-checkout .woocommerce-checkout-review-order{background:rgba(184,160,106,.04) !important;border:1px solid rgba(184,160,106,.2) !important;padding:32px !important;}
/* Links */
html body.woocommerce-page a,html body.single-product a{color:#b8a06a;}
html body.woocommerce-page a:hover{color:#cdb478;}

/* WC-OFZ-PALETTE-OVERRIDE — match exact homepage footer colors */
html body.woocommerce-page,html body.single-product,html body.woocommerce-cart,html body.woocommerce-checkout,html body.woocommerce-account,html body.post-type-archive-product{background:#0a0806 !important;color:#d4cdc1 !important;}
html body.single-product h1.product_title,html body.single-product h1.wp-block-post-title{color:#d4cdc1 !important;font-family:"Cormorant Garamond","Noto Serif TC",serif !important;font-weight:300 !important;}
/* Headings on WC pages = rose-copper accent like footer */
html body.woocommerce-page h2,html body.single-product h2,html body.woocommerce-cart h2,html body.woocommerce-checkout h2,html body.woocommerce-account h2{color:#b8755c !important;font-family:"Noto Sans TC",sans-serif !important;font-size:13px !important;letter-spacing:6px !important;font-weight:400 !important;text-transform:uppercase !important;}
/* Price = rose-copper */
html body.single-product .price,html body.single-product .price .woocommerce-Price-amount,html body.woocommerce-page .price{color:#b8755c !important;font-family:"Cormorant Garamond",serif !important;font-size:32px !important;font-weight:400 !important;}
/* SKU + meta = rose-copper */
html body.single-product .sku,html body.single-product .sku_wrapper,html body.single-product .product_meta,html body.single-product .posted_in{color:#b8755c !important;}
/* Buttons = transparent + rose-copper border + rose-copper text */
html body.woocommerce-page .button,html body.woocommerce-page button.button,html body.woocommerce-page button.single_add_to_cart_button,html body.single-product .button,html body.single-product .single_add_to_cart_button,html body.woocommerce-cart .button,html body.woocommerce-checkout .button,html body.woocommerce-account .button{background:transparent !important;border:1px solid #b8755c !important;color:#b8755c !important;font-family:Montserrat,sans-serif !important;font-size:12px !important;letter-spacing:4px !important;font-weight:500 !important;padding:14px 32px !important;}
html body.woocommerce-page .button:hover,html body.single-product .button:hover,html body.single-product .single_add_to_cart_button:hover,html body.woocommerce-cart .button:hover,html body.woocommerce-checkout .button:hover{background:#b8755c !important;color:#0a0806 !important;}
/* Inputs */
html body.woocommerce-page input[type="text"],html body.woocommerce-page input[type="email"],html body.woocommerce-page input[type="tel"],html body.woocommerce-page input[type="password"],html body.woocommerce-page input[type="number"],html body.woocommerce-page textarea,html body.woocommerce-page select{background:transparent !important;border:none !important;border-bottom:1px solid rgba(184,117,92,.5) !important;color:#f0e3dc !important;padding:10px 0 !important;font-family:"Noto Serif TC",serif !important;font-size:14px !important;}
html body.woocommerce-page input:focus,html body.woocommerce-page textarea:focus,html body.woocommerce-page select:focus{outline:none !important;border-bottom-color:#b8755c !important;}
/* Tables — rose copper accents */
html body.woocommerce-page table,html body.woocommerce-page .shop_table{background:transparent !important;color:#d4cdc1 !important;border:1px solid rgba(184,117,92,.25) !important;}
html body.woocommerce-page table th,html body.woocommerce-page .shop_table th{color:#b8755c !important;font-size:11px !important;letter-spacing:3px !important;text-transform:uppercase !important;border-bottom:1px solid rgba(184,117,92,.4) !important;background:transparent !important;font-family:"Noto Sans TC",sans-serif !important;}
html body.woocommerce-page table td,html body.woocommerce-page .shop_table td{color:#d4cdc1 !important;border-bottom:1px solid rgba(184,117,92,.15) !important;background:transparent !important;}
/* Quantity */
html body.single-product .quantity input.qty{background:transparent !important;border:1px solid #b8755c !important;color:#d4cdc1 !important;}
/* Breadcrumb */
html body.single-product .wc-block-breadcrumbs{color:rgba(212,205,193,.6) !important;}
html body.single-product .wc-block-breadcrumbs a{color:rgba(212,205,193,.6) !important;}
html body.single-product .wc-block-breadcrumbs a:hover{color:#b8755c !important;}
/* Links */
html body.woocommerce-page a,html body.single-product a:not(.button){color:#b8755c;}
html body.woocommerce-page a:hover{color:#cda06c;}
/* Notices */
html body.woocommerce-page .woocommerce-message,html body.woocommerce-page .woocommerce-info{background:rgba(184,117,92,.06) !important;border-left:3px solid #b8755c !important;color:#d4cdc1 !important;}
/* Cart totals */
html body.woocommerce-cart .cart_totals,html body.woocommerce-checkout .woocommerce-checkout-review-order{background:rgba(184,117,92,.04) !important;border:1px solid rgba(184,117,92,.2) !important;}

/* FOOTER-SUBSCRIBE-FIX — email width match button + transparent button */
html body footer .wp-block-jetpack-subscriptions .wp-block-jetpack-subscriptions__form-elements,
html body footer form.wp-block-jetpack-subscriptions__form{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:24px !important;}
html body footer input[type="email"]{width:160px !important;max-width:160px !important;background:transparent !important;border:none !important;border-bottom:1px solid rgba(184,117,92,.5) !important;color:#f0e3dc !important;padding:8px 0 !important;}
html body footer .wp-block-jetpack-subscriptions button,
html body footer .wp-block-jetpack-subscriptions__form-elements button,
html body footer button[type="submit"]{background:transparent !important;border:1px solid #b8755c !important;color:#b8755c !important;font-family:Montserrat,sans-serif !important;font-size:12px !important;letter-spacing:4px !important;font-weight:500 !important;padding:14px 24px !important;width:160px !important;border-radius:0 !important;text-transform:uppercase !important;}
html body footer button[type="submit"]:hover{background:#b8755c !important;color:#0a0806 !important;}

/* FOOTER-SUB-WIDTH-MATCH — force input + button same width */
html body footer .wp-block-jetpack-subscriptions input[type="email"],
html body footer .wp-block-jetpack-subscriptions__form input[type="email"]{width:200px !important;min-width:200px !important;max-width:200px !important;box-sizing:border-box !important;}
html body footer .wp-block-jetpack-subscriptions button,
html body footer .wp-block-jetpack-subscriptions__form button{width:200px !important;min-width:200px !important;max-width:200px !important;box-sizing:border-box !important;display:flex !important;align-items:center !important;justify-content:center !important;}

/* FOOTER-SUB-EXTREME — max specificity to force matching widths */
html body footer.wp-block-template-part .wp-block-jetpack-subscriptions input[type="email"]{width:200px !important;min-width:200px !important;max-width:200px !important;display:block !important;}
html body footer.wp-block-template-part .wp-block-jetpack-subscriptions button[type="submit"],
html body footer.wp-block-template-part .wp-block-jetpack-subscriptions__form-elements button{width:200px !important;min-width:200px !important;max-width:200px !important;display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;}

/* FOOTER-HEAD-COPPER — match homepage h heading style + shorten email underline */
html body footer.wp-block-template-part h2,
html body footer.wp-block-template-part h3,
html body footer.wp-block-template-part h4,
html body footer.wp-block-template-part .wp-block-heading{color:#b8755c !important;font-family:"Noto Sans TC",sans-serif !important;font-size:13px !important;letter-spacing:6px !important;font-weight:400 !important;}
/* Shorten email field to match button width 158 */
html body footer.wp-block-template-part .wp-block-jetpack-subscriptions input[type="email"]{width:160px !important;min-width:160px !important;max-width:160px !important;}
html body footer.wp-block-template-part .wp-block-jetpack-subscriptions button[type="submit"],
html body footer.wp-block-template-part .wp-block-jetpack-subscriptions__form-elements button{width:160px !important;min-width:160px !important;max-width:160px !important;}

/* TEACHERS-GRID-5COL — change teacher grid from 4 to 5 columns + adjust photo aspect */
html body .ofz-teachers-grid{display:grid !important;grid-template-columns:repeat(5,1fr) !important;gap:24px !important;}
html body .ofz-teacher-card{min-width:0 !important;}
@media (max-width:1100px){html body .ofz-teachers-grid{grid-template-columns:repeat(3,1fr) !important;}}
@media (max-width:700px){html body .ofz-teachers-grid{grid-template-columns:repeat(2,1fr) !important;}}

/* TEACHER-PHOTO-NORMALIZE — uniform head size across all 5 teachers */
html body .ofz-teacher-photo-img{width:100% !important;height:100% !important;object-fit:cover !important;}
html body .ofz-teacher-photo-img[alt="Jeffrey"]{object-position:center top !important;transform:scale(1.35) !important;transform-origin:center top !important;}
html body .ofz-teacher-photo-img[alt="Paisley"]{object-position:center 5% !important;transform:scale(1.0) !important;}
html body .ofz-teacher-photo-img[alt="Lilly"]{object-position:center 12% !important;transform:scale(1.25) !important;transform-origin:center center !important;}
html body .ofz-teacher-photo-img[alt="Sinda"]{object-position:center 8% !important;transform:scale(1.0) !important;}
html body .ofz-teacher-photo-img[alt="Amanda"]{object-position:center 5% !important;transform:scale(1.1) !important;}

/* CHAPTER-GROUP-COLLAPSE — collapsible chapter groups on /course/ */
.ofz-chapter-group{margin-bottom:8px;border-bottom:1px solid rgba(184,117,92,.15);}
.ofz-chapter-group:last-child{border-bottom:none;}
.ofz-chapter-group-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;color:#b8755c;font-family:"Noto Sans TC",sans-serif;font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;background:rgba(184,117,92,.05);transition:background .2s;user-select:none;}
.ofz-chapter-group-head:hover{background:rgba(184,117,92,.12);}
.ofz-chapter-group-head .grp-title{flex:1;}
.ofz-chapter-group-head .grp-toggle{font-size:10px;color:#b8755c;transition:transform .25s ease;}
.ofz-chapter-group.collapsed .grp-toggle{transform:rotate(-90deg);}
.ofz-chapter-group-body{max-height:1000px;overflow:hidden;transition:max-height .35s ease;}
.ofz-chapter-group.collapsed .ofz-chapter-group-body{max-height:0;}
.ofz-chapter-group-body .ofz-chapter-item{padding-left:32px !important;}

/* EXAM-MODAL-OFZ — 玫瑰銅風格考試卡 */
#exam-modal{position:fixed;inset:0;background:rgba(10,8,6,.92);z-index:99999;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:60px 24px;}
#exam-modal > div, #exam-modal .ofz-exam-box{background:#0a0806 !important;border:1px solid rgba(184,117,92,.4) !important;border-radius:4px !important;max-width:760px !important;width:100% !important;padding:40px !important;color:#d4cdc1 !important;}
#exam-title{color:#b8755c !important;font-family:"Noto Sans TC",sans-serif !important;font-size:14px !important;letter-spacing:4px !important;font-weight:500 !important;margin:0 0 28px !important;padding-bottom:18px !important;border-bottom:1px solid rgba(184,117,92,.25) !important;}
#exam-body{margin-bottom:28px;}
.ofz-exam-q{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(184,117,92,.12);}
.ofz-exam-q:last-child{border-bottom:none;}
.ofz-exam-qhead{color:#f0e3dc;font-family:"Noto Serif TC",serif;font-size:15px;font-weight:400;line-height:1.7;margin-bottom:14px;letter-spacing:.5px;}
.ofz-exam-choice{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;margin:6px 0;border:1px solid rgba(184,117,92,.18);border-radius:2px;cursor:pointer;color:#d4cdc1;font-family:"Noto Serif TC",serif;font-size:14px;line-height:1.55;transition:background .15s,border-color .15s;}
.ofz-exam-choice:hover{background:rgba(184,117,92,.06);border-color:rgba(184,117,92,.4);}
.ofz-exam-choice input{margin-top:3px;flex-shrink:0;accent-color:#b8755c;cursor:pointer;}
.ofz-exam-choice input:checked + span{color:#f0e3dc;}
.ofz-exam-choice:has(input:checked){background:rgba(184,117,92,.08);border-color:#b8755c;}
#exam-status{padding:14px 18px;margin:0 0 20px;font-family:"Noto Sans TC",sans-serif;font-size:13px;letter-spacing:1.5px;text-align:center;min-height:18px;}
#exam-submit{background:transparent !important;border:1px solid #b8755c !important;color:#b8755c !important;font-family:Montserrat,sans-serif !important;font-size:13px !important;letter-spacing:4px !important;font-weight:500 !important;padding:14px 36px !important;border-radius:0 !important;cursor:pointer !important;transition:all .25s !important;display:block !important;margin:0 auto !important;}
#exam-submit:hover{background:#b8755c !important;color:#0a0806 !important;}
#exam-close{position:absolute;top:18px;right:24px;background:transparent;border:none;color:#b8755c;font-size:22px;cursor:pointer;line-height:1;}
#exam-close:hover{color:#d4a78f;}
/* 學習評核 區塊 */
#exam-bar{background:rgba(184,117,92,.05) !important;border:1px solid rgba(184,117,92,.25) !important;border-left:3px solid #b8755c !important;padding:20px 28px !important;margin-top:28px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:20px !important;flex-wrap:wrap !important;}
#exam-bar::before{content:"學 習 評 核";display:block;color:#b8755c;font-family:"Noto Sans TC",sans-serif;font-size:12px;letter-spacing:4px;font-weight:500;width:100%;margin-bottom:10px;}
#exam-bar > *:not(#start-exam-btn){color:#d4cdc1;font-family:"Noto Serif TC",serif;font-size:14px;flex:1 1 auto;}
#start-exam-btn{background:transparent !important;border:1px solid #b8755c !important;color:#b8755c !important;font-family:Montserrat,sans-serif !important;font-size:12px !important;letter-spacing:3px !important;font-weight:500 !important;padding:12px 26px !important;border-radius:0 !important;cursor:pointer !important;transition:all .25s !important;}
#start-exam-btn:hover{background:#b8755c !important;color:#0a0806 !important;}

/* OFZ-MOBILE-NAV-FIX: hamburger + centered dark overlay (mobile <600px) */
@media (max-width: 599.98px){
  html body header .wp-block-navigation__responsive-container-open,
  html body header button.wp-block-navigation__responsive-container-open{ display:flex !important; visibility:visible !important; opacity:1 !important; width:auto !important; height:auto !important; min-width:44px !important; min-height:44px !important; }
  html body header .wp-block-navigation__responsive-container-open svg,
  html body header button.wp-block-navigation__responsive-container-open svg{ display:block !important; visibility:visible !important; opacity:1 !important; fill:currentColor !important; width:24px !important; height:24px !important; }
  .wp-block-navigation__responsive-container.is-menu-open::before{ content:"" !important; position:fixed !important; inset:0 !important; background-color:rgb(10,8,6) !important; z-index:0 !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{ position:relative !important; z-index:1 !important; width:100% !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; min-height:80vh !important; }
  .wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open ul{ width:100% !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; gap:12px !important; }
  .wp-block-navigation__responsive-container.is-menu-open li{ width:100% !important; text-align:center !important; justify-content:center !important; }
  .wp-block-navigation__responsive-container.is-menu-open a{ color:rgba(240,227,220,0.92) !important; font-size:20px !important; justify-content:center !important; text-align:center !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
  .wp-block-navigation__responsive-container.is-menu-open button.wp-block-navigation__responsive-container-close{ display:flex !important; visibility:visible !important; opacity:1 !important; z-index:2 !important; width:auto !important; height:auto !important; min-width:44px !important; min-height:44px !important; color:rgba(240,227,220,0.92) !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{ display:block !important; visibility:visible !important; opacity:1 !important; fill:currentColor !important; width:30px !important; height:30px !important; }
}

/* OFZ-FOOTER-SUB-CLEAN 拿掉訂閱區多層框 */
footer .wp-block-columns{border:none !important;}
footer .wp-block-group{border:none !important;}
footer .jetpack_subscription_widget,footer .wp-block-jetpack-subscriptions{border:none !important;background:transparent !important;padding:0 !important;}
/* 手機頁尾直向堆疊（原模板 CSS 已移除，補回可靠版本） */
@media (max-width:781px){footer .wp-block-columns{flex-wrap:wrap !important;gap:34px 0 !important;}footer .wp-block-column{flex-basis:100% !important;min-width:100% !important;text-align:center !important;}footer .wp-block-column *{text-align:center !important;}footer ul,footer .wp-block-social-links{justify-content:center !important;}}
/* 桌機頁尾欄寬 */
footer .wp-block-group.alignfull{flex-wrap:wrap !important;}
footer .wp-block-columns{flex:1 1 100% !important;width:100% !important;max-width:1100px !important;margin-left:auto !important;margin-right:auto !important;}
footer .wp-block-column{min-width:0 !important;}
footer .wp-block-column p,footer .wp-block-column a{overflow-wrap:anywhere !important;}
/* 觸控與焦點 */
nav a{min-height:44px !important;display:inline-flex !important;align-items:center !important;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid rgb(184,160,106) !important;outline-offset:3px !important;}
/* Jetpack 訂閱彈窗關閉 */
.jetpack-subscription-modal,.jetpack-subscription-modal__modal-content{display:none !important;visibility:hidden !important;}

/* OFZ-ITEMLIST-FIX 認證清單標題被深色吃掉 */
.ofz-item-list li strong{color:rgb(240,236,228) !important;font-weight:500 !important;}
.ofz-item-list li{color:rgb(208,204,196) !important;}
