/* P4WP Ofertas (shortcode [p4wp_ofertas]) */

.p4wp-ofertas{
  --p4wp-line:#e5e7eb;
  --p4wp-primary:#5F01D1;
  --p4wp-accent:#FFA200;
  --p4wp-text:#0f172a;
  --p4wp-muted:#64748b;
  --p4wp-gap:1rem;
}

.p4wp-ofertas,
.p4wp-ofertas *{box-sizing:border-box;}

.p4wp-ofertas .p4wp-ofertas__section{margin:1.25rem 0 2rem;}
.p4wp-ofertas .p4wp-ofertas__title{
  margin:0 0 .75rem;
  font-size:1.25rem;
  font-weight:900;
  line-height:1.15;
  color:var(--p4wp-text);
}

.p4wp-ofertas .p4wp-ofertas__grid{
  display:grid;
  gap:var(--p4wp-gap);
  grid-template-columns:repeat(2, minmax(0,1fr));
}
@media(min-width:768px){
  .p4wp-ofertas .p4wp-ofertas__grid{grid-template-columns:repeat(3, minmax(0,1fr));}
}
@media(min-width:1024px){
  .p4wp-ofertas .p4wp-ofertas__grid{grid-template-columns:repeat(4, minmax(0,1fr));}
}

.p4wp-ofertas .p4wp-ofertas__card{
  background:#fff;
  border:1px solid var(--p4wp-line);
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 30px rgba(2,6,23,.06);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.p4wp-ofertas .p4wp-ofertas__card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(2,6,23,.08);
  border-color:#cbd5e1;
}

.p4wp-ofertas .p4wp-card__media{
  display:block;
  aspect-ratio: 4 / 3;
  background:#fff;
  overflow:hidden;
  padding: 10px;
}
.p4wp-ofertas .p4wp-card__img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
}

.p4wp-ofertas .p4wp-card__body{
  padding: .8rem .9rem .6rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  flex:1 1 auto;
}

.p4wp-ofertas .p4wp-card__title{
  margin:0;
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.p4wp-ofertas .p4wp-card__title a{
  color:var(--p4wp-text);
  text-decoration:none;
}
.p4wp-ofertas .p4wp-card__title a:hover{text-decoration:underline;}

.p4wp-ofertas .p4wp-card__price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:.35rem;
}
.p4wp-ofertas .p4wp-card__priceLead{
  font-size:.9rem;
  color:var(--p4wp-muted);
}
.p4wp-ofertas .p4wp-card__priceVal{
  font-size:1.2rem;
  font-weight:900;
  color:#0b1220;
}

.p4wp-ofertas .p4wp-card__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  margin-top:auto;
}

.p4wp-ofertas .p4wp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  border-radius:.85rem;
  border:1px solid var(--p4wp-line);
  padding:.7rem 1rem;
  text-decoration:none;
  line-height:1;
  background:#fff;
  color:var(--p4wp-text);
  flex:1 1 auto;
  min-height:44px;
}
.p4wp-ofertas .p4wp-btn--primary{
  background:var(--p4wp-primary);
  border-color:var(--p4wp-primary);
  color:#fff;
}
.p4wp-ofertas .p4wp-btn:focus,
.p4wp-ofertas .p4wp-share:focus{
  outline:2px solid rgba(37,99,235,.35);
  outline-offset:2px;
}

.p4wp-ofertas .p4wp-share{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:.9rem;
  border:1px solid var(--p4wp-line);
  background:#25D366;
  flex:0 0 44px;
}
.p4wp-ofertas .p4wp-share svg{
  width:28px;
  height:28px;
  fill:#fff;
}
.p4wp-ofertas .p4wp-share img{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
}

.p4wp-ofertas .p4wp-ofertas__empty{
  padding:1rem;
  border:1px dashed var(--p4wp-line);
  border-radius:.75rem;
  color:var(--p4wp-muted);
}

/* Fixes (2025-12-12): imagem completa + CTAs alinhados */
.p4wp-ofertas .p4wp-card__media{
  /* Mantém a imagem inteira (sem corte) e reduz “respiro” */
  aspect-ratio: 4 / 3;
  padding: 8px;
  background: #fff;
  overflow: hidden;
}

