/* Desejos.etc — peças de loja do desenho (Figma o5fx7bI5zmdga5yhg9KxKE).
   Tokens = estilos "cores/*" e "Escala de cinza/*" do arquivo. */
:root {
  --ap-coral: #FF544E; --ap-coral-h: #E8423C; --ap-verm: #D32F2F; --ap-verm-h: #B02525;
  --ap-vinho: #BD2A2A; --ap-ard: #374957; --ap-ard-h: #2A3843; --ap-c50: #70828C;
  --ap-ink: #1A1A1A; --ap-c70: #4D4D4D; --ap-c80: #808080; --ap-c30: #B3B3B3; --ap-c10: #E6E6E6;
  --ap-claro: #F5F5F5; --ap-verde: #34C759;
  --ap-f: "Montserrat", sans-serif; --ap-fi: "Inter", sans-serif; --ap-fo: "Open Sans", sans-serif;
}
.ap-sr, .ap-sel-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- botões (o tema pinta todo <button> — reset com !important, §Junior Salgados) */
.ap-bt { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 40px;
  padding: 9.5px 24px !important; border-radius: 8px !important; border: 0 !important; font: 600 14px/21px var(--ap-fi) !important;
  letter-spacing: .07px; color: #fff !important; text-decoration: none !important; cursor: pointer; white-space: nowrap;
  transition: background-color .3s, opacity .3s; box-shadow: none !important; }
.ap-bt svg { width: 16px; height: 16px; flex: 0 0 auto; }
.ap-bt-vermelho { background: var(--ap-verm) !important; } .ap-bt-vermelho:hover { background: var(--ap-verm-h) !important; }
.ap-bt-coral { background: var(--ap-coral) !important; } .ap-bt-coral:hover { background: var(--ap-coral-h) !important; }
.ap-bt-ardosia { background: var(--ap-ard) !important; } .ap-bt-ardosia:hover { background: var(--ap-ard-h) !important; }
.ap-bt-cinza { background: rgba(179,179,179,.5) !important; color: rgba(15,23,42,.6) !important; width: 100%; }
.ap-bt-cinza:hover { background: var(--ap-c30) !important; color: var(--ap-ink) !important; }
.ap-bt-largo { width: 100%; }

