
/* 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 */
