/* ISOLAMENTO DE VARIÁVEIS PARA A SEÇÃO DE PASTORAIS */
#pastorais-wrapper {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.7rem);
  
  --p-space-1: 0.25rem; --p-space-2: 0.5rem; --p-space-3: 0.75rem; 
  --p-space-4: 1rem; --p-space-5: 1.25rem; --p-space-6: 1.5rem; 
  --p-space-8: 2rem; --p-space-10: 2.5rem; --p-space-12: 3rem; 
  --p-space-16: 4rem; --p-space-20: 5rem;
  
  --p-color-bg: #fcfbf7; --p-color-surface: #ffffff; 
  --p-color-border: #ded6cb; --p-color-divider: #ebe3d8;
  --p-color-text: #2c241b; --p-color-text-muted: #6d655d; 
  --p-color-text-faint: #a79d93; --p-color-primary: #0c6a69; 
  --p-color-primary-deep: #084746; --p-color-primary-soft: #dff1ef; 
  --p-color-gold: #b98934; --p-color-gold-soft: #f4ead7;
  
  --p-shadow-sm: 0 6px 16px rgba(51, 35, 12, 0.05); 
  --p-shadow-md: 0 14px 36px rgba(51, 35, 12, 0.08); 
  --p-shadow-lg: 0 24px 68px rgba(51, 35, 12, 0.12);
  
  --p-radius-sm: 0.5rem; --p-radius-md: 0.9rem; 
  --p-radius-lg: 1.2rem; --p-radius-xl: 1.8rem; --p-radius-full: 999px; 
  --p-transition: 220ms cubic-bezier(0.16, 1, 0.3, 1);
  
  --p-font-display: 'Zodiak', Georgia, serif; 
  --p-font-body: 'General Sans', Inter, sans-serif; 
  --content-wide: 1200px;

  font-family: var(--p-font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--p-color-text);
  background: radial-gradient(circle at top left, rgba(12,106,105,0.08), transparent 28%), 
              radial-gradient(circle at 90% 10%, rgba(185,137,52,0.10), transparent 22%), 
              linear-gradient(180deg, #fffdf9 0%, #fcfbf7 46%, #f8f4ed 100%);
  padding-bottom: var(--p-space-16);
}

#pastorais-wrapper h1, #pastorais-wrapper h2, #pastorais-wrapper h3 {
  color: var(--p-color-text);
}

.past-container { width: min(calc(100% - 2rem), var(--content-wide)); margin: 0 auto; }

/* HERO */
.past-hero { position: relative; padding: clamp(var(--p-space-12), 7vw, var(--p-space-20)) 0 var(--p-space-8); }
.past-hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: var(--p-space-8); align-items: center; }
.past-eyebrow { display: inline-flex; align-items: center; padding: var(--p-space-2) var(--p-space-3); border-radius: var(--p-radius-full); background: rgba(255,255,255,0.78); border: 1px solid rgba(12, 106, 105, 0.15); color: var(--p-color-primary); text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--text-xs); box-shadow: var(--p-shadow-sm); }
.past-hero-copy h1 { font-family: var(--p-font-display); font-size: var(--text-2xl); line-height: 0.98; margin-top: var(--p-space-5); }
.past-hero-copy p { margin-top: var(--p-space-5); color: var(--p-color-text-muted); }

/* ANIMATIONS & ORB */
.past-hero-stage { position: relative; min-height: 500px; display: grid; place-items: center; }
.past-floating-card { position: absolute; border-radius: 1.6rem; background: rgba(255,255,255,0.82); border: 1px solid rgba(44,36,27,0.08); box-shadow: var(--p-shadow-md); backdrop-filter: blur(12px); animation: p-floatCard 6s ease-in-out infinite; }
.past-floating-card.one { width: 220px; height: 140px; top: 6%; right: 8%; padding: var(--p-space-4); }
.past-floating-card.two { width: 170px; height: 110px; bottom: 8%; left: 3%; padding: var(--p-space-4); animation-delay: -2s; }
.past-floating-card.three { width: 180px; height: 120px; bottom: 18%; right: 2%; padding: var(--p-space-4); animation-delay: -3.2s; }
.past-floating-card span { font-size: var(--text-xs); text-transform: uppercase; color: var(--p-color-text-faint); }
.past-floating-card strong { display: block; margin-top: var(--p-space-2); font-size: var(--text-sm); }