.p4wp-ofertas .p4wp-card__img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

.p4wp-ofertas .p4wp-card__body{
  padding: .75rem .9rem .7rem;
  gap: .55rem;
}

/* CTA row: botões sempre nivelados */
.p4wp-ofertas .p4wp-card__cta{
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  gap: .75rem;
  margin-top: auto;
}

.p4wp-ofertas .p4wp-btn{
  flex: 1 1 auto;
  width: 100%;
  height: 52px;
  min-height: 52px;
  padding: 0 .95rem;
  border-radius: .95rem;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  white-space: normal;
  word-break: break-word;
  line-height: 1.1;
}

.p4wp-ofertas .p4wp-btn__label{
  display: block;
  width: 100%;
  line-height: 1.1;
}

/* Botão WhatsApp: usa o ícone enviado nas configs, com fundo “nítido” */
.p4wp-ofertas .p4wp-share{
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  min-height: 52px;
  border-radius: .95rem;

  background-color: #25D366 !important;
  background-image: none !important;

  border: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.p4wp-ofertas .p4wp-share img,
.p4wp-ofertas .p4wp-share svg{
  width: 28px !important;
  height: 28px !important;
  display: block;
  object-fit: contain;
}

/* ================================
   PromoUhul — ajustes de design (somente box de produtos)
   - Desktop: cards menores (mais colunas)
   - Mobile: cards menores + swipe horizontal por seção
   ================================ */

.p4wp-ofertas.p4wp-ofertas--v1{
  --p4wp-primary:#5F01D1;
  --p4wp-accent:#FFA200;
  --p4wp-gap:14px;
}

/* Desktop: +colunas para cards menores */
.p4wp-ofertas .p4wp-ofertas__grid{
  gap: var(--p4wp-gap);
}
@media(min-width:1280px){
  .p4wp-ofertas .p4wp-ofertas__grid{ grid-template-columns:repeat(5, minmax(0,1fr)); }
}
@media(min-width:1536px){
  .p4wp-ofertas .p4wp-ofertas__grid{ grid-template-columns:repeat(6, minmax(0,1fr)); }
}

/* Card mais compacto */
.p4wp-ofertas .p4wp-ofertas__card{
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(2,6,23,.08);
}
.p4wp-ofertas .p4wp-card__media{
  aspect-ratio: 1 / 1;
  padding: 10px;
  background: linear-gradient(135deg, rgba(95,1,209,.06), rgba(255,162,0,.05));
}
.p4wp-ofertas .p4wp-card__body{
  padding: 10px 12px 12px;
  gap: 8px;
}
.p4wp-ofertas .p4wp-card__title{
  font-size: .92rem;
  line-height: 1.2;
}
.p4wp-ofertas .p4wp-card__priceVal{
  font-size: 1.05rem;
}

/* CTA alinhada */
.p4wp-ofertas .p4wp-card__cta{
  align-items: stretch;
  gap: 10px;
}

/* Botão principal: usar laranja do padrão */
.p4wp-ofertas .p4wp-btn--primary{
  background: var(--p4wp-accent) !important;
  border-color: var(--p4wp-accent) !important;
  color: #0B0B0B !important;
  min-height: 44px;
}

/* WhatsApp como botão quadrado ao lado */
.p4wp-ofertas .p4wp-share{
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  background: #22c55e !important;
  border-color: #22c55e !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Focus mais bonito */
.p4wp-ofertas .p4wp-btn:focus,
.p4wp-ofertas .p4wp-share:focus{
  outline: 2px solid rgba(95,1,209,.35) !important;
  outline-offset: 2px !important;
}

/* =========================
   Mobile: swipe horizontal
   - mostra 2 cards por vez (menores)
   ========================= */
@media(max-width:640px){
  .p4wp-ofertas .p4wp-ofertas__grid{
    display:flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: visible !important; /* não corta sombra */
    padding: 16px 16px 22px !important; /* mais respiro para sombra */
    margin: 0 !important;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    scroll-padding-right: 16px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none; /* Firefox */
  }
  .p4wp-ofertas .p4wp-ofertas__grid::-webkit-scrollbar{ display:none; }

  .p4wp-ofertas .p4wp-ofertas__card{
    flex: 0 0 calc(50% - 6px);
    scroll-snap-align: start;
  }

  .p4wp-ofertas .p4wp-card__body{
    padding: 9px 10px 10px;
    gap: 7px;
  }
  .p4wp-ofertas .p4wp-card__title{
    font-size: .86rem;
  }
  .p4wp-ofertas .p4wp-btn--primary{
    min-height: 40px;
    border-radius: 12px;
  }
  .p4wp-ofertas .p4wp-share{
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
  }
}
/* ================================
   PromoUhul — ajustes solicitados (v3)
   - Corrige sombra cortada no mobile (padding no container de swipe)
   - Imagem com cantos levemente arredondados
   - Remove botão WhatsApp e centraliza CTA principal
   ================================ */

/* Remove WhatsApp das boxes (mantém somente "Aproveitar Oferta") */
.p4wp-ofertas .p4wp-share,
.p4wp-ofertas .p4wp-btn--whats,
.p4wp-ofertas .btn-whatsapp,
.p4wp-ofertas a.compartilhar-whatsapp,
.p4wp-ofertas a.p4wp-whatsapp{
  display:none !important;
}

/* CTA centralizado ocupando melhor o espaço */
.p4wp-ofertas .p4wp-card__cta{
  display:flex !important;
  justify-content:center !important;
  align-items:stretch !important;
}

.p4wp-ofertas .p4wp-card__cta .p4wp-btn--primary,
.p4wp-ofertas .p4wp-card__cta .btn-aproveitar,
.p4wp-ofertas .p4wp-card__cta a.aproveitar-oferta,
.p4wp-ofertas .p4wp-card__cta a.p4wp-aproveitar{
  width:100% !important;
  max-width: 260px;
}

/* Imagem com cantos levemente arredondados */
.p4wp-ofertas .p4wp-card__media{
  border-radius: 14px !important;
  overflow:hidden !important;
}
.p4wp-ofertas .p4wp-card__img{
  border-radius: 12px !important;
}

/* Mobile swipe: dá "respiro" para sombra não ser cortada */
@media (max-width: 640px){
  .p4wp-ofertas .p4wp-ofertas__grid{
    padding-top: 10px !important;
    padding-bottom: 18px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* sombra um pouco mais suave no mobile (menos chance de clipping visual) */
  .p4wp-ofertas .p4wp-ofertas__card{
    box-shadow: 0 10px 22px rgba(2,6,23,.10) !important;
  }

  /* botão CTA fica confortável no mobile */
  .p4wp-ofertas .p4wp-card__cta .p4wp-btn--primary{
    max-width: 100% !important;
  }
}

/* ================================
   PromoUhul — ajustes solicitados (v4)
   - Mobile: aumenta "respiro" do carrossel para não cortar a sombra
   - CTA: garante centralização do botão "Aproveitar Oferta" (sem WhatsApp)
   ================================ */

/* CTA: sem "stretch" (evita alinhamento estranho) */
.p4wp-ofertas .p4wp-card__cta{
  justify-content: center !important;
  gap: 0 !important;
}

.p4wp-ofertas .p4wp-card__cta .p4wp-btn--primary{
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile swipe: mais espaço interno para sombra não ser cortada */
@media (max-width: 640px){
  .p4wp-ofertas .p4wp-ofertas__grid{
    padding-top: 18px !important;
    padding-bottom: 28px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin: 0 !important;

    /* evita clipping vertical quando possível */
    overflow-y: visible !important;

    /* melhora início/fim do swipe */
    scroll-padding-left: 16px;
    scroll-padding-right: 16px;
  }

  /* Um pouco mais de sombra, agora com espaço */
  .p4wp-ofertas .p4wp-ofertas__card{
    box-shadow: 0 12px 28px rgba(2,6,23,.12) !important;
  }
}




/* ====== P4WP Ofertas: "Ver todas" + Busca + Tabs (scoped) ====== */
.p4wp-ofertas__sectionhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.p4wp-ofertas__all{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:600;
  text-decoration:none;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.p4wp-ofertas__tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:12px 0 14px;
}
.p4wp-ofertas__tab{
  text-decoration:none;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  font-weight:600;
}
.p4wp-ofertas__tab.is-active{
  border-color:rgba(0,0,0,.22);
}
.p4wp-ofertas__search{
  display:flex;
  gap:10px;
  align-items:center;
  margin:0 0 12px;
}
.p4wp-ofertas__search input[type="text"]{
  flex:1;
  min-width:160px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
}
.p4wp-ofertas__search button{
  padding:10px 14px;
  border-radius:12px;
  border:0;
  cursor:pointer;
  font-weight:700;
}
.p4wp-ofertas__pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:16px 0 0;
}
.p4wp-ofertas__page{
  text-decoration:none;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.p4wp-ofertas__pageinfo{
  opacity:.8;
  font-weight:600;
}


/* ==========================================================
   Unificação de design (home/lista/busca) — SAFE OVERRIDES
   Objetivo: deixar todas as boxes com o mesmo visual da busca,
   sem alterar PHP/JS e sem quebrar o layout do tema.
   ========================================================== */

/* 1) Remove botão WhatsApp das boxes (mantém apenas "Aproveitar Oferta") */
.p4wp-ofertas .p4wp-share,
.p4wp-ofertas .btn-whatsapp,
.p4wp-ofertas a.compartilhar-whatsapp,
.p4wp-ofertas a.p4wp-whatsapp{
  display:none !important;
}

/* 2) Centraliza o CTA e faz o botão ocupar a largura disponível */
.p4wp-ofertas .p4wp-card__cta{
  display:flex !important;
  justify-content:center !important;
  align-items:stretch !important;
}

.p4wp-ofertas .p4wp-card__cta .btn-aproveitar,
.p4wp-ofertas .p4wp-card__cta a.aproveitar-oferta,
.p4wp-ofertas .p4wp-card__cta a.p4wp-aproveitar,
.p4wp-ofertas .p4wp-card__cta .p4wp-btn--primary{
  width: 100% !important;
  max-width: 240px; /* mantém “clean” em cards grandes */
}

/* 3) Imagem com cantos levemente arredondados (mais bonito) */
.p4wp-ofertas .p4wp-card__img,
.p4wp-ofertas .p4wp-card__media img{
  border-radius: 12px !important;
}

/* 4) Ajuste do preço no mobile para evitar transbordar com 2 colunas */
@media (max-width: 640px){
  .p4wp-ofertas .p4wp-card__price{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.2rem .35rem !important;
    flex-wrap: wrap !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .p4wp-ofertas .p4wp-card__priceLead,
  .p4wp-ofertas .p4wp-card__priceVal{
    white-space: normal !important;
  }
}

/* 6) Evita “corte” de sombra quando algum container do tema usa overflow hidden */
@media (max-width: 600px){
  .p4wp-ofertas .p4wp-ofertas__section{
    overflow: visible !important;
  }
  .p4wp-ofertas .p4wp-ofertas__grid{
    overflow: visible !important;
  }
}


/* =========================
   AJUSTES UX (Lista + Unificação do Card)
   - Busca (form) menor, centralizada e moderna
   - Tabs modernas + no mobile ficam em 1 linha
   - "Ver todas" menor e clean
   - Garante que o card tenha o mesmo design em QUALQUER lugar do site (mesmo sem wrapper .p4wp-ofertas)
   ========================= */

/* "Ver todas" menor e clean */
.p4wp-ofertas__all{
  padding:6px 10px !important;
  border-radius:999px !important;
  font-size:12.5px !important;
  line-height:1 !important;
  font-weight:700 !important;
  border:1px solid rgba(95,1,209,.18) !important;
  background: rgba(95,1,209,.06) !important;
  color:#2b0a5f !important;
}
.p4wp-ofertas__all:hover{
  background: rgba(95,1,209,.10) !important;
}

/* Busca: menor, centralizada e moderna */
.p4wp-ofertas__search{
  max-width: 720px;
  margin: 0 auto 14px !important;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  box-shadow: 0 10px 26px rgba(2,6,23,.05);
}
.p4wp-ofertas__search input[type="text"]{
  height: 40px;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: #fff;
  font-size: 14px;
}
.p4wp-ofertas__search button{
  height: 40px;
  padding: 0 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(95,1,209,.20) !important;
  background: rgba(95,1,209,.10) !important;
  color: #2b0a5f !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.p4wp-ofertas__search button:hover{
  background: rgba(95,1,209,.14) !important;
}

/* Tabs: modernas */
.p4wp-ofertas__tabs{
  gap:10px !important;
  justify-content:center;
}
.p4wp-ofertas__tab{
  padding:8px 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  background:#fff !important;
  font-weight:800 !important;
  font-size:13px !important;
  color:#0f172a !important;
}
.p4wp-ofertas__tab:hover{
  border-color: rgba(95,1,209,.20) !important;
}
.p4wp-ofertas__tab.is-active{
  border-color: rgba(95,1,209,.28) !important;
  background: rgba(95,1,209,.10) !important;
  color:#2b0a5f !important;
}

/* Mobile: tabs em 1 linha */
@media (max-width: 520px){
  .p4wp-ofertas__tabs{
    flex-wrap: nowrap !important;
    gap:8px !important;
  }
  .p4wp-ofertas__tab{
    flex: 1 1 0 !important;
    text-align:center !important;
    padding:8px 8px !important;
    font-size:12px !important;
    white-space: nowrap;
  }
}

/* ============ UNIFICAÇÃO DO CARD (fora do wrapper) ============ */
/* Grid base (caso algum template imprima sem .p4wp-ofertas) */
.p4wp-ofertas__grid{
  display:grid;
  gap: var(--p4wp-gap, 14px);
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media(min-width:768px){
  .p4wp-ofertas__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media(min-width:1024px){
  .p4wp-ofertas__grid{ grid-template-columns:repeat(4, minmax(0,1fr)); }
}
@media(min-width:1280px){
  .p4wp-ofertas__grid{ grid-template-columns:repeat(5, minmax(0,1fr)); }
}
@media(min-width:1536px){
  .p4wp-ofertas__grid{ grid-template-columns:repeat(6, minmax(0,1fr)); }
}

/* Card e internos */
.p4wp-ofertas__card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 10px 26px rgba(2,6,23,.08);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.p4wp-ofertas__card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(2,6,23,.10);
  border-color: rgba(95,1,209,.18);
}

.p4wp-card__media{
  aspect-ratio: 1 / 1;
  padding: 10px;
  background: linear-gradient(135deg, rgba(95,1,209,.06), rgba(255,162,0,.05));
}
.p4wp-card__img{
  border-radius: 12px; /* imagem levemente arredondada */
}
.p4wp-card__body{
  padding: 10px 12px 12px;
  gap: 8px;
}
.p4wp-card__title{
  font-size: .92rem;
  line-height: 1.2;
}

/* Permite quebra de linha no preço mobile */
@media (max-width: 520px){
  .p4wp-card__price{
    display:flex;
    align-items: center;
    gap:6px;
    flex-wrap: wrap;
    white-space: normal;
    text-align: center;
  }
}

/* Remove WhatsApp globalmente (fica só "Aproveitar Oferta") */
.p4wp-share,
.p4wp-btn--whats,
.btn-whatsapp,
a.compartilhar-whatsapp,
a.p4wp-whatsapp{
  display:none !important;
}

/* CTA centralizado */
.p4wp-card__cta{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.p4wp-btn{
  justify-content:center !important;
}



/* ============================================================
   UNIFICAÇÃO VISUAL
   Home (p4wp_ofertas / v1) = Lista/Busca (p4wp_ofertas_lista)
   Motivo: em algumas páginas (ex: Elementor/home) há CSS externo
   que altera <article> e wrappers; aqui reforçamos o visual.
   ============================================================ */
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-ofertas__card{
  background:#fff !important;
  border:1px solid var(--p4wp-line) !important;
  border-radius:14px !important;
  box-shadow:0 8px 30px rgba(2,6,23,.06) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__media{
  display:block !important;
  aspect-ratio: 4 / 3 !important;
  padding:  8px !important;
  background: linear-gradient(135deg, rgba(95,1,209,.06), rgba(255,162,0,.05)) !important;
  overflow:hidden !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__img{
  width:100% !important;
  height:100% !important;
  object-fit: contain !important;
  display:block !important;
  border-radius: 12px !important;
  background:#fff;
}

.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__body{
  padding: .8rem .9rem .6rem !important;
  display:flex !important;
  flex-direction:column !important;
  gap:.6rem !important;
  flex:1 1 auto !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__title{
  margin:0 !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  text-align:center !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__price{
  display:flex !important;
  justify-content:center !important;
  gap:.35rem !important;
}
@media (max-width: 640px){
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__price{
    flex-wrap: wrap !important;
    white-space: normal !important;
  }
}


/* (FIX) Telas estreitas: ajusta tamanho da fonte do preço nas 2 colunas */
@media (max-width: 420px){
  .p4wp-ofertas .p4wp-card__price{
    flex-wrap: wrap !important;
    white-space: normal !important;
    gap: .2rem .35rem !important;
    padding-inline: 4px;
  }
  .p4wp-ofertas .p4wp-card__priceLead,
  .p4wp-ofertas .p4wp-card__priceVal{
    white-space: normal !important;
  }
  .p4wp-ofertas .p4wp-card__priceLead{
    font-size: .78rem !important;
    line-height: 1.1 !important;
  }
  .p4wp-ofertas .p4wp-card__priceVal{
    font-size: 1.05rem !important;
    line-height: 1.1 !important;
  }
}


/* ===========================================================
   (V6) Unificar visual do modo HOME (p4wp-ofertas--v1)
   com o visual do resultado de busca/lista (quadrado e mais "achatado" no conteúdo)
   =========================================================== */
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__media{
  aspect-ratio: 1 / 1 !important;
  padding: 10px !important;
  background: linear-gradient(135deg, rgba(95,1,209,.06), rgba(255,162,0,.05)) !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__img{
  border-radius: 12px !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__body{
  padding-top: 10px !important;
  padding-bottom: 12px !important;
  gap: .35rem !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__title{
  margin: 0 !important;
  line-height: 1.15 !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__price{
  margin-top: 0 !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__cta{
  margin-top: .55rem !important;
}
@media (max-width: 600px){
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__body{
    padding-top: 9px !important;
    padding-bottom: 11px !important;
    gap: .3rem !important;
  }
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__cta{
    margin-top: .5rem !important;
  }
}


/* ===========================================================
   (V7) Home (p4wp-ofertas--v1) mais "achatado" como a busca/lista:
   - diminui padding/gaps do corpo
   - CTA mais próximo do preço
   =========================================================== */
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__body{
  padding: .62rem .85rem .72rem !important;
  gap: .28rem !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__title{
  font-size: .98rem !important;
  line-height: 1.12 !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__price{
  gap: .45rem !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__cta{
  margin-top: .42rem !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-btn{
  padding: .62rem 1rem !important;
  min-height: 42px !important;
}

@media (max-width: 600px){
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__body{
    padding: .58rem .78rem .66rem !important;
    gap: .26rem !important;
  }
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-btn{
    padding: .6rem .95rem !important;
    min-height: 42px !important;
  }
}


/* ===========================================================
   (V8) HOME (p4wp-ofertas--v1) igual ao resultado de busca/lista:
   - garante 2 cards visíveis no swipe (mesmo que o HTML use wrapper diferente)
   - reduz respiros do corpo/CTA para ficar mais "achatado"
   =========================================================== */

/* Mobile swipe: aplica largura 50% para qualquer card dentro do grid (fallback) */
@media (max-width: 640px){
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-ofertas__grid > *{
    flex: 0 0 calc(50% - 6px) !important;
    scroll-snap-align: start !important;
  }
  /* Se existir algum wrapper não-card dentro do grid, ele pode “atrapalhar”.
     Este seletor força apenas itens que parecem cards (classes comuns). */
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-ofertas__grid > .p4wp-ofertas__header,
  .p4wp-ofertas.p4wp-ofertas--v1 .p4wp-ofertas__grid > .p4wp-section-title{
    flex: 0 0 100% !important;
    scroll-snap-align: none !important;
  }
}

/* Corpo do card mais compacto (como busca/lista) */
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__body{
  padding: .65rem .75rem .6rem !important;
  gap: .35rem !important;
}

/* Título e preço mais “colados” */
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__title{
  line-height: 1.12 !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__price{
  margin: 0 !important;
}

/* CTA mais próximo e botão um pouco mais “low profile” */
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__cta{
  margin-top: .35rem !important;
}
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-btn,
.p4wp-ofertas.p4wp-ofertas--v1 .p4wp-card__cta a{
  min-height: 40px !important;
  padding: .6rem .95rem !important;
}

/* ==========================================================
   FIX: Tabs (Mais Clicadas / Mais Recentes / Relâmpago)
   Objetivo: design clean/moderno + evitar interferência do tema
   ========================================================== */

.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tabs{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin: 10px 0 14px !important;
}

.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tab{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #0f172a !important;
  box-shadow: 0 10px 20px rgba(2,6,23,.05) !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}

.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tab:hover{
  border-color: rgba(95,1,209,.22) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(2,6,23,.08) !important;
}

.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tab.is-active{
  border-color: rgba(95,1,209,.30) !important;
  background: rgba(95,1,209,.10) !important;
  color: #2b0a5f !important;
}

/* Mobile: vira “chip bar” com scroll horizontal (evita tabs espremidas/bugadas) */
@media (max-width: 520px){
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tabs{
    flex-wrap: nowrap !important;
    justify-content:flex-start !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 8px !important;
    scroll-snap-type: x mandatory;
  }
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tab{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    scroll-snap-align: start;
  }
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tabs::-webkit-scrollbar{ height: 6px; }
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__tabs::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.12); border-radius: 999px; }
}


/* ================================
   [p4wp_ofertas] — Swipe horizontal por seção (fix “página fica mais larga”)
   - Em vez de estourar o width do body, cada seção vira um carrossel nativo.
   - Funciona em mobile/tablet/desktop (touch, trackpad ou mouse).
   ================================ */

/* Garante que o wrapper do shortcode nunca aumente a largura da página */
.p4wp-ofertas.p4wp-ofertas--sections{
  max-width: 100% !important !important;
  overflow-x: clip;
}
@supports not (overflow: clip){
  .p4wp-ofertas.p4wp-ofertas--sections{ overflow-x: hidden !important !important; }
}

/* Cada seção precisa respeitar a largura do container */
.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__section{
  max-width: 100% !important;
}

/* Carrossel (scroll horizontal) */
.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__grid{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--p4wp-gap);

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;

  overflow-x: auto !important;
  overflow-y: visible !important; /* não corta a sombra */

  padding: 14px 12px 22px !important;
  margin: 0 !important;

  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none; /* Firefox */
}
.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__grid::-webkit-scrollbar{ display:none; }

/* Cards com largura responsiva e sem “estourar” layout */
.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__card{
  flex: 0 0 clamp(180px, 46vw, 260px);
  min-width: 0 !important;
  scroll-snap-align: start;
}

@media (min-width: 768px){
  .p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__card{
    flex-basis: clamp(200px, 30vw, 260px);
  }
}

@media (min-width: 1024px){
  .p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__card{
    flex-basis: clamp(220px, 18vw, 280px);
  }
}

/* ------------------------------------------------------------------
   FIXES: [p4wp_ofertas] (sections) — imagem quadrada sem cortar + sombra sem cortar
   ------------------------------------------------------------------ */
.p4wp-ofertas.p4wp-ofertas--sections .p4wp-card__media{
  aspect-ratio: 1 / 1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 10px !important;
}

.p4wp-ofertas.p4wp-ofertas--sections .p4wp-card__img{
  width:100% !important;
  height:auto !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Dá “respiro” pro box-shadow não ser clipado pelo container com scroll */
.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__grid{
  padding: 22px 18px 28px !important;
  scroll-padding-inline: 18px;
}

.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__card{
  box-shadow: 0 10px 22px rgba(2,6,23,.08) !important;
}

.p4wp-ofertas.p4wp-ofertas--sections .p4wp-ofertas__card:hover{
  box-shadow: 0 14px 30px rgba(2,6,23,.10) !important;
}


/* ------------------------------------------------------------------
   FIXES: [p4wp_ofertas_lista] (p4wp-ofertas--list)
   - Evita "página fica mais larga" (overflow horizontal)
   - Grid responsivo: se não couber, quebra linha (sem scroll lateral)
   - Imagens quadradas sem cortar
   ------------------------------------------------------------------ */

/* O wrapper da lista nunca deve estourar a largura do site */
.p4wp-ofertas.p4wp-ofertas--list{
  max-width: 100% !important;
  overflow-x: clip;
}
@supports not (overflow: clip){
  .p4wp-ofertas.p4wp-ofertas--list{ overflow-x: hidden !important; }
}

/* Grid: força respeitar o container e evita min-content empurrar o body */
.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__grid{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Em telas pequenas, 2 colunas para manter o padrão */
@media (max-width: 420px){
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 421px) and (max-width: 767px){
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Evita qualquer item interno criar overflow horizontal */
.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__card,
.p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__card *{
  min-width: 0;
}

.p4wp-ofertas.p4wp-ofertas--list .p4wp-card__title{
  overflow-wrap: anywhere;
}

/* Busca: no mobile bem pequeno, quebra linha (pra não estourar a tela) */
@media (max-width: 420px){
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__search{
    flex-wrap: wrap !important;
  }
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__search input[type="text"],
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__search button{
    width: 100% !important;
  }
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__search input[type="text"]{
    min-width: 0 !important;
  }
}

/* Imagem: quadrada e SEM cortar (override do inline height:100%) */
.p4wp-ofertas.p4wp-ofertas--list .p4wp-card__media{
  aspect-ratio: 1 / 1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow: hidden !important;
}
.p4wp-ofertas.p4wp-ofertas--list .p4wp-card__img{
  width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

/* ------------------------------------------------------------------
   HOTFIX: [p4wp_ofertas_lista] em mobile estava virando "swipe" global
   (regra @media max-width:640px aplica em .p4wp-ofertas .p4wp-ofertas__grid)
   e, como o wrapper da LISTA evita overflow-x, os cards ficavam CLIPADOS.

   Aqui forçamos a LISTA (e BUSCA) a ser GRID responsivo no mobile,
   quebrando linha normalmente.
   ------------------------------------------------------------------ */
@media (max-width: 640px){
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__grid,
  .p4wp-ofertas.p4wp-ofertas--search .p4wp-ofertas__grid{
    display: grid !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* remove qualquer largura fixa do modo swipe */
  .p4wp-ofertas.p4wp-ofertas--list .p4wp-ofertas__card,
  .p4wp-ofertas.p4wp-ofertas--search .p4wp-ofertas__card{
    flex: initial !important;
    scroll-snap-align: initial !important;
  }
}

/* ===========================================================
   (CURADORIA) Responsivo perfeito (sem swipe horizontal)
   - Mantém os cards dentro da largura da tela
   - Quando não couber, quebra para a próxima linha
   - Não interfere nos shortcodes/sections existentes
   =========================================================== */

.p4wp-ofertas.p4wp-ofertas--curadoria{
  max-width: 100% !important;
  overflow-x: clip;
}
@supports not (overflow: clip){
  .p4wp-ofertas.p4wp-ofertas--curadoria{ overflow-x: hidden !important; }
}

.p4wp-ofertas.p4wp-ofertas--curadoria .p4wp-ofertas__grid{
  width: 100%;
  max-width: 100%;
}

/* Garante que nada "estoure" o card */
.p4wp-ofertas.p4wp-ofertas--curadoria .p4wp-ofertas__grid > *{ min-width:0; }
.p4wp-ofertas.p4wp-ofertas--curadoria img,
.p4wp-ofertas.p4wp-ofertas--curadoria svg{
  max-width:100%;
  height:auto;
}

/* Mobile: DESLIGA o modo swipe horizontal do tema do shortcode e volta para GRID */
@media (max-width: 640px){
  .p4wp-ofertas.p4wp-ofertas--curadoria .p4wp-ofertas__grid{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--p4wp-gap, 14px) !important;

    overflow: visible !important;
    overflow-x: clip !important;
    padding: 0 !important;
    margin: 0 !important;

    scroll-snap-type: none !important;
    -webkit-overflow-scrolling: auto !important;
  }
}

/* Telas bem pequenas: 2 colunas para alinhar com o design */
@media (max-width: 420px){
  .p4wp-ofertas.p4wp-ofertas--curadoria .p4wp-ofertas__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}