/* t|Derm® Vet — ajustes sobre o tema original do clone (carregado por último). */

/* topo: logo gigante tem outra proporção que a palavra VOLDOG */
.home #et_pb_section_0 .et_pb_with_border.et_pb_fullwidth_header .header-logo,
.et_pb_with_border.et_pb_fullwidth_header .header-logo { width: min(34vw, 40vh * 1.83, 600px) !important; margin-top: 0 !important; top: 70px; }
/* bicho no lugar do vídeo */
#hero-video-block .et_pb_code_inner { position: relative; height: 100%; }
#hero-video-block .tdv-bicho {
  position: absolute; left: 50%; bottom: 0; height: 52vh; width: auto; max-width: none;
  transform: translateX(-50%); filter: drop-shadow(0 30px 40px rgba(21, 26, 67, .18));
  transition: opacity .6s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
#hero-video-block .tdv-bicho--gato { opacity: 0; transform: translateX(-50%) translateY(30px); }
body.tdv-gato #hero-video-block .tdv-bicho { opacity: 0; transform: translateX(-50%) translateY(30px); }
body.tdv-gato #hero-video-block .tdv-bicho--gato { opacity: 1; transform: translateX(-50%); }
#hands-svg { display: none !important; }
#header-banner img { width: 100%; height: auto; }

