/* ══════════════════════════════════════════════════════════════
   ACIEX — roteiro.css
   Roteiro Gastronômico: vitrine (page-roteiro-gastronomico.php) e
   seção "No Roteiro Gastronômico" da single de empresa (.rg-box).
   Referência: design/roteiro-gastronomico.html e roteiro-gastronomico-single.html.
   Reusa os tokens de base.css; acrescenta a sub-paleta do logo do Roteiro.
   Carregado só nas rotas do Roteiro (ver inc/enqueue.php).
   ══════════════════════════════════════════════════════════════ */

:root {
	--rg-laranja: #CB6018; /* gastronomia: decorativo/ícones (não usar em texto pequeno) */
	--rg-vinho: #A01027;   /* bebidas: texto de acento, chips ativos, selo premium */
	--rg-azul: #4972B1;    /* lazer: decorativo/ícones */
	--rg-verde: #A3BD31;   /* natureza: decorativo; ícone escuro por cima */
	--rg-creme: #FBF7F2;   /* fundo quente de "O Roteiro" */
}

/* ─────────────────────────────
   Utilitários e foco
   ───────────────────────────── */
.rg-page a:focus-visible,
.rg-page button:focus-visible,
.rg-page input:focus-visible,
.rg-box a:focus-visible {
	outline: 3px solid var(--rg-vinho);
	outline-offset: 2px;
	border-radius: 2px;
}

.rg-hero a:focus-visible,
.rg-hero button:focus-visible,
.rg-hero input:focus-visible,
.rg-box__head a:focus-visible {
	outline-color: var(--white);
}

/* Régua com as 4 cores do logo */
.rg-brand-strip { display: grid; grid-template-columns: repeat(4, 1fr); height: 6px; }
.rg-brand-strip > span:nth-child(1) { background: var(--rg-laranja); }
.rg-brand-strip > span:nth-child(2) { background: var(--rg-vinho); }
.rg-brand-strip > span:nth-child(3) { background: var(--rg-azul); }
.rg-brand-strip > span:nth-child(4) { background: var(--rg-verde); }

.rg-eyebrow { display: block; font-size: var(--fs-label); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.12em; color: var(--green-900); }
.rg-eyebrow--vinho { color: var(--rg-vinho); }

.rg-title { font-size: 1.5rem; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: -0.01em; color: var(--dark-900); }
.rg-lead { margin-top: var(--space-2); max-width: 42rem; font-size: var(--fs-small); color: var(--gray-500); line-height: var(--lh-body); }
.rg-prose { margin-top: var(--space-5); font-size: var(--fs-body); color: var(--gray-500); line-height: 1.7; }
.rg-prose > * + * { margin-top: var(--space-3); }
.rg-prose a { color: var(--green-900); text-decoration: underline; }

/* Botões */
.rg-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.7rem 1.5rem; font-size: var(--fs-button); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.04em; border-radius: var(--radius); transition: background-color var(--t-fast), color var(--t-fast); }
.rg-btn--verde { background: var(--green-900); color: var(--white); }
.rg-btn--verde:hover { background: var(--green-700); }
.rg-btn--outline { border: 1px solid var(--green-900); color: var(--green-900); }
.rg-btn--outline:hover { background: var(--green-900); color: var(--white); }

/* ─────────────────────────────
   Hero (page header do Roteiro)
   ───────────────────────────── */