/* ---------- card de produto (Frame 872 · 245×421) */
.ap-card-prod { transition: box-shadow .3s; }
.ap-selo { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 9999px;
  background: var(--ap-verm); color: #F8FAFC; font: 600 12px/16px var(--ap-fi); letter-spacing: .18px; white-space: nowrap; }
.ap-cat { display: block; font: 500 10px/10px var(--ap-f); color: var(--ap-c50); }
.ap-cat--kit { color: var(--ap-verm); }
.ap-precos { display: flex; flex-direction: column; gap: 12px; }
.ap-preco-loja { font: 600 12px/16px var(--ap-f); color: var(--ap-c50); }
.ap-preco-ass { display: flex; flex-direction: column; gap: 8px; color: var(--ap-coral); }
.ap-preco-ass small { font: 500 10px/10px var(--ap-f); }
.ap-pp { display: inline-flex; align-items: baseline; gap: 2px; white-space: nowrap; }
.ap-pp-cifra, .ap-pp-dec { font: 500 20px/20px var(--ap-f); }
.ap-pp-int { font: 700 32px/32px var(--ap-f); }
.ap-precos--kit { gap: 12px; }
.ap-precos--kit .ap-preco-loja { font-size: 14px; line-height: 21px; }
.ap-precos--kit .ap-pp-cifra, .ap-precos--kit .ap-pp-dec { font-size: 24px; line-height: 32px; letter-spacing: -1px; }
.ap-precos--kit .ap-pp-int { font-size: 40px; line-height: 48px; letter-spacing: -1px; }
.ap-precos--kit .ap-preco-ass small { font: 600 14px/21px var(--ap-f); }
.ap-add { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 28px; border-radius: 12px;
  background: var(--ap-c50); color: #fff; transition: background-color .3s; text-decoration: none !important; }
.ap-add:hover { background: var(--ap-ard); }
.ap-add.loading { opacity: .6; } .ap-add.added { background: var(--ap-coral); }
.ap-add-ico { display: inline-flex; align-items: center; gap: 0; }
.ap-add-ico svg:first-child { width: 12px; height: 12px; } .ap-add-ico svg:last-child { width: 16px; height: 16px; }
.added_to_cart.wc-forward { display: none !important; }
.ap-vitrine-escura .ap-add { background: var(--ap-ink); }
.ap-clamp-2 .elementor-heading-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- breadcrumb */
.ap-bread { display: flex; gap: 4px; align-items: center; font: 400 14px/21px var(--ap-f); color: #9DB0BC; }
.ap-bread a { color: #9DB0BC !important; text-decoration: none; } .ap-bread a.is-atual, .ap-bread strong { color: var(--ap-verm); font-weight: 400; }

/* ---------- header */
.ap-busca { position: relative; display: flex; align-items: center; height: 48px; border: .5px solid var(--ap-c30); border-radius: 12px; padding: 0 14px; gap: 12px; background: transparent; }
.ap-busca svg { width: 20px; height: 20px; flex: 0 0 auto; }
.ap-busca input[type=search] { flex: 1; border: 0 !important; outline: 0; background: transparent !important; padding: 0 !important;
  font: 400 12px/16px var(--ap-f) !important; color: var(--ap-c70); box-shadow: none !important; min-height: 44px; }
.ap-busca input::placeholder { color: var(--ap-c30); }
.ap-busca:focus-within { border-color: var(--ap-c50); }
.ap-hacoes { display: flex; align-items: center; gap: 12px; }
.ap-hico { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 32px; color: var(--ap-ard); transition: opacity .3s; }
.ap-hico:hover { opacity: .7; }
.ap-hico svg { display: block; }
.ap-car-n { position: absolute; top: 0; right: -8px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 9999px; background: var(--ap-verm);
  color: #fff; font: 600 10px/16px var(--ap-fi); text-align: center; }
.ap-car-n.is-vazio { display: none; }
.ap-hentrar { display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; border-radius: 8px; color: var(--ap-verm) !important;
  font: 400 12px/16px var(--ap-f); text-decoration: none !important; transition: background-color .3s; }
.ap-hentrar:hover { background: rgba(255,84,78,.12); }
.ap-hentrar svg { width: 20px; height: 20px; }
@media (max-width: 1024px) { .ap-hico-fav, .ap-hentrar span { display: none; } .ap-hacoes { gap: 16px; } }

/* ---------- página de produto */
.ap-pinfo { display: flex; flex-direction: column; gap: 50px; }
.ap-pinfo-tipo { margin: 0 0 -26px; font: 400 14px/21px var(--ap-f); color: var(--ap-c70); }
.ap-pinfo-nome { margin: 0; font: 700 40px/48px var(--ap-f); letter-spacing: -1px; color: var(--ap-ink); }
.ap-pinfo-preco { display: flex; flex-direction: column; gap: 16px; }
.ap-pinfo-preco strong { font: 700 40px/48px var(--ap-f); letter-spacing: -1px; color: var(--ap-coral); }
.ap-pinfo-parc { display: flex; align-items: center; gap: 8px; margin: 0; font: 400 14px/21px var(--ap-f); color: var(--ap-c70); }
.ap-pinfo-parc svg { width: 16px; height: 16px; }
.ap-pinfo-pix { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.ap-pix { display: inline-flex; align-items: center; gap: 8px; padding: 7px 24px; border-radius: 16px; background: var(--ap-c10); font: 400 14px/21px var(--ap-f); color: #000; }
.ap-pix svg { width: 16px; height: 16px; }
.ap-parcelas summary { cursor: pointer; list-style: none; font: 400 12px/16px var(--ap-f); color: var(--ap-c70); text-decoration: underline; }
.ap-parcelas summary::-webkit-details-marker { display: none; }
.ap-parcelas ul { margin: 12px 0 0; padding: 12px 16px; list-style: none; border-radius: 12px; background: var(--ap-claro); columns: 2; column-gap: 32px; font: 400 12px/22px var(--ap-f); color: var(--ap-c70); }
.ap-parcelas li { display: flex; gap: 12px; }
/* formulário de compra (variações em pílulas + quantidade + botão) */
.ap-pcompra form.cart { display: flex; flex-direction: column; gap: 40px; margin: 0 !important; }
.ap-pcompra table.variations { margin: 0 !important; border: 0 !important; }
.ap-pcompra table.variations tr { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
.ap-pcompra table.variations tr:last-child { margin-bottom: 0; }
.ap-pcompra table.variations th, .ap-pcompra table.variations td { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left; }
.ap-pcompra table.variations label { font: 500 24px/32px var(--ap-f) !important; letter-spacing: -1px; color: var(--ap-c70); }
.ap-pcompra .reset_variations { display: none !important; }
.ap-pilulas { display: flex; flex-wrap: wrap; gap: 12px; }
.ap-pilula { width: 154px; height: 51px; border: 1px solid var(--ap-c30) !important; border-radius: 16px !important; background: #fff !important;
  font: 300 14px/24px var(--ap-fo) !important; color: var(--ap-c70) !important; cursor: pointer; transition: border-color .3s, background-color .3s; padding: 0 !important; }
.ap-pilula:hover { border-color: var(--ap-coral) !important; }
.ap-pilula.is-ativa { border-color: var(--ap-coral) !important; background: rgba(255,84,78,.08) !important; color: var(--ap-ink) !important; font-weight: 600 !important; }
.ap-pilula:disabled { opacity: .35; cursor: not-allowed; }
.ap-pcompra .single_variation_wrap .woocommerce-variation-price { display: none; }
.ap-pcompra .woocommerce-variation-add-to-cart, .ap-pcompra form.cart:not(.variations_form) { flex-direction: row; }
.ap-pcompra .woocommerce-variation-add-to-cart, .ap-pcompra form.cart:not(.variations_form) { display: flex; align-items: center; gap: 16px; }
.ap-pcompra .quantity { display: inline-flex !important; align-items: center; justify-content: center; gap: 4px; width: 80px; height: 51px; border: 1px solid var(--ap-c30); border-radius: 16px; margin: 0 !important; }
.ap-pcompra .quantity input.qty { width: 28px !important; border: 0 !important; padding: 0 !important; text-align: center; font: 300 18px/26px var(--ap-fo) !important; color: var(--ap-c70); background: none !important; -moz-appearance: textfield; }
.ap-pcompra .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.ap-qtd-menos, .ap-qtd-mais { width: 18px; height: 40px; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ap-c70) !important; font: 400 16px/24px "Raleway", var(--ap-f) !important; cursor: pointer; }
.ap-pcompra .single_add_to_cart_button { width: 320px; height: 50px; padding: 0 32px !important; border: 0 !important; border-radius: 16px !important; background: var(--ap-coral) !important;
  color: #fff !important; font: 700 14px/24px var(--ap-fo) !important; transition: background-color .3s; }
.ap-pcompra .single_add_to_cart_button:hover { background: var(--ap-coral-h) !important; }
.ap-pcompra .single_add_to_cart_button.disabled { opacity: .5; }
/* calcular frete (vime-shipping-calculator) */
.ap-frete .elementor-widget-container { font-family: var(--ap-f); }

/* ---------- kit: galeria em grade */
.ap-galeria { display: grid; grid-template-columns: 586px 289px 289px; grid-template-rows: 260px 260px; gap: 20px 16px; }
.ap-gal-item { position: relative; display: block; overflow: hidden; border-radius: 32px; }
.ap-gal-item img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .5s; }
.ap-gal-item:hover img { transform: scale(1.03); }
.ap-gal-0 { grid-row: 1 / span 2; }
.ap-gal-mais { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 16px; background: rgba(255,255,255,.72); color: #484848; }
.ap-gal-mais strong { font: 700 40px/48px var(--ap-f); } .ap-gal-mais span { font: 600 14px/21px var(--ap-f); text-align: left; }
.ap-gal-oculta { display: none; }
/* abas + acordeão de preferências */
.ap-abas-nav { display: flex; gap: 40px; border-bottom: 1px solid var(--ap-c10); }
.ap-abas-nav button { position: relative; padding: 0 0 13px !important; border: 0 !important; background: none !important; font: 600 14px/21px var(--ap-f) !important; color: var(--ap-c50) !important; cursor: pointer; border-radius: 0 !important; }
.ap-abas-nav button.is-ativa { color: var(--ap-coral) !important; }
.ap-abas-nav button.is-ativa::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--ap-coral); }
.ap-aba { display: none; padding-top: 32px; } .ap-aba.is-ativa { display: flex; flex-direction: column; gap: 12px; }
.ap-aba-texto { font: 400 14px/21px var(--ap-f); color: var(--ap-c70); }
.ap-acc { border-radius: 12px; background: var(--ap-claro); overflow: hidden; }
.ap-acc summary { display: flex; align-items: center; justify-content: space-between; height: 48px; padding: 0 20px; cursor: pointer; list-style: none;
  font: 600 14px/21px var(--ap-f); color: rgba(112,130,140,.8); }
.ap-acc summary::-webkit-details-marker { display: none; }
.ap-acc summary svg { width: 12px; height: 6px; transition: transform .3s; color: var(--ap-c50); }
.ap-acc[open] summary { background: var(--ap-ard); color: #fff; font-weight: 700; font-size: 16px; line-height: 20px; }
.ap-acc[open] summary svg { transform: scaleY(-1); color: #fff; }
.ap-acc-corpo { display: flex; flex-direction: column; padding: 24px 42px; gap: 0; }
.ap-op { display: flex; align-items: center; gap: 29px; padding: 12px 0; border-bottom: 1px solid var(--ap-c10); cursor: pointer; }
.ap-op:last-child { border-bottom: 0; }
.ap-op-nome { flex: 1; font: 400 14px/21px var(--ap-f); color: var(--ap-c50); }
.ap-op-sw span, .ap-op-sw img { display: block; width: 64px; height: 36px; border-radius: 8px; object-fit: cover; }
.ap-op input { position: absolute; opacity: 0; pointer-events: none; }
.ap-op-radio { width: 16px; height: 16px; border-radius: 32px; border: 2px solid var(--ap-c10); transition: background-color .2s, border-color .2s; }
.ap-op input:checked + .ap-op-radio { background: var(--ap-ard); border-color: var(--ap-ard); }
.ap-op input:focus-visible + .ap-op-radio { outline: 2px solid var(--ap-coral); outline-offset: 2px; }
.ap-acc-vazio p { margin: 0; font: 400 14px/21px var(--ap-f); color: var(--ap-c50); }
/* caixa de compra do kit */
.ap-kitbox { display: flex; flex-direction: column; gap: 32px; }
.ap-kitbox-tipo { margin: 0 0 -8px; font: 400 14px/21px var(--ap-f); color: var(--ap-c70); }
.ap-kitbox-nome { margin: 0; font: 500 24px/32px var(--ap-f); letter-spacing: -1px; color: var(--ap-ink); }
.ap-kit-faixa { display: flex; align-items: center; gap: 8px; margin: 0; padding: 14px 16px; border-radius: 16px; background: #fff; font: 400 14px/21px var(--ap-f); color: var(--ap-ink); }
.ap-kit-faixa svg { width: 20px; height: 20px; flex: 0 0 auto; } .ap-kit-faixa b { font-weight: 600; color: var(--ap-coral); }
.ap-kitbox-acoes { display: flex; gap: 12px; margin: 0; }
.ap-kitbox-acoes .ap-bt { width: 239px; height: 50px; border-radius: 16px !important; font: 700 14px/24px var(--ap-fo) !important; padding: 0 16px !important; }

/* ---------- notificações */
.ap-nabas { display: flex; flex-wrap: wrap; gap: 12px; }
.ap-nabas a { display: inline-flex; align-items: center; height: 40px; padding: 0 24px; border-radius: 6px; background: var(--ap-c10); color: var(--ap-c30);
  font: 600 14px/21px var(--ap-fi); text-decoration: none; transition: background-color .3s, color .3s; }
.ap-nabas a:hover { color: var(--ap-c70); }
.ap-nabas a.is-ativa { background: var(--ap-verm); color: #fff; }
.ap-ntopo { display: flex; align-items: center; gap: 16px; }
.ap-netq { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border-radius: 9999px; font: 600 14px/21px var(--ap-f); }
.ap-netq--verde { background: rgba(52,199,89,.24); color: var(--ap-verde); }
.ap-netq--vermelho { background: rgba(211,47,47,.12); color: var(--ap-verm); }
.ap-netq--cinza { background: var(--ap-c10); color: var(--ap-c30); }
.ap-nquando { font: 600 12px/16px var(--ap-f); color: var(--ap-c30); }
.ap-nped { margin: 0; font: 600 14px/21px var(--ap-f); color: var(--ap-c50); }
.ap-nprecos { display: flex; align-items: center; gap: 12px; margin: 0; }
.ap-nprecos s { font: 400 14px/21px var(--ap-f); color: var(--ap-c30); }
.ap-nprecos strong { font: 700 18px/24px var(--ap-f); color: var(--ap-verm); }
.ap-nprecos span { padding: 0 8px; border-radius: 9999px; background: var(--ap-verm); color: #fff; font: 400 12px/16px var(--ap-f); }
.ap-nbt { white-space: nowrap; }

/* ---------- área do cliente */
.ap-conta { display: grid; grid-template-columns: 428px minmax(0, 832px); column-gap: 60px; align-items: start; width: 100%; max-width: 1320px; margin: 0 auto; }
.ap-conta > .woocommerce-notices-wrapper { grid-column: 2; }
.ap-conta-lateral { grid-column: 1; grid-row: 1 / span 3; align-self: stretch; min-height: 700px; border-right: 1px solid var(--ap-c10); padding-top: 63px; }
.ap-conta-conteudo { grid-column: 2; padding: 60px 0 80px; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ap-conta-marca { display: flex; flex-direction: column; gap: 4px; padding-left: 122px; }
.ap-conta-logo { font: 700 32px/38px var(--ap-f); color: var(--ap-verm) !important; text-decoration: none; }
.ap-conta-marca span { font: 500 20px/24px var(--ap-f); color: var(--ap-c50); }
.ap-conta-cliente { display: flex; align-items: center; gap: 15px; margin: 60px 0 46px; padding-left: 122px; }
.ap-avatar { width: 48px !important; height: 48px !important; border-radius: 50%; border: 2px solid var(--ap-coral); object-fit: cover; }
.ap-conta-cliente strong { display: block; font: 600 14px/16px var(--ap-f); color: var(--ap-ink); }
.ap-conta-cliente span { display: block; font: 400 12px/14px var(--ap-f); color: var(--ap-c70); }
.ap-conta-menu ul { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--ap-c10); }
.ap-conta-menu a { display: flex; align-items: center; gap: 10px; height: 48px; padding-left: 122px; border-left: 2px solid transparent;
  font: 400 14px/21px var(--ap-f); color: var(--ap-c50) !important; text-decoration: none; transition: background-color .3s, color .3s; }
.ap-conta-menu a svg { width: 20px; height: 20px; flex: 0 0 auto; }
.ap-conta-menu a:hover { background: rgba(255,84,78,.06); color: var(--ap-verm) !important; }
.ap-conta-menu .is-active a { background: rgba(255,84,78,.12); border-left-color: var(--ap-verm); color: var(--ap-verm) !important; font-weight: 600; }
.ap-conta-sair { display: inline-flex; align-items: center; gap: 16px; margin: 32px 0 0 123px; font: 600 14px/21px var(--ap-f); color: var(--ap-ink) !important; text-decoration: none; }
.ap-conta-sair svg { width: 20px; height: 20px; }
.ap-card { background: var(--ap-claro); border-radius: 24px; padding: 52px; }
.ap-perfil { display: flex; flex-direction: column; gap: 52px; }
.ap-perfil-topo { display: flex; align-items: center; gap: 20px; }
.ap-avatar-g { width: 100px !important; height: 100px !important; }
.ap-perfil-id { flex: 1; } .ap-perfil-id h2 { margin: 0; font: 500 24px/28px var(--ap-f); color: var(--ap-ink); }
.ap-perfil-id span { font: 400 14px/18px var(--ap-f); color: var(--ap-c70); }
.ap-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 22px; }
.ap-campo { display: flex; flex-direction: column; gap: 14px; }
.ap-campo-rot { font: 600 14px/21px var(--ap-f); color: var(--ap-ink); }
.ap-campo-val { display: flex; align-items: center; justify-content: space-between; height: 52px; padding: 0 18px; border-radius: 8px; background: #fff; font: 400 14px/21px var(--ap-f); color: var(--ap-c50); }
.ap-campo-val svg { width: 14px; height: 14px; color: var(--ap-c50); }
.ap-senha { display: flex; flex-direction: column; gap: 20px; padding-top: 38px; padding-bottom: 38px; }
.ap-link-p { font: 500 10px/12px var(--ap-f); color: var(--ap-ard) !important; text-decoration: underline; }
.ap-prefs { padding: 52px 46px; } .ap-prefs h2 { margin: 0 0 40px; font: 500 24px/28px var(--ap-f); color: var(--ap-ink); }
.ap-prefs-lista { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ap-pref { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-radius: 8px; background: #fff; cursor: pointer; }
.ap-pref strong { display: block; font: 700 16px/20px var(--ap-f); color: var(--ap-ink); } .ap-pref small { font: 400 12px/14px var(--ap-f); color: var(--ap-c50); }
.ap-pref input { position: absolute; opacity: 0; }
.ap-pref i { position: relative; width: 48px; height: 28px; border-radius: 28px; background: var(--ap-c30); transition: background-color .3s; flex: 0 0 auto; }
.ap-pref i::after { content: ""; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .3s; }
.ap-pref input:checked + i { background: var(--ap-verm); } .ap-pref input:checked + i::after { transform: translateX(20px); }
.ap-pref input:focus-visible + i { outline: 2px solid var(--ap-ard); outline-offset: 2px; }
/* pedidos */
.ap-pedidos { padding: 52px 47px; display: flex; flex-direction: column; gap: 40px; }
.ap-ped-barra { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ap-ped-busca { position: relative; width: 320px; }
.ap-ped-busca svg { position: absolute; left: 12px; top: 12px; width: 16px; height: 16px; color: var(--ap-c50); }
.ap-ped-busca input { width: 100%; height: 40px; padding: 0 16px 0 40px !important; border: 0 !important; border-radius: 8px !important; background: rgba(55,73,87,.12) !important; font: 400 14px/21px var(--ap-f) !important; color: var(--ap-ink); }
.ap-ped-acoes { display: flex; gap: 12px; }
.ap-filtro { position: relative; } .ap-filtro summary { list-style: none; font-family: "Manrope", var(--ap-fi) !important; font-weight: 400 !important; }
.ap-filtro summary::-webkit-details-marker { display: none; }
.ap-filtro summary svg { width: 14px; height: 9px; }
.ap-filtro ul { position: absolute; z-index: 5; right: 0; top: 48px; min-width: 220px; margin: 0; padding: 8px; list-style: none; border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.ap-filtro a { display: block; padding: 10px 12px; border-radius: 8px; font: 400 14px/21px var(--ap-f); color: var(--ap-c70) !important; text-decoration: none; }
.ap-filtro a:hover, .ap-filtro a.is-ativo { background: var(--ap-claro); color: var(--ap-verm) !important; }
.ap-tab-cab, .ap-tab-linha { display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; text-align: center; }
.ap-tab-cab { height: 50px; border-top: 1px solid rgba(179,179,179,.72); border-bottom: 1px solid rgba(179,179,179,.72); font: 600 14px/21px var(--ap-f); color: #5F5E5E; }
.ap-tab-cab span + span { border-left: 1px solid rgba(179,179,179,.72); height: 100%; display: flex; align-items: center; justify-content: center; }
.ap-tab-cab span:first-child { text-align: left; }
.ap-tab-linha { padding: 32px 0; border-bottom: 1px solid rgba(179,179,179,.72); }
.ap-tab-ped { text-align: left; display: flex; flex-direction: column; gap: 4px; }
.ap-tab-ped strong { font: 500 20px/20px var(--ap-f); color: var(--ap-ink); } .ap-tab-ped small { font: 400 14px/18px var(--ap-f); color: var(--ap-c50); }
.ap-tab-status { font: 500 14px/21px var(--ap-fi) !important; color: #9DB0BC !important; text-decoration: underline !important; text-underline-offset: 3px; }
.ap-tab-total { font: 700 16px/24px "Manrope", var(--ap-fi); color: var(--ap-ink); }
.ap-paginas { display: flex; justify-content: flex-end; align-items: center; gap: 12px; }
.ap-paginas a { font: 400 12px/16px var(--ap-f); color: #000 !important; text-decoration: none; } .ap-paginas a.is-atual { color: var(--ap-coral) !important; font-weight: 700; }
.ap-paginas svg { width: 6px; height: 11px; color: var(--ap-coral); }
.ap-vazio { margin: 24px 0 0; font: 400 14px/21px var(--ap-f); color: var(--ap-c50); text-align: center; }
/* meu plano */
.ap-plano { display: flex; flex-direction: column; gap: 20px; }
.ap-plano-topo, .ap-upgrade-topo { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 40px; border-bottom: 1px solid var(--ap-c30); margin-bottom: 20px; }
.ap-plano-nome { display: flex; align-items: center; gap: 12px; }
.ap-plano-nome h2 { margin: 0; font: 500 24px/32px var(--ap-f); letter-spacing: -1px; color: #271816; }
.ap-plano-ico svg { width: 40px; height: 40px; display: block; }
.ap-plano-ico--ardosia svg circle, .ap-plano-ico--ardosia svg [fill="#FF544E"] { fill: var(--ap-ard); }
.ap-plano-id p { margin: 5px 0 0 52px; max-width: 171px; font: 400 12px/16px var(--ap-f); color: var(--ap-c50); }
.ap-plano-renov { display: flex; flex-direction: column; gap: 12px; width: 163px; }
.ap-plano-renov span { font: 500 10px/10px var(--ap-f); color: var(--ap-c50); } .ap-plano-renov strong { font: 500 20px/20px var(--ap-f); color: var(--ap-c70); white-space: nowrap; }
.ap-plano-renov em { display: block; padding: 3px 8px; border-radius: 9999px; background: rgba(220,38,38,.5); color: #fff; font: 600 12px/16px var(--ap-fi); font-style: normal; text-align: center; }
.ap-plano-kit { display: flex; gap: 40px; align-items: stretch; }
.ap-plano-kit-info { flex: 0 0 372px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.ap-rot { display: block; font: 600 14px/21px var(--ap-f); color: rgba(77,77,77,.72); }
.ap-plano-kit-info h3 { margin: 12px 0 40px; font: 500 24px/32px var(--ap-f); letter-spacing: -1px; color: var(--ap-c70); }
.ap-plano-kit-info ul { margin: 12px 0 0; padding-left: 18px; font: 600 12px/16px var(--ap-f); color: var(--ap-c70); }
.ap-plano-kit-acoes { display: flex; gap: 12px; align-items: center; }
.ap-aviso { display: flex; align-items: center; gap: 12px; margin: 0; height: 40px; padding: 0 12px; border-radius: 8px; background: rgba(255,84,78,.12); font: 500 10px/10px var(--ap-f); color: var(--ap-verm); max-width: 245px; }
.ap-aviso svg { width: 24px; height: 16px; flex: 0 0 auto; }
.ap-plano-kit-foto { flex: 1; min-height: 248px; border-radius: 24px; overflow: hidden; display: block; }
.ap-plano-kit-foto img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ap-upgrade-topo { align-items: center; }
.ap-upgrade-sub { margin: 4px 0 0 52px !important; font: 600 14px/21px var(--ap-f) !important; color: var(--ap-c50) !important; }
.ap-upgrade-corpo { display: flex; justify-content: space-between; align-items: flex-start; } /* Figma: benefícios no topo, junto de "Adicione apenas" */
.ap-plano-ben { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.ap-plano-ben li { display: flex; align-items: center; gap: 8px; font: 600 12px/16px var(--ap-f); color: var(--ap-c50); }
.ap-plano-ben svg { width: 16px; height: 16px; color: var(--ap-coral); }
.ap-plano-ben--grade { display: grid; grid-template-columns: repeat(2, max-content); gap: 28px 32px; }
.ap-upgrade-preco { display: flex; flex-direction: column; align-items: flex-end; }
.ap-upgrade-preco span { font: 500 14px/18px var(--ap-f); color: var(--ap-c50); }
.ap-upgrade-preco strong { font: 700 128px/104px var(--ap-f); letter-spacing: -4px; color: var(--ap-ard); }
.ap-upgrade-preco small { font-size: 32px; letter-spacing: 0; margin-right: 4px; }
.ap-plano-sem h2 { margin: 0 0 12px; font: 500 32px/36px var(--ap-f); color: var(--ap-ard); }
.ap-plano-sem > p { margin: 0 0 40px; max-width: 520px; font: 400 14px/21px var(--ap-f); color: var(--ap-c30); }
.ap-plano-sem > p strong { display: block; font-weight: 600; color: var(--ap-c50); }
.ap-plano-opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ap-plano-op { background: #fff; box-shadow: 0 0 16px rgba(0,0,0,.08); padding: 24px 16px 18px; display: flex; flex-direction: column; gap: 18px; }
.ap-plano-op-topo { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--ap-c10); }
.ap-plano-op-topo h3 { flex: 1; margin: 0; font: 600 20px/24px var(--ap-f); color: var(--ap-ard); }
.ap-plano-op-preco { display: flex; flex-direction: column; align-items: center; color: var(--ap-verm); }
.ap-plano-op--ardosia .ap-plano-op-preco { color: var(--ap-ard); } .ap-plano-op--ardosia .ap-plano-ico svg [fill="#FF544E"] { fill: var(--ap-ard); }
.ap-plano-op-preco .ap-pp-int { font-size: 40px; line-height: 40px; } .ap-plano-op-preco small { font: 500 8px/10px var(--ap-f); color: var(--ap-ard); }
.ap-plano-op .ap-plano-ben { padding: 12px; border-radius: 8px; background: var(--ap-claro); }
.ap-plano-op .ap-bt { height: 52px; border-radius: 12px !important; }
/* cupons */
.ap-cupons { display: flex; flex-direction: column; }
.ap-cupons-tit { margin: 0 0 24px; font: 500 24px/28px var(--ap-f); letter-spacing: -1px; color: var(--ap-ink); }
.ap-cupons-txt { margin: 0 0 60px; font: 400 14px/21px var(--ap-f); color: var(--ap-c50); }
.ap-resgate { display: flex; gap: 12px; padding: 12px; border-radius: 8px; background: var(--ap-claro); margin: 0 0 40px; }
.ap-resgate-campo { flex: 1; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 6px; background: #fff; }
.ap-resgate-campo svg { width: 12px; height: 16px; color: var(--ap-c30); }
.ap-resgate-campo input { flex: 1; border: 0 !important; padding: 0 !important; background: none !important; font: 600 12px/16px var(--ap-fi) !important; color: var(--ap-ink); text-transform: uppercase; }
.ap-resgate-campo input::placeholder { color: var(--ap-c30); }
.ap-cupons-abas { display: flex; gap: 0; border-bottom: 1px solid var(--ap-c10); margin-bottom: 40px; }
.ap-cupons-abas a { position: relative; padding: 0 24px 22px 0; margin-right: 24px; font: 600 14px/21px var(--ap-f); color: var(--ap-c50) !important; text-decoration: none; }
.ap-cupons-abas a.is-ativa { color: var(--ap-verm) !important; }
.ap-cupons-abas a.is-ativa::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--ap-verm); }
.ap-cupons-lista { display: flex; flex-direction: column; gap: 24px; }
.ap-cupom { position: relative; display: flex; min-height: 140px; border-radius: 16px; background: var(--ap-claro); overflow: hidden; }
.ap-cupom-valor { position: relative; flex: 0 0 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: var(--ap-verm); }
.ap-cupom--ardosia .ap-cupom-valor { background: var(--ap-ard); }
.ap-cupom-valor::after { content: ""; position: absolute; right: -16px; top: 50%; width: 32px; height: 32px; margin-top: -16px; border-radius: 50%; background: var(--ap-claro); }
.ap-cupom-valor strong { font: 700 40px/40px var(--ap-f); letter-spacing: -1px; } .ap-cupom-valor span { font: 700 16px/20px var(--ap-f); }
.ap-cupom-corpo { flex: 1; padding: 28px 40px; display: flex; flex-direction: column; gap: 8px; }
.ap-cupom-corpo h3 { margin: 0; font: 700 16px/20px var(--ap-f); color: #271816; } .ap-cupom-corpo p { margin: 0 0 8px; font: 400 12px/16px var(--ap-f); color: #5F5E5E; }
.ap-cupom-rodape { display: flex; justify-content: space-between; align-items: center; padding-top: 17px; border-top: 1px solid var(--ap-c10); }
.ap-cupom-rodape > span { display: inline-flex; align-items: center; gap: 4px; font: 500 10px/10px var(--ap-f); color: var(--ap-c50); }
.ap-cupom-rodape svg { width: 12px; height: 12px; }
.ap-copiar { padding: 0 !important; border: 0 !important; background: none !important; font: 600 12px/16px var(--ap-f) !important; color: var(--ap-verm) !important; cursor: pointer; }
.ap-cupom.is-expirado { opacity: .55; }
/* login / cadastro */
.ap-auth { max-width: 480px; margin: 0 auto; padding: 60px 20px 80px; }
.ap-auth-card h2 { margin: 0 0 8px; font: 600 16px/20px var(--ap-fi); color: var(--ap-ink); }
.ap-auth-sub { margin: 0 0 32px; font: 400 12px/16px var(--ap-f); color: var(--ap-c50); }
.ap-auth form { display: flex; flex-direction: column; gap: 20px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ap-auth .form-row { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; padding: 0 !important; }
.ap-auth label { font: 600 14px/18px var(--ap-f); color: var(--ap-ard); }
.ap-auth input.input-text { height: 52px; padding: 0 16px !important; border: 0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 0 12px rgba(0,0,0,.08) !important; font: 400 14px/21px var(--ap-f); }
.ap-senha-linha { position: relative; } .ap-senha-linha > a { position: absolute; right: 0; top: 0; font: 500 12px/16px var(--ap-f); color: var(--ap-verm); }
.ap-auth .ap-bt { height: 48px; border-radius: 8px !important; }
.ap-aceite label { display: flex; align-items: center; gap: 8px; font: 400 12px/16px var(--ap-f); color: var(--ap-c70); }
.ap-aceite a { color: var(--ap-coral); }
.ap-auth-troca { margin: 24px 0 0; text-align: center; font: 400 14px/18px var(--ap-f); color: var(--ap-c70); }
.ap-auth-troca a { color: var(--ap-coral); text-decoration: underline; }
.ap-auth-links { display: flex; justify-content: center; gap: 32px; margin-top: 60px; }
.ap-auth-links a { font: 400 12px/16px var(--ap-f); color: var(--ap-c50); text-decoration: underline; }
.woocommerce-account:not(.logged-in) .ap-conta { display: block; }
/* edit-account (Editar Perfil) */
.woocommerce-EditAccountForm { background: var(--ap-claro); border-radius: 24px; padding: 52px; }
.woocommerce-EditAccountForm input.input-text { height: 52px; border: 0 !important; border-radius: 8px !important; background: #fff !important; padding: 0 18px !important; }
.woocommerce-EditAccountForm button[type=submit] { background: var(--ap-verm) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 10px 24px !important; font: 600 14px/21px var(--ap-fi) !important; }

/* ---------- carrinho */
.ap-carrinho { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: start; max-width: 1196px; margin: 0 auto; }
.ap-car-tit { margin: 0 0 32px; font: 600 20px/24px var(--ap-f); color: var(--ap-ard); }
.ap-car-itens { display: flex; flex-direction: column; gap: 12px; }
.ap-car-item { position: relative; display: flex; gap: 18px; padding: 8px 40px 8px 8px; border-radius: 8px; background: #fff; box-shadow: 0 0 16px rgba(0,0,0,.08); }
.ap-car-foto img { width: 66px !important; height: 66px !important; border-radius: 8px; object-fit: cover; display: block; }
.ap-car-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ap-car-info h3 { margin: 0; font: 500 14px/18px var(--ap-fi); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-car-info h3 a { color: var(--ap-ink); text-decoration: none; }
.ap-car-marca { font: 600 12px/14px var(--ap-f); color: var(--ap-c50); }
.ap-car-info .variation { margin: 0; font: 400 11px/14px var(--ap-f); color: var(--ap-c50); }
.ap-car-linha { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.ap-car-linha strong { font: 600 14px/18px var(--ap-fi); color: var(--ap-ard); }
.ap-car-verkit { font: 500 14px/18px var(--ap-fi); color: var(--ap-coral) !important; text-decoration: underline; }
.ap-qtd { display: inline-flex; align-items: center; gap: 8px; }
.ap-qtd .qty { width: 24px !important; border: 0 !important; padding: 0 !important; text-align: center; font: 500 14px/18px var(--ap-fi) !important; background: none !important; -moz-appearance: textfield; }
.ap-qtd .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.ap-qtd .ap-qtd-menos, .ap-qtd .ap-qtd-mais { width: 20px !important; height: 20px !important; border-radius: 50% !important; background: var(--ap-c10) !important; color: #fff !important; font: 700 14px/20px var(--ap-fi) !important; }
.ap-qtd .ap-qtd-mais { background: var(--ap-coral) !important; }
.ap-car-remover { position: absolute !important; right: 12px; top: 8px; color: var(--ap-c50) !important; font: 400 20px/20px var(--ap-fi) !important; text-decoration: none; background: none !important; width: auto !important; height: auto !important; }
.ap-car-resumo { position: sticky; top: 24px; padding: 24px 20px; border-radius: 24px; background: #fff; box-shadow: 0 0 16px rgba(0,0,0,.08); display: flex; flex-direction: column; gap: 16px; }
.ap-car-resumo h2 { margin: 0; font: 500 20px/24px var(--ap-f); color: var(--ap-ard); }
.ap-car-cupom { display: flex; gap: 8px; }
.ap-car-cupom > span { flex: 1; display: flex; align-items: center; gap: 8px; height: 37px; padding: 0 10px; border: 1px solid var(--ap-c30); border-radius: 6px; }
.ap-car-cupom svg { width: 20px; height: 20px; }
.ap-car-cupom input { flex: 1; min-width: 0; border: 0 !important; padding: 0 !important; background: none !important; font: 400 12px/16px var(--ap-fi) !important; }
.ap-car-cupom .ap-bt { min-height: 37px; padding: 0 18px !important; border-radius: 6px !important; }
.ap-car-sugest { margin: 0; padding: 0 0 16px; list-style: none; border-bottom: 1px solid var(--ap-c10); display: flex; flex-direction: column; gap: 8px; }
.ap-car-sugest button { display: inline-flex; align-items: center; gap: 6px; padding: 0 !important; border: 0 !important; background: none !important; font: 600 12px/16px var(--ap-f) !important; color: var(--ap-c50) !important; cursor: pointer; }
.ap-car-sugest svg { width: 14px; height: 16px; }
.ap-car-aplicado { margin: 0; font: 400 12px/16px var(--ap-f); color: var(--ap-c50); }
.ap-car-total { display: flex; justify-content: space-between; align-items: center; font: 600 14px/18px var(--ap-fi); color: var(--ap-ink); }
.ap-car-total small { font: 400 14px/18px var(--ap-fi); color: var(--ap-c50); margin-right: 4px; }
.ap-car-total strong { font: 600 20px/24px var(--ap-fi); color: var(--ap-ard); }
.ap-car-resumo .checkout-button { height: 52px; border-radius: 12px !important; font: 500 14px/18px var(--ap-fi) !important; }
.ap-car-vazio { max-width: 1196px; margin: 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }

/* ---------- catálogo: filtros e ordenação (Listagens VIME — vime-filter) */
.ap-filtros .vime-filter__label { display: block; font: 600 16px/20px var(--ap-f) !important; color: var(--ap-c50) !important; margin: 0 0 24px !important; }
.ap-filtros .vime-filter__options { display: flex; flex-direction: column; gap: 0 !important; }
.ap-filtros .vime-filter__option { display: flex !important; align-items: center; justify-content: space-between; width: 100%; min-height: 60px; padding: 0 16px !important; margin: 0 !important; border-bottom: 1px solid var(--ap-c10); cursor: pointer; }
.ap-filtros .vime-filter__option .vime-filter__text { font: 400 14px/21px var(--ap-f) !important; color: var(--ap-c50) !important; }
.ap-filtros .vime-filter__option input[type=checkbox] { order: 2; appearance: none; -webkit-appearance: none; flex: 0 0 14px; width: 14px; height: 14px; margin: 0; border: 1px solid var(--ap-c30); border-radius: 3px; background: #fff; cursor: pointer; transition: background-color .2s, border-color .2s; }
.ap-filtros .vime-filter__option input[type=checkbox]:checked { background: var(--ap-coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; border-color: var(--ap-coral); }
.ap-filtros .vime-filter__option:has(input:checked) .vime-filter__text { color: var(--ap-ink) !important; font-weight: 600 !important; }
.ap-filtros .vime-filter__count { display: none; }
.ap-filtros .vime-filter__range { --vime-filter-accent: var(--ap-coral); }
.ap-filtros .vime-filter__slider input[type=range] { accent-color: var(--ap-coral); }
.ap-filtros .vime-filter__range-inputs { margin-top: 16px; font: 400 14px/21px var(--ap-f); color: var(--ap-c50); }
.ap-filtros .vime-filter__range-inputs .vime-filter__input { font: 400 14px/21px var(--ap-f); color: var(--ap-c50); border: 1px solid var(--ap-c10); border-radius: 8px; height: 36px; }
.ap-ordenar { width: 100%; }
.ap-ordenar .vime-filter--orderby { display: flex; flex-direction: row !important; align-items: center; justify-content: flex-start; flex-wrap: nowrap; gap: 0 !important; text-align: left; }
.ap-ordenar .vime-filter__label { margin: 0 44px 0 0 !important; padding-right: 44px; border-right: 1px solid var(--ap-c10); font: 400 18px/40px var(--ap-f) !important; color: var(--ap-c70) !important; }
.ap-ordenar .vime-filter__options { display: flex; flex-direction: row !important; flex-wrap: wrap; gap: 0 !important; }
.ap-ordenar .vime-filter__chip { display: inline-flex; align-items: center; height: 36px; padding: 0 18px !important; border: 0 !important; border-radius: 9999px !important; background: transparent !important;
  font: 400 12px/16px var(--ap-f) !important; color: var(--ap-c80) !important; cursor: pointer; transition: background-color .3s, color .3s; box-shadow: none !important; }
.ap-ordenar .vime-filter__chip:hover { color: var(--ap-coral) !important; }
.ap-ordenar .vime-filter__chip.is-active { background: var(--ap-coral) !important; color: #fff !important; }
.ap-ordenar .vime-filter__chip .vime-filter__text { font: inherit !important; color: inherit !important; }
.ap-catalogo-grid .vime-listing__pagination { display: flex; justify-content: center; margin-top: 48px; }
.ap-catalogo-grid .vime-listing-more__button { display: inline-flex; padding: 10px 16px; font: 400 14px/18px var(--ap-f); color: var(--ap-c80) !important; background: none !important; border: 0; text-decoration: none; transition: color .3s; }
.ap-catalogo-grid .vime-listing-more__button:hover { color: var(--ap-coral) !important; }

/* ---------- responsivo */
@media (max-width: 1366px) and (min-width: 1025px) {
  .ap-conta { grid-template-columns: 340px minmax(0, 1fr); column-gap: 40px; padding-right: 30px; }
  .ap-conta-marca, .ap-conta-cliente, .ap-conta-menu a { padding-left: 60px; } .ap-conta-sair { margin-left: 61px; }
  .ap-galeria { grid-template-columns: 2fr 1fr 1fr; }
}
@media (max-width: 1024px) {
  .ap-conta { grid-template-columns: 1fr; padding: 0 30px; }
  .ap-conta-lateral { grid-row: auto; min-height: 0; border-right: 0; padding-top: 32px; }
  .ap-conta-conteudo { grid-column: 1; padding: 24px 0 60px; }
  .ap-conta-marca, .ap-conta-cliente { padding-left: 0; } .ap-conta-cliente { margin: 24px 0; }
  .ap-conta-menu ul { display: flex; overflow-x: auto; border-bottom: 1px solid var(--ap-c10); gap: 4px; }
  .ap-conta-menu a { padding: 0 16px; border-left: 0; border-bottom: 2px solid transparent; white-space: nowrap; height: 48px; }
  .ap-conta-menu .is-active a { border-bottom-color: var(--ap-verm); }
  .ap-conta-sair { margin: 16px 0 0; }
  .ap-galeria { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 200px 200px; }
  .ap-carrinho { grid-template-columns: minmax(0, 1fr); padding: 0 30px; } /* 1fr = min auto: o nome nowrap estourava 446px em 390 */
  .ap-car-resumo { position: static; }
  .ap-pilula { width: auto; min-width: 120px; padding: 0 20px !important; }
}
@media (max-width: 767px) {
  .ap-conta { padding: 0 20px; }
  .ap-card, .ap-pedidos, .ap-prefs { padding: 24px 20px; border-radius: 20px; }
  .ap-perfil { gap: 28px; } .ap-perfil-topo { flex-wrap: wrap; } .ap-avatar-g { width: 72px !important; height: 72px !important; }
  .ap-perfil-topo .ap-bt { width: 100%; }
  .ap-campos, .ap-prefs-lista, .ap-plano-opcoes { grid-template-columns: 1fr; }
  .ap-ped-barra { flex-direction: column; align-items: stretch; } .ap-ped-busca { width: 100%; }
  .ap-ped-acoes .ap-bt, .ap-ped-acoes .ap-filtro { flex: 1; } .ap-filtro summary { width: 100%; }
  .ap-tab-cab { display: none; }
  .ap-tab-linha { grid-template-columns: 1fr 1fr; gap: 12px; text-align: left; padding: 20px 0; }
  .ap-tab-linha > span:nth-child(3) { text-align: right; } .ap-tab-linha > span:nth-child(4) { grid-column: 1 / -1; }
  .ap-plano-topo, .ap-upgrade-topo, .ap-plano-kit, .ap-upgrade-corpo { flex-direction: column; align-items: stretch; gap: 20px; }
  .ap-plano-kit-info { flex: none; } .ap-plano-kit-acoes { flex-direction: column; align-items: stretch; } .ap-aviso { max-width: none; }
  .ap-upgrade-preco { align-items: flex-start; } .ap-upgrade-preco strong { font-size: 80px; line-height: 72px; }
  .ap-plano-ben--grade { grid-template-columns: 1fr; }
  .ap-cupom-valor { flex-basis: 104px; } .ap-cupom-valor strong { font-size: 28px; line-height: 30px; }
  .ap-cupom-corpo { padding: 20px 20px 20px 28px; } .ap-cupom-rodape { flex-wrap: wrap; gap: 8px; }
  .ap-resgate { flex-direction: row; flex-wrap: nowrap; } .ap-resgate-campo { min-width: 0; height: 42px; } .ap-resgate .ap-bt { flex: 0 0 auto; height: 42px; padding: 0 16px !important; }
  .ap-galeria { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 120px 120px; gap: 10px; }
  .ap-gal-0 { grid-column: 1 / -1; grid-row: 1; } .ap-gal-item { border-radius: 20px; }
  .ap-gal-mais strong { font-size: 28px; line-height: 32px; }
  .ap-abas-nav { gap: 20px; overflow-x: auto; } .ap-abas-nav button { white-space: nowrap; font-size: 13px !important; }
  .ap-acc-corpo { padding: 12px 20px; } .ap-op { gap: 16px; } .ap-acc summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ap-kitbox-acoes { flex-direction: column; } .ap-kitbox-acoes .ap-bt { width: 100%; }
  .ap-pinfo { gap: 28px; } .ap-pinfo-tipo { margin-bottom: -16px; } .ap-pinfo-nome, .ap-pinfo-preco strong { font-size: 28px; line-height: 34px; }
  .ap-pcompra .woocommerce-variation-add-to-cart, .ap-pcompra form.cart:not(.variations_form) { flex-wrap: wrap; }
  .ap-pcompra .single_add_to_cart_button { width: auto; flex: 1; }
  .ap-pilulas { gap: 8px; } .ap-pilula { min-width: 0; flex: 1 1 30%; height: 44px; }
  .ap-pcompra table.variations label { font-size: 20px !important; line-height: 26px !important; }
  .ap-carrinho { padding: 0 20px; gap: 24px; }
  .ap-ordenar .vime-filter__label { display: none; } .ap-ordenar .vime-filter__options { gap: 4px !important; } .ap-ordenar .vime-filter__chip { padding: 0 12px !important; }
  .ap-nabas a { padding: 0 16px; }
  .ap-auth { padding-top: 32px; }
}

/* ---------- peças Elementor/JetEngine do desenho */
.ap-foto { position: relative; }
.ap-foto > .elementor-element { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; }
.ap-foto .elementor-widget-image a, .ap-foto .elementor-widget-image img, .ap-foto .elementor-widget-container { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.ap-card-prod .ap-foto img { transition: transform .5s; } .ap-card-prod:hover .ap-foto img { transform: scale(1.04); }
.ap-hero-grid, .ap-banner-meio { width: 100%; }
.ap-banner-meio .ap-banner, .ap-banner-meio .ap-foto { min-height: 607px !important; border-radius: 32px; }
@media (max-width: 1024px) { .ap-banner-meio .ap-banner, .ap-banner-meio .ap-foto { min-height: 400px !important; } }
@media (max-width: 767px) { .ap-banner-meio .ap-banner, .ap-banner-meio .ap-foto { min-height: 220px !important; border-radius: 20px; } }
.ap-hero-grid .vime-listing-carousel__arrow { width: 28px !important; height: 28px !important; border-radius: 50% !important; background: #fff !important; color: var(--ap-ard) !important; fill: var(--ap-ard); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.ap-hero-grid .vime-listing-carousel__arrow svg { width: 12px; height: 12px; }
.ap-hero-grid .vime-listing-carousel__arrow--prev { left: 20px !important; } .ap-hero-grid .vime-listing-carousel__arrow--next { right: 20px !important; }
.ap-vitrine .vime-listing-carousel__dots { position: static !important; margin-top: 24px !important; }
.ap-vitrine .swiper-slide, .ap-cats-grid .swiper-slide, .ap-marcas-grid .swiper-slide { height: auto !important; }
.ap-vitrine .vime-loop-item > .elementor, .ap-catalogo-grid .vime-loop-item > .elementor { height: 100%; }
.ap-vitrine .ap-card-prod, .ap-catalogo-grid .ap-card-prod { height: 100%; }
.ap-catalogo-grid .ap-card-prod { background-color: var(--ap-claro) !important; border-color: #fff !important; box-shadow: 0 0 0 4px #fff inset; }
.ap-catalogo-grid .ap-foto { background: #fff !important; }
.ap-marca-card .ap-marca-img img { max-height: 32px; width: auto; max-width: 124px; filter: grayscale(1); opacity: .9; transition: opacity .3s; }
.ap-marca-card:hover .ap-marca-img img { opacity: 1; }
.ap-cat-card { position: relative; }
.ap-cat-card::before { content: ""; position: absolute; left: 50%; top: -267px; width: 351px; height: 351px; margin-left: -175px; border-radius: 50%; background: var(--ap-c10); pointer-events: none; }
.ap-cat-card > * { position: relative; z-index: 1; }
.ap-cat-card .ap-cat-img img { width: 68px; height: 68px; border-radius: 50%; object-fit: cover; }
.ap-cat-card .ap-cat-img:not(:has(img[src])) { display: none; }
.ap-cat-card .ap-cat-nome { margin-top: auto; }
.ap-cat-cobre { position: absolute !important; inset: 0; z-index: 2 !important; }
.ap-cat-cobre a { position: absolute; inset: 0; font-size: 0 !important; color: transparent !important; background: none !important; border: 0 !important; padding: 0 !important; }
.ap-cat-card:hover .ap-cat-nome .elementor-heading-title { color: var(--ap-coral); }
.ap-servico-link a { color: inherit !important; }
/* header */
.ap-nav-todas .elementor-nav-menu > li > a { padding: 7px 0 !important; }
.ap-nav-todas .sub-menu { min-width: 220px !important; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.ap-header-sep { flex: 0 0 auto; }
.ap-nav-hamb .elementor-menu-toggle { margin: 0 !important; }
.ap-nav-hamb .elementor-nav-menu--dropdown { border-radius: 0 0 12px 12px; box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.ap-wordmark .elementor-heading-title a { color: inherit !important; }
.ap-header-interno .ap-busca { background: transparent; }
/* rodapé */
.ap-bt-app .elementor-button { display: inline-flex !important; align-items: center; min-width: 244px; height: 96px; }
.ap-bt-app .elementor-button-content-wrapper { display: flex; align-items: center; gap: 8px; }
.ap-bt-app .elementor-button-icon svg { width: 32px !important; height: 32px !important; }
.ap-bt-app .elementor-button-text { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.ap-bt-app .elementor-button-text small { font: 400 12px/16px var(--ap-f); color: var(--ap-c30); }
.ap-bt-comprar .elementor-button-icon svg { width: 24px !important; height: 24px !important; transform: rotate(90deg); }
.ap-bt-comprar .elementor-button { width: 244px; justify-content: flex-start; }
.ap-foot-link .elementor-heading-title a { color: inherit !important; transition: color .3s; }
.ap-foot-link .elementor-heading-title a:hover { color: var(--ap-verm) !important; }
.ap-sublinhado .elementor-heading-title { text-decoration: underline; }
@media (max-width: 767px) {
  .ap-bt-app .elementor-button { min-width: 0; width: 100%; height: 72px; padding: 16px 20px !important; }
  .ap-bt-app { width: 100% !important; }
  .ap-cat-card::before { width: 260px; height: 260px; margin-left: -130px; top: -200px; }
}

/* área do cliente: o CSS padrão do Woo flutua navegação (30%) e conteúdo (68%) */
.ap-conta .woocommerce-MyAccount-navigation, .ap-conta .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-account .elementor-widget-shortcode .woocommerce { width: 100%; }
/* swatches de variação do vime-woocommerce no desenho (pílulas 154×51) */
.ap-pcompra .vime-swatches-container { display: flex; flex-wrap: wrap; gap: 12px; }
.ap-pcompra .vime-swatch-option { margin: 0 !important; }
.ap-pcompra .vime-swatch-button { width: 154px; height: 51px; padding: 0 12px !important; border: 1px solid var(--ap-c30) !important; border-radius: 16px !important;
  background: #fff !important; font: 300 14px/24px var(--ap-fo) !important; color: var(--ap-c70) !important; box-shadow: none !important; transition: border-color .3s, background-color .3s; }
.ap-pcompra .vime-swatch-button:hover { border-color: var(--ap-coral) !important; }
.ap-pcompra .vime-swatch-option.selected .vime-swatch-button, .ap-pcompra .vime-swatch-button.selected, .ap-pcompra .vime-swatch-button.active,
.ap-pcompra .vime-swatch-option.active .vime-swatch-button { border-color: var(--ap-coral) !important; background: rgba(255,84,78,.08) !important; color: var(--ap-ink) !important; font-weight: 600 !important; }
.ap-pcompra .vime-swatch-option.disabled .vime-swatch-button, .ap-pcompra .vime-swatch-button:disabled { opacity: .35; }
/* foto do produto (549×520, r32) */
.ap-pfoto .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.ap-pfoto .woocommerce-product-gallery__image, .ap-pfoto .woocommerce-product-gallery__image a { display: block; height: 520px; border-radius: 32px; overflow: hidden; }
.ap-pfoto .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: cover; }
.ap-pfoto .flex-control-thumbs { display: flex; gap: 12px; margin-top: 12px !important; }
.ap-pfoto .flex-control-thumbs li { width: 80px !important; } .ap-pfoto .flex-control-thumbs img { border-radius: 12px; }
@media (max-width: 767px) { .ap-pfoto .woocommerce-product-gallery__image, .ap-pfoto .woocommerce-product-gallery__image a { height: 340px; border-radius: 20px; } }
/* calcular frete */
.ap-frete .vime-shipping-calculator { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.ap-frete .vime-shipping-calculator-title { margin: 0 0 16px !important; font: 500 20px/20px var(--ap-f) !important; color: var(--ap-c70) !important; }
.ap-frete .vime-shipping-calculator-input-group { display: flex; gap: 24px; }
.ap-frete .vime-shipping-calculator-input { width: 240px !important; height: 51px !important; padding: 0 21px 0 27px !important; border: 1px solid var(--ap-c30) !important; border-radius: 16px !important;
  font: 300 14px/24px var(--ap-fo) !important; color: var(--ap-c70) !important; background: #fff !important; }
.ap-frete .vime-shipping-calculator-button { width: 197px !important; height: 50px !important; border: 0 !important; border-radius: 16px !important; background: var(--ap-coral) !important;
  color: #fff !important; font: 700 14px/24px var(--ap-fo) !important; transition: background-color .3s; }
.ap-frete .vime-shipping-calculator-button:hover { background: var(--ap-coral-h) !important; }
.ap-frete .vime-shipping-calculator-button i, .ap-frete .vime-shipping-calculator-button svg { display: none; }
@media (max-width: 767px) { .ap-frete .vime-shipping-calculator-input-group { gap: 12px; } .ap-frete .vime-shipping-calculator-input { flex: 1; width: auto !important; } .ap-frete .vime-shipping-calculator-button { width: 120px !important; } }
.ap-nabas a { color: var(--ap-c30) !important; } .ap-nabas a.is-ativa { color: #fff !important; } .ap-nabas a:hover:not(.is-ativa) { color: var(--ap-c70) !important; }
.ap-auth .woocommerce-form .form-row input.input-text, .ap-auth input.input-text { height: 52px !important; min-height: 52px; padding: 0 16px !important; border: 0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 0 12px rgba(0,0,0,.08) !important; }
.ap-auth label { margin: 0 !important; display: block; }
.ap-auth .ap-senha-linha > a { top: 0; line-height: 18px; }
img.ap-avatar { border-radius: 50% !important; }
.ap-faq .e-n-accordion-item-title { flex-direction: row; justify-content: space-between; } /* Figma: chevron à direita */
.ap-faq .e-n-accordion-item-title-header { flex: 1; }

/* ---------- mobile/tablet (rodada 390/768) */
.ap-conta, .ap-conta * { box-sizing: border-box; }
@media (max-width: 1024px) {
  .ap-cat-lateral .ap-filtrar-tit { cursor: pointer; }
  .ap-cat-lateral .ap-filtrar-tit .elementor-heading-title::after { content: " +"; color: var(--ap-coral); }
  .ap-cat-lateral.is-aberto .ap-filtrar-tit .elementor-heading-title::after { content: " −"; }
  .ap-cat-lateral:not(.is-aberto) > .elementor-element:not(:nth-child(-n+2)) { display: none !important; }
}
@media (max-width: 767px) {
  .ap-card-prod { position: relative; }
  .ap-card-prod .ap-add-wrap { position: absolute !important; top: 124px; right: 10px; z-index: 4; }
  .ap-card-prod .ap-pp-int { font-size: 26px; line-height: 26px; }
  .ap-card-prod .ap-pp-cifra, .ap-card-prod .ap-pp-dec { font-size: 15px; line-height: 16px; }
  .ap-card-prod .ap-precos { gap: 8px; }
  .ap-ordenar .vime-filter__chip { height: 32px; }
}
@media (max-width: 1024px) { .ap-conta { grid-template-columns: minmax(0, 1fr) !important; } }
.ap-foot-link .elementor-heading-title { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .ap-card-prod .e-con { position: static; }
  .ap-card-prod .ap-add-wrap { top: 128px; }
}
.ap-plano-renov { width: auto; min-width: 163px; }
.ap-plano-kit-foto img { height: 248px !important; }
/* avisos do Woo (adicionado ao carrinho etc.) */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 12px !important; border-top-color: var(--ap-coral) !important; background: var(--ap-claro) !important; font: 400 14px/21px var(--ap-f) !important; color: var(--ap-c70) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ap-coral) !important; }
.woocommerce-message .button, .woocommerce-info .button { background: var(--ap-coral) !important; color: #fff !important; border-radius: 8px !important; border: 0 !important; }
.ap-avisos:empty, .ap-avisos .woocommerce-notices-wrapper:empty { display: none; }

/* ---------- finalizar compra (sem frame no Figma: estilo do carrinho/área do cliente) */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 24px 40px; max-width: 1196px; margin: 0 auto; align-items: start; }
.woocommerce-checkout form.checkout > * { grid-column: 1; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; font: 500 20px/24px var(--ap-f); color: var(--ap-ard); }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2 / span 6; position: sticky; top: 24px; padding: 24px 20px; border-radius: 24px; background: #fff; box-shadow: 0 0 16px rgba(0,0,0,.08); }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; max-width: none; }
.woocommerce-checkout h3 { font: 500 20px/24px var(--ap-f) !important; color: var(--ap-ard) !important; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single { min-height: 48px; border: 1px solid var(--ap-c30) !important; border-radius: 8px !important; padding: 0 14px !important; font: 400 14px/21px var(--ap-f) !important; background: #fff !important; }
.woocommerce-checkout .form-row textarea { padding: 12px 14px !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0 !important; }
.woocommerce-checkout .form-row label { font: 600 13px/18px var(--ap-f); color: var(--ap-ard); }
.woocommerce-checkout #order_review img { width: 48px !important; height: 48px !important; border-radius: 8px; object-fit: cover; }
.woocommerce-checkout #order_review table { border: 0 !important; font: 400 13px/18px var(--ap-f); }
.woocommerce-checkout #order_review .order-total .amount { font: 600 20px/24px var(--ap-fi); color: var(--ap-ard); }
.woocommerce-checkout #place_order { width: 100%; min-height: 52px; border: 0 !important; border-radius: 12px !important; background: var(--ap-verm) !important; color: #fff !important; font: 600 14px/18px var(--ap-fi) !important; }
.woocommerce-checkout #place_order:hover { background: var(--ap-verm-h) !important; }
@media (max-width: 1024px) {
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); padding: 0 30px; }
  .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 767px) { .woocommerce-checkout form.checkout { padding: 0 20px; } }
@media (max-width: 767px) { .ap-hacoes { gap: 14px; } .ap-hentrar { padding: 6px 0; } .ap-hico { min-width: 22px; } }

/* ---------- Figma Alt 1: marca, avaliações, pedidos */
.ap-marca-box { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 20px; background: var(--ap-claro); margin-top: 24px; }
.ap-kitbox-col .ap-marca-box { margin-top: 0; }
.ap-marca-logo { flex: 0 0 60px; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; background: #D9D9D9; display: flex; align-items: center; justify-content: center; }
.ap-marca-logo img { width: 100% !important; height: 100% !important; object-fit: contain; padding: 8px; background: #fff; }
.ap-marca-logo-vazio { display: block; width: 100%; height: 100%; }
.ap-marca-box strong { display: block; margin-bottom: 12px; font: 700 16px/20px var(--ap-f); color: var(--ap-ard); }
.ap-marca-box div a { font: 500 12px/1.14 var(--ap-f); color: var(--ap-verm) !important; text-decoration: underline; }
.ap-pinfo .ap-marca-box { margin: -26px 0 0; }
.ap-avaliacoes { display: flex; flex-direction: column; gap: 60px; width: 1000px; max-width: 100%; margin: 0 auto; }
.ap-aval-cab { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ap-aval-cab h2 { margin: 0; font: 700 32px/32px var(--ap-f); color: #282829; }
.ap-aval-todas { height: 50px; border-radius: 16px !important; padding: 0 32px !important; font: 700 14px/24px var(--ap-fo) !important; }
.ap-aval-lista { display: flex; flex-direction: column; }
.ap-aval { display: flex; gap: 56px; align-items: flex-start; padding: 40px 0; border-bottom: 1px solid #D9D9D9; }
.ap-aval:first-child { padding-top: 0; } .ap-aval:last-child { border-bottom: 0; padding-bottom: 0; }
.ap-aval.is-oculta { display: none; }
.ap-aval-texto { flex: 0 0 526px; max-width: 100%; display: flex; flex-direction: column; gap: 4px; }
.ap-aval-texto strong { margin-top: 4px; font: 600 14px/21px var(--ap-f); color: #2D2D2D; }
.ap-aval-texto time { font: 400 12px/16px var(--ap-f); color: var(--ap-c30); }
.ap-aval-texto p { margin: 12px 0 0; font: 400 12px/16px var(--ap-f); color: var(--ap-c80); }
.ap-estrelas { display: inline-flex; gap: 4px; }
.ap-estrelas i { display: inline-flex; color: var(--ap-c10); } .ap-estrelas i.is-cheia { color: #FFC300; }
.ap-estrelas svg { width: 20px; height: 20px; }
.ap-aval-fotos { display: flex; gap: 12px; }
.ap-aval-fotos a { display: block; width: 191px; height: 191px; border-radius: 12px; overflow: hidden; }
.ap-aval-fotos img { width: 100% !important; height: 100% !important; object-fit: cover; }
.ap-aval-form { display: flex; flex-direction: column; gap: 12px; padding: 32px; border-radius: 20px; background: #fff; box-shadow: 0 0 16px rgba(0,0,0,.06); }
.ap-aval-form label, .ap-aval-form legend { font: 600 14px/21px var(--ap-f); color: var(--ap-ard); }
.ap-aval-form fieldset { border: 0; margin: 0; padding: 0; }
.ap-aval-form textarea { border: 1px solid var(--ap-c30) !important; border-radius: 12px !important; padding: 12px 14px !important; font: 400 14px/21px var(--ap-f) !important; }
.ap-aval-estrelas { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.ap-aval-estrelas input { position: absolute; opacity: 0; }
.ap-aval-estrelas label { cursor: pointer; color: var(--ap-c10); } .ap-aval-estrelas svg { width: 28px; height: 28px; }
.ap-aval-estrelas input:checked ~ label, .ap-aval-estrelas label:hover, .ap-aval-estrelas label:hover ~ label { color: #FFC300; }
.ap-aval-estrelas input:focus-visible + label { outline: 2px solid var(--ap-ard); outline-offset: 2px; }
.ap-aval-form .ap-bt { align-self: flex-start; }
.ap-avaliar-item { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font: 600 13px/18px var(--ap-f); color: var(--ap-verm) !important; }
.ap-avaliar-item svg { width: 16px; height: 16px; color: #FFC300; }
.ap-tab-ped strong { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 14px/20px var(--ap-f) !important; }
/* header desktop: anotação "esse sanduíche vai ficar invisível por enquanto" */
.ap-sanduiche-oculto { visibility: hidden !important; }
@media (max-width: 1024px) { .ap-aval { flex-direction: column; gap: 20px; } .ap-aval-texto { flex-basis: auto; } }
@media (max-width: 767px) {
  .ap-avaliacoes { gap: 32px; } .ap-aval-cab h2 { font-size: 24px; line-height: 28px; }
  .ap-aval-todas { height: 44px; padding: 0 20px !important; } .ap-aval { padding: 28px 0; }
  .ap-aval-fotos a { width: calc(50% - 6px); height: auto; aspect-ratio: 1; } .ap-aval-fotos { width: 100%; }
  .ap-pinfo .ap-marca-box { margin-top: -12px; }
}
.ap-aval-aviso { margin: 0; padding: 14px 18px; border-radius: 12px; background: rgba(52,199,89,.12); font: 500 14px/21px var(--ap-f); color: #1E7A37; }
.ap-tab-cab, .ap-tab-linha { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ap-tab-ped { min-width: 0; } @media (max-width: 767px) { .ap-tab-linha { grid-template-columns: minmax(0, 1fr) auto; } .ap-tab-linha > span:first-child { grid-column: 1 / -1; } }
@media (max-width: 767px) { .ap-card-prod .e-con.ap-foto { position: relative !important; } }
.vime-listing .swiper-pagination-bullet { background: var(--ap-c30) !important; opacity: 1 !important; } .vime-listing .swiper-pagination-bullet-active { background: var(--ap-coral) !important; }

/* sombra do hover dos cards não pode ser cortada pelo overflow do viewport do carrossel:
   sombra 0 12 28 → ~40px abaixo.
   O corte lateral fica na METADE do gap (padding lateral expunha os cards vizinhos): clip-path
   em vez de overflow:hidden deixa a sombra vazar para cima/baixo sem mostrar o slide seguinte. */
.ap-vitrine .vime-listing-carousel__viewport, .ap-cats-grid .vime-listing-carousel__viewport,
.ap-marcas-grid .vime-listing-carousel__viewport { overflow: visible !important; }
/* overflow visible no viewport ainda conta para a largura da página (relacionados do produto
   chegaram a 2310px em 390): o bloco da listagem corta só na horizontal */
.ap-vitrine.elementor-widget-vime-listing, .ap-cats-grid.elementor-widget-vime-listing,
.ap-marcas-grid.elementor-widget-vime-listing { overflow-x: clip; overflow-clip-margin: 8px; }
.ap-vitrine .vime-listing-carousel__viewport { clip-path: inset(-20px -8px -48px -8px); }
.ap-cats-grid .vime-listing-carousel__viewport { clip-path: inset(-20px -10px -48px -10px); }
.ap-marcas-grid .vime-listing-carousel__viewport { clip-path: inset(-20px -4px -48px -4px); }
@media (max-width: 767px) { .ap-cats-grid .vime-listing-carousel__viewport { clip-path: inset(-20px -4px -48px -4px); } }

/* ---------- menu lateral "Todas as Categorias" (popup do Theme Builder) */
.ap-menu-gatilho a, .ap-menu-gatilho-txt a { cursor: pointer; }
.ap-menu-gatilho-txt .elementor-heading-title a:hover { color: var(--ap-coral) !important; }
.ap-drawer-nav .elementor-nav-menu--main .elementor-item { border-bottom: 1px solid var(--ap-c10); justify-content: space-between; }
.ap-drawer-nav .elementor-nav-menu--main .elementor-item:hover, .ap-drawer-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ap-coral) !important; }
.ap-drawer-nav .elementor-nav-menu--main .sub-menu { position: static !important; width: 100% !important; box-shadow: none !important; border: 0 !important; }
.ap-drawer-nav .elementor-nav-menu--main .sub-menu a { padding: 12px 0 12px 16px !important; font-size: 14px !important; background: none !important; color: var(--ap-c70) !important; }
.ap-drawer-nav .elementor-nav-menu--main .sub-menu a:hover { color: var(--ap-coral) !important; }

/* ---------- revisão final vs Figma (catálogo) */
/* #64: a coluna principal pedia 100% e roubava a lateral (464 → 378px) */
@media (min-width: 1025px) { .ap-cat-lateral { flex: 0 0 464px !important; } .ap-catalogo > .e-con:not(.ap-cat-lateral) { flex: 1 1 0 !important; min-width: 0; } }
.ap-filtros { width: 100%; }
.ap-ordenar .vime-filter__label { font-size: 16px !important; }
.ap-catalogo-grid .vime-listing-more__button { color: var(--ap-ard) !important; text-decoration: underline !important; text-underline-offset: 3px; font-size: 14px !important; }
.ap-filtros .vime-filter__range-inputs { display: flex; align-items: center; gap: 8px; }
.ap-filtros .vime-filter__range-inputs label { display: flex; align-items: center; gap: 4px; flex: 1 1 0; min-width: 0; }
.ap-filtros .vime-filter__range-inputs .vime-filter__input { width: 100%; min-width: 0; padding: 0 8px; }

/* revisão vs Figma — página de produto (58868:12255): vãos medidos contra o frame */
@media (min-width: 1025px) {
  .ap-pinfo-tipo { margin-bottom: -37px !important; } /* regra de <p> do tema anulava a margem */
  .ap-pcompra { margin-top: 15px !important; }
  .ap-produto-frete { margin-top: 20px !important; }
  .ap-pinfo .ap-marca-box { margin-top: -43px; }
  .ap-pcompra table.variations tr { margin-bottom: 20px; }
  .ap-pcompra form.cart { gap: 15px; }
}

/* revisão vs Figma — página de kit (58868:12331) */
@media (min-width: 1025px) {
  .ap-kitbox-tipo { margin-bottom: -31px !important; }
  .ap-precos--kit { gap: 0; }
  .ap-precos--kit .ap-preco-ass { gap: 0; }
  .ap-op { padding: 23px 0 24px; }
  .ap-aba > .ap-acc > .ap-acc-corpo { padding-top: 4px; padding-bottom: 0; }
}
.ap-kitbox-acoes { margin: 0 !important; justify-content: space-between; }
.ap-kitbox-acoes .ap-bt { flex: 1 1 0; width: auto; min-width: 0; margin: 0 !important; }

/* abas do kit — Descrição (título Medium 20) e Especificações (Figma Component 10) */
.ap-aba-tit { margin: 0 0 14px; font: 500 20px/24px var(--ap-f); color: var(--ap-c70); }
.ap-aba-texto p { margin: 0 0 21px; } .ap-aba-texto p:last-child { margin-bottom: 0; }
.ap-aba-espec { gap: 24px !important; }
.ap-acc-espec summary { font-weight: 600; font-size: 14px; }
.ap-acc-espec[open] summary { border-radius: 8px 8px 0 0; }
.ap-espec { display: table; width: 100%; margin: 0 !important; border-radius: 0 0 8px 8px; overflow: hidden; border: 0 !important; border-collapse: collapse; }
.ap-espec tr:nth-child(odd) { background: #F5F5F5; } .ap-espec tr:nth-child(even) { background: #E6E6E6; }
.ap-acc-espec { background: none; } .ap-acc-espec:not([open]) summary { background: var(--ap-claro); border-radius: 8px; }
.ap-espec th, .ap-espec td { height: 40px; vertical-align: middle; padding: 0 24px !important; border: 0 !important; font: 400 12px/16px var(--ap-f); color: var(--ap-c70); text-align: left; background: none !important; }
.ap-espec td { font-weight: 600; text-align: right; }

/* rodapé: e-mail longo da option não quebra (cabe no respiro à direita da última coluna) */
@media (min-width: 1025px) { .ap-foot-contato .ap-foot-link .elementor-heading-title { white-space: nowrap; } }

/* card de categoria da Home (Figma 58868:11902): "tigela" #E6E6E6 no topo, slot de imagem 68px
   e rótulo centralizado logo abaixo (y=75) — não mais colado na base */
.ap-cat-card { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22351%22%20height%3D%2284%22%20viewBox%3D%220%200%20351%2084%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22c%22%3E%3Crect%20width%3D%22351%22%20height%3D%22152%22%20rx%3D%2232%22/%3E%3C/clipPath%3E%3C/defs%3E%3Ccircle%20cx%3D%22175.5%22%20cy%3D%22-91.5%22%20r%3D%22175.5%22%20fill%3D%22%23E6E6E6%22%20clip-path%3D%22url%28%23c%29%22/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important;
  background-position: top center !important; background-size: 100% auto !important;
  align-items: center !important; justify-content: flex-start !important; gap: 0 !important; padding-top: 8px !important; }
.ap-cat-card .ap-cat-img { width: 68px !important; height: 68px; flex: 0 0 68px; display: block !important; }
.ap-cat-card .ap-cat-img:not(:has(img[src])) { visibility: hidden; }
.ap-cat-card .ap-cat-nome { margin-top: 0 !important; text-align: center; }
.ap-cat-card .ap-cat-nome .elementor-heading-title { text-align: center; }
.ap-cat-card::before { display: none !important; }
.ap-cat-card:not(:has(.ap-cat-img img[src])) .ap-cat-nome { margin-top: 64px !important; } /* sem foto: rótulo no lugar do Figma (y=75) */

/* revisão vs Figma: relacionados sem borda/fundo de card; foto do produto sem a lupa do Woo */
.ap-vitrine-produto .ap-card-prod { border-color: transparent !important; }
.ap-pfoto .woocommerce-product-gallery__trigger { display: none !important; }
@media (min-width: 1025px) { .ap-card-prod .ap-precos { gap: 0; } .ap-card-prod .ap-preco-ass { gap: 2px; } } /* Figma Frame 872: loja→preço 20px, preço→"para assinantes" 8px */

@media (max-width: 767px) { .ap-car-vazio { padding: 0 20px; } }

/* Cupons (Figma 58868:12727): ~56px entre o texto e a barra de resgate */
.ap-cupons-txt + .ap-resgate { margin-top: 44px; }
@media (max-width: 767px) { .ap-so-desktop { display: none; } .ap-cupons-txt + .ap-resgate { margin-top: 24px; } }

/* área do cliente — revisão vs Figma (58868:12375…12841) */
@media (min-width: 1025px) { .ap-conta { margin-left: 0; } } /* a lateral encosta na borda: 428+60+832 e sobra à direita */
.ap-conta-cliente img, img.ap-avatar { border: 2px solid var(--ap-verm) !important; }
.ap-link-p { text-decoration: underline !important; text-underline-offset: 2px; }
.ap-faq .e-n-accordion-item { border: 0 !important; }
.ap-faq .e-n-accordion-item-title { border: 0 !important; background: #F5F5F5 !important; border-radius: 8px; }
.ap-faq .e-n-accordion-item-title-icon { order: 2; margin-left: auto; }
.ap-form-chamado .elementor-field-label { margin-bottom: 12px !important; display: block; }
.ap-faq { --n-accordion-title-flex-direction: row !important; }

/* login/cadastro — revisão vs Figma (58972:228 / 58972:295) */
.woocommerce-form-register .ap-ordem-1 { order: 1; } .woocommerce-form-register .ap-ordem-2 { order: 2; }
.woocommerce-form-register .ap-ordem-3 { order: 3; } .woocommerce-form-register .ap-ordem-4 { order: 4; }
.woocommerce-form-register .ap-ordem-5 { order: 5; } .woocommerce-form-register > :not([class*=ap-ordem-]) { order: 6; }
.woocommerce-form-register button[name=register] { order: 7; }
.ap-auth .ap-senha-linha > a { position: absolute !important; right: 0; top: 0; color: #9DB0BC !important; text-decoration: underline !important; font: 500 12px/18px var(--ap-f) !important; }
.ap-auth-troca a { color: var(--ap-coral) !important; text-decoration: underline !important; }
.ap-auth-links a { color: var(--ap-c50) !important; text-decoration: underline !important; }
.ap-auth .required { color: inherit; }
.ap-auth .password-input { position: relative; display: block; width: 100%; }
.ap-auth .password-input input { width: 100%; padding-right: 48px !important; }
/* botão nativo do Woo com o ícone eye-slash do Figma */
.ap-auth .show-password-input { position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%); width: 32px !important; height: 32px !important;
  padding: 0 !important; border: 0 !important; background: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M10.2996%2014.7783C10.1532%2014.7783%2010.0067%2014.7243%209.89107%2014.6087C9.25898%2013.9766%208.91211%2013.1364%208.91211%2012.25C8.91211%2010.4077%2010.4075%208.91226%2012.2498%208.91226C13.1363%208.91226%2013.9765%209.25914%2014.6086%209.89122C14.7165%209.99914%2014.7782%2010.1456%2014.7782%2010.2998C14.7782%2010.4539%2014.7165%2010.6004%2014.6086%2010.7083L10.7082%2014.6087C10.5925%2014.7243%2010.4461%2014.7783%2010.2996%2014.7783ZM12.2498%2010.0685C11.0473%2010.0685%2010.0684%2011.0475%2010.0684%2012.25C10.0684%2012.6354%2010.1686%2013.0054%2010.3536%2013.3291L13.329%2010.3537C13.0052%2010.1687%2012.6352%2010.0685%2012.2498%2010.0685Z%22%20fill%3D%22%23B3B3B3%22/%3E%3Cpath%20d%3D%22M7.3163%2017.268C7.18526%2017.268%207.04651%2017.2218%206.93859%2017.1293C6.1138%2016.4278%205.3738%2015.5645%204.74172%2014.5624C3.92464%2013.2905%203.92464%2011.217%204.74172%209.93741C6.62255%206.99283%209.35901%205.297%2012.2496%205.297C13.9455%205.297%2015.6182%205.88283%2017.0828%206.98512C17.3371%207.17783%2017.3911%207.54012%2017.1984%207.7945C17.0057%208.04887%2016.6434%208.10283%2016.389%207.91012C15.1248%206.95429%2013.6911%206.45325%2012.2496%206.45325C9.75984%206.45325%207.37797%207.94866%205.71297%2010.5618C5.13484%2011.4637%205.13484%2013.0362%205.71297%2013.938C6.29109%2014.8399%206.95401%2015.6185%207.6863%2016.2505C7.92526%2016.4587%207.95609%2016.821%207.74797%2017.0676C7.64005%2017.1987%207.47818%2017.268%207.3163%2017.268Z%22%20fill%3D%22%23B3B3B3%22/%3E%3Cpath%20d%3D%22M12.2505%2019.203C11.2253%2019.203%2010.2232%2018.9948%209.25963%2018.5863C8.96672%2018.463%208.82797%2018.1238%208.9513%2017.8309C9.07463%2017.538%209.4138%2017.3992%209.70672%2017.5225C10.5238%2017.8694%2011.3794%2018.0467%2012.2428%2018.0467C14.7325%2018.0467%2017.1144%2016.5513%2018.7794%2013.9382C19.3575%2013.0363%2019.3575%2011.4638%2018.7794%2010.5619C18.5405%2010.1842%2018.2784%209.82191%2018.0009%209.48275C17.8005%209.23608%2017.839%208.87379%2018.0857%208.66566C18.3323%208.46525%2018.6946%208.49608%2018.9028%208.75046C19.2034%209.12046%2019.4963%209.52129%2019.7584%209.93754C20.5755%2011.2094%2020.5755%2013.283%2019.7584%2014.5625C17.8775%2017.5071%2015.1411%2019.203%2012.2505%2019.203Z%22%20fill%3D%22%23B3B3B3%22/%3E%3Cpath%20d%3D%22M12.7814%2015.5415C12.5116%2015.5415%2012.265%2015.3488%2012.211%2015.0713C12.1494%2014.7552%2012.3575%2014.4546%2012.6735%2014.4006C13.5214%2014.2465%2014.2306%2013.5373%2014.3848%2012.6894C14.4464%2012.3734%2014.7471%2012.1729%2015.0631%2012.2269C15.3791%2012.2886%2015.5873%2012.5892%2015.5256%2012.9052C15.2789%2014.2388%2014.2152%2015.2948%2012.8894%2015.5415C12.8508%2015.5338%2012.82%2015.5415%2012.7814%2015.5415Z%22%20fill%3D%22%23B3B3B3%22/%3E%3Cpath%20d%3D%22M4.54202%2020.5364C4.39556%2020.5364%204.2491%2020.4825%204.13348%2020.3669C3.90993%2020.1433%203.90993%2019.7733%204.13348%2019.5498L9.8916%2013.7916C10.1151%2013.5681%2010.4851%2013.5681%2010.7087%2013.7916C10.9322%2014.0152%2010.9322%2014.3852%2010.7087%2014.6087L4.95056%2020.3669C4.83493%2020.4825%204.68848%2020.5364%204.54202%2020.5364Z%22%20fill%3D%22%23B3B3B3%22/%3E%3Cpath%20d%3D%22M14.2002%2010.8779C14.0538%2010.8779%2013.9073%2010.8239%2013.7917%2010.7083C13.5681%2010.4848%2013.5681%2010.1148%2013.7917%209.89123L19.5498%204.13311C19.7733%203.90957%2020.1433%203.90957%2020.3669%204.13311C20.5904%204.35665%2020.5904%204.72665%2020.3669%204.95019L14.6088%2010.7083C14.4931%2010.8239%2014.3467%2010.8779%2014.2002%2010.8779Z%22%20fill%3D%22%23B3B3B3%22/%3E%3C/svg%3E") center / 24px no-repeat !important; cursor: pointer; }
.ap-auth .show-password-input::after, .ap-auth .show-password-input::before { display: none !important; }
.ap-auth .show-password-input.display-password { opacity: .55; }
/* passo de 107px entre campos (Figma Cadastro): rótulo 18 + 12 + campo 52 + 25 */
.ap-auth form { gap: 25px !important; }
.ap-auth .form-row { gap: 0 !important; }
.ap-auth .form-row > label { display: block; line-height: 18px !important; margin: 0 0 12px !important; }
.ap-auth .ap-aceite > label { margin: 0 !important; }
/* "Esqueceu sua senha?" na linha do rótulo "Senha" */
.ap-auth .ap-senha-linha { display: grid !important; grid-template-columns: 1fr auto; align-items: center; }
.ap-auth .ap-senha-linha > a { position: static !important; margin: 0 0 12px; }
.ap-auth .ap-senha-linha > .password-input { grid-column: 1 / -1; }
.ap-auth .form-row::before, .ap-auth .form-row::after { display: none !important; } /* clearfix do Woo virava célula do grid */
.ap-auth-sub { margin-bottom: 32px !important; }
