/*
Theme Name: IGP Importados
Theme URI: https://igpimportados.com.br
Author: Igor
Description: Tema WordPress personalizado para a loja de perfumes IGP Importados, recriando o design original do site em HTML/JS estático. Feito para uso com WooCommerce.
Version: 1.1.1
Requires PHP: 7.4
Text Domain: igp-importados
*/

/* =========================================================
   1. VARIÁVEIS DE MARCA (mesmas cores/fontes do site original)
   ========================================================= */
:root {
  --igp-bg: #FFFFFF;           /* fundo branco geral */
  --igp-bg-alt: #FFFFFF;       /* fundo branco (cards, header interno) */
  --igp-ink: #17100F;          /* texto principal */
  --igp-wine: #57161C;         /* bordô — marca, títulos, destaques */
  --igp-wine-dark: #030201;    /* quase preto — header/hero escuro */
  --igp-gold: #C6A15B;
  --igp-header-h: 104px;         /* dourado — acentos, hover */
  --igp-gold-light: #E0B96A;   /* dourado claro — textos sobre fundo escuro */
  --igp-cream-line: #E8E4DF;   /* linhas divisórias */
  --igp-green: #0F8A3C;        /* verde do preço no Pix */
  --igp-muted: #5A5A5A;        /* texto secundário / labels (cinza escuro) */
  --igp-badge-red: #B3231C;    /* badge "última unidade" */
  --igp-whats: #1EA854;        /* verde WhatsApp (escurecido p/ contraste) */

  --igp-font-display: 'Cormorant Garamond', Georgia, serif;
  --igp-font-body: 'Jost', system-ui, -apple-system, sans-serif;

  --igp-radius: 2px;
  --igp-container: 1380px;
}

/* =========================================================
   2. RESET BÁSICO
   ========================================================= */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--igp-bg);
  font-family: var(--igp-font-body);
  color: var(--igp-ink);
  font-size: 15px;
  line-height: 1.5;
}
a { color: var(--igp-wine); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--igp-gold); }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul { list-style: none; margin: 0; padding: 0; }
.igp-container {
  max-width: var(--igp-container);
  margin: 0 auto;
  padding: 0 clamp(20px, 3.5vw, 66px);
}

/* =========================================================
   3. TIPOGRAFIA
   ========================================================= */
h1, h2, h3, .igp-serif {
  font-family: var(--igp-font-display);
  font-weight: 600;
  color: var(--igp-wine);
  margin: 0;
}
.igp-eyebrow {
  font-size: 11px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--igp-muted);
}

/* =========================================================
   4. HEADER
   ========================================================= */
.igp-header-wrap {
  position: sticky;
  top: 0;
  z-index: 40;
}
.igp-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 14px 22px;
  border-bottom: 0;
  transition: background-color .18s linear, box-shadow .18s linear;
}
/* header solto sobre o hero (home, no topo) */
.igp-header--transparent { background: transparent; }
/* na home o hero sobe por baixo do header, que fica sempre no fluxo */
.home .igp-hero { margin-top: calc(-1 * var(--igp-header-h) - 1px); }
.igp-header--transparent .igp-header-link,
.igp-header--transparent .igp-logo-sub { color: #FFFFFF; }

/* header sólido (páginas internas, ou home rolada) */
.igp-header--solid {
  background: var(--igp-bg-alt);
  box-shadow: 0 1px 0 var(--igp-cream-line);
}
.igp-header--solid .igp-header-link,
.igp-header--solid .igp-logo-sub { color: var(--igp-ink); }

.igp-header-nav-left,
.igp-header-nav-right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.igp-header-nav-right { justify-content: flex-end; }

.igp-header-link {
  display: flex;
  align-items: center;
  gap: 9px;
  background: none;
  border: 0;
  padding: 4px 2px;
  cursor: pointer;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.igp-header-link, .igp-icon-btn { transition: color .18s linear; }
.igp-header-link:hover { color: var(--igp-gold); }

.igp-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.igp-logo-stack { position: relative; display: block; }
.igp-logo-img { display: block; height: 76px; width: auto; transition: opacity .18s linear; }
.igp-logo-img--dark { position: absolute; top: 0; left: 0; }
@media (max-width: 860px) { .igp-logo-img { height: 50px; } }
.igp-header--transparent .igp-logo-img--light { opacity: 1; }
.igp-header--transparent .igp-logo-img--dark { opacity: 0; }
.igp-header--solid .igp-logo-img--light { opacity: 0; }
.igp-header--solid .igp-logo-img--dark { opacity: 1; }
.igp-logo-mark {
  font-family: var(--igp-font-display);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--igp-wine);
}
.igp-header--transparent .igp-logo-stack { position: relative; display: block; }
.igp-logo-img { display: block; height: 76px; width: auto; transition: opacity .18s linear; }
.igp-logo-img--dark { position: absolute; top: 0; left: 0; }
@media (max-width: 860px) { .igp-logo-img { height: 50px; } }
.igp-header--transparent .igp-logo-img--light { opacity: 1; }
.igp-header--transparent .igp-logo-img--dark { opacity: 0; }
.igp-header--solid .igp-logo-img--light { opacity: 0; }
.igp-header--solid .igp-logo-img--dark { opacity: 1; }
.igp-logo-mark { color: #FFFFFF; }
.igp-logo-sub {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
}

.igp-icon-btn {
  position: relative;
  background: none;
  border: 0;
  padding: 6px;
  cursor: pointer;
  display: flex;
}
.igp-header--transparent .igp-icon-btn { color: #FFFFFF; }
.igp-header--solid .igp-icon-btn { color: var(--igp-ink); }
.igp-cart-count {
  position: absolute;
  right: -2px;
  bottom: 0;
  min-width: 17px;
  height: 17px;
  border-radius: 9px;
  background: currentColor;
  color: var(--igp-bg-alt);
  font-size: 10px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* menu lateral */
.igp-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 44;
  background: rgba(3,2,1,.55);
  opacity: 0;
  transition: opacity .3s ease;
}
.igp-menu-backdrop[hidden] { display: none; }
.igp-menu-backdrop.is-open { opacity: 1; }

.igp-menu-panel {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  z-index: 45;
  width: min(330px, 80vw);
  background: var(--igp-bg);
  padding: 30px clamp(26px, 4vw, 44px) 34px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .38s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 0 50px rgba(3,2,1,.28);
}
.igp-menu-panel[hidden] { display: none; }
.igp-menu-panel.is-open { transform: translateX(0); }

.igp-menu-close {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: 0;
  padding: 0 0 46px;
  cursor: pointer;
  color: var(--igp-ink);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: color .2s ease;
}
.igp-menu-close:hover { color: var(--igp-wine); }

.igp-menu-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.igp-menu-list a,
.igp-menu-parent {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 13px 0;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  font-size: 15px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--igp-ink);
  transition: color .2s ease;
}
.igp-menu-list a:hover,
.igp-menu-parent:hover { color: var(--igp-muted); }
.igp-menu-parent svg { transition: transform .3s ease; }
.igp-menu-parent[aria-expanded="true"] svg { transform: rotate(90deg); }

.igp-menu-sub {
  display: flex;
  flex-direction: column;
  padding: 2px 0 10px 2px;
  border-left: 1px solid var(--igp-cream-line);
  margin-left: 2px;
}
.igp-menu-sub[hidden] { display: none; }
.igp-menu-sub a {
  padding: 10px 0 10px 18px;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--igp-ink);
}
.igp-menu-sub a:first-child { color: var(--igp-ink); font-weight: 500; }

/* aba do carrinho — mesmo padrão do menu, entrando pela direita */
.igp-cart-panel {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  z-index: 45;
  width: min(380px, 84vw);
  background: var(--igp-bg);
  padding: 30px clamp(24px, 4vw, 38px) 34px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 0 50px rgba(3,2,1,.28);
}
.igp-cart-panel[hidden] { display: none; }
.igp-cart-panel.is-open { transform: translateX(0); }
.igp-cart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--igp-cream-line);
  margin-bottom: 22px;
}
.igp-cart-title {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--igp-wine);
}
.igp-cart-x {
  background: none;
  border: 0;
  padding: 2px;
  margin-top: -2px;
  cursor: pointer;
  color: var(--igp-ink);
  transition: color .2s ease;
}
.igp-cart-x:hover { color: var(--igp-wine); }

.igp-cart-body { display: flex; flex-direction: column; flex: 1; }
.igp-cart-vazio {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
  padding: 30px 0;
}
.igp-cart-vazio-titulo {
  font-family: var(--igp-font-body);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.45;
  color: var(--igp-ink);
  max-width: 15ch;
}
.igp-cart-vazio-link {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--igp-wine);
  border-bottom: 1px solid var(--igp-wine);
  padding-bottom: 3px;
}
.igp-cart-vazio-link:hover { color: var(--igp-ink); border-color: var(--igp-ink); }
.igp-cart-btn {
  display: block;
  text-align: center;
  padding: 16px 28px;
  border-radius: 999px;
  background: var(--igp-wine);
  color: #FDF8F1;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: background .25s ease;
}
.igp-cart-btn:hover { background: var(--igp-ink); }
.igp-cart-btn.is-off {
  background: #DCD3C9;
  color: #F7F3EE;
  cursor: default;
}
.igp-cart-body ul.cart_list { list-style: none; margin: 0 0 20px; padding: 0; }
.igp-cart-body ul.cart_list li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--igp-cream-line);
  font-size: 14px;
}
.igp-cart-body ul.cart_list li img { width: 58px; height: auto; grid-row: span 2; }
.igp-cart-body ul.cart_list li a { color: var(--igp-ink); }
.igp-cart-body .quantity { color: var(--igp-muted); font-size: 13px; }
.igp-cart-body .total { padding: 16px 0; font-size: 15px; color: var(--igp-ink); }
.igp-cart-body .buttons { display: flex; flex-direction: column; gap: 10px; }
.igp-cart-body .buttons a {
  display: block;
  text-align: center;
  padding: 14px 20px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.igp-cart-body .buttons a:first-child { border: 1px solid var(--igp-wine); color: var(--igp-wine); }
.igp-cart-body .buttons a.checkout { background: var(--igp-wine); color: #FDF8F1; border: 1px solid var(--igp-wine); }

/* painel de busca — CORRIGIDO: tinha marcação no header.php mas nenhuma regra aqui,
   então abria transparente sobre o hero */
.igp-search-panel {
  position: absolute;
  top: 100%;
  left: 0; right: 0;
  z-index: 36;
  background: var(--igp-bg);
  border-bottom: 1px solid var(--igp-cream-line);
  box-shadow: 0 14px 30px rgba(3,2,1,.12);
}
.igp-search-panel[hidden] { display: none; }
.igp-search-panel input[type="search"]::placeholder { color: var(--igp-muted); }

/* =========================================================
   5. HERO (home) — duas capas alternando a cada 8s
   ========================================================= */
.igp-hero {
  position: relative;
  overflow: hidden;
  background: var(--igp-wine-dark);
  min-height: 560px;
  height: min(90vh, 780px);
  display: flex;
  align-items: center;
}
.igp-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
  pointer-events: none;
}
.igp-hero-slide.is-active { opacity: 1; }
/* o texto/botão da capa ativa precisa receber o clique */
.igp-hero-content.igp-hero-slide.is-active { pointer-events: auto; }

/* capa com texto centralizado no alto (decants) */
.igp-hero .igp-hero-overlay--topo { background: linear-gradient(180deg, rgba(3,2,1,.75) 0%, rgba(3,2,1,.35) 45%, rgba(3,2,1,.08) 68%, rgba(3,2,1,.45) 86%, rgba(3,2,1,.7) 100%); }
/* imagem dos decants um pouco menos brilhante (reflexo no chão) */
.igp-hero-slide:has(.igp-hero-overlay--topo) .igp-hero-bg { filter: brightness(.86); }
.igp-hero .igp-hero-content--topo {
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: calc(var(--igp-header-h) + 20px) 24px 0;
}
.igp-hero .igp-hero-content--topo .igp-hero-title {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
  white-space: normal;
  max-width: 1100px;
  font-size: clamp(34px, 4.4vw, 64px);
  line-height: 1.08;
  order: 1;
}
.igp-hero .igp-hero-content--topo .igp-hero-kicker { order: 2; margin: 16px 0 0; white-space: normal; letter-spacing: .3em; font-size: 16px; }
.igp-hero .igp-hero-content--topo .igp-hero-text { order: 3; margin: 12px auto 0; max-width: 70ch; font-size: 15px; }
.igp-hero .igp-hero-content--topo .igp-hero-cta { order: 4; margin-top: 20px; }
@media (max-width: 860px) {
  .igp-hero .igp-hero-content--topo { padding-top: calc(var(--igp-header-h) + 20px); }
  .igp-hero .igp-hero-content--topo .igp-hero-kicker { letter-spacing: .18em; font-size: 11px; }
}
.igp-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
}
.igp-hero-frasco {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  width: auto;
  object-fit: cover;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 26%),
                      linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 10%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 26%),
              linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 10%);
  mask-composite: intersect;
}
@media (max-width: 860px) { .igp-hero-frasco { height: 72%; right: -6%; opacity: .6; } }
.igp-hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.3);
  background: transparent;
  color: #FFFFFF;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .25s ease, color .25s ease;
}
.igp-hero-arrow:hover { border-color: var(--igp-gold); color: var(--igp-gold); }
.igp-hero-arrow--prev { left: clamp(10px, 2vw, 24px); }
.igp-hero-arrow--next { right: clamp(10px, 2vw, 24px); }
@media (max-width: 860px) { :root { --igp-header-h: 78px; } }
@media (max-width: 860px) { .igp-hero-arrow { width: 28px; height: 28px; } }
.igp-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,2,1,.92) 0%, rgba(3,2,1,.78) 38%, rgba(3,2,1,.3) 66%, rgba(3,2,1,.05) 100%);
}
.igp-hero-content {
  position: relative;
  z-index: 2;
  max-width: 660px;
  padding: 0 clamp(24px, 12vw, 230px);
}
.igp-hero-kicker {
  white-space: nowrap;
  font-size: 13px;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: var(--igp-gold-light);
  margin-bottom: 16px;
}
.igp-hero-title {
  white-space: nowrap;
  font-size: clamp(40px, 6.2vw, 88px);
  line-height: 1.02;
  letter-spacing: -.01em;
  color: #FFFFFF;
}
.igp-hero-text {
  margin-top: 18px;
  color: rgba(255,255,255,.88);
  font-size: 16px;
  max-width: 460px;
}
.igp-hero-cta {
  white-space: nowrap;
  margin-top: 34px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 17px 34px;
  border: 0;
  border-radius: 999px;
  background: var(--igp-gold);
  color: var(--igp-wine-dark);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .25s ease, transform .25s ease;
}
.igp-hero-cta:hover { background: var(--igp-gold-light); transform: translateY(-2px); }