.rg-hero { color: var(--white); background-color: var(--dark-900); background-image: linear-gradient(90deg, rgba(20, 14, 10, 0.92) 0%, rgba(20, 14, 10, 0.78) 45%, rgba(20, 14, 10, 0.45) 100%), url('../img/roteiro-gastronomico.jpg'); background-size: cover; background-position: center; }
.rg-hero__inner { padding-top: 116px; padding-bottom: var(--space-12); }
.rg-hero__crumb { font-size: 11px; color: rgba(255, 255, 255, 0.6); margin-bottom: var(--space-6); }
.rg-hero__crumb a:hover { color: var(--white); }
.rg-hero__crumb .current { color: rgba(255, 255, 255, 0.85); }
.rg-hero__row { display: flex; flex-direction: column; gap: var(--space-6); }
.rg-hero__logo { flex-shrink: 0; width: 132px; height: auto; border-radius: var(--radius-lg); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); }
.rg-hero__text { flex: 1; min-width: 0; }
.rg-hero h1 { font-size: 1.875rem; font-weight: var(--fw-extrabold); line-height: var(--lh-tight); text-transform: uppercase; letter-spacing: -0.01em; color: var(--white); }
.rg-hero__sub { margin-top: var(--space-3); max-width: 36rem; font-size: var(--fs-small); line-height: 1.7; color: rgba(255, 255, 255, 0.75); }
.rg-hero__search { display: flex; margin-top: var(--space-6); max-width: 500px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); }
.rg-hero__search input[type="search"] { flex: 1; min-width: 0; padding: 0.75rem 1rem; border: 0; font-size: var(--fs-small); color: var(--dark-900); background: var(--white); }
.rg-hero__search button { padding: 0.75rem 1.25rem; background: var(--orange-600); color: var(--white); font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; transition: background-color var(--t-fast); }
.rg-hero__search button:hover { background: var(--orange-500); }

@media (min-width: 768px) {
	.rg-hero__row { flex-direction: row; align-items: center; gap: 2.5rem; }
	.rg-hero__logo { width: 168px; }
	.rg-hero h1 { font-size: 3rem; }
	.rg-hero__sub { font-size: var(--fs-body); }
}

/* ─────────────────────────────
   Navegação interna
   ───────────────────────────── */
.rg-nav { border-bottom: 1px solid var(--gray-border); background: var(--white); }
.rg-nav__list { display: flex; gap: 1.75rem; overflow-x: auto; }
.rg-nav__link { display: block; padding: var(--space-4) 0; border-bottom: 2px solid transparent; font-size: var(--fs-label); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; color: var(--gray-500); transition: color var(--t-fast), border-color var(--t-fast); }
.rg-nav__link:hover { color: var(--dark-900); border-bottom-color: var(--gray-300); }
.rg-nav__link.is-current { color: var(--dark-900); border-bottom-color: var(--rg-vinho); }

/* ─────────────────────────────
   Estabelecimentos
   ───────────────────────────── */
.rg-estab { padding-block: 3.5rem; scroll-margin-top: 80px; }

.rg-filtros { margin-top: 1.75rem; padding: var(--space-5); background: var(--gray-100); border: 1px solid var(--gray-border); border-radius: var(--radius-lg); display: grid; gap: var(--space-5); }
.rg-filtro-label { display: block; margin-bottom: 0.625rem; padding: 0; font-size: var(--fs-label); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--dark-700); }
.rg-filtros fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.rg-filtros__campo { position: relative; width: 100%; max-width: 28rem; }
.rg-filtros__campo .material-symbols-outlined { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); font-size: 18px; color: var(--gray-300); pointer-events: none; }
.rg-filtros__campo input { width: 100%; padding: 0.625rem 0.75rem 0.625rem 2.5rem; font-size: var(--fs-small); background: var(--white); border: 1px solid var(--gray-border); border-radius: var(--radius); }
.rg-filtros__campo input:focus { border-color: var(--rg-vinho); }

.rg-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.rg-chip { position: relative; cursor: pointer; }
.rg-chip span { display: inline-block; padding: 0.55rem 1rem; font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.02em; border: 1.5px solid var(--gray-border); border-radius: var(--radius-full); color: var(--dark-700); background: var(--white); transition: border-color var(--t-fast), background-color var(--t-fast), color var(--t-fast); }
.rg-chip:hover span { border-color: var(--rg-vinho); color: var(--rg-vinho); }
.rg-chip input:checked + span { background: var(--rg-vinho); border-color: var(--rg-vinho); color: var(--white); }
.rg-chip input:focus-visible + span { outline: 3px solid var(--rg-vinho); outline-offset: 2px; }

.rg-filtros__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.rg-filtros__limpar { font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; color: var(--gray-500); text-decoration: underline; text-underline-offset: 4px; }
.rg-filtros__limpar:hover { color: var(--dark-900); }

.rg-resumo { margin-top: 1.75rem; font-size: var(--fs-small); color: var(--gray-500); }
.rg-resumo strong { color: var(--dark-900); }

.rg-subtitle { margin-bottom: var(--space-4); font-family: var(--font-body); font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--dark-700); }
.rg-subtitle--destaque { display: flex; align-items: center; gap: var(--space-2); margin-bottom: 1.25rem; color: var(--rg-vinho); }
.rg-subtitle .material-symbols-outlined { font-size: 18px; }
.rg-premium { margin-top: var(--space-6); }
.rg-demais { margin-top: 3.5rem; }
.rg-premium + .rg-demais { margin-top: 3.5rem; }
.rg-resumo + .rg-demais { margin-top: var(--space-6); }

/* Card premium */
.rg-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
.rg-card { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; background: var(--white); border: 1px solid var(--gray-border); border-radius: var(--radius-lg); transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base); }
.rg-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--rg-laranja); z-index: 2; }
.rg-card:hover,
.rg-card:focus-within { transform: translateY(-3px); box-shadow: var(--shadow-card-premium); border-color: var(--green-100); }
.rg-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--gray-100); }
.rg-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.rg-card:hover .rg-card__media img { transform: scale(1.04); }
.rg-card__media--logo { display: flex; align-items: center; justify-content: center; }
.rg-card__media--logo img { width: 55%; height: auto; max-height: 70%; object-fit: contain; }
.rg-card:hover .rg-card__media--logo img { transform: none; }
.rg-badge { position: absolute; top: 14px; left: 14px; z-index: 3; display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; background: var(--rg-vinho); color: var(--white); font-size: 10px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.06em; border-radius: var(--radius); }
.rg-badge .material-symbols-outlined { font-size: 12px; }
.rg-card__body { display: flex; flex-direction: column; gap: 0.625rem; flex: 1; padding: var(--space-5); }
.rg-card__cat { font-size: 10px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-500); }
.rg-card__title { font-family: var(--font-heading); font-size: 1.125rem; line-height: 1.2; }
.rg-card__chamada { font-size: var(--fs-small); line-height: 1.6; color: var(--gray-500); }
.rg-card__addr { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; color: var(--gray-500); }
.rg-card__addr .material-symbols-outlined { font-size: 16px; color: var(--green-900); }
.rg-card__link { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: var(--space-3); font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; color: var(--green-900); }
.rg-card__link:hover { color: var(--green-700); }
.rg-card__link .material-symbols-outlined { font-size: 16px; }
.rg-card__link::after { content: ''; position: absolute; inset: 0; z-index: 1; } /* card inteiro clicável */

/* Lista compacta (gratuitas) */
.rg-lista { background: var(--white); border: 1px solid var(--gray-border); border-radius: var(--radius-lg); }
.rg-lista__item { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--gray-border); transition: background-color var(--t-fast); }
.rg-lista__item:first-child { border-top: 0; }
.rg-lista__item:hover { background: var(--gray-100); }
.rg-item__nome { font-size: var(--fs-small); font-weight: var(--fw-semibold); color: var(--dark-900); }
.rg-item__cat { margin-top: 2px; font-size: 10px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-500); }
.rg-item__addr { margin-top: var(--space-1); font-size: var(--fs-small); color: var(--gray-500); }
.rg-item__contatos { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.rg-item__btn { display: inline-flex; align-items: center; gap: 6px; padding: 0.5rem 0.875rem; font-size: 11px; font-weight: var(--fw-bold); text-transform: uppercase; border-radius: var(--radius); transition: background-color var(--t-fast), color var(--t-fast), opacity var(--t-fast); }
.rg-item__btn .material-symbols-outlined { font-size: 15px; }
.rg-item__btn--tel { border: 1px solid var(--green-900); color: var(--green-900); }
.rg-item__btn--tel:hover { background: var(--green-900); color: var(--white); }
.rg-item__btn--wa { background: var(--whatsapp); color: var(--white); }
.rg-item__btn--wa:hover { opacity: 0.9; }

/* Paginação */
.rg-paginacao { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-2); margin-top: var(--space-10); }
.rg-paginacao__num,
.rg-paginacao__nav { padding: 0.5rem 0.75rem; font-size: 12px; font-weight: var(--fw-bold); border-radius: var(--radius); border: 1px solid var(--gray-border); transition: border-color var(--t-fast), color var(--t-fast), background-color var(--t-fast); }
.rg-paginacao__num { min-width: 38px; text-align: center; color: var(--dark-700); }
.rg-paginacao__num:hover { border-color: var(--green-900); color: var(--green-900); }
.rg-paginacao__num.is-current { background: var(--green-900); border-color: var(--green-900); color: var(--white); }
.rg-paginacao__nav { text-transform: uppercase; }
a.rg-paginacao__nav { border-color: var(--green-900); color: var(--green-900); }
a.rg-paginacao__nav:hover { background: var(--green-900); color: var(--white); }
.rg-paginacao__nav.is-disabled { color: var(--gray-300); }
.rg-paginacao__gap { padding: 0.5rem; font-size: 12px; color: var(--gray-300); }

/* Estado vazio */
.rg-vazio { margin-top: var(--space-10); padding: var(--space-10) var(--space-5); text-align: center; border: 2px dashed var(--gray-border); border-radius: var(--radius-lg); }
.rg-vazio > .material-symbols-outlined { font-size: 2.25rem; color: var(--gray-300); }
.rg-vazio__titulo { margin-top: var(--space-2); font-family: var(--font-heading); font-weight: var(--fw-bold); color: var(--dark-900); }
.rg-vazio__sub { margin-top: var(--space-1); font-size: var(--fs-small); color: var(--gray-500); }
.rg-vazio .rg-btn { margin-top: var(--space-5); }

/* ─────────────────────────────
   O Roteiro (texto, vídeo, pilares)
   ───────────────────────────── */
.rg-sobre { padding-block: var(--space-16); background: var(--rg-creme); scroll-margin-top: 80px; }
.rg-sobre__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-10); align-items: center; }
.rg-sobre__texto .rg-title { margin-top: var(--space-2); }
.rg-sobre__grid--unico { max-width: 48rem; }

.rg-video__link { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: var(--dark-900); border-radius: var(--radius-lg); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); }
.rg-video__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.8; }
.rg-video__play { position: relative; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; background: rgba(255, 255, 255, 0.95); border-radius: var(--radius-full); transition: transform var(--t-base); }
.rg-video__play .material-symbols-outlined { font-size: 2.25rem; color: var(--rg-vinho); }
.rg-video__link:hover .rg-video__play { transform: scale(1.08); }
.rg-video figcaption { margin-top: var(--space-3); font-size: 12px; color: var(--gray-500); }

.rg-pilares { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
.rg-sobre__grid ~ .rg-pilares { margin-top: 3.5rem; }
.rg-pilar { padding: var(--space-6); background: var(--white); border: 1px solid rgba(0, 0, 0, 0.05); border-radius: var(--radius-lg); transition: transform var(--t-base), box-shadow var(--t-base); }
.rg-pilar:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06); }
.rg-pilar__icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: var(--space-5); border-radius: 12px; color: var(--white); box-shadow: 0 0 0 3px var(--white), 0 2px 8px rgba(0, 0, 0, 0.12); }
.rg-pilar__icon .material-symbols-outlined { font-size: 28px; }
.rg-pilar--1 .rg-pilar__icon { background: var(--rg-laranja); }
.rg-pilar--2 .rg-pilar__icon { background: var(--rg-vinho); }
.rg-pilar--3 .rg-pilar__icon { background: var(--rg-azul); }
.rg-pilar--4 .rg-pilar__icon { background: var(--rg-verde); color: var(--dark-900); }
.rg-pilar__titulo { font-family: var(--font-heading); font-size: var(--fs-small); text-transform: uppercase; }
.rg-pilar__texto { margin-top: var(--space-2); font-size: var(--fs-small); line-height: 1.6; color: var(--gray-500); }