.past-central-orb { width: min(100%, 420px); aspect-ratio: 1; border-radius: 32% 68% 60% 40% / 37% 39% 61% 63%; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.92), transparent 28%), linear-gradient(135deg, rgba(12,106,105,0.18), rgba(185,137,52,0.18)); border: 1px solid rgba(12,106,105,0.12); box-shadow: 0 30px 70px rgba(51,35,12,0.14); display: grid; place-items: center; position: relative; animation: p-morphBlob 12s ease-in-out infinite; }
.past-central-orb::before, .past-central-orb::after { content: ''; position: absolute; border-radius: 50%; inset: 10%; border: 1px dashed rgba(12,106,105,0.18); animation: p-pulseRing 5.5s ease-in-out infinite; }
.past-central-orb::after { inset: 18%; animation-delay: -2.1s; }
.past-orb-content { text-align: center; padding: var(--p-space-8); }
.past-orb-content svg { width: 64px; height: 64px; color: var(--p-color-primary); margin: 0 auto var(--p-space-4); }
.past-orb-content strong { font-family: var(--p-font-display); font-size: var(--text-xl); line-height: 1.05; }

/* GRID E CARDS */
.past-section { padding-top: clamp(var(--p-space-10), 5vw, var(--p-space-16)); }
.past-section-head h2 { font-family: var(--p-font-display); font-size: var(--text-xl); margin-bottom: 10px;}
.past-toolbar { display: grid; gap: var(--p-space-4); margin-bottom: var(--p-space-6); margin-top: var(--p-space-6); }
.past-search-wrap { position: relative; }
.past-search-wrap input { width: 100%; min-height: 56px; border-radius: var(--p-radius-full); border: 1px solid rgba(44,36,27,0.10); background: rgba(255,255,255,0.9); padding: 0 var(--p-space-5) 0 3.2rem; font-family: var(--p-font-body); }
.past-search-wrap svg { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--p-color-text-muted); }
.past-filters { display: flex; flex-wrap: wrap; gap: var(--p-space-2); }
.past-chip { cursor: pointer; min-height: 40px; padding: 0 var(--p-space-4); border-radius: var(--p-radius-full); border: 1px solid rgba(44,36,27,0.09); background: rgba(255,255,255,0.72); color: var(--p-color-text-muted); transition: all var(--p-transition);}
.past-chip:hover, .past-chip[aria-pressed="true"] { background: linear-gradient(135deg, var(--p-color-primary-soft), rgba(255,255,255,0.98)); color: var(--p-color-primary); border-color: rgba(12,106,105,0.22); }

.past-cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--p-space-5); }
.past-card { cursor: pointer; position: relative; overflow: hidden; text-align: left; min-height: 320px; display: grid; gap: var(--p-space-4); padding: var(--p-space-5); border-radius: var(--p-radius-xl); border: 1px solid rgba(44,36,27,0.08); background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,250,242,0.9)); box-shadow: var(--p-shadow-sm); transition: all var(--p-transition);}
.past-card:hover, .past-card.is-active { transform: translateY(-8px); box-shadow: var(--p-shadow-lg); border-color: rgba(12,106,105,0.18); }
.past-card-image { position: relative; aspect-ratio: 16/8.4; overflow: hidden; border-radius: calc(var(--p-radius-xl) - var(--p-space-5)); border: 1px dashed rgba(12,106,105,0.28); background: linear-gradient(135deg, rgba(223,241,239,0.95), rgba(255,250,242,0.92)); display: grid; place-items: center; }
.past-card-tag { display: inline-flex; padding: 0.42rem 0.78rem; border-radius: var(--p-radius-full); background: var(--p-color-gold-soft); color: var(--p-color-gold); font-size: var(--text-xs); text-transform: uppercase; }
.past-card h3 { font-family: var(--p-font-display); font-size: var(--text-lg); }
.past-card p { color: var(--p-color-text-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.95rem;}
.past-plus { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,0.86); border: 1px solid rgba(44,36,27,0.08); transition: all var(--p-transition);}
.past-card.is-active .past-plus { background: var(--p-color-primary); color: white; transform: rotate(45deg); }
.past-card-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--p-space-3); color: var(--p-color-text-muted); font-size: var(--text-sm); }

