/* HOMEPAGE V4 - TAPPE (Taiwan Association for Public Philosophy Education) */

/* ============================================
   GOOGLE FONTS - Handwritten style
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&family=Noto+Sans+TC:wght@700;900&display=swap');

/* ============================================
   BASE & LAYOUT
   ============================================ */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', 'Noto Sans CJK TC', sans-serif;
  color: #333;
  background-color: #f4efe3;
  line-height: 1.6;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.homepage-wrapper {
  background-color: #f4efe3;
}

/* ============================================
   HERO CAROUSEL SECTION (V4: more vibrant)
   ============================================ */

.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero-carousel {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero-slide {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 1;
}

/* ===== TAPPE Hero 彩度加強 ===== */
.hero-slide.active {
    filter: none !important;
}

.hero-slide:first-child {
  display: block;
}

/* V4: More vibrant overlay - warmer, energetic */
.hero-overlay-sky {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(26,54,93,0.3) 0%, rgba(0,0,0,0.1) 30%, rgba(26,54,93,0.65) 100%);
  z-index: 1;
  pointer-events: none;
}

.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  max-width: 850px;
  width: 90%;
  z-index: 2;
}

/* V4: Much more prominent hero text - TFT-style vibrancy */
.hero-title {
  font-size: 3.8rem;
  font-weight: 800;
  margin-bottom: 22px;
  text-shadow:
    0 0 20px rgba(255,215,0,0.4),
    0 2px 10px rgba(0,0,0,0.8),
    0 0 60px rgba(255,215,0,0.15);
  line-height: 1.3;
  letter-spacing: 2px;
  color: #fff;
}

.hero-title span {
  display: block;
  margin-top: 12px;
  color: #ffd700;
  text-shadow:
    0 0 25px rgba(255,215,0,0.6),
    0 2px 10px rgba(0,0,0,0.7),
    0 0 80px rgba(255,215,0,0.25);
}

.hero-subtitle {
  font-size: 1.3rem;
  margin-bottom: 35px;
  text-shadow: 0 2px 15px rgba(0,0,0,0.7), 0 0 30px rgba(0,0,0,0.3);
  line-height: 1.7;
  color: rgba(255,255,255,0.95);
  font-weight: 400;
  letter-spacing: 0.5px;
}

.hero-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================
   BUTTON STYLES
   ============================================ */

.btn {
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  font-size: 1rem;
}

.btn-primary {
  background-color: #1a365d;
  color: white;
}

.btn-primary:hover {
  background-color: #0d1f35;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(26,54,93,0.3);
}

.btn-secondary {
  background-color: transparent;
  color: white;
  border: 2px solid white;
}

.btn-secondary:hover {
  background-color: rgba(255,255,255,0.1);
  transform: translateY(-2px);
}

.btn-hero-support {
  background-color: rgba(255,255,255,0.95);
  color: #1a365d;
  font-weight: 700;
  border: 2px solid white;
  letter-spacing: 0.5px;
}

.btn-hero-support:hover {
  background-color: #ffd700;
  color: #1a365d;
  border-color: #ffd700;
  transform: translateY(-2px);
  box-shadow: 0 5px 20px rgba(255,215,0,0.4);
}

.btn-joinus {
  background-color: #ffd700;
  color: #1a365d;
  font-weight: 700;
  font-size: 1.15rem;
  padding: 16px 50px;
  letter-spacing: 1px;
  border: 2px solid #ffd700;
}

.btn-joinus:hover {
  background-color: #fff;
  color: #1a365d;
  border-color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255,215,0,0.5);
}

.btn-large {
  padding: 15px 45px;
  font-size: 1.1rem;
}

/* ============================================
   HERO NAVIGATION
   ============================================ */

.hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255,255,255,0.3);
  color: white;
  border: none;
  font-size: 1.5rem;
  padding: 15px 20px;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.hero-nav:hover {
  background-color: rgba(255,255,255,0.6);
}

.hero-prev {
  left: 20px;
}

.hero-next {
  right: 20px;
}

.hero-dots {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.dot.active {
  background-color: #ffd700;
  width: 30px;
  border-radius: 6px;
  box-shadow: 0 0 10px rgba(255,215,0,0.5);
}

.dot:hover {
  background-color: rgba(255,255,255,0.8);
}

/* ============================================
   ORGANIZATION INTRO SECTION
   ============================================ */

.org-intro {
  background-color: #f4efe3;
  padding: 80px 0;
  text-align: center;
}

.org-badge {
  display: inline-block;
  background-color: #e8dfd5;
  color: #1a365d;
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 20px;
}

.org-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 20px;
}

.org-description {
  font-size: 1.1rem;
  color: #555;
  max-width: 700px;
  margin: 0 auto 60px;
  line-height: 1.8;
}

.pillars-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
  margin-top: 60px;
}

.pillar {
  text-align: center;
}

.pillar-icon {
  width: 100px;
  height: 100px;
  background-color: #d4e4f0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  color: #1a365d;
}

.pillar-icon svg {
  width: 50px;
  height: 50px;
}

.pillar h4 {
  color: #1a365d;
  font-size: 1.1rem;
  font-weight: 600;
}

/* ============================================
   NEWS SECTION (V4: NEW)
   ============================================ */

.news-section {
  background-color: #f4efe3;
  padding: 60px 0;
}

.news-banner {
  background: linear-gradient(135deg, #1a365d 0%, #2a4a7f 100%);
  border-radius: 12px;
  padding: 40px 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 4px 20px rgba(26,54,93,0.15);
}

.news-banner p {
  color: rgba(255,255,255,0.9);
  font-size: 1.1rem;
  line-height: 1.6;
  flex: 1;
}

.news-banner .btn-primary {
  background-color: #ffd700;
  color: #1a365d;
  white-space: nowrap;
  flex-shrink: 0;
  font-weight: 700;
}

.news-banner .btn-primary:hover {
  background-color: #fff;
  color: #1a365d;
}

/* ============================================
   MISSIONS SECTION
   ============================================ */

.missions-section {
  background-color: #f4efe3;
  padding: 80px 0;
}

.section-header {
  text-align: center;
  margin-bottom: 60px;
}

.section-header h2 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 2px;
  color: #1a365d;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.section-header h3 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a365d;
}

.missions-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 30px;
}

.mission-card {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  overflow: hidden;
  min-height: 350px;
  display: flex;
  align-items: flex-end;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.mission-card:hover {
  transform: translateY(-5px);
}

.mission-large {
  grid-row: span 2;
  grid-column: span 1;
  min-height: 700px;
}

.mission-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(26,54,93,0.92) 70%, rgba(26,54,93,0.97) 100%);
  z-index: 1;
}

.mission-content {
  position: relative;
  z-index: 2;
  padding: 30px;
  color: white;
  text-align: left;
}

.mission-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: #a8c5e0;
  margin-bottom: 10px;
}

.mission-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 12px;
  color: white;
}

.mission-card p {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.95);
}

/* ============================================
   STATS SECTION (V4: sketch logo replaces map)
   ============================================ */

.stats-section {
  background: linear-gradient(135deg, #f9f5ed 0%, #f0ebe0 100%);
  padding: 80px 0;
  color: #1a365d;
}

.stats-header h2,
.stats-header h3 {
  color: #1a365d;
}

.stats-layout {
  display: flex;
  gap: 60px;
  align-items: center;
  justify-content: center;
}

.stats-numbers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  flex: 1;
  max-width: 500px;
}

.stat-card {
  padding: 30px;
  background: white;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(26,54,93,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(26,54,93,0.12);
}

.stat-number {
  font-size: 3rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 8px;
  display: block;
}

.stat-label {
  font-size: 1.05rem;
  color: #555;
  font-weight: 500;
}

/* V4: Replace map with sketch logo */
.stats-visual {
  flex: 0 0 300px;
  text-align: center;
}

.sketch-logo {
  width: 260px;
  height: auto;
  opacity: 0.85;
  transition: opacity 0.3s ease, transform 0.3s ease;
  filter: drop-shadow(0 4px 15px rgba(0,0,0,0.1));
}

.sketch-logo:hover {
  opacity: 1;
  transform: scale(1.05);
}

.stats-visual-caption {
  font-size: 1rem;
  color: #777;
  margin-top: 18px;
  font-weight: 500;
  font-style: italic;
}

/* ============================================
   ACTIVITIES SECTION (V4: expandable cards)
   ============================================ */

.activities-section {
  background-color: #f4efe3;
  padding: 80px 0;
}

.featured-activity {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  margin-bottom: 80px;
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.featured-image {
  position: relative;
  overflow: hidden;
  height: 500px;
}

.featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.activity-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: #1a365d;
  color: white;
  padding: 8px 16px;
  border-radius: 50px;
  font-size: 0.85rem;
  font-weight: 600;
  z-index: 2;
}

.featured-content {
  padding: 40px;
}

.featured-content h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 20px;
}

.featured-content p {
  font-size: 1rem;
  color: #555;
  line-height: 1.8;
  margin-bottom: 30px;
}

.activities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.activity-card {
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer;
  position: relative;
}

.activity-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

/* V4: Expandable card effect */
.activity-card.expanded {
  position: fixed;
  top: 5vh;
  left: 5vw;
  width: 90vw;
  height: 90vh;
  z-index: 9999;
  border-radius: 12px;
  transform: none;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: auto;
}

.activity-card.expanded .activity-image {
  height: 100%;
  min-height: 400px;
}

.activity-card.expanded .activity-info {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.activity-card.expanded .activity-info h4 {
  font-size: 1.8rem;
}

.activity-card.expanded .activity-info p {
  font-size: 1.15rem;
  line-height: 1.8;
}

.activity-card.expanded .expand-hint {
  display: none;
}

.expand-hint {
  position: absolute;
  bottom: 8px;
  right: 12px;
  font-size: 0.75rem;
  color: #aaa;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.activity-card:hover .expand-hint {
  opacity: 1;
}

/* Backdrop for expanded card */
.activity-card.expanded::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  z-index: -1;
}

.activity-image {
  width: 100%;
  height: 250px;
  background-size: cover;
  background-position: center;
}

.activity-info {
  padding: 25px;
}

.activity-info h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1a365d;
  margin-bottom: 12px;
}

.activity-info p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 15px;
}

.activity-link {
  display: inline-block;
  color: #1a365d;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  padding: 5px 0;
  border-bottom: 2px solid transparent;
}

.activity-link:hover {
  border-bottom-color: #1a365d;
}

/* ============================================
   TESTIMONIALS SECTION (V4: Horizontal swipe)
   ============================================ */

.testimonials-section {
  background-color: #f4efe3;
  padding: 80px 0;
}

.swipe-hint {
  text-align: center;
  margin-bottom: 20px;
  color: #999;
  font-size: 0.9rem;
  font-weight: 500;
  animation: swipeHintPulse 2s ease-in-out infinite;
}

.swipe-arrow {
  display: inline-block;
  animation: swipeArrow 1.5s ease-in-out infinite;
}

@keyframes swipeHintPulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

@keyframes swipeArrow {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(5px); }
}

.testimonials-swiper {
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(26,54,93,0.3) transparent;
  padding-bottom: 15px;
  margin: 0 -20px;
  padding-left: 20px;
  padding-right: 20px;
}

.testimonials-swiper::-webkit-scrollbar {
  height: 6px;
}

.testimonials-swiper::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 3px;
}

.testimonials-swiper::-webkit-scrollbar-thumb {
  background: rgba(26,54,93,0.25);
  border-radius: 3px;
}

.testimonials-swiper::-webkit-scrollbar-thumb:hover {
  background: rgba(26,54,93,0.4);
}

.testimonials-swiper.swiping {
  cursor: grabbing;
  scroll-behavior: auto;
}

.testimonials-track {
  display: flex;
  gap: 25px;
  width: max-content;
  padding: 10px 0;
}

.testimonial-card {
  background-color: white;
  border-radius: 12px;
  padding: 30px;
  text-align: center;
  width: 280px;
  min-width: 280px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex-shrink: 0;
  user-select: none;
}

.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.testimonial-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 15px;
  display: block;
  border: 3px solid #f0ebe0;
}

.testimonial-name {
  font-size: 1.05rem;
  font-weight: 600;
  color: #1a365d;
  margin-bottom: 12px;
}

.testimonial-quote {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.7;
  font-style: italic;
}

/* ============================================
   SUPPORT SECTION
   ============================================ */

.support-section {
  background-color: white;
  padding: 80px 0;
  text-align: center;
}

.support-content {
  max-width: 600px;
  margin: 0 auto;
}

.heart-icon {
  width: 60px;
  height: 60px;
  color: #e74c3c;
  margin-bottom: 25px;
}

.support-section h2 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a365d;
  margin-bottom: 20px;
}

.support-section p {
  font-size: 1.05rem;
  color: #555;
  line-height: 1.8;
  margin-bottom: 30px;
}

.tax-note {
  font-size: 0.9rem;
  color: #888;
  margin-top: 20px;
  font-style: italic;
}

/* ============================================
   JOIN US CTA SECTION (V4: animated title)
   ============================================ */

.join-us-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  padding: 100px 0;
  color: white;
  min-height: 500px;
  display: flex;
  align-items: center;
}

.join-us-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26,54,93,0.7);
  z-index: 1;
}

.join-us-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 700px;
}

/* V4: Handwritten style + wobble animation for join-us title */
.join-title-animated {
  font-family: 'Noto Sans TC', 'Noto Sans CJK TC', sans-serif;
  font-size: 3.5rem;
  font-weight: 900;
  margin-bottom: 25px;
  color: #ffffff;
  text-shadow:
    0 0 30px rgba(255,215,0,0.5),
    0 2px 15px rgba(0,0,0,0.5),
    0 0 60px rgba(255,215,0,0.2);
  animation: wobble 3s ease-in-out infinite;
  display: inline-block;
  letter-spacing: 3px;
}

@keyframes wobble {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }
  15% {
    transform: rotate(-1.5deg) scale(1.02);
  }
  30% {
    transform: rotate(1deg) scale(1);
  }
  45% {
    transform: rotate(-0.5deg) scale(1.01);
  }
  60% {
    transform: rotate(0.5deg) scale(1);
  }
  75% {
    transform: rotate(-0.3deg);
  }
}

.join-us-section p {
  font-size: 1.15rem;
  line-height: 1.8;
  margin-bottom: 35px;
  text-shadow: 0 1px 5px rgba(0,0,0,0.3);
}

/* ============================================
   FOOTER SECTION (V4: text-based logo)
   ============================================ */

.site-footer {
  background-color: #1a365d;
  color: rgba(255,255,255,0.9);
  padding: 60px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 50px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* V4: Text-based logo instead of image */
.footer-logo-text {
  font-size: 2.5rem;
  font-weight: 800;
  color: #ffd700;
  letter-spacing: 4px;
  margin-bottom: 5px;
  text-shadow: 0 0 15px rgba(255,215,0,0.3);
}

.footer-org-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: white;
}

.footer-org-en {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}

.footer-reg {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.5);
  margin-top: 5px;
}

.footer-contact h4,
.footer-social h4,
.footer-links h4 {
  font-size: 1rem;
  font-weight: 600;
  color: white;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}

.footer-contact p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.7;
  margin-bottom: 12px;
}

.footer-contact strong {
  color: rgba(255,255,255,0.95);
  font-weight: 600;
}

.social-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 25px;
}

.social-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

.social-link:hover {
  color: #ffd700;
  transform: translateX(3px);
}

.social-link svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.footer-links {
  margin-top: 10px;
}

.footer-links a {
  display: block;
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  font-size: 0.9rem;
  padding: 4px 0;
  transition: all 0.3s ease;
}

.footer-links a:hover {
  color: #ffd700;
  transform: translateX(3px);
}

.footer-bottom {
  padding: 20px 0;
  text-align: center;
}

.footer-bottom p {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.45);
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1024px) {
  .container {
    padding: 0 30px;
  }

  .hero-title {
    font-size: 3rem;
  }

  .hero-subtitle {
    font-size: 1.1rem;
  }

  .pillars-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }

  .missions-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mission-large {
    grid-column: span 2;
    grid-row: span 1;
    min-height: 350px;
  }

  .stats-layout {
    flex-direction: column;
    gap: 40px;
  }

  .stats-numbers {
    max-width: 100%;
  }

  .stats-visual {
    flex: 0 0 auto;
  }

  .activities-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .featured-activity {
    gap: 30px;
  }

  .featured-image {
    height: 350px;
  }

  .featured-content {
    padding: 30px;
  }

  .news-banner {
    flex-direction: column;
    text-align: center;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }

  .activity-card.expanded {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .activity-card.expanded .activity-image {
    height: 300px;
    min-height: 250px;
  }

  .join-title-animated {
    font-size: 2.8rem;
  }
}

