/* Editorial motion. No autoplay, scroll hijacking, or hidden reading states. */
.button,.icon-link,.save-button,.intention-links a,.story-types a,.mobile-nav a {
  transition: transform var(--t-micro) var(--curva),background var(--t-micro) var(--curva),color var(--t-micro) var(--curva),box-shadow var(--t-micro) var(--curva);
}
.button:active,.icon-link:active,.save-button:active,.mobile-nav a:active { transform: scale(var(--escala-pressionada)); }
.button .icon,.text-link .icon,.intention-links img,.intention-links a > span:last-child { transition: transform var(--t-editorial) var(--curva); }
.desktop-nav a,.story-types a { position: relative; }
.desktop-nav a::after,.story-types a::after { content: ''; position: absolute; left: 0; right: 0; bottom: var(--e-1); height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform var(--t-micro) var(--curva); }
.desktop-nav [aria-current]::after,.desktop-nav a:focus-visible::after,.story-types a:focus-visible::after { transform: scaleX(1); }
.mobile-nav a { padding-inline: var(--e-3); border-radius: var(--raio-m); }
.mobile-nav [aria-current] { color: var(--cor-tinta); background: var(--cor-apoio-claro); }
.mobile-nav svg { transition: transform var(--t-micro) var(--curva); }
.mobile-nav a:active svg { transform: translateY(calc(-1 * var(--e-1))); }
.save-button[aria-pressed=true] svg { animation: heart-confirm var(--t-editorial) var(--curva); }
@keyframes heart-confirm { 0%,100% { transform: scale(1); } 45% { transform: scale(1.2); } 75% { transform: scale(.94); } }
.live-results { animation: content-in var(--t-micro) var(--curva); }
@keyframes content-in { from { opacity: .4; transform: translateY(var(--e-2)); } to { opacity: 1; transform: none; } }
.filter-panel { transition: border-color var(--t-micro),box-shadow var(--t-micro); }
.filter-panel:focus-within { border-color: var(--cor-apoio); box-shadow: var(--sombra-suave); }
input,select,textarea { transition: border-color var(--t-micro),background var(--t-micro); }
.intent-stage { position: absolute; inset: 0; touch-action: pan-y pinch-zoom; }
.hero-scene:has(.intent-stage)::after { display: none; }
.intent-stage::after { content: ''; position: absolute; inset: 35% 0 0; background: var(--cor-gradiente); pointer-events: none; z-index: 1; }
.hero-scene .intent-photo { opacity: 0; transform: scale(1.035); animation: none; transition: opacity var(--t-editorial) var(--curva),transform var(--t-editorial) var(--curva); pointer-events: none; }
.hero-scene .intent-photo.is-active { opacity: 1; transform: scale(1); }
.intent-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; isolation: isolate; }
.intent-controls::before { content: ''; position: absolute; z-index: -1; left: var(--e-1); top: var(--e-1); bottom: var(--e-1); width: calc((100% - var(--e-2)) / 3); border-radius: var(--raio-pill); background: var(--cor-tinta); transition: transform var(--t-editorial) var(--curva); }
.intent-controls.scene-1::before { transform: translateX(100%); }
.intent-controls.scene-2::before { transform: translateX(200%); }
.intent-controls button { min-height: 44px; padding-inline: var(--e-3); transition: color var(--t-micro); }
.intent-controls button[aria-pressed=true] { background: transparent; }
.caption-content { display: flex; flex-direction: column; gap: var(--e-2); animation: content-in var(--t-editorial) var(--curva); }
.caption-content > span { font: 400 var(--texto-xl)/1.2 var(--fonte-titulo); letter-spacing: -.04em; max-width: 280px; }
.caption-content > a { width: fit-content; text-underline-offset: var(--e-1); }
.caption-content > a:hover { text-decoration: underline; }
.scene-feedback { position: absolute; top: var(--e-24); left: var(--e-5); right: var(--e-5); border-radius: var(--raio-s); padding: var(--e-2) var(--e-3); background: var(--cor-superficie); color: var(--cor-tinta); font-size: var(--texto-xs); z-index: 4; }
.swipe-hint { display: none; }
@media (hover:hover) and (pointer:fine) {
  .button:hover { transform: translateY(-2px); box-shadow: var(--sombra-suave); }
  .button:hover .icon,.text-link:hover .icon { transform: translateX(var(--deslocamento-interacao)); }
  .icon-link:hover,.save-button:hover { transform: translateY(-2px); background: var(--cor-apoio-claro); }
  .save-button[aria-pressed=true]:hover { background: var(--cor-tinta); }
  .desktop-nav a:hover::after,.story-types a:hover::after { transform: scaleX(1); }
  .intention-links a:hover { transform: translateX(var(--deslocamento-interacao)); }
  .intention-links a:hover img { transform: translateY(-2px) rotate(-4deg); }
  .intention-links a:hover > span:last-child { transform: translate(2px,-2px); }
  .story-visual > img { transition: transform var(--t-editorial) var(--curva); }
  .story-visual:hover > img { transform: scale(1.025); }
}
@media (hover:none) {
  .button:hover { transform: none; }
  .button:active { transform: scale(var(--escala-pressionada)); }
  .item-card:hover .card-image { transform: none; }
  .intention-links a:active { background: var(--cor-apoio-claro); transform: scale(.99); }
}
@media (max-width:700px) {
  .intent-controls { width: calc(100% - var(--e-8)); }
  .intent-controls button { padding-inline: var(--e-1); }
  .swipe-hint { display: block; position: absolute; left: var(--e-4); bottom: var(--e-3); color: var(--cor-branco); font-size: .625rem; z-index: 3; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .button:hover,.button:active,.icon-link:hover,.icon-link:active,.save-button:hover,.save-button:active,.mobile-nav a:active,.mobile-nav a:active svg,.intention-links a:hover,.intention-links a:active,.intention-links a:hover img,.intention-links a:hover > span:last-child,.button:hover .icon,.text-link:hover .icon,.item-card:hover .card-image,.story-visual:hover > img { transform: none; }
}
