/* Tema Trattoria — papel creme, composição centrada, moldura dupla e cardápio em lista pontilhada. */
.th-trattoria { --sf-radius: 4px; background-image: radial-gradient(color-mix(in srgb, var(--sf-text) 5%, transparent) 1px, transparent 1px); background-size: 22px 22px; }
.th-trattoria .sf-head { background: transparent; border-bottom: 3px double color-mix(in srgb, var(--sf-brand) 55%, transparent); }
.th-trattoria .sf-head__inner { min-height: 76px; }
.th-trattoria .sf-brand__mark { background: var(--sf-brand); border-radius: 50%; box-shadow: 0 0 0 3px var(--sf-bg), 0 0 0 4px var(--sf-brand); }
.th-trattoria .sf-brand__name { font-style: italic; font-size: 1.3rem; }
.th-trattoria .sf-nav__cta { background: var(--sf-brand); color: var(--sf-brand-ink) !important; border-radius: 4px; }

.hero-tr { padding: clamp(2.5rem, 7vw, 5rem) 0 clamp(2rem, 5vw, 3.5rem); text-align: center; }
.hero-tr__inner { display: flex; flex-direction: column; align-items: center; }
.hero-tr__kicker { letter-spacing: .3em; }
.hero-tr__title { font-size: clamp(2.4rem, 6.4vw, 5rem); font-style: italic; max-width: 18ch; line-height: 1.02; }
.font-impacto .hero-tr__title, .font-moderna .hero-tr__title { font-style: normal; }
.hero-tr__rule { display: flex; align-items: center; gap: .8rem; width: min(260px, 60%); margin: 1.4rem auto; }
.hero-tr__rule::before, .hero-tr__rule::after { content: ""; flex: 1; height: 1px; background: var(--sf-brand); }
.hero-tr__rule span { width: .55rem; height: .55rem; transform: rotate(45deg); background: var(--sf-accent); }
.hero-tr__lead { max-width: 52ch; font-size: 1.12rem; color: var(--sf-muted); margin-bottom: 1.8rem !important; }
.hero-tr__frame { margin: clamp(2rem, 5vw, 3.5rem) 0 0; width: 100%; padding: .6rem; border: 1px solid var(--sf-brand); outline: 1px solid var(--sf-brand); outline-offset: 5px; background: var(--sf-surface); }
.hero-tr__img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.hero-tr__facts { margin: 1.6rem 0 0 !important; font-style: italic; color: var(--sf-muted); }
.th-trattoria .sf-btn { border-radius: 4px; }

.th-trattoria .sf-sec__head { justify-content: center; text-align: center; flex-direction: column; align-items: center; }
.th-trattoria .sf-title { font-style: italic; text-align: center; }
.th-trattoria .sf-title::after { content: ""; display: block; width: 3rem; height: 2px; margin: .9rem auto 0; background: var(--sf-accent); }
.th-trattoria .sf-sec__head .sf-title::after { margin-bottom: .4rem; }
.th-trattoria .sf-hl--leader .sf-wrap { max-width: 900px; }
.th-trattoria .sf-hl__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; }
.th-trattoria .sf-hl__item { border-bottom: 1px dashed color-mix(in srgb, var(--sf-brand) 40%, transparent); }
.th-trattoria .sf-hl__thumb { border-radius: 4px; width: 72px; height: 72px; }
.th-trattoria .sf-hl__name { font-style: italic; }
.th-trattoria .sf-hl__price strong { color: var(--sf-brand-text); }
.th-trattoria .sf-about__copy { text-align: left; }
.th-trattoria .sf-about__copy .sf-title { text-align: left; }
.th-trattoria .sf-about__copy .sf-title::after { margin-left: 0; }
.th-trattoria .sf-about__copy > p:first-of-type::first-letter { float: left; font: 400 3.6rem/.85 var(--sf-display); margin: .3rem .5rem 0 0; color: var(--sf-brand-text); }
.th-trattoria .sf-about__media { padding: .5rem; border: 1px solid var(--sf-brand); background: var(--sf-surface); }
.th-trattoria .sf-gallery__grid li { border: 6px solid var(--sf-surface); box-shadow: 0 0 0 1px var(--sf-line); border-radius: 2px; }
.th-trattoria .sf-quotes__list figure { text-align: center; background: var(--sf-surface); }
.th-trattoria .sf-quotes .sf-note { text-align: center; }
.th-trattoria .sf-services__list li { text-align: center; background: transparent; border-style: dashed; }
.th-trattoria .sf-loc .sf-title { text-align: left; }
.th-trattoria .sf-loc .sf-title::after { margin-left: 0; }
.th-trattoria .sf-cta { background: var(--sf-brand); text-align: center; }
.th-trattoria .sf-cta__inner { justify-content: center; flex-direction: column; }
.th-trattoria .sf-cta__title { font-style: italic; }
.th-trattoria .sf-foot { border-top: 3px double color-mix(in srgb, var(--sf-brand) 55%, transparent); }

@media (max-width: 760px) {
  .th-trattoria .sf-hl__list { grid-template-columns: minmax(0, 1fr); }
  .hero-tr__img { aspect-ratio: 4 / 3; }
}

/* Contadores — Trattoria: moldura dupla, números em itálico */
.th-trattoria .sf-counters { background: transparent; border: 0; border-top: 3px double color-mix(in srgb, var(--sf-brand) 55%, transparent); border-bottom: 3px double color-mix(in srgb, var(--sf-brand) 55%, transparent); }
.th-trattoria .sf-counter__num { font-style: italic; }
.th-trattoria .sf-counters--f-impacto .sf-counter__num, .th-trattoria .sf-counters--f-mono .sf-counter__num { font-style: normal; }
.th-trattoria .sf-counter__label { font-style: italic; }
.th-trattoria .sf-counter { border-color: color-mix(in srgb, var(--sf-brand) 40%, transparent) !important; border-left-style: dashed !important; }
