/* Produtos e Mural de Ofertas: perfil da empresa, card da home e Meu Painel */
.pd-cats { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 2px 10px; margin-bottom: 4px; }
.pd-cats::-webkit-scrollbar { display: none; }
.pd-cat { flex: 0 0 auto; min-height: 40px; padding: 0 14px; border: 1.5px solid #e2e8f0; border-radius: 10px; background: #fff; color: #334155; font-weight: 700; font-size: .875rem; cursor: pointer; }
.pd-cat[aria-pressed="true"] { background: var(--primary, #2d2b52); border-color: var(--primary, #2d2b52); color: #fff; }
.pd-cat:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary, #2d2b52) 40%, #fff); outline-offset: 2px; }

.pd-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.pd-grupo-titulo { font-size: 1rem; font-weight: 800; color: #0f172a; margin: 18px 0 10px; }
.pd-grupo-titulo:first-child { margin-top: 4px; }

.pd-card { display: flex; gap: 12px; background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 10px; min-width: 0; }
.pd-foto { position: relative; flex: 0 0 104px; width: 104px; height: 104px; border-radius: 10px; overflow: hidden; background: #f1f5f9; }
.pd-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-sem-foto { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #94a3b8; }
.pd-sem-foto .ic { width: 34px; height: 34px; }
.pd-tag-oferta { position: absolute; left: 6px; top: 6px; background: #c81e1e; color: #fff; font-size: .75rem; font-weight: 800; padding: 2px 7px; border-radius: 6px; }
.pd-tag-emp { display: none; }
.pd-corpo { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.pd-nome { font-size: .9375rem; font-weight: 800; color: #0f172a; margin: 0 0 3px; line-height: 1.25; }
.pd-desc { font-size: .8125rem; color: #475569; margin: 0 0 4px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pd-opcoes { list-style: none; padding: 0; margin: 0 0 4px; font-size: .75rem; color: #475569; }
.pd-opcoes li { line-height: 1.45; }
.pd-rodape { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; }
.pd-preco { display: flex; flex-direction: column; line-height: 1.15; }
.pd-preco s { font-size: .75rem; color: #64748b; }
.pd-preco strong { white-space: nowrap; font-size: 1rem; font-weight: 900; color: #0f172a; }
.pd-preco strong.pd-preco-oferta { color: #15803d; }
.pd-preco small { font-size: .6875rem; color: #b45309; font-weight: 700; }
.pd-pedir { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 12px; border-radius: 10px; background: #0f7a41; color: #fff; font-weight: 800; font-size: .8125rem; text-decoration: none; white-space: nowrap; }
.pd-pedir:hover { color: #fff; filter: brightness(1.08); }
.pd-pedir:focus-visible { outline: 3px solid #86efac; outline-offset: 2px; }
.pd-pedir .marca { font-size: 16px; }
.pd-mais { display: flex; justify-content: center; margin-top: 12px; }
.pd-mais button { min-height: 44px; padding: 0 18px; border: 1.5px solid var(--primary, #2d2b52); border-radius: 10px; background: #fff; color: var(--primary, #2d2b52); font-weight: 800; cursor: pointer; }
.pd-oculto-mais { display: none !important; }

/* card da home: slide de cartões em pé */
.pd-slide { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 2px 8px; scrollbar-width: none; }
.pd-slide::-webkit-scrollbar { display: none; }
.pd-slide:focus-visible { outline: 3px solid var(--primary, #2d2b52); outline-offset: 2px; border-radius: 12px; }
.pd-slide .pd-card { flex: 0 0 calc((100% - 42px) / 4); scroll-snap-align: start; flex-direction: column; padding: 0; overflow: hidden; }
.pd-slide .pd-foto { flex: none; width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 0; }
.pd-slide .pd-tag-emp { display: block; position: absolute; left: 0; bottom: 8px; max-width: 88%; background: rgba(11, 11, 11, .82); color: #fff; font-size: .6875rem; font-weight: 700; text-transform: uppercase; padding: 4px 9px; border-radius: 0 6px 6px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-slide .pd-corpo { padding: 10px 12px 12px; }
.pd-slide .pd-opcoes { display: none; }
@media (max-width: 1039px) { .pd-slide .pd-card { flex-basis: calc((100% - 28px) / 3); } }
@media (max-width: 767px) { .pd-slide .pd-card { flex-basis: calc((100% - 14px) / 2); } }
@media (max-width: 639px) { .pd-slide { gap: 10px; margin: 0 -12px; padding-left: 12px; padding-right: 12px; scroll-padding-left: 12px; } .pd-slide .pd-card { flex-basis: 62%; } }
.pd-setas { display: flex; gap: 8px; }
.pd-seta { width: 44px; height: 44px; border: 1.5px solid #e2e8f0; border-radius: 12px; background: #fff; color: #0f172a; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.pd-seta:disabled { opacity: .4; cursor: default; }
@media (max-width: 639px) { .pd-setas { display: none; } }
@media (prefers-reduced-motion: reduce) { .pd-slide { scroll-behavior: auto; } }

/* Meu Painel */
.pd-escolha { display: flex; gap: 6px; flex-wrap: wrap; }
.pd-escolha label { cursor: pointer; }
.pd-escolha input { position: absolute; opacity: 0; pointer-events: none; }
.pd-escolha span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1.5px solid #e2e8f0; border-radius: 10px; font-weight: 700; font-size: .875rem; }
.pd-escolha input:checked + span { background: var(--primary, #2d2b52); border-color: var(--primary, #2d2b52); color: #fff; }
.pd-escolha input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--primary, #2d2b52) 40%, #fff); }
.pd-admin-lista { list-style: none; padding: 0; margin: 0; }
.pd-admin-lista li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #f1f5f9; flex-wrap: wrap; }
.pd-admin-lista li:first-child { border-top: 0; }
.pd-admin-lista li.pd-inativo { opacity: .6; }
.pd-admin-foto { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: #f1f5f9; display: flex; align-items: center; justify-content: center; color: #94a3b8; }
.pd-admin-foto img { width: 100%; height: 100%; object-fit: cover; }
.pd-admin-info { flex: 1 1 200px; display: flex; flex-direction: column; min-width: 0; }
.pd-admin-acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.pd-foto-campo { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; }
.pd-foto-previa { flex: 0 0 112px; width: 112px; height: 112px; border-radius: 12px; overflow: hidden; background: #f1f5f9; display: flex; align-items: center; justify-content: center; color: #94a3b8; }
.pd-foto-previa img { width: 100%; height: 100%; object-fit: cover; }
.pd-nome a { color: inherit; text-decoration: none; }
.pd-nome a:hover { text-decoration: underline; }
.pd-nome a:focus-visible { outline: 3px solid var(--primary, #2d2b52); outline-offset: 2px; border-radius: 4px; }
.pd-selo { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 6px; font-size: .75rem; font-weight: 700; margin-left: 4px; }
.pd-selo-oferta { background: #dcfce7; color: #166534; }
.pd-selo-oculto { background: #e5e7eb; color: #374151; }
.pd-selo-home { background: #dbeafe; color: #1e40af; }
/* a fileira de categorias rola de lado: a coluna do perfil não pode crescer com ela */
.content-grid > .main-col { min-width: 0; }
#produtos { min-width: 0; max-width: 100%; }
.pd-gr-lista { display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; }
.pd-gr { border: 1.5px solid #e2e8f0; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.pd-gr-topo { display: grid; grid-template-columns: minmax(0, 1fr) 160px 80px auto auto; gap: 8px; align-items: center; }
.pd-gr-item { display: grid; grid-template-columns: minmax(0, 1fr) 130px 40px; gap: 8px; padding-left: 12px; }
.pd-gr-obr { display: flex; align-items: center; gap: 6px; margin: 0; white-space: nowrap; }
.pd-gr > .btn { align-self: flex-start; margin-left: 12px; }
@media (max-width: 767px) { .pd-gr-topo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pd-gr-topo input:first-child { grid-column: 1 / -1; } .pd-gr-item { grid-template-columns: minmax(0, 1fr) 110px 40px; padding-left: 0; } }
.pd-modo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 575px) { .pd-modo { grid-template-columns: minmax(0, 1fr); } }
.pd-modo label { cursor: pointer; display: block; }
.pd-modo input { position: absolute; opacity: 0; pointer-events: none; }
.pd-modo span { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 2px 8px; align-items: start; height: 100%; padding: 12px; border: 1.5px solid #e2e8f0; border-radius: 12px; }
.pd-modo span .ic { grid-row: 1 / 3; width: 22px; height: 22px; margin-top: 2px; color: #64748b; }
.pd-modo small { color: #475569; line-height: 1.4; }
.pd-modo input:checked + span { border-color: var(--primary, #2d2b52); background: color-mix(in srgb, var(--primary, #2d2b52) 6%, #fff); box-shadow: 0 0 0 1px var(--primary, #2d2b52); }
.pd-modo input:checked + span .ic { color: var(--primary, #2d2b52); }
.pd-modo input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--primary, #2d2b52) 40%, #fff); }
button.pd-pedir { border: 0; cursor: pointer; }
.pd-pedir .ic { width: 16px; height: 16px; }
.pd-apartir { display: block; font-size: .6875rem; font-weight: 600; color: #64748b; }
.pd-como { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #f0fdf4; color: #166534; font-size: .875rem; font-weight: 600; }
.pd-como .ic { width: 18px; height: 18px; flex: none; }
/* caixas de marcar do Meu Painel (a tela força o tamanho do form-check-input): texto ao lado, com espaço */
.pd-chk { display: flex; align-items: center; gap: 10px; padding-left: 0; min-height: 44px; }
.pd-chk .form-check-input { float: none; margin: 0; flex: none; border-radius: 6px; }
.pd-chk .form-check-label { margin: 0; }
.pd-chk + .form-text { margin-top: 0; }
.pd-gr-obr { padding-left: 0; }
.pd-gr-obr .form-check-input { float: none; margin: 0; flex: none; width: 22px; height: 22px; border-radius: 6px; }
.pd-gr-topo [hidden] { display: none !important; }
.pd-gr-topo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pd-gr-topo > input:first-child { flex: 1 1 220px; }
.pd-gr-topo > select { flex: 0 0 160px; width: 160px; }
.pd-gr-topo > input[type=number] { flex: 0 0 90px; width: 90px; }
.pd-gr-topo > .btn { margin-left: auto; }
/* painel do gestor */
.pdp-filtros { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; }
@media (max-width: 991px) { .pdp-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 575px) { .pdp-filtros { grid-template-columns: minmax(0, 1fr); } }
.pdp-filtros-btn { display: flex; gap: 8px; }
.pdp-filtros .select2-container--bootstrap-5 .select2-selection, .pdp-form .select2-container--bootstrap-5 .select2-selection { min-height: 44px; display: flex; align-items: center; }
.pdp-situacao { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pdp-situacao .pd-selo { margin-left: 0; }
.pdp-config { margin-top: 14px; border-top: 1px solid #eef2f7; padding-top: 12px; }
.pdp-config summary { cursor: pointer; font-weight: 700; min-height: 40px; display: flex; align-items: center; }
.tb .pd-admin-foto { width: 48px; height: 48px; flex-basis: 48px; }
.tb .pdp-nome { min-width: 180px; }
/* categorias (Meu Painel e painel) */
.pd-cats-admin { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 16px; margin-bottom: 16px; }
.pd-cats-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: flex-end; }
.pd-cats-nova { display: flex; gap: 8px; flex: 1 1 280px; max-width: 420px; }
.pd-cats-lista { list-style: none; padding: 0; margin: 14px 0 0; }
.pd-cats-lista li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid #f1f5f9; }
.pd-cats-lista li.pd-inativo .pd-cats-nome input { color: #64748b; }
.pd-cats-pos { flex: none; width: 28px; height: 28px; border-radius: 8px; background: #f1f5f9; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .8125rem; color: #334155; }
.pd-cats-nome { display: flex; gap: 6px; flex: 1 1 220px; min-width: 0; }
.pd-cats-qtd { font-size: .8125rem; color: #475569; white-space: nowrap; }
.pd-cats-acoes { display: flex; gap: 6px; margin-left: auto; }
.pd-cats-acoes form { margin: 0; }
.pd-cats-acoes .btn { min-height: 36px; min-width: 36px; }
.pd-fechado { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; font-size: .875rem; font-weight: 600; }
.pd-fechado .ic { width: 18px; height: 18px; flex: none; }
.pd-fechado a { color: #991b1b; text-decoration: underline; }
.pd-como { margin: 0 0 12px; }
.pd-fechado { margin: 0 0 10px; }
.pd-repetir { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 12px; }
.pd-repetir[hidden] { display: none; }
.pd-repetir-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1.5px solid #0f7a41; border-radius: 12px; background: #fff; color: #0f7a41; font-weight: 800; cursor: pointer; }
.pd-repetir-btn .ic { width: 18px; height: 18px; }
.pd-repetir small { color: #475569; font-size: .8125rem; }
.pd-repetir { display: flex; flex-direction: column; gap: 8px; }
.pd-repetir-local { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.pd-repetir-local[hidden] { display: none; }
.pd-repetir-tel summary { cursor: pointer; color: #0f7a41; font-weight: 700; font-size: .875rem; min-height: 32px; display: inline-flex; align-items: center; }
.pd-repetir-form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; align-items: center; }
.pd-repetir-form .pdc-campo { flex: 1 1 180px; max-width: 240px; min-height: 44px; padding: 8px 12px; border: 1.5px solid #cbd5e1; border-radius: 12px; font-size: 16px; }
.pd-repetir-msg { flex-basis: 100%; margin: 0; font-size: .8125rem; color: #475569; min-height: 1em; }
/* pedidos recebidos */
.pdp-pedidos { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.pdp-pedido { border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px 14px; background: #fff; }
.pdp-pedido.pdp-st-novo { border-color: #bfdbfe; background: #f8fbff; }
.pdp-pedido.pdp-st-cancelado { opacity: .75; }
.pdp-pedido-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.pdp-pedido-topo small { color: #64748b; }
.pdp-pedido-topo .pd-selo { margin-left: 0; }
.pdp-pedido-total { margin-left: auto; font-size: 1.0625rem; }
.pdp-pedido-corpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-top: 8px; }
@media (max-width: 767px) { .pdp-pedido-corpo { grid-template-columns: minmax(0, 1fr); } }
.pdp-pedido-itens { list-style: none; padding: 0; margin: 0; font-size: .875rem; }
.pdp-pedido-itens li { padding: 3px 0; }
.pdp-pedido-itens small { display: block; color: #64748b; }
.pdp-pedido-acoes { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.pdp-pedido-acoes select { width: auto; }
/* janela de ofertas do perfil */
.pdo-fundo { position: fixed; inset: 0; z-index: 100002; background: rgba(15, 23, 42, .55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.pdo-janela { width: 100%; max-width: 560px; max-height: 88vh; overflow-y: auto; background: #fff; border-radius: 18px; box-shadow: 0 20px 50px rgba(15, 23, 42, .3); }
.pdo-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 16px 16px 14px; background: linear-gradient(135deg, #0f7a41, #15803d); color: #fff; border-radius: 18px 18px 0 0; position: sticky; top: 0; z-index: 1; }
.pdo-topo h2 { margin: 0; font-size: 1.125rem; font-weight: 800; color: #fff; }
.pdo-topo p { margin: 2px 0 0; font-size: .875rem; opacity: .92; }
.pdo-fechar { width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .2); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.pdo-fechar:focus-visible, .pdo-ver:focus-visible { outline: 3px solid #86efac; outline-offset: 2px; }
.pdo-lista { padding: 14px 16px 6px; grid-template-columns: minmax(0, 1fr); }
.pdo-ver { display: block; width: calc(100% - 32px); margin: 6px 16px 16px; min-height: 48px; border: 1.5px solid #0f7a41; border-radius: 12px; background: #fff; color: #0f7a41; font-weight: 800; cursor: pointer; }
@media (max-width: 640px) { .pdo-fundo { align-items: flex-end; padding: 0; } .pdo-janela { max-width: none; border-radius: 18px 18px 0 0; max-height: 90vh; } }
.pd-preco .pd-apartir { color: #64748b; font-weight: 600; }
/* importar cardápio com IA */
.imp-passos { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.imp-passo { padding: 6px 12px; border-radius: 10px; background: #f1f5f9; color: #64748b; font-weight: 700; font-size: .8125rem; }
.imp-passo.ativo { background: var(--primary, #2d2b52); color: #fff; }
.imp-zona { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; min-height: 170px; padding: 20px; border: 2px dashed #cbd5e1; border-radius: 16px; background: #f8fafc; cursor: pointer; }
.imp-zona .ic { width: 36px; height: 36px; color: var(--primary, #2d2b52); }
.imp-zona span { color: #64748b; font-size: .875rem; }
.imp-zona.imp-sobre, .imp-zona:focus-within { border-color: var(--primary, #2d2b52); background: color-mix(in srgb, var(--primary, #2d2b52) 6%, #fff); }
.imp-zona input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.imp-dicas { margin: 12px 0 0; padding-left: 18px; color: #475569; font-size: .875rem; }
.imp-barra { height: 10px; border-radius: 10px; background: #e2e8f0; overflow: hidden; margin-bottom: 12px; }
.imp-barra span { display: block; height: 100%; width: 100%; background: #0f7a41; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.imp-paginas { list-style: none; padding: 0; margin: 0; }
.imp-paginas li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid #f1f5f9; font-size: .875rem; }
.imp-paginas b { white-space: nowrap; }
.imp-paginas .imp-falhou { color: #b42318; }
.imp-resumo { padding: 10px 12px; border-radius: 10px; background: #f0fdf4; color: #166534; margin-bottom: 12px; font-size: .9375rem; }
.imp-alerta { color: #92400e; }
.imp-cat { border: 1px solid #e5e7eb; border-radius: 14px; padding: 12px; margin: 0 0 12px; }
.imp-cat-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.imp-cat-nome { flex: 1 1 220px; max-width: 360px; font-weight: 700; }
.imp-prod { display: grid; grid-template-columns: 24px minmax(0, 1fr) 130px; gap: 10px; align-items: start; padding: 8px 0; border-top: 1px solid #f1f5f9; }
.imp-prod .imp-marca { width: 20px; height: 20px; margin-top: 6px; border-radius: 6px; }
.imp-prod-campos { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.imp-grupos { color: #475569; }
.imp-preco { display: flex; align-items: center; gap: 4px; }
.imp-preco span { color: #64748b; font-weight: 700; font-size: .875rem; }
.imp-sem-preco .imp-valor { border-color: #f59e0b; background: #fffbeb; }
.imp-off { opacity: .45; }
.imp-final { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; position: sticky; bottom: 0; background: #fff; padding: 12px 0 4px; border-top: 1px solid #eef2f7; }
@media (max-width: 575px) { .imp-prod { grid-template-columns: 24px minmax(0, 1fr); } .imp-preco { grid-column: 2; } }
@media (prefers-reduced-motion: reduce) { .imp-barra span { transition: none; } }
/* abas do Meu Painel → Produtos */
.pd-abas { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid #e5e7eb; margin-bottom: 18px; }
.pd-abas::-webkit-scrollbar { display: none; }
.pd-abas a { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; color: #475569; font-weight: 700; text-decoration: none; border-bottom: 3px solid transparent; }
.pd-abas a .ic { width: 18px; height: 18px; }
.pd-abas a[aria-current="page"] { color: var(--primary, #2d2b52); border-bottom-color: var(--primary, #2d2b52); }
.pd-abas a:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary, #2d2b52) 40%, #fff); outline-offset: -3px; }
.pd-abas .pd-abas-qtd { font-size: .75rem; padding: 1px 7px; border-radius: 8px; background: #f1f5f9; color: #334155; }

/* Home: páginas de 4 produtos (2x2 no computador, lista no celular) */
.pd-slide .pd-card.pdh-pagina { flex: 0 0 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 0; overflow: visible; background: none; border: 0; box-shadow: none; }
.pdh-item { display: flex; gap: 18px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid #e5e7eb; color: inherit; text-decoration: none; min-width: 0; }
.pdh-item:hover .pdh-nome { text-decoration: underline; }
.pdh-item:focus-visible { outline: 3px solid var(--primary, #2d2b52); outline-offset: 2px; border-radius: 10px; }
.pdh-foto { flex: 0 0 220px; height: 138px; border-radius: 10px; overflow: hidden; background: #f1f5f9; display: flex; align-items: center; justify-content: center; color: #94a3b8; }
.pdh-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdh-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pdh-emp { color: #b45309; color: color-mix(in srgb, var(--accent, #b45309) 62%, #000); font-weight: 800; font-size: .875rem; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdh-estrelas { color: #f59e0b; font-size: 1rem; letter-spacing: 1px; line-height: 1; }
.pdh-est-vazia { color: #d1d5db; }
.pdh-nome { font-family: var(--font-heading, inherit); font-weight: 800; font-size: 1.25rem; line-height: 1.2; color: #1f2937; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pdh-preco { font-size: .95rem; color: #1f2937; }
.pdh-preco s { color: #6b7280; }
.pdh-preco strong { font-weight: 600; }
.pdh-sit { align-self: flex-start; margin-top: 6px; font-size: .75rem; font-weight: 700; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; border: 1px solid; }
.pdh-sit.is-aberto { color: #047857; border-color: #10b981; }
.pdh-sit.is-fechado { color: #b42318; border-color: #f04438; }
@media (max-width: 1039px) { .pdh-foto { flex-basis: 160px; height: 110px; } }
@media (max-width: 767px) {
  .pd-slide .pd-card.pdh-pagina { grid-template-columns: 1fr; }
  .pdh-item { gap: 12px; padding: 10px 0; }
  .pdh-foto { flex-basis: 128px; height: 84px; border-radius: 8px; }
  .pdh-emp { font-size: .78rem; }
  .pdh-estrelas { font-size: .85rem; }
  .pdh-nome { font-size: 1rem; }
  .pdh-preco { font-size: .85rem; }
  .pdh-sit { font-size: .68rem; margin-top: 3px; }
}
@media (max-width: 639px) { .pd-slide .pd-card.pdh-pagina { flex-basis: 100%; } .pd-slide { margin: 0; padding-left: 0; padding-right: 0; } .pd-setas { display: flex; } }

/* Perfil: produto abre ao tocar no cartão; loja fechada; sob consulta */
.pd-card[data-pd-ver] { cursor: pointer; }
.pd-card[data-pd-ver]:hover { border-color: #cbd5e1; }
.pd-nome-btn { all: unset; cursor: pointer; font: inherit; color: inherit; }
.pd-nome-btn:hover { text-decoration: underline; }
.pd-nome-btn:focus-visible { outline: 3px solid var(--primary, #2d2b52); outline-offset: 2px; border-radius: 4px; }
.pd-fechado-aviso { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: #fef2f2; border: 1px solid #fecaca; color: #7f1d1d; }
.pd-fechado-ic { flex: none; width: 40px; height: 40px; border-radius: 10px; background: #fee2e2; color: #b42318; display: inline-flex; align-items: center; justify-content: center; }
.pd-fechado-aviso strong { display: block; font-size: .9375rem; color: #991b1b; margin-bottom: 2px; }
.pd-fechado-aviso span { font-size: .875rem; }
.pd-fechado-aviso a { color: #991b1b; font-weight: 700; text-decoration: underline; }
.pd-loja-fechada .pd-pedir { display: none; }
.pd-pedir-consulta { background: #fff; color: #0f7a41; border: 1.5px solid #0f7a41; }
.pd-pedir-consulta:hover { color: #0f7a41; background: #f0fdf4; }

/* Busca, selos, esgotado, preço por quantidade e últimas unidades */
.pd-busca { position: relative; margin: 0 0 12px; }
.pd-busca .ic { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: #64748b; pointer-events: none; }
.pd-busca input { width: 100%; min-height: 46px; padding: 0 14px 0 42px; border: 1.5px solid #e2e8f0; border-radius: 12px; font-size: 16px; background: #fff; color: #0f172a; }
.pd-busca input:focus { outline: none; border-color: var(--primary, #2d2b52); box-shadow: 0 0 0 3px rgba(45, 43, 82, .12); }
.pd-busca-vazio { margin: 0 0 12px; padding: 14px; border-radius: 12px; background: #f8fafc; color: #475569; text-align: center; font-size: .9375rem; }
.pd-selos { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 4px; }
.pd-selos span { font-size: .6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; padding: 2px 7px; border-radius: 6px; }
.pd-selo-mais { background: #fef3c7; color: #92400e; }
.pd-selo-novo { background: #dbeafe; color: #1e40af; }
.pd-selo-hoje { background: #fee2e2; color: #991b1b; }
.pd-qtd-desc { margin: 2px 0 0; font-size: .8125rem; font-weight: 700; color: #0f7a41; }
.pd-ultimas { margin: 2px 0 0; font-size: .8125rem; font-weight: 700; color: #b45309; }
.pd-esgotado .pd-foto img, .pd-esgotado .pd-sem-foto { filter: grayscale(1); opacity: .55; }
.pd-esgotado .pd-nome, .pd-esgotado .pd-preco { color: #64748b; }
.pd-tag-esgotado { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: rgba(15, 23, 42, .85); color: #fff; font-size: .75rem; font-weight: 800; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; white-space: nowrap; }