@media (max-width: 768px) {
  .container {
    padding: 0 20px;
  }

  .hero-title {
    font-size: 2.2rem;
  }

  .hero-subtitle {
    font-size: 1rem;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }

  .btn {
    width: 100%;
    max-width: 300px;
  }

  .org-intro {
    padding: 60px 0;
  }

  .org-title {
    font-size: 2rem;
  }

  .pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .missions-grid {
    grid-template-columns: 1fr;
  }

  .mission-large {
    grid-column: span 1;
    min-height: 350px;
  }

  .stats-section {
    padding: 60px 0;
  }

  .stats-numbers {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .stat-number {
    font-size: 2.5rem;
  }

  .sketch-logo {
    width: 200px;
  }

  .activities-section {
    padding: 60px 0;
  }

  .featured-activity {
    grid-template-columns: 1fr;
    margin-bottom: 50px;
  }

  .featured-image {
    height: 300px;
  }

  .activities-grid {
    grid-template-columns: 1fr;
  }

  .testimonials-section {
    padding: 60px 0;
  }

  .testimonial-card {
    width: 250px;
    min-width: 250px;
  }

  .join-us-section {
    padding: 70px 0;
    min-height: auto;
  }

  .join-title-animated {
    font-size: 2.2rem;
  }

  .join-us-section p {
    font-size: 1rem;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .activity-card.expanded {
    top: 2vh;
    left: 2vw;
    width: 96vw;
    height: 96vh;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 15px;
  }

  .hero-section {
    height: 80vh;
  }

  .hero-title {
    font-size: 1.6rem;
    letter-spacing: 1px;
  }

  .hero-subtitle {
    font-size: 0.9rem;
    margin-bottom: 20px;
  }

  .hero-nav {
    width: 40px;
    height: 40px;
    padding: 10px;
    font-size: 1.2rem;
  }

  .hero-prev {
    left: 10px;
  }

  .hero-next {
    right: 10px;
  }

  .org-intro {
    padding: 40px 0;
  }

  .org-title {
    font-size: 1.5rem;
  }

  .org-description {
    font-size: 1rem;
  }

  .pillars-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .pillar-icon {
    width: 80px;
    height: 80px;
  }

  .pillar-icon svg {
    width: 40px;
    height: 40px;
  }

  .section-header h2 {
    font-size: 0.85rem;
  }

  .section-header h3 {
    font-size: 1.5rem;
  }

  .missions-section {
    padding: 40px 0;
  }

  .news-banner {
    padding: 25px 20px;
  }

  .news-banner p {
    font-size: 0.95rem;
  }

  .stat-number {
    font-size: 2rem;
  }

  .stat-label {
    font-size: 1rem;
  }

  .stats-numbers {
    grid-template-columns: 1fr;
  }

  .sketch-logo {
    width: 160px;
  }

  .activities-section {
    padding: 40px 0;
  }

  .featured-content {
    padding: 20px;
  }

  .featured-content h3 {
    font-size: 1.4rem;
  }

  .activity-image {
    height: 200px;
  }

  .activity-info {
    padding: 20px;
  }

  .testimonials-section {
    padding: 40px 0;
  }

  .testimonial-card {
    padding: 20px;
    width: 230px;
    min-width: 230px;
  }

  .testimonial-avatar {
    width: 80px;
    height: 80px;
  }

  .support-section {
    padding: 60px 0;
  }

  .heart-icon {
    width: 50px;
    height: 50px;
  }

  .support-section h2 {
    font-size: 1.6rem;
  }

  .support-section p {
    font-size: 0.95rem;
  }

  .join-us-section {
    padding: 50px 0;
  }

  .join-title-animated {
    font-size: 1.6rem;
    letter-spacing: 1px;
  }

  .join-us-section p {
    font-size: 0.9rem;
  }

  .btn-joinus {
    padding: 14px 35px;
    font-size: 1rem;
  }

  .footer-logo-text {
    font-size: 2rem;
  }
}

/* ============================================
   UTILITY & ANIMATION
   ============================================ */

.animated {
  animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

html {
  scroll-behavior: smooth;
}

@media print {
  .hero-nav,
  .hero-dots,
  .swipe-hint {
    display: none !important;
  }
}


/* ============================================
   GLOBAL: Non-homepage background color
   ============================================ */

body:not(.home) {
  background-color: #fef9e7 !important;
}

body:not(.home) .site-content,
body:not(.home) .ast-container,
body:not(.home) .entry-content,
body:not(.home) #primary,
body:not(.home) .ast-separate-container .ast-article-single,
body:not(.home) .ast-separate-container .ast-article-post,
body:not(.home) .ast-separate-container .ast-comment-list li,
body:not(.home) .ast-separate-container .comment-respond {
  background-color: #fef9e7 !important;
}

/* ============================================
   RECRUIT / TALENT RECRUITMENT SECTION
   ============================================ */

.recruit-section {
  background-color: #f4efe3;
  padding: 60px 0;
}

.recruit-banner {
  background: linear-gradient(135deg, #2d6a4f 0%, #40916c 100%);
  border-radius: 12px;
  padding: 40px 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 4px 20px rgba(45,106,79,0.15);
}

.recruit-banner p {
  color: rgba(255,255,255,0.95);
  font-size: 1.1rem;
  line-height: 1.7;
  flex: 1;
}

.recruit-banner .btn-primary {
  background-color: #ffd700;
  color: #1a365d;
  white-space: nowrap;
  flex-shrink: 0;
  font-weight: 700;
}

.recruit-banner .btn-primary:hover {
  background-color: #fff;
  color: #1a365d;
}

@media (max-width: 1024px) {
  .recruit-banner {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .recruit-banner {
    padding: 25px 20px;
  }
  .recruit-banner p {
    font-size: 0.95rem;
  }
}

/* ============================================
   SCROLL ANIMATIONS
   ============================================ */

.scroll-animate {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}

.scroll-animate.scroll-visible {
  opacity: 1;
  transform: translateY(0);
}

.scroll-animate-child {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  will-change: opacity, transform;
}

.scroll-animate-child.scroll-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hero is always visible immediately */
.hero-section.scroll-animate,
.hero-section {
  opacity: 1 !important;
  transform: none !important;
}

/* Fallback: if JS hasn't added scroll-visible after 2s, show everything */
@keyframes scrollFallback {
  to { opacity: 1; transform: translateY(0); }
}
.scroll-animate {
  animation: scrollFallback 0s ease-out 2s forwards;
}
.scroll-animate.scroll-visible {
  animation: none;
}


/* ============================================
   TAPPE V5 ENHANCEMENTS - Added by Claude
   ============================================ */

/* -------------------------------------------
   1. MOBILE MENU FIX
   ------------------------------------------- */
@media (max-width: 921px) {
  /* Clean up mobile popup drawer */
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    padding: 20px 24px;
    background: #fff;
  }
  .ast-mobile-popup-drawer .main-header-menu {
    text-align: left;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-item {
    border-bottom: 1px solid #f0ebe1;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-item > a,
  .ast-mobile-popup-drawer .main-header-menu .menu-item > .ast-menu-toggle {
    padding: 12px 8px;
    font-size: 15px;
    color: #1a3a5c;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-item > a:hover {
    color: #d4a017;
    background: #fef9e7;
  }
  /* Sub-menu indentation and styling */
  .ast-mobile-popup-drawer .main-header-menu .sub-menu {
    padding-left: 0;
    background: #fafaf5;
    border-left: 3px solid #d4a017;
    margin-left: 8px;
  }
  .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-item {
    border-bottom: 1px solid #f0ebe1;
  }
  .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-item:last-child {
    border-bottom: none;
  }
  .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-item > a {
    padding: 10px 12px 10px 16px;
    font-size: 14px;
    font-weight: 400;
    color: #4a5568;
  }
  .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-item > a:hover {
    color: #d4a017;
    background: #fef9e7;
  }
  /* Toggle arrow for sub-menus */
  .ast-mobile-popup-drawer .ast-menu-toggle {
    border: none !important;
    padding: 8px !important;
  }
  /* Close button */
  .ast-mobile-popup-drawer .menu-toggle-close {
    padding: 16px;
  }
  /* Mobile header compact */
  .ast-mobile-header-wrap .ast-mobile-header-content,
  .ast-mobile-header-wrap .ast-row {
    align-items: center;
  }
  /* Site title on mobile */
  .ast-mobile-header-wrap .site-branding .ast-site-title-wrap .site-title {
    font-size: 14px !important;
  }
}

/* -------------------------------------------
   2. SCROLL ANIMATIONS (Desktop + Mobile)
   ------------------------------------------- */
/* Override the broken animation: none rule */
.scroll-animate.scroll-visible {
  animation: fadeInUp 0.8s ease-out forwards !important;
  opacity: 1 !important;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Section headings animation */
.section-label,
.section-title,
.stats-section h3,
.stats-section h5 {
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Stat cards hover effect */
.stat-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.stat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

/* Stat number pulse on completion */
.stat-number {
  transition: color 0.3s ease;
}

/* Mission cards hover effect */
.mission-card {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.mission-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

/* Service icon hover */
.service-item {
  transition: transform 0.3s ease;
}
.service-item:hover {
  transform: translateY(-5px);
}
.service-item .service-icon {
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.service-item:hover .service-icon {
  background-color: #d4a017 !important;
  transform: scale(1.1);
}

/* CTA button hover enhancements */
.btn-primary,
.btn-hero-support,
a.btn {
  transition: all 0.3s ease;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212, 160, 23, 0.4);
}

/* Hero slide smooth transitions */
.hero-content {
  animation: fadeInUp 1s ease-out;
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* -------------------------------------------
   3. SUB-PAGE TYPOGRAPHY & BRAND STYLING
   ------------------------------------------- */
/* Consistent page headers */
.entry-header .entry-title,
.page-header .page-title {
  color: #1a3a5c;
  font-weight: 700;
  letter-spacing: 0.02em;
  position: relative;
  padding-bottom: 16px;
}
.entry-header .entry-title::after,
.page-header .page-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #d4a017, #f0c75e);
  margin-top: 12px;
  border-radius: 2px;
}

/* Content area typography */
.entry-content {
  color: #333;
  line-height: 1.85;
  font-size: 16px;
}
.entry-content h2 {
  color: #1a3a5c;
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 0.8em;
  padding-bottom: 8px;
  border-bottom: 2px solid #f0ebe1;
}
.entry-content h3 {
  color: #2a5a8c;
  font-weight: 600;
  margin-top: 1.5em;
}
.entry-content p {
  margin-bottom: 1.2em;
}
.entry-content img {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* Warm accent on links */
.entry-content a {
  color: #2a5a8c;
  text-decoration: none;
  border-bottom: 1px solid #d4a017;
  transition: color 0.3s ease, border-color 0.3s ease;
}
.entry-content a:hover {
  color: #d4a017;
  border-bottom-color: #d4a017;
}

/* Card-style content blocks */
.entry-content blockquote {
  background: #fef9e7;
  border-left: 4px solid #d4a017;
  padding: 20px 24px;
  margin: 1.5em 0;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: #4a5568;
}

/* Table styling */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.entry-content table th {
  background: #1a3a5c;
  color: #fff;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
}
.entry-content table td {
  padding: 10px 16px;
  border-bottom: 1px solid #f0ebe1;
}
.entry-content table tr:nth-child(even) {
  background: #fafaf5;
}

/* Footer warm accent */
.site-footer {
  border-top: 3px solid #d4a017;
}

/* -------------------------------------------
   4. MOBILE RESPONSIVE FINE-TUNING
   ------------------------------------------- */
@media (max-width: 768px) {
  .entry-content {
    font-size: 15px;
    line-height: 1.8;
  }
  .entry-header .entry-title {
    font-size: 24px !important;
  }
  .hero-title {
    font-size: 28px !important;
  }
  /* Stack stat cards properly on mobile */
  .stats-numbers {
    flex-direction: column;
    align-items: center;
  }
  .stat-card {
    width: 90% !important;
    margin-bottom: 16px;
  }
}


/* ============================================
   FIX V5 - ICONS, WOBBLE FIX, SCROLL ANIMATIONS
   ============================================ */

/* --- 1. RESTORE PILLAR ICONS via SVG backgrounds --- */
.pillars-grid .pillar:nth-child(1) .pillar-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%231a3a5c'%3E%3Cpath d='M32 4L4 20v4h56v-4L32 4zm0 6l20 12H12L32 10zM8 28v24h8V28H8zm12 0v24h8V28h-8zm12 0v24h8V28h-8zm12 0v24h8V28h-8zM4 56v4h56v-4H4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 48px 48px;
}
.pillars-grid .pillar:nth-child(2) .pillar-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%231a3a5c'%3E%3Cpath d='M12 4C10 4 8 6 8 8v48c0 2 2 4 4 4h28c2 0 4-2 4-4V18L30 4H12zm18 2l12 12H30V6zM16 30h20v3H16v-3zm0 8h20v3H16v-3zm0 8h14v3H16v-3z'/%3E%3Ccircle cx='50' cy='16' r='10' fill='none' stroke='%231a3a5c' stroke-width='3'/%3E%3Cpath d='M50 10v12M44 16h12' stroke='%231a3a5c' stroke-width='2.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 48px 48px;
}
.pillars-grid .pillar:nth-child(3) .pillar-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%231a3a5c'%3E%3Ccircle cx='32' cy='32' r='26' fill='none' stroke='%231a3a5c' stroke-width='3'/%3E%3Cellipse cx='32' cy='32' rx='10' ry='26' fill='none' stroke='%231a3a5c' stroke-width='2.5'/%3E%3Cpath d='M8 22h48M8 42h48' stroke='%231a3a5c' stroke-width='2' fill='none'/%3E%3Cpath d='M6 32h52' stroke='%231a3a5c' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 48px 48px;
}
.pillars-grid .pillar:nth-child(4) .pillar-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%231a3a5c'%3E%3Ccircle cx='22' cy='26' r='8' fill='none' stroke='%231a3a5c' stroke-width='3'/%3E%3Cpath d='M22 38c-10 0-16 6-16 12v4h32v-4c0-6-6-12-16-12z' fill='none' stroke='%231a3a5c' stroke-width='2.5'/%3E%3Ccircle cx='44' cy='22' r='7' fill='none' stroke='%231a3a5c' stroke-width='2.5'/%3E%3Cpath d='M44 32c-6 0-10 3-12 7M52 50v-4c0-5-4-10-10-12' fill='none' stroke='%231a3a5c' stroke-width='2'/%3E%3Cpath d='M30 14l4-8 4 8M38 10h8' stroke='%231a3a5c' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 48px 48px;
}
.pillars-grid .pillar:nth-child(5) .pillar-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%231a3a5c'%3E%3Ccircle cx='32' cy='20' r='6'/%3E%3Ccircle cx='16' cy='32' r='5'/%3E%3Ccircle cx='48' cy='32' r='5'/%3E%3Ccircle cx='20' cy='48' r='5'/%3E%3Ccircle cx='44' cy='48' r='5'/%3E%3Cline x1='32' y1='26' x2='16' y2='28' stroke='%231a3a5c' stroke-width='2'/%3E%3Cline x1='32' y1='26' x2='48' y2='28' stroke='%231a3a5c' stroke-width='2'/%3E%3Cline x1='16' y1='37' x2='20' y2='44' stroke='%231a3a5c' stroke-width='2'/%3E%3Cline x1='48' y1='37' x2='44' y2='44' stroke='%231a3a5c' stroke-width='2'/%3E%3Cline x1='20' y1='48' x2='44' y2='48' stroke='%231a3a5c' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 48px 48px;
}

/* --- 2. FIX WOBBLING: Override the !important fadeInUp on scroll-visible --- */
.scroll-animate.scroll-visible {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out !important;
}
.scroll-animate-child.scroll-visible {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out !important;
}

/* --- 3. SMOOTH SCROLL REVEAL: use transitions instead of keyframe animation --- */
.scroll-animate {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-animate.scroll-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Stagger children */
.scroll-animate-child {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate-child.scroll-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.scroll-animate-child:nth-child(1) { transition-delay: 0s; }
.scroll-animate-child:nth-child(2) { transition-delay: 0.12s; }
.scroll-animate-child:nth-child(3) { transition-delay: 0.24s; }
.scroll-animate-child:nth-child(4) { transition-delay: 0.36s; }
.scroll-animate-child:nth-child(5) { transition-delay: 0.48s; }
.scroll-animate-child:nth-child(6) { transition-delay: 0.6s; }

/* Specific section delays for variety */
.missions-grid .mission-card:nth-child(1) { transition-delay: 0.1s; }
.missions-grid .mission-card:nth-child(2) { transition-delay: 0.25s; }
.missions-grid .mission-card:nth-child(3) { transition-delay: 0.4s; }
.missions-grid .mission-card:nth-child(4) { transition-delay: 0.55s; }
.missions-grid .mission-card:nth-child(5) { transition-delay: 0.7s; }

.stats-section .stat-card {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.stats-section.scroll-visible .stat-card,
.stats-section .stat-card.scroll-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.stats-section .stat-card:nth-child(1) { transition-delay: 0s; }
.stats-section .stat-card:nth-child(2) { transition-delay: 0.15s; }
.stats-section .stat-card:nth-child(3) { transition-delay: 0.3s; }
.stats-section .stat-card:nth-child(4) { transition-delay: 0.45s; }

/* CTA / Join section - no wobble, clean fade */
.cta-section.scroll-animate,
.cta-section {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.cta-section .scroll-animate-child {
  animation: none !important;
}
.cta-section .scroll-animate-child.scroll-visible {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Pillar icons - ensure proper display */
.pillar-icon {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  background-color: #d4e4f0;
}


/* ===== FIX V6 - MAJOR UI OVERHAUL ===== */

.recruit-section { background: linear-gradient(135deg, rgba(76,175,120,0.55) 0%, rgba(56,142,96,0.5) 100%) !important; }
.recruit-section::before { opacity: 0.25 !important; }

.btn-primary, .btn-joinus, .btn-hero-support { background: #f0c040 !important; color: #1a3a5c !important; border: 2px solid #f0c040 !important; border-radius: 30px !important; padding: 12px 32px !important; font-weight: 600 !important; text-decoration: none !important; transition: all 0.3s ease !important; display: inline-block !important; }
.btn-primary:hover, .btn-joinus:hover, .btn-hero-support:hover { background: #1a3a5c !important; color: #fff !important; border-color: #1a3a5c !important; transform: translateY(-2px) !important; box-shadow: 0 4px 15px rgba(26,58,92,0.3) !important; }
.activity-link, .activity-link:visited { background: #f0c040 !important; color: #1a3a5c !important; padding: 10px 24px !important; border-radius: 25px !important; text-decoration: none !important; font-weight: 600 !important; display: inline-block !important; transition: all 0.3s ease !important; }
.activity-link:hover { background: #1a3a5c !important; color: #fff !important; }

a, a:visited, a:hover, a:active { text-decoration: none !important; }
.site-footer a, .footer-section a { text-decoration: none !important; }

.join-us-section, .join-us-section * { color: #fff !important; }
.join-us-section .join-title-animated { color: #fff !important; }
.join-us-section .join-description { color: rgba(255,255,255,0.95) !important; }
.join-us-section .btn-joinus { color: #1a3a5c !important; }
.join-us-section .btn-joinus:hover { color: #fff !important; }

.stat-prefix { font-size: 14px !important; color: #1a3a5c !important; font-weight: 500 !important; margin-bottom: 4px !important; opacity: 0.8; letter-spacing: 2px; }
.stat-number { font-size: 3rem !important; font-weight: 700 !important; color: #1a3a5c !important; }
.stat-label { font-size: 15px !important; color: #555 !important; margin-top: 4px !important; }

.testimonial-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; animation: fadeIn 0.3s ease; }
.testimonial-modal { background: #fff; border-radius: 16px; max-width: 560px; width: 100%; max-height: 85vh; overflow-y: auto; padding: 40px 32px; position: relative; animation: slideUp 0.3s ease; }
.modal-close { position: absolute; top: 12px; right: 16px; background: none; border: none; font-size: 28px; cursor: pointer; color: #999; line-height: 1; }
.modal-close:hover { color: #333; }
.modal-avatar { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); }
.modal-name { text-align: center; font-size: 1.3rem; color: #1a3a5c; margin-bottom: 12px; }
.modal-quote { text-align: center; font-style: italic; color: #666; font-size: 1.05rem; line-height: 1.7; padding: 0 16px; }
.modal-divider { width: 60px; height: 3px; background: #f0c040; margin: 20px auto; border-radius: 2px; }
.modal-story { color: #444; font-size: 1rem; line-height: 1.9; text-align: justify; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.testimonial-card { cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease !important; }
.testimonial-card:hover { transform: translateY(-5px) !important; box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important; }

.ast-separate-container .ast-article-single, .ast-separate-container .ast-article-post { padding-top: 0 !important; }
.ast-separate-container #primary { padding-top: 0 !important; }
body:not(.home) .site-content > .ast-container { max-width: 100% !important; padding: 0 !important; }
body:not(.home) .entry-content { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
body:not(.home) #primary > .ast-row { margin: 0 !important; }
.ast-separate-container .ast-article-single:first-child { margin-top: 0 !important; }
body:not(.home) .site-main > article { margin-top: 0 !important; border-top: none !important; }

.main-header-bar { padding: 0 !important; }
.ast-container { max-width: 100% !important; }
.main-header-bar .ast-container { max-width: 1200px !important; margin: 0 auto !important; }
body:not(.home) .site-content { padding-top: 0 !important; }

.site-footer a { text-decoration: none !important; border-bottom: none !important; }
.footer-section a { text-decoration: none !important; border-bottom: none !important; }
.footer-links a { text-decoration: none !important; color: #f0c040 !important; }
.footer-links a:hover { color: #fff !important; }


/* ======= FOOTER STYLING ======= */
.site-footer { background: #1a3a5c !important; }
.site-footer .ast-builder-grid-row { background: #1a3a5c !important; }
.site-footer .tappe-footer-info { color: #fef9e7 !important; }
.site-footer .tappe-footer-info h3 { color: #f0c040 !important; }
.site-footer .tappe-footer-info a { color: #f0c040 !important; }
.site-footer .tappe-footer-info p { color: #fef9e7 !important; }
.site-footer .ast-builder-layout-element { background: #1a3a5c !important; }
.ast-footer-copyright { background: #142d4a !important; color: #aaa !important; }
.ast-footer-copyright a { color: #f0c040 !important; }
.site-footer .ast-row { background: #1a3a5c !important; }
.ast-hfb-header .site-footer-above-section-1 { background: #1a3a5c !important; }

/* Footer above section background */
.ast-above-footer, .ast-above-footer-wrap, .site-above-footer-wrap { background: #1a3a5c !important; }
.ast-above-footer .ast-builder-grid-row-container { background: #1a3a5c !important; }
.ast-above-footer .ast-container { background: #1a3a5c !important; }
.ast-footer-row-inline { background: #1a3a5c !important; }
.site-footer-above-section-1 { background: #1a3a5c !important; }
.ast-builder-footer-grid-columns { background: #1a3a5c !important; }
.site-below-footer-wrap { background: #142d4a !important; }
.site-footer-primary-section-1 { background: #1a3a5c !important; }
.site-primary-footer-wrap { background: #1a3a5c !important; }


/* ======= INTRODUCE PAGE RESPONSIVE ======= */
.page-id-166 .entry-content { max-width: 900px; margin: 0 auto; padding: 20px; }
@media (max-width: 768px) {
  .page-id-166 .wp-block-group { padding-left: 15px !important; padding-right: 15px !important; }
  .page-id-166 h1, .page-id-166 h2 { font-size: 24px !important; }
  .page-id-166 h3 { font-size: 20px !important; }
  .page-id-166 p { font-size: 16px !important; line-height: 1.8 !important; }
  .page-id-166 .wp-block-columns { flex-direction: column !important; }
  .page-id-166 .wp-block-column { flex-basis: 100% !important; }
  .page-id-166 .wp-block-image img { max-width: 100% !important; height: auto !important; }
}


/* ================================================
   SUBPAGE FIXES - Title Centering & Full Width
   ================================================ */

/* 1. Center all subpage titles */
.entry-title,
.page-title,
.ast-archive-title {
    text-align: center !important;
}

/* Astra page header title centering */
.ast-archive-description .ast-archive-title,
.entry-header .entry-title {
    text-align: center !important;
}

/* 2. Remove side whitespace on subpages - make content full width */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.ast-separate-container .site-content > .ast-container {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Make page content area stretch full width */
body:not(.home) .site-content .ast-container {
    max-width: 100% !important;
}

body:not(.home) .ast-separate-container .ast-article-single {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 3. Fix organization structure page - images too large */
.page-id-164 img,
.page-id-164 .wp-block-image img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

.page-id-164 .wp-block-image {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ================================================
   FOOTER - Two Column Layout & Centering
   ================================================ */

/* Make footer info section two columns */
.site-above-footer-wrap .footer-widget-area .widget_block {
    columns: 2 !important;
    column-gap: 60px !important;
    text-align: center !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
}

.site-above-footer-wrap .footer-widget-area .widget_block p {
    break-inside: avoid !important;
    text-align: center !important;
    margin-bottom: 0.8em !important;
}

/* Center footer content */
.site-above-footer-wrap .ast-builder-grid-row {
    justify-content: center !important;
}

.site-above-footer-wrap .footer-widget-area-inner {
    display: flex !important;
    justify-content: center !important;
}

/* Responsive - single column on mobile */
@media (max-width: 768px) {
    .site-above-footer-wrap .footer-widget-area .widget_block {
        columns: 1 !important;
    }
}

/* ================================================
   PAGE TITLE - Fix underline decoration alignment
   ================================================ */

/* Center the title underline decoration */
.entry-header {
    text-align: center !important;
}

.entry-header::after,
.entry-header .entry-title::after {
    margin-left: auto !important;
    margin-right: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* ================================================
   ORGANIZATION STRUCTURE PAGE - Fix oversized images
   ================================================ */

/* Page ID for org structure - try multiple IDs */
.page-id-164 .entry-content img,
.page-id-164 .wp-block-image img,
.page-id-164 figure img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

.page-id-164 .wp-block-image,
.page-id-164 figure.wp-block-image {
    max-width: 750px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
}


/* ====================================
   什麼是公共哲學 PAGE STYLES (ID 166)
   ==================================== */
.page-id-166 .hero-section {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 50%, #f0c040 100%);
  padding: 80px 40px;
  text-align: center;
  color: white;
  margin-bottom: 60px;
  box-shadow: 0 4px 15px rgba(26, 58, 92, 0.2);
  border-radius: 12px;
}
.page-id-166 .hero-title {
  font-size: 48px; font-weight: 700; margin: 0 0 20px 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); color: white;
}
.page-id-166 .hero-subtitle {
  font-size: 20px; font-weight: 300; margin: 0 auto; max-width: 700px;
  line-height: 1.6; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); color: white;
}
.page-id-166 .section {
  margin: 60px 0; padding: 40px; background: white;
  border-radius: 12px; box-shadow: 0 2px 10px rgba(26, 58, 92, 0.1);
}
.page-id-166 .section-title {
  font-size: 32px; font-weight: 700; color: #1a3a5c;
  margin: 0 0 30px 0; display: flex; align-items: center; gap: 15px;
}
.page-id-166 .cards-container {
  display: flex; gap: 20px; flex-wrap: wrap; justify-content: space-between;
}
.page-id-166 .card {
  flex: 1; min-width: 280px;
  background: linear-gradient(135deg, #fef9e7 0%, #fff9d9 100%);
  border-left: 5px solid #f0c040; padding: 30px; border-radius: 8px;
  box-shadow: 0 3px 12px rgba(240, 192, 64, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.page-id-166 .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(240, 192, 64, 0.25);
}
.page-id-166 .card-title {
  font-size: 20px; font-weight: 700; color: #1a3a5c;
  margin: 0 0 15px 0; display: flex; align-items: center; gap: 10px;
}
.page-id-166 .card-text {
  font-size: 16px; color: #555; margin: 0; line-height: 1.7;
}
.page-id-166 details {
  margin: 15px 0; background: #f9f6f0; border-radius: 8px;
  overflow: hidden; border: 1px solid #e0d4c4; transition: all 0.3s ease;
}
.page-id-166 details[open] {
  background: white; box-shadow: 0 3px 10px rgba(26, 58, 92, 0.12);
}
.page-id-166 summary {
  cursor: pointer; padding: 20px;
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 100%);
  color: white; font-weight: 600; font-size: 16px; user-select: none;
  display: flex; align-items: center; gap: 12px;
  transition: background 0.3s ease; list-style: none;
}
.page-id-166 summary::-webkit-details-marker { display: none; }
.page-id-166 summary:hover {
  background: linear-gradient(135deg, #0f2844 0%, #1e4670 100%);
}
.page-id-166 details[open] > summary {
  background: linear-gradient(135deg, #f0c040 0%, #d4a830 100%);
  color: #1a3a5c;
}
.page-id-166 .detail-content {
  padding: 25px; font-size: 16px; color: #555; line-height: 1.8;
}
.page-id-166 .taiwan-section {
  background: linear-gradient(135deg, rgba(240, 192, 64, 0.1) 0%, rgba(26, 58, 92, 0.05) 100%);
  border-left: 8px solid #f0c040; padding: 40px;
  border-radius: 12px; margin: 60px 0;
}
.page-id-166 .taiwan-section-title {
  font-size: 28px; font-weight: 700; color: #1a3a5c;
  margin: 0 0 25px 0; display: flex; align-items: center; gap: 15px;
}
.page-id-166 .taiwan-points {
  background: white; padding: 30px; border-radius: 8px;
  box-shadow: 0 2px 8px rgba(26, 58, 92, 0.1);
}
.page-id-166 .taiwan-point {
  margin: 20px 0; padding-left: 30px; position: relative;
  font-size: 16px; color: #555; line-height: 1.8;
}
.page-id-166 .taiwan-point:before {
  content: "\2713"; position: absolute; left: 0;
  color: #f0c040; font-weight: bold; font-size: 20px;
}
.page-id-166 .conclusion-section {
  text-align: center; padding: 60px 40px;
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 100%);
  color: white; border-radius: 12px; margin: 60px 0;
  box-shadow: 0 4px 15px rgba(26, 58, 92, 0.3);
}
.page-id-166 .conclusion-title {
  font-size: 28px; font-weight: 700; margin: 0 0 20px 0; color: white;
}
.page-id-166 .conclusion-text {
  font-size: 18px; margin: 0 0 30px 0; max-width: 700px;
  margin-left: auto; margin-right: auto; line-height: 1.8; color: white;
}
.page-id-166 .cta-button {
  display: inline-block; background: #f0c040; color: #1a3a5c;
  padding: 15px 40px; border-radius: 50px; text-decoration: none;
  font-weight: 700; font-size: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: none; cursor: pointer;
}
.page-id-166 .cta-button:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(240, 192, 64, 0.4);
}
@media (max-width: 768px) {
  .page-id-166 .hero-title { font-size: 32px; }
  .page-id-166 .hero-subtitle { font-size: 16px; }
  .page-id-166 .section-title { font-size: 24px; }
  .page-id-166 .cards-container { flex-direction: column; }
  .page-id-166 .card { min-width: 100%; }
  .page-id-166 .section { margin: 30px 0; padding: 25px; }
  .page-id-166 .taiwan-section { margin: 30px 0; }
  .page-id-166 .conclusion-section { margin: 30px 0; }
}
/* Fix page 166 hero height override */
.page-id-166 .hero-section {
  height: auto !important;
  overflow: visible !important;
}


/* ====================================
   關於我們 PAGE STYLES (ID 99)
   ==================================== */
.page-id-99 .about-hero {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 50%, #f0c040 100%);
  padding: 80px 40px;
  text-align: center;
  color: white;
  margin-bottom: 60px;
  box-shadow: 0 4px 15px rgba(26, 58, 92, 0.2);
  border-radius: 12px;
}
.page-id-99 .about-hero-title {
  font-size: 48px; font-weight: 700; margin: 0 0 20px 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3); color: white;
}
.page-id-99 .about-hero-subtitle {
  font-size: 20px; font-weight: 300; margin: 0 auto; max-width: 700px;
  line-height: 1.6; text-shadow: 1px 1px 2px rgba(0,0,0,0.2); color: white;
}
.page-id-99 .about-section {
  margin: 60px 0; padding: 40px; background: white;
  border-radius: 12px; box-shadow: 0 2px 10px rgba(26,58,92,0.1);
}
.page-id-99 .about-section-title {
  font-size: 32px; font-weight: 700; color: #1a3a5c;
  margin: 0 0 30px 0; display: flex; align-items: center; gap: 15px;
}
.page-id-99 .about-icon { font-size: 36px; }
.page-id-99 .about-story-content p {
  font-size: 16px; color: #555; line-height: 1.8; margin: 0 0 15px 0;
}
.page-id-99 .about-detail {
  margin: 15px 0; background: #f9f6f0; border-radius: 8px;
  overflow: hidden; border: 1px solid #e0d4c4; transition: all 0.3s ease;
}
.page-id-99 .about-detail[open] {
  background: white; box-shadow: 0 3px 10px rgba(26,58,92,0.12);
}
.page-id-99 .about-detail summary {
  cursor: pointer; padding: 20px;
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 100%);
  color: white; font-weight: 600; font-size: 16px; user-select: none;
  display: flex; align-items: center; gap: 12px;
  transition: background 0.3s ease; list-style: none;
}
.page-id-99 .about-detail summary::-webkit-details-marker { display: none; }
.page-id-99 .about-detail summary:hover {
  background: linear-gradient(135deg, #0f2844 0%, #1e4670 100%);
}
.page-id-99 .about-detail[open] > summary {
  background: linear-gradient(135deg, #f0c040 0%, #d4a830 100%);
  color: #1a3a5c;
}
.page-id-99 .about-detail-icon { font-size: 20px; }
.page-id-99 .about-detail-content {
  padding: 25px; font-size: 16px; color: #555; line-height: 1.8;
}
.page-id-99 .about-cta {
  text-align: center; padding: 60px 40px;
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 100%);
  color: white; border-radius: 12px; margin: 60px 0;
  box-shadow: 0 4px 15px rgba(26,58,92,0.3);
}
.page-id-99 .about-cta-title {
  font-size: 28px; font-weight: 700; margin: 0 0 20px 0; color: white;
}
.page-id-99 .about-cta-text {
  font-size: 18px; margin: 0 0 30px 0; max-width: 700px;
  margin-left: auto; margin-right: auto; line-height: 1.8; color: white;
}
.page-id-99 .about-cta-button {
  display: inline-block; background: #f0c040; color: #1a3a5c;
  padding: 15px 40px; border-radius: 50px; text-decoration: none;
  font-weight: 700; font-size: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: none; cursor: pointer;
}
.page-id-99 .about-cta-button:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(240,192,64,0.4);
}
/* Fix about page hero height override */
.page-id-99 .hero-section,
.page-id-99 .about-hero {
  height: auto !important;
  overflow: visible !important;
}
@media (max-width: 768px) {
  .page-id-99 .about-hero-title { font-size: 32px; }
  .page-id-99 .about-hero-subtitle { font-size: 16px; }
  .page-id-99 .about-section-title { font-size: 24px; }
  .page-id-99 .about-section { margin: 30px 0; padding: 25px; }
  .page-id-99 .about-cta { margin: 30px 0; }
}
/* 公共哲學教育計畫 PAGE STYLES (ID 1129) */
.page-id-1129 .edu-hero {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 50%, #f0c040 100%);
  padding: 80px 40px; text-align: center; color: white;
  margin-bottom: 60px; box-shadow: 0 4px 15px rgba(26,58,92,0.2); border-radius: 12px;
}
.page-id-1129 .edu-hero-title { font-size: 48px; font-weight: 700; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); color: white; }
.page-id-1129 .edu-hero-subtitle { font-size: 20px; font-weight: 300; margin: 0 auto; max-width: 700px; line-height: 1.6; color: white; }
.page-id-1129 .edu-section { margin: 60px 0; padding: 40px; background: white; border-radius: 12px; box-shadow: 0 2px 10px rgba(26,58,92,0.1); }
.page-id-1129 .edu-section-title { font-size: 32px; font-weight: 700; color: #1a3a5c; margin: 0 0 30px 0; display: flex; align-items: center; gap: 15px; }
.page-id-1129 .edu-icon { font-size: 36px; }
.page-id-1129 .edu-intro-content p { font-size: 16px; color: #555; line-height: 1.8; margin: 0 0 15px 0; }
.page-id-1129 .edu-detail { margin: 15px 0; background: #f9f6f0; border-radius: 8px; overflow: hidden; border: 1px solid #e0d4c4; }
.page-id-1129 .edu-detail[open] { background: white; box-shadow: 0 3px 10px rgba(26,58,92,0.12); }
.page-id-1129 .edu-detail summary { cursor: pointer; padding: 20px; background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 100%); color: white; font-weight: 600; font-size: 16px; display: flex; align-items: center; gap: 12px; list-style: none; }
.page-id-1129 .edu-detail summary::-webkit-details-marker { display: none; }
.page-id-1129 .edu-detail summary:hover { background: linear-gradient(135deg, #0f2844 0%, #1e4670 100%); }
.page-id-1129 .edu-detail[open] > summary { background: linear-gradient(135deg, #f0c040 0%, #d4a830 100%); color: #1a3a5c; }
.page-id-1129 .edu-detail-content { padding: 25px; font-size: 16px; color: #555; line-height: 1.8; }
.page-id-1129 .edu-detail-content ul { margin: 10px 0; padding-left: 20px; }
.page-id-1129 .edu-detail-content li { margin: 8px 0; }
.page-id-1129 .edu-course-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 15px; }
.page-id-1129 .edu-meta-tag { display: inline-block; background: #e8f0fe; color: #1a3a5c; padding: 4px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; }
.page-id-1129 .edu-topic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 15px; margin-top: 15px; }
.page-id-1129 .edu-topic-card { background: #f9f6f0; border-radius: 10px; padding: 20px; text-align: center; border: 1px solid #e0d4c4; transition: transform 0.2s, box-shadow 0.2s; }
.page-id-1129 .edu-topic-card:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(26,58,92,0.15); }
.page-id-1129 .edu-topic-emoji { font-size: 36px; margin-bottom: 10px; }
.page-id-1129 .edu-topic-card h4 { color: #1a3a5c; margin: 0 0 8px 0; font-size: 16px; }
.page-id-1129 .edu-topic-card p { color: #666; font-size: 13px; margin: 0; line-height: 1.5; }
.page-id-1129 .edu-cta { text-align: center; padding: 60px 40px; background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8c 100%); color: white; border-radius: 12px; margin: 60px 0; }
.page-id-1129 .edu-cta-title { font-size: 28px; font-weight: 700; margin: 0 0 20px 0; color: white; }
.page-id-1129 .edu-cta-text { font-size: 18px; margin: 0 0 30px 0; max-width: 700px; margin-left: auto; margin-right: auto; line-height: 1.8; color: white; }
.page-id-1129 .edu-cta-button { display: inline-block; background: #f0c040; color: #1a3a5c; padding: 15px 40px; border-radius: 50px; text-decoration: none; font-weight: 700; font-size: 16px; transition: transform 0.2s, box-shadow 0.2s; }
.page-id-1129 .edu-cta-button:hover { transform: scale(1.05); box-shadow: 0 5px 15px rgba(240,192,64,0.4); }
.page-id-1129 .hero-section, .page-id-1129 .edu-hero { height: auto !important; overflow: visible !important; }
@media (max-width: 768px) {
  .page-id-1129 .edu-hero { padding: 50px 20px; }
  .page-id-1129 .edu-hero-title { font-size: 32px; }
  .page-id-1129 .edu-hero-subtitle { font-size: 16px; }
  .page-id-1129 .edu-section { padding: 25px 15px; margin: 30px 0; }
  .page-id-1129 .edu-section-title { font-size: 24px; }
  .page-id-1129 .edu-topic-grid { grid-template-columns: repeat(2, 1fr); }
  .page-id-1129 .edu-cta { padding: 40px 20px; }
}


/* === HOMEPAGE FIXES === */
/* Hide duplicate footer info bar */
.site-above-footer-wrap { display: none !important; }

/* Scroll animation - JS driven */
.page-id-380 .scroll-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.page-id-380 .scroll-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Testimonials section redesign */
.page-id-380 .testi-subtitle {
  text-align: center; color: #888; font-size: 15px; margin: 0 0 30px 0;
}
.page-id-380 .testi-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  max-width: 1200px; margin: 0 auto; padding: 0 20px;
}
.page-id-380 .testi-card {
  background: white; border-radius: 12px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(26,58,92,0.08); cursor: pointer;
  transition: box-shadow 0.3s, transform 0.2s; border: 1px solid #e8e0d4;
}
.page-id-380 .testi-card:hover {
  box-shadow: 0 5px 20px rgba(26,58,92,0.15); transform: translateY(-2px);
}
.page-id-380 .testi-card-header {
  display: flex; align-items: center; gap: 15px; padding: 20px;
}
.page-id-380 .testi-avatar {
  width: 65px; height: 65px; border-radius: 50%;
  background-size: cover; background-position: center;
  border: 3px solid #f0c040; flex-shrink: 0;
}
.page-id-380 .testi-info { flex: 1; min-width: 0; }
.page-id-380 .testi-name {
  font-weight: 700; color: #1a3a5c; font-size: 16px; margin: 0 0 4px 0;
}
.page-id-380 .testi-preview {
  color: #888; font-size: 13px; margin: 0; line-height: 1.4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.page-id-380 .testi-toggle {
  color: #f0c040; font-size: 14px; transition: transform 0.3s; flex-shrink: 0;
}
.page-id-380 .testi-expanded .testi-toggle { transform: rotate(180deg); }
.page-id-380 .testi-full-quote {
  max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out, padding 0.3s;
  padding: 0 20px;
}
.page-id-380 .testi-expanded .testi-full-quote {
  max-height: 300px; padding: 0 20px 20px 20px;
}
.page-id-380 .testi-full-quote p {
  color: #555; font-size: 15px; line-height: 1.8; margin: 0;
  border-top: 1px solid #f0e8d8; padding-top: 15px;
}
.page-id-380 .testi-expanded .testi-preview { display: none; }
@media (max-width: 900px) {
  .page-id-380 .testi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .page-id-380 .testi-grid { grid-template-columns: 1fr; }
}

/* Force avatar images to display correctly */
.page-id-380 .testi-avatar {
  overflow: visible !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  content-visibility: visible !important;
}
img.testi-avatar {
  overflow: visible !important;
}


/* =============================================
   SUBPAGE WHITE BLOCK FIX
   ============================================= */
/* Hide redundant Astra entry-header on subpages that have hero banners */
body:not(.page-id-380) .entry-header {
  display: none !important;
}
/* Remove extra top margin on subpages */
body:not(.page-id-380) #primary {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body:not(.page-id-380) .ast-container {
  padding-top: 0 !important;
}

/* =============================================
   ENHANCED HOMEPAGE ANIMATIONS
   ============================================= */
/* Base states for different animation types */
.page-id-380 .scroll-animate {
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/* Fly in from left */
.page-id-380 .anim-fly-left {
  transform: translateX(-80px);
}
/* Fly in from right */
.page-id-380 .anim-fly-right {
  transform: translateX(80px);
}
/* Fly in from bottom (default) */
.page-id-380 .anim-fly-up {
  transform: translateY(60px);
}
/* Scale up */
.page-id-380 .anim-scale {
  transform: scale(0.85);
}
/* Rotate in */
.page-id-380 .anim-rotate {
  transform: rotate(-5deg) translateY(40px);
}
/* Blur in */
.page-id-380 .anim-blur {
  filter: blur(10px);
  transform: translateY(20px);
}
/* All animations resolve to visible state */
.page-id-380 .scroll-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
/* Stagger children animation */
.page-id-380 .scroll-visible .stagger-child {
  opacity: 0;
  animation: staggerFadeIn 0.6s ease forwards;
}
.page-id-380 .scroll-visible .stagger-child:nth-child(1) { animation-delay: 0.1s; }
.page-id-380 .scroll-visible .stagger-child:nth-child(2) { animation-delay: 0.2s; }
.page-id-380 .scroll-visible .stagger-child:nth-child(3) { animation-delay: 0.3s; }
.page-id-380 .scroll-visible .stagger-child:nth-child(4) { animation-delay: 0.4s; }
.page-id-380 .scroll-visible .stagger-child:nth-child(5) { animation-delay: 0.5s; }

@keyframes staggerFadeIn {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Floating animation for icons */
@keyframes floatBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.page-id-380 .scroll-visible .icon-float {
  animation: floatBounce 3s ease-in-out infinite;
}
/* Pulse glow for CTA buttons */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 4px 15px rgba(240, 192, 64, 0.3); }
  50% { box-shadow: 0 4px 30px rgba(240, 192, 64, 0.6); }
}
.page-id-380 .cta-pulse {
  animation: pulseGlow 2.5s ease-in-out infinite;
}
/* Counter number animation */
@keyframes countUp {
  from { opacity: 0; transform: translateY(20px) scale(0.8); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.page-id-380 .scroll-visible .counter-animate {
  animation: countUp 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* =============================================
   TESTIMONIALS SECTION IMPROVEMENTS
   ============================================= */
/* Center the section title */
.page-id-380 .testimonials-section .section-title-main {
  text-align: center !important;
}
.page-id-380 .testimonials-section .section-label {
  text-align: center !important;
}
.page-id-380 .testimonials-section .section-divider {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Enhanced card hover & expand animation */
.page-id-380 .testi-card {
  transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),
              transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),
              border-color 0.3s ease;
}
.page-id-380 .testi-card:hover {
  box-shadow: 0 8px 30px rgba(26,58,92,0.18);
  transform: translateY(-4px);
  border-color: #f0c040;
}
/* Animated expand with smoother transition */
.page-id-380 .testi-full-quote {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
              padding 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.3s ease;
  padding: 0 20px;
  opacity: 0;
}
.page-id-380 .testi-expanded .testi-full-quote {
  max-height: 500px;
  padding: 0 20px 20px 20px;
  opacity: 1;
}
/* Card expand ripple effect */
.page-id-380 .testi-expanded {
  border-color: #f0c040 !important;
  box-shadow: 0 8px 30px rgba(240, 192, 64, 0.2) !important;
}
/* Toggle arrow bounce */
.page-id-380 .testi-toggle {
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
/* Avatar pulse on hover */
.page-id-380 .testi-card:hover .testi-avatar {
  border-color: #1a3a5c;
  box-shadow: 0 0 0 4px rgba(240, 192, 64, 0.3);
  transition: all 0.3s ease;
}

/* v2 */

/* === Enhanced Testimonials & Animations (2024 Update) === */
.page-id-380 .testi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; padding: 0 20px; }
.page-id-380 .testi-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; padding: 0; cursor: pointer; overflow: hidden; transition: box-shadow 0.4s cubic-bezier(0.25,0.8,0.25,1), transform 0.4s cubic-bezier(0.25,0.8,0.25,1), border-color 0.3s ease; }
.page-id-380 .testi-card:hover { box-shadow: 0 12px 40px rgba(26,58,92,0.15); transform: translateY(-6px) scale(1.01); border-color: #f0c040; }
.page-id-380 .testi-card-header { display: flex; align-items: center; padding: 20px; gap: 14px; }
.page-id-380 .testi-avatar { width: 56px; height: 56px; min-width: 56px; border-radius: 50%; background-size: cover; background-position: center; border: 3px solid #f0c040; box-shadow: 0 2px 8px rgba(240,192,64,0.25); transition: all 0.4s ease; }
.page-id-380 .testi-card:hover .testi-avatar { border-color: #1a3a5c; box-shadow: 0 0 0 5px rgba(240,192,64,0.3); transform: scale(1.1) rotate(5deg); }
.page-id-380 .testi-info { flex: 1; min-width: 0; }
.page-id-380 .testi-name { font-weight: 700; color: #1a3a5c; font-size: 0.95rem; margin: 0 0 4px 0; }
.page-id-380 .testi-preview { color: #888; font-size: 0.85rem; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.page-id-380 .testi-toggle { font-size: 0.8rem; color: #ccc; transition: transform 0.4s cubic-bezier(0.68,-0.55,0.27,1.55), color 0.3s ease; }
.page-id-380 .testi-expanded .testi-toggle { transform: rotate(180deg); color: #f0c040; }
.page-id-380 .testi-full-quote { max-height: 0; overflow: hidden; transition: max-height 0.6s cubic-bezier(0.4,0,0.2,1), padding 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.4s ease; padding: 0 20px; opacity: 0; }
.page-id-380 .testi-expanded .testi-full-quote { max-height: 600px; padding: 0 20px 20px 20px; opacity: 1; }
.page-id-380 .testi-full-quote p { font-size: 0.95rem; line-height: 1.8; color: #444; margin: 0; border-top: 1px solid #f0f0f0; padding-top: 16px; }
.page-id-380 .testi-expanded { border-color: #f0c040 !important; box-shadow: 0 12px 40px rgba(240,192,64,0.2) !important; transform: translateY(-2px); }
.page-id-380 .testi-subtitle { text-align: center !important; color: #999; font-size: 0.9rem; margin-bottom: 30px; }

/* Stagger child animations */
.page-id-380 .stagger-child { opacity: 0; animation: staggerFadeIn 0.6s cubic-bezier(0.25,0.46,0.45,0.94) forwards; }
.page-id-380 .stagger-child:nth-child(1) { animation-delay: 0.05s; }
.page-id-380 .stagger-child:nth-child(2) { animation-delay: 0.15s; }
.page-id-380 .stagger-child:nth-child(3) { animation-delay: 0.25s; }
.page-id-380 .stagger-child:nth-child(4) { animation-delay: 0.35s; }
.page-id-380 .stagger-child:nth-child(5) { animation-delay: 0.45s; }
.page-id-380 .stagger-child:nth-child(6) { animation-delay: 0.55s; }
.page-id-380 .stagger-child:nth-child(7) { animation-delay: 0.65s; }
.page-id-380 .stagger-child:nth-child(8) { animation-delay: 0.75s; }
.page-id-380 .stagger-child:nth-child(9) { animation-delay: 0.85s; }
.page-id-380 .stagger-child:nth-child(10) { animation-delay: 0.95s; }
.page-id-380 .stagger-child:nth-child(11) { animation-delay: 1.05s; }
.page-id-380 .stagger-child:nth-child(12) { animation-delay: 1.15s; }
/* scroll-visible stagger handled by nth-child delays above */

/* CTA buttons styling */
.page-id-380 .btn-secondary.btn-large { background: #1a3a5c !important; color: #fff !important; padding: 16px 40px; border-radius: 30px; font-size: 1.1rem; text-decoration: none; display: inline-block; transition: all 0.3s ease; border: 2px solid transparent; }
.page-id-380 .btn-secondary.btn-large:hover { background: #fff !important; color: #1a3a5c !important; border-color: #1a3a5c; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(26,58,92,0.2); }
.page-id-380 .support-content { text-align: center; }
.page-id-380 .support-content .btn { margin: 8px; }

/* Responsive testimonials */
@media (max-width: 768px) {
  .page-id-380 .testi-grid { grid-template-columns: 1fr; padding: 0 10px; }
  .page-id-380 .testi-card-header { padding: 16px; }
  .page-id-380 .testi-avatar { width: 48px; height: 48px; min-width: 48px; }
}


/* === TFT-Style Photo Grid for Subpages === */
.photo-grid-tft { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 40px 0; border-radius: 12px; overflow: hidden; }
.photo-grid-tft .photo-item { position: relative; overflow: hidden; aspect-ratio: 4/3; }
.photo-grid-tft .photo-item.wide { grid-column: span 2; }
.photo-grid-tft .photo-item.tall { grid-row: span 2; aspect-ratio: auto; }
.photo-grid-tft .photo-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.photo-grid-tft .photo-item:hover img { transform: scale(1.05); }
.photo-grid-tft .photo-item .photo-caption { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,0.6)); color: #fff; padding: 30px 15px 12px; font-size: 0.85rem; opacity: 0; transition: opacity 0.3s ease; }
.photo-grid-tft .photo-item:hover .photo-caption { opacity: 1; }
@media (max-width: 768px) { .photo-grid-tft { grid-template-columns: repeat(2, 1fr); gap: 4px; } .photo-grid-tft .photo-item.wide { grid-column: span 1; } }

/* === Subpage Professional Polish === */
body:not(.page-id-380) .entry-content { max-width: 1100px; margin: 0 auto; padding: 0 20px; font-size: 1rem; line-height: 1.9; color: #444; }
body:not(.page-id-380) .entry-content h1 { color: #1a3a5c; font-size: 2rem; margin-bottom: 20px; }
body:not(.page-id-380) .entry-content h2 { color: #1a3a5c; font-size: 1.5rem; margin: 40px 0 15px; border-bottom: 2px solid #f0c040; padding-bottom: 8px; display: inline-block; }
body:not(.page-id-380) .entry-content h3 { color: #2d5a8c; font-size: 1.2rem; margin: 25px 0 10px; }
body:not(.page-id-380) .entry-content p { margin-bottom: 1.2em; }
body:not(.page-id-380) .entry-content a { color: #2d5a8c; text-decoration: underline; text-decoration-color: #f0c040; text-underline-offset: 3px; transition: color 0.3s; }
body:not(.page-id-380) .entry-content a:hover { color: #f0c040; }

/* === Smooth page transitions === */
body { scroll-behavior: smooth; }

/* === Footer polish === */
.site-footer { background: #1a3a5c !important; color: rgba(255,255,255,0.7) !important; }
.site-footer a { color: #f0c040 !important; }
.site-footer .site-info { text-align: center; padding: 15px 0; }

/* === Global button hover effects === */
.btn:hover, a.btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
.btn { transition: all 0.3s ease !important; }

/* === News carousel cards on homepage === */
.page-id-380 .news-card { border: 1px solid #f0f0f0; }
.page-id-380 .news-card:hover { border-color: #f0c040; }


/* ===== FIX: 最新消息日期對齊 (置中但對齊) ===== */
html body.page-id-380 .tappe-news-list li {
  justify-content: center !important;
  gap: 24px !important;
}
html body.page-id-380 .tappe-news-date {
  min-width: 90px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}
html body.page-id-380 .tappe-news-title {
  flex: 1 1 0% !important;
  text-align: center !important;
}

/* ==========================================================
   MOBILE RESPONSIVE FIX — All Pages
   適用於所有頁面的手機版修正 (不影響桌面版)
   ========================================================== */

/* ---------- Tablet (≤ 768px) ---------- */
@media screen and (max-width: 768px) {

  /* --- 全站共通：3欄 grid → 1欄 --- */
  [style*="grid-template-columns: repeat(3"] ,
  [style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* --- 全站共通：2欄 grid → 1欄 --- */
  [style*="grid-template-columns: repeat(2"] ,
  [style*="grid-template-columns:repeat(2"] ,
  [style*="grid-template-columns: 1fr 1fr"] ,
  [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* --- 全站 container 限制寬度 → 滿版 --- */
  [style*="max-width:1200px"],
  [style*="max-width: 1200px"],
  [style*="max-width:1100px"],
  [style*="max-width: 1100px"],
  [style*="max-width:1000px"],
  [style*="max-width: 1000px"],
  [style*="max-width:960px"],
  [style*="max-width: 960px"],
  [style*="max-width:900px"],
  [style*="max-width: 900px"],
  [style*="max-width:800px"],
  [style*="max-width: 800px"],
  [style*="max-width:720px"],
  [style*="max-width: 720px"],
  [style*="max-width:700px"],
  [style*="max-width: 700px"] {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* --- 全站標題字縮小 --- */
  h1, [style*="font-size:36px"], [style*="font-size: 36px"] { font-size: 24px !important; }
  h2, [style*="font-size:32px"], [style*="font-size: 32px"] { font-size: 22px !important; }
  h3, [style*="font-size:28px"], [style*="font-size: 28px"] { font-size: 20px !important; }
  h4, [style*="font-size:24px"], [style*="font-size: 24px"] { font-size: 18px !important; }

  /* --- 全站 section padding 縮小 --- */
  .section-homepage,
  [style*="padding:5rem"],
  [style*="padding:4rem"],
  [style*="padding: 5rem"],
  [style*="padding: 4rem"],
  [style*="padding:6rem"],
  [style*="padding: 6rem"] {
    padding: 2rem 1rem !important;
  }

  /* --- 全站 iframe 響應式 --- */
  iframe {
    max-width: 100% !important;
    height: auto !important;
    min-height: 200px;
  }

  /* --- 全站按鈕適配手機 --- */
  [style*="padding:14px 36px"],
  [style*="padding: 14px 36px"] {
    padding: 12px 24px !important;
    font-size: 0.95rem !important;
  }

  /* --- 全站 flex row 自動換行 --- */
  [style*="display:flex"]:not([style*="flex-direction:column"]):not([style*="flex-direction: column"]) {
    flex-wrap: wrap !important;
  }

  /* --- 全站圖片不溢出 --- */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* ============================
     首頁 (page-id-380) 專屬
     ============================ */

  /* Hero 區塊 */
  body.page-id-380 .section-homepage:first-of-type {
    min-height: 60vh !important;
  }

  /* Hero 副標題文字 */
  body.page-id-380 .section-homepage:first-of-type p {
    font-size: 14px !important;
    padding: 0 8px !important;
  }

  /* Hero 按鈕列 */
  body.page-id-380 .section-homepage:first-of-type [style*="display:flex"][style*="gap"] {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }

  /* 6欄圖標 → 3欄 */
  [style*="grid-template-columns: repeat(6"],
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px 8px !important;
  }

  /* 圖標文字 */
  [style*="width: 120px"][style*="white-space: nowrap"],
  [style*="width:120px"][style*="white-space"] {
    width: auto !important;
    white-space: normal !important;
    font-size: 12px !important;
  }

  /* 圖標圓圈縮小 */
  [style*="width:72px"][style*="height:72px"],
  [style*="width: 72px"][style*="height: 72px"] {
    width: 56px !important;
    height: 56px !important;
  }

  /* 新聞列表 */
  .tappe-news-list {
    max-width: 100% !important;
    padding: 0 8px !important;
  }
  .tappe-news-list li {
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 12px 0 !important;
  }
  .tappe-news-date {
    font-size: 12px !important;
    margin-right: 0 !important;
  }
  .tappe-news-title {
    font-size: 14px !important;
  }

  /* Hero 左右箭頭 */
  body.page-id-380 [style*="position:absolute"][style*="left:20px"],
  body.page-id-380 [style*="position:absolute"][style*="right:20px"] {
    display: none !important;
  }

  /* ============================
     聯絡我們 (page-id-1545) 專屬
     ============================ */
  body.page-id-1545 [style*="max-width:960px"],
  body.page-id-1545 [style*="max-width: 960px"] {
    padding: 1.5rem 1rem !important;
  }

  /* ============================
     會歌頁面 (page-id-120) 專屬
     ============================ */
  body.page-id-120 [style*="max-width:500px"],
  body.page-id-120 [style*="max-width: 500px"] {
    max-width: 100% !important;
  }

}

/* ---------- Small Phone (≤ 480px) ---------- */
@media screen and (max-width: 480px) {

  /* 進一步縮小字體 */
  h1, [style*="font-size:36px"], [style*="font-size: 36px"] { font-size: 21px !important; }
  h2, [style*="font-size:32px"], [style*="font-size: 32px"] { font-size: 19px !important; }

  /* 進一步縮小 padding */
  .section-homepage,
  [style*="padding:5rem"],
  [style*="padding:4rem"],
  [style*="padding: 5rem"],
  [style*="padding: 4rem"] {
    padding: 1.5rem 0.75rem !important;
  }

  /* 6欄圖標 → 2欄 */
  [style*="grid-template-columns: repeat(6"],
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* 按鈕更小 */
  [style*="padding:14px 36px"],
  [style*="padding: 14px 36px"] {
    padding: 10px 20px !important;
    font-size: 0.9rem !important;
  }

  /* Hero 更矮 */
  body.page-id-380 .section-homepage:first-of-type {
    min-height: 50vh !important;
  }

  /* Hero 主標題 */
  body.page-id-380 .section-homepage:first-of-type h2 {
    font-size: 22px !important;
    line-height: 1.4 !important;
  }

  /* 新聞列表更緊湊 */
  .tappe-news-list li {
    padding: 10px 0 !important;
  }

  /* 全站 table 橫向捲動 */
  table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* ===== FIX: Body-injected style 覆蓋修正 (高特異性) ===== */
@media screen and (max-width: 768px) {
  html body .section-homepage.anim-fly-up > div:last-child {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px 8px !important;
  }
  html body .section-homepage.anim-fly-up > div:last-child > div {
    width: auto !important;
    white-space: normal !important;
  }
}
@media screen and (max-width: 480px) {
  html body .section-homepage.anim-fly-up > div:last-child {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 8px !important;
  }
}

/* ===== 公共哲學是什麼頁面 (page-id-166) 修改 ===== */

/* 1. 頁面標題「什麼是公共哲學？」改成金黃色 */
body.page-id-166 .entry-content h1 {
  color: #D4A017 !important;
}

/* 2. 「開始我們的對話」標題與按鈕改金黃色 */
body.page-id-166 .conclusion-section h2 {
  color: #D4A017 !important;
}
body.page-id-166 .conclusion-section .cta-button {
  background-color: #D4A017 !important;
  border-color: #D4A017 !important;
  color: #fff !important;
}
body.page-id-166 .conclusion-section .cta-button:hover {
  background-color: #b8860b !important;
  border-color: #b8860b !important;
}

/* 3. 隱藏「公共哲學的實踐」區塊（標題 + 照片） */
body.page-id-166 .entry-content > div:nth-last-child(1),
body.page-id-166 .entry-content > div:nth-last-child(2),
body.page-id-166 .entry-content > .photo-grid-tft {
  display: none !important;
}

/* ===== TAPPE 登入/註冊 金黃色標題 ===== */
body .entry-content .tappe-auth-image h2,
body:not(.page-id-380) .entry-content .tappe-auth-image h2,
.page-id-1171 .entry-content h2,
.page-id-1172 .entry-content h2 {
    color: #c0962c !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.25) !important;
}

/* ===== TAPPE 首頁 Hero 去灰色濾鏡 ===== */
.page-id-380 .wp-block-cover__background,
.home .wp-block-cover__background,
.page-id-380 .wp-block-cover .has-background-dim,
.home .wp-block-cover .has-background-dim {
    opacity: 0.15 !important;
}

/* ===== TAPPE 登入/註冊 手機版響應式 ===== */
@media (max-width: 768px) {
    .tappe-auth-wrapper {
        flex-direction: column !important;
    }
    .tappe-auth-image {
        min-height: 200px !important;
        height: 200px !important;
    }
    .tappe-auth-image h2 {
        font-size: 1.6rem !important;
    }
    .tappe-auth-form {
        padding: 20px !important;
    }
    .tappe-auth-form .um-form {
        padding: 10px !important;
    }
}
@media (max-width: 480px) {
    .tappe-auth-image {
        min-height: 160px !important;
        height: 160px !important;
    }
    .tappe-auth-image h2 {
        font-size: 1.3rem !important;
    }
    .tappe-auth-form {
        padding: 15px !important;
    }
}

/* -----------------------------------------------
   PROGRAMS CARD TEXT WRAP FIX
   ----------------------------------------------- */
.tappe-programs-grid {
  white-space: normal !important;
}

.tappe-program-card-body {
  white-space: normal !important;
  text-align: left !important;
}

.tappe-program-card-body p {
  white-space: normal !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.6;
  margin: 6px 0 10px;
  font-size: 14px;
  color: #555;
}

/* -----------------------------------------------
   CTA SECTION - GOLD TITLE
   ----------------------------------------------- */
.section-homepage.anim-blur h2 {
  color: #f0c040 !important;
}

/* -----------------------------------------------
   MEMBER ZONE NAV ITEM (logged-in only)
   ----------------------------------------------- */
.menu-item-member-zone > a {
  font-weight: 800 !important;
  color: #1a3a5c !important;
  background: linear-gradient(135deg, #f0c040, #e6a800) !important;
  padding: 8px 18px !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}
.menu-item-member-zone > a:hover {
  background: linear-gradient(135deg, #e6a800, #d49a00) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(240,192,64,0.4) !important;
}

/* === Truth Evolution Scripture (Profile Lore) Styles === */
.tappe-profile-lore {
    background: #1a1a1a;
    color: #d1d1d1;
    padding: 25px;
    margin: 20px 0;
    border-radius: 5px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
.lore-title {
    color: #fff;
    font-size: 1.5em;
    margin-bottom: 15px;
    text-shadow: 0 0 10px rgba(255,255,255,0.3);
}
.lore-scripture {
    line-height: 1.8;
    margin-bottom: 15px;
    font-style: italic;
}
.lore-clue {
    color: #e74c3c;
    border-top: 1px solid #444;
    padding-top: 15px;
}


/* === Member Zone Title - Bigger Gold === */
.member-zone-header h2 {
    font-size: 38px !important;
    color: #f0c040 !important;
    text-shadow: 0 2px 8px rgba(240,192,64,0.3);
    letter-spacing: 2px;
}

/* === Member Zone Lore (from shortcode) === */
.tappe-profile-lore {
    font-style: normal !important;
}
.tappe-profile-lore .lore-scripture {
    font-style: normal !important;
    color: #e0e0e0 !important;
    line-height: 2 !important;
    font-size: 15px;
}
.tappe-profile-lore .lore-clue {
    color: #f0c040 !important;
}
.tappe-profile-lore .lore-title {
    font-size: 1.3em;
}

/* === Logout Button Style === */
.tappe-logout-btn a {
    background: #c0392b !important;
    color: #fff !important;
    padding: 8px 18px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    margin-left: 10px !important;
    font-size: 14px !important;
    transition: background 0.3s ease !important;
}
.tappe-logout-btn a:hover {
    background: #e74c3c !important;
}

/* === Member Tiles Fix (wpautop) === */
.member-cards > p {
    display: none !important;
}
.member-cards .member-tile {
    text-decoration: none !important;
    display: block;
}
.member-cards .member-tile:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.25) !important;
}
.member-cards .member-tile h3 {
    border-bottom: none !important;
}

/* === Member Zone Page - Light Theme === */
body.page-id-1586,
html:has(body.page-id-1586) {
    background-color: #f4efe3 !important;
}
body.page-id-1586 .site-content,
body.page-id-1586 .ast-container,
body.page-id-1586 .content-area,
body.page-id-1586 #primary,
body.page-id-1586 .entry-content,
body.page-id-1586 .ast-article-single,
body.page-id-1586 .site-main {
    background-color: #f4efe3 !important;
}
.page-id-1586 .entry-header {
    display: none !important;
}
.member-articles-section {
    background: #fff !important;
    border: 1px solid #e0d8c8 !important;
}
.member-articles-section h2 {
    color: #1a3a5c !important;
    border-left: 4px solid #D4A017 !important;
}
.member-articles-section .subtitle {
    color: #888 !important;
}


/* === Footer Fixes === */
/* Hide "關於我們" section (first column) */
.site-above-footer-wrap .ast-builder-grid-row .ast-builder-grid-row-container-inner > .ast-builder-layout-element:first-child {
    display: none !important;
}
/* Make footer 2-column after removing first */
.site-above-footer-wrap .ast-builder-grid-row-container-inner {
    display: flex !important;
    justify-content: space-between !important;
    gap: 40px !important;
    align-items: flex-start !important;
}
/* Footer consistent spacing */
.site-above-footer-wrap {
    padding: 40px 0 !important;
}
.site-above-footer-wrap h2,
.site-above-footer-wrap h3,
.site-above-footer-wrap h4 {
    font-size: 18px !important;
    font-weight: bold !important;
    margin-bottom: 12px !important;
    color: #1a3a5c !important;
}
.site-above-footer-wrap p,
.site-above-footer-wrap li,
.site-above-footer-wrap div {
    line-height: 1.8 !important;
}
.site-above-footer-wrap ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-above-footer-wrap ul li {
    margin-bottom: 6px !important;
}
.site-above-footer-wrap a {
    text-decoration: none !important;
}
.site-above-footer-wrap a:hover {
    text-decoration: underline !important;
}

/* === Logout Button Match Login Button Size === */
.menu-item.tappe-logout-btn a {
    background: #c0392b !important;
    color: #fff !important;
    padding: 8px 18px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    margin-left: 10px !important;
    font-size: 14px !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}
/* 會員專區 button consistent */
.ast-header-break-point .main-navigation ul li.tappe-logout-btn a,
li.tappe-logout-btn a {
    background: #c0392b !important;
    color: #fff !important;
    padding: 8px 18px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    font-size: 14px !important;
}
/* 會員登入 button for non-logged-in */
.menu-item.tappe-login-btn a {
    background: #D4A017 !important;
    color: #fff !important;
    padding: 8px 18px !important;
    border-radius: 5px !important;
    font-weight: bold !important;
    margin-left: 10px !important;
    font-size: 14px !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}

/* ============================================================
   TAPPE V7 — 全站視覺精密重構
   Date: 2026-04-06
   ============================================================ */

/* 1. 封面大圖濾鏡移除 */
.hero-slide,
.hero-slide.active {
  filter: none !important;
  -webkit-filter: none !important;
}
.section-homepage:first-of-type .hero-slide + div[style*="gradient"],
.section-homepage:first-of-type > div > div[style*="gradient"] {
  background: linear-gradient(180deg,rgba(0,0,0,0.18) 0%,rgba(0,0,0,0.38) 50%,rgba(0,0,0,0.22) 100%) !important;
}

/* 2. 區塊無縫化 */
.entry-content > p:not([class]):not([style]) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  height: 0 !important;
}
.section-homepage {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.entry-content > .section-homepage + .section-homepage {
  margin-top: 0 !important;
}
.wp-block-spacer[style*="height"] {
  height: 40px !important;
  max-height: 40px !important;
}

/* 3. 計數器區塊 */
.section-homepage.anim-scale > div > div[style*="flex"] {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  justify-content: stretch !important;
}
.section-homepage.anim-scale > div > div[style*="flex"] > div {
  min-width: unset !important;
  width: 100% !important;
  text-align: center;
  padding: 36px 20px !important;
  background: rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  border-bottom: 3px solid #D4A017 !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.stat-counter {
  font-size: 3.2rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums;
}

/* 4. 最新消息置中 */
.section-homepage.scroll-animate.anim-fly-up:nth-of-type(3) {
  text-align: center;
}
.section-homepage.scroll-animate.anim-fly-up:nth-of-type(3) > div {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.section-homepage.scroll-animate.anim-fly-up:nth-of-type(3) h2,
.section-homepage.scroll-animate.anim-fly-up:nth-of-type(3) h3 {
  text-align: center !important;
}
.section-homepage.scroll-animate.anim-fly-up:nth-of-type(3) > div > div[style*="grid"],
.section-homepage.scroll-animate.anim-fly-up:nth-of-type(3) > div > div[style*="flex"] {
  justify-content: center !important;
  justify-items: center !important;
}

/* 5. 活動按鈕底部對齊 */
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="grid"] > div,
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="flex"] > div {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  min-height: auto;
}
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="grid"] > div > div:last-child,
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="flex"] > div > div:last-child {
  margin-top: auto !important;
  padding-top: 16px;
}
.section-homepage.anim-fly-up:nth-of-type(7) a[href*="workshop"] {
  display: inline-block;
  padding: 10px 28px;
  border-radius: 8px;
  font-weight: 600;
  text-align: center;
  transition: all 0.3s ease;
}

/* 6. 學員回饋輪播容器 */
.section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="grid"],
.section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="flex"],
.section-homepage.anim-fly-up:nth-of-type(8) > div > div > div[style*="grid"] {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 20px !important;
  padding-bottom: 16px;
  scrollbar-width: thin;
  scrollbar-color: #D4A017 transparent;
  grid-template-columns: unset !important;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="grid"] > div,
.section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="flex"] > div,
.section-homepage.anim-fly-up:nth-of-type(8) > div > div > div[style*="grid"] > div {
  flex: 0 0 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
  scroll-snap-align: start;
  width: 300px !important;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div > div::-webkit-scrollbar { height: 6px; }
.section-homepage.anim-fly-up:nth-of-type(8) > div > div::-webkit-scrollbar-track { background: rgba(0,0,0,0.05); border-radius: 3px; }
.section-homepage.anim-fly-up:nth-of-type(8) > div > div::-webkit-scrollbar-thumb { background: #D4A017; border-radius: 3px; }
.testimonial-dots { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.testimonial-dots .dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(0,0,0,0.2); cursor: pointer; transition: background 0.3s; border: none; padding: 0; }
.testimonial-dots .dot.active { background: #D4A017; transform: scale(1.2); }

/* 7. 固定登入按鈕 + Glassmorphism */
a.menu-link[href*="/login/"] {
  position: fixed !important;
  bottom: 28px !important;
  right: 28px !important;
  z-index: 9999 !important;
  background: rgba(255,255,255,0.15) !important;
  backdrop-filter: blur(12px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 50px !important;
  padding: 12px 24px !important;
  color: #1a1a2e !important;
  font-weight: 600 !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  margin: 0 !important;
}
a.menu-link[href*="/login/"]:hover {
  background: rgba(212,160,23,0.25) !important;
  border-color: rgba(212,160,23,0.5) !important;
  box-shadow: 0 8px 32px rgba(212,160,23,0.2) !important;
  transform: translateY(-2px) !important;
}

/* 8. 頁尾 + 王漢宗細明體 */
@font-face {
  font-family: 'WHZXiMingTi';
  src: url('https://taiwanappe.org/wp-content/uploads/2025/04/wt004.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
h1, h2, h3, .site-title,
.section-homepage h2, .section-homepage h3 {
  font-family: 'WHZXiMingTi', 'Noto Serif TC', serif !important;
}
.site-footer { backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-footer .ast-footer-overlay { background: rgba(26,26,46,0.95) !important; }

/* 9. 通用修正 */
.section-homepage { min-height: auto !important; padding: 48px !important; }
.section-homepage:first-of-type { min-height: 70vh !important; padding: 0 !important; }
.hero-slide { min-height: 70vh !important; height: auto !important; max-height: 80vh; }
.section-homepage.scroll-animate { opacity: 1 !important; transform: none !important; }

/* 10. 響應式 */
@media (max-width: 768px) {
  .section-homepage.anim-scale > div > div[style*="flex"] { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .stat-counter { font-size: 2.2rem !important; }
  .section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="grid"] > div,
  .section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="flex"] > div { flex: 0 0 260px !important; min-width: 260px !important; max-width: 260px !important; }
  .section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="grid"] { grid-template-columns: 1fr !important; }
  a.menu-link[href*="/login/"], a[href*="my-account"].ast-header-account-link { bottom: 16px !important; right: 16px !important; padding: 10px 18px !important; font-size: 0.85rem !important; }
  .section-homepage { padding: 32px 16px !important; }
}
@media (max-width: 480px) {
  .section-homepage.anim-scale > div > div[style*="flex"] { grid-template-columns: 1fr !important; }
  .section-homepage.anim-fly-up:nth-of-type(8) > div > div > div,
  .section-homepage.anim-fly-up:nth-of-type(8) > div > div[style*="grid"] > div { flex: 0 0 240px !important; min-width: 240px !important; max-width: 240px !important; }
}
/* END TAPPE V7 */

/* ===========================================================
   TAPPE V8 - PIXEL-LEVEL VISUAL REFINEMENT PATCH
   =========================================================== */

/* --- 1. Hero: object-fit cover + min-height 80vh + responsive --- */
.section-homepage:first-of-type,
.section-homepage:first-of-type > div {
  min-height: 80vh !important;
  overflow: hidden !important;
}
.hero-slide,
.hero-slide.active {
  object-fit: cover !important;
  background-size: cover !important;
  background-position: center center !important;
  min-height: 80vh !important;
}
@media (max-width: 768px) {
  .hero-slide,
  .hero-slide.active {
    background-position: center 30% !important;
  }
  .section-homepage:first-of-type,
  .section-homepage:first-of-type > div {
    min-height: 60vh !important;
  }
}

/* --- 2. Six Missions: force single-row 6-column --- */
.section-homepage.anim-fly-right > div > div[style*="grid"] {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 1rem !important;
}
.section-homepage.anim-fly-right > div > div[style*="grid"] > div {
  width: calc(100% / 6 - 1rem) !important;
  min-width: 0 !important;
  flex: 0 1 calc(100% / 6 - 1rem) !important;
  text-align: center;
}
@media (max-width: 768px) {
  .section-homepage.anim-fly-right > div > div[style*="grid"] {
    flex-wrap: wrap !important;
  }
  .section-homepage.anim-fly-right > div > div[style*="grid"] > div {
    width: calc(50% - 0.5rem) !important;
    flex: 0 1 calc(50% - 0.5rem) !important;
  }
}

/* --- 3. Section Seamless: zero gaps + seamless bg --- */
.section-homepage {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.section-homepage > div {
  padding-top: 48px;
  padding-bottom: 48px;
}
.section-homepage:first-of-type > div {
  padding-top: 0;
  padding-bottom: 0;
}
.entry-content > p:not([class]):not([style]) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}

/* --- 4. Activity Cards: equal height + bottom-aligned buttons --- */
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="grid"] > div {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100% !important;
}
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="grid"] > div > *:last-child {
  margin-top: auto !important;
}
.section-homepage.anim-fly-up:nth-of-type(7) > div > div[style*="grid"] > div a[href*="workshop"] {
  align-self: flex-start;
  margin-top: auto !important;
}

/* --- 5. Testimonial Modal --- */
.testimonial-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.7);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.testimonial-modal-overlay.active {
  opacity: 1;
  pointer-events: all;
}
.testimonial-modal {
  background: #fff;
  border-radius: 16px;
  max-width: 560px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 36px 32px;
  position: relative;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.testimonial-modal h3 {
  margin: 0 0 16px;
  font-size: 20px;
  color: #2c3e50;
}
.testimonial-modal-close {
  position: absolute;
  top: 12px; right: 16px;
  font-size: 28px;
  cursor: pointer;
  border: none;
  background: none;
  color: #999;
  line-height: 1;
}
.testimonial-modal-close:hover { color: #333; }
.section-homepage.anim-fly-up:nth-of-type(8) > div > div > div {
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div > div > div:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* --- 6. Footer Clarity --- */
.site-footer,
.site-footer *,
.site-below-footer-wrap,
.site-above-footer-wrap {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  -webkit-filter: none !important;
  filter: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

/* --- 7. Footer Legal Info Block --- */
.tappe-footer-legal {
  background: #1a2332;
  color: #bdc3c7;
  padding: 28px 20px;
  font-size: 13.5px;
  line-height: 2.2;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.tappe-footer-legal .legal-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 28px;
}
.tappe-footer-legal .legal-title {
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  color: #ecf0f1;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.tappe-footer-legal .legal-item {
  white-space: nowrap;
}
.tappe-footer-legal a {
  color: #5dade2;
  text-decoration: none;
}
.tappe-footer-legal a:hover {
  text-decoration: underline;
  color: #85c1e9;
}
@media (max-width: 768px) {
  .tappe-footer-legal .legal-grid {
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }
  .tappe-footer-legal .legal-item {
    white-space: normal;
    text-align: center;
  }
}


/* ============================================================
   V9 CORRECTIONS (Phase 3) — 8-point fix
   ============================================================ */

/* 1. Hero: remove ALL filters on slides */
.hero-slide,
.hero-slide.active {
  filter: none !important;
  -webkit-filter: none !important;
}

/* 1b. Hero: hide stray P at bottom of hero section (gray block) */
.section-homepage.scroll-animate.anim-fly-up:first-of-type > p {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4. REVERT six missions — undo V8 nowrap, restore wrap grid */
.section-homepage.anim-fly-right > div > div {
  flex-wrap: wrap !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
  justify-content: center !important;
  gap: 24px !important;
}
.section-homepage.anim-fly-right > div > div > div {
  flex: 0 0 calc(33.333% - 16px) !important;
  min-width: 0 !important;
  max-width: 380px !important;
  scroll-snap-align: unset !important;
}
@media (max-width: 768px) {
  .section-homepage.anim-fly-right > div > div > div {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* 6. Train-style marquee for testimonials (sec7) */
.marquee-track-wrapper {
  overflow: hidden !important;
  width: 100%;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
}
.marquee-track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: v9marquee 90s linear infinite;
  will-change: transform;
}
.marquee-track:hover {
  animation-play-state: paused;
}
@keyframes v9marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.marquee-card {
  flex: 0 0 300px;
  background: #ffffff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  min-height: 200px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease;
}
.marquee-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}
.marquee-card .mc-name {
  font-weight: 700;
  color: #1a3c6e;
  font-size: 16px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 2px solid #dce6f2;
}
.marquee-card .mc-text {
  font-size: 14px;
  line-height: 1.85;
  color: #555;
  flex: 1;
}

/* 7. Remove blur/filter from sec9 (blue CTA) */
.section-homepage.anim-blur,
.section-homepage.anim-blur.in-view {
  filter: none !important;
  -webkit-filter: none !important;
}

/* 8. Footer legal before copyright via flexbox order */
.site-footer {
  display: flex !important;
  flex-direction: column !important;
}
.site-footer > .site-above-footer-wrap  { order: 1 !important; }
.site-footer > .tappe-footer-legal      { order: 2 !important; }
.site-footer > .site-below-footer-wrap  { order: 3 !important; }
.tappe-footer-legal {
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 12px;
  margin-top: 0;
}







.site-above-footer-wrap .ast-builder-grid-row {
  display: block !important;
}
.site-above-footer-wrap .site-footer-above-section-1 {
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

.site-above-footer-wrap .widget_block {
  columns: unset !important;
  column-count: unset !important;
}

/* TAPPE Footer Fix */
.site-above-footer-wrap {
  display: block !important;
}
.site-above-footer-wrap .footer-widget-area .widget_block {
  columns: 1 !important;
  column-count: 1 !important;
}

/* Activity Cards Responsive */
@media (max-width: 768px) {
  .section-homepage div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.8rem !important;
  }
}
@media (max-width: 480px) {
  .section-homepage div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: 1fr !important;
    max-width: 340px !important;
  }
}








/* ===== ACTIVITY CARDS FIX & HOVER ===== */
/* Card container */
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div {
  overflow: hidden !important;
  min-width: 0 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer;
}
/* Image wrapper - fix forced 300px flex-basis */
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div > div:first-child {
  flex: 0 0 auto !important;
  height: auto !important;
  overflow: hidden !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
/* Image: compact height */
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div img {
  height: 120px !important;
  max-width: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}
/* Text area: compact */
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div > div:last-child {
  flex: 1 1 auto !important;
  padding: 0.6rem 0.8rem !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div h3 {
  font-size: 0.92rem !important;
  margin: 0 0 0.25rem !important;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div p {
  font-size: 0.76rem !important;
  line-height: 1.5 !important;
  margin: 0 0 0.4rem !important;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div a {
  padding: 0.25rem 0.7rem !important;
  font-size: 0.73rem !important;
}
/* Section padding */
.section-homepage.anim-fly-up:nth-of-type(8) {
  padding-top: 1.2rem !important;
  padding-bottom: 1.2rem !important;
}
/* Hover */
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
}
.section-homepage.anim-fly-up:nth-of-type(8) > div[style*="grid"] > div:hover img {
  transform: scale(1.08) !important;
}
/* ===== END ACTIVITY CARDS FIX ===== */



/* ===== TESTIMONIAL MARQUEE CAROUSEL ===== */
@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
div[data-marquee-track="true"] {
  animation: marquee-scroll 60s linear infinite !important;
}
div[data-marquee-wrap="true"]:hover div[data-marquee-track="true"],
div[data-marquee-wrap="true"]:focus-within div[data-marquee-track="true"] {
  animation-play-state: paused !important;
}
/* Card base transition */
div[data-marquee-track="true"] > div {
  transition: transform 0.3s ease, box-shadow 0.3s ease, z-index 0s !important;
  cursor: pointer;
  position: relative;
}
/* Desktop hover: subtle lift */
div[data-marquee-track="true"] > div:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.12) !important;
}
/* Enlarged state (toggled by JS class) */
div[data-marquee-track="true"] > div.card-enlarged {
  transform: scale(1.85) translateY(-15%) !important;
  z-index: 9999 !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35) !important;
  border-radius: 14px !important;
}
/* Overlay behind enlarged card */
div[data-marquee-wrap="true"].has-enlarged::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 9998;
  pointer-events: auto;
}
div[data-marquee-wrap="true"].has-enlarged {
  position: relative;
  z-index: 9997;
}
/* Fallback: active state for long-press on mobile */
@media (max-width: 768px) {
  div[data-marquee-track="true"] > div:active {
    transform: scale(1.7) translateY(-15%) !important;
    z-index: 9999 !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.35) !important;
  }
  div[data-marquee-track="true"] > div {
    flex: 0 0 200px !important;
    width: 200px !important;
    height: 200px !important;
    padding: 1rem !important;
  }
}
/* CTA button hover */
div[data-testimonial-carousel="true"] a {
  transition: background 0.3s ease, transform 0.2s ease !important;
}
div[data-testimonial-carousel="true"] a:hover {
  background: #2d5a8c !important;
  transform: translateY(-2px) !important;
}
/* ===== END TESTIMONIAL MARQUEE ===== */


/* ===== MOBILE: SIX CIRCLE ICONS (開頭六圓圈) ===== */
@media (max-width: 768px) {
  .section-homepage > div[style*="flex-wrap"] {
    flex-wrap: wrap !important;
    gap: 0.5rem 0.3rem !important;
    justify-content: center !important;
    margin-top: 1.5rem !important;
    padding: 0 0.5rem !important;
  }
  .section-homepage > div[style*="flex-wrap"] > div[style*="width:120px"] {
    width: 90px !important;
    flex: 0 0 calc(33.33% - 0.5rem) !important;
    max-width: calc(33.33% - 0.5rem) !important;
  }
  .section-homepage > div[style*="flex-wrap"] > div[style*="width:120px"] img {
    width: 44px !important;
    height: 44px !important;
  }
  .section-homepage > div[style*="flex-wrap"] > div[style*="width:120px"] p {
    font-size: 0.65rem !important;
    margin-top: 0.2rem !important;
  }
}

/* ===== MOBILE: SIX MISSION CARDS (六大核心使命) ===== */
@media (max-width: 768px) {
  .section-homepage.anim-fly-right > div > div[style*="grid"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.8rem !important;
    justify-content: center !important;
    padding: 0 1rem !important;
  }
  .section-homepage.anim-fly-right > div > div[style*="grid"] > div {
    flex: 0 0 calc(33.33% - 0.8rem) !important;
    min-width: 0 !important;
    max-width: calc(33.33% - 0.8rem) !important;
    height: auto !important;
    max-height: 180px !important;
    overflow: hidden !important;
  }
  .section-homepage.anim-fly-right > div > div[style*="grid"] > div span {
    font-size: 22px !important;
  }
  .section-homepage.anim-fly-right > div > div[style*="grid"] > div h3 {
    font-size: 0.75rem !important;
    margin: 0.2rem 0 !important;
  }
  .section-homepage.anim-fly-right > div > div[style*="grid"] > div > div:last-child > p:last-child {
    display: none !important;
  }
  .section-homepage.anim-fly-right > div > div[style*="grid"] > div > div:last-child > p:first-of-type {
    display: none !important;
  }
}

/* ===== MOBILE: FOOTER CLEANUP ===== */
@media (max-width: 768px) {
  .site-above-footer-wrap .ast-builder-grid-row {
    padding: 1rem 0.8rem !important;
  }
  .site-above-footer-wrap .footer-widget-area .widget_block {
    font-size: 0.75rem !important;
  }
  .site-above-footer-wrap .footer-widget-area .widget_block div[style*="max-width"] {
    max-width: 100% !important;
    padding: 1rem !important;
  }
  .site-above-footer-wrap .footer-widget-area .widget_block div[style*="display"] {
    flex-direction: column !important;
    gap: 0.5rem !important;
  }
  .site-above-footer-wrap .footer-widget-area .widget_block img {
    max-width: 120px !important;
    height: auto !important;
  }
  .site-above-footer-wrap .footer-widget-area .widget_block a {
    font-size: 0.7rem !important;
  }
  .site-below-footer-wrap {
    padding: 0.5rem !important;
    font-size: 0.7rem !important;
  }
}

/* ===== NEWS PAGE: BLOG LIST LAYOUT (最新消息列表式排版) ===== */
.blog .site-main .ast-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 1.5rem 1rem !important;
}

.blog .site-main article {
  width: 100% !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  transition: box-shadow 0.3s ease, transform 0.2s ease !important;
}

.blog .site-main article:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
  transform: translateY(-2px) !important;
}

.blog .site-main article {
  margin-bottom: 0 !important;
}


.blog .site-main article .ast-article-inner {
  display: block !important;
}

/* Grid layout for post content: image left, text right */
.blog .site-main article.has-post-thumbnail .post-content {
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  grid-template-rows: auto auto 1fr auto !important;
  min-height: 180px !important;
}

/* Articles WITHOUT thumbnail: single column */
.blog .site-main article:not(.has-post-thumbnail) .post-content {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto 1fr auto !important;
  padding: 0 !important;
}

/* Hide thumbnail section on articles without images */
.blog .site-main article:not(.has-post-thumbnail) .ast-blog-featured-section {
  display: none !important;
}

/* Image section - left column, spanning all rows */
.blog .site-main article .ast-blog-featured-section {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.blog .site-main article .ast-blog-featured-section .post-thumb-img-content {
  height: 100% !important;
  min-height: 180px !important;
}

.blog .site-main article .ast-blog-featured-section img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* Hide category tag */
.blog .site-main article .ast-taxonomy-container {
  display: none !important;
}

/* Date/meta - first row, right column */
.blog .site-main article .entry-header {
  grid-column: -2 / -1 !important;
  grid-row: 1 !important;
  padding: 1.2rem 1.5rem 0 1.5rem !important;
  margin: 0 !important;
}

/* Title - second row, right column */
.blog .site-main article .entry-title {
  grid-column: -2 / -1 !important;
  grid-row: 2 !important;
  padding: 0.3rem 1.5rem 0 1.5rem !important;
  margin: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* Excerpt - third row, right column */
.blog .site-main article .ast-excerpt-container {
  grid-column: -2 / -1 !important;
  grid-row: 3 !important;
  padding: 0.3rem 1.5rem 1rem 1.5rem !important;
  margin: 0 !important;
}

/* Entry content (usually empty) - last row */
.blog .site-main article .entry-content {
  grid-column: -2 / -1 !important;
  grid-row: 4 !important;
  padding: 0 1.5rem 0.5rem 1.5rem !important;
  margin: 0 !important;
}

/* Force show entry-header (hidden by Astra layout-1) */
.blog .site-main article .entry-header {
  display: block !important;
}

/* Left-align all text in cards */
.blog .site-main article .post-content,
.blog .site-main article .entry-title,
.blog .site-main article .entry-header,
.blog .site-main article .ast-excerpt-container,
.blog .site-main article .ast-excerpt-container p,
.blog .site-main article .entry-content {
  text-align: left !important;
}

/* Date styling - prominent */
.blog .site-main article .entry-meta {
  font-size: 0 !important;
}

.blog .site-main article .posted-on {
  font-size: 0.8rem !important;
}

.blog .site-main article .posted-on .published {
  font-size: 0.8rem !important;
  color: #2a6496 !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
}

.blog .site-main article .posted-by {
  display: none !important;
}

/* Title link styling */
.blog .site-main article .entry-title a {
  color: #1a1a2e !important;
  text-decoration: none !important;
}

.blog .site-main article .entry-title a:hover {
  color: #2a6496 !important;
}

/* Excerpt text */
.blog .site-main article .ast-excerpt-container p {
  font-size: 0.88rem !important;
  color: #555 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}




/* Real Read-More button styling */
.blog .site-main article .ast-read-more-container {
  grid-column: -2 / -1 !important;
  grid-row: 4 !important;
  padding: 0 1.5rem 1.2rem 1.5rem !important;
  margin: 0 !important;
}

.blog .site-main article .ast-read-more-container a {
  display: inline-block !important;
  padding: 0.4rem 1.1rem !important;
  background: #2a6496 !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 0 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}

.blog .site-main article .ast-read-more-container a::after {
  content: "繼續閱讀 →" !important;
  font-size: 0.82rem !important;
}

.blog .site-main article:hover .ast-read-more-container a {
  background: #1e4f78 !important;
}

/* Move entry-content to row 5 */
.blog .site-main article .entry-content {
  grid-row: 5 !important;
}

/* Update grid rows to accommodate read-more */
.blog .site-main article.has-post-thumbnail .post-content {
  grid-template-rows: auto auto 1fr auto auto !important;
}

.blog .site-main article:not(.has-post-thumbnail) .post-content {
  grid-template-rows: auto auto 1fr auto auto !important;
}



/* ===== NEWS PAGE: LOGO WATERMARK DECORATION ===== */
.blog #primary {
  position: relative !important;
}

.blog #primary::after {
  content: "" !important;
  position: fixed !important;
  bottom: 30px !important;
  right: 30px !important;
  width: 220px !important;
  height: 220px !important;
  background-image: url('https://taiwanappe.org/wp-content/uploads/2025/01/cropped-cropped-cropped-cropped-fghhj-1.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  opacity: 0.10 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ===== NEWS PAGE: MOBILE RESPONSIVE ===== */
@media (max-width: 768px) {
  .blog .site-main article.has-post-thumbnail .post-content {
    grid-template-columns: 1fr !important;
    grid-template-rows: 180px auto auto 1fr auto !important;
  }
  .blog .site-main article .ast-blog-featured-section {
    grid-row: 1 !important;
    grid-column: 1 !important;
  }
  .blog .site-main article .entry-header {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 0.8rem 1rem 0 1rem !important;
  }
  .blog .site-main article .entry-title {
    grid-column: 1 !important;
    grid-row: 3 !important;
    padding: 0.3rem 1rem 0 1rem !important;
  }
  .blog .site-main article .ast-excerpt-container {
    grid-column: 1 !important;
    grid-row: 4 !important;
    padding: 0.3rem 1rem 1rem 1rem !important;
  }
  .blog .site-main article .entry-content {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }
}

/* ===== HOMEPAGE: LATEST NEWS LIST FORMAT (首頁最新消息列表格式) ===== */
.tappe-latest-news {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 700px !important;
}

.tappe-latest-news li {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 0 !important;
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid #e8e4dc !important;
  font-size: 0.95rem !important;
  line-height: 1.8 !important;
}

.tappe-latest-news li:last-child {
  border-bottom: none !important;
}

/* Date first via order */
.tappe-latest-news li .wp-block-latest-posts__post-date {
  order: -1 !important;
  white-space: nowrap !important;
  color: #555 !important;
  font-size: 0.9rem !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Comma after date */
.tappe-latest-news li .wp-block-latest-posts__post-date::after {
  content: "\FF0C" !important;
  margin-right: 0 !important;
}

/* Title link with 【】 brackets */
.tappe-latest-news li a {
  color: #1a3a5c !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0 !important;
}

.tappe-latest-news li a::before {
  content: "\3010" !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
}

.tappe-latest-news li a::after {
  content: "\3011" !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
}

/* Show title text via font-size trick */
.tappe-latest-news li a {
  font-size: 0.95rem !important;
}

.tappe-latest-news li a:hover {
  color: #2a6496 !important;
}


/* ===== HOMEPAGE: 思辨火種區塊樣式 ===== */
.section-homepage.anim-fly-up:nth-of-type(10) {
  background-color: #f5f0e6 !important;
  border-radius: 12px !important;
  margin: 3rem auto !important;
  max-width: 960px !important;
  padding: 4rem 2rem !important;
}


/* ===== CUSTOM FONT: HanWangMingHeavy ===== */
@font-face {
  font-family: 'HanWangMingHeavy';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ===== HEADER: 正式風格重新設計 ===== */
.ast-primary-header-bar,
.main-header-bar {
  background: linear-gradient(135deg, #0d1b2a 0%, #1b2d45 50%, #162338 100%) !important;
  border-bottom: 2px solid #c9a84c !important;
  box-shadow: 0 3px 15px rgba(0,0,0,0.2) !important;
  padding: 0.3rem 0 !important;
}

/* 協會名稱 */
.site-title {
  font-family: 'HanWangMingHeavy', 'Noto Serif TC', serif !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  color: #f0d68c !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
.site-title a,
.site-title a:visited,
.site-title a:hover {
  color: #f0d68c !important;
}
.site-title a:hover {
  color: #ffe6a0 !important;
}

/* since 2014 副標 */
.site-description {
  color: rgba(201,168,76,0.7) !important;
  font-family: 'Georgia', 'Noto Serif TC', serif !important;
  font-style: italic !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.15em !important;
}

/* 主選單項目 */
.ast-primary-header-bar .menu-item > a,
.main-header-menu > .menu-item > a {
  font-family: 'HanWangMingHeavy', 'Noto Serif TC', serif !important;
  color: #e8dcc8 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  padding: 0.6rem 1rem !important;
  transition: all 0.3s ease !important;
  position: relative !important;
}
.ast-primary-header-bar .menu-item > a:hover,
.main-header-menu > .menu-item > a:hover {
  color: #f0d68c !important;
}
/* 選單項目底部金線 hover 效果 */
.ast-primary-header-bar .menu-item-depth-0 > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 0 !important;
  height: 2px !important;
  background: #c9a84c !important;
  transition: all 0.3s ease !important;
  transform: translateX(-50%) !important;
}
.ast-primary-header-bar .menu-item-depth-0 > a:hover::after {
  width: 70% !important;
}
/* 目前頁面高亮 */
.ast-primary-header-bar .current-menu-item > a,
.ast-primary-header-bar .current-menu-ancestor > a {
  color: #f0d68c !important;
}

/* 下拉選單 */
.ast-primary-header-bar .sub-menu,
.main-header-menu .sub-menu {
  background: #1b2d45 !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
  border-radius: 0 0 8px 8px !important;
}
.ast-primary-header-bar .sub-menu .menu-item > a {
  color: #d4c8b0 !important;
  font-family: 'Noto Sans TC', sans-serif !important;
  font-size: 0.88rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.ast-primary-header-bar .sub-menu .menu-item > a:hover {
  color: #f0d68c !important;
  background: rgba(201,168,76,0.08) !important;
}

/* Logo 圖片亮度微調(在深色背景上) */
.custom-logo-link img,
.ast-site-identity img {
  filter: brightness(1.2) !important;
}


/* ===== Header 配色修正 ===== */
/* 網站標題改黑色 */
.site-header .site-title a,
.site-header .site-title,
.ast-site-title-wrap .site-title a,
.site-header .ast-site-identity .site-title a {
  color: #111 !important;
}
/* since 2014 年份改黑色 */
.site-header .site-description,
.site-header .ast-site-tagline,
.ast-site-identity .site-description {
  color: #333 !important;
  opacity: 1 !important;
}
/* 主選單文字改黑色 */
.site-header .main-header-menu > .menu-item > a,
.site-header .ast-nav-menu > .menu-item > a,
.main-header-menu .menu-item > .menu-link,
.ast-header-break-point .main-header-menu .menu-item > .menu-link {
  color: #111 !important;
}
/* 主選單 hover */
.site-header .main-header-menu > .menu-item > a:hover,
.site-header .ast-nav-menu > .menu-item > a:hover,
.site-header .main-header-menu > .menu-item:hover > a,
.site-header .main-header-menu > .current-menu-item > a,
.site-header .main-header-menu > .current-menu-ancestor > a {
  color: #c9a84c !important;
}
/* 下拉選單背景改淺色 + 文字改深色 */
.site-header .main-header-menu .sub-menu,
.site-header .ast-nav-menu .sub-menu,
.ast-desktop-popup-content .main-header-menu .sub-menu,
.main-header-menu .sub-menu {
  background: #fff !important;
  border: 1px solid #e0d8c8 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
}
.site-header .main-header-menu .sub-menu a,
.site-header .ast-nav-menu .sub-menu a,
.main-header-menu .sub-menu .menu-item > a,
.main-header-menu .sub-menu .menu-link {
  color: #333 !important;
}
.site-header .main-header-menu .sub-menu a:hover,
.main-header-menu .sub-menu .menu-item:hover > a,
.main-header-menu .sub-menu .menu-item > a:hover {
  color: #c9a84c !important;
  background: #f9f6ef !important;
}
/* 下拉選單 active item */
.main-header-menu .sub-menu .current-menu-item > a {
  color: #c9a84c !important;
  font-weight: 700;
}
/* 下拉選單箭頭 */
.main-header-menu .menu-item .sub-menu-toggle,
.ast-header-break-point .menu-item .sub-menu-toggle {
  color: #111 !important;
}


/* === 學員回饋區塊修正 === */
[data-testimonial-carousel] h2 {
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}
[data-testimonial-carousel] {
  opacity: 1 !important;
}

/* === 覆蓋 Superb Addons 動畫 (學員回饋區塊) === */
[data-testimonial-carousel][superb-addons-animation],
[data-testimonial-carousel] {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  visibility: visible !important;
}

/* === About 頁面標題顏色 === */
.about-hero h1 {
  color: #ffffff !important;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* === 行動版 header 底色改透明（與電腦版一致）=== */
.ast-mobile-header-content,
.ast-mobile-header-wrap,
.ast-mobile-header-wrap .ast-primary-header-bar {
  background-color: transparent !important;
  background: transparent !important;
}

/* === 手機版「我們的活動」卡片 grid 響應式修正 === */
@media (max-width: 768px) {
  .section-homepage div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 100% !important;
    padding: 0 1rem;
  }
  .section-homepage div[style*="grid-template-columns:repeat(4"] > div {
    overflow: hidden !important;
  }
  .section-homepage div[style*="grid-template-columns:repeat(4"] img {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    display: block !important;
  }
}
@media (max-width: 480px) {
  .section-homepage div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.8rem !important;
  }
  .section-homepage div[style*="grid-template-columns:repeat(4"] img {
    height: 120px !important;
  }
}


/* === 手機版計數器對齊修正（OUR IMPACT）=== */
@media (max-width: 768px) {
  .section-impact div[style*="gap:2rem"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.8rem !important;
    padding: 0 0.5rem;
  }
  .section-impact div[style*="gap:2rem"] > div[style*="background:rgba"] {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 1.2rem 0.5rem !important;
  }
  .section-impact div[style*="gap:2rem"] > div[style*="background:rgba"] p {
    text-align: center !important;
    width: 100% !important;
  }
  .section-impact div[style*="gap:2rem"] > div[style*="background:rgba"] p[style*="font-size:3.5rem"] {
    font-size: 2rem !important;
    margin-bottom: 0.2rem !important;
  }
  .section-impact div[style*="gap:2rem"] > div[style*="background:rgba"] p[style*="font-size:1rem"] {
    font-size: 0.85rem !important;
  }
  .section-impact div[style*="gap:2rem"] > div:last-child:not([style*="background"]) {
    display: none !important;
  }
}
/* === 首頁最新消息內容置中 === */
.wp-block-latest-posts__list li {
  justify-content: center !important;
  text-align: center !important;
}
.wp-block-latest-posts__list {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* === 手機版六大核心使命 1x6 單欄排列 === */
@media (max-width: 768px) {
  .anim-fly-right div[style*="grid-template-columns"],
  div[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .anim-fly-right div[style*="grid-template-columns"] > div,
  div[style*="grid-template-columns:repeat(3"] > div {
    min-height: 220px !important;
  }
  .anim-fly-right div[style*="grid-template-columns"] > div > div[style*="position:relative"][style*="padding"],
  div[style*="grid-template-columns:repeat(3"] > div > div[style*="position:relative"][style*="padding"] {
    padding: 1.5rem !important;
  }
  .anim-fly-right div[style*="grid-template-columns"] > div p,
  div[style*="grid-template-columns:repeat(3"] > div p {
    font-size: 0.9rem !important;
    opacity: 1 !important;
    display: block !important;
  }
}

/* === 手機版六大核心使命 1x6 單欄排列 === */
@media (max-width: 768px) {
  .missions-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .missions-grid > div {
    min-height: 200px !important;
  }
  .missions-grid > div p {
    font-size: 0.9rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    color: #fff !important;
  }
  .missions-grid > div h3 {
    font-size: 1.1rem !important;
  }
  .missions-grid > div span {
    font-size: 1.8rem !important;
  }
}

/* === 手機版選單：點整個區域即可展開子選單 === */
@media (max-width: 921px) {
  .ast-builder-menu-mobile .menu-item-has-children {
    position: relative !important;
  }
  .ast-builder-menu-mobile .menu-item-has-children > .ast-menu-toggle {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    bottom: auto !important;
    z-index: 3 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }
  .ast-builder-menu-mobile .menu-item-has-children > a {
    position: relative !important;
    z-index: 1 !important;
  }
}

/* === 手機版最新消息「繼續閱讀」按鈕不擋文章預覽 === */
@media (max-width: 768px) {
  /* 讓文章卡片內容區塊用 flex 排列，確保空間分配正確 */
  .post-content.ast-grid-common-col {
    display: flex !important;
    flex-direction: column !important;
  }
  /* 摘要文字確保完整顯示 */
  .ast-excerpt-container {
    margin-bottom: 0.8rem !important;
    overflow: visible !important;
  }
  .ast-excerpt-container p {
    -webkit-line-clamp: unset !important;
    display: block !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
  }
  /* 繼續閱讀按鈕：靠右對齊，不重疊摘要 */
  .ast-read-more-container {
    align-self: flex-end !important;
    margin-top: 0.3rem !important;
    position: relative !important;
    z-index: 1 !important;
    width: auto !important;
    text-align: right !important;
  }
  /* 按鈕本身縮小一點讓手機更舒適 */
  .ast-read-more-container a {
    font-size: 0.85rem !important;
    padding: 5px 14px !important;
    display: inline-block !important;
  }
  /* 隱藏 screen-reader-text 避免按鈕文字過長 */
  .ast-read-more-container .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px) !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
  }
}

/* =============================================
   PUBLIC PHILOSOPHY PAGE (post-1308)
   ============================================= */

.post-1308 .entry-content .philo-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  color: #2c3e50;
  line-height: 1.9;
}
.post-1308 .philo-page h1.philo-title {
  text-align: center;
  font-size: 2.2em;
  margin-bottom: 10px;
  color: #1a3a5c;
}
.post-1308 .philo-page .philo-subtitle {
  text-align: center;
  font-size: 1.1em;
  color: #5a7a9a;
  margin-bottom: 15px;
}
.post-1308 .philo-page .philo-quote {
  text-align: center;
  font-style: italic;
  color: #6a8a6a;
  margin: 25px auto;
  max-width: 700px;
  font-size: 1.05em;
  border-left: 4px solid #b8d4b8;
  padding: 15px 20px;
  background: #f7faf7;
  border-radius: 0 8px 8px 0;
}
.post-1308 .philo-page .philo-intro {
  font-size: 1.05em;
  margin-bottom: 30px;
  text-align: justify;
}
.post-1308 .philo-page .philo-divider {
  text-align: center;
  margin: 40px 0;
  color: #c0c0c0;
  font-size: 1.5em;
  letter-spacing: 10px;
}
.post-1308 .philo-page .philo-section {
  border-radius: 16px;
  padding: 35px;
  margin: 30px 0;
}
.post-1308 .philo-page .philo-section h2 {
  font-size: 1.5em;
  margin-bottom: 15px;
}
.post-1308 .philo-page .philo-section p {
  margin-bottom: 12px;
}
.post-1308 .philo-section.sec-what {
  background: linear-gradient(135deg, #f0f4f8 0%, #e8eef5 100%);
}
.post-1308 .philo-section.sec-what h2 { color: #1a3a5c; }
.post-1308 .philo-section.sec-delib {
  background: linear-gradient(135deg, #fdf6ec 0%, #fef9f0 100%);
  border-left: 5px solid #d4a856;
}
.post-1308 .philo-section.sec-delib h2 { color: #8b6914; }

/* Chapter cards */
.post-1308 .philo-page .chapter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 30px 0;
}
@media (max-width: 768px) {
  .post-1308 .philo-page .chapter-grid { grid-template-columns: 1fr; }
}
.post-1308 .philo-page .ch-card {
  border-radius: 14px;
  padding: 28px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.post-1308 .philo-page .ch-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}
.post-1308 .ch-card h3 { font-size: 1.25em; margin-bottom: 8px; }
.post-1308 .ch-card .ch-label {
  font-size: 0.8em;
  font-weight: bold;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}
.post-1308 .ch-card p { font-size: 0.95em; line-height: 1.7; margin-bottom: 8px; }
.post-1308 .ch-card .ch-topics {
  font-size: 0.85em;
  color: #666;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.08);
}
.post-1308 .ch-card.c1 { background: linear-gradient(135deg, #e8f4f8 0%, #d5eaf3 100%); border-left: 5px solid #2d8ab8; }
.post-1308 .ch-card.c1 h3 { color: #1a5a7a; }
.post-1308 .ch-card.c1 .ch-label { color: #2d8ab8; }
.post-1308 .ch-card.c2 { background: linear-gradient(135deg, #f3eef8 0%, #e9e0f3 100%); border-left: 5px solid #7b5ea7; }
.post-1308 .ch-card.c2 h3 { color: #5a3d8a; }
.post-1308 .ch-card.c2 .ch-label { color: #7b5ea7; }
.post-1308 .ch-card.c3 { background: linear-gradient(135deg, #fef3e8 0%, #fde8d0 100%); border-left: 5px solid #c47a2a; }
.post-1308 .ch-card.c3 h3 { color: #8a5a1a; }
.post-1308 .ch-card.c3 .ch-label { color: #c47a2a; }
.post-1308 .ch-card.c4 { background: linear-gradient(135deg, #fce8ef 0%, #f8d5e0 100%); border-left: 5px solid #c44a6a; }
.post-1308 .ch-card.c4 h3 { color: #8a2a4a; }
.post-1308 .ch-card.c4 .ch-label { color: #c44a6a; }
.post-1308 .ch-card.c5 { background: linear-gradient(135deg, #e8f5e9 0%, #d5ead8 100%); border-left: 5px solid #4a8a5a; }
.post-1308 .ch-card.c5 h3 { color: #2a6a3a; }
.post-1308 .ch-card.c5 .ch-label { color: #4a8a5a; }
.post-1308 .ch-card.c6 { background: linear-gradient(135deg, #f5f0e8 0%, #ebe3d5 100%); border-left: 5px solid #8a7a5a; }
.post-1308 .ch-card.c6 h3 { color: #6a5a3a; }
.post-1308 .ch-card.c6 .ch-label { color: #8a7a5a; }

/* Details/accordion */
.post-1308 .philo-page details {
  margin: 15px 0;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  overflow: hidden;
}
.post-1308 .philo-page details summary {
  padding: 18px 24px;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.1em;
  color: #1a3a5c;
  background: #f8f9fa;
  transition: background 0.2s;
}
.post-1308 .philo-page details summary:hover { background: #eef1f5; }
.post-1308 .philo-page details[open] summary { border-bottom: 1px solid #e0e0e0; }
.post-1308 .philo-page details .detail-body {
  padding: 24px;
  line-height: 1.8;
}
.post-1308 .philo-page details .detail-body p { margin-bottom: 12px; }
.post-1308 .philo-page .think-point {
  background: #fff8e1;
  border-left: 4px solid #ffc107;
  padding: 12px 16px;
  margin: 12px 0;
  border-radius: 0 8px 8px 0;
  font-size: 0.95em;
}

/* Conclusion */
.post-1308 .philo-page .philo-conclusion {
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8a 100%);
  border-radius: 20px;
  padding: 45px;
  margin: 40px 0;
  color: #e8eef5;
  text-align: center;
}
.post-1308 .philo-conclusion h2 { color: #ffd700; margin-bottom: 20px; font-size: 1.6em; }
.post-1308 .philo-conclusion p { margin-bottom: 15px; font-size: 1.05em; line-height: 1.8; }
.post-1308 .philo-conclusion .gold { color: #ffd700; font-weight: bold; }

/* CTA */
.post-1308 .philo-page .philo-cta {
  text-align: center;
  margin: 40px 0;
  padding: 30px;
  background: #f8f9fa;
  border-radius: 16px;
}
.post-1308 .philo-cta p { margin-bottom: 15px; }
.post-1308 .philo-cta a.cta-btn {
  display: inline-block;
  background: linear-gradient(135deg, #1a3a5c 0%, #2d5a8a 100%);
  color: #fff !important;
  padding: 14px 40px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 1.1em;
  font-weight: bold;
  transition: transform 0.2s, box-shadow 0.2s;
}
.post-1308 .philo-cta a.cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26,58,92,0.3);
}

/* ========== Fix single post white background (single-post article) ========== */
.single-post article.post,
.single article.post.type-post,
.single .ast-article-single,
body.single-post .ast-article-single,
body.single-post article[id^="post-"].post {
  background: transparent !important;
  background-color: transparent !important;
}


/* ========== Fix blog pagination previous/next float ========== */
.navigation.pagination .nav-links > a.prev.page-numbers,
.navigation.pagination .nav-links > a.next.page-numbers,
.navigation.pagination .page-numbers.prev,
.navigation.pagination .page-numbers.next {
  float: none !important;
  display: inline-block !important;
}
.navigation.pagination,
.ast-pagination,
.ast-pagination .nav-links,
.navigation.pagination .nav-links {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}


/* ========== Fix Jetpack infinite-scroll wrapper layout on /news/ ========== */
/* .infinite-wrap is injected by Jetpack when user scrolls. Astra normally wraps articles in .ast-row (flex, max-width 900px, padding 24px 16px, gap 24px), but Jetpack-appended articles skip that wrapper — we apply the same rules directly to .infinite-wrap. */
.infinite-wrap {
  display: flex !important;
  flex-direction: column !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 24px 16px !important;
  gap: 24px !important;
  background: transparent !important;
}
.infinite-wrap article.post {
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
}


/* ========== Universal .tr-hero banner styles (works on any page, e.g. /news/) ========== */
.tr-hero{position:relative;overflow:hidden;border-radius:12px;padding:5rem 2rem;text-align:center;margin:0 auto 2rem;min-height:280px;max-width:1060px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.tr-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;margin:0;padding:0;border-radius:0;aspect-ratio:auto}
.tr-hero-overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.65));z-index:1}
.tr-hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto;color:#fff}
.tr-hero-label{font-size:.75rem !important;letter-spacing:6px !important;color:#e8d5b0 !important;text-transform:uppercase !important;margin:0 0 .8rem !important;font-weight:500 !important}
.tr-hero-title{font-size:2.6rem !important;font-weight:900 !important;margin:0 0 1rem !important;color:#d4a017 !important;text-shadow:0 2px 8px rgba(0,0,0,.75),0 0 30px rgba(0,0,0,.5) !important;font-family:WHZXiMingTi,"Noto Serif TC",serif !important;line-height:1.2 !important}
.tr-hero-divider{width:70px !important;border:none !important;border-top:3px solid #d4a017 !important;margin:0 auto 1.2rem !important;box-shadow:0 1px 4px rgba(0,0,0,.4) !important}
.tr-hero-sub{font-size:1rem !important;color:#fff !important;margin:0 !important;text-shadow:0 1px 4px rgba(0,0,0,.6) !important;line-height:1.6 !important}
@media(max-width:600px){.tr-hero{padding:3rem 1.2rem;min-height:200px}.tr-hero-title{font-size:2rem !important}}