/**
 * Produtos & Promoções - GuiaWP — estilos do front. Mobile-first, sem depender de
 * utilitários responsivos do Tailwind pré-compilado.
 *
 * @author Dante Testa <https://dantetesta.com.br>
 * @since  1.0.0 - 2026-07-18
 */

.ppgw-sec-title { display: inline-flex; align-items: center; gap: .5rem; font-size: 1.25rem; font-weight: 800; color: #0f172a; margin: 0; }
.ppgw-sec-title .material-symbols-outlined { color: #059669; }
.ppgw-sec-head { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.ppgw-sec-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.75rem; height: 1.75rem; padding: 0 .5rem; border-radius: 999px; background: #ecfdf5; color: #047857; font-size: .8rem; font-weight: 800; }

/* ===== Banners (carrossel) ===== */
.ppgw-banners { margin: 2.5rem 0 0; }
.ppgw-banners__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.ppgw-banners__nav { display: inline-flex; gap: .5rem; }
.ppgw-arrow { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 999px; border: 1px solid #e2e8f0; background: #fff; color: #475569; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.ppgw-arrow:hover { background: #059669; color: #fff; border-color: #059669; }
.ppgw-banners__track {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-bottom: .25rem;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.ppgw-banners__track::-webkit-scrollbar { display: none; }
.ppgw-banner {
	flex: 0 0 calc((100% - (var(--ppgw-cols) - 1) * 1rem) / var(--ppgw-cols));
	scroll-snap-align: start;
	border: none;
	padding: 0;
	background: #f1f5f9;
	border-radius: 1rem;
	overflow: hidden;
	cursor: pointer;
	aspect-ratio: 16 / 9;
}
.ppgw-banner img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.ppgw-banner:hover img { transform: scale(1.04); }

/* Lightbox banner */
.ppgw-lightbox { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.ppgw-lightbox[hidden] { display: none; }
.ppgw-lightbox__backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.8); }
.ppgw-lightbox__box { position: relative; z-index: 1; max-width: 92vw; max-height: 88vh; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.ppgw-lightbox__img { max-width: 92vw; max-height: 76vh; border-radius: .75rem; box-shadow: 0 30px 60px -15px rgba(0,0,0,.5); }
.ppgw-lightbox__x { position: absolute; top: -2.5rem; right: 0; background: none; border: none; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.ppgw-lightbox__link { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.5rem; border-radius: .7rem; background: linear-gradient(135deg,#059669,#10b981); color: #fff; font-weight: 800; text-decoration: none; }
.ppgw-lightbox__link:hover { filter: brightness(1.06); }

/* ===== Produtos (grid + card) ===== */
.ppgw-produtos { margin: 2.5rem 0 0; }
/* A grade é a mesma do site inteiro: colunas de no mínimo 250px que se acomodam sozinhas. */
.ppgw-grid, .ppgw-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.25rem; }

/* ===== Listagem /produtos: faixa + coluna de filtros + grade (padrão do site) ===== */
.ppgw-list { display: flex; gap: 2rem; align-items: flex-start; }
.ppgw-list__side { flex: 0 0 300px; }
.ppgw-list__main { flex: 1 1 0; min-width: 0; }
.ppgw-filter-btn { display: none; }
.ppgw-side__close { display: none; }
.ppgw-side__overlay { display: none; }
@media (max-width: 900px) {
	.ppgw-list { flex-direction: column; }
	.ppgw-filter-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; margin-bottom: 1.25rem; }
	.ppgw-list__side { position: fixed; top: 0; left: 0; bottom: 0; width: 88%; max-width: 360px; z-index: 80; transform: translateX(-100%); transition: transform .3s ease; overflow-y: auto; background: #f1f5f9; padding: 1rem; box-shadow: 0 10px 40px rgba(0,0,0,.25); }
	.ppgw-list__side.is-open { transform: translateX(0); }
	.ppgw-side__close { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 1.35rem; right: 1.35rem; z-index: 3; width: 2rem; height: 2rem; border-radius: 9999px; background: #fff; border: 1px solid #e2e8f0; color: #475569; cursor: pointer; }
	.ppgw-side__overlay { display: block; position: fixed; inset: 0; background: rgba(15,23,42,.5); z-index: 79; opacity: 0; pointer-events: none; transition: opacity .3s; }
	.ppgw-side__overlay.is-open { opacity: 1; pointer-events: auto; }
	body.ppgw-filter-open { overflow: hidden; }
}

/* O card é a mesma casca do card de imóvel, veículo e evento — só o conteúdo muda. */
.ppgw-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; text-align: left; cursor: pointer; transition: box-shadow .2s, border-color .2s; width: 100%; font: inherit; color: inherit; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.ppgw-card:hover, .ppgw-card:focus-visible { border-color: #cbd5e1; box-shadow: 0 10px 15px -3px rgba(15,23,42,.1); outline: none; }
.ppgw-card__body { display: flex; flex-direction: column; flex: 1; padding: 1rem; }
.ppgw-card__selo { position: absolute; top: .75rem; left: .75rem; padding: .25rem .625rem; border-radius: 999px; background: var(--gcep-color-primary, #0f5132); color: #fff; font-size: .6875rem; font-weight: 700; line-height: 1.4; box-shadow: 0 1px 2px rgba(15,23,42,.15); }
.ppgw-card__selo--promo { background: #ea580c; }
.ppgw-card__titulo { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0 0 .25rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ppgw-card:hover .ppgw-card__titulo { color: var(--gcep-color-primary, #0f5132); }
.ppgw-card__empresa { font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--gcep-color-primary, #0f5132); margin: 0 0 .25rem; }
.ppgw-card__preco { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; margin: 0 0 .75rem; }
.ppgw-card__preco-old { color: #94a3b8; text-decoration: line-through; font-size: .8rem; }
.ppgw-card__preco-now { color: var(--gcep-color-primary, #0f5132); font-weight: 800; font-size: 1.125rem; }
.ppgw-card__resumo { font-size: .75rem; color: #64748b; margin: 0 0 .5rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ppgw-card__rodape { margin-top: auto; padding-top: .75rem; border-top: 1px solid #f1f5f9; display: flex; align-items: center; gap: .75rem; }
.ppgw-card__cta { display: inline-flex; align-items: center; gap: .35rem; color: #64748b; font-size: .75rem; font-weight: 700; }
.ppgw-card__cta .material-symbols-outlined { font-size: 1rem; color: #94a3b8; }

/* Sidebar CTA */
.ppgw-sidebar-cta { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .9rem 1rem; border-radius: .9rem; background: linear-gradient(135deg,#059669,#10b981); color: #fff; font-weight: 800; font-size: .9rem; text-decoration: none; box-shadow: 0 10px 20px -10px rgba(5,150,105,.6); transition: filter .2s, transform .2s; }
.ppgw-sidebar-cta:hover { filter: brightness(1.05); transform: translateY(-1px); }
.ppgw-sidebar-cta__arrow { margin-left: auto; }

/* ===== Modal de produto =====
 * Correção da auditoria, etapa 1 (A4, 2026-09-14): o mesmo modal nos modos produtos e cardápio, no
 * desenho do protótipo — 470px, raio 14, etiqueta, nome e preço na mesma linha, "Pedir pelo WhatsApp"
 * (#13804f, decisão de contraste), "Fechar" e a nota. Cores da paleta (tokens da casca com reserva).
 */
.ppgw-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.ppgw-modal[hidden] { display: none; }
.ppgw-modal__backdrop { position: absolute; inset: 0; background: rgba(11, 58, 37,.55); }
.ppgw-modal__box { position: relative; z-index: 1; width: 100%; max-width: 470px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; background: #fff; border-radius: 14px; padding: 0; box-shadow: 0 24px 48px -12px rgba(11, 58, 37,.35); font-family: Poppins, system-ui, -apple-system, sans-serif; }
.ppgw-modal__box--com-empresa { max-width: 52rem; }
.ppgw-modal__x { position: absolute; top: 6px; right: 6px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 99px; background: none; color: var(--mg-texto, #3d4a43); cursor: pointer; }
.ppgw-modal__x::before { content: ""; position: absolute; inset: 7px; border-radius: 99px; background: rgba(255,255,255,.94); box-shadow: 0 1px 3px rgba(11, 58, 37,.2); transition: background-color .15s; }
.ppgw-modal__x svg { position: relative; display: block; }
.ppgw-modal__x:hover { color: var(--mg-marinho, #0b3a25); }
.ppgw-modal__x:hover::before { background: #fff; }
.ppgw-modal__x:active::before { background: var(--mg-suave, #f5f2ec); }
.ppgw-modal__x:focus-visible { outline: 2px solid var(--mg-marinho, #0b3a25); outline-offset: -3px; }
.ppgw-modal__layout { display: flex; flex-direction: column; }
.ppgw-modal__main { flex: 1 1 auto; min-width: 0; }
.ppgw-modal__corpo { padding: 20px; }
.ppgw-modal__badge { display: inline-block; max-width: calc(100% - 40px); margin: 0 0 12px; padding: 6px 9px; border-radius: 5px; background: #eaf4ee; color: #0b3f27; font: 700 10.5px/1.2 Poppins, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; overflow-wrap: anywhere; }
.ppgw-modal__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 0 0 10px; }
.ppgw-modal__titulo { flex: 1 1 200px; min-width: 0; margin: 0; font: 800 19px/1.25 Poppins, system-ui, sans-serif; color: var(--mg-marinho, #0b3a25); overflow-wrap: anywhere; }
.ppgw-modal__preco { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0; }
.ppgw-modal__preco[hidden], .ppgw-modal__preco-old[hidden] { display: none; }
.ppgw-modal__preco-old { color: var(--mg-texto-2, #5a6660); text-decoration: line-through; font-size: 13px; font-weight: 500; }
.ppgw-modal__preco-now { color: #13804f; font: 800 19px/1.1 Poppins, system-ui, sans-serif; }
.ppgw-modal__descricao { color: var(--mg-texto-2, #5a6660); font-size: 13.5px; line-height: 1.7; margin: 0 0 18px; }
.ppgw-modal__descricao[hidden] { display: none; }
.ppgw-modal__descricao h2, .ppgw-editor__area h2 { font-size: 1.15rem; font-weight: 800; margin: .7rem 0 .35rem; color: #0f172a; }
.ppgw-modal__descricao h3, .ppgw-editor__area h3 { font-size: 1.02rem; font-weight: 800; margin: .6rem 0 .3rem; color: #0f172a; }
.ppgw-modal__descricao h4, .ppgw-editor__area h4 { font-size: .95rem; font-weight: 700; margin: .5rem 0 .25rem; color: #0f172a; }
.ppgw-modal__descricao h2, .ppgw-modal__descricao h3, .ppgw-modal__descricao h4 { color: var(--mg-marinho, #0b3a25); }
.ppgw-modal__descricao p, .ppgw-editor__area p { margin: 0 0 .65rem; }
.ppgw-modal__descricao ul, .ppgw-editor__area ul { list-style: disc; padding-left: 1.25rem; margin: 0 0 .65rem; }
.ppgw-modal__descricao ol, .ppgw-editor__area ol { list-style: decimal; padding-left: 1.25rem; margin: 0 0 .65rem; }
.ppgw-modal__descricao li, .ppgw-editor__area li { margin: .15rem 0; }
.ppgw-modal__descricao a, .ppgw-editor__area a { color: #059669; text-decoration: underline; }
.ppgw-modal__descricao a { color: #0b3f27; }
.ppgw-modal__descricao strong, .ppgw-editor__area strong { font-weight: 700; }
.ppgw-modal__acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.ppgw-modal__contato { flex: 1 1 200px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 16px; border-radius: 9px; background: #13804f; color: #fff; font: 700 14px/1.2 Poppins, system-ui, sans-serif; text-decoration: none; transition: background-color .15s; }
.ppgw-modal__contato:hover { background: #0f6b42; color: #fff; }
.ppgw-modal__contato:active { background: #0a5a37; }
.ppgw-modal__contato:focus-visible { outline: 2px solid var(--mg-marinho, #0b3a25); outline-offset: 2px; }
.ppgw-modal__contato-icon { display: inline-flex; flex: none; }
.ppgw-modal__contato-icon svg { display: none; width: 18px; height: 18px; }
.ppgw-modal__contato[data-tipo="whatsapp"] svg[data-tipo="whatsapp"],
.ppgw-modal__contato[data-tipo="telefone"] svg[data-tipo="telefone"],
.ppgw-modal__contato[data-tipo="email"] svg[data-tipo="email"],
.ppgw-modal__contato[data-tipo="link"] svg[data-tipo="link"] { display: block; }
.ppgw-modal__fechar { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border: 1px solid var(--mg-borda, #eae5db); border-radius: 9px; background: var(--mg-suave, #f5f2ec); color: var(--mg-texto, #3d4a43); font: 700 14px/1 Poppins, system-ui, sans-serif; cursor: pointer; transition: background-color .15s, border-color .15s; }
.ppgw-modal__fechar:hover { background: #eae5db; border-color: #b9dcc8; color: var(--mg-marinho, #0b3a25); }
.ppgw-modal__fechar:active { background: #dde6f1; }
.ppgw-modal__fechar:focus-visible { outline: 2px solid var(--mg-marinho, #0b3a25); outline-offset: 2px; }
@media (max-width: 379px) { .ppgw-modal__fechar { flex: 1 1 100%; } }
.ppgw-modal__nota { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: var(--mg-texto-2, #5a6660); }
/*
 * 1.15.10 / Valoar / 2026-09-10: `hidden` precisa vencer o `display:flex` da linha acima.
 *
 * O JS já mandava esconder o botão quando o produto não tem contato (ppgw-front.js), mas
 * `display:flex` numa folha de estilo vence o `display:none` que o atributo `hidden` traz do
 * navegador. Resultado: no plano sem contato por item, o botão continuava desenhado, verde,
 * largo e vazio — só o ícone do carrinho, sem texto e sem link. Parecia defeito, e era.
 */
.ppgw-modal__contato[hidden] { display: none !important; }
.ppgw-modal__empresa { flex: 0 0 auto; margin: 0 20px 20px; border-top: 1px solid var(--mg-borda, #eae5db); padding-top: 18px; text-align: center; }
.ppgw-modal__empresa[hidden] { display: none; }
.ppgw-modal__empresa-label { display: block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--mg-texto-2, #5a6660); margin-bottom: 10px; }
.ppgw-modal__empresa-foto { width: 5.5rem; height: 5.5rem; border-radius: 11px; overflow: hidden; margin: 0 auto 12px; background: var(--mg-suave, #f5f2ec); }
.ppgw-modal__empresa-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ppgw-modal__empresa-nome { font-weight: 800; color: var(--mg-marinho, #0b3a25); font-size: 15px; margin: 0 0 14px; }
.ppgw-modal__empresa-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; padding: 0 16px; border-radius: 9px; border: 1px solid var(--mg-borda, #eae5db); background: var(--mg-suave, #f5f2ec); color: var(--mg-texto, #3d4a43); font-weight: 700; font-size: 13.5px; text-decoration: none; transition: background-color .15s, border-color .15s; }
.ppgw-modal__empresa-btn:hover { background: #eae5db; border-color: #b9dcc8; color: var(--mg-marinho, #0b3a25); }
.ppgw-modal__empresa-btn:active { background: #dde6f1; }
.ppgw-modal__empresa-btn:focus-visible { outline: 2px solid var(--mg-marinho, #0b3a25); outline-offset: 2px; }
@media (min-width: 720px) {
	.ppgw-modal__box--com-empresa .ppgw-modal__layout { flex-direction: row; align-items: stretch; }
	.ppgw-modal__box--com-empresa .ppgw-modal__empresa { flex: 0 0 14rem; margin: 20px 20px 20px 0; border-top: none; border-left: 1px solid var(--mg-borda, #eae5db); padding: 44px 0 0 20px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }
}

/* 1.10.0: a barra horizontal de filtros saiu — os filtros de /produtos agora ficam na coluna da
   esquerda, no mesmo formato de /imoveis, /veiculos e /eventos, com as classes do tema. */

/* ===== Editor WYSIWYG (form do produto) ===== */
.ppgw-editor { border: 1px solid #cbd5e1; border-radius: .5rem; overflow: hidden; background: #fff; }
.ppgw-editor:focus-within { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.15); }
.ppgw-editor__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; padding: 6px; border-bottom: 1px solid #e2e8f0; background: #f8fafc; }
.ppgw-editor__btn { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; background: none; border-radius: .375rem; color: #475569; cursor: pointer; }
.ppgw-editor__btn:hover { background: #e2e8f0; color: #0f172a; }
.ppgw-editor__btn .material-symbols-outlined { font-size: 1.1rem; }
.ppgw-editor__sep { width: 1px; height: 1.25rem; background: #e2e8f0; margin: 0 4px; }
.ppgw-editor__area { min-height: 8rem; max-height: 20rem; overflow-y: auto; padding: .75rem; font-size: .9rem; color: #0f172a; line-height: 1.6; outline: none; }
.ppgw-editor__area:empty:before { content: attr(data-placeholder); color: #94a3b8; pointer-events: none; }
.ppgw-editor__ia { display: inline-flex; align-items: center; gap: .35rem; margin-left: auto; padding: .3rem .7rem; border: none; border-radius: .5rem; background: linear-gradient(135deg,#7c3aed,#4f46e5); color: #fff; font-size: .75rem; font-weight: 700; cursor: pointer; }
.ppgw-editor__ia:hover { filter: brightness(1.08); }
.ppgw-editor__ia.is-loading { opacity: .7; cursor: default; }
.ppgw-editor__ia .material-symbols-outlined { font-size: 1rem; }

/* Repeater de banners (gestão) */
.ppgw-banner-row .ppgw-banner-remove { z-index: 2; }

/* Foto capa no card de produto */
.ppgw-card__foto { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #f1f5f9; }
.ppgw-card__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.ppgw-card:hover .ppgw-card__foto img { transform: scale(1.05); }
.ppgw-card__foto-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient(135deg, #f1f5f9, #f1f5f9 10px, #e9eef4 10px, #e9eef4 20px); color: #cbd5e1; }
.ppgw-card__foto-ph .material-symbols-outlined { font-size: 2.75rem; }

/* Uploader de fotos do produto (gestão) */
.ppgw-fotos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr)); gap: .6rem; margin-bottom: .75rem; }
.ppgw-fotos-grid:empty { margin-bottom: 0; }
.ppgw-foto { position: relative; aspect-ratio: 1; border-radius: .6rem; overflow: hidden; border: 1px solid #e2e8f0; background: #f1f5f9; cursor: grab; }
.ppgw-foto img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.ppgw-foto.is-dragging { opacity: .4; }
.ppgw-foto__primary { display: none; position: absolute; bottom: 0; left: 0; right: 0; background: rgba(5,150,105,.92); color: #fff; font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; text-align: center; padding: 2px; }
.ppgw-fotos-grid .ppgw-foto:first-child .ppgw-foto__primary { display: block; }
.ppgw-foto__remove { position: absolute; top: 3px; right: 3px; width: 1.5rem; height: 1.5rem; border: none; border-radius: 50%; background: rgba(15,23,42,.75); color: #fff; font-size: 1rem; line-height: 1; cursor: pointer; }
.ppgw-foto__remove:hover { background: #e11d48; }
.ppgw-fotos-add { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 1rem; border: 2px dashed #cbd5e1; border-radius: .6rem; background: none; color: #475569; font-weight: 700; font-size: .8rem; cursor: pointer; }
.ppgw-fotos-add:hover { border-color: #059669; color: #059669; }
.ppgw-fotos-status { color: #64748b; }

/* Galeria de fotos/vídeo no modal do produto */
.ppgw-modal__galeria { margin: 0; }
.ppgw-modal__galeria[hidden] { display: none; }
.ppgw-modal__galeria-main { position: relative; aspect-ratio: 16 / 10; border-radius: 0; overflow: hidden; background: var(--mg-marinho, #0b3a25); margin: 0; }
.ppgw-modal__galeria-thumbs:not(:empty) { padding: 10px 20px 0; }
.ppgw-modal__galeria-play svg { display: flex; box-sizing: content-box; width: 22px; height: 22px; padding: 12px; color: #fff; background: rgba(11, 58, 37,.6); border-radius: 50%; }
.ppgw-modal__galeria-thumb.is-video .ppgw-modal__galeria-play svg { width: 12px; height: 12px; padding: 5px; }
.ppgw-modal__galeria-main img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ppgw-modal__galeria-main iframe { width: 100%; height: 100%; border: 0; display: block; }
.ppgw-modal__galeria-poster { position: relative; width: 100%; height: 100%; border: none; padding: 0; background: #000; cursor: pointer; display: block; }
.ppgw-modal__galeria-poster img { width: 100%; height: 100%; object-fit: contain; }
.ppgw-modal__galeria-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.ppgw-modal__galeria-play .material-symbols-outlined { display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; font-size: 2.2rem; color: #fff; background: rgba(0,0,0,.55); border-radius: 50%; }
.ppgw-modal__galeria-thumbs { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; }
.ppgw-modal__galeria-thumbs::-webkit-scrollbar { display: none; }
.ppgw-modal__galeria-thumb { position: relative; flex: 0 0 auto; width: 3.5rem; height: 3.5rem; border: 2px solid transparent; border-radius: .5rem; overflow: hidden; padding: 0; background: none; cursor: pointer; }
.ppgw-modal__galeria-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ppgw-modal__galeria-thumb.is-active { border-color: #059669; }
.ppgw-modal__galeria-thumb.is-video .ppgw-modal__galeria-play .material-symbols-outlined { width: 1.6rem; height: 1.6rem; font-size: 1.05rem; }

/* Play overlay na capa do card (produto só com vídeo) */

.ppgw-card__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.ppgw-card__play .material-symbols-outlined { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; font-size: 1.5rem; color: #fff; background: rgba(0,0,0,.55); border-radius: 50%; }

/* 1.15.0 - selos de entrega (taxa e prazo), cadastrados uma vez no anuncio e espelhados em
   todo produto: no card, no modal e na pagina do produto. */
.ppgw-entrega { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .75rem; }
.ppgw-entrega__item { display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .6rem; border-radius: 999px; background: #f1f5f9; color: #334155; font-size: .78rem; font-weight: 700; line-height: 1; white-space: nowrap; }
.ppgw-entrega__item .material-symbols-outlined { font-size: 16px; color: var(--gcep-color-primary, #0f5132); }
.ppgw-modal__entrega { margin: .25rem 0 .75rem; }
.ppgw-modal__entrega .ppgw-entrega { margin: 0; }
.ppgw-modal__entrega[hidden] { display: none; }
.ppgw-pg__entrega { margin-top: .75rem; }

/* 1.17.0 - Valoar - 2026-09-14 (redesign, etapa 7): cardápio no anúncio. */
.ppgw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ppgw-cardapio [hidden]{display:none!important}
.ppgw-cardapio__abas{display:flex;gap:8px;margin:0 0 16px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}
.ppgw-cardapio__abas::-webkit-scrollbar{display:none}
.ppgw-cardapio__aba{flex:none;min-height:40px;padding:0 16px;border:1px solid #e5e0d6;border-radius:99px;background:#f5f2ec;color:#3d4a43;font:600 13.5px/1 Poppins,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.ppgw-cardapio__aba:hover{border-color:#b9dcc8;color:#0b3f27}
.ppgw-cardapio__aba[aria-current="true"]{background:#0f5132;border-color:#0f5132;color:#fff}
.ppgw-cardapio__aba:focus-visible{outline:2px solid #0b3a25;outline-offset:2px}
.ppgw-cardapio__grupo+.ppgw-cardapio__grupo{margin-top:20px}
.ppgw-cardapio__grupo-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:800 15px/1.3 Poppins,system-ui,sans-serif;color:#0b3a25}
.ppgw-cardapio__grupo-n{font-size:12px;font-weight:700;color:#6b7c96}
.ppgw-cardapio__vazio{margin:24px 0;text-align:center;font-size:14px;color:#5a6660}

/* 1.18.0 - Valoar - 2026-09-17: na ficha, só a prévia (4 itens) e o botão; o cardápio inteiro abre por cima. */
.ppgw-cardapio--previa .ppgw-cardapio__grupo:not(.is-previa),
.ppgw-cardapio--previa .ppgw-cardapio__lista>li:not(.is-previa),
.ppgw-cardapio--previa .ppgw-cardapio__grupo-h{display:none}
.ppgw-cardapio--previa .ppgw-cardapio__grupo+.ppgw-cardapio__grupo.is-previa{margin-top:10px}
.ppgw-cardapio__abrir{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:12px;padding:0 16px;border:1px solid #c9e2d3;border-radius:12px;background:#f8f4ee;color:#0f5132;font:700 14.5px/1.2 Poppins,system-ui,sans-serif;cursor:pointer}
.ppgw-cardapio__abrir:hover{background:#e8f3ec;border-color:#9fc0ec}
.ppgw-cardapio__abrir:focus-visible{outline:3px solid #a9d9bf;outline-offset:2px}

/* Aberto: a própria seção vira a tela do cardápio. */
html.ppgw-cardapio-travado,html.ppgw-cardapio-travado body{overflow:hidden}
.ppgw-cardapio-fundo{position:fixed;inset:0;z-index:1290;background:rgba(11, 58, 37,.55);animation:ppgw-cfade .18s ease-out}
section.ppgw-cardapio.is-aberto{position:fixed;z-index:1300;inset:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;max-width:none;display:flex;flex-direction:column;background:#f9f6f1;overflow:hidden;animation:ppgw-cfade .18s ease-out}
@keyframes ppgw-cfade{from{opacity:0}}
.ppgw-cardapio.is-aberto .ppgw-cardapio__topo{flex:none;padding:10px 12px 0;background:#fff;border-bottom:1px solid #eae5db;box-shadow:0 2px 10px rgba(11, 58, 37,.06)}
.ppgw-cardapio.is-aberto .ppgw-cardapio__cab{margin:0}
.ppgw-cardapio__topo{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:6px}
.ppgw-cardapio__topo>*{grid-column:1/-1}
.ppgw-cardapio.is-aberto .ppgw-cardapio__x{grid-column:1;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:#f5f2ec;color:#0b3a25;cursor:pointer}
.ppgw-cardapio.is-aberto .ppgw-cardapio__cab{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.ppgw-cardapio.is-aberto .ppgw-sec-title::after,.ppgw-cardapio.is-aberto .ppgw-sec-title::before{display:none}
.ppgw-cardapio.is-aberto .ppgw-sec-title{margin:0;padding:0;font-size:18px;line-height:1.2;color:#0b3a25;outline:none}
.ppgw-cardapio.is-aberto .ppgw-cardapio__loja{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#5a6660}
.ppgw-cardapio__busca{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:0 12px;min-height:44px;border:1px solid #ded8cc;border-radius:12px;background:#f9f6f1;color:#5a6660}
.ppgw-cardapio__busca:focus-within{border-color:#0f5132;box-shadow:0 0 0 3px rgba(15, 81, 50,.16);background:#fff}
.ppgw-cardapio__busca input{flex:1;min-width:0;height:42px;border:0;background:none;font:16px/1.3 Poppins,system-ui,sans-serif;color:#0b3a25;outline:none}
.ppgw-cardapio.is-aberto .ppgw-cardapio__abas{margin:0 -12px;padding:10px 12px}
.ppgw-cardapio.is-aberto .ppgw-cardapio__itens{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 12px 120px;-webkit-overflow-scrolling:touch}
.ppgw-cardapio.is-aberto .ppgw-cardapio__grupo{scroll-margin-top:8px}
.ppgw-cardapio.is-aberto .ppgw-cardapio__grupo+.ppgw-cardapio__grupo{margin-top:24px}
.ppgw-cardapio.is-aberto .ppgw-cardapio__grupo-h{font-size:16px}
.ppgw-cardapio.is-aberto .ppgw-cardapio__lista{grid-template-columns:minmax(0,1fr)}
.ppgw-cardapio.is-aberto .ppgw-cardapio__lista>li.is-filtrado{display:none}
.ppgw-cardapio.is-aberto .ppgw-cardapio__abrir{display:none!important}
html.ppgw-cardapio-travado .pgw-barra{z-index:1310}
html.ppgw-cardapio-travado .gcep-wa{display:none!important}
html.ppgw-cardapio-travado .pgw-barra,html.ppgw-cardapio-travado body.mg-com-abas .pgw-barra{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
@media (min-width:768px){html.ppgw-cardapio-travado .pgw-barra,html.ppgw-cardapio-travado body.mg-com-abas .pgw-barra{right:calc(max(24px,(100% - 880px) / 2) + 24px);bottom:48px}}
html.ppgw-cardapio-travado:has(.ppgw-cardapio .ppgw-modal:not([hidden])) .pgw-barra{display:none}
@media (min-width:768px){
	section.ppgw-cardapio.is-aberto{inset:24px max(24px,calc((100% - 880px) / 2));border-radius:18px;box-shadow:0 30px 80px rgba(11, 58, 37,.35);animation:none}
	.ppgw-cardapio.is-aberto .ppgw-cardapio__topo{padding:14px 20px 0;border-radius:18px 18px 0 0}
	.ppgw-cardapio.is-aberto .ppgw-cardapio__abas{margin:0 -20px;padding:12px 20px}
	.ppgw-cardapio.is-aberto .ppgw-cardapio__itens{padding:20px 20px 110px}
	.ppgw-cardapio.is-aberto .ppgw-cardapio__lista{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.ppgw-cardapio.is-aberto,.ppgw-cardapio-fundo{animation:none}}
.ppgw-cardapio__lista{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:0;list-style:none}
@media (min-width:768px){.ppgw-cardapio__lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ppgw-card.ppgw-card--item{display:flex;flex-direction:row;align-items:center;gap:12px;height:100%;min-height:84px;padding:11px;border:1px solid #eae5db;border-radius:12px;background:#fff;box-shadow:none;cursor:pointer;text-align:left;overflow:visible;transform:none}
.ppgw-card.ppgw-card--item:hover{border-color:#b9dcc8;transform:none;box-shadow:none}
.ppgw-card.ppgw-card--item:focus-visible{outline:2px solid #0f5132;outline-offset:2px}
.ppgw-item__foto{flex:none;width:62px;height:62px;border-radius:10px;overflow:hidden;background:#f0f7f2}
.ppgw-item__foto img{display:block;width:100%;height:100%;object-fit:cover}
.ppgw-item__txt{display:grid;gap:4px;flex:1;min-width:0}
.ppgw-item__nome{font:700 14px/1.35 Poppins,system-ui,sans-serif;color:#0b3a25;overflow-wrap:anywhere}
.ppgw-item__desc{font-size:12.5px;line-height:1.45;color:#5a6660;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ppgw-item__preco{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font:800 14px/1.2 Poppins,system-ui,sans-serif;color:#0a6b42}
.ppgw-item__preco s{font-size:12px;font-weight:500;color:#5a6660}
/* O "Fechar" e a nota do modal agora valem para os dois modos: ver "Modal de produto" acima. */