/* capa com texto à direita */
.igp-hero-overlay--direita { background: linear-gradient(270deg, rgba(3,2,1,.9) 0%, rgba(3,2,1,.72) 34%, rgba(3,2,1,.25) 62%, rgba(3,2,1,0) 100%); }
/* mesmo formato das capas da esquerda, só que o bloco fica à direita */
.igp-hero-content--direita {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
/* complemento do título (ex.: Eau de Parfum), colado nele e na mesma fonte */
.igp-hero-sub {
  margin-top: 4px;
  font-size: clamp(24px, 3.2vw, 44px);
  line-height: 1.1;
  color: #FFFFFF;
}
.igp-hero-title + .igp-hero-sub { font-family: var(--igp-font-display); font-weight: 500; letter-spacing: -.01em; white-space: nowrap; }
.igp-hero-content--direita .igp-hero-cta { order: -1; margin-top: 0; margin-bottom: 34px; }


/* pontos indicadores do hero */
.igp-hero-dots {
  position: absolute;
  bottom: 26px;
  left: clamp(24px, 12vw, 230px);
  z-index: 3;
  display: flex;
  gap: 10px;
}
.igp-hero-dot {
  width: 30px; height: 2px;
  border: 0; padding: 0;
  background: rgba(255,255,255,.35);
  cursor: pointer;
}
.igp-hero-dot.is-active { background: var(--igp-gold-light); }

/* =========================================================
   6. SEÇÕES GERAIS
   ========================================================= */
.igp-section { padding: 64px 0; }
.igp-section-title {
  text-align: center;
  font-size: clamp(28px, 3.6vw, 40px);
  color: #111111;
  margin-bottom: 40px;
}

/* =========================================================
   7. CARD DE PRODUTO (reutilizado em todo o site)
   ========================================================= */
.igp-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #F4F4F4;
  padding: 14px 14px 16px;
}
.igp-product-badge {
  position: absolute;
  top: 6px; left: 6px;
  z-index: 2;
  background: var(--igp-badge-red);
  color: #FFFFFF;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.2;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 999px;
}
/* CORRIGIDO: as fotos do catálogo são quadradas (1:1), não 3:4 */
.igp-product-image {
  aspect-ratio: 1 / 1;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.igp-product-image img {
  width: 100%; height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply; /* fundo branco da foto some e fica igual ao card */
  transition: transform .5s ease;
}
.igp-product-card:hover .igp-product-image img { transform: scale(1.04); }
.igp-product-tags {
  display: flex;
  gap: 6px;
  margin-top: 10px;
}
.igp-product-tag {
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--igp-muted);
  border: 1px solid var(--igp-cream-line);
  border-radius: 999px;
  padding: 3px 9px;
}
.igp-product-brand {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.2;
  color: var(--igp-muted);
}
.igp-product-name {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  color: var(--igp-ink);
  margin: 3px 0 0;
}
.igp-product-prices { margin: 7px 0 0; }
.igp-product-price-linha {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  line-height: 1.2;
}
.igp-product-price-venda { font-size: 14px; font-weight: 600; color: #000000; }
.igp-product-price-off {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--igp-badge-red);
}
.igp-product-price-antigo { font-size: 13px; color: var(--igp-muted); }
.igp-product-price-pix {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--igp-green);
  margin: 3px 0 0;
}
.igp-product-price-parc { font-size: 10px; line-height: 1.3; color: #000000; margin: 2px 0 0; }
.igp-product-stock {
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 6px;
}
.igp-product-stock--pronta { color: var(--igp-badge-red); }
.igp-product-stock--encomenda { color: #8A6B2E; }
.igp-product-stock--esgotado { color: #6B6B6B; }

/* produto esgotado (pronta entrega com estoque zerado) */
.igp-product-badge--esgotado { background: #4A4A4A !important; color: #FFFFFF !important; }
.igp-product-card--esgotado .igp-product-image img { opacity: .55; filter: grayscale(.6); }
.igp-esgotado-aviso {
  margin: 18px 0 14px;
  padding: 14px 16px;
  border: 1px solid #D9D9D9;
  background: #F6F6F6;
  border-radius: 3px;
}
.igp-esgotado-titulo {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #333333;
}
.igp-esgotado-texto { margin: 0; font-size: 13px; line-height: 1.55; color: #4A4A4A; }
.igp-product-stock::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.igp-product-buy {
  align-self: flex-start;
  margin-top: 8px;
  padding: 8px 16px;
  background: #111111;
  border: 1px solid #111111;
  color: #FFFFFF;
  font-size: 12px;
  letter-spacing: .04em;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.igp-product-buy:hover { background: #333333; border-color: #333333; color: #FFF; }

/* botão de encomenda (WhatsApp) — cards sem pronta entrega */
.igp-product-buy--whats {
  background: none;
  border-color: var(--igp-whats);
  color: var(--igp-whats);
}
.igp-product-buy--whats:hover { background: var(--igp-whats); color: #FFF; }

/* grids e carrosséis */
.igp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 1100px) { .igp-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 680px)  { .igp-grid { grid-template-columns: repeat(2, 1fr); } }

.igp-carousel-wrap { position: relative; }
.igp-carousel {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.igp-carousel::-webkit-scrollbar { display: none; }
.igp-carousel .igp-product-card {
  flex: 0 0 calc(25% - 18px);
  scroll-snap-align: start;
}
@media (max-width: 1100px) { .igp-carousel .igp-product-card { flex-basis: calc(33.33% - 16px); } }
@media (max-width: 680px)  { .igp-carousel .igp-product-card { flex-basis: calc(50% - 12px); } }

.igp-carousel-nav {
  position: absolute;
  top: 40%;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--igp-bg-alt);
  border: 1px solid var(--igp-ink);
  color: var(--igp-ink);
  font-size: 20px;
  line-height: 1;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 3;
}
.igp-carousel-nav:hover { background: var(--igp-ink); color: #FFF; border-color: var(--igp-ink); }
.igp-carousel-nav--prev { left: -58px; }
.igp-carousel-nav--next { right: -58px; }
@media (max-width: 1100px) {
  .igp-carousel-nav--prev { left: -8px; }
  .igp-carousel-nav--next { right: -8px; }
}

/* =========================================================
   8. MARQUEE (marcas que trabalhamos)
   ========================================================= */
.igp-marquee-section {
  padding: 40px 0;
  background: #FFFFFF;
  border-bottom: 1px solid var(--igp-cream-line);
  border-top: 1px solid var(--igp-cream-line);
  border-bottom: 1px solid var(--igp-cream-line);
  overflow: hidden;
}
.igp-marquee-title {
  text-align: center;
  font-size: 11px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #8A6B2E;
  margin-bottom: 22px;
}
.igp-marquee-track {
  display: flex;
  gap: 80px;
  align-items: center;
  width: max-content;
  will-change: transform;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.igp-marquee-track.is-arrastando { cursor: grabbing; }
.igp-marquee-track img {
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}
.igp-marquee-track img {
  width: 120px;
  height: 72px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .78;
  flex: none;
}
@media (max-width: 860px) {
  .igp-marquee-track { gap: 52px; }
  .igp-marquee-track img { width: 92px; height: 54px; }
}
/* marca estreita e alta: cresce dentro do mesmo quadro para igualar o peso visual */
.igp-marquee-track img[alt="lattafa"] { transform: scale(1.38); }
@keyframes igp-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* =========================================================
   9. "ENCONTRE SEU PRÓXIMO PERFUME" (abas)
   ========================================================= */
.igp-finder {
  background: var(--igp-bg);
  padding: 70px 0;
  text-align: center;
}
.igp-finder-logo { display: block; height: 86px; width: auto; margin: 0 auto; }
.igp-finder-title { font-size: clamp(26px, 3.4vw, 34px); margin-top: 24px; color: var(--igp-ink); }

.igp-tabs {
  margin-top: 40px;
  background: var(--igp-bg-alt);
  border: 1px solid var(--igp-cream-line);
  text-align: left;
}
.igp-tabs-nav {
  display: flex;
  border-bottom: 1px solid var(--igp-cream-line);
}
.igp-tab-btn {
  flex: 1;
  padding: 18px;
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--igp-muted);
  cursor: pointer;
  text-align: center;
}
.igp-tab-btn.is-active { color: var(--igp-ink); border-bottom-color: var(--igp-ink); }
.igp-tabs-body { padding: 32px; }
.igp-tab-panel { display: none; }
.igp-tab-panel.is-active { display: block; }
.igp-tab-empty {
  text-align: center;
  padding: 50px 0;
  color: var(--igp-muted);
  font-style: italic;
}
.igp-tab-viewall {
  display: block;
  width: max-content;
  margin: 32px auto 0;
  padding: 14px 34px;
  border: 1px solid var(--igp-ink);
  color: var(--igp-ink);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 999px;
}
.igp-tab-viewall:hover { background: var(--igp-ink); color: #FFF; }

/* =========================================================
   10. COMPRE POR ENCOMENDA
   ========================================================= */
.igp-order-section {
  background: var(--igp-wine);
  color: #F2E7D8;
  padding: 70px 0 0;
}
.igp-order-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 60px;
  padding-bottom: 60px;
}
@media (max-width: 860px) { .igp-order-grid { grid-template-columns: 1fr; gap: 36px; } }
.igp-order-title { color: #FFFFFF; font-size: clamp(28px, 3.4vw, 38px); }
.igp-order-text { margin-top: 16px; color: rgba(242,231,216,.9); max-width: 40ch; }
.igp-order-cta {
  margin-top: 26px;
  display: inline-block;
  padding: 15px 30px;
  background: var(--igp-gold-light);
  color: var(--igp-wine-dark);
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 999px;
}
.igp-order-cta:hover { background: #FFFFFF; color: var(--igp-wine); }
.igp-order-steps { display: flex; flex-direction: column; gap: 22px; }
.igp-order-step-num {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--igp-gold-light);
}
.igp-order-step-text { margin-top: 6px; color: #F2E7D8; }

.igp-trust-strip {
  border-top: 1px solid rgba(242,231,216,.2);
  padding: 26px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  font-size: 13px;
}
@media (max-width: 720px) { .igp-trust-strip { grid-template-columns: 1fr; } }
.igp-trust-strip strong { display: block; color: #FFFFFF; margin-bottom: 4px; }
.igp-trust-strip span { color: rgba(242,231,216,.85); }

/* =========================================================
   11. PÁGINA DE LISTAGEM (categoria)
   ========================================================= */
.igp-archive-header { padding: 40px 0 20px; }
.igp-archive-title { font-size: clamp(30px, 4vw, 42px); }
.igp-archive-desc { color: var(--igp-muted); margin-top: 8px; max-width: 60ch; }
.igp-archive-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid var(--igp-cream-line);
  border-bottom: 1px solid var(--igp-cream-line);
  font-size: 13px;
}
.igp-archive-count { margin-right: auto; color: var(--igp-muted); }
.igp-filter-btn, .igp-sort-select {
  border: 1px solid var(--igp-cream-line);
  background: var(--igp-bg-alt);
  color: var(--igp-ink);
  padding: 10px 16px;
  font-size: 13px;
  cursor: pointer;
}
.igp-filter-btn:hover { border-color: var(--igp-wine); color: var(--igp-wine); }

/* painel de filtros (Marca / Preço / Disponibilidade) */
.igp-filter-panel {
  background: var(--igp-bg-alt);
  border: 1px solid var(--igp-cream-line);
  border-top: 0;
  padding: 28px clamp(18px, 3vw, 32px);
}
.igp-filter-panel[hidden] { display: none; }
.igp-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
@media (max-width: 860px) { .igp-filter-grid { grid-template-columns: 1fr; gap: 24px; } }
.igp-filter-legend {
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--igp-muted);
  margin-bottom: 14px;
}
.igp-filter-options { display: flex; flex-direction: column; gap: 10px; }
.igp-filter-option {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  cursor: pointer;
}
.igp-filter-option input { accent-color: var(--igp-wine); width: 16px; height: 16px; }
.igp-filter-price { display: flex; align-items: center; gap: 10px; }
.igp-filter-price input {
  width: 110px;
  padding: 10px 12px;
  border: 1px solid var(--igp-cream-line);
  background: var(--igp-bg);
  font-family: var(--igp-font-body);
  font-size: 14px;
}
.igp-filter-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--igp-cream-line);
}
.igp-filter-apply {
  padding: 12px 30px;
  background: var(--igp-wine);
  color: #FFF;
  border: 0;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.igp-filter-apply:hover { background: var(--igp-wine-dark); }
.igp-filter-clear { font-size: 13px; color: var(--igp-muted); }
.igp-filter-clear:hover { color: var(--igp-wine); }

/* paginação */
.igp-pagination .page-numbers {
  display: inline-block;
  min-width: 38px;
  padding: 9px 10px;
  margin: 0 3px;
  border: 1px solid var(--igp-cream-line);
  font-size: 13px;
}
.igp-pagination .page-numbers.current {
  background: var(--igp-wine);
  border-color: var(--igp-wine);
  color: #FFF;
}

/* =========================================================
   11b. DIFERENCIAIS
   ========================================================= */
.igp-benefits {
  background: var(--igp-bg);
  border-top: 1px solid var(--igp-cream-line);
  padding: 52px 0;
}
.igp-benefits-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.igp-benefit {
  text-align: center;
  padding: 0 clamp(12px, 2vw, 28px);
  border-left: 1px solid var(--igp-cream-line);
}
.igp-benefit:first-child { border-left: 0; }
.igp-benefit svg {
  width: 44px;
  height: 44px;
  color: var(--igp-ink);
  margin: 0 auto 18px;
  display: block;
}
.igp-benefit-titulo {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--igp-ink);
  margin-bottom: 10px;
}
.igp-benefit-texto {
  font-size: 13px;
  line-height: 1.6;
  color: #4A4A4A;
  max-width: 24ch;
  margin: 0 auto;
}
@media (max-width: 1000px) {
  .igp-benefits-grid { grid-template-columns: repeat(2, 1fr); gap: 36px 0; }
  .igp-benefit:nth-child(odd) { border-left: 0; }
}
@media (max-width: 560px) {
  .igp-benefits-grid { grid-template-columns: 1fr; gap: 34px; }
  .igp-benefit { border-left: 0; }
}

/* =========================================================
   12. FOOTER
   ========================================================= */
.igp-footer {
  background: var(--igp-bg);
  color: var(--igp-ink);
  border-top: 1px solid var(--igp-cream-line);
  font-size: 14px;
}
.igp-footer a { color: var(--igp-ink); }
.igp-footer a:hover { color: var(--igp-wine); }

.igp-footer-grid {
  display: grid;
  grid-template-columns: 1.15fr .8fr 1.1fr 1fr;
  gap: clamp(30px, 5vw, 80px);
  padding-top: 56px;
  padding-bottom: 48px;
}
@media (max-width: 1000px) {
  .igp-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .igp-footer-grid { grid-template-columns: 1fr; gap: 40px; padding-top: 40px; }
}
.igp-footer-logo { display: block; height: 64px; width: auto; margin-bottom: 20px; }
.igp-footer-sobre { max-width: 42ch; line-height: 1.7; color: var(--igp-muted); }

.igp-footer-titulo {
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--igp-gold);
  margin-bottom: 20px;
}
.igp-footer-titulo--sec { margin-top: 34px; }
.igp-footer-news-texto { color: var(--igp-muted); line-height: 1.7; margin-bottom: 22px; max-width: 34ch; }
.igp-footer-news { display: flex; flex-direction: column; gap: 16px; }
.igp-footer-news input {
  width: 100%;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--igp-cream-line);
  padding: 10px 0;
  font-family: inherit;
  font-size: 14px;
  color: var(--igp-ink);
}
.igp-footer-news input::placeholder { color: var(--igp-muted); }
.igp-footer-news input:focus { outline: none; border-bottom-color: var(--igp-wine); }
.igp-footer-news-campo { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-footer-news-campo input { border-bottom: 0; }
.igp-footer-news-campo:focus-within { border-bottom-color: var(--igp-wine); }
.igp-footer-news-campo button {
  background: none;
  border: 0;
  padding: 6px;
  cursor: pointer;
  color: var(--igp-wine);
}

.igp-footer-links,
.igp-footer-contato {
  display: flex;
  flex-direction: column;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.igp-footer-contato a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.igp-footer-contato svg { color: var(--igp-wine); flex: none; }

.igp-footer-social {
  display: flex;
  gap: 14px;
}
.igp-footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--igp-cream-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--igp-wine);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.igp-footer-social a:hover {
  background: var(--igp-wine);
  border-color: var(--igp-wine);
  color: #FDF8F1;
}

.igp-footer-selos {
  border-top: 1px solid var(--igp-cream-line);
  padding: 26px 0;
}
.igp-footer-selos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 4vw, 56px);
}
.igp-selo {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.igp-selo svg { width: 30px; height: 30px; color: var(--igp-wine); flex: none; }
.igp-selo strong {
  display: block;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--igp-ink);
  margin-bottom: 5px;
}
.igp-selo span { font-size: 13px; line-height: 1.55; color: var(--igp-muted); }
@media (max-width: 760px) {
  .igp-footer-selos-grid { grid-template-columns: 1fr; gap: 20px; }
}

.igp-footer-base {
  border-top: 1px solid var(--igp-cream-line);
  padding: 22px 0;
  font-size: 13px;
  color: var(--igp-muted);
  text-align: center;
}

.igp-whatsapp-float {
  position: fixed;
  right: 22px; bottom: 22px;
  z-index: 50;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  transition: opacity .25s ease, visibility .25s ease;
}
body.igp-painel-aberto .igp-whatsapp-float { opacity: 0; visibility: hidden; }

/* respeita quem pediu menos animação no sistema */
@media (prefers-reduced-motion: reduce) {
  .igp-marquee-track { animation: none; }
  .igp-hero-slide { transition: none; }
}


/* =========================================================
   13. RODAPÉ ESCURO + SACOLA NO HEADER CLARO
   ========================================================= */
.igp-footer { background: var(--igp-wine-dark); color: #FFFFFF; }
.igp-footer a { color: #FFFFFF; }
.igp-footer a:hover { color: var(--igp-gold); }
.igp-footer-sobre,
.igp-footer-news-texto { color: rgba(255,255,255,.72); }
.igp-footer-titulo { color: var(--igp-gold); }
.igp-footer-contato svg { color: var(--igp-gold); }

.igp-footer-news input {
  color: #FFFFFF;
  border-bottom-color: rgba(255,255,255,.22);
}
.igp-footer-news input::placeholder { color: rgba(255,255,255,.55); }
.igp-footer-news input:focus { border-bottom-color: var(--igp-gold); }
.igp-footer-news-campo { border-bottom-color: rgba(255,255,255,.22); }
.igp-footer-news-campo:focus-within { border-bottom-color: var(--igp-gold); }
.igp-footer-news-campo button { color: #FFFFFF; }

.igp-footer-social a { border-color: rgba(255,255,255,.28); color: #FFFFFF; }
.igp-footer-social a:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: var(--igp-wine-dark);
}

.igp-footer-selos { border-top-color: rgba(255,255,255,.14); }
.igp-selo svg { color: var(--igp-gold); }
.igp-selo strong { color: #FFFFFF; }
.igp-selo span { color: rgba(255,255,255,.72); }

.igp-footer-base {
  border-top-color: rgba(255,255,255,.14);
  color: rgba(255,255,255,.6);
}

/* sacola: contorno no header escuro, preenchida no header claro */
.igp-bag-line, .igp-bag-fill { display: block; }
.igp-header--transparent .igp-bag-fill,
.igp-header--solid .igp-bag-line { display: none; }

/* setas do carrossel dentro do bloco de abas */
.igp-tabs .igp-carousel-nav--prev { left: -17px; }
.igp-tabs .igp-carousel-nav--next { right: -17px; }

/* produto sob encomenda sem preço definido */
.igp-product-price-consulta {
  font-size: 14px;
  font-weight: 600;
  color: var(--igp-ink);
}


/* =========================================================
   CORREÇÃO DE HEADER E LOGO (v4)
   Regras finais: vencem qualquer definição anterior.
   ========================================================= */
.igp-logo-img {
  height: 84px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 84px !important;
}
@media (max-width: 860px) {
  .igp-logo-img { height: 52px !important; max-height: 52px !important; }
}
.igp-logo-stack {
  position: relative;
  display: block;
  line-height: 0;
}
/* o header não deve crescer além da própria logo */
.igp-header {
  padding: 12px 22px !important;
  min-height: 0;
}
.igp-header-nav-left,
.igp-header-nav-right { align-self: center; }


/* =========================================================
   ESTILO DAS PÁGINAS WOOCOMMERCE (v1)
   Ajusta tipografia, cores e espaçamento das páginas internas
   (checkout, carrinho, conta, produto, loja, busca, obrigado,
   páginas de texto) para casar com o restante do site.
   Não altera layout nem estrutura.
   ========================================================= */

/* ---- moldura comum das páginas internas ---- */
.woocommerce-page .site-main,
.woocommerce .site-main,
.igp-page-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 54px clamp(20px, 3.5vw, 66px) 92px;
}
.woocommerce-page h1.entry-title,
.woocommerce h1.entry-title,
.igp-page-title {
  font-family: var(--igp-font-display);
  font-weight: 600;
  color: var(--igp-wine);
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.1;
  margin: 0 0 30px;
}
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce h2,
.woocommerce h3 {
  font-family: var(--igp-font-display);
  color: var(--igp-wine);
  font-weight: 600;
}
.woocommerce-breadcrumb {
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--igp-muted);
  margin-bottom: 26px;
}
.woocommerce-breadcrumb a { color: var(--igp-muted); }
.woocommerce-breadcrumb a:hover { color: var(--igp-gold); }

/* ---- botões ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
  background: #111111;
  border: 1px solid #111111;
  color: #FFFFFF;
  font-family: var(--igp-font-body);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 3px;
  padding: 13px 26px;
  line-height: 1.2;
  transition: background-color .18s linear, border-color .18s linear, color .18s linear;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover {
  background: var(--igp-wine);
  border-color: var(--igp-wine);
  color: #FFFFFF;
}
/* botão secundário (atualizar carrinho, continuar comprando) */
.woocommerce button[name="update_cart"],
.woocommerce a.button.wc-backward {
  background: none;
  border-color: var(--igp-cream-line);
  color: var(--igp-ink);
}
.woocommerce button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover {
  background: none;
  border-color: var(--igp-ink);
  color: var(--igp-ink);
}
.woocommerce #place_order { width: 100%; padding: 16px 26px; font-size: 13px; }

/* ---- formulários ---- */
.woocommerce form .form-row { padding: 0 0 18px; margin: 0; }
.woocommerce form .form-row label,
.woocommerce-page label {
  display: block;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--igp-muted);
  margin-bottom: 7px;
  font-weight: 500;
}
.woocommerce form .form-row label.checkbox,
.woocommerce-page label.checkbox,
.woocommerce form .form-row .woocommerce-form__label-for-checkbox span {
  display: inline;
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
  color: var(--igp-ink);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="number"],
.woocommerce-page textarea,
.woocommerce-page select {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 12px 14px;
  font-family: var(--igp-font-body);
  font-size: 15px;
  color: var(--igp-ink);
  outline: none;
  transition: border-color .18s linear;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page input:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus { border-color: var(--igp-wine); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--igp-badge-red); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--igp-cream-line); }
.woocommerce .required { color: var(--igp-badge-red); text-decoration: none; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 26px;
  margin-bottom: 34px;
}
.woocommerce .quantity input.qty {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 9px 6px;
  font-family: var(--igp-font-body);
}

/* ---- avisos ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce p.no-comments {
  background: #FFFFFF;
  border: 1px solid var(--igp-cream-line);
  border-top: 2px solid var(--igp-wine);
  border-radius: 3px;
  color: var(--igp-ink);
  font-size: 14px;
  padding: 16px 20px 16px 20px;
  margin-bottom: 30px;
  list-style: none;
}
.woocommerce-error { border-top-color: var(--igp-badge-red); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message a.button,
.woocommerce-info a.button { float: right; margin-left: 20px; }

/* ---- tabelas (carrinho, pedido, downloads) ---- */
.woocommerce table.shop_table {
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
  width: 100%;
}
.woocommerce table.shop_table th {
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--igp-muted);
  font-weight: 500;
  border-bottom: 1px solid var(--igp-cream-line);
  padding: 14px 12px;
}
.woocommerce table.shop_table td {
  border-top: 0;
  border-bottom: 1px solid var(--igp-cream-line);
  padding: 20px 12px;
  font-size: 15px;
  color: var(--igp-ink);
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td { border-bottom: 1px solid var(--igp-cream-line); }
.woocommerce table.shop_table .product-name a { color: var(--igp-ink); }
.woocommerce table.shop_table .product-name a:hover { color: var(--igp-wine); }
.woocommerce table.shop_table img { width: 68px; border-radius: 2px; }
.woocommerce a.remove {
  color: var(--igp-muted) !important;
  font-weight: 400;
  line-height: 1;
}
.woocommerce a.remove:hover { color: var(--igp-badge-red) !important; background: none; }

/* ---- preços ---- */
.woocommerce .price,
.woocommerce span.amount,
.woocommerce .woocommerce-Price-amount {
  color: var(--igp-ink);
  font-family: var(--igp-font-body);
  font-weight: 600;
}
.woocommerce del span.amount { color: var(--igp-muted); font-weight: 400; }
.woocommerce ins { text-decoration: none; }

/* ---- checkout ---- */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
  font-size: 22px;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--igp-cream-line);
}
.woocommerce-checkout #order_review_heading { margin-top: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 26px;
  background: #FFFFFF;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td { padding: 13px 0; }
.woocommerce-checkout table.shop_table tfoot tr:last-child th,
.woocommerce-checkout table.shop_table tfoot tr:last-child td {
  font-size: 17px;
  color: var(--igp-wine);
  font-weight: 600;
  border-bottom: 0;
  padding-top: 18px;
}
.woocommerce-checkout #payment {
  background: none;
  border-radius: 0;
  margin-top: 26px;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--igp-cream-line);
  padding: 0 0 18px;
  margin: 0 0 22px;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 11px 0;
  font-size: 15px;
}
.woocommerce-checkout #payment ul.payment_methods label { display: inline; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--igp-ink); }
.woocommerce-checkout #payment div.payment_box {
  background: #FAF8F6;
  border-radius: 3px;
  color: var(--igp-ink);
  font-size: 14px;
  margin: 12px 0 4px;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #FAF8F6; }
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--igp-muted); }
/* destaque do desconto no Pix dentro do resumo */
.woocommerce-checkout table.shop_table .cart-discount th,
.woocommerce-checkout table.shop_table .cart-discount td,
.woocommerce-checkout table.shop_table tr.fee th,
.woocommerce-checkout table.shop_table tr.fee td { color: var(--igp-green); }

/* ---- carrinho ---- */
.woocommerce .cart-collaterals .cart_totals {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 26px;
}
.woocommerce .cart-collaterals .cart_totals h2 {
  font-size: 22px;
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--igp-cream-line);
}
.woocommerce .cart-collaterals .cart_totals table.shop_table th,
.woocommerce .cart-collaterals .cart_totals table.shop_table td { padding: 13px 0; }
.woocommerce .cart-collaterals .cart_totals .order-total th,
.woocommerce .cart-collaterals .cart_totals .order-total td {
  font-size: 17px;
  color: var(--igp-wine);
  border-bottom: 0;
}
.woocommerce .cart .actions .coupon input.input-text { width: 220px; }
.woocommerce ul#shipping_method { font-size: 14px; }
.woocommerce ul#shipping_method li { margin: 0 0 8px; }
.woocommerce .shipping-calculator-button { color: var(--igp-wine); font-size: 13px; }

/* ---- minha conta ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid var(--igp-cream-line); border-radius: 3px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--igp-cream-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 18px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--igp-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #FAF8F6; color: var(--igp-wine); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #111111; color: #FFFFFF; }
.woocommerce-account .woocommerce-MyAccount-content { font-size: 15px; }
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--igp-ink); }
.woocommerce-form-login__rememberme span { text-transform: none; letter-spacing: 0; }
.woocommerce-LostPassword a { font-size: 13px; }

/* ---- página do produto ---- */
.woocommerce div.product .product_title {
  font-family: var(--igp-font-display);
  color: var(--igp-wine);
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.08;
  margin: 0 0 14px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--igp-ink);
  font-size: 26px;
  font-weight: 600;
  margin: 0 0 22px;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #4A423F;
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 26px;
}
.woocommerce div.product form.cart { margin-bottom: 30px; }
.woocommerce div.product .product_meta {
  border-top: 1px solid var(--igp-cream-line);
  padding-top: 18px;
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--igp-muted);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--igp-cream-line);
  padding: 0;
  margin: 0 0 26px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0 30px 0 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 12px 0;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--igp-muted);
  font-weight: 500;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--igp-wine); box-shadow: inset 0 -2px 0 var(--igp-wine); }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 15px; line-height: 1.75; color: #4A423F; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 22px; margin-bottom: 14px; }
.woocommerce span.onsale {
  background: var(--igp-wine);
  color: #FFFFFF;
  border-radius: 2px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  min-height: 0;
  min-width: 0;
  line-height: 1;
  padding: 8px 12px;
}
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
  font-size: 26px;
  margin: 60px 0 26px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--igp-cream-line);
}

/* ---- loja, busca e listagens padrão ---- */
.woocommerce ul.products { gap: 26px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--igp-font-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--igp-ink);
  padding: 12px 0 6px;
}
.woocommerce ul.products li.product .price { color: var(--igp-ink); font-size: 15px; }
.woocommerce ul.products li.product a img { border-radius: 2px; margin-bottom: 0; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--igp-muted);
}
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 6px; display: flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 9px 14px;
  font-size: 13px;
  color: var(--igp-ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #111111;
  border-color: #111111;
  color: #FFFFFF;
}

/* ---- pedido recebido (obrigado) ---- */
.woocommerce .woocommerce-order p.woocommerce-notice--success {
  font-family: var(--igp-font-display);
  font-size: clamp(26px, 3vw, 34px);
  color: var(--igp-wine);
  border: 0;
  padding: 0;
  margin-bottom: 30px;
}
.woocommerce ul.woocommerce-order-overview {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 40px;
  padding: 0;
}
.woocommerce ul.woocommerce-order-overview li {
  border: 0;
  border-right: 1px solid var(--igp-cream-line);
  padding: 20px 24px;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--igp-muted);
  float: none;
  margin: 0;
}
.woocommerce ul.woocommerce-order-overview li:last-child { border-right: 0; }
.woocommerce ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 8px;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--igp-ink);
  font-weight: 600;
}
.woocommerce .woocommerce-order-details h2,
.woocommerce .woocommerce-customer-details h2 {
  font-size: 24px;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--igp-cream-line);
}
.woocommerce .woocommerce-customer-details address {
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 20px 22px;
  font-style: normal;
  font-size: 15px;
  line-height: 1.7;
}

/* ---- páginas de texto (Quem somos, políticas, trocas) ---- */
.igp-page-content,
.woocommerce-page .entry-content,
.page .entry-content {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.8;
  color: #4A423F;
}
.igp-page-content h2,
.page .entry-content h2 { font-size: 27px; margin: 46px 0 14px; }
.igp-page-content h3,
.page .entry-content h3 { font-size: 20px; margin: 34px 0 10px; }
.igp-page-content p,
.page .entry-content p { margin: 0 0 18px; }
.igp-page-content ul,
.page .entry-content ul { list-style: disc; padding-left: 22px; margin: 0 0 18px; }
.igp-page-content li,
.page .entry-content li { margin-bottom: 8px; }
.igp-page-content a,
.page .entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.igp-page-content hr,
.page .entry-content hr { border: 0; border-top: 1px solid var(--igp-cream-line); margin: 40px 0; }

/* ---- responsivo ---- */
@media (max-width: 860px) {
  .woocommerce-page .site-main,
  .woocommerce .site-main,
  .igp-page-main { padding: 34px 20px 70px; }
  .woocommerce-checkout .woocommerce-checkout-review-order,
  .woocommerce .cart-collaterals .cart_totals { padding: 20px; }
  .woocommerce ul.woocommerce-order-overview li { border-right: 0; border-bottom: 1px solid var(--igp-cream-line); width: 100%; }
  .woocommerce .cart .actions .coupon input.input-text { width: 100%; margin-bottom: 10px; }
}