/* DETAILS PANEL */
.past-details-shell { margin-top: var(--p-space-8); }
.past-details-panel { position: relative; display: grid; grid-template-columns: 0.92fr 1.08fr; gap: var(--p-space-6); padding: var(--p-space-6); border-radius: 2rem; background: rgba(255,255,255,0.92); border: 1px solid rgba(12,106,105,0.12); box-shadow: var(--p-shadow-lg); backdrop-filter: blur(16px); opacity: 0; transform: translateY(18px) scale(0.985); pointer-events: none; transition: all 360ms ease; }
.past-details-panel.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.past-details-image { aspect-ratio: 16/11; border-radius: calc(2rem - var(--p-space-6)); border: 1px dashed rgba(12,106,105,0.24); background: linear-gradient(135deg, rgba(223,241,239,0.94), rgba(255,250,242,0.96)); display: grid; place-items: center; }
.past-details-copy h3 { font-family: var(--p-font-display); font-size: var(--text-xl); }
.past-details-copy p { margin-top: var(--p-space-4); color: var(--p-color-text-muted); }
.past-meta-grid { margin-top: var(--p-space-5); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--p-space-4); }
.past-meta-card { padding: var(--p-space-4); border-radius: var(--p-radius-lg); background: linear-gradient(180deg, rgba(255,255,255,0.84), rgba(247,241,231,0.82)); border: 1px solid rgba(44,36,27,0.08); }
.past-meta-card span { font-size: var(--text-xs); text-transform: uppercase; color: var(--p-color-text-faint); }
.past-meta-card strong { display: block; margin-top: 5px; font-size: var(--text-sm); }
.past-close-btn { cursor: pointer; position: absolute; top: var(--p-space-4); right: var(--p-space-4); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(44,36,27,0.08); background: rgba(255,255,255,0.92); transition: all var(--p-transition); }
.past-close-btn:hover { transform: rotate(90deg) scale(1.03); }

/* UTIL & ANIMATIONS */
.past-reveal { opacity: 0; transform: translateY(24px) scale(0.99); transition: opacity 700ms ease, transform 700ms ease; }
.past-reveal.is-inview { opacity: 1; transform: translateY(0) scale(1); }
.past-empty-state { display: none; padding: var(--p-space-10); text-align: center; color: var(--p-color-text-muted); }
.image-placeholder { text-align: center; color: var(--p-color-text-muted); padding: var(--p-space-4); }
.image-placeholder svg { width: 34px; height: 34px; margin: 0 auto 10px; color: var(--p-color-primary); }

@keyframes p-floatCard { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-12px); } }
@keyframes p-morphBlob { 0%, 100% { border-radius: 32% 68% 60% 40% / 37% 39% 61% 63%; transform: rotate(0deg); } 50% { border-radius: 62% 38% 46% 54% / 46% 60% 40% 54%; transform: rotate(4deg); } }
@keyframes p-pulseRing { 0%, 100% { transform: scale(1); opacity: 0.75; } 50% { transform: scale(1.05); opacity: 0.35; } }

@media (max-width: 1060px) { .past-hero-grid, .past-details-panel { grid-template-columns: 1fr; } .past-cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .past-meta-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .past-cards-grid { grid-template-columns: 1fr; } .past-hero-stage { min-height: 390px; } }
