/*
Theme Name: Maylson Honorato
Theme URI: https://maylsonhonorato.com.br
Author: Maylson Honorato
Description: Tema autoral construído a partir do design aprovado no Claude Design — Bromélias Imaginárias.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: maylson-honorato
*/

body { margin: 0; background: oklch(0.15 0.02 264); }

@keyframes fireflyDrift {
  0% { transform: translate(0, 0); }
  25% { transform: translate(14px, -22px); }
  50% { transform: translate(-10px, -8px); }
  75% { transform: translate(8px, 16px); }
  100% { transform: translate(0, 0); }
}
@keyframes fireflyPulse { 0%, 100% { opacity: 0.15; } 50% { opacity: 1; } }
@keyframes wordIn { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bookFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes fogDrift1 {
  0% { transform: translate(-5%, -3%) scale(1); }
  50% { transform: translate(4%, 3%) scale(1.12); }
  100% { transform: translate(-5%, -3%) scale(1); }
}
@keyframes fogDrift2 {
  0% { transform: translate(4%, 2%) scale(1.05); }
  50% { transform: translate(-4%, -4%) scale(1); }
  100% { transform: translate(4%, 2%) scale(1.05); }
}
@keyframes caretBlink { 0%, 45% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes auroraBreathe { 0%, 100% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes kenBurns { 0% { transform: scale(1); } 100% { transform: scale(1.08); } }

html, body { max-width: 100%; overflow-x: hidden; }
[data-nav-burger] { display: none; }
@media (max-width: 760px) {
  [data-nav-links-desktop] { display: none !important; }
  [data-nav-burger] { display: flex !important; }
  [data-trecho-grid] { grid-template-columns: 1fr auto !important; }
  [data-trecho-grid] > *:nth-child(1) { grid-column: 1; grid-row: 1; }
  [data-trecho-grid] > *:nth-child(2) { grid-column: 1; grid-row: 2; margin-top: 4px; }
  [data-trecho-grid] > *:nth-child(3) { grid-column: 2; grid-row: 1 / 3; align-self: center; }
}
@media (min-width: 761px) { [data-nav-mobile-panel] { display: none !important; } }

/* ---------- style-hover convertido em CSS de verdade ---------- */
.jn-nav-link:hover { border-bottom-color: oklch(0.78 0.15 75); }
.jn-hero-title:hover { color: oklch(0.78 0.15 75); }
.jn-btn-primary:hover { background: oklch(0.85 0.15 75); transform: scale(1.06); }
.jn-btn-outline:hover { border-color: oklch(0.78 0.15 75); color: oklch(0.78 0.15 75); }
.jn-btn-outline-light:hover { border-color: oklch(0.97 0.01 90); background: oklch(0.97 0.01 90 / 0.1); }
.jn-btn-amber:hover { background: oklch(0.77 0.14 55); transform: scale(1.06); }
.jn-newsletter-btn:hover { transform: scale(1.06); }
.jn-card-hover:hover { box-shadow: 0 12px 32px -8px oklch(0.7 0.14 55 / 0.35); }
.jn-trecho-row:hover { border-left-color: oklch(0.7 0.14 55); background: oklch(0.22 0.02 264); }
.jn-clip-row-1:hover { border-left-color: oklch(0.78 0.15 75); background: oklch(0.22 0.02 264); }
.jn-gallery-btn:hover { border-color: oklch(0.78 0.15 75); color: oklch(0.78 0.15 75); }
.jn-bio-photo { filter: grayscale(0.55) contrast(1.02); transition: opacity 0.8s ease, transform 0.8s ease, filter 0.6s ease; }
.jn-bio-photo:hover { filter: grayscale(0) contrast(1.02); }
.jn-email-input:focus { outline: none; border-color: oklch(0.78 0.15 75); box-shadow: 0 0 0 4px oklch(0.78 0.15 75 / 0.18); }

/* ---------- Contact Form 7 — restilizado pra combinar com o resto do site ---------- */
.jn-cf7-wrap .wpcf7-form { display: flex; flex-direction: column; gap: 16px; }
.jn-cf7-wrap .wpcf7-form p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.jn-cf7-wrap label { font-size: 12px; letter-spacing: 0.01em; font-weight: 500; color: oklch(0.65 0.02 90); }
.jn-cf7-wrap input[type="text"], .jn-cf7-wrap input[type="email"], .jn-cf7-wrap textarea {
  padding: 12px 16px; background: oklch(0.15 0.02 264); border: 1px solid oklch(1 0 0 / 0.12);
  border-radius: 6px; color: oklch(0.95 0.01 90); font-family: 'Archivo', sans-serif; font-size: 15px; width: 100%; box-sizing: border-box;
}
.jn-cf7-wrap textarea { resize: vertical; }
.jn-cf7-wrap input[type="submit"] {
  align-self: flex-start; padding: 14px 32px; background: oklch(0.78 0.15 75); color: oklch(0.15 0.02 264);
  border: none; border-radius: 999px; font-size: 13px; letter-spacing: 0.01em; font-weight: 600; cursor: pointer;
  transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55), background 0.3s ease; font-family: 'Archivo', sans-serif;
}
.jn-cf7-wrap input[type="submit"]:hover { background: oklch(0.85 0.15 75); transform: scale(1.06); }
.jn-cf7-wrap .wpcf7-not-valid-tip { color: oklch(0.7 0.18 30); font-size: 12px; margin-top: 4px; }
.jn-cf7-wrap .wpcf7-response-output { border-radius: 6px; font-size: 13px; margin-top: 12px; }
.jn-cf7-wrap .wpcf7-spinner { margin-left: 12px; }

/* ---------- MailPoet — restilizado pra combinar com o resto do site ---------- */
.jn-mailpoet-wrap .mailpoet_form { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.jn-mailpoet-wrap .mailpoet_paragraph { margin: 0; }
.jn-mailpoet-wrap input[type="email"], .jn-mailpoet-wrap input[type="text"] {
  flex: 1 1 280px; max-width: 340px; padding: 14px 20px; background: oklch(0.22 0.02 264 / 0.5);
  border: 1px solid oklch(1 0 0 / 0.14); border-radius: 999px; color: oklch(0.95 0.01 90);
  font-family: 'Archivo', sans-serif; font-size: 15px; box-sizing: border-box;
}
.jn-mailpoet-wrap input[type="submit"], .jn-mailpoet-wrap .mailpoet_submit input {
  padding: 14px 28px; background: oklch(0.78 0.15 75); color: oklch(0.15 0.02 264); border: none;
  border-radius: 999px; font-size: 13px; letter-spacing: 0.01em; font-weight: 600; cursor: pointer;
  min-width: 140px; transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55), background 0.3s ease;
  font-family: 'Archivo', sans-serif;
}
.jn-mailpoet-wrap input[type="submit"]:hover { background: oklch(0.85 0.15 75); transform: scale(1.06); }
.jn-mailpoet-wrap .mailpoet_message { color: oklch(0.8 0.02 90); font-size: 13px; margin-top: 12px; text-align: center; width: 100%; }

.jn-press-placeholder {
  width: 100%; height: 160px; display: flex; align-items: center; justify-content: center;
  background: oklch(0.22 0.02 264); color: oklch(0.5 0.02 90); font-size: 13px; font-family: 'Archivo', sans-serif;
}

/* Galeria: imagem inteira sempre visível, centralizada nos dois eixos — nunca corta a cabeça */
.jn-gallery-ph, .jn-gallery-frame {
  width: 100%; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center;
  background: oklch(0.09 0.01 264); border-radius: 6px; overflow: hidden;
}
.jn-gallery-frame img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; margin: auto; }
.jn-gallery-ph { color: oklch(0.5 0.02 90); font-size: 13px; font-family: 'Archivo', sans-serif; }

/* Acessibilidade: some visualmente mas continua lido por leitor de tela (H1 técnico quando o design não tem título grande) */
.jn-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
