/*
 * SJT – Novena e página inicial.
 * Paleta da novena: verde #1E5B45, verde-escuro #0F2E22, dourado #C8962E, vinho #8C2B2B.
 * Os efeitos respeitam quem pede menos movimento (prefers-reduced-motion).
 */

/* ---------- Contador: faixa com verde mais vivo ---------- */
.sjt-contador::before {
	background:
		radial-gradient(60% 140% at 85% 50%, rgba(46, 140, 102, .55), transparent 70%),
		linear-gradient(100deg, #6E1F22 0%, #8C2B2B 38%, #1E5B45 78%, #17704f 100%) !important;
}

/* ---------- Letreiro de palhetas (split-flap) ---------- */
.sjt-contador-relogio b.sjt-flap {
	display: inline-flex; gap: 3px;
	font-family: "Fraunces", Georgia, serif; font-size: 30px; line-height: 1;
	color: #fff; font-variant-numeric: tabular-nums;
}
.sjt-flap__d {
	position: relative; display: inline-block; width: .74em; height: 1.2em;
	perspective: 240px; border-radius: 4px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .35);
}
.sjt-flap__meia, .sjt-flap__folha {
	position: absolute; left: 0; right: 0; height: 50%; overflow: hidden;
	backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.sjt-flap__meia--topo, .sjt-flap__folha--topo {
	top: 0; border-radius: 4px 4px 0 0; transform-origin: 50% 100%;
	background: linear-gradient(#1f5d46, #164835);
}
.sjt-flap__meia--base, .sjt-flap__folha--base {
	bottom: 0; border-radius: 0 0 4px 4px; transform-origin: 50% 0;
	background: linear-gradient(#123d2d, #0f3326);
}
.sjt-flap__folha--base { transform: rotateX(90deg); }
.sjt-flap__meia i, .sjt-flap__folha i {
	position: absolute; left: 0; right: 0; height: 200%;
	font-style: normal; line-height: 1.2em; text-align: center;
}
.sjt-flap__meia--base i, .sjt-flap__folha--base i { top: -100%; }
.sjt-flap__meia--topo i, .sjt-flap__folha--topo i { top: 0; }
/* Fresta no meio da palheta. */
.sjt-flap__d::after {
	content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; margin-top: -.5px;
	background: rgba(0, 0, 0, .55); z-index: 3;
}
@media (max-width: 767px) {
	.sjt-contador-relogio b.sjt-flap { font-size: 24px; }
}

/* ---------- Botão "Fazer um pedido de oração" em destaque ---------- */
@property --sjt-giro { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.sjt-botao.sjt-pedido {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex !important; align-items: center; justify-content: center; gap: 12px;
	min-height: 58px; line-height: 1.2 !important; padding: 8px 18px !important;
	border-radius: 10px !important; color: #fff !important; text-decoration: none;
	background: linear-gradient(135deg, #2a8a63 0%, #1E5B45 45%, #0F2E22 100%) !important;
	box-shadow: 0 8px 22px rgba(15, 46, 34, .35), 0 0 0 1px rgba(200, 150, 46, .35);
	transition: transform .25s ease, box-shadow .25s ease;
}
/* Borda de luz dourada que corre em volta (estilo "Star Border"). */
.sjt-botao.sjt-pedido::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1.5px;
	background: conic-gradient(from var(--sjt-giro), transparent 0deg, #f3d9a4 40deg, #C8962E 70deg, transparent 120deg, transparent 360deg);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor; mask-composite: exclude;
	animation: sjt-giro 4s linear infinite;
}
/* Reflexo que atravessa o botão de vez em quando. */
.sjt-botao.sjt-pedido::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .22) 50%, transparent 65%);
	transform: translateX(-120%); animation: sjt-reflexo 5s ease-in-out 1.5s infinite;
}
.sjt-botao.sjt-pedido:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(15, 46, 34, .45), 0 0 0 1px #C8962E; }
.sjt-pedido__textos { display: grid; text-align: left; }
.sjt-pedido__textos strong { font-size: 16px; font-weight: 700; }
.sjt-pedido__textos small { font-size: 12.5px; font-weight: 500; color: #f3d9a4; }
/* Chaminha de vela que tremula. */
.sjt-pedido__chama {
	flex: none; width: 12px; height: 18px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	background: radial-gradient(circle at 50% 70%, #fff7d6 0 25%, #ffcf6b 45%, #e8892c 75%, transparent 78%);
	box-shadow: 0 0 12px 3px rgba(255, 190, 90, .55);
	animation: sjt-chama 1.6s ease-in-out infinite;
}
@keyframes sjt-giro { to { --sjt-giro: 360deg; } }
@keyframes sjt-reflexo { 0% { transform: translateX(-120%); } 30%, 100% { transform: translateX(120%); } }
@keyframes sjt-chama { 0%, 100% { transform: scale(1) rotate(-2deg); } 50% { transform: scale(1.08, .94) rotate(2deg); } }

/* ---------- Aviso de Missa especial (some sozinho com [sjt_ate]) ---------- */
.sjt-lista li.sjt-especial { color: #6E1F22; }
.sjt-lista li.sjt-especial strong { color: #8C2B2B; }
.sjt-lista li.sjt-especial::before {
	content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 8px 2px 0;
	transform: rotate(45deg); background: #C8962E;
}

/* ---------- Efeitos leves, só na página inicial ---------- */
/* Blocos que aparecem ao rolar (estilo "Fade Content"). */
.sjt-efeitos .sjt-fx-entra { opacity: 0; transform: translateY(18px); transition: opacity .9s ease, transform .9s cubic-bezier(.22, .61, .36, 1); }
.sjt-efeitos .sjt-fx-entra.sjt-fx-visto { opacity: 1; transform: none; }
/* Títulos que surgem do desfoque, palavra por palavra (estilo "Blur Text"). */
.sjt-efeitos .sjt-fx-palavra {
	display: inline-block; opacity: 0; filter: blur(8px); transform: translateY(.2em);
	transition: opacity .8s ease, filter .8s ease, transform .8s ease; transition-delay: calc(var(--i) * 60ms);
}
.sjt-efeitos .sjt-fx-titulo.sjt-fx-visto .sjt-fx-palavra { opacity: 1; filter: none; transform: none; }
/* Luz que segue o cursor nos ingressos da Novena (estilo "Spotlight Card"). */
.sjt-efeitos .sjt-ingresso .sjt-fx-luz {
	position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; transition: opacity .35s ease;
	background: radial-gradient(180px circle at var(--x, 50%) var(--y, 50%), rgba(200, 150, 46, .22), transparent 65%);
}
.sjt-efeitos .sjt-ingresso:hover .sjt-fx-luz { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
	.sjt-botao.sjt-pedido::before, .sjt-botao.sjt-pedido::after, .sjt-pedido__chama { animation: none; }
	.sjt-efeitos .sjt-fx-entra, .sjt-efeitos .sjt-fx-palavra { opacity: 1; filter: none; transform: none; transition: none; }
}