/* ─────────────────────────────
   Turismo e apoio
   ───────────────────────────── */
.rg-turismo { padding-block: var(--space-16); scroll-margin-top: 80px; }
.rg-turismo__texto { max-width: 42rem; }
.rg-turismo__texto .rg-title { margin-top: var(--space-2); }
.rg-turismo__link { display: inline-flex; align-items: center; gap: 4px; margin-top: var(--space-5); font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; color: var(--green-900); }
.rg-turismo__link:hover { color: var(--green-700); }
.rg-turismo__link .material-symbols-outlined { font-size: 16px; }
.rg-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.rg-turismo__texto + .rg-gallery { margin-top: var(--space-10); }
.rg-gallery li { aspect-ratio: 1; overflow: hidden; background: var(--gray-100); border-radius: var(--radius-lg); }
.rg-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.rg-gallery li:hover img { transform: scale(1.05); }

.rg-apoio { padding-block: 3.5rem; text-align: center; background: var(--gray-100); border-top: 1px solid var(--gray-border); }
.rg-apoio__titulo { font-family: var(--font-body); font-size: var(--fs-label); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.12em; color: var(--gray-500); }
.rg-apoio__lista { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-5); margin-top: 1.75rem; }
.rg-apoio__logo { display: flex; align-items: center; justify-content: center; width: 10rem; height: 6rem; padding: var(--space-4); background: var(--white); border: 1px solid var(--gray-border); border-radius: var(--radius-lg); }
.rg-apoio__logo img { max-height: 100%; width: auto; object-fit: contain; }

/* ─────────────────────────────
   Seção "No Roteiro Gastronômico" (single de empresa)
   ───────────────────────────── */
.rg-box { margin-block: var(--space-8); overflow: hidden; background: var(--white); border: 1px solid var(--gray-border); border-radius: var(--radius-lg); box-shadow: 0 8px 30px rgba(27, 94, 32, 0.06); }
.rg-box__head { background: var(--dark-900); color: var(--white); }
.rg-box__head-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) var(--space-5); }
.rg-box__brand { display: flex; align-items: center; gap: var(--space-3); }
.rg-box__logo { width: 44px; height: auto; border-radius: 4px; }
.rg-box__title { font-size: var(--fs-small); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.06em; color: var(--white); }
.rg-box__link { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-label); font-weight: var(--fw-bold); text-transform: uppercase; color: rgba(255, 255, 255, 0.8); }
.rg-box__link:hover { color: var(--white); }
.rg-box__link .material-symbols-outlined { font-size: 16px; }
.rg-box .rg-brand-strip { height: 5px; }
.rg-box__body { display: grid; gap: var(--space-8); padding: var(--space-5); }

.rg-box .rg-label { display: block; margin-bottom: 0.375rem; font-size: 10px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--rg-vinho); }
.rg-culinaria { font-size: var(--fs-small); color: var(--dark-900); }
.rg-pills { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); }
.rg-pill { padding: 0.25rem 0.75rem; font-size: 12px; font-weight: var(--fw-semibold); background: var(--rg-creme); border: 1px solid rgba(203, 96, 24, 0.3); border-radius: var(--radius-full); }

