/* Aurora — feed "Recent work": faixa continua de fotos reais, cada uma com CTA para o
   agendamento daquele servico. CSS proprio (nao depende do Tailwind compilado).
   Cores da marca: forest #2D382D, sand #FAF8F5, ouro #C9A227 (so em fundo/borda;
   como texto usa #8A6D12, que passa AA sobre o creme). Interacoes em 200 ms. */

.rf { padding: 3.5rem 0; background: #FEFDFB; overflow: hidden; }
.rf__inner { max-width: 72rem; margin: 0 auto; padding: 0 1.5rem; }
.rf__head { margin-bottom: 1.25rem; }
.rf__eyebrow { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8A6D12; margin-bottom: .5rem; }
.rf__title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 300; font-size: 1.875rem; line-height: 1.15; color: #2D382D; margin: 0; }
.rf__sub { margin: .5rem 0 0; color: rgba(45, 56, 45, .72); font-size: .95rem; }

/* A faixa ocupa a largura da tela; o JS a faz andar e da a volta sem emenda. */
.rf__track { display: flex; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; padding: .25rem 1.5rem 1rem;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; cursor: grab; }
.rf__track::-webkit-scrollbar { display: none; }
.rf__track:focus-visible { outline: 2px solid #8A6D12; outline-offset: -2px; }

.rf__slide { flex: 0 0 72%; margin: 0; background: #fff; border-radius: .75rem; overflow: hidden;
  box-shadow: 0 1px 2px rgba(45, 56, 45, .06), 0 8px 24px rgba(45, 56, 45, .08); display: flex; flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease; }
.rf__slide:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(45, 56, 45, .08), 0 14px 32px rgba(45, 56, 45, .12); }
@media (min-width: 640px) { .rf__slide { flex-basis: 42%; } }
@media (min-width: 1024px) { .rf__slide { flex-basis: 280px; } .rf__title { font-size: 2.25rem; } }

.rf__photo { position: relative; aspect-ratio: 4 / 5; background: #F5F1EB; }
.rf__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.rf__tag { position: absolute; left: .75rem; top: .75rem; padding: .3rem .6rem; border-radius: 999px; background: rgba(45, 56, 45, .82);
  color: #fff; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

.rf__body { padding: 1rem 1rem 1.1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.rf__name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.35rem; line-height: 1.2; color: #2D382D; margin: 0; }
.rf__meta { font-size: .85rem; color: rgba(45, 56, 45, .72); margin: 0; }
.rf__cta { margin-top: auto; padding-top: .6rem; }
.rf__cta a { display: flex; align-items: center; justify-content: center; gap: .4rem; min-height: 48px; padding: .75rem 1rem; border-radius: 2px;
  background: linear-gradient(135deg, #C9A227 0%, #B8860B 100%); color: #1F271F; font-size: .78rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: filter .2s ease; }
.rf__cta a:hover { filter: brightness(1.06); }
.rf__cta a:focus-visible { outline: 2px solid #8A6D12; outline-offset: 2px; }

.rf__foot { display: flex; justify-content: flex-end; margin-top: .25rem; }
.rf__all { font-size: .85rem; font-weight: 600; color: #8A6D12; text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }

/* Versao compacta (pagina de agenda): nao empurra a escolha de servico para longe. */
.rf--compact { padding: 1.75rem 0 1.25rem; border-bottom: 1px solid #E8E1D5; }
.rf--compact .rf__head { margin-bottom: .9rem; text-align: center; }
.rf--compact .rf__title { font-size: 1.5rem; }
.rf--compact .rf__sub { font-size: .85rem; }
.rf--compact .rf__slide { flex-basis: 52%; }
.rf--compact .rf__photo { aspect-ratio: 1 / 1; }
.rf--compact .rf__body { padding: .7rem .75rem .8rem; }
.rf--compact .rf__name { font-size: 1.1rem; }
.rf--compact .rf__meta { font-size: .75rem; }
.rf--compact .rf__cta a { min-height: 44px; font-size: .7rem; padding: .6rem .5rem; }
.rf--compact .rf__foot { justify-content: center; }
@media (min-width: 640px) { .rf--compact .rf__slide { flex-basis: 30%; } }
@media (min-width: 1024px) { .rf--compact .rf__slide { flex-basis: 220px; } }

@media (prefers-reduced-motion: reduce) { .rf__slide, .rf__cta a { transition: none; } .rf__slide:hover { transform: none; } }