/* guia "qual produto" */
#tdv-resultado { max-width: 900px; margin: 0 auto; }
#tdv-resultado:empty { display: none; }
.tdv-res { display: grid; grid-template-columns: 220px 1fr; gap: 34px; align-items: center; margin-top: 50px; background: #fff; border-radius: 30px; padding: 26px 36px 26px 26px; box-shadow: 0 0 30px 6px #0000000d; animation: tdvSobe .6s cubic-bezier(.22,1,.36,1) both; }
.tdv-res__img { background: #f2f3f4; border-radius: 22px; height: 190px; display: grid; place-items: center; }
.tdv-res__img img { max-height: 180px; width: auto; }
.tdv-res h4 { color: #151a43; font-size: 24px; font-weight: 600; margin: 0 0 6px; padding: 0; }
.tdv-res .tdv-preco { color: #12b3a2; font-weight: 700; font-size: 18px; margin-bottom: 10px; }
.tdv-res p { color: #151a43; font-size: 16px; line-height: 1.6; margin: 0 0 18px; padding: 0; }
.tdv-res__acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.tdv-res__acoes a { display: inline-flex; align-items: center; height: 50px; padding: 0 26px; border-radius: 100px; font-weight: 600; font-size: 15px; }
.tdv-res__acoes a:first-child { background: #28d9c4; color: #151a43; }
.tdv-res__acoes a:last-child { background: #f2f3f4; color: #151a43; }
@keyframes tdvSobe { from { opacity: 0; transform: translateY(20px); } }

/* preço riscado do kit */
.tdv-de { color: #9aa0b8; font-size: .85em; margin-left: 6px; }

/* evidência (no lugar das avaliações do Google) */
.tdv-evid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1200px; margin: 0 auto; }
.tdv-num { background: #fff; border-radius: 30px; padding: 30px 32px; box-shadow: 0 0 30px 6px #00000008; }
.tdv-num b { display: block; color: #151a43; font-size: clamp(48px, 5vw, 76px); font-weight: 700; line-height: 1; }
.tdv-num span { display: block; margin-top: 12px; color: #151a43; font-size: 16px; line-height: 1.5; }
.tdv-faz { grid-column: span 3; background: #fff; border-radius: 30px; padding: 34px 38px; box-shadow: 0 0 30px 6px #00000008; }
.tdv-faz h4 { color: #151a43; font-size: 22px; font-weight: 600; padding: 0 0 10px; }
.tdv-faz h4::before { content: "+"; display: inline-grid; place-items: center; width: 32px; height: 32px; margin-right: 12px; border-radius: 50%; background: #28d9c4; font-weight: 700; }
.tdv-faz--nao h4::before { content: "−"; background: #151a43; color: #fff; }
.tdv-faz p { color: #151a43; font-size: 16px; line-height: 1.7; padding: 0; }
@media (min-width: 981px) { .tdv-faz { grid-column: span 3; } .tdv-evid { grid-template-columns: repeat(6, 1fr); } .tdv-num { grid-column: span 2; } .tdv-faz { grid-column: span 3; } }

@media (max-width: 980px) {
  .home #et_pb_section_0 .et_pb_with_border.et_pb_fullwidth_header .header-logo,
  .et_pb_with_border.et_pb_fullwidth_header .header-logo { width: 70vw !important; top: -10px; }
  #hero-video-block .tdv-bicho { height: 48vh; }
  .tdv-res { grid-template-columns: 1fr; padding: 20px; gap: 18px; }
  .tdv-evid { grid-template-columns: 1fr; }
  .tdv-faz { grid-column: auto; padding: 28px 24px; }
}

/* logo gigante centralizada (o GSAP anima transform, então centraliza por margem) */
.home #et_pb_section_0 .et_pb_with_border.et_pb_fullwidth_header .header-logo,
.et_pb_with_border.et_pb_fullwidth_header .header-logo { left: auto !important; margin-left: auto !important; margin-right: auto !important; transform: none; }
/* WhatsApp do topo afastado do botão Comprar */
#top-menu > li.menu-item-116 { margin-left: 26px !important; }
#top-menu > li.menu-item-116 a { color: #151a43; }
/* ícone dos cards (no lugar do pote) */
.et_pb_blurb .et-pb-icon { font-size: 0 !important; width: 26px; height: 26px; border-radius: 7px; background: #28d9c4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23151A43' d='M4.6 0h2.8v4.6H12v2.8H7.4V12H4.6V7.4H0V4.6h4.6z'/%3E%3C/svg%3E") center / 12px no-repeat; display: inline-block; }
/* o "+" do topo sempre na cor da marca */
body:not(.home) #logosvg #voldog-icon path, body.home.scrolling #logosvg #voldog-icon path { fill: #28d9c4 !important; }
/* filtros da loja (o plugin original estilizava por JS) */
.woof_list_checkbox li { list-style: none; display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.woof_list_checkbox input.tdv-filtro { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid #c9cddb; margin: 0; cursor: pointer; flex: none; position: relative; background: #fff; }
.woof_list_checkbox input.tdv-filtro:checked { background: #28d9c4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7.5l3.2 3.2L12 3.5' fill='none' stroke='%23151A43' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; border-color: #28d9c4; }
.woof_list_checkbox label { cursor: pointer; color: #151a43; }
.tdv-limpar { color: #0e8f82; font-weight: 600; text-decoration: underline; }
/* sobre o topo verde, o botão Comprar e o menu ficam brancos (no original: amarelo sobre verde) */
body.home:not(.scrolling) #top-menu li.menu-button .signe-button,
body.home:not(.scrolling) .rmp_menu_trigger { background-color: #fff !important; }
#top-menu a[aria-label="WhatsApp"] { margin-left: 22px; display: inline-flex; }
/* no celular o tema trocava os nomes das abas por rótulos fixos em grego: mostra os nossos */
body.single-product .tabs-section .et_pb_tabs_controls li:nth-child(n) a { font-size: 11px !important; }
body.single-product .tabs-section .et_pb_tabs_controls li:nth-child(n) a:before { content: none !important; }
/* números da evidência com o mesmo peso do vol1 */
.tdv-num b { font-variation-settings: "wght" 800 !important; font-weight: 800; letter-spacing: -.03em; }
.tdv-res h4, .tdv-faz h4 { font-variation-settings: "wght" 700 !important; }
/* castração: os cartões ficam sempre na frente da foto do cão e do gato (a foto é mais larga que o pote do original) */
#castracao .et_pb_blurb { position: relative; z-index: 3; }
#castracao .et_pb_image_0 { position: relative; z-index: 1; }
#castracao .et_pb_image_0 img { width: 86%; margin: 0 auto; display: block; }
@media (max-width: 1600px) { #castracao .et_pb_blurb { max-width: 380px; } }
@media (max-width: 1320px) { #castracao .et_pb_blurb { max-width: 350px; } }

/* ---------- grades de produto: sem rolagem para o lado ---------- */
.tdv-grade ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px !important; transform: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.tdv-grade ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; opacity: 1 !important; }
.tdv-grade ul.products::before, .tdv-grade ul.products::after { display: none !important; }
.carousel-buttons { display: none !important; }
/* tamanhos do produto: etiquetas em linha, não bolas */
.shop-loop-variation-attributes > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.shop-loop-variation-attributes span { width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; aspect-ratio: auto !important;
  border-radius: 999px !important; padding: 5px 12px !important; line-height: 1.3 !important; white-space: nowrap; font-size: 13px !important; display: inline-block !important; flex: 0 0 auto !important; max-width: max-content !important; }
/* a seta dos botões usa a fonte de ícones do tema: sem ela carregada aparecia um "5" */
li.product a.button::before, li.product a.button::after { content: none !important; }
@media (max-width: 980px) {
  html body .woocommerce ul.products, html body ul.products, html body .tdv-grade ul.products, html body #woof_results_by_ajax ul.products, html body .woof_shortcode_output ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  html body #page-container ul.products li.product, html body ul.products li.product { width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; float: none !important; padding: 0 12px 14px !important; border-radius: 20px !important; display: flex !important; flex-direction: column; }
  ul.products li.product .custom-loop-wrapper { flex: 1; display: flex !important; flex-direction: column; }
  html body ul.products li.product .custom-loop-thumbnail { height: auto !important; max-height: none !important; min-height: 0 !important; aspect-ratio: auto !important; display: block !important; margin: 0 !important; padding: 10px 0 0 !important; }
  html body #page-container ul.products li.product .custom-loop-thumbnail img.attachment-woocommerce_thumbnail, html body ul.products li.product .custom-loop-thumbnail img { height: 120px !important; max-height: none; width: 100% !important; margin: 0 auto !important; padding: 0 !important; object-fit: contain; }
  html body #page-container ul.products li.product h2.woocommerce-loop-product__title, html body ul.products li.product .woocommerce-loop-product__title { margin: 8px 0 0 !important; height: auto !important; }
  html body ul.products li.product .custom-loop-wrapper { height: auto !important; }
  html body ul.products li.product .shop-loop-variation-attributes { position: static !important; order: 3; margin: 2px 0 6px !important; padding: 0 !important; transform: none !important; opacity: 1 !important; }
  ul.products li.product .woocommerce-loop-price { order: 4; }
  html body ul.products li.product a.button { position: static !important; transform: none !important; opacity: 1 !important; width: 100% !important; margin: 10px 0 0 !important; display: flex !important; justify-content: center; align-items: center; min-height: 38px; border-radius: 999px !important; }
  ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; line-height: 1.25 !important; padding: 6px 0 4px !important; }
  ul.products li.product .woocommerce-loop-price, ul.products li.product .price { font-size: 13.5px !important; }
  ul.products li.product .shop-loop-variation-attributes span { font-size: 11px !important; padding: 3px 8px !important; }
  ul.products li.product a.button { font-size: 12.5px !important; padding: 8px 6px !important; height: auto !important; line-height: 1.2 !important; white-space: normal; }
  .tdv-grade ul.products li.product.faded { opacity: 1 !important; }
}
@media (max-width: 980px) {
  /* castração no celular: tudo centralizado */
  #castracao .et_pb_blurb { margin-left: auto !important; margin-right: auto !important; float: none !important; }
  #castracao .et_pb_image_0, #castracao .et_pb_image_0 .et_pb_image_wrap { display: block !important; margin-left: auto !important; margin-right: auto !important; text-align: center; transform: none !important; left: auto !important; }
  #castracao .et_pb_image_0 img { margin: 0 auto !important; }
  #castracao .et_pb_code svg { margin-left: auto; margin-right: auto; }
}

/* ---------- página de produtos: atalhos por produto (no lugar das pílulas) ---------- */
.product-buttons2 .tdv-np { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; text-align: left; margin: 10px 0 40px; }
.tdv-np__item { display: flex; flex-direction: column; gap: 14px; padding: 14px 14px 16px; background: #fff; border: 1px solid #e4e6ee; border-radius: 24px; color: #151a43 !important; text-decoration: none !important;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), border-color .3s, box-shadow .45s; }
.tdv-np__img { display: grid; place-items: center; aspect-ratio: 4 / 3; background: #f2f3f4; border-radius: 18px; overflow: hidden; }
.tdv-np__img img { width: 72%; height: auto; transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
.tdv-np__txt { display: flex; flex-direction: column; gap: 3px; padding: 0 4px; }
.tdv-np__txt b { font-size: 17px; font-weight: 800; line-height: 1.25; }
.tdv-np__uso { font-size: 14px; color: #55597a; line-height: 1.35; }
.tdv-np__dado { display: flex; align-items: center; gap: 7px; margin-top: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; color: #0e8f82; font-variant-numeric: tabular-nums; }
.tdv-np__dado::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #28d9c4; flex-shrink: 0; }
.tdv-np__pe { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 4px 0; border-top: 1px solid #eef0f4; }
.tdv-np__preco { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.tdv-np__seta { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #d5d8e2; display: grid; place-items: center; flex-shrink: 0; transition: background .3s, border-color .3s, color .3s; }
.tdv-np__seta svg { transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
.tdv-np__item:hover { transform: translateY(-4px); border-color: #151a43; box-shadow: 0 18px 40px rgba(21, 26, 67, .08); }
.tdv-np__item:hover .tdv-np__img img { transform: scale(1.07); }
.tdv-np__item:hover .tdv-np__seta { background: #151a43; border-color: #151a43; color: #fff; }
.tdv-np__item:hover .tdv-np__seta svg { transform: translateX(2px); }
.tdv-np__item:focus-visible { outline: 3px solid #28d9c4; outline-offset: 3px; }
/* o kit se destaca: fundo azul-marinho */
.tdv-np__item--kit { background: #151a43; border-color: #151a43; color: #fff !important; }
.tdv-np__item--kit .tdv-np__img { background: rgba(255, 255, 255, .08); }
.tdv-np__item--kit .tdv-np__uso { color: rgba(255, 255, 255, .7); }
.tdv-np__item--kit .tdv-np__dado { color: #28d9c4; }
.tdv-np__item--kit .tdv-np__pe { border-top-color: rgba(255, 255, 255, .14); }
.tdv-np__item--kit .tdv-np__seta { border-color: rgba(255, 255, 255, .3); }
.tdv-np__item--kit:hover { border-color: #28d9c4; }
.tdv-np__item--kit:hover .tdv-np__seta { background: #28d9c4; border-color: #28d9c4; color: #151a43; }
@media (max-width: 1100px) { .product-buttons2 .tdv-np { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .product-buttons2 .tdv-np { grid-template-columns: 1fr 1fr; gap: 10px; }
  .tdv-np__item { padding: 10px 10px 12px; border-radius: 20px; gap: 10px; }
  .tdv-np__img { border-radius: 14px; }
  .tdv-np__txt b { font-size: 15px; }
  .tdv-np__uso { font-size: 12.5px; }
  .tdv-np__dado { font-size: 11.5px; }
  .tdv-np__preco { font-size: 13.5px; }
  .tdv-np__seta { width: 32px; height: 32px; }
  .tdv-np__item--kit { grid-column: 1 / -1; display: grid; grid-template-columns: 38% 1fr; grid-template-rows: 1fr auto; column-gap: 14px; }
  .tdv-np__item--kit .tdv-np__img { grid-row: 1 / span 2; aspect-ratio: 1; }
}
@media (prefers-reduced-motion: reduce) { .tdv-np__item, .tdv-np__img img { transition: none; } }

/* ajustes de texto dos atalhos: altura de linha própria (o tema usa uma muito alta) e preço em duas linhas */
.tdv-np__item, .tdv-np__item * { line-height: 1.3 !important; }
.tdv-np__dado { display: block; padding-left: 13px; position: relative; }
.tdv-np__dado::before { position: absolute; left: 0; top: .45em; }
.tdv-np__preco { display: flex; flex-direction: column; }
.tdv-np__preco small { font-size: 11.5px; font-weight: 600; color: #55597a; letter-spacing: .01em; }
.tdv-np__item--kit .tdv-np__preco small { color: rgba(255, 255, 255, .65); }
@media (max-width: 767px) { .tdv-np__txt b { font-size: 15px; } .tdv-np__uso { font-size: 12.5px; } }

/* entrada dos atalhos: um cartão depois do outro */
.tdv-np-sobe .tdv-np__item { animation: tdv-np-entra .8s cubic-bezier(.22, 1, .36, 1) both; }
.tdv-np-sobe .tdv-np__item:nth-child(2) { animation-delay: .08s; } .tdv-np-sobe .tdv-np__item:nth-child(3) { animation-delay: .16s; }
.tdv-np-sobe .tdv-np__item:nth-child(4) { animation-delay: .24s; } .tdv-np-sobe .tdv-np__item:nth-child(5) { animation-delay: .32s; }
@keyframes tdv-np-entra { from { opacity: 0; transform: translateY(28px); } }
@media (prefers-reduced-motion: reduce) { .tdv-np-sobe .tdv-np__item { animation: none; } }

/* etiqueta de tamanho do cartão: texto longo (Kit) quebra dentro da etiqueta em vez de sair dela */
.shop-loop-variation-attributes span { white-space: normal !important; max-width: 100%; line-height: 1.35 !important; overflow-wrap: anywhere; display: inline-block; }
/* hover dos botões "Ver produto"/"Comprar" da loja: o preenchimento azul precisa existir para o texto branco aparecer */
li.product a.button.rk-liquido::before { content: "" !important; display: block !important; }

/* topo da home: o cão não passa da borda do cartão verde (a moldura tem a mesma borda e o mesmo arredondado do cartão) */
#hero-video-block .tdv-moldura { display: contents; }
@media (max-width: 980px) {
  #hero-video-block .tdv-moldura { display: block; position: absolute; inset: 15px; border-radius: 50px; overflow: hidden; pointer-events: none; }
  #hero-video-block .tdv-moldura .tdv-bicho { bottom: 0; }
}
@media (max-width: 600px) { #hero-video-block .tdv-moldura { border-radius: 35px; } }
/* o gato fica escorado: a beirada em que ele apoia as patas (a 75% da altura da foto) coincide com a borda de baixo do cartão */
@media (max-width: 980px) {
  #hero-video-block .tdv-bicho--gato { height: 34vh; bottom: 15px; transform: translateX(-50%) translateY(calc(24.5% + 30px)); filter: drop-shadow(0 14px 18px rgba(21, 26, 67, .22)); }
  body.tdv-gato #hero-video-block .tdv-bicho--gato { transform: translateX(-50%) translateY(24.5%); }
}
/* celular: o selo ANVISA desce para dar lugar às patas do gato escorado na borda do cartão */
@media (max-width: 980px) { #header-banner { top: 82px !important; transition: top .5s cubic-bezier(.22, 1, .36, 1); } }
@media (max-width: 980px) { .home #et_pb_section_0 + .et_pb_section { margin-top: 74px !important; } }