/* listas do WooCommerce sem marcador (não depender do CSS do plugin) */
.woocommerce #payment ul.payment_methods,
.woocommerce #payment ul.payment_methods li,
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account .woocommerce-MyAccount-navigation li,
.woocommerce ul.woocommerce-order-overview,
.woocommerce ul.woocommerce-order-overview li,
.woocommerce ul#shipping_method,
.woocommerce ul#shipping_method li,
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
/* botão de ir ao checkout ocupa a largura do bloco de totais */
.woocommerce .wc-proceed-to-checkout { padding: 18px 0 0; }
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 16px 26px;
  font-size: 13px;
}

/* header sticky abaixo da barra de administração do WordPress */
body.admin-bar-showing .igp-header-wrap { top: 32px; }
/* rodapé: logo um pouco maior */
.igp-footer-logo { height: 84px; width: auto; }
@media screen and (max-width: 782px) {
  body.admin-bar-showing .igp-header-wrap { top: 46px; }
}


/* =========================================================
   CARRINHO LATERAL (v2)
   ========================================================= */
.igp-cart-body { display: flex; flex-direction: column; flex: 1; min-height: 0; position: relative; }
.igp-cart-body.igp-cart-carregando { opacity: .55; pointer-events: none; }

.igp-cart-secao {
  font-size: 12px;
  color: var(--igp-muted);
  margin: 0;
  padding: 16px 22px 12px;
  border-bottom: 1px solid var(--igp-cream-line);
}

/* --- lista de itens --- */
.igp-cart-itens {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.igp-cart-item {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 14px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--igp-cream-line);
}
.igp-cart-item-foto img { width: 74px; height: auto; border-radius: 2px; }
.igp-cart-item-info { display: flex; flex-direction: column; justify-content: space-between; gap: 12px; min-width: 0; }
.igp-cart-item-topo { display: flex; align-items: flex-start; gap: 12px; justify-content: space-between; }
.igp-cart-item-nome {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--igp-ink);
}
.igp-cart-item-nome:hover { color: var(--igp-wine); }
.igp-cart-remover {
  flex: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 12px;
  color: var(--igp-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.igp-cart-remover:hover { color: var(--igp-badge-red); }
.igp-cart-item-base { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.igp-cart-item-preco { font-size: 15px; font-weight: 700; color: var(--igp-ink); white-space: nowrap; }

/* --- seletor de quantidade --- */
.igp-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  height: 34px;
}
.igp-qty-btn {
  width: 32px;
  height: 100%;
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  color: var(--igp-ink);
}
.igp-qty-btn:hover { color: var(--igp-wine); }
.igp-qty-input {
  width: 34px;
  height: 100%;
  border: 0;
  border-left: 1px solid var(--igp-cream-line);
  border-right: 1px solid var(--igp-cream-line);
  text-align: center;
  font-family: var(--igp-font-body);
  font-size: 14px;
  color: var(--igp-ink);
  background: none;
  pointer-events: none;
}

/* --- rodapé com resumo --- */
.igp-cart-resumo {
  flex: none;
  border-top: 1px solid var(--igp-cream-line);
  padding: 16px 22px 22px;
  background: #FFFFFF;
}

.igp-cart-cupom { margin-bottom: 14px; }
.igp-cupom-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 13px;
  color: var(--igp-ink);
  font-family: var(--igp-font-body);
}
.igp-cupom-toggle svg { color: var(--igp-muted); flex: none; }
.igp-cupom-toggle:hover { color: var(--igp-wine); }
.igp-cupom-campo { display: flex; gap: 8px; margin-top: 10px; }
.igp-cupom-input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 9px 11px;
  font-family: var(--igp-font-body);
  font-size: 13px;
  outline: none;
}
.igp-cupom-input:focus { border-color: var(--igp-wine); }
.igp-cupom-aplicar {
  flex: none;
  border: 1px solid #111111;
  background: #111111;
  color: #FFFFFF;
  border-radius: 3px;
  padding: 9px 16px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: var(--igp-font-body);
}
.igp-cupom-aplicar:hover { background: var(--igp-wine); border-color: var(--igp-wine); }
.igp-cupom-lista { margin: 10px 0 0; padding: 0; list-style: none; }
.igp-cupom-lista li { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--igp-green); }
.igp-cupom-remover { background: none; border: 0; padding: 0; cursor: pointer; font-size: 11px; color: var(--igp-muted); text-decoration: underline; }