.rg-block__title { margin-bottom: 0.625rem; font-family: var(--font-body); font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--green-900); }
.rg-text { font-size: var(--fs-body); line-height: 1.7; color: var(--gray-500); }
.rg-text > * + * { margin-top: var(--space-3); }
.rg-text a { color: var(--green-900); text-decoration: underline; }

.rg-prato { display: grid; grid-template-columns: 1fr; gap: var(--space-6); align-items: center; margin: 0; padding: var(--space-4); background: var(--rg-creme); border-radius: var(--radius-lg); }
.rg-prato__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--gray-100); border-radius: var(--radius); }
.rg-prato__media img { width: 100%; height: 100%; object-fit: cover; }
.rg-prato__tag { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--rg-vinho); }
.rg-prato__tag .material-symbols-outlined { font-size: 14px; }
.rg-prato__title { margin-top: var(--space-1); font-size: 1.25rem; }
.rg-prato__desc { margin-top: var(--space-2); font-size: var(--fs-small); line-height: 1.6; color: var(--gray-500); }

.rg-box__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-8); }
.rg-horarios { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.rg-horarios__caption { margin-bottom: var(--space-3); text-align: left; font-size: 12px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--green-900); }
.rg-horarios th,
.rg-horarios td { padding: var(--space-2) 0; border-top: 1px solid var(--gray-100); }
.rg-horarios tr:first-child th,
.rg-horarios tr:first-child td { border-top: 0; }
.rg-horarios th { text-align: left; font-weight: var(--fw-medium); color: var(--dark-700); }
.rg-horarios td { text-align: right; color: var(--dark-900); }
.rg-horarios__fechado { font-size: 10px; font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-500); }

.rg-cardapio__text { margin-bottom: var(--space-4); font-size: var(--fs-small); line-height: 1.6; color: var(--gray-500); }
.rg-cardapio__btn { display: inline-flex; align-items: center; gap: var(--space-2); padding: 0.75rem 1.25rem; font-size: var(--fs-label); font-weight: var(--fw-bold); text-transform: uppercase; background: var(--orange-600); color: var(--white); border-radius: var(--radius); transition: background-color var(--t-fast); }
.rg-cardapio__btn:hover { background: var(--orange-500); }
.rg-cardapio__btn .material-symbols-outlined { font-size: 18px; }
.rg-cardapio__btn .material-symbols-outlined:last-child { font-size: 14px; }

/* ─────────────────────────────
   Breakpoints (mobile-first)
   ───────────────────────────── */
@media (min-width: 640px) {
	.rg-grid { grid-template-columns: repeat(2, 1fr); }
	.rg-pilares { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 768px) {
	.rg-title { font-size: 2rem; }
	.rg-estab { padding-block: var(--space-16); }
	.rg-filtros { padding: var(--space-6); }
	.rg-lista__item { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-6); }
	.rg-item__contatos { justify-content: flex-end; flex-shrink: 0; }
	.rg-sobre { padding-block: var(--space-20); }
	.rg-turismo { padding-block: var(--space-20); }
	.rg-gallery { grid-template-columns: repeat(4, 1fr); }
	.rg-box__head-top { padding-inline: var(--space-6); }
	.rg-box__body { padding: 1.75rem; }
	.rg-prato { grid-template-columns: 260px 1fr; padding: var(--space-5); }
	.rg-box__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
	.rg-grid { grid-template-columns: repeat(3, 1fr); }
	.rg-pilares { grid-template-columns: repeat(4, 1fr); }
	.rg-sobre__grid { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
	.rg-sobre__grid--unico { grid-template-columns: 1fr; }
}

/* ─────────────────────────────
   Movimento reduzido
   ───────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.rg-page *,
	.rg-page *::before,
	.rg-page *::after,
	.rg-box,
	.rg-box *,
	.rg-box *::before {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}

	.rg-card:hover,
	.rg-card:focus-within,
	.rg-pilar:hover { transform: none; }

	.rg-card:hover .rg-card__media img,
	.rg-gallery li:hover img,
	.rg-video__link:hover .rg-video__play { transform: none; }
}
