/* fotos */
.hero__art { position: relative; }
.hero__foto { margin: 0; position: relative; aspect-ratio: 4 / 5; overflow: hidden; box-shadow: 0 40px 90px rgba(0,0,0,.5); }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; }
.hero__foto::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(243,238,228,.28); pointer-events: none; }
.ficha--mini { position: absolute; left: -48px; bottom: -36px; width: 270px; padding: 18px 20px 16px; transform: rotate(-2deg); }
.ficha--mini dt, .ficha--mini dd { padding: 6px 0; font-size: 13px; }
.ficha--mini dd { font-size: 18px; }
.ficha--mini .ficha__top b { font-size: 20px; }
@media (prefers-reduced-motion: no-preference) {
  .ficha--mini { animation: entra2 1s .5s ease both; }
  @keyframes entra2 { from { opacity: 0; transform: translateY(24px) rotate(-5deg); } to { opacity: 1; transform: rotate(-2deg); } }
}
@media (max-width: 860px) { .ficha--mini { left: 12px; bottom: -28px; width: 230px; } .hero__art { margin-bottom: 28px; } }
.card__foto { margin: -30px -26px 8px; aspect-ratio: 4 / 3; overflow: hidden; position: relative; z-index: 1; }
.card__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.card:hover .card__foto img { transform: scale(1.04); }
.card__foto + .card__tag { margin-top: 10px; }
.ed { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; margin-top: clamp(40px, 5vw, 72px); }
.ed figure { margin: 0; position: relative; overflow: hidden; }
.ed img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.ed figcaption { position: absolute; left: 0; bottom: 0; right: 0; padding: 40px 22px 18px; background: linear-gradient(transparent, rgba(14,18,25,.78)); color: var(--on-dark); font-family: var(--display); font-size: 24px; font-style: italic; }
@media (max-width: 760px) { .ed { grid-template-columns: 1fr; } }
.noivo__foto { margin: 0 0 28px; aspect-ratio: 16 / 10; overflow: hidden; }
.noivo__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }

/* agendamento: a fileira de dias rola dentro do painel, sem empurrar a página */
.book { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.book > *, .panel, #form, #etapas, .fase { min-width: 0; }
.dias { max-width: 100%; }
@media (max-width: 860px) { .book { grid-template-columns: minmax(0, 1fr); } }