/* --- cálculo de frete --- */
.igp-cart-cep { margin-bottom: 16px; }
.igp-cep-linha { display: flex; align-items: flex-end; gap: 12px; }
.igp-cep-input {
  flex: 1;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--igp-cream-line);
  border-radius: 0;
  padding: 8px 0;
  font-family: var(--igp-font-body);
  font-size: 13px;
  letter-spacing: .1em;
  color: var(--igp-ink);
  background: none;
  outline: none;
}
.igp-cep-input::placeholder { color: var(--igp-muted); letter-spacing: .14em; }
.igp-cep-input:focus { border-bottom-color: var(--igp-ink); }
.igp-cep-input.igp-cep-erro { border-bottom-color: var(--igp-badge-red); }
.igp-cep-calcular {
  flex: none;
  border: 1px solid #111111;
  background: none;
  color: #111111;
  border-radius: 0;
  padding: 11px 20px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: var(--igp-font-body);
}
.igp-cep-calcular:hover { background: #111111; color: #FFFFFF; }
.igp-cep-ajuda {
  display: inline-block;
  margin-top: 9px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--igp-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.igp-cep-ajuda:hover { color: var(--igp-wine); }

/* --- opções de entrega na sacola --- */
.igp-frete-opcoes { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.igp-frete-opcao { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #E4E4E4; cursor: pointer; font-size: 13px; }
.igp-frete-opcao:has(input:checked) { border-color: #111111; }
.igp-frete-opcao input { margin: 0; accent-color: #111111; }
.igp-frete-nome { flex: 1; }
.igp-frete-valor { font-weight: 600; white-space: nowrap; }
.igp-frete-vazio { margin: 12px 0 0; font-size: 12px; color: var(--igp-muted); }

/* --- linhas de valores --- */
.igp-cart-linhas { margin: 0 0 4px; }
.igp-cart-linha { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 5px 0; }
.igp-cart-linha dt { font-size: 14px; color: var(--igp-muted); margin: 0; }
.igp-cart-linha dt span { font-size: 13px; }
.igp-cart-linha dd { margin: 0; font-size: 14px; color: var(--igp-ink); font-weight: 600; }
.igp-cart-aguardando { color: var(--igp-muted); font-weight: 400; }
.igp-cart-gratis { color: var(--igp-green); }
.igp-cart-linha--desconto dt, .igp-cart-linha--desconto dd { color: var(--igp-green); }

.igp-cart-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--igp-cream-line);
  margin-top: 10px;
  padding-top: 14px;
}
.igp-cart-total-rotulo { font-size: 18px; font-weight: 700; color: var(--igp-ink); }
.igp-cart-total-valor { font-size: 22px; font-weight: 700; color: var(--igp-ink); }
.igp-cart-total-valor .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; }

.igp-cart-pix {
  margin: 4px 0 0;
  text-align: right;
  font-size: 13px;
  color: var(--igp-green);
  font-weight: 600;
}
.igp-cart-pix .woocommerce-Price-amount { color: inherit; font-size: inherit; font-weight: inherit; }

.igp-cart-continuar {
  display: block;
  text-align: center;
  margin: 16px 0 12px;
  font-size: 13px;
  color: var(--igp-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.igp-cart-continuar:hover { color: var(--igp-wine); }

.igp-cart-checkout {
  display: block;
  width: 100%;
  text-align: center;
  background: #111111;
  border: 1px solid #111111;
  color: #FFFFFF;
  padding: 17px 20px;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 0;
  transition: background-color .18s linear, border-color .18s linear;
}
.igp-cart-checkout:hover { background: var(--igp-wine); border-color: var(--igp-wine); color: #FFFFFF; }

.igp-cart-vazio {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 22px;
  color: var(--igp-muted);
  font-size: 15px;
}

/* título do carrinho com contador */
.igp-cart-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--igp-ink);
  margin: 0;
}
.igp-cart-title .igp-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 7px;
  border-radius: 999px;
  background: #111111;
  color: #FFFFFF;
  font-size: 12px;
  letter-spacing: 0;
  font-weight: 600;
  position: static;
}

/* sacola mais larga */
.igp-cart-panel { width: min(520px, 100vw) !important; max-width: 520px !important; }
@media (max-width: 560px) { .igp-cart-panel { width: 100vw !important; max-width: none !important; } }

/* =========================================================
   Sacola v2: fotos maiores, texto compacto, cupom sobreposto
   ========================================================= */
.igp-cart-secao { font-size: 12px; margin: 0 0 4px; }
.igp-cart-item { padding: 14px 0 !important; gap: 14px !important; }
.igp-cart-item-foto { width: 84px !important; flex: 0 0 84px !important; }
.igp-cart-item-foto img { width: 100% !important; height: auto !important; display: block; }
.igp-cart-item-nome { font-size: 14px !important; line-height: 1.3 !important; }
.igp-cart-remover { font-size: 11px !important; }
.igp-cart-item-base { margin-top: 8px !important; }
.igp-cart-item-preco { font-size: 15px !important; }
.igp-qty { height: 30px !important; }

.igp-cart-resumo { padding: 12px 22px 18px !important; position: relative; }
.igp-cart-cupom { margin-bottom: 10px !important; position: static; }
.igp-cupom-toggle { font-size: 13px !important; color: var(--igp-wine) !important; }
.igp-cupom-toggle svg { color: var(--igp-wine) !important; }

/* campo do cupom sobrepõe o resumo, sem empurrar nada */
.igp-cupom-campo {
  position: absolute !important;
  left: 22px;
  right: 22px;
  bottom: calc(100% - 46px);
  z-index: 3;
  margin-top: 0 !important;
  background: #FFFFFF;
  border: 1px solid var(--igp-cream-line);
  border-radius: 3px;
  padding: 10px;
  box-shadow: 0 10px 28px rgba(3,2,1,.14);
}
.igp-cupom-campo[hidden] { display: none !important; }
.igp-cupom-input::placeholder { color: var(--igp-wine); letter-spacing: .06em; }

.igp-cart-linha { padding: 3px 0 !important; }
.igp-cart-linha dt, .igp-cart-linha dd { font-size: 13px !important; }
.igp-cart-total { padding: 10px 0 2px !important; }
.igp-cart-pix { font-size: 13px !important; margin: 2px 0 0 !important; }
.igp-cart-continuar { margin: 10px 0 !important; }

/* header: a logo não pode ser cortada pela faixa */
.igp-header { min-height: 112px; overflow: visible; }
.igp-header-wrap { overflow: visible; }
@media (max-width: 860px) { .igp-header { min-height: 76px; } }

/* =========================================================
   Ajustes v3: header, contador da sacola, cupom
   ========================================================= */
/* faixa do header com folga para a logo inteira */
.igp-header { min-height: 108px !important; overflow: visible !important; align-items: center; }
.igp-header-wrap { overflow: visible !important; }
.igp-logo-img { height: 72px !important; max-height: 72px !important; }
.igp-logo, .igp-logo-stack { overflow: visible; }
@media (max-width: 860px) {
  .igp-header { min-height: 74px !important; }
  .igp-logo-img { height: 48px !important; max-height: 48px !important; }
}

/* contador de itens sempre visível no ícone da sacola */
#igp-cart-toggle { position: relative; }
#igp-cart-toggle .igp-cart-count {
  position: absolute;
  right: -7px;
  top: -6px;
  bottom: auto;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 10px;
  background: #111111;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  border: 1.5px solid #FFFFFF;
  box-sizing: content-box;
}
.igp-header--transparent #igp-cart-toggle .igp-cart-count { background: #FFFFFF; color: #111111; border-color: #111111; }
.igp-cart-count--zero { display: inline-flex !important; } /* 0 aparece sempre */

/* cupom: abre acima do resumo, alinhado com a aba, e o botão continua clicável */
.igp-cupom-campo {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 100% !important;
  z-index: 3;
  display: flex;
  gap: 8px;
  margin: 0 !important;
  padding: 12px 22px !important;
  background: #FFFFFF;
  border: 0 !important;
  border-top: 1px solid var(--igp-cream-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 -12px 26px rgba(3,2,1,.10);
}

/* =========================================================
   Ajustes v4: barra admin, tipografia da sacola, cores
   ========================================================= */
/* a classe do WordPress é "admin-bar" — corrige a logo cortada */
body.admin-bar .igp-header-wrap { top: 32px !important; }
@media screen and (max-width: 782px) {
  body.admin-bar .igp-header-wrap { top: 46px !important; }
}

/* textos da sacola um pouco maiores */
.igp-cart-secao { font-size: 13px !important; }
.igp-cart-item-nome { font-size: 15.5px !important; line-height: 1.32 !important; }
.igp-cart-remover { font-size: 12.5px !important; }
.igp-cart-item-preco { font-size: 16px !important; }
.igp-cupom-toggle { font-size: 14px !important; }
.igp-cart-linha dt, .igp-cart-linha dd { font-size: 14px !important; }

/* sem dourado/vermelho na sacola: cinza discreto no estilo do site */
.igp-cart-remover { color: var(--igp-muted) !important; text-decoration: underline; text-underline-offset: 3px; }
.igp-cart-remover:hover { color: var(--igp-ink) !important; }
.igp-cupom-toggle, .igp-cupom-toggle svg { color: var(--igp-muted) !important; }
.igp-cupom-toggle:hover, .igp-cupom-toggle:hover svg { color: var(--igp-ink) !important; }
.igp-cupom-input::placeholder { color: var(--igp-muted) !important; letter-spacing: .06em; }
.igp-cupom-input:focus { border-color: var(--igp-ink) !important; }
.igp-cart-aguardando { color: var(--igp-muted) !important; }

/* =========================================================
   Ajustes v5: respiro no topo, hierarquia de cinzas, hovers
   ========================================================= */
.igp-cart-head { padding-top: 26px !important; padding-bottom: 18px !important; align-items: center; }
.igp-cart-x { margin-top: 2px; }

/* textos secundários em cinza claro, sem competir com o preto */
.igp-cart-secao,
.igp-cart-remover,
.igp-cupom-toggle,
.igp-cupom-toggle svg,
.igp-cart-linha dt,
.igp-cart-linha dt span,
.igp-cart-aguardando { color: #9A948D !important; }
.igp-cart-remover:hover,
.igp-cupom-toggle:hover,
.igp-cupom-toggle:hover svg { color: #55504B !important; }

/* hover dos botões: preto/grafite, sem vermelho */
.igp-cupom-aplicar:hover { background: #3A3633 !important; border-color: #3A3633 !important; color: #FFFFFF !important; }
.igp-cart-checkout:hover { background: #3A3633 !important; border-color: #3A3633 !important; color: #FFFFFF !important; }

/* =========================================================
   Ajustes v6: menu lateral, barra de rolagem, cupom
   ========================================================= */
/* menu lateral: respiro no topo e abaixo da barra de administração */
.igp-menu-panel { padding-top: 30px !important; }
body.admin-bar .igp-menu-panel,
body.admin-bar .igp-cart-panel { top: 32px !important; }
@media screen and (max-width: 782px) {
  body.admin-bar .igp-menu-panel,
  body.admin-bar .igp-cart-panel { top: 46px !important; }
}
.igp-menu-close { margin-bottom: 8px; }

/* barra de rolagem longe do "Remover" */
.igp-cart-itens { padding-right: 16px !important; }
.igp-cart-body { scrollbar-gutter: stable; }

.igp-cart-secao { font-size: 14.5px !important; letter-spacing: .02em; }

/* campo do cupom: texto e placeholder em cinza claro */
.igp-cupom-input { color: #55504B !important; }
.igp-cupom-input::placeholder { color: #B3ADA6 !important; }
.igp-cupom-input { border-color: #DCD7D1 !important; }

/* =========================================================
   Ajustes v7: 4 itens visíveis, resumo mais baixo
   ========================================================= */
.igp-cart-secao { display: none !important; }
.igp-cart-item { padding: 12px 0 !important; }
.igp-cart-item-foto { width: 74px !important; flex: 0 0 74px !important; }
.igp-cart-item-base { margin-top: 6px !important; }
.igp-qty { height: 28px !important; }
.igp-cart-resumo { padding: 16px 22px 20px !important; }
.igp-cart-cupom { margin-bottom: 12px !important; }
.igp-cart-linha { padding: 4px 0 !important; }

/* =========================================================
   Ajustes v8: volta "Itens na sacola", topo mais alto, bolinha menor
   ========================================================= */
.igp-cart-secao { display: block !important; }
.igp-cart-head { padding-top: 18px !important; padding-bottom: 14px !important; }

/* contador: canto inferior direito do ícone e um pouco menor */
#igp-cart-toggle .igp-cart-count {
  top: auto !important;
  bottom: -5px !important;
  right: -6px !important;
  min-width: 15px !important;
  height: 15px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  font-size: 9.5px !important;
  border-width: 1.5px !important;
}

/* =========================================================
   Ajustes v9: resumo compacto para caber 5 itens
   ========================================================= */
.igp-cart-resumo { padding: 12px 22px 14px !important; }
.igp-cart-cupom { margin-bottom: 8px !important; }
.igp-cupom-toggle { font-size: 13px !important; }
.igp-cart-linha { padding: 2px 0 !important; }
.igp-cart-linha dt, .igp-cart-linha dd { font-size: 13px !important; }
.igp-cart-linhas { margin: 0 !important; }
.igp-cart-total { padding: 8px 0 0 !important; margin-top: 8px !important; }
.igp-cart-total-rotulo { font-size: 15px !important; }
.igp-cart-total-valor { font-size: 21px !important; }
.igp-cart-pix { font-size: 12.5px !important; margin: 1px 0 0 !important; }
.igp-cart-continuar { margin: 8px 0 !important; font-size: 12px !important; }
.igp-cart-checkout { padding: 15px 0 !important; font-size: 12.5px !important; }

/* =========================================================
   Ajustes v10: barra no canto, stepper menor, fontes de volta, topo mais justo
   ========================================================= */
/* barra de rolagem encostada na borda da aba */
.igp-cart-itens { padding-right: 0 !important; }
.igp-cart-body { padding-right: 0 !important; }
.igp-cart-item { padding-right: 14px !important; }
.igp-cart-secao { padding-right: 14px !important; }

/* stepper menor */
.igp-qty { height: 26px !important; }
.igp-qty-btn { width: 24px !important; font-size: 13px !important; }
.igp-qty-input { width: 28px !important; font-size: 13px !important; }

/* fontes do resumo de volta ao tamanho anterior */
.igp-cupom-toggle { font-size: 14px !important; }
.igp-cart-linha dt, .igp-cart-linha dd { font-size: 14px !important; }
.igp-cart-total-rotulo { font-size: 17px !important; }
.igp-cart-total-valor { font-size: 24px !important; }
.igp-cart-pix { font-size: 13px !important; }
.igp-cart-continuar { font-size: 13px !important; }
.igp-cart-checkout { font-size: 13.5px !important; }

/* cabeçalho e "Itens na sacola" mais no alto */
.igp-cart-head { padding-top: 12px !important; padding-bottom: 10px !important; }
.igp-cart-secao { margin: 8px 0 2px !important; }

/* =========================================================
   Ajustes v11: barra de rolagem colada na borda da aba
   ========================================================= */
.igp-cart-body { padding-left: 0 !important; padding-right: 0 !important; }
.igp-cart-secao,
.igp-cart-itens,
.igp-cart-vazio { padding-left: 22px !important; padding-right: 10px !important; }
.igp-cart-item { padding-right: 0 !important; }

/* =========================================================
   Ajustes v12: aba sem recuo (barra colada), Pix verde, stepper
   ========================================================= */
.igp-cart-panel { padding: 0 !important; overflow: hidden !important; }
.igp-cart-head { padding: 18px 22px 12px !important; }
.igp-cart-secao { padding: 14px 22px 10px !important; }
.igp-cart-itens { padding: 0 !important; }
.igp-cart-item { padding: 12px 22px !important; }
.igp-cart-resumo { padding: 12px 22px 18px !important; }
.igp-cart-vazio { padding: 24px 22px !important; }

/* valor no Pix inteiro em verde, como nos cards */
.igp-cart-pix,
.igp-cart-pix * { color: var(--igp-green) !important; }

/* número da quantidade visível */
.igp-qty-input { width: 32px !important; color: var(--igp-ink) !important; font-size: 13px !important; opacity: 1 !important; }

/* =========================================================
   Ajustes v13: menos espaço no topo da sacola
   ========================================================= */
.igp-cart-head { padding: 14px 22px 10px !important; }
.igp-cart-secao { padding: 8px 22px 6px !important; margin: 0 !important; }
.igp-cart-item { padding: 10px 22px !important; }
.igp-cart-item-info { gap: 6px !important; }

/* =========================================================
   Ajustes v14: ícones dos diferenciais em dourado
   ========================================================= */
.igp-benefit svg { color: var(--igp-gold) !important; }
.igp-benefit svg [stroke]:not([stroke="none"]) { stroke: var(--igp-gold) !important; }
.igp-benefit svg [fill="currentColor"] { fill: var(--igp-gold) !important; }
.igp-benefit svg [fill="var(--igp-bg)"] { fill: var(--igp-bg) !important; }

/* traço um pouco mais grosso: mesmo dourado, peso visual parecido com o rodapé */
.igp-benefit svg [stroke]:not([stroke="none"]) { stroke-width: 1.7 !important; }

/* =========================================================
   Ajustes v15: faixa de diferenciais na largura do site
   ========================================================= */

.igp-benefit-titulo { white-space: nowrap; }
.igp-benefit-texto { max-width: 26ch !important; }
.igp-benefit { padding: 0 clamp(16px, 2.4vw, 40px) !important; }
.igp-benefit-texto { max-width: 30ch; margin-left: auto; margin-right: auto; }



/* ===== Compra rápida: sacola no card ===== */
.igp-product-media { position: relative; }
.igp-quick-btn {
  position: absolute; right: 6px; bottom: 6px; z-index: 2;
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #FFFFFF; color: #111111; border: 1px solid #111111; cursor: pointer; padding: 0;
  opacity: 0; transform: translateY(6px); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease;
}
.igp-quick-btn svg { width: 14px; height: 14px; }
.igp-product-card:hover .igp-quick-btn,
.igp-quick-btn:focus-visible { opacity: 1; transform: none; pointer-events: auto; }
.igp-quick-btn:hover { background: #111111; color: #FFFFFF; }
@media (hover: none) { .igp-quick-btn { opacity: 1; transform: none; pointer-events: auto; } }

/* janela no centro */
html.igp-qv-aberta { overflow: hidden; }
.igp-qv[hidden] { display: none; }
.igp-qv {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(17,17,17,.55);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.igp-qv-caixa {
  position: relative; width: 100%; max-width: 980px; max-height: calc(100vh - 40px); overflow: auto;
  background: #FBF8F4; padding: 16px;
}
.igp-qv-fechar {
  position: absolute; top: 8px; right: 10px; z-index: 1;
  width: 36px; height: 36px; border: 0; background: transparent; cursor: pointer;
  font-size: 26px; line-height: 1; color: #111111;
}
.igp-qv-conteudo { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
.igp-qv-carregando { grid-column: 1 / -1; padding: 60px 0; text-align: center; color: var(--igp-muted); }
.igp-qv-foto { background: #FFFFFF; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.igp-qv-foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.igp-qv-info { display: flex; flex-direction: column; gap: 8px; padding: 20px 20px 20px 0; }
.igp-qv-nome { margin: 0; font-size: 22px; font-weight: 400; padding-right: 30px; }
.igp-qv-marca { margin: 0 0 8px; color: var(--igp-muted); }
.igp-qv-antigo { color: var(--igp-muted); font-size: 13px; }
.igp-qv-pix { margin: 0; font-size: 20px; font-weight: 600; color: #B8864B; }
.igp-qv-parc { margin: 0; font-size: 13px; }
.igp-qv-variacoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.igp-qv-var { padding: 10px 14px; border: 1px solid #111111; background: transparent; cursor: pointer; font: inherit; font-size: 13px; }
.igp-qv-var.is-active { background: #111111; color: #FFFFFF; }
.igp-qv-acoes { display: flex; gap: 14px; margin-top: 24px; }
.igp-qv-qtd { display: flex; align-items: stretch; border: 1px solid #D9D2C8; }
.igp-qv-qtd button { width: 38px; border: 0; background: transparent; cursor: pointer; font-size: 16px; }
.igp-qv-input { width: 36px; border: 0; background: transparent; text-align: center; font: inherit; -moz-appearance: textfield; }
.igp-qv-input::-webkit-inner-spin-button, .igp-qv-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.igp-qv-comprar {
  flex: 1; min-height: 48px; display: flex; align-items: center; justify-content: center;
  background: #111111; color: #FFFFFF; border: 0; cursor: pointer; font: inherit; font-size: 15px; text-decoration: none;
}
.igp-qv-comprar:hover { color: #FFFFFF; background: #333333; }
.igp-qv-comprar[disabled] { opacity: .6; cursor: default; }
.igp-qv-comprar--whats { margin-top: 24px; flex: none; }
.igp-qv-detalhes { margin-top: 12px; font-size: 13px; color: #111111; text-decoration: underline; }
@media (max-width: 720px) {
  .igp-qv-conteudo { grid-template-columns: 1fr; gap: 12px; }
  .igp-qv-info { padding: 0 4px 8px; }
}

/* aviso "adicionado à sacola" */
.igp-toast {
  position: fixed; top: 96px; right: 20px; z-index: 10001;
  width: min(340px, calc(100vw - 32px));
  display: flex; align-items: center; gap: 14px; padding: 14px 40px 14px 14px;
  background: #FFFFFF; border: 1px solid #ECECEC; border-top: 2px solid #111111;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
  opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .25s ease, transform .25s ease;
}
.admin-bar .igp-toast { top: 128px; }
.igp-toast.is-visivel { opacity: 1; transform: none; pointer-events: auto; }
.igp-toast img { width: 56px; height: 56px; object-fit: contain; flex: none; background: #F4F4F4; }
.igp-toast-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.igp-toast-texto p { margin: 0; }
.igp-toast-ok { order: -1; display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #1E8E4E; }
.igp-toast-ok::before { content: "✓"; font-size: 12px; }
.igp-toast-nome { font-size: 14px; color: #111111; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.igp-toast-preco { font-size: 12px; color: var(--igp-muted); }
.igp-toast-ver { margin-top: 4px; font-size: 12px; color: #111111; text-decoration: underline; }
.igp-toast-fechar { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border: 0; background: transparent; cursor: pointer; font-size: 20px; line-height: 1; color: #111111; }
@media (max-width: 600px) { .igp-toast { top: 76px; right: 16px; } }


/* ===== Página do produto ===== */
.igp-pdp { padding-top: 24px; padding-bottom: 48px; }
.igp-pdp-migalhas { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: var(--igp-muted); margin-bottom: 20px; }
.igp-pdp-migalhas a { color: var(--igp-muted); text-decoration: none; }
.igp-pdp-migalhas a:hover { color: var(--igp-ink); }
.igp-pdp-migalhas span:last-child { color: var(--igp-ink); }
.igp-pdp-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.igp-pdp-galeria { display: flex; gap: 14px; position: sticky; top: calc(var(--igp-header-h) + 16px); }
.igp-pdp-miniaturas { display: flex; flex-direction: column; gap: 10px; width: 76px; flex: none; }
.igp-pdp-mini { padding: 0; border: 1px solid transparent; background: #F4F4F4; cursor: pointer; aspect-ratio: 1 / 1; }
.igp-pdp-mini.is-active { border-color: var(--igp-ink); }
.igp-pdp-mini img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
.igp-pdp-foto { flex: 1; min-width: 0; background: #F4F4F4; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.igp-pdp-foto img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.igp-pdp-info { display: flex; flex-direction: column; }
.igp-pdp-nome { margin: 0; font-family: var(--igp-font-body); font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; line-height: 1.2; color: var(--igp-ink); text-wrap: pretty; }
.igp-pdp-marca { margin: 6px 0 0; font-size: 15px; color: var(--igp-muted); }
.igp-pdp-precos { margin-top: 18px; display: flex; flex-direction: column; gap: 4px; }
.igp-pdp-precos p { margin: 0; }
.igp-pdp-preco-linha { display: flex; align-items: baseline; gap: 8px; }
.igp-pdp-preco { font-size: 22px; font-weight: 600; color: var(--igp-ink); }
.igp-pdp-off { font-size: 12px; font-weight: 600; color: var(--igp-ink); }
.igp-pdp-antigo { font-size: 13px; color: var(--igp-muted); }
.igp-pdp-pix { font-size: 20px; font-weight: 600; color: var(--igp-green); }
.igp-pdp-pix span { font-size: 14px; }
.igp-pdp-parc { font-size: 13px; color: var(--igp-ink); margin-top: 4px !important; }
.igp-pdp-detalhes { margin-top: 6px; font-size: 13px; }
.igp-pdp-detalhes summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; color: var(--igp-ink); text-decoration: underline; text-underline-offset: 3px; }
.igp-pdp-detalhes summary::-webkit-details-marker { display: none; }
.igp-pdp-parcelas { margin-top: 10px; border: 1px solid var(--igp-cream-line); max-width: 420px; }
.igp-pdp-parcelas li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; }
.igp-pdp-parcelas li + li { border-top: 1px solid var(--igp-cream-line); }
.igp-pdp-parcelas li:first-child strong { color: var(--igp-green); }
.igp-pdp-variacoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.igp-pdp-acoes { display: flex; gap: 14px; margin-top: 24px; }
.igp-pdp-acoes .igp-qv-comprar { gap: 10px; font-size: 15px; letter-spacing: .02em; }
.igp-pdp-acoes .igp-qv-comprar--whats { flex: 1; margin-top: 0; background: var(--igp-whats); }
.igp-pdp-bloco { border-top: 1px solid var(--igp-cream-line); }
.igp-pdp-acoes + .igp-pdp-bloco { margin-top: 28px; }
.igp-pdp-bloco:last-child { border-bottom: 1px solid var(--igp-cream-line); }
.igp-pdp-bloco summary { display: flex; align-items: center; gap: 10px; padding: 16px 0; cursor: pointer; list-style: none; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--igp-ink); }
.igp-pdp-bloco summary::-webkit-details-marker { display: none; }
.igp-pdp-bloco summary::after { content: "+"; margin-left: auto; font-size: 18px; font-weight: 300; letter-spacing: 0; }
.igp-pdp-bloco[open] summary::after { content: "−"; }
.igp-pdp-bloco-corpo { padding: 0 0 18px; }
.igp-pdp-texto { font-size: 14px; line-height: 1.7; color: var(--igp-ink); }
.igp-pdp-texto p { margin: 0 0 10px; }
.igp-pdp-cep { display: flex; gap: 8px; }
.igp-pdp-cep-input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #D9D2C8; font: inherit; font-size: 14px; background: #FFFFFF; }
.igp-pdp-cep-input.igp-cep-erro { border-color: var(--igp-badge-red); }
.igp-pdp-cep-btn { height: 44px; padding: 0 18px; border: 1px solid var(--igp-ink); background: transparent; cursor: pointer; font: inherit; font-size: 14px; }
.igp-pdp-cep-btn:hover { background: var(--igp-ink); color: #FFFFFF; }
.igp-pdp-bloco .igp-cep-ajuda { display: inline-block; margin-top: 8px; font-size: 12px; color: var(--igp-ink); text-decoration: underline; }
.igp-pdp-frete-lista { margin-top: 14px; border: 1px solid var(--igp-cream-line); }
.igp-pdp-frete-lista li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 12px; font-size: 13px; }
.igp-pdp-frete-lista li + li { border-top: 1px solid var(--igp-cream-line); }
.igp-pdp-frete-lista small { display: block; color: var(--igp-muted); font-size: 12px; }
.igp-pdp-frete-lista strong { white-space: nowrap; }
.igp-pdp-frete-msg { margin: 12px 0 0; font-size: 13px; color: var(--igp-muted); }
.igp-pdp-selos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--igp-cream-line); margin: 8px 0 56px; }
.igp-pdp-selo { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 18px 20px; }
.igp-pdp-selo + .igp-pdp-selo { border-left: 1px solid var(--igp-cream-line); }
.igp-pdp-selo svg { width: 36px; height: 36px; flex: none; color: var(--igp-gold); }
.igp-pdp-selo p { margin: 0; }
.igp-pdp-selo-titulo { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--igp-ink); }
.igp-pdp-selo-texto { font-size: 12px; color: var(--igp-muted); margin-top: 2px !important; }
.igp-pdp-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background: #FFFFFF; border-top: 1px solid var(--igp-cream-line); box-shadow: 0 -8px 24px rgba(0,0,0,.06); transform: translateY(100%); transition: transform .3s ease; }
.igp-pdp-barra.is-visivel { transform: none; }
.igp-pdp-barra-inner { display: flex; align-items: center; gap: 18px; padding-top: 12px; padding-bottom: 12px; }
.igp-pdp-barra-inner img { width: 56px; height: 56px; object-fit: contain; background: #F4F4F4; flex: none; }
.igp-pdp-barra-nome { flex: 1; min-width: 0; }
.igp-pdp-barra-nome p, .igp-pdp-barra-precos p { margin: 0; }
.igp-pdp-barra-nome p:first-child { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.igp-pdp-barra-marca { font-size: 13px; color: var(--igp-muted); }
.igp-pdp-barra-precos { text-align: left; }
.igp-pdp-barra-preco { font-size: 16px; font-weight: 600; }
.igp-pdp-barra-pix { font-size: 13px; font-weight: 600; color: var(--igp-green); }
.igp-pdp-barra-parc { font-size: 12px; }
.igp-pdp-barra-btn { flex: none; min-width: 220px; min-height: 48px; padding: 0 24px; text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 900px) {
  .igp-pdp-grid { grid-template-columns: 1fr; }
  .igp-pdp-galeria { position: static; flex-direction: column-reverse; }
  .igp-pdp-miniaturas { flex-direction: row; width: auto; overflow-x: auto; }
  .igp-pdp-mini { width: 64px; flex: none; }
  .igp-pdp-selos { grid-template-columns: 1fr; }
  .igp-pdp-selo { justify-content: flex-start; }
  .igp-pdp-selo + .igp-pdp-selo { border-left: 0; border-top: 1px solid var(--igp-cream-line); }
}
@media (max-width: 600px) {
  .igp-pdp-barra-nome, .igp-pdp-barra-parc { display: none; }
  .igp-pdp-barra-btn { min-width: 0; flex: 1; }
  .igp-pdp-acoes .igp-qv-comprar { font-size: 14px; }
}
body.igp-barra-on .igp-whatsapp-float { bottom: 104px; transition: bottom .3s ease; }

/* botão "Ver mais detalhes" + janela de meios de pagamento */
.igp-pdp-detalhes-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 13px; color: var(--igp-ink); text-decoration: underline; text-underline-offset: 3px; }
.igp-pg[hidden] { display: none; }
.igp-pg { position: fixed; inset: 0; z-index: 10000; background: rgba(17,17,17,.55); display: flex; align-items: center; justify-content: center; padding: 20px; }
.igp-pg-caixa { width: 100%; max-width: 760px; max-height: calc(100vh - 40px); display: flex; flex-direction: column; background: #FFFFFF; }
.igp-pg-topo { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-pg-titulo { margin: 0; font-size: 17px; color: var(--igp-ink); }
.igp-pg-fechar { width: 32px; height: 32px; border: 0; background: none; cursor: pointer; font-size: 24px; line-height: 1; color: var(--igp-ink); }
.igp-pg-corpo { flex: 1; overflow: auto; padding: 20px; }
.igp-pg-abas { display: flex; flex-wrap: wrap; gap: 8px; }
.igp-pg-aba { padding: 10px 14px; border: 1px solid var(--igp-cream-line); background: #FFFFFF; cursor: pointer; font: inherit; font-size: 14px; color: var(--igp-ink); }
.igp-pg-aba strong { color: var(--igp-green); }
.igp-pg-aba.is-active { border-color: var(--igp-ink); }
.igp-pg-sub { margin: 22px 0 12px; font-size: 16px; color: var(--igp-ink); }
.igp-pg-bandeiras { display: flex; flex-wrap: wrap; gap: 8px; }
.igp-pg-bandeiras img { display: block; width: 60px; height: 38px; }
.igp-pg-tabela { width: 100%; margin-top: 20px; border-collapse: collapse; font-size: 14px; }
.igp-pg-tabela th { padding: 10px 10px; text-align: left; font-weight: 600; }
.igp-pg-tabela th:last-child, .igp-pg-tabela td:last-child { text-align: right; }
.igp-pg-tabela td { padding: 11px 10px; }
.igp-pg-tabela tbody tr:nth-child(odd) { background: #F6F4F1; }
.igp-pg-tabela td:first-child { width: 64px; }
.igp-pg-pix-valor { margin: 18px 0 6px; font-size: 26px; font-weight: 600; color: var(--igp-green); }
.igp-pg-pix-texto { margin: 0; font-size: 14px; line-height: 1.6; color: var(--igp-ink); max-width: 52ch; }
.igp-pg-rodape { padding: 14px 20px; border-top: 1px solid var(--igp-cream-line); }
.igp-pg-voltar { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 14px; color: var(--igp-ink); text-decoration: underline; text-underline-offset: 3px; }

/* ===== ajustes: quantidade, textos do frete, rodapé ===== */
.igp-qty-input, .igp-qv-input,
.woocommerce-page .igp-qty-input, .woocommerce-page .igp-qv-input {
  padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
  height: 100% !important; min-height: 0 !important; line-height: normal !important;
  text-align: center !important; color: #111111 !important; background: transparent !important;
  box-shadow: none !important; -moz-appearance: textfield !important; appearance: textfield !important;
}
.igp-qty-input::-webkit-inner-spin-button, .igp-qty-input::-webkit-outer-spin-button,
.igp-qv-input::-webkit-inner-spin-button, .igp-qv-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.igp-qty-input { width: 30px !important; font-size: 13px !important; }

.igp-pdp-acoes .igp-qv-qtd { flex: 0 0 auto; width: 108px; height: 50px; }
.igp-pdp-acoes .igp-qv-qtd button { width: 34px; flex: none; }
.igp-pdp-acoes .igp-qv-input { flex: 1; width: 40px !important; font-size: 15px !important; }
.igp-pdp-acoes .igp-qv-comprar { flex: 1 1 auto; min-height: 50px; }

.igp-frete-opcao, .igp-frete-nome, .igp-frete-valor, .igp-pdp-frete-lista li {
  color: #111111 !important; text-transform: none !important; letter-spacing: normal !important;
}
.igp-frete-nome, .igp-pdp-frete-lista span { font-size: 13px !important; }
.igp-cep-ajuda, .igp-pdp-bloco .igp-cep-ajuda { color: #9A9A9A !important; text-transform: none !important; letter-spacing: normal !important; font-size: 12px !important; }
.igp-cep-ajuda:hover, .igp-pdp-bloco .igp-cep-ajuda:hover { color: #6F6F6F !important; }

.igp-footer-meios { border-top: 1px solid rgba(255,255,255,.14); padding: 20px 0; }
.igp-footer-meios-grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px 40px; }
.igp-footer-meio { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.igp-footer-meio-titulo { margin: 0; font-size: 13px; color: rgba(255,255,255,.85); }
.igp-footer-meio-logos { display: flex; flex-wrap: wrap; gap: 6px; }
.igp-footer-meio-logos img { display: block; width: 46px; height: 29px; }

/* marca e caminho em cinza escuro; título dos relacionados em preto */
.igp-product-brand, .igp-pdp-marca, .igp-pdp-barra-marca, .igp-qv-marca { color: #4A4A4A !important; }
.igp-pdp-migalhas { font-size: 14px; color: #4A4A4A; }
.igp-pdp-migalhas a { color: #4A4A4A; }
.igp-pdp-migalhas a:hover, .igp-pdp-migalhas span:last-child { color: #111111; }
.igp-pdp-relacionados .igp-section-title { color: #111111; }

/* compra rápida: fundo branco, nome preto, Pix verde */
.igp-qv-caixa { background: var(--igp-bg) !important; }
.igp-qv-foto { background: var(--igp-bg) !important; }
.igp-qv-nome { font-family: var(--igp-font-body) !important; font-size: 20px !important; font-weight: 500 !important; color: #111111 !important; }
.igp-qv-preco { margin: 6px 0 0; font-size: 18px; font-weight: 600; color: #111111; }
.igp-qv-pix { color: var(--igp-green) !important; font-size: 22px !important; }
.igp-qv-parc { color: #111111; }

/* tons dourados de texto trocados por preto/cinza escuro */
.igp-marquee-title { color: var(--igp-gold) !important; font-weight: 500; }
.igp-tab-btn { color: #5A5A5A !important; }
.igp-tab-btn.is-active { color: #111111 !important; }
.igp-tab-empty { color: #5A5A5A !important; }
#lancamentos .igp-container > p { color: #4A4A4A !important; }

/* sob encomenda na compra rápida: botão verde do WhatsApp */
.igp-qv-comprar--whats, .igp-pdp-barra .igp-qv-comprar--whats { background: var(--igp-whats) !important; color: #FFFFFF !important; }
.igp-qv-comprar--whats:hover { background: #178C45 !important; color: #FFFFFF !important; }

/* fotos dos produtos com o fundo do site */
.igp-pdp-foto, .igp-pdp-mini, .igp-pdp-barra-inner img, .igp-toast img { background: var(--igp-bg) !important; }
.igp-pdp-mini { border-color: var(--igp-cream-line); }
.igp-pdp-mini.is-active { border-color: #111111; }

/* busca sem vermelho */
.igp-search-panel form { border-bottom-color: #111111 !important; }
.igp-search-panel input[type="search"] { color: #111111; caret-color: #111111; }

/* ===== Login / criar conta ===== */
.woocommerce-account:not(.logged-in) .igp-page-title { display: none; }
.igp-login { max-width: 508px; padding: 8px 0 64px; }
.igp-login .igp-pdp-migalhas { margin-bottom: 18px; }
.igp-login-titulo { margin: 0 0 28px; font-family: var(--igp-font-body); font-size: 28px; font-weight: 400; color: #111111; }
.igp-login-form { display: flex; flex-direction: column; gap: 18px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.igp-login-campo { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
.igp-login-campo label { font-size: 15px; color: #111111; text-transform: none; letter-spacing: 0; }
.igp-login-campo input { width: 100%; height: 46px !important; padding: 0 14px !important; border: 1px solid #D9D2C8 !important; border-radius: 0 !important; background: #FFFFFF !important; font: inherit; font-size: 15px !important; color: #111111; box-shadow: none !important; }
.igp-login-campo input::placeholder { color: #9A9A9A; }
.igp-login-campo input:focus { outline: none; border-color: #111111 !important; }
.igp-login-senha { position: relative; display: block; }
.igp-login-senha input { padding-right: 48px !important; }
.igp-login-olho { position: absolute; top: 0; right: 0; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; color: #111111; }
.igp-login-linha { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: -6px; }
.igp-login-lembrar { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4A4A4A; cursor: pointer; }
.igp-login-lembrar input { accent-color: #111111; margin: 0; }
.igp-login-link { color: #111111 !important; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
.igp-login-link:hover { color: #4A4A4A !important; }
.igp-login-btn { width: 100%; height: 50px; border: 0; background: #111111; color: #FFFFFF; cursor: pointer; font: inherit; font-size: 16px; }
.igp-login-btn:hover { background: #333333; }
.igp-login-rodape { margin: 20px 0 0; text-align: center; font-size: 15px; color: #111111; }
.igp-login-aviso { margin: 0; font-size: 14px; color: #4A4A4A; }

.igp-login-titulo { font-size: 38px !important; font-weight: 500 !important; margin-bottom: 32px !important; }
.igp-login-lembrar { text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 400 !important; }
.igp-login-form .g-recaptcha, .igp-login-form .cf-turnstile, .igp-login-form [class*="captcha"] { margin: 4px 0; }

/* login/cadastro mais compacto */
.igp-login { padding-bottom: 48px !important; }
.igp-login .igp-pdp-migalhas { margin-bottom: 12px !important; }
.igp-login-titulo { margin-bottom: 20px !important; }
.igp-login-form { gap: 12px !important; }
.igp-login-campo { gap: 5px !important; }
.igp-login-campo label { font-size: 14px !important; margin: 0 !important; padding: 0 !important; line-height: 1.3 !important; }
.igp-login-campo input { height: 44px !important; margin: 0 !important; }
.igp-login-olho { height: 44px !important; }
.igp-login-linha { margin-top: -2px !important; }
.igp-login-form .cf-turnstile, .igp-login-form [class*="turnstile"] { margin: 2px 0 0 !important; }
.igp-login-form .cf-turnstile + br, .igp-login-form [class*="turnstile"] + br { display: none; }
.igp-login-btn { margin-top: 4px !important; }
.igp-login-rodape { margin-top: 12px !important; }

/* criar conta cabendo na tela */
.woocommerce-account:not(.logged-in) .igp-page-main, .woocommerce-account:not(.logged-in) .igp-page { padding-top: 0 !important; margin-top: 0 !important; }
.igp-login { padding-top: 20px !important; }
.igp-login-titulo { font-size: 32px !important; margin-bottom: 14px !important; }
.igp-login-dupla { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
@media (max-width: 520px) { .igp-login-dupla { grid-template-columns: 1fr; } }
.igp-login-form > p:empty, .igp-login-form > div:empty, .igp-login-form > br { display: none !important; }
.igp-login-form [class*="turnstile"], .igp-login-form [id*="turnstile"] { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
.igp-login-form .woocommerce-privacy-policy-text { display: none !important; }

.igp-footer-meio-logos img.igp-selo-largo { width: 72px !important; height: 29px !important; }
.igp-footer-meio-logos a { display: block; line-height: 0; }

.igp-footer-meio-titulo { text-transform: uppercase; letter-spacing: .12em; font-size: 14px !important; font-weight: 500; color: #FFFFFF !important; }

.igp-footer-meio-titulo { color: var(--igp-gold) !important; font-size: 12px !important; letter-spacing: .2em !important; }

/* ===== Checkout ===== */
.woocommerce-checkout .igp-page-title { display: none; }
.woocommerce-checkout .entry-content { max-width: 1160px !important; }
.igp-etapas { list-style: none; display: flex; justify-content: space-between; max-width: 560px; margin: 8px auto 40px; padding: 0; position: relative; }
.igp-etapas::before { content: ""; position: absolute; left: 30px; right: 30px; top: 14px; height: 1px; background: var(--igp-cream-line); }
.igp-etapas li, .igp-etapas a, .igp-etapa-link { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; font: inherit; font-size: 13px; color: #5A5A5A; text-decoration: none; background: none; border: 0; padding: 0; cursor: default; }
.igp-etapas a, .igp-etapas .is-feito .igp-etapa-link { cursor: pointer; }
.igp-etapas li span { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #FFFFFF; border: 1px solid #C9C9C9; font-size: 12px; color: #5A5A5A; }
.igp-etapas .is-feito span { background: #111111; border-color: #111111; color: #FFFFFF; }
.igp-etapas .is-atual, .igp-etapas .is-atual .igp-etapa-link { color: #111111; font-weight: 600; }
.igp-etapas .is-atual span { border-color: #111111; color: #111111; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 0 16px !important; text-align: center; font-size: 13px; color: #4A4A4A; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }

form.igp-co { display: grid !important; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.igp-co-principal { min-width: 0; }
.igp-co-etapa[hidden] { display: none !important; }
.igp-co-bloco { margin: 0 0 36px; }
.igp-co-bloco-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.igp-co-entrar { font-size: 13px; color: #111111; text-decoration: underline; }
.igp-co h3 { font-family: var(--igp-font-body) !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; color: #111111 !important; border: 0 !important; padding: 0 !important; margin: 0 0 14px !important; }
.igp-co-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.igp-co-campos > *, .igp-co-campos .woocommerce-account-fields { grid-column: 1 / -1; }
.igp-co-campos .form-row { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.igp-co-campos .form-row-first, .igp-co-campos .form-row-last { grid-column: auto; }
.igp-co-campos .clear, #billing_country_field { display: none !important; }
.igp-co .form-row label { display: block; font-size: 12px !important; letter-spacing: .02em !important; text-transform: none !important; color: #4A4A4A !important; margin: 0 0 4px !important; font-weight: 500; }
.igp-co .form-row .required { color: #4A4A4A !important; text-decoration: none; }
.igp-co .form-row .optional { color: #8A8A8A; }
.igp-co .form-row input.input-text, .igp-co .form-row select, .igp-co .form-row textarea, .igp-co .select2-container .select2-selection--single, #igp_cupom {
  width: 100%; height: 46px !important; padding: 0 14px !important; border: 1px solid #D9D2C8 !important; border-radius: 0 !important; background: #FFFFFF !important; font-size: 15px !important; color: #111111 !important; box-shadow: none !important; box-sizing: border-box; }
.igp-co .form-row textarea { height: 80px !important; padding: 12px 14px !important; }
.igp-co .select2-container .select2-selection--single .select2-selection__rendered { line-height: 44px !important; padding: 0 !important; }
.igp-co .select2-container .select2-selection__arrow { height: 44px !important; }
.igp-co .form-row input:focus, .igp-co .form-row select:focus, .igp-co .form-row textarea:focus, #igp_cupom:focus { outline: none; border-color: #111111 !important; }
.igp-co .woocommerce-invalid input.input-text, .igp-co .woocommerce-invalid select { border-color: #B3261E !important; }
.igp-co-check label { display: flex !important; align-items: center; gap: 8px; font-size: 13px !important; color: #4A4A4A !important; cursor: pointer; }
.igp-co-check input, .igp-co input[type=radio] { accent-color: #111111; width: 16px; height: 16px; margin: 0; }

.igp-co-frete { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.igp-co-opcao { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 16px; background: #F6F4F1; border: 1px solid transparent; cursor: pointer; font-size: 14px; color: #111111; }
.igp-co-opcao:has(input:checked) { border-color: #111111; background: #FFFFFF; }
.igp-co-opcao-preco { font-weight: 600; }
.igp-co-opcao.is-extra { display: none; }
.igp-co-frete.is-aberto .igp-co-opcao.is-extra { display: grid; }
.igp-co-mais { align-self: center; background: none; border: 0; padding: 8px; font: inherit; font-size: 14px; color: #111111; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.igp-co-mais::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.igp-co-frete.is-aberto .igp-co-mais span { font-size: 0; }
.igp-co-frete.is-aberto .igp-co-mais span::before { content: "Menos opções"; font-size: 14px; }
.igp-co-frete.is-aberto .igp-co-mais::after { transform: rotate(-135deg) translateY(-3px); }
.igp-co-vazio { margin: 0; padding: 16px; background: #F6F4F1; font-size: 14px; color: #4A4A4A; }

.igp-co-acoes { display: flex; justify-content: flex-end; }
.igp-co-continuar, .igp-co #place_order { height: 52px; padding: 0 40px; background: #111111 !important; color: #FFFFFF !important; border: 0 !important; border-radius: 0 !important; font: inherit; font-size: 15px !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.igp-co-continuar:hover, .igp-co #place_order:hover { background: #333333 !important; }
.igp-co #place_order { width: 100%; float: none !important; }

.igp-co-revisao { margin: 0; border: 1px solid var(--igp-cream-line); }
.igp-co-revisao > div { display: grid; grid-template-columns: 90px 1fr auto; gap: 12px; align-items: baseline; padding: 14px 16px; border-top: 1px solid var(--igp-cream-line); font-size: 14px; }
.igp-co-revisao > div:first-child { border-top: 0; }
.igp-co-revisao dt { color: #5A5A5A; }
.igp-co-revisao dd { margin: 0; color: #111111; }
.igp-co-revisao button { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #111111; text-decoration: underline; cursor: pointer; }

.igp-co #payment { background: none !important; border-radius: 0 !important; }
.igp-co #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.igp-co #payment ul.payment_methods li { border: 1px solid var(--igp-cream-line) !important; padding: 16px !important; background: #FFFFFF; list-style: none; margin: 0 !important; }
.igp-co #payment ul.payment_methods li:has(> input:checked) { border-color: #111111 !important; }
.igp-co #payment ul.payment_methods li > label { font-size: 15px; font-weight: 600; color: #111111; }
.igp-co #payment ul.payment_methods li > input { accent-color: #111111; margin-right: 8px; }
.igp-co #payment div.payment_box { background: #F6F4F1 !important; color: #111111 !important; margin: 12px 0 0 !important; padding: 16px !important; }
.igp-co #payment div.payment_box::before { display: none !important; }
.igp-co #payment .place-order { padding: 20px 0 0 !important; margin: 0 !important; }
.igp-co .woocommerce-privacy-policy-text, .igp-co .woocommerce-terms-and-conditions-wrapper { font-size: 12px; line-height: 1.6; color: #5A5A5A; }
.igp-co .woocommerce-privacy-policy-text a { color: #111111; }

.igp-co-lado { position: sticky; top: calc(var(--igp-header-h) + 24px); border: 1px solid var(--igp-cream-line); background: #FFFFFF; padding: 20px; }
.igp-co-lado #order_review { padding: 0 !important; border: 0 !important; background: none !important; }
.igp-resumo { border: 0 !important; margin: 0 !important; }
.igp-resumo-itens { list-style: none; margin: 0; padding: 0 4px 0 0; max-height: 42vh; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.igp-resumo-itens li { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; font-size: 14px; color: #111111; }
.igp-resumo-foto { position: relative; width: 64px; height: 64px; background: #FFFFFF; border: 1px solid var(--igp-cream-line); }
.igp-resumo-foto img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; display: block; }
.igp-resumo-qtd { position: absolute; top: -8px; right: -8px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: #111111; color: #FFFFFF; font-size: 11px; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.igp-resumo-nome { line-height: 1.35; }
.igp-resumo-preco { font-weight: 600; white-space: nowrap; }
.igp-resumo-totais { margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--igp-cream-line); display: flex; flex-direction: column; gap: 8px; }
.igp-resumo-totais > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: #111111; }
.igp-resumo-totais dt { color: #4A4A4A; }
.igp-resumo-totais dd { margin: 0; text-align: right; }
.igp-resumo-totais .woocommerce-remove-coupon { font-size: 12px; color: #5A5A5A; margin-left: 6px; }
.igp-resumo-totais .is-total { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--igp-cream-line); font-size: 18px; font-weight: 600; }
.igp-resumo-totais .is-total dt { color: #111111; }
.igp-resumo-totais .is-total small { display: block; font-size: 12px; font-weight: 400; color: #5A5A5A; }
.igp-co-cupom { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--igp-cream-line); text-align: center; }
.igp-co-cupom-link { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; letter-spacing: .04em; color: #111111; text-decoration: underline; cursor: pointer; }
.igp-co-cupom-campo { display: flex; gap: 8px; margin-top: 12px; }
.igp-co-cupom-campo[hidden] { display: none; }
.igp-co-cupom-aplicar { flex: none; height: 46px; padding: 0 18px; background: #111111; color: #FFFFFF; border: 0; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.igp-co-cupom-msg .woocommerce-error, .igp-co-cupom-msg .woocommerce-message, .igp-co-cupom-msg .woocommerce-info { margin: 10px 0 0 !important; padding: 10px 12px !important; font-size: 13px; text-align: left; }

@media (max-width: 960px) {
  form.igp-co { grid-template-columns: 1fr; gap: 24px; }
  .igp-co-lado { position: static; order: -1; }
  .igp-resumo-itens { max-height: none; }
}
@media (max-width: 560px) {
  .igp-co-campos { grid-template-columns: 1fr; }
  .igp-co-campos .form-row-first, .igp-co-campos .form-row-last { grid-column: 1 / -1; }
  .igp-co-continuar { width: 100%; }
  .igp-co-revisao > div { grid-template-columns: 1fr auto; }
  .igp-co-revisao dd { grid-column: 1 / -1; grid-row: 2; }
}

/* Checkout v2: cabeçalho só com logo, mais compacto */
body.woocommerce-checkout { --igp-header-h: 64px; }
body.woocommerce-checkout .igp-header > :not(.igp-logo), body.woocommerce-checkout .igp-search-panel { display: none !important; }
body.woocommerce-checkout .igp-header { height: 64px !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; justify-content: center !important; grid-template-columns: 1fr !important; }
body.woocommerce-checkout .igp-logo { margin: 0 auto !important; position: static !important; transform: none !important; }
body.woocommerce-checkout .igp-logo-img { height: 38px !important; width: auto !important; max-width: none !important; }
body.woocommerce-checkout .igp-page-main, body.woocommerce-checkout .igp-page { padding-top: 16px !important; margin-top: 0 !important; }
body.woocommerce-checkout .igp-page-content { margin-top: 0 !important; }
.igp-etapas { margin: 0 auto 20px; }
.igp-etapas li span { width: 30px; height: 30px; }
.igp-etapas::before { top: 15px; }
.igp-etapas .is-feito span svg { stroke: #FFFFFF; }
.igp-co-bloco { margin: 0 0 22px; }
.igp-co h3 { margin: 0 0 10px !important; }
.igp-co-campos { gap: 10px; }
.igp-co .form-row label { margin: 0 0 3px !important; }
.igp-co .form-row input.input-text, .igp-co .form-row select, .igp-co .select2-container .select2-selection--single, #igp_cupom { height: 44px !important; }
.igp-co-frete { margin-top: 10px; gap: 6px; }
.igp-co-opcao, .igp-co-opcao * { text-transform: none !important; letter-spacing: 0 !important; }
.igp-co-opcao { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) auto !important; align-items: center; gap: 12px; margin: 0 !important; padding: 14px 16px !important; font-size: 14px !important; font-weight: 400 !important; color: #111111 !important; }
.igp-co-frete.is-aberto .igp-co-opcao.is-extra { display: grid !important; }
.igp-co-opcao.is-extra { display: none !important; }
.igp-co-opcao input[type=radio] { position: static !important; opacity: 1 !important; appearance: auto !important; -webkit-appearance: radio !important; width: 18px !important; height: 18px !important; margin: 0 !important; accent-color: #111111; }
.igp-co-opcao-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.igp-co-opcao-nome { font-size: 14px; font-weight: 500; }
.igp-co-opcao-prazo { font-size: 12px; color: #5A5A5A; }
.igp-co-opcao-preco { font-size: 14px; font-weight: 600; white-space: nowrap; }
.igp-co-mais { padding: 4px 8px; }
form.igp-co { gap: 48px; }
.igp-co-lado { border: 0 !important; padding: 0 !important; background: none !important; }
.igp-co-lado #order_review_heading { margin: 0 0 12px !important; }
.igp-resumo-itens { padding: 10px 10px 2px 0; gap: 12px; }
.igp-resumo-foto { border: 0 !important; background: #F6F4F1 !important; }
.igp-resumo-qtd { top: -7px; right: -7px; }
.igp-resumo-totais { margin: 14px 0 0; padding: 0; border-top: 0 !important; gap: 6px; }
.igp-resumo-totais .is-total { margin-top: 4px; padding-top: 0; border-top: 0 !important; }
.igp-co-cupom { margin-top: 14px; padding-top: 0; border-top: 0 !important; }

/* Checkout v3 */
.igp-etapas { margin: 0 0 22px; max-width: 520px; }
.igp-etapas .igp-ok { display: none; }
.igp-etapas .is-feito .igp-ic { display: none; }
.igp-etapas .is-feito .igp-ok { display: block; }
.igp-etapas .is-feito span, .igp-etapas .is-atual span { background: #111111 !important; border-color: #111111 !important; color: #FFFFFF !important; }
.igp-etapas .is-feito span svg, .igp-etapas .is-atual span svg { stroke: #FFFFFF; }
.igp-resumo-foto { background: transparent !important; }
body.woocommerce-checkout footer, body.woocommerce-checkout .igp-footer, body.woocommerce-checkout .site-footer { display: none !important; }
body.woocommerce-checkout .igp-page-main { padding-bottom: 48px !important; }
.igp-co-lado { top: calc(var(--igp-header-h) + 28px) !important; }
body.admin-bar .igp-co-lado { top: calc(var(--igp-header-h) + 32px + 28px) !important; }
.igp-resumo-itens { max-height: 36vh; }

/* Checkout v4 */
body.woocommerce-checkout .igp-whatsapp-float { display: none !important; }
.igp-etapas { max-width: calc(100% - 360px - 48px) !important; }
.igp-etapas::before { left: 15px !important; right: 15px !important; }
.igp-etapas > li:first-child, .igp-etapas > li:first-child a { align-items: flex-start; }
.igp-etapas > li:last-child { align-items: flex-end; }
@media (max-width: 960px) { .igp-etapas { max-width: none !important; } }

/* Checkout v5: etapa de pagamento */
.igp-co-rev { list-style: none; margin: 0 0 24px; padding: 0; }
.igp-co-rev > li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 16px 4px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-rev-ic { margin-top: 1px; color: #111111; }
.igp-co-rev-txt { font-size: 14px; line-height: 1.5; color: #333333; white-space: pre-line; min-width: 0; }
.igp-co-rev-txt strong { display: block; color: #111111; font-weight: 600; }
.igp-co-rev-txt span { display: block; color: #5A5A5A; }
.igp-co-rev-btn { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #111111; text-decoration: underline; cursor: pointer; }
.igp-co-coment-campo { grid-column: 2 / -1; }
.igp-co-coment-campo[hidden] { display: none; }
.igp-co-coment-campo .form-row { margin: 0 !important; }
.igp-co-coment-campo label { display: none !important; }

.igp-co #payment ul.payment_methods > li { padding: 0 !important; background: #F6F4F1 !important; border: 1px solid transparent !important; }
.igp-co #payment ul.payment_methods > li > input { position: absolute; opacity: 0; pointer-events: none; }
.igp-co #payment ul.payment_methods > li > label { display: flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 20px 20px !important; cursor: pointer; font-size: 15px !important; font-weight: 600; color: #111111; text-transform: none !important; letter-spacing: 0 !important; }
.igp-co #payment ul.payment_methods > li > label::before { content: ""; flex: none; width: 22px; height: 22px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='1.5'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.igp-co #payment ul.payment_methods > li.igp-pg-pix > label::before { background-image: url("assets/img/pagamento/pix-icone.png"); }
.igp-co #payment ul.payment_methods > li > label::after { content: ""; flex: none; width: 8px; height: 8px; margin-left: 4px; border-right: 1.6px solid #111111; border-bottom: 1.6px solid #111111; transform: rotate(-45deg); }
.igp-co #payment ul.payment_methods > li > label img { display: none; }
.igp-pg-badge { margin-left: auto; padding: 5px 9px; background: #111111; color: #FFFFFF; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.igp-co #payment ul.payment_methods > li.igp-pg-pix .igp-pg-badge { background: var(--igp-green); }
.igp-co #payment ul.payment_methods:not(.is-aberto) .payment_box { display: none !important; }
.igp-co #payment ul.payment_methods.is-aberto > li:not(:has(> input:checked)) { display: none !important; }
.igp-co #payment ul.payment_methods.is-aberto > li { background: #FFFFFF !important; border-color: var(--igp-cream-line) !important; }
.igp-co #payment ul.payment_methods.is-aberto > li > label { background: #F6F4F1; }
.igp-co #payment ul.payment_methods.is-aberto > li > label::after { order: -2; margin: 0 2px 0 0; transform: rotate(135deg); }
.igp-co #payment ul.payment_methods.is-aberto > li > label::before { order: -1; }
.igp-co #payment div.payment_box { background: #FFFFFF !important; margin: 0 !important; padding: 20px !important; }
.igp-pg-aceitos { margin-top: 18px; }
.igp-pg-aceitos p { margin: 0 0 8px; font-size: 13px; color: #333333; }
.igp-pg-aceitos div { display: flex; flex-wrap: wrap; gap: 6px; }
.igp-pg-aceitos img { width: 40px; height: 26px; object-fit: contain; border: 1px solid var(--igp-cream-line); background: #FFFFFF; }
.igp-pg-trocar { display: none; margin: 16px auto 0; background: none; border: 0; padding: 0; font: inherit; font-size: 13px; font-weight: 600; color: #111111; text-decoration: underline; cursor: pointer; }
.igp-co #payment.igp-pg-aberto .igp-pg-trocar { display: block; }
.igp-co #payment:not(.igp-pg-aberto) .place-order { display: none !important; }

/* Checkout v6: cartão compacto */
.igp-pg-aceitos img { border: 0 !important; width: 44px; height: 28px; }
.igp-co #payment ul.payment_methods > li.igp-pg-pix > label::before { width: 24px; height: 24px; }
.igp-cc-grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 10px; }
.igp-cc-grid > * { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.igp-cc-grid .igp-f-numero, .igp-cc-grid .igp-f-parc, .igp-cc-grid .igp-f-outro { grid-column: 1 / -1; }
.igp-cc-grid label, .igp-cc-oculto { display: none !important; }
.igp-cc-grid input, .igp-cc-grid select { width: 100% !important; height: 46px !important; padding: 0 14px !important; border: 1px solid #D9D2C8 !important; border-radius: 0 !important; background: #FFFFFF !important; font-size: 15px !important; color: #111111 !important; box-shadow: none !important; box-sizing: border-box; max-width: none !important; }
.igp-cc-grid input:focus, .igp-cc-grid select:focus { outline: none; border-color: #111111 !important; }
.igp-cc-grid input::placeholder { color: #8A8A8A; }
.igp-co #payment div.payment_box fieldset { border: 0 !important; padding: 0 !important; margin: 0 !important; }
@media (max-width: 560px) {
  .igp-cc-grid { grid-template-columns: 1fr 1fr 1fr; }
  .igp-cc-grid .igp-f-nome { grid-column: 1 / -1; }
}

/* Checkout v7 */
.igp-cvv-ajuda { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #5A5A5A; background: #FFFFFF; color: #5A5A5A; font: 600 12px/1 var(--igp-font-body); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.igp-cvv-dica { display: none; position: absolute; bottom: calc(100% + 10px); right: -10px; width: 220px; padding: 10px 12px; background: #111111; color: #FFFFFF; font-size: 12px; font-weight: 400; line-height: 1.45; text-align: left; z-index: 5; }
.igp-cvv-ajuda:hover .igp-cvv-dica, .igp-cvv-ajuda:focus .igp-cvv-dica { display: block; }
.igp-cc-grid .igp-f-cvv input { padding-right: 38px !important; }
.igp-cc-grid .igp-f-parc { position: relative; }
.igp-cc-grid .igp-f-parc::before { content: "Parcelas"; position: absolute; left: 14px; top: 6px; font-size: 11px; color: #5A5A5A; pointer-events: none; z-index: 1; }
.igp-cc-grid .igp-f-parc select { height: 52px !important; padding-top: 16px !important; }
.igp-co #payment .place-order { display: flex; flex-direction: column; gap: 10px; }
.igp-co #payment .place-order .woocommerce-privacy-policy-text { order: 5; }
.igp-co .woocommerce-privacy-policy-text p { margin: 0 !important; font-size: 11px !important; line-height: 1.5 !important; color: #6A6A6A !important; }
.igp-co .woocommerce-privacy-policy-text a { font-size: 11px; }

/* ===== Pedido recebido (thankyou) ===== */
.woocommerce-order-received .entry-title, .woocommerce-order-received .page-title { display: none; }
.igp-ty { max-width: 1000px; margin: 28px auto 60px; padding: 0 20px; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 48px; font-family: var(--igp-font-body); color: var(--igp-ink); }
.igp-ty-num { margin: 0 0 18px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--igp-muted); }
.igp-ty-status { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font: 500 26px/1.2 var(--igp-font-display); color: var(--igp-ink); }
.igp-ty-status.is-ok { color: var(--igp-green); }
.igp-ty-ico { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font: 600 13px/1 var(--igp-font-body); border-radius: 50%; background: var(--igp-ink); color: #fff; }
.igp-ty-status.is-ok .igp-ty-ico { background: var(--igp-green); }
.igp-ty-ico.is-pix { background: none; border-radius: 0; }
.igp-ty-ico.is-pix::before { content: ""; width: 12px; height: 12px; background: var(--igp-gold); transform: rotate(45deg); }
.igp-ty-sub { margin: 0 0 20px; font-size: 14px; color: var(--igp-muted); }
.igp-pix { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; align-items: start; padding-bottom: 22px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-pix-qr-col { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.igp-pix-qr { width: 196px; height: 196px; padding: 12px; background: #F3F1EE; border: 1px solid var(--igp-cream-line); box-sizing: border-box; }
.igp-pix-qr img { width: 100% !important; height: 100% !important; display: block; background: #fff; padding: 6px; box-sizing: border-box; max-width: none; }
.igp-pix-exp-label { margin: 10px 0 0; font-size: 12px; color: var(--igp-muted); }
.igp-pix-timer { margin: 0; font: 600 28px/1 var(--igp-font-body); letter-spacing: .02em; color: var(--igp-wine); font-variant-numeric: tabular-nums; }
.igp-pix.is-expirado .igp-pix-timer { color: var(--igp-badge-red); }
.igp-pix.is-expirado .igp-pix-qr { opacity: .3; }
.igp-pix-info { display: flex; flex-direction: column; gap: 14px; }
.igp-pix-copy { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; height: 44px; padding: 0 20px; background: var(--igp-ink); color: #fff; border: 0; border-radius: var(--igp-radius); font: 500 12px/1 var(--igp-font-body); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
.igp-pix-copy:hover { background: var(--igp-wine); }
.igp-pix-copy.is-ok { background: var(--igp-green); }
.igp-pix-passos { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.45; color: var(--igp-ink); }
.igp-pix-passos strong { font-weight: 600; }
.igp-pix-nota { margin: 0; font-size: 12px; color: var(--igp-muted); }
.igp-ty-row { display: flex; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--igp-cream-line); font-size: 13px; color: var(--igp-ink); text-decoration: none; }
.igp-ty-row svg { flex: none; color: var(--igp-muted); }
.igp-ty-ajuda:hover strong { color: var(--igp-wine); }
.igp-ty-side { display: flex; flex-direction: column; gap: 16px; font-size: 13px; }
.igp-ty-itens { list-style: none; margin: 0; padding: 0 0 12px; border-bottom: 1px solid var(--igp-cream-line); display: flex; flex-direction: column; gap: 10px; }
.igp-ty-itens li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.igp-ty-thumb img { width: 48px; height: 48px; object-fit: contain; display: block; mix-blend-mode: multiply; }
.igp-ty-nome { line-height: 1.35; }
.igp-ty-nome em { font-style: normal; color: var(--igp-muted); }
.igp-ty-preco { white-space: nowrap; }
.igp-ty-totais { margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--igp-cream-line); display: flex; flex-direction: column; gap: 6px; }
.igp-ty-totais div { display: flex; justify-content: space-between; gap: 12px; }
.igp-ty-totais dt, .igp-ty-totais dd { margin: 0; }
.igp-ty-totais dd { text-align: right; }
.igp-ty-totais dd small, .igp-ty-totais .shipped_via { display: block; font-size: 11px; color: var(--igp-muted); }
.igp-ty-totais .is-total { margin-top: 4px; font-size: 17px; font-weight: 600; }
.igp-ty-dados h2 { margin: 0 0 10px; font: 500 18px/1.2 var(--igp-font-display); }
.igp-ty-dados p { margin: 0 0 10px; font-size: 12px; line-height: 1.45; }
.igp-ty-dados span { display: block; margin-bottom: 1px; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--igp-gold); }
.igp-ty-continuar { align-self: flex-start; font-size: 12px; letter-spacing: .08em; color: var(--igp-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
.igp-ty-continuar:hover { color: var(--igp-wine); }
.igp-ty-raw { display: none; }
.igp-ty-raw.is-fallback { display: block; grid-column: 1 / -1; }
.igp-ty-raw.is-fallback .woocommerce-order-details, .igp-ty-raw.is-fallback .woocommerce-customer-details { display: none; }
.igp-ty-msg { grid-column: 1 / -1; font-size: 15px; }
@media (max-width: 760px) {
  .igp-ty { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 18px; }
  .igp-pix { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: left; }
  .igp-pix-copy { align-self: stretch; justify-content: center; }
}

/* thankyou v2: compacto */
.igp-ty { margin: 14px auto 30px; gap: 40px; }
.igp-ty-num { margin-bottom: 10px; }
.igp-ty-status { font-size: 22px; margin-bottom: 12px; }
.igp-ty-pixlogo { width: 20px; height: 20px; object-fit: contain; flex: none; }
.igp-pix { padding-bottom: 16px; gap: 20px; }
.igp-pix-qr { width: 170px; height: 170px; padding: 10px; }
.igp-pix-exp-label { margin-top: 8px; }
.igp-pix-timer { display: flex; align-items: center; gap: 6px; font-size: 24px; color: var(--igp-ink); }
.igp-pix-pie { --p: 100%; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--igp-ink); box-sizing: border-box; background: conic-gradient(var(--igp-ink) var(--p), #FFFFFF 0); transform: scaleX(-1); }
.igp-pix.is-expirado .igp-pix-timer { color: var(--igp-badge-red); }
.igp-pix-info { gap: 10px; }
.igp-pix-passos { gap: 4px; }
.igp-ty-row { padding: 10px 0; }
.igp-ty-side { gap: 12px; font-size: 12px; }
.igp-ty-itens { gap: 6px; padding-bottom: 8px; }
.igp-ty-itens li { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; font-size: 12px; }
.igp-ty-thumb img { width: 40px; height: 40px; }
.igp-ty-totais { gap: 2px; padding-bottom: 8px; font-size: 12px; }
.igp-ty-totais .is-total { margin-top: 4px; font-size: 15px; }
.igp-ty-bloco h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font: 500 14px/1.2 var(--igp-font-body); color: var(--igp-ink); }
.igp-ty-bloco-txt { margin: 0; font-size: 12px; line-height: 1.45; color: var(--igp-ink); }
.igp-ty-bloco-txt a { color: var(--igp-ink); text-decoration: underline; }
.igp-ty-dados p { margin: 0 0 6px; font-size: 12px; color: var(--igp-ink); }
.igp-ty-dados span { font-size: 9px; color: var(--igp-ink); font-weight: 600; }

/* thankyou v3 */
.igp-ty { position: relative; padding-top: 34px; }
.igp-ty-continuar { position: absolute; top: 0; right: 20px; display: inline-flex; align-items: center; gap: 8px; font-size: 15px !important; letter-spacing: .02em; color: var(--igp-ink) !important; text-decoration: none !important; border: 0 !important; }
.igp-ty-continuar:hover { color: var(--igp-wine) !important; }
.igp-ty-acomp { align-items: flex-start; }
.igp-ty-acomp strong { display: block; margin-bottom: 2px; font-size: 13px; font-weight: 600; }
.igp-ty-acomp p { margin: 0; font-size: 12px; line-height: 1.45; color: var(--igp-muted); }
.igp-ty-acomp a { color: var(--igp-ink); text-decoration: underline; }
.igp-ty-acomp a:hover { color: var(--igp-wine); }
.igp-ty-ajuda, .igp-ty-ajuda * { text-decoration: none !important; }
.igp-ty-ajuda, .igp-ty-ajuda svg { transition: color .2s; }
.igp-ty-ajuda:hover, .igp-ty-ajuda:hover strong, .igp-ty-ajuda:hover svg { color: var(--igp-wine) !important; }
.igp-ty .igp-ty-bloco h2, .igp-ty .igp-ty-dados h2 { margin: 4px 0 8px !important; font: 600 13px/1.3 var(--igp-font-body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--igp-ink) !important; }
.igp-ty-side { gap: 10px; }

/* thankyou v4: hover cinza + continuar no canto da página */
.igp-ty-continuar { right: calc((100% - 100vw) / 2 + 32px); }
.igp-ty-continuar:hover { color: var(--igp-muted) !important; }
.igp-pix-copy:hover { background: #4A4A4A; }
.igp-ty-acomp a:hover { color: var(--igp-muted); }
.igp-ty-ajuda:hover, .igp-ty-ajuda:hover strong, .igp-ty-ajuda:hover svg { color: var(--igp-muted) !important; }
@media (max-width: 760px) { .igp-ty-continuar { right: 20px; font-size: 13px !important; } }

/* thankyou v5: QR maior com moldura cinza */
.igp-pix-qr { width: 220px; height: 220px; padding: 14px; background: #E6E6E6; border: 0; border-radius: 10px; }
.igp-pix-qr img { padding: 8px; border-radius: 2px; }
@media (max-width: 760px) { .igp-pix-qr { width: 240px; height: 240px; } }

/* ===== Central Minha Conta ===== */
.woocommerce-account .woocommerce:has(> .igp-conta) { display: block !important; max-width: none; }
.woocommerce-account:has(.igp-conta) .entry-title, .woocommerce-account:has(.igp-conta) .page-title { display: none; }
.igp-conta { max-width: 1100px; margin: 20px auto 60px; padding: 0 20px; font-family: var(--igp-font-body); color: var(--igp-ink); }
.igp-conta-titulo { margin: 0 0 18px; text-align: center; font: 500 30px/1.2 var(--igp-font-display); color: var(--igp-ink); }
.igp-conta-card { background: #FFFFFF; border: 1px solid var(--igp-cream-line); border-radius: var(--igp-radius); }
.igp-conta-perfil { display: flex; align-items: center; gap: 18px; padding: 18px 22px; }
.igp-conta-avatar { flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--igp-ink); color: #FFFFFF; display: flex; align-items: center; justify-content: center; font: 500 28px/1 var(--igp-font-display); }
.igp-conta-ola { flex: 1; min-width: 0; }
.igp-conta-nome { margin: 0 0 4px; font-size: 19px; font-weight: 600; line-height: 1.3; }
.igp-conta-email { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--igp-muted); word-break: break-all; }
.igp-conta-btn { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; background: var(--igp-ink); color: #FFFFFF !important; border: 1px solid var(--igp-ink); border-radius: var(--igp-radius); font: 500 12px/1 var(--igp-font-body); letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; transition: background .2s, border-color .2s, color .2s; }
.igp-conta-btn:hover { background: #4A4A4A; border-color: #4A4A4A; }
.igp-conta-btn.is-outline { height: 36px; padding: 0 16px; background: #FFFFFF; color: var(--igp-ink) !important; font-size: 11px; }
.igp-conta-btn.is-outline:hover { background: #FFFFFF; border-color: var(--igp-muted); color: var(--igp-muted) !important; }
.igp-conta-sec { margin: 30px 0 12px; font: 600 12px/1.2 var(--igp-font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--igp-ink); }
.igp-conta-sec-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.igp-conta-link { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--igp-ink) !important; text-decoration: underline !important; }
.igp-conta-link:hover { color: var(--igp-muted) !important; }
.igp-conta-atalhos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.igp-conta-atalho { display: flex; align-items: center; gap: 16px; min-height: 72px; padding: 0 22px; color: var(--igp-ink) !important; text-decoration: none !important; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; transition: border-color .2s, color .2s; }
.igp-conta-atalho svg { flex: none; color: var(--igp-ink); transition: color .2s; }
.igp-conta-atalho:hover { border-color: var(--igp-muted); color: var(--igp-muted) !important; }
.igp-conta-atalho:hover svg { color: var(--igp-muted); }
.igp-conta-pedido { padding: 0; }
.igp-conta-ped-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-conta-ped-topo p { margin: 0; font-size: 14px; }
.igp-conta-ped-linha { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 18px; border-bottom: 1px solid var(--igp-cream-line); font-size: 13px; }
.igp-conta-ped-linha svg { color: var(--igp-muted); }
.igp-conta-status { font-weight: 600; color: var(--igp-muted); }
.igp-conta-status.is-ok { color: var(--igp-green); }
.igp-conta-itens { list-style: none; margin: 0; padding: 6px 18px; }
.igp-conta-itens li { display: flex; align-items: center; gap: 16px; padding: 10px 0; }
.igp-conta-itens li + li { border-top: 1px solid var(--igp-cream-line); }
.igp-conta-thumb img { width: 72px; height: 72px; object-fit: contain; display: block; mix-blend-mode: multiply; }
.igp-conta-vendido { margin: 0 0 4px; font-size: 11px; color: var(--igp-muted); }
.igp-conta-vendido strong { color: var(--igp-ink); }
.igp-conta-prod { margin: 0 0 2px; font-size: 14px; font-weight: 500; }
.igp-conta-qtd { margin: 0; font-size: 12px; color: var(--igp-muted); }
.igp-conta-vazio { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; }
.igp-conta-vazio p { margin: 0; font-size: 14px; }
.igp-conta-voltar { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--igp-ink) !important; text-decoration: none !important; }
.igp-conta-voltar:hover { color: var(--igp-muted) !important; }
@media (max-width: 860px) { .igp-conta-atalhos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .igp-conta-perfil { flex-wrap: wrap; }
  .igp-conta-perfil .igp-conta-btn { width: 100%; justify-content: center; }
  .igp-conta-atalhos { grid-template-columns: minmax(0, 1fr); }
  .igp-conta-atalho { min-height: 60px; }
  .igp-conta-ped-topo { flex-wrap: wrap; }
}

/* Central Minha Conta v2: centralizada, mais larga e maior */
.woocommerce-account *:has(> .igp-conta), .woocommerce-account *:has(> * > .igp-conta) { display: block !important; max-width: none !important; width: auto !important; grid-column: 1 / -1 !important; float: none !important; }
.igp-conta { box-sizing: border-box; width: min(1500px, 100%); max-width: none; margin: 24px auto 70px; padding: 0 32px; }
.igp-conta-titulo { margin: 0 0 16px; text-align: left; font: 700 15px/1.3 var(--igp-font-body); letter-spacing: 0; color: var(--igp-ink); }
.igp-conta-perfil { gap: 22px; padding: 22px 28px; }
.igp-conta-avatar { width: 84px; height: 84px; font-size: 34px; }
.igp-conta-nome { font-size: 23px; font-weight: 700; margin-bottom: 6px; }
.igp-conta-email { font-size: 15px; }
.igp-conta-btn { height: 50px; padding: 0 28px; font-size: 13px; }
.igp-conta-sec { display: flex; align-items: center; gap: 10px; margin: 34px 0 14px; font: 700 20px/1.2 var(--igp-font-body) !important; letter-spacing: 0 !important; text-transform: uppercase; color: var(--igp-ink) !important; }
.igp-conta-sec svg { flex: none; color: var(--igp-ink); }
.igp-conta-sec-row { align-items: center; flex-wrap: nowrap; }
.igp-conta-sec-row .igp-conta-sec { white-space: nowrap; }
.igp-conta-link { white-space: nowrap; font-size: 12px; margin-top: 20px; }
.igp-conta-atalhos { gap: 16px; }
.igp-conta-atalho { min-height: 92px; padding: 0 28px; gap: 18px; font-size: 15px; }
.igp-conta-atalho svg { width: 30px; height: 30px; }
.igp-conta-ped-topo { padding: 16px 24px; }
.igp-conta-ped-topo p { font-size: 16px; }
.igp-conta-ped-linha { padding: 13px 24px; font-size: 15px; }
.igp-conta-btn.is-outline { height: 40px; font-size: 12px; }
.igp-conta-itens { padding: 8px 24px; }
.igp-conta-thumb img { width: 90px; height: 90px; }
.igp-conta-vendido { font-size: 13px; }
.igp-conta-prod { font-size: 16px; }
.igp-conta-qtd { font-size: 14px; }
@media (max-width: 560px) {
  .igp-conta { padding: 0 16px; }
  .igp-conta-sec { font-size: 16px !important; }
  .igp-conta-sec-row { flex-wrap: wrap; }
  .igp-conta-sec-row .igp-conta-sec { white-space: normal; }
  .igp-conta-link { margin-top: 0; }
}

/* Central Minha Conta v3: mais alta e compacta */
.woocommerce-account main:has(.igp-conta), .woocommerce-account .site-main:has(.igp-conta), .woocommerce-account article:has(.igp-conta), .woocommerce-account .entry-content:has(.igp-conta), .woocommerce-account .woocommerce:has(.igp-conta), .woocommerce-account [class*="container"]:has(.igp-conta), .woocommerce-account [class*="wrap"]:has(.igp-conta) { padding-top: 0 !important; margin-top: 0 !important; }
.igp-conta { margin-top: 16px !important; }
.igp-conta-titulo { margin: 0 0 12px !important; font-size: 20px !important; }
.igp-conta p { margin-top: 0 !important; }
.igp-conta-sec { margin: 24px 0 10px !important; }
.igp-conta-atalhos { gap: 12px; }
.igp-conta-atalho { min-height: 66px; padding: 0 22px; gap: 14px; font-size: 13px; }
.igp-conta-atalho svg { width: 24px; height: 24px; }
.igp-conta-ped-topo { padding: 10px 20px; }
.igp-conta-ped-topo p { font-size: 15px; margin: 0 !important; }
.igp-conta-btn.is-outline { height: 34px; }
.igp-conta-ped-linha { padding: 8px 20px !important; margin: 0 !important; font-size: 14px; }
.igp-conta-itens { padding: 2px 20px !important; margin: 0 !important; }
.igp-conta-itens li { gap: 14px; padding: 8px 0; margin: 0 !important; }
.igp-conta-thumb img { width: 56px; height: 56px; }
.igp-conta-vendido { margin: 0 0 1px !important; font-size: 12px; }
.igp-conta-prod { margin: 0 0 1px !important; font-size: 14px; line-height: 1.3; }
.igp-conta-qtd { margin: 0 !important; font-size: 12px; }

.igp-conta-email svg { color: var(--igp-ink); flex: none; }

/* ===== Meus pedidos ===== */
.woocommerce-account .woocommerce-notices-wrapper:has(+ .igp-conta), .woocommerce-account .woocommerce:has(.igp-pedidos) > .woocommerce-message, .woocommerce-account .woocommerce:has(.igp-pedidos) > .woocommerce-info { box-sizing: border-box; width: min(1500px, 100%); margin: 16px auto 0; padding: 0 32px; }
.igp-conta-trilha { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 14px; }
.igp-conta-trilha a { color: var(--igp-muted) !important; text-decoration: underline !important; }
.igp-conta-trilha a:hover { color: var(--igp-ink) !important; }
.igp-conta-trilha span { color: var(--igp-ink); font-weight: 700; }
.igp-conta-trilha strong { font-weight: 700; }
.igp-pedidos-titulo { margin: 0 0 14px !important; }
.igp-pedidos-filtros { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.55fr) minmax(0, 0.55fr); gap: 14px; margin: 0 0 16px; }
.igp-pf { position: relative; display: block; margin: 0; }
.igp-pf-busca { grid-column: 1; }
.igp-pf-sel:nth-of-type(2) { grid-column: 3; }
.igp-pf-sel:nth-of-type(3) { grid-column: 4; }
.igp-pf input, .igp-pf select { box-sizing: border-box; width: 100%; height: 46px; margin: 0; padding: 0 44px 0 14px; background: #FFFFFF; border: 1px solid var(--igp-cream-line); border-radius: var(--igp-radius); font: 400 14px/1 var(--igp-font-body); color: var(--igp-ink); outline: none; -webkit-appearance: none; appearance: none; }
.igp-pf input:focus, .igp-pf select:focus { border-color: var(--igp-ink); }
.igp-pf select { cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2317100F' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.igp-pf-busca button { position: absolute; right: 4px; top: 4px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; padding: 0; background: none; border: 0; color: var(--igp-ink); cursor: pointer; }
.igp-pf-busca button:hover { color: var(--igp-muted); }
.igp-pf-sel span { position: absolute; left: 10px; top: -8px; padding: 0 4px; background: #FFFFFF; font-size: 11px; line-height: 16px; color: var(--igp-muted); z-index: 1; }
.igp-pedidos .igp-conta-pedido { margin-bottom: 14px; }
.igp-pedidos-acoes { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.igp-conta-btn.is-sm { height: 34px; padding: 0 16px; font-size: 11px; }
.igp-conta-status.is-off { color: var(--igp-muted); }
.igp-pedidos-fim { padding: 20px; text-align: center; }
.igp-pedidos-fim p { margin: 0 !important; font-size: 15px; color: var(--igp-muted); }
@media (max-width: 860px) {
  .igp-pedidos-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .igp-pf-busca { grid-column: 1 / -1; }
  .igp-pf-sel:nth-of-type(2) { grid-column: 1; }
  .igp-pf-sel:nth-of-type(3) { grid-column: 2; }
}

/* Meus pedidos: filtros sem corte */
.igp-pedidos-filtros { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 220px 220px; }
.igp-pf-sel span { white-space: nowrap; text-transform: none !important; letter-spacing: 0 !important; font: 400 12px/16px var(--igp-font-body) !important; color: var(--igp-muted) !important; }
.igp-pf select { height: 46px !important; min-height: 46px !important; padding: 0 36px 0 14px !important; line-height: 44px !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; border: 1px solid var(--igp-cream-line) !important; background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2317100F' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; -webkit-appearance: none !important; appearance: none !important; }
@media (max-width: 860px) { .igp-pedidos-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* Vendido e entregue por: selo cinza */
.igp-conta-vendido { display: inline-block; margin: 0 0 4px !important; padding: 2px 6px; background: #EFEFEF; border-radius: 2px; font-size: 10px !important; line-height: 1.4; color: var(--igp-muted); }
.igp-conta-vendido strong { font-weight: 400 !important; color: var(--igp-ink); }

/* Meus pedidos: ícones nos filtros e busca maior */
.igp-pedidos-filtros { grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.6fr) 230px 230px; }
.igp-pf-ico { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--igp-ink); pointer-events: none; z-index: 1; }
.igp-pf-sel select { padding-left: 38px !important; }
.igp-pf-busca input { height: 48px !important; font-size: 15px; padding-left: 16px !important; }
.igp-pf-busca button { top: 5px; }
.igp-pf select { height: 48px !important; min-height: 48px !important; line-height: 46px !important; }
@media (max-width: 860px) { .igp-pedidos-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* ===== Detalhes do pedido ===== */
.igp-ped-status { margin: 0 0 12px !important; font-size: 16px; font-weight: 700; color: var(--igp-ink); }
.igp-ped-status.is-ok { color: var(--igp-green); }
.igp-ped-status.is-off { color: var(--igp-muted); }
.igp-ped-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 16px; align-items: start; }
.igp-ped-main { padding: 6px 22px 22px; }
.igp-ped-itens { list-style: none; margin: 0 !important; padding: 0 !important; }
.igp-ped-itens li { display: flex; align-items: center; gap: 14px; padding: 12px 0; margin: 0 !important; border-bottom: 1px solid var(--igp-cream-line); }
.igp-ped-item-info { flex: 1; min-width: 0; }
.igp-ped-preco { flex: none; font-size: 16px; color: var(--igp-ink); }
.igp-ped-rastreio { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 0 18px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-ped-rot { margin: 0 0 2px !important; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.igp-ped-cod { margin: 0 !important; font-size: 14px; }
.igp-ped-cod span, .igp-ped-cod.is-muted { color: var(--igp-muted); font-size: 13px; }
.igp-ped-botoes { display: flex; gap: 10px; flex-wrap: wrap; }
.igp-ped-botoes .igp-conta-btn { height: 44px; font-size: 12px; }
.igp-ped-botoes .igp-conta-btn.is-outline { height: 44px; }
.igp-ped-linha { --feito: 0%; position: relative; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 22px 0 0 !important; padding: 0 !important; }
.igp-ped-linha::before, .igp-ped-linha::after { content: ""; position: absolute; top: 17px; left: 12.5%; height: 2px; background: var(--igp-cream-line); }
.igp-ped-linha::before { right: 12.5%; }
.igp-ped-linha::after { width: calc(75% * var(--feito) / 100%); background: var(--igp-ink); }
.igp-ped-linha li { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0 !important; text-align: center; }
.igp-ped-ico { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #FFFFFF; border: 2px solid var(--igp-cream-line); color: var(--igp-muted); box-sizing: border-box; }
.igp-ped-linha li.is-feito .igp-ped-ico { background: var(--igp-ink); border-color: var(--igp-ink); color: #FFFFFF; }
.igp-ped-linha li:last-child.is-feito .igp-ped-ico { background: var(--igp-green); border-color: var(--igp-green); }
.igp-ped-linha strong { margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--igp-muted); line-height: 1.3; }
.igp-ped-linha li.is-feito strong { color: var(--igp-ink); }
.igp-ped-linha small { font-size: 11px; line-height: 1.35; color: var(--igp-muted); }
.igp-ped-side { display: flex; flex-direction: column; gap: 16px; }
.igp-ped-resumo { padding: 16px 20px; }
.igp-ped-topo { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding-bottom: 10px; border-bottom: 1px solid var(--igp-cream-line); font-size: 14px; font-weight: 700; }
.igp-ped-copiar { display: flex; padding: 2px; background: none; border: 0; color: var(--igp-ink); cursor: pointer; }
.igp-ped-copiar:hover { color: var(--igp-muted); }
.igp-ped-copiar.is-ok { color: var(--igp-green); }
.igp-ped-bloco { padding: 10px 0; border-bottom: 1px solid var(--igp-cream-line); }
.igp-ped-bloco p { margin: 0 !important; font-size: 13px; line-height: 1.45; }
.igp-ped-pag { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.igp-ped-totais { margin: 0; padding-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.igp-ped-totais div { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.igp-ped-totais dt, .igp-ped-totais dd { margin: 0; }
.igp-ped-totais dt { color: var(--igp-muted); }
.igp-ped-totais .is-total { margin-top: 4px; padding: 8px 10px; background: #EFEFEF; font-size: 14px; font-weight: 700; }
.igp-ped-totais .is-total dt { color: var(--igp-ink); }
.igp-ped-acoes { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px; }
.igp-conta-btn.is-full { width: 100%; justify-content: center; box-sizing: border-box; height: 46px; }
.igp-conta-btn.is-outline.is-full { height: 46px; }
@media (max-width: 1000px) { .igp-ped-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .igp-ped-main { padding: 4px 14px 16px; }
  .igp-ped-botoes, .igp-ped-botoes .igp-conta-btn { width: 100%; justify-content: center; }
  .igp-ped-linha strong { font-size: 10px; }
  .igp-ped-linha small { font-size: 9px; }
}

/* Sacola vazia: contador 0 sempre visível no título */
.igp-cart-title .igp-cart-count, .igp-cart-title .igp-cart-count--zero { display: inline-flex !important; }

/* ===== Meus dados ===== */
.igp-dados-form { padding: 18px 22px 20px; }
.igp-dados-topo { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.igp-dados-link { padding: 0; background: none !important; border: 0; font: 700 12px/1.2 var(--igp-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--igp-ink) !important; text-decoration: underline; cursor: pointer; }
.igp-dados-link:hover { color: var(--igp-muted) !important; }
.igp-dados-link.is-forte { font-size: 13px; text-decoration: none; }
.igp-dados-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
.igp-dados-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.igp-df { position: relative; display: block; margin: 0; }
.igp-df.is-full { grid-column: 1 / -1; }
.igp-df > span { position: absolute; left: 10px; top: -8px; padding: 0 4px; background: #FFFFFF; font: 400 12px/16px var(--igp-font-body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--igp-ink); z-index: 1; white-space: nowrap; }
.igp-df > span b { font-weight: 400; margin-left: 1px; }
.igp-df input { box-sizing: border-box; width: 100%; height: 48px !important; margin: 0 !important; padding: 0 40px 0 14px !important; background: #FFFFFF !important; border: 1px solid var(--igp-ink) !important; border-radius: var(--igp-radius); font: 400 15px/1 var(--igp-font-body) !important; color: var(--igp-ink) !important; outline: none; box-shadow: none !important; }
.igp-df input:focus { border-width: 2px !important; }
.igp-df.is-lock > span { color: var(--igp-muted); }
.igp-df.is-lock input { border-color: var(--igp-cream-line) !important; color: var(--igp-muted) !important; cursor: default; }
.igp-df > i { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); display: flex; color: var(--igp-muted); font-style: normal; pointer-events: none; }
.igp-dados-obs { margin: 14px 0 18px !important; font-size: 12px; color: var(--igp-muted); }
.igp-dados-check { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-size: 14px; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; }
.igp-dados-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--igp-ink); flex: none; }
.igp-dados-senha { margin: 0 0 20px; padding-top: 16px; border-top: 1px solid var(--igp-cream-line); }
.igp-dados-senha-tit { margin: 0 0 16px !important; font-size: 13px; font-weight: 700; }
.igp-dados-acoes { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--igp-cream-line); }
.igp-dados-excluir { padding-top: 16px; }
.igp-dados-excluir a { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--igp-muted) !important; text-decoration: none !important; }
.igp-dados-excluir a:hover { color: var(--igp-ink) !important; }
@media (max-width: 700px) {
  .igp-dados-grid, .igp-dados-grid.is-3 { grid-template-columns: minmax(0, 1fr); }
  .igp-dados-form { padding: 16px 14px; }
}

.igp-dados-email { margin: 22px 0 0; }
.igp-dados-email-obs { margin: 10px 0 0 !important; font-size: 12px; color: var(--igp-muted); }

/* ===== Código de verificação (modal) ===== */
.igp-cod-fundo { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.55); }
.igp-cod-fundo[hidden] { display: none; }
.igp-cod-box { box-sizing: border-box; width: 100%; max-width: 560px; padding: 22px 24px 8px; background: #FFFFFF; border-radius: var(--igp-radius); font-family: var(--igp-font-body); color: var(--igp-ink); }
.igp-cod-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.igp-cod-tit { margin: 0 !important; font-size: 20px; font-weight: 700; }
.igp-cod-x { display: flex; padding: 4px; background: none; border: 0; color: var(--igp-ink); cursor: pointer; }
.igp-cod-x:hover { color: var(--igp-muted); }
.igp-cod-txt { margin: 0 0 18px !important; font-size: 14px; }
.igp-cod-caixas { display: flex; justify-content: center; gap: 12px; margin-bottom: 16px; }
.igp-cod-caixas input { box-sizing: border-box; width: 56px; height: 58px; margin: 0; padding: 0; text-align: center; font: 600 24px/1 var(--igp-font-body); text-transform: uppercase; color: var(--igp-ink); background: #FFFFFF; border: 1px solid var(--igp-cream-line); border-radius: var(--igp-radius); outline: none; }
.igp-cod-caixas input:focus { border: 2px solid var(--igp-ink); }
.igp-cod-erro { margin: -4px 0 12px !important; text-align: center; font-size: 13px; color: var(--igp-ink); font-weight: 600; }
.igp-cod-enviar { display: flex; margin: 0 auto 14px; min-width: 170px; justify-content: center; }
.igp-cod-enviar:disabled { background: #CFCFCF !important; border-color: #CFCFCF !important; cursor: default; }
.igp-cod-reenviar { display: block; margin: 0 0 16px; padding: 0; background: none; border: 0; font: 700 11px/1.2 var(--igp-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--igp-ink); cursor: pointer; }
.igp-cod-reenviar:disabled { color: #B5B5B5; cursor: default; }
.igp-cod-reenviar:not(:disabled):hover { color: var(--igp-muted); }
.igp-cod-ajuda { border-top: 1px solid var(--igp-cream-line); }
.igp-cod-ajuda summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.igp-cod-ajuda summary::-webkit-details-marker { display: none; }
.igp-cod-ajuda summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; transition: transform .2s; }
.igp-cod-ajuda[open] summary::after { transform: rotate(-135deg); }
.igp-cod-ajuda p { margin: 0 0 14px !important; font-size: 13px; color: var(--igp-muted); }
.igp-cod-ajuda a { color: var(--igp-ink); text-decoration: underline; }
@media (max-width: 480px) { .igp-cod-caixas { gap: 6px; } .igp-cod-caixas input { width: 44px; height: 50px; font-size: 20px; } }

/* ===== Endereços ===== */
.igp-end-card { padding: 18px 20px 22px; }
.igp-end-topo { display: flex; justify-content: flex-end; margin-bottom: 18px; }
.igp-end-topo .igp-conta-btn { height: 40px; }
.igp-end-vazio { margin: 0 !important; padding: 10px 0; font-size: 14px; color: var(--igp-muted); }
.igp-end-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 360px)); gap: 14px; }
.igp-end-item { display: flex; flex-direction: column; padding: 16px 18px 14px; background: #FFFFFF; border: 1px solid var(--igp-cream-line); border-radius: var(--igp-radius); }
.igp-end-item.is-padrao { background: #F3F1EE; border-color: #F3F1EE; }
.igp-end-item p { margin: 0 !important; font-size: 14px; line-height: 1.45; }
.igp-end-item-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.igp-end-apelido { font-size: 17px !important; font-weight: 700; }
.igp-end-tag { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--igp-ink); }
.igp-end-acoes { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: auto; padding-top: 18px; }
.igp-end-acoes form { margin: 0; }
.igp-end-acoes button { padding: 0; background: none !important; border: 0; font: 700 11px/1.2 var(--igp-font-body); letter-spacing: .05em; text-transform: uppercase; color: var(--igp-ink) !important; text-decoration: underline; cursor: pointer; }
.igp-end-acoes button:hover { color: var(--igp-muted) !important; }
.igp-end-acoes button.is-forte { text-decoration: underline; text-decoration-thickness: 2px; }
.igp-end-form { max-width: 640px; padding-bottom: 20px; max-height: calc(100vh - 32px); overflow: auto; }
.igp-end-grid { gap: 20px 12px; margin-top: 10px; }
.igp-df select { box-sizing: border-box; width: 100%; height: 48px; margin: 0; padding: 0 14px; background: #FFFFFF; border: 1px solid var(--igp-ink); border-radius: var(--igp-radius); font: 400 15px/1 var(--igp-font-body); color: var(--igp-ink); }
.igp-end-check { margin: 18px 0; }
.igp-end-form-acoes { display: flex; justify-content: flex-end; align-items: center; gap: 20px; }
@media (max-width: 560px) { .igp-end-lista { grid-template-columns: minmax(0, 1fr); } .igp-end-grid { grid-template-columns: minmax(0, 1fr); } }

/* Endereços: janela no estilo "Informe o endereço" */
.igp-end-form { max-width: 740px; }
.igp-end-form .igp-cod-tit { font-size: 20px; }
.igp-end-cep { margin-top: 12px !important; }
.igp-end-naosei { display: flex; justify-content: flex-end; margin: 8px 0 14px; }
.igp-end-naosei a { font-size: 12px; font-weight: 700; color: var(--igp-ink) !important; text-decoration: underline !important; }
.igp-end-naosei a:hover { color: var(--igp-muted) !important; }
.igp-end-msg { margin: -6px 0 12px !important; font-size: 13px; color: var(--igp-muted); }
.igp-end-bloco { display: flex; flex-direction: column; gap: 20px; }
.igp-end-linha3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.igp-end-linha2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.igp-end-sem { display: flex; align-items: center; gap: 6px; margin: 8px 0 0 2px; font-size: 13px; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.igp-end-sem input { width: 14px; height: 14px; margin: 0; accent-color: var(--igp-ink); }
.igp-df.is-lock input:disabled { background: #FFFFFF !important; }
.igp-end-form-acoes { justify-content: center; gap: 28px; margin-top: 24px; }
.igp-end-form-acoes .igp-conta-btn { min-width: 170px; justify-content: center; }
@media (max-width: 560px) { .igp-end-linha3, .igp-end-linha2 { grid-template-columns: minmax(0, 1fr); } }

/* Erros dos campos obrigatórios */
.igp-df.is-erro input, .igp-df.is-erro select { border-color: #C62828 !important; }
.igp-df.is-erro > span { color: #C62828 !important; }
.igp-df-erro { display: flex; align-items: flex-start; gap: 5px; margin: 6px 0 0 2px !important; font-size: 12px; line-height: 1.35; color: #C62828; }
.igp-df-erro svg { flex: none; margin-top: 1px; }
.igp-end-bloco > .igp-df-erro, .igp-end-linha3 .igp-df-erro { margin-top: -14px !important; }
.igp-end-linha3 { align-items: start; }

/* Avisos de exclusão de endereço */
.igp-end-aviso { max-width: 600px; padding: 22px 24px 22px; }
.igp-end-aviso > .igp-cod-tit { margin-bottom: 10px !important; }
.igp-end-aviso .igp-cod-topo { margin-bottom: 10px; }
.igp-end-aviso-txt { margin: 0 !important; font-size: 14px; color: var(--igp-ink); }
.igp-end-aviso .igp-end-form-acoes { margin-top: 22px; }
.igp-end-aviso .igp-conta-btn { min-width: 110px; justify-content: center; }

/* Aviso flutuante dos endereços (nome próprio: .igp-toast é o aviso da sacola) */
.igp-aviso { position: fixed; top: 96px; right: 24px; z-index: 10001; display: flex; align-items: center; gap: 12px; width: min(360px, calc(100vw - 24px)); box-sizing: border-box; padding: 14px 14px 14px 16px; background: #17100F; color: #FFFFFF; border-radius: var(--igp-radius); box-shadow: 0 8px 24px rgba(0,0,0,.18); opacity: 1; animation: igpAvisoIn .3s ease; transition: opacity .3s, transform .3s; }
.admin-bar .igp-aviso { top: 128px; }
.igp-aviso p { flex: 1; margin: 0 !important; font: 600 14px/1.35 var(--igp-font-body); color: #FFFFFF; }
.igp-aviso-ico { flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--igp-green); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.igp-aviso button { flex: none; display: flex; padding: 4px; background: none; border: 0; color: #FFFFFF; opacity: .75; cursor: pointer; }
.igp-aviso button:hover { opacity: 1; }
.igp-aviso.is-saindo { opacity: 0; transform: translateY(-8px); pointer-events: none; }
@keyframes igpAvisoIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) { .igp-aviso { top: 76px; left: 12px; right: 12px; width: auto; } .admin-bar .igp-aviso { top: 110px; } }

/* Newsletter do rodapé igual em todas as páginas (WooCommerce/Minha conta pintavam os campos de branco) */
footer .igp-footer-news input[type="text"], footer .igp-footer-news input[type="email"],
.igp-footer .igp-footer-news input[type="text"], .igp-footer .igp-footer-news input[type="email"] {
  width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important;
  padding: 10px 0 !important; background: transparent !important; background-color: transparent !important;
  border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.22) !important; border-radius: 0 !important;
  box-shadow: none !important; color: #FFFFFF !important; font: inherit; font-size: 14px !important; line-height: 1.4 !important;
  -webkit-appearance: none; appearance: none;
}
.igp-footer .igp-footer-news-campo input[type="email"] { border-bottom: 0 !important; }
.igp-footer .igp-footer-news input::placeholder { color: rgba(255,255,255,.55) !important; opacity: 1; }
.igp-footer .igp-footer-news input:focus { border-bottom-color: var(--igp-gold) !important; outline: none !important; }
.igp-footer .igp-footer-news input:-webkit-autofill { -webkit-text-fill-color: #FFFFFF; -webkit-box-shadow: 0 0 0 1000px #000000 inset !important; transition: background-color 9999s; }
.igp-footer .igp-footer-news-campo { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; border-bottom: 1px solid rgba(255,255,255,.22) !important; text-transform: none !important; letter-spacing: 0 !important; }
.igp-footer .igp-footer-news-campo:focus-within { border-bottom-color: var(--igp-gold) !important; }
.igp-footer .igp-footer-news-campo button { flex: none; width: auto !important; height: auto !important; min-height: 0 !important; padding: 6px 0 6px 6px !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: #FFFFFF !important; }
.igp-footer .igp-footer-news-campo button:hover { color: var(--igp-gold) !important; }

/* ===== Atendimento ao cliente ===== */
.igp-atd-sub { margin: -6px 0 14px !important; font-size: 14px; color: var(--igp-ink); }
.igp-atd-horario { margin: 0 0 16px !important; padding-top: 14px; border-top: 1px solid var(--igp-cream-line); font-size: 14px; line-height: 1.5; color: var(--igp-muted); }
.igp-atd-horario strong { color: var(--igp-ink); font-weight: 700; }
.igp-atd-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.igp-atd-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 28px 24px 26px; }
.igp-atd-ico { color: var(--igp-ink); display: flex; }
.igp-atd-tit { margin: 4px 0 6px !important; font-size: 16px; font-weight: 700; }
.igp-atd-status { display: flex; align-items: center; gap: 6px; margin: 0 !important; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--igp-muted); }
.igp-atd-status span { width: 9px; height: 9px; border-radius: 50%; background: #B5B5B5; }
.igp-atd-status.is-online { color: var(--igp-green); }
.igp-atd-status.is-online span { background: var(--igp-green); box-shadow: 0 0 0 0 rgba(30,142,78,.5); animation: igpPulso 2s infinite; }
.igp-atd-status.is-offline span { background: #9A9A9A; }
.igp-atd-status.is-neutro { text-transform: none; letter-spacing: 0; font-size: 13px; }
.igp-atd-num { margin: 2px 0 4px !important; font-size: 20px; font-weight: 700; color: var(--igp-ink); }
.igp-atd-num.is-email { font-size: 16px; word-break: break-all; }
.igp-atd-btn { min-width: 200px; justify-content: center; }
.igp-atd-obs { margin: 0 !important; font-size: 12px; color: var(--igp-muted); max-width: 32ch; }
@keyframes igpPulso { 0% { box-shadow: 0 0 0 0 rgba(30,142,78,.45); } 70% { box-shadow: 0 0 0 7px rgba(30,142,78,0); } 100% { box-shadow: 0 0 0 0 rgba(30,142,78,0); } }
@media (max-width: 700px) { .igp-atd-grid { grid-template-columns: minmax(0, 1fr); } }

/* Produtos clicáveis nos pedidos */
a.igp-conta-thumb { display: block; flex: none; transition: opacity .2s; }
a.igp-conta-thumb:hover { opacity: .75; }
.igp-conta-prod a { color: var(--igp-ink) !important; text-decoration: none !important; }
.igp-conta-prod a:hover { color: var(--igp-muted) !important; text-decoration: underline !important; }
/* Linha do tempo de pedido cancelado */
.igp-ped-linha.is-cancelado { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 420px; }
.igp-ped-linha.is-cancelado::before, .igp-ped-linha.is-cancelado::after { left: 25%; right: 25%; width: auto; background: var(--igp-cream-line); }
.igp-ped-linha li.is-x .igp-ped-ico { background: #9A9A9A !important; border-color: #9A9A9A !important; }

.woocommerce-checkout .woocommerce-form-login-toggle, .woocommerce-checkout form.woocommerce-form-login.login { display: none !important; }

/* Checkout: mensagens de campo obrigatório */
.igp-co .form-row.woocommerce-invalid input, .igp-co .form-row.woocommerce-invalid select, .igp-co .form-row.woocommerce-invalid .select2-selection { border-color: #C62828 !important; }
.igp-co .form-row.woocommerce-invalid > label { color: #C62828 !important; }
.igp-co-erro { display: flex; align-items: flex-start; gap: 5px; margin: 6px 0 0 !important; font-size: 12px; line-height: 1.35; color: #C62828; }
.igp-co-erro svg { flex: none; margin-top: 1px; }
.igp-co-aviso { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin: 0 0 12px !important; font-size: 13px; font-weight: 600; color: #C62828; text-align: right; }
.igp-co-aviso svg { flex: none; }
@media (max-width: 700px) { .igp-co-aviso { justify-content: flex-start; text-align: left; } }

/* Checkout só com conta: esconde a caixinha "criar conta" caso algum plugin ainda mostre */
.igp-co .woocommerce-account-fields, .igp-co .create-account { display: none !important; }
/* Aviso na tela de login ao vir da sacola */
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message { box-sizing: border-box; max-width: 508px; margin: 18px auto 0 !important; padding: 12px 16px !important; background: #F3F1EE !important; border: 0 !important; color: #17100F !important; font-size: 14px; line-height: 1.45; }
.woocommerce-account .woocommerce-info::before, .woocommerce-account .woocommerce-message::before { display: none !important; }

/* ===== Menu da conta no topo (ícone de pessoa) ===== */
.igp-conta-menu { position: relative; display: flex; }
.igp-conta-drop { position: absolute; top: calc(100% + 10px); right: -12px; z-index: 1000; box-sizing: border-box; width: 240px; padding: 10px 0; background: #FFFFFF; border: 1px solid var(--igp-cream-line); box-shadow: 0 10px 30px rgba(0,0,0,.12); display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; font-family: var(--igp-font-body); text-align: left; }
.igp-conta-drop::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.igp-conta-menu:hover .igp-conta-drop, .igp-conta-menu:focus-within .igp-conta-drop, .igp-conta-menu.is-aberto .igp-conta-drop { opacity: 1; visibility: visible; transform: none; }
.igp-conta-drop a { display: block; padding: 9px 18px; font-size: 14px; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--igp-ink) !important; text-decoration: none !important; white-space: nowrap; }
.igp-conta-drop a:hover { background: #F3F1EE; color: var(--igp-ink) !important; }
.igp-conta-drop-ola { margin: 0 !important; padding: 4px 18px 10px; font-size: 13px; color: var(--igp-muted); border-bottom: 1px solid var(--igp-cream-line); margin-bottom: 6px !important; }
.igp-conta-drop-ola strong { color: var(--igp-ink); font-weight: 600; }
.igp-conta-drop-linha { display: block; height: 1px; margin: 6px 18px; background: var(--igp-cream-line); }
.igp-conta-drop a.igp-conta-drop-sair { color: var(--igp-muted) !important; }
.igp-conta-drop-tit { margin: 0 !important; padding: 6px 18px 4px; font-size: 15px; font-weight: 600; color: var(--igp-ink); }
.igp-conta-drop-txt { margin: 0 !important; padding: 0 18px 12px; font-size: 12px; line-height: 1.45; color: var(--igp-muted); }
.igp-conta-drop a.igp-conta-drop-btn { margin: 0 18px 8px; padding: 0; height: 42px; display: flex; align-items: center; justify-content: center; background: var(--igp-ink); color: #FFFFFF !important; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.igp-conta-drop a.igp-conta-drop-btn:hover { background: #4A4A4A; color: #FFFFFF !important; }
.igp-conta-drop a.igp-conta-drop-btn.is-outline { background: #FFFFFF; color: var(--igp-ink) !important; border: 1px solid var(--igp-ink); }
.igp-conta-drop a.igp-conta-drop-btn.is-outline:hover { background: #F3F1EE; color: var(--igp-ink) !important; }
@media (max-width: 600px) { .igp-conta-drop { right: -56px; width: 230px; } }

/* Setinha no ícone da conta */
.igp-conta-gatilho { display: inline-flex !important; align-items: center; gap: 3px; }
.igp-conta-seta { flex: none; transition: transform .2s; }
.igp-conta-menu:hover .igp-conta-seta, .igp-conta-menu.is-aberto .igp-conta-seta { transform: rotate(180deg); }
/* Pontinhos da senha maiores */
.woocommerce-account input[type="password"], .igp-df input[type="password"] { font-size: 20px !important; letter-spacing: 3px; }
.woocommerce-account input[type="password"]::placeholder, .igp-df input[type="password"]::placeholder { font-size: 14px; letter-spacing: 0; }
/* Erro no login */
input.igp-campo-erro { border-color: #C62828 !important; }
label.igp-label-erro { color: #C62828 !important; }
.igp-login-erro { margin: 6px 0 4px !important; }
/* Aviso verde (login / conta criada / saiu) */
.igp-ok { position: fixed; top: 96px; right: 24px; z-index: 10002; display: flex; align-items: center; gap: 12px; width: min(380px, calc(100vw - 24px)); box-sizing: border-box; padding: 14px 14px 14px 16px; background: #E8F5EC; border: 1px solid #B9E0C6; color: #16663A; box-shadow: 0 8px 24px rgba(0,0,0,.10); animation: igpAvisoIn .3s ease; transition: opacity .3s, transform .3s; font-family: var(--igp-font-body); }
.admin-bar .igp-ok { top: 128px; }
.igp-ok p { flex: 1; margin: 0 !important; font-size: 14px; font-weight: 600; line-height: 1.35; color: #16663A; }
.igp-ok-ico { flex: none; width: 22px; height: 22px; border-radius: 50%; background: #1E8E4E; color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.igp-ok button { flex: none; display: flex; padding: 4px; background: none; border: 0; color: #16663A; cursor: pointer; }
.igp-ok.is-saindo { opacity: 0; transform: translateY(-8px); pointer-events: none; }
@media (max-width: 560px) { .igp-ok { top: 76px; left: 12px; right: 12px; width: auto; } }

/* Senha: só o nosso olho (tira o do WooCommerce e o do navegador Edge) */
.igp-login-senha .show-password-input, .woocommerce-account .igp-login-senha .show-password-input, .woocommerce form .igp-login-senha .show-password-input { display: none !important; }
.igp-login-senha .password-input { display: block !important; width: 100%; position: static !important; }
input[type="password"]::-ms-reveal, input[type="password"]::-ms-clear { display: none !important; }
input[type="password"]::-webkit-credentials-auto-fill-button { visibility: hidden; pointer-events: none; position: absolute; right: 0; }

/* ===== Página 404 ===== */
.igp-404 { font-family: var(--igp-font-body); color: var(--igp-ink); }
.igp-404-topo { max-width: 620px; margin: 0 auto; padding: 72px 20px 56px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.igp-404-num { margin: 0 0 6px !important; font: 400 14px/1 var(--igp-font-body); letter-spacing: .4em; color: var(--igp-muted); }
.igp-404-tit { margin: 0 0 14px !important; font: 500 clamp(32px, 5vw, 46px)/1.1 var(--igp-font-display); color: var(--igp-ink); text-wrap: balance; }
.igp-404-txt { margin: 0 0 28px !important; max-width: 46ch; font-size: 15px; line-height: 1.6; color: var(--igp-muted); text-wrap: pretty; }
.igp-404-busca { position: relative; width: 100%; max-width: 460px; margin: 0 0 22px; }
.igp-404-busca input[type="search"] { box-sizing: border-box; width: 100%; height: 50px; margin: 0; padding: 0 50px 0 18px; background: #FFFFFF; border: 1px solid var(--igp-ink); border-radius: var(--igp-radius); font: 400 15px/1 var(--igp-font-body); color: var(--igp-ink); outline: none; -webkit-appearance: none; }
.igp-404-busca button { position: absolute; top: 5px; right: 5px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; background: none; border: 0; color: var(--igp-ink); cursor: pointer; }
.igp-404-busca button:hover { color: var(--igp-muted); }
.igp-404-botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 18px; }
.igp-404-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 26px; background: var(--igp-ink); color: #FFFFFF !important; border: 1px solid var(--igp-ink); border-radius: var(--igp-radius); font: 500 12px/1 var(--igp-font-body); letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; transition: background .2s, color .2s; }
.igp-404-btn:hover { background: #4A4A4A; border-color: #4A4A4A; }
.igp-404-btn.is-outline { background: #FFFFFF; color: var(--igp-ink) !important; }
.igp-404-btn.is-outline:hover { background: #F3F1EE; border-color: var(--igp-ink); }
.igp-404-ajuda { font-size: 13px; color: var(--igp-muted) !important; text-decoration: underline !important; }
.igp-404-ajuda:hover { color: var(--igp-ink) !important; }
.igp-404-sugest { max-width: 1200px; margin: 0 auto; padding: 0 20px 72px; border-top: 1px solid var(--igp-cream-line); }
.igp-404-sub { margin: 40px 0 24px !important; text-align: center; font: 500 26px/1.2 var(--igp-font-display); color: var(--igp-ink); }
@media (max-width: 560px) { .igp-404-topo { padding: 48px 16px 40px; } .igp-404-btn { width: 100%; } }

/* Aviso verde: blindado contra estilos do checkout (aparecia só a caixa vazia) */
body .igp-ok { display: flex !important; align-items: center !important; min-height: 50px; font-size: 14px !important; line-height: 1.35 !important; visibility: visible !important; }
body .igp-ok > * { display: flex !important; visibility: visible !important; opacity: 1 !important; }
body .igp-ok > p { display: block !important; flex: 1 1 auto !important; margin: 0 !important; padding: 0 !important; font: 600 14px/1.35 var(--igp-font-body) !important; color: #16663A !important; text-indent: 0 !important; letter-spacing: 0 !important; text-transform: none !important; }
body .igp-ok > .igp-ok-ico { flex: none !important; width: 22px !important; height: 22px !important; align-items: center; justify-content: center; border-radius: 50%; background: #1E8E4E !important; color: #FFFFFF !important; }
body .igp-ok > button { flex: none !important; width: auto !important; height: auto !important; min-height: 0 !important; padding: 4px !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: #16663A !important; }
body .igp-ok svg { display: block !important; width: 12px !important; height: 12px !important; }
body .igp-ok.is-saindo { opacity: 0 !important; transform: translateY(-8px); pointer-events: none; }
body .igp-ok:not(:has(p)) { display: none !important; }


/* =========================================================
   Categoria: tudo em preto + filtros Marca / Preço em dropdown
   ========================================================= */
.igp-archive-title { color: #111111; }
.igp-product-price-off, .igp-product-stock--pronta { color: #111111; }
.igp-pagination .page-numbers { color: #111111; }
.igp-pagination .page-numbers:hover { border-color: #111111; color: #111111; }
.igp-pagination .page-numbers.current { background: #111111; border-color: #111111; color: #FFFFFF; }
.igp-archive-toolbar { border-bottom: 0; }

.igp-filter-btn {
  display: inline-flex; align-items: center; gap: 9px;
  height: 44px; padding: 0 20px;
  border: 1px solid #111111; background: #FFFFFF; color: #111111;
  font-family: var(--igp-font-body); font-size: 13px; letter-spacing: .04em;
  transition: background .18s ease, color .18s ease;
}
.igp-filter-btn:hover, .igp-filter-btn.is-open { background: #111111; border-color: #111111; color: #FFFFFF; }
.igp-sort-select { height: 44px; border-color: var(--igp-cream-line); }

.igp-filter-panel {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 28px;
  background: transparent; border: 0;
  border-bottom: 1px solid var(--igp-cream-line);
  padding: 4px 0 22px;
}
.igp-filter-panel[hidden] { display: none; }
.igp-fdrop { position: relative; width: 230px; max-width: 100%; }
.igp-fdrop-btn {
  width: 100%; height: 48px; padding: 0 14px;
  display: flex; align-items: center; justify-content: space-between;
  border: 1px solid #111111; background: #FFFFFF; color: #111111;
  font-family: var(--igp-font-body); font-size: 12px; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.igp-fdrop-btn svg { transition: transform .2s ease; }
.igp-fdrop-btn:hover { background: #F4F4F4; }
.igp-fdrop.is-open .igp-fdrop-btn { background: #111111; color: #FFFFFF; }
.igp-fdrop.is-open .igp-fdrop-btn svg { transform: rotate(180deg); }
.igp-fdrop-menu {
  position: absolute; top: 100%; left: 0; z-index: 30;
  width: 100%; min-width: 230px;
  background: #FFFFFF; border: 1px solid #111111; border-top: 0;
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.igp-fdrop-menu[hidden] { display: none; }
.igp-fdrop-lista { max-height: 280px; overflow-y: auto; padding: 6px 0; }
.igp-fdrop-opt {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 16px; font-size: 14px; color: #111111; cursor: pointer;
}
.igp-fdrop-opt:hover { background: #F4F4F4; }
.igp-fdrop-opt input { accent-color: #111111; width: 15px; height: 15px; margin: 0; flex: none; }
.igp-fdrop-opt span { flex: 1; }
.igp-fdrop-opt em { font-style: normal; font-size: 12px; color: var(--igp-muted); }
.igp-fdrop-vazio { margin: 0; padding: 12px 16px; font-size: 13px; color: var(--igp-muted); }
.igp-fdrop-acoes {
  display: flex; justify-content: flex-end; align-items: center; gap: 14px;
  padding: 10px 12px; border-top: 1px solid var(--igp-cream-line);
}
.igp-fdrop-limpar { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: var(--igp-muted); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.igp-fdrop-limpar:hover { color: #111111; }
.igp-fdrop-aplicar {
  height: 40px; padding: 0 18px; border: 0; background: #111111; color: #FFFFFF;
  font-family: var(--igp-font-body); font-size: 13px; cursor: pointer;
}
.igp-fdrop-aplicar:hover { background: #333333; }
.igp-fdrop-preco { display: flex; align-items: flex-end; gap: 0; padding: 14px; }
.igp-fdrop-preco label { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #111111; }
.igp-fdrop-preco input {
  width: 100%; height: 40px; padding: 0 10px; box-sizing: border-box;
  border: 1px solid var(--igp-cream-line); border-right: 0; background: #FFFFFF;
  font-family: var(--igp-font-body); font-size: 14px; -moz-appearance: textfield;
}
.igp-fdrop-preco input::-webkit-outer-spin-button, .igp-fdrop-preco input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.igp-fdrop-preco input:focus { outline: none; border-color: #111111; }
.igp-fdrop-preco .igp-fdrop-aplicar { flex: none; }
.igp-filter-panel .igp-filter-clear { align-self: center; font-size: 13px; color: var(--igp-muted); text-decoration: underline; text-underline-offset: 3px; }
.igp-filter-panel .igp-filter-clear:hover { color: #111111; }
@media (max-width: 560px) {
  .igp-filter-panel { gap: 12px; }
  .igp-fdrop { width: calc(50% - 6px); }
  .igp-fdrop:last-of-type .igp-fdrop-menu { left: auto; right: 0; }
}

/* ajustes: preço mais largo, selo de estoque em vermelho */
.igp-product-badge:not(.igp-product-badge--esgotado) { background: #B3231C !important; color: #FFFFFF !important; }
.igp-fdrop-menu--preco { width: 300px; }
.igp-fdrop-preco { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px !important; padding: 16px !important; align-items: end; }
.igp-fdrop-preco label { gap: 6px; text-transform: none !important; letter-spacing: 0 !important; font: 400 13px/1.2 var(--igp-font-body) !important; color: #111111 !important; margin: 0 !important; }
.igp-fdrop-preco input { height: 44px !important; border-right: 1px solid var(--igp-cream-line) !important; padding: 0 12px !important; font-size: 14px !important; }
.igp-fdrop-preco input:focus { border-color: #111111 !important; }
.igp-fdrop-preco .igp-fdrop-aplicar { grid-column: 1 / -1; width: 100%; height: 44px; font-size: 13px; letter-spacing: .04em; }
@media (max-width: 560px) { .igp-fdrop-menu--preco { width: 280px; } }

/* Esqueceu a senha / nova senha */
.igp-login--senha { padding-top: 56px !important; padding-bottom: 72px !important; }
.igp-login--senha .igp-login-titulo { margin-bottom: 10px !important; }
.igp-login-intro { margin: 0 0 26px !important; font-size: 15px; line-height: 1.6; color: #4A4A4A !important; max-width: 46ch; }
.igp-login--senha .igp-login-form { gap: 16px !important; }
.igp-login--senha .igp-login-btn, .woocommerce .igp-login--senha button.igp-login-btn { background: #111111 !important; color: #FFFFFF !important; border: 0 !important; border-radius: 0 !important; text-transform: none !important; letter-spacing: .02em !important; font-size: 15px !important; height: 50px; }
.igp-login--senha .igp-login-btn:hover { background: #333333 !important; }
.igp-login-btn--link { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.igp-login--senha .igp-login-rodape { margin-top: 18px !important; }
@media (max-width: 600px) { .igp-login--senha { padding-top: 32px !important; } }

/* páginas de texto: títulos em preto */
.igp-page-title, .igp-page-content h1, .igp-page-content h2, .igp-page-content h3, .igp-page-content h4,
.page .entry-content h2, .page .entry-content h3 { color: #111111 !important; }
.igp-page-content strong { color: #111111; }
.igp-page-content a, .page .entry-content a { color: #111111; }
.igp-page-content a:hover, .page .entry-content a:hover { color: #4A4A4A; }
.igp-page-content li::marker { color: #111111; }

/* páginas legais (trocas, privacidade) */
.igp-page--legal .igp-page-content h2 { font-size: 24px; margin: 40px 0 12px; }
.igp-page--legal .igp-page-content ol { padding-left: 22px; margin: 0 0 18px; }
.igp-page--legal .igp-page-content ol li { margin-bottom: 8px; }
.igp-legal-data { font-size: 13px !important; letter-spacing: .08em; text-transform: uppercase; color: #6B6B6B !important; margin: -6px 0 28px !important; }

/* títulos numerados, em negrito e maiores nas páginas legais */
.igp-page--legal .igp-page-content h2 { font-size: 28px !important; font-weight: 700 !important; margin: 44px 0 14px !important; line-height: 1.25; }
@media (max-width: 600px) { .igp-page--legal .igp-page-content h2 { font-size: 24px !important; } }

/* páginas legais: títulos em Jost (números alinhados), texto mais compacto */
.igp-page--legal .igp-page-content h2 { font-family: var(--igp-font-body) !important; font-size: 20px !important; font-weight: 600 !important; letter-spacing: 0 !important; margin: 34px 0 10px !important; line-height: 1.3; font-variant-numeric: lining-nums; }
.igp-page--legal .igp-page-content p { margin: 0 0 14px; }
.igp-page--legal .igp-page-content ul { margin: 0 0 14px; }
.igp-page--legal .igp-page-content li { margin-bottom: 4px; }
.igp-legal-data { margin: -4px 0 20px !important; }
@media (max-width: 600px) { .igp-page--legal .igp-page-content h2 { font-size: 18px !important; } }

/* Perguntas frequentes (sanfona) */
.igp-faq { max-width: 760px; margin-top: 28px; border-top: 1px solid var(--igp-cream-line); }
.igp-faq-item { border-bottom: 1px solid var(--igp-cream-line); }
.igp-faq-item summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 20px 0; font-family: var(--igp-font-body); font-size: 17px; font-weight: 500; color: #111111;
}
.igp-faq-item summary::-webkit-details-marker { display: none; }
.igp-faq-item summary::after {
  content: ""; flex: none; width: 10px; height: 10px; margin-right: 4px;
  border-right: 1.5px solid #111111; border-bottom: 1.5px solid #111111;
  transform: rotate(45deg) translateY(-3px); transition: transform .2s ease;
}
.igp-faq-item[open] summary::after { transform: rotate(-135deg) translateY(-3px); }
.igp-faq-item summary:hover { color: #4A4A4A; }
.igp-faq-resp { padding: 0 32px 20px 0; }
.igp-faq-resp p { margin: 0; font-size: 15px; line-height: 1.7; color: #4A423F; }
.igp-faq-resp a, .igp-faq-ajuda a { color: #111111; text-decoration: underline; text-underline-offset: 3px; }
.igp-faq-ajuda { max-width: 760px; margin: 28px 0 0; font-size: 15px; color: #4A423F; }
@media (max-width: 600px) { .igp-faq-item summary { font-size: 16px; padding: 18px 0; } }

/* =========================================================
   Páginas institucionais: menu à esquerda, conteúdo ao centro
   ========================================================= */
.igp-inst { max-width: 1240px; margin: 0 auto; padding: 48px 24px 88px; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.igp-inst-nav { border-right: 1px solid var(--igp-cream-line); align-self: stretch; }
.igp-inst-nav ul { list-style: none; margin: 0; padding: 0; position: sticky; top: calc(var(--igp-header-h) + 24px); display: flex; flex-direction: column; gap: 4px; }
.igp-inst-nav a { display: block; padding: 14px 18px; margin-right: -1px; font-family: var(--igp-font-body); font-size: 14px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #111111; border-right: 2px solid transparent; transition: background .18s ease; }
.igp-inst-nav a:hover { background: #F4F4F4; color: #111111; }
.igp-inst-nav a.is-ativo { background: #F4F4F4; border-right-color: #111111; font-weight: 600; }
.igp-inst-main { min-width: 0; max-width: 720px; }
.igp-inst-titulo { margin: 0 0 22px; font-family: var(--igp-font-body) !important; font-size: 26px !important; font-weight: 600 !important; letter-spacing: .05em; text-transform: uppercase; color: #111111 !important; }
.igp-inst-main .igp-page-content { max-width: none; }

/* FAQ agrupado e numerado */
.igp-faq-grupo { margin: 0 0 36px; }
.igp-faq-grupo-titulo { margin: 0 0 4px !important; font-family: var(--igp-font-body) !important; font-size: 17px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase; color: #111111 !important; }
.igp-inst-main .igp-faq { max-width: none; margin-top: 0; border-top: 0; }
.igp-inst-main .igp-faq-item summary { font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 22px 0; font-variant-numeric: lining-nums; }
.igp-inst-main .igp-faq-resp p { font-size: 15px; }

/* Atendimento ao cliente */
.igp-atd-sub { margin: 0 0 16px; font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #111111; }
.igp-atd-sub--2 { margin-top: 48px; }
.igp-atd-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.igp-atd-btn { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 16px; text-align: center; border: 1px solid #111111; border-radius: 999px; font-family: var(--igp-font-body); font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #111111 !important; background: #FFFFFF; transition: background .18s ease, color .18s ease; }
.igp-atd-btn:hover { background: #111111; color: #FFFFFF !important; }
.igp-atd-contatos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.igp-atd-contato { display: flex; flex-direction: column; gap: 6px; color: #111111; }
.igp-atd-contato svg { margin-bottom: 8px; }
.igp-atd-contato-tit { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.igp-atd-contato a { color: #111111; text-decoration: underline; text-underline-offset: 3px; font-size: 15px; word-break: break-word; }

@media (max-width: 860px) {
  .igp-inst { grid-template-columns: 1fr; padding-top: 24px; gap: 28px; }
  .igp-inst-nav { border-right: 0; border-bottom: 1px solid var(--igp-cream-line); margin: 0 -24px; padding: 0 24px; overflow-x: auto; }
  .igp-inst-nav ul { position: static; flex-direction: row; gap: 0; }
  .igp-inst-nav a { white-space: nowrap; padding: 12px 14px; margin: 0 0 -1px; font-size: 12px; border-right: 0; border-bottom: 2px solid transparent; }
  .igp-inst-nav a.is-ativo { border-bottom-color: #111111; background: transparent; }
  .igp-inst-titulo { font-size: 22px !important; }
}
@media (max-width: 520px) { .igp-atd-grid, .igp-atd-contatos { grid-template-columns: 1fr; } }

/* ajustes: espaçamentos sem sobreposição e subtítulos em negrito */
.igp-inst-main .igp-page-content p.igp-atd-sub { margin: 0 0 16px !important; }
.igp-inst-main .igp-page-content p.igp-atd-sub--2 { margin: 48px 0 20px !important; }
.igp-atd-grid { margin-bottom: 0; }
.igp-atd-contato p, .igp-atd-horario p { margin: 0 !important; }
.igp-atd-horario { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--igp-cream-line); display: flex; flex-direction: column; gap: 10px; }
.igp-atd-horario p { font-size: 15px; line-height: 1.7; color: #111111; }
.igp-atd-horario .igp-atd-obs { font-size: 13px; color: #6B6B6B; }
.igp-inst-main .igp-page-content h3 { font-family: var(--igp-font-body) !important; font-size: 20px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: #111111 !important; margin: 32px 0 10px !important; line-height: 1.3; }
.igp-inst-main .igp-page-content h2 { line-height: 1.3; }
.igp-inst-nav a { line-height: 1.3; }

/* capa dos decants: foto mais clara (escurece só atrás do texto) */
.igp-hero .igp-hero-slide:has(.igp-hero-overlay--topo) .igp-hero-bg { filter: brightness(1.22) contrast(1.04) saturate(1.06) !important; }
.igp-hero .igp-hero-slide .igp-hero-overlay--topo { background: linear-gradient(180deg, rgba(3,2,1,.68) 0%, rgba(3,2,1,.28) 40%, rgba(3,2,1,0) 60%, rgba(3,2,1,0) 88%, rgba(3,2,1,.25) 100%) !important; }

/* capa dos decants: menos brilho nos frascos e reflexos */
.igp-hero .igp-hero-slide:has(.igp-hero-overlay--topo) .igp-hero-bg { filter: brightness(1.02) contrast(.98) saturate(1) !important; }
.igp-hero .igp-hero-slide .igp-hero-overlay--topo { background: linear-gradient(180deg, rgba(3,2,1,.68) 0%, rgba(3,2,1,.28) 40%, rgba(3,2,1,.06) 60%, rgba(3,2,1,.12) 82%, rgba(3,2,1,.5) 100%) !important; }

.igp-product-apartir { font-size: 11px; font-weight: 400; color: #5A5A5A; }

/* menu lateral: hover dourado, igual ao Buscar */
.igp-menu-list a, .igp-menu-parent, .igp-menu-sub a { transition: color .2s ease; }
.igp-menu-list a:hover, .igp-menu-parent:hover, .igp-menu-parent[aria-expanded="true"], .igp-menu-sub a:hover { color: var(--igp-gold) !important; }
.igp-menu-parent:hover svg, .igp-menu-parent[aria-expanded="true"] svg { color: var(--igp-gold); }

/* âncoras da home param logo abaixo do cabeçalho fixo */
#mais-vendidos, #lancamentos, #colecoes { scroll-margin-top: var(--igp-header-h); }

/* tamanhos no card (decants) */
.igp-card-vars { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 2px; }
.igp-card-var { min-width: 52px; height: 34px; padding: 0 12px; border: 1px solid #D9D2C8; background: #FFFFFF; color: #111111; font-family: var(--igp-font-body); font-size: 13px; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.igp-card-var:hover { border-color: #111111; }
.igp-card-var.is-active { background: #111111; border-color: #111111; color: #FFFFFF; }
.igp-product-buy.is-carregando { opacity: .6; pointer-events: none; }

.igp-cart-item.is-removendo { opacity: .4; pointer-events: none; transition: opacity .2s ease; }

.igp-frete-kit { display: flex; align-items: center; gap: 6px; margin: 12px 0 8px; font-size: 13px; font-weight: 500; color: var(--igp-green); }

/* setas da galeria do produto */
.igp-pdp-foto { position: relative; }
.igp-pdp-seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: 1px solid #111111; border-radius: 50%; background: rgba(255,255,255,.92); color: #111111; cursor: pointer; transition: background .18s ease, color .18s ease; }
.igp-pdp-seta:hover { background: #111111; color: #FFFFFF; }
.igp-pdp-seta--ant { left: 8px; }
.igp-pdp-seta--prox { right: 8px; }
@media (max-width: 600px) { .igp-pdp-seta { width: 36px; height: 36px; } }

/* produto: chamada para o decant */
.igp-pdp-decant { display: flex; align-items: center; gap: 14px; margin: 18px 0 4px; padding: 12px 16px 12px 12px; border: 1px solid #E8E4DF; background: #FAF8F5; color: #111111 !important; text-decoration: none; transition: border-color .18s ease, background .18s ease; }
.igp-pdp-decant:hover { border-color: #111111; background: #FFFFFF; }
.igp-pdp-decant img { width: 56px; height: 56px; object-fit: contain; mix-blend-mode: multiply; flex: none; }
.igp-pdp-decant-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.igp-pdp-decant-txt strong { font-size: 14px; font-weight: 600; }
.igp-pdp-decant-txt span { font-size: 13px; line-height: 1.45; color: #4A4A4A; }
.igp-pdp-decant-ir { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.igp-pdp-decant:hover .igp-pdp-decant-ir { color: var(--igp-gold); }
@media (max-width: 520px) { .igp-pdp-decant { flex-wrap: wrap; } .igp-pdp-decant-ir { margin-left: 70px; } }

.igp-pdp-bloco--decant .igp-pdp-decant { margin: 0; }

/* página do produto: sem saltos de rolagem ao abrir/fechar blocos */
.igp-pdp-info, .igp-pdp-bloco { overflow-anchor: none; }

.igp-pdp-galeria { transition: none !important; will-change: transform; }
.igp-pdp-bloco-corpo { will-change: height; }
.igp-pdp-decant-info { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--igp-cream-line); }
.igp-pdp-decant-info .igp-pdp-decant-tit { margin: 0 0 6px !important; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #111111; }
.igp-pdp-decant-info p { margin: 0 0 14px; }
.igp-pdp-decant-info ul { margin: 0; padding-left: 18px; }
.igp-pdp-decant-info li { margin-bottom: 4px; }

.igp-pdp-fretes .igp-frete-kit { margin: 14px 0 0; }
.igp-pdp-fretes .igp-frete-kit + .igp-pdp-frete-lista { margin-top: 8px; }

/* sacola vazia: "Ir às compras" em preto, dourado no hover */
.igp-cart-vazio-link { color: #111111 !important; border-bottom-color: #111111 !important; }
.igp-cart-vazio-link:hover { color: var(--igp-gold) !important; border-bottom-color: var(--igp-gold) !important; }


/* rodapé: texto da marca alinhado à esquerda, um bloco só */
.igp-footer-marca .igp-footer-logo { margin-bottom: 24px; }
.igp-footer-marca .igp-footer-sobre { max-width: 340px; margin: 0; text-align: left; font-size: 14px; line-height: 1.7; text-wrap: pretty; }
