/* =========================================================================
   WOOCOMMERCE - VELLUM PETS PREMIUM STYLES
   Glassmorphism + Friendly Premium Design System
   ========================================================================= */

/* ----- GLOBAL WC WRAPPER ----- */
.vp-wc-main {
  padding: 140px 0 80px;
  min-height: 70vh;
  background: linear-gradient(170deg, #F8F9FA 0%, #FFFFFF 40%, #F3F0FF 100%);
}

.vp-wc-main .container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 25px;
}

/* ----- PAGE TITLES ----- */
.woocommerce-page .entry-title,
.woocommerce-account .woocommerce h2,
.woocommerce .page-title {
  font-family: 'Fredoka', sans-serif;
  color: #2D147C;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 35px;
  letter-spacing: -0.5px;
}

/* =========================================================================
   MY ACCOUNT — GLASSMORPHISM PREMIUM PANEL
   ========================================================================= */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: start;
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

/* --- Sidebar Navigation (Glass Card) --- */
.woocommerce-MyAccount-navigation {
  background: rgba(255, 255, 255, 0.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  padding: 30px 0;
  box-shadow:
    0 8px 32px rgba(45, 20, 124, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  position: sticky;
  top: 100px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0;
}

.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 30px;
  color: #2D147C;
  font-family: 'Fredoka', sans-serif;
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  border-left: 3px solid transparent;
  position: relative;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  background: rgba(163, 29, 100, 0.06);
  color: #A31D64;
  border-left-color: #A31D64;
  padding-left: 35px;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  background: linear-gradient(135deg, rgba(163, 29, 100, 0.1), rgba(45, 20, 124, 0.06));
  color: #A31D64;
  border-left-color: #A31D64;
  font-weight: 600;
}

/* Menu icons via CSS */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "📊"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a::before { content: "📦"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads a::before { content: "⬇️"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "📍"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "👤"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "🚪"; }

/* Logout special style */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #94A3B8;
  margin-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.05);
  padding-top: 20px;
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #EF4444;
  border-left-color: #EF4444;
}

/* --- Main Content Area (Glass Card) --- */
.woocommerce-MyAccount-content {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 24px;
  padding: 45px;
  box-shadow:
    0 12px 40px rgba(45, 20, 124, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  min-height: 400px;
}

.woocommerce-MyAccount-content p {
  font-family: 'Inter', sans-serif;
  color: #334155;
  font-size: 15px;
  line-height: 1.7;
}

.woocommerce-MyAccount-content a {
  color: #A31D64;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s;
}
.woocommerce-MyAccount-content a:hover {
  color: #2D147C;
}

/* --- Orders Table (Premium) --- */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(45, 20, 124, 0.08);
}

.woocommerce-orders-table thead th {
  background: linear-gradient(135deg, #2D147C, #3D1E9C);
  color: #FFF;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 16px 20px;
  border: none;
}

.woocommerce-orders-table tbody td {
  padding: 18px 20px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #334155;
  border-bottom: 1px solid rgba(45, 20, 124, 0.05);
  transition: background 0.3s;
}

.woocommerce-orders-table tbody tr:hover td {
  background: rgba(163, 29, 100, 0.03);
}

.woocommerce-orders-table tbody tr:last-child td {
  border-bottom: none;
}

/* Order status badges */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* View order button */
.woocommerce-orders-table .woocommerce-button {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  background: linear-gradient(135deg, #A31D64, #C72478);
  color: #FFF !important;
  border-radius: 9999px;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
}
.woocommerce-orders-table .woocommerce-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(163, 29, 100, 0.3);
}

/* No orders message */
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-message,
.woocommerce-info {
  background: rgba(45, 20, 124, 0.05);
  border: 1px solid rgba(45, 20, 124, 0.1);
  border-radius: 16px;
  padding: 20px 28px;
  font-family: 'Inter', sans-serif;
  color: #2D147C;
  font-size: 14px;
  margin-bottom: 25px;
}

/* --- Forms (Edit Account, Edit Address) --- */
.woocommerce-EditAccountForm .woocommerce-form-row,
.woocommerce-address-fields .woocommerce-form-row,
.woocommerce form .form-row {
  margin-bottom: 20px;
}

.woocommerce-EditAccountForm label,
.woocommerce-address-fields label,
.woocommerce form .form-row label {
  font-family: 'Fredoka', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: #2D147C;
  margin-bottom: 8px;
  display: block;
}

.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid rgba(45, 20, 124, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: #0F172A;
  outline: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: #A31D64;
  background: #FFF;
  box-shadow: 0 4px 16px rgba(163, 29, 100, 0.1);
}

/* Save button */
.woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-address-fields .button,
.woocommerce .button,
.woocommerce button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 36px;
  background: linear-gradient(135deg, #A31D64, #C72478);
  color: #FFF;
  border: none;
  border-radius: 9999px;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.woocommerce .button:hover,
.woocommerce button.button:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 15px 30px rgba(163, 29, 100, 0.3);
}

/* Shimmer effect on buttons */
.woocommerce .button::after {
  content: "";
  position: absolute;
  top: 0; left: -100%;
  width: 50%; height: 100%;
  background: linear-gradient(to right, transparent, rgba(255,255,255,0.3), transparent);
  transform: skewX(-25deg);
  transition: 0.5s;
}
.woocommerce .button:hover::after {
  left: 150%;
  transition: 0.6s;
}

/* Alt buttons */
.woocommerce .button.alt {
  background: linear-gradient(135deg, #2D147C, #3D1E9C);
}

/* =========================================================================
   LOGIN / REGISTER FORM (GLASSMORPHISM)
   ========================================================================= */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 24px;
  padding: 45px;
  box-shadow: 0 12px 40px rgba(45, 20, 124, 0.08);
  max-width: 480px;
}

.woocommerce-account .u-columns {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
  flex: 1;
  min-width: 300px;
}

/* =========================================================================
   CART PAGE
   ========================================================================= */
.woocommerce-cart-form {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  padding: 35px;
  box-shadow: 0 8px 32px rgba(45, 20, 124, 0.06);
  overflow-x: auto;
}

.woocommerce table.shop_table {
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
}

.woocommerce table.shop_table th {
  background: linear-gradient(135deg, #2D147C, #3D1E9C);
  color: #FFF;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 16px 20px;
  border: none;
}

.woocommerce table.shop_table td {
  padding: 20px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #334155;
  border-bottom: 1px solid rgba(45, 20, 124, 0.05);
  background: rgba(255, 255, 255, 0.5);
  vertical-align: middle;
}

.woocommerce table.shop_table img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
}

/* Cart totals */
.cart_totals {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  padding: 35px;
  box-shadow: 0 8px 32px rgba(45, 20, 124, 0.06);
  margin-top: 30px;
}

.cart_totals h2 {
  font-family: 'Fredoka', sans-serif;
  color: #2D147C;
  font-size: 24px;
  margin-bottom: 20px;
}

/* Checkout button in cart */
.wc-proceed-to-checkout .checkout-button {
  width: 100%;
  padding: 18px 36px !important;
  font-size: 16px !important;
  border-radius: 9999px !important;
  text-align: center;
}

/* =========================================================================
   CHECKOUT PAGE
   ========================================================================= */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  padding: 35px;
  margin-bottom: 30px;
  box-shadow: 0 8px 32px rgba(45, 20, 124, 0.06);
}

.woocommerce-checkout h3 {
  font-family: 'Fredoka', sans-serif;
  color: #2D147C;
  font-size: 22px;
  margin-bottom: 25px;
}

#order_review_heading {
  font-family: 'Fredoka', sans-serif;
  color: #2D147C;
  font-size: 22px;
  margin-bottom: 15px;
}

.woocommerce-checkout-review-order {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 24px;
  padding: 35px;
  box-shadow: 0 8px 32px rgba(45, 20, 124, 0.06);
}

/* Place order button */
#place_order {
  width: 100%;
  padding: 18px 36px !important;
  font-size: 17px !important;
  background: linear-gradient(135deg, #A31D64, #C72478) !important;
  border-radius: 9999px !important;
  letter-spacing: 0.5px;
  margin-top: 20px;
}

/* =========================================================================
   WOOCOMMERCE NOTICES
   ========================================================================= */
.woocommerce-error {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 16px;
  padding: 20px 28px;
  color: #DC2626;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  list-style: none;
  margin-bottom: 25px;
}

.woocommerce-message {
  border-left: none;
  border-radius: 16px;
}

/* =========================================================================
   PRODUCT PAGES (WC SINGLE)
   ========================================================================= */
.woocommerce div.product .product_title {
  font-family: 'Fredoka', sans-serif;
  color: #2D147C;
  font-size: 32px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: 'Fredoka', sans-serif;
  color: #A31D64;
  font-size: 28px;
  font-weight: 700;
}

.woocommerce div.product .woocommerce-product-gallery {
  border-radius: 20px;
  overflow: hidden;
}

/* =========================================================================
   GALLERY — THUMBNAILS VERTICAIS À ESQUERDA
   ========================================================================= */
.woocommerce div.product div.images .woocommerce-product-gallery {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 12px;
}

/* Área principal (viewport ou figure) fica à direita */
.woocommerce div.product div.images .woocommerce-product-gallery .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper {
  flex: 1 1 auto;
  order: 2;
  min-width: 0;
  width: 100% !important;
}

/* Thumbnails ficam à esquerda em coluna */
.woocommerce div.product div.images .woocommerce-product-gallery ol.flex-control-thumbs {
  order: 1;
  flex: 0 0 76px;
  width: 76px !important;
  max-width: 76px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery ol.flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery ol.flex-control-thumbs img {
  width: 76px !important;
  height: 76px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 10px !important;
  cursor: pointer;
  border: 2px solid #e8e0f5 !important;
  transition: all 0.3s ease;
  display: block !important;
  padding: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .woocommerce-product-gallery ol.flex-control-thumbs img:hover {
  border-color: #A31D64 !important;
  box-shadow: 0 0 0 1px #A31D64, 0 4px 12px rgba(163,29,100,0.18) !important;
}

/* =========================================================================
   PREÇO COM DESCONTO — STACKING LIMPO
   ========================================================================= */
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  display: block !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #A31D64 !important;
  opacity: 0.4 !important;
  margin-bottom: 2px !important;
  text-decoration: line-through !important;
  background: none !important;
}

.woocommerce div.product p.price del .woocommerce-Price-amount,
.woocommerce div.product span.price del .woocommerce-Price-amount {
  color: #A31D64 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  display: block !important;
  text-decoration: none !important;
  background: none !important;
  padding: 0 !important;
  font-size: 34px !important;
  color: #A31D64 !important;
  font-weight: 700 !important;
  font-family: 'Fredoka', sans-serif !important;
  line-height: 1.1 !important;
}

.woocommerce div.product p.price ins .woocommerce-Price-amount,
.woocommerce div.product span.price ins .woocommerce-Price-amount {
  color: #A31D64 !important;
  font-size: 34px !important;
  font-weight: 700 !important;
}

/* =========================================================================
   CALCULADORA DE FRETE NA PÁGINA DO PRODUTO — VISÍVEL
   ========================================================================= */
/* Apenas oculta elementos irrelevantes, NÃO a calculadora em si */
.single-product .calculate-shipping-toggle,
.single-product .shipping .shipping-calculator-button {
  /* Links de toggle não são necessários — o formulário já está sempre visível */
}

/* =========================================================================
   CARD DE BENEFÍCIOS — PRODUCT SUMMARY
   ========================================================================= */
.vp-trust-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(45,20,124,0.03), rgba(163,29,100,0.04));
  border: 1px solid rgba(45,20,124,0.08);
  border-radius: 18px;
}

.vp-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 12px;
  transition: background 0.3s;
}

.vp-trust-item:hover {
  background: rgba(163,29,100,0.05);
}

.vp-trust-icon {
  font-size: 22px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.9);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(45,20,124,0.08);
}

.vp-trust-item > div {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.vp-trust-item strong {
  font-family: 'Fredoka', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #2D147C;
  line-height: 1.2;
}

.vp-trust-item span {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: #64748B;
  line-height: 1.3;
}

@media (max-width: 480px) {
  .vp-trust-card {
    grid-template-columns: 1fr;
  }
}

/* Quantity input */
.woocommerce .quantity .qty {
  padding: 12px;
  border: 2px solid rgba(45, 20, 124, 0.12);
  border-radius: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  width: 80px;
  text-align: center;
}

/* Add to cart button on product page */
.woocommerce div.product .single_add_to_cart_button {
  padding: 16px 40px !important;
  font-size: 16px !important;
}

/* =========================================================================
   PRODUCT TABS (PREMIUM STYLE)
   ========================================================================= */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 50px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  display: flex;
  gap: 0;
  padding: 0;
  margin: 0 0 0 0;
  border-bottom: 2px solid rgba(45, 20, 124, 0.08);
  overflow: visible;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 16px 28px;
  font-family: 'Fredoka', sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #64748B;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #A31D64;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #A31D64;
  font-weight: 600;
  border-bottom-color: #A31D64;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-top: none;
  border-radius: 0 0 24px 24px;
  padding: 40px;
  box-shadow: 0 8px 32px rgba(45, 20, 124, 0.04);
}

/* =========================================================================
   DEPOIMENTOS TAB — PREMIUM REVIEW CARDS
   ========================================================================= */
.vp-depoimentos-panel {
  font-family: 'Inter', sans-serif;
}

/* --- Summary Header --- */
.vp-depo-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  margin-bottom: 35px;
  background: linear-gradient(135deg, rgba(45, 20, 124, 0.04), rgba(163, 29, 100, 0.04));
  border-radius: 20px;
  border: 1px solid rgba(45, 20, 124, 0.06);
}

.vp-depo-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.vp-depo-avg {
  font-family: 'Fredoka', sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #2D147C;
  line-height: 1;
}

.vp-depo-stars {
  font-size: 22px;
  color: #F59E0B;
  letter-spacing: 3px;
}

.vp-depo-count {
  font-size: 13px;
  color: #64748B;
  font-weight: 500;
}

/* --- Review Cards --- */
.vp-depo-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.vp-depo-card {
  background: #FFFFFF;
  border: 1px solid rgba(45, 20, 124, 0.05);
  border-radius: 20px;
  padding: 30px;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 20px rgba(45, 20, 124, 0.03);
  position: relative;
}

.vp-depo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(45, 20, 124, 0.08);
  border-color: rgba(163, 29, 100, 0.1);
}

.vp-depo-card-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.vp-depo-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #F3F0FF, #E0E7FF);
  color: #A31D64;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  font-size: 20px;
  flex-shrink: 0;
  border: 1px solid #2B167F;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  overflow: hidden;
}

.pet-photo-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.vp-depo-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vp-depo-author {
  font-family: 'Fredoka', sans-serif;
  font-size: 16px;
  color: #2D147C;
  font-weight: 600;
}

.pet-name-suffix {
  color: #A31D64;
  font-size: 14px;
  opacity: 0.8;
  font-weight: 500;
}

.vp-depo-date {
  font-size: 12px;
  color: #94A3B8;
  font-weight: 400;
}

.vp-depo-rating {
  font-size: 14px;
  color: #F59E0B;
  letter-spacing: 1px;
}

.vp-depo-text {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: #475569;
  margin: 0;
  font-style: italic;
}

/* --- Empty State --- */
.vp-depo-empty {
  text-align: center;
  padding: 50px 20px;
}

.vp-depo-empty-icon {
  font-size: 48px;
  display: block;
  margin-bottom: 16px;
}

.vp-depo-empty p {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #64748B;
  margin: 0;
}

.vp-depo-empty-sub {
  font-size: 14px !important;
  color: #A31D64 !important;
  font-weight: 600;
  margin-top: 8px !important;
}

/* --- Review Form --- */
.vp-depo-form-wrap {
  margin-top: 35px;
  padding-top: 35px;
  border-top: 1px solid rgba(45, 20, 124, 0.06);
}

.vp-depo-form-wrap .comment-reply-title {
  font-family: 'Fredoka', sans-serif;
  font-size: 20px;
  color: #2D147C;
  font-weight: 600;
  margin-bottom: 20px;
}

.vp-depo-form-wrap .comment-form label {
  font-family: 'Fredoka', sans-serif;
  font-weight: 500;
  color: #2D147C;
  font-size: 14px;
}

.vp-depo-form-wrap .comment-form input[type="text"],
.vp-depo-form-wrap .comment-form input[type="email"],
.vp-depo-form-wrap .comment-form textarea {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid rgba(45, 20, 124, 0.1);
  border-radius: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  outline: none;
  transition: all 0.3s;
  background: rgba(255, 255, 255, 0.7);
}

.vp-depo-form-wrap .comment-form input:focus,
.vp-depo-form-wrap .comment-form textarea:focus {
  border-color: #A31D64;
  box-shadow: 0 4px 16px rgba(163, 29, 100, 0.08);
}

.vp-depo-form-wrap .comment-form .submit {
  padding: 14px 36px;
  background: linear-gradient(135deg, #A31D64, #C72478);
  color: #FFF;
  border: none;
  border-radius: 9999px;
  font-family: 'Fredoka', sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.vp-depo-form-wrap .comment-form .submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(163, 29, 100, 0.3);
}

/* Depoimentos responsive */
@media (max-width: 768px) {
  .vp-depo-card {
    padding: 20px;
  }
  .vp-depo-avg {
    font-size: 36px;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    flex-wrap: wrap;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 12px 18px;
    font-size: 13px;
  }
  .woocommerce div.product .woocommerce-tabs .panel {
    padding: 25px;
  }
}
/* =========================================================================
   RESPONSIVE TWEAKS
   ========================================================================= */
@media (max-width: 768px) {
  .vp-wc-main {
    padding: 120px 0 50px;
  }

  .woocommerce-MyAccount-content {
    padding: 25px;
  }

  .woocommerce-MyAccount-navigation {
    position: static;
    border-radius: 20px;
  }

  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout-review-order {
    padding: 20px;
    border-radius: 20px;
  }

  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-form-register {
    padding: 30px 20px;
    max-width: 100%;
  }

  .woocommerce-account .u-columns {
    flex-direction: column;
  }
  .woocommerce-account .u-columns .u-column1,
  .woocommerce-account .u-columns .u-column2 {
    min-width: 100%;
  }
}

/* =========================================================================
   PRODUTOS RELACIONADOS & LOOP WC — DESIGN PREMIUM VELLUM PETS
   ========================================================================= */

/* Container dos produtos relacionados */
.woocommerce .related,
.woocommerce .upsells {
  margin-top: 60px;
}

.woocommerce .related h2,
.woocommerce .upsells h2 {
  font-family: 'Fredoka', sans-serif;
  font-size: 24px;
  color: #2D147C;
  font-weight: 700;
  margin-bottom: 30px;
  letter-spacing: 0.3px;
}

/* Grid dos cards relacionados */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Card individual — mesmo estilo do card-retangular */
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product {
  background: #FFF !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  position: relative;
}

.woocommerce .related ul.products li.product:hover,
.woocommerce .upsells ul.products li.product:hover {
  transform: translateY(-10px) !important;
  box-shadow: 0 15px 40px rgba(45, 20, 124, 0.15) !important;
  border-color: #A31D64 !important;
  border-width: 2px !important;
}

/* Imagem do produto — contida sem cortar */
.woocommerce .related ul.products li.product a img,
.woocommerce .upsells ul.products li.product a img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 10px !important;
  display: block !important;
  background: #fafafa !important;
  transition: transform 0.6s ease !important;
}

.woocommerce .related ul.products li.product:hover a img,
.woocommerce .upsells ul.products li.product:hover a img {
  transform: scale(1.05) !important;
}

/* Info do produto (título, preço, botão) */
.woocommerce .related ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 15px !important;
  color: #1A0F3C !important;
  padding: 0 16px !important;
  margin: 12px 0 6px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 38px !important;
}

.woocommerce .related ul.products li.product .price,
.woocommerce .upsells ul.products li.product .price {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #A31D64 !important;
  padding: 0 16px !important;
  margin: 6px 0 14px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.woocommerce .related ul.products li.product .price del,
.woocommerce .upsells ul.products li.product .price del {
  color: #94A3B8 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

.woocommerce .related ul.products li.product .price ins,
.woocommerce .upsells ul.products li.product .price ins {
  text-decoration: none !important;
  border-bottom: none !important;
  color: #A31D64 !important;
  font-size: 22px !important;
}

/* Botão adicionar ao carrinho */
.woocommerce .related ul.products li.product a.button,
.woocommerce .upsells ul.products li.product a.button,
.woocommerce .related ul.products li.product .add_to_cart_button,
.woocommerce .upsells ul.products li.product .add_to_cart_button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: auto 16px 16px !important;
  padding: 11px 16px !important;
  background: #2D147C !important;
  color: #FFF !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.woocommerce .related ul.products li.product a.button:hover,
.woocommerce .upsells ul.products li.product a.button:hover {
  background: #A31D64 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(163, 29, 100, 0.35) !important;
}

/* =========================================================================
   BADGE PROMOÇÃO (onsale) — LUXURY STYLE
   ========================================================================= */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  min-width: auto !important;
  min-height: auto !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, #A31D64 0%, #C4226E 100%) !important;
  color: #FFF !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 5px 13px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 14px rgba(163, 29, 100, 0.45) !important;
  z-index: 10 !important;
  margin: 0 !important;
}

/* =========================================================================
   MOBILE — RELATED PRODUCTS
   ========================================================================= */
@media (max-width: 600px) {
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .woocommerce .related ul.products li.product a img,
  .woocommerce .upsells ul.products li.product a img {
    height: 140px !important;
  }
}


/* =========================================================================
   SINGLE PRODUCT PAGE — VELLUM PETS PREMIUM
   ========================================================================= */

.single-product .vp-single-product-main {
  padding: 150px 0 100px !important;
  min-height: 80vh;
  background: linear-gradient(160deg, #F8F9FA 0%, #FFFFFF 50%, #F3F0FF 100%);
}

@media (max-width: 700px) {
  .single-product .vp-single-product-main {
    padding: 110px 12px 40px !important;
  }
}

.vp-breadcrumb { margin-bottom: 32px; }
.vp-breadcrumb .woocommerce-breadcrumb {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #94A3B8;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.vp-breadcrumb .woocommerce-breadcrumb a {
  color: #2D147C;
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.vp-breadcrumb .woocommerce-breadcrumb a:hover {
  opacity: 1;
  color: #A31D64;
}

.vp-product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: flex-start;
}

/* =========================================================================
   COLUNA ESQUERDA — GALERIA BULLETPROOF (Sem quebrar Flexslider)
   ========================================================================= */
.vp-product-gallery-col {
  position: sticky;
  top: 110px;
  min-width: 0;
}

/* nossa galeria custom dentro da coluna */
.vp-product-gallery-col .vp-gallery-outer {
  width: 100%;
}

/* Container raiz da galeria WooCommerce */
.single-product .vp-product-gallery-col .woocommerce-product-gallery {
  position: relative !important;
  display: block !important;
  padding-left: 95px !important; /* Espaço para as miniaturas à esquerda */
  opacity: 1 !important;
  margin: 0 !important;
}

/* --- THUMBNAILS VERTICAIS À ESQUERDA --- */
.single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  list-style: none !important;
  overflow: visible !important;
}

.single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
  background: #fff;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  opacity: 1 !important;
  display: block !important;
}

.single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs img:hover,
.single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active {
  border-color: #A31D64 !important;
  box-shadow: 0 4px 14px rgba(163, 29, 100, 0.25) !important;
  transform: translateY(-2px);
}

/* --- IMAGEM PRINCIPAL (à direita dos thumbnails) --- */
.single-product .vp-product-gallery-col .woocommerce-product-gallery .flex-viewport,
.single-product .vp-product-gallery-col .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #FAFAFA;
  box-shadow: 0 20px 50px rgba(45, 20, 124, 0.08) !important;
}

.single-product .vp-product-gallery-col .woocommerce-product-gallery .flex-viewport img,
.single-product .vp-product-gallery-col .woocommerce-product-gallery figure img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 20px !important;
  object-fit: cover !important;
}

/* Badge de promoção (sale flash) — sempre no canto superior ESQUERDO da imagem */
.single-product .vp-product-gallery-col .onsale,
.single-product .vp-gallery-outer .onsale,
.single-product .vp-main-col .onsale,
.single-product .woocommerce-product-gallery .onsale {
  display: inline-block !important;
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 99 !important;
  background: linear-gradient(135deg, #A31D64 0%, #C4226E 100%) !important;
  color: #FFF !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 5px 12px !important;
  border-radius: 9999px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  box-shadow: 0 4px 14px rgba(163, 29, 100, 0.45) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* =========================================================================
   COLUNA DIREITA — INFORMAÇÕES DO PRODUTO
   ========================================================================= */
.vp-product-summary-col .summary.entry-summary {
  padding: 0;
}

/* --- Categoria/Linha premium (badge no topo do título) --- */
.single-product .vp-product-summary-col .woocommerce-product-details__short-description + * ,
.single-product .vp-product-summary-col .product_meta .posted_in a {
  font-family: 'Fredoka', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #A31D64;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* Badge "Linha Premium Selection" vindo das categorias do produto */
.single-product .vp-product-summary-col .product_meta .posted_in {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #A31D64;
  background: rgba(163, 29, 100, 0.07);
  border: 1px solid rgba(163, 29, 100, 0.18);
  padding: 5px 14px;
  border-radius: 9999px;
  margin-bottom: 14px;
}

.single-product .vp-product-summary-col .product_meta .posted_in::before {
  content: "✦";
  font-size: 10px;
}

/* --- Título do produto --- */
.single-product .vp-product-summary-col .product_title.entry-title { margin-top: 0 !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  font-weight: 700 !important;
  color: #2D147C !important;
  line-height: 1.15 !important;
  letter-spacing: -0.5px !important;
  margin: 0 0 16px 0 !important;
}

/* --- Avaliação com estrelas --- */
.single-product .vp-product-summary-col .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.single-product .vp-product-summary-col .star-rating {
  color: #F59E0B !important;
}

.single-product .vp-product-summary-col .woocommerce-review-link {
  font-size: 13px;
  color: #64748B;
  text-decoration: none;
}

/* --- Preço --- */
.single-product .vp-product-summary-col .price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 22px !important;
}

.single-product .vp-product-summary-col p.price,
.single-product .vp-product-summary-col span.price {
  font-family: 'Fredoka', sans-serif !important;
  color: #A31D64 !important;
  font-size: clamp(30px, 3vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.1;
}

/* Badge PIX (texto extra abaixo do preço) */
.single-product .vp-product-summary-col .price::after {
  content: "−5% no PIX";
  display: inline-block;
  margin-top: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #059669;
  background: rgba(5, 150, 105, 0.10);
  border: 1px solid rgba(5, 150, 105, 0.20);
  padding: 3px 12px;
  border-radius: 9999px;
  width: fit-content;
}

/* --- Descrição curta --- */
.single-product .vp-product-summary-col .woocommerce-product-details__short-description {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  color: #475569 !important;
  line-height: 1.7 !important;
  margin-bottom: 28px !important;
}

.single-product .vp-product-summary-col .woocommerce-product-details__short-description strong {
  color: #2D147C;
  font-weight: 600;
}

/* --- Quantidade + Botão Adicionar ao Carrinho --- */
.single-product .vp-product-summary-col form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 80px !important;
  margin-bottom: 24px !important;
}

/* Wrapper de quantidade (seletor -/+) */
.single-product .vp-product-summary-col .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 0;
  margin: 0 !important;
  background: #fff;
  border: 2px solid rgba(45, 20, 124, 0.14);
  border-radius: 14px;
  overflow: hidden;
  height: 56px !important;
  box-sizing: border-box !important;
}

.single-product .vp-product-summary-col .quantity .qty {
  width: 54px !important;
  height: 52px !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #2D147C !important;
  text-align: center !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
  padding: 0 5px !important;
}

.single-product .vp-product-summary-col .quantity .qty::-webkit-inner-spin-button,
.single-product .vp-product-summary-col .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Botões +/- injetados pelo JS do WooCommerce */
.single-product .vp-product-summary-col .quantity .minus,
.single-product .vp-product-summary-col .quantity .plus {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  width: 44px !important;
  height: 52px !important;
  font-size: 20px !important;
  color: #2D147C !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.25s ease, color 0.25s ease;
  font-family: 'Fredoka', sans-serif !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.single-product .vp-product-summary-col .quantity .minus:hover,
.single-product .vp-product-summary-col .quantity .plus:hover {
  background: rgba(45, 20, 124, 0.06) !important;
  color: #A31D64 !important;
}

/* Botão "Adicionar ao Carrinho" */
.single-product .vp-product-summary-col .single_add_to_cart_button,
.single-product .vp-product-summary-col button.single_add_to_cart_button {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 56px !important;
  margin: 0 !important;
  min-width: 200px;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--color-primary) !important;
  border: none !important;
  border-radius: 9999px !important; /* Fully rounded pill like the header cart button */
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 10px 25px rgba(163, 29, 100, 0.3) !important;
  padding: 0 36px !important;
  position: relative;
  overflow: hidden;
  box-sizing: border-box !important;
}

.single-product .vp-product-summary-col .single_add_to_cart_button::before {
  content: none !important;
  display: none !important;
}

.single-product .vp-product-summary-col .single_add_to_cart_button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 15px 30px rgba(163, 29, 100, 0.45) !important;
  background: var(--color-primary) !important;
}

.single-product .vp-product-summary-col .single_add_to_cart_button:active {
  transform: translateY(0) !important;
  box-shadow: 0 4px 14px rgba(163, 29, 100, 0.30) !important;
}

/* --- Meta (SKU, Tags) — discreto --- */
.single-product .vp-product-summary-col .product_meta {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #94A3B8;
  margin-top: 8px;
}

.single-product .vp-product-summary-col .product_meta a {
  color: #64748B;
  text-decoration: none;
}

.single-product .vp-product-summary-col .product_meta a:hover {
  color: #A31D64;
}

/* =========================================================================
   SEÇÃO DE ABAS (Tabs) — espaçamento após o layout principal
   ========================================================================= */
.vp-product-tabs-wrapper {
  margin-top: 72px;
  padding-top: 56px;
  border-top: 1px solid rgba(45, 20, 124, 0.07);
}

/* =========================================================================
   PRODUTOS RELACIONADOS
   ========================================================================= */
.single-product .related.products {
  margin-top: 60px;
}

.single-product .related.products > h2 {
  font-family: 'Fredoka', sans-serif;
  font-size: 30px;
  font-weight: 700;
  color: #2D147C;
  margin-bottom: 30px;
}

/* =========================================================================
   RESPONSIVO — TABLET (max 1024px): colunas empilham
   ========================================================================= */
@media (max-width: 700px) {
  .vp-product-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .vp-product-gallery-col {
    position: static;
  }

  /* Galeria: foto acima, miniaturas abaixo — nunca inverter */
  .vp-gallery-outer {
    flex-direction: column !important;
  }
  .vp-main-col {
    order: 1 !important;
    width: 100% !important;
  }
  .vp-thumbs-col {
    order: 2 !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    width: 100% !important;
    gap: 8px !important;
    padding: 8px 0 4px !important;
  }
  .vp-thumb {
    flex: 0 0 60px !important;
    width: 60px !important;
    height: 60px !important;
  }
}

/* =========================================================================
   RESPONSIVO — MOBILE (max 640px)
   ========================================================================= */
@media (max-width: 640px) {
  .single-product .vp-single-product-main {
    padding: 40px 12px 40px !important;
  }

  /* Título do produto */
  .single-product .vp-product-summary-col .product_title.entry-title { margin-top: 0 !important;
    font-family: 'Fredoka', sans-serif !important;
    font-size: clamp(28px, 3.5vw, 42px) !important;
    font-weight: 700 !important;
    color: #2D147C !important;
    line-height: 1.15 !important;
    margin-top: 0 !important; /* NOVO: Alinha com o topo da imagem */
  }

  /* Galeria acima do resumo do produto no mobile */
  .vp-product-gallery-col {
    order: 1 !important;
  }
  .vp-product-summary-col {
    order: 2 !important;
  }

  /* Thumbnails em linha horizontal abaixo da imagem principal no mobile */
  .single-product .vp-product-gallery-col .woocommerce-product-gallery {
    padding-left: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    padding: 10px 0 !important;
  }

  .single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs li {
    flex: 0 0 64px !important;
    width: 64px !important;
  }

  .single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs img {
    width: 64px !important;
    height: 64px !important;
  }

  .single-product .vp-product-gallery-col .woocommerce-product-gallery .flex-viewport,
  .single-product .vp-product-gallery-col .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper {
    order: -1 !important; /* Joga a imagem principal para cima das miniaturas no mobile */
    width: 100% !important;
  }

  /* ── QUANTIDADE + BOTÃO: em coluna vertical no mobile ── */
  .single-product .vp-product-summary-col form.cart,
  .single-product .vp-product-summary-col .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 20px !important;
  }

  /* Caixa de quantidade — linha completa, centralizada */
  .single-product .vp-product-summary-col .quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 54px !important;
    background: #FFFFFF !important;
    border: 2px solid rgba(45, 20, 124, 0.15) !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  .single-product .vp-product-summary-col .quantity .minus,
  .single-product .vp-product-summary-col .quantity .plus {
    width: 54px !important;
    height: 50px !important;
    font-size: 22px !important;
  }

  .single-product .vp-product-summary-col .quantity .qty {
    flex: 1 !important;
    height: 50px !important;
    font-size: 18px !important;
    color: #2D147C !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
  }

  /* Botão adicionar — largura total, rosa, arredondado */
  .single-product .vp-product-summary-col .single_add_to_cart_button,
  .single-product .vp-product-summary-col button.single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    font-size: 16px !important;
    padding: 0 20px !important;
    background: #A31D64 !important;
    background-color: #A31D64 !important;
    color: #FFFFFF !important;
    border-radius: 9999px !important;
    border: none !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 8px 20px rgba(163, 29, 100, 0.35) !important;
    cursor: pointer !important;
  }
}

/* =========================================================================
   5 COLUNAS — TODOS OS GRIDS DE PRODUTOS (loja, categoria, relacionados)
   ========================================================================= */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #FFF !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 15px 40px rgba(45, 20, 124, 0.15) !important;
  border-color: #A31D64 !important;
}

/* Imagem */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 10px !important;
  display: block !important;
  background: #fafafa !important;
  transition: transform 0.5s ease !important;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05) !important;
}

/* Título */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 14px !important;
  color: #1A0F3C !important;
  padding: 0 14px !important;
  margin: 10px 0 6px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 36px !important;
}

/* Preço */
.woocommerce ul.products li.product .price {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #A31D64 !important;
  padding: 0 14px !important;
  margin: 4px 0 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.woocommerce ul.products li.product .price del {
  color: #A31D64 !important;
  opacity: 0.4 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  border-bottom: none !important;
  color: #A31D64 !important;
  font-size: 20px !important;
}

/* Botão — sempre colado no fundo */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button {
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: auto 14px 14px !important;
  padding: 12px 16px !important;
  background: var(--color-primary) !important;
  color: #FFF !important;
  border: none !important;
  border-radius: 9999px !important; /* Fully rounded pill */
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 6px 15px rgba(163, 29, 100, 0.2) !important;
}

.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover {
  background: var(--color-primary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(163, 29, 100, 0.35) !important;
}

/* Responsivo */
@media (max-width: 1200px) {
  .woocommerce ul.products,
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .woocommerce ul.products,
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}



/* =========================================================================
   CARROSSEL DE PRODUTOS RELACIONADOS — SWIPER INFINITO — VELLUM PETS 2026
   ========================================================================== */

/* Wrapper externo do carrossel */
.vp-related-swiper-wrap {
    position: relative;
    padding: 8px 52px 28px;
    margin: 0;
    overflow: hidden;
}

/* Swiper principal */
.vp-related-swiper {
    overflow: hidden !important;
    width: 100%;
}

/* Cada slide */
.vp-related-swiper .swiper-wrapper {
    align-items: stretch;
}
.vp-related-swiper .swiper-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* li.product dentro do slide — IDÊNTICO ao card do grid da loja */
.vp-related-swiper .swiper-slide > li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #FFFFFF !important;
    border: 1px solid #F0F0F0 !important;
    border-top: 3px solid rgba(163, 29, 100, 0.35) !important;
    border-radius: 20px !important;
    padding: 22px !important;
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.16,1,0.3,1) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    position: relative !important;
}
.vp-related-swiper .swiper-slide > li.product:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(163, 29, 100, 0.15) !important;
    border-color: #A31D64 !important;
    border-top-color: #A31D64 !important;
}

/* Wrapper de imagem com borda rosa premium — igual ao grid principal */
.vp-related-swiper .swiper-slide > li.product a.woocommerce-LoopProduct-link {
    display: block !important;
    border: 1px solid rgba(163, 29, 100, 0.25) !important;
    border-radius: 15px !important;
    box-shadow: 0 4px 10px rgba(163, 29, 100, 0.08) !important;
    overflow: hidden !important;
    margin-bottom: 14px !important;
    padding: 8px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    transition: box-shadow 0.3s ease !important;
}
.vp-related-swiper .swiper-slide > li.product:hover a.woocommerce-LoopProduct-link {
    box-shadow: 0 6px 18px rgba(163, 29, 100, 0.18) !important;
}

/* Imagem no card */
.vp-related-swiper .swiper-slide > li.product a img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    display: block !important;
    float: none !important;
    transition: transform 0.5s ease !important;
}
.vp-related-swiper .swiper-slide > li.product:hover a img {
    transform: scale(1.05) !important;
}

/* Título — idêntico ao grid */
.vp-related-swiper .swiper-slide > li.product .woocommerce-loop-product__title {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1A0F3C !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 44px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Preço — idêntico ao grid */
.vp-related-swiper .swiper-slide > li.product .price {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #A31D64 !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: auto !important;
}
.vp-related-swiper .swiper-slide > li.product .price del {
    color: #9CA3AF !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
    opacity: 0.7 !important;
}
.vp-related-swiper .swiper-slide > li.product .price ins {
    text-decoration: none !important;
    color: #A31D64 !important;
    font-size: 18px !important;
}

/* Botão — idêntico ao grid (rosa pill) */
.vp-related-swiper .swiper-slide > li.product a.button,
.vp-related-swiper .swiper-slide > li.product .button,
.vp-related-swiper .swiper-slide > li.product .add_to_cart_button {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    background: var(--color-primary) !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 9999px !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 6px 15px rgba(163, 29, 100, 0.2) !important;
    box-sizing: border-box !important;
}
.vp-related-swiper .swiper-slide > li.product a.button:hover,
.vp-related-swiper .swiper-slide > li.product .button:hover {
    background: var(--color-primary) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 20px rgba(163,29,100,0.35) !important;
}

/* Badge promoção — sempre canto superior esquerdo */
.vp-related-swiper .swiper-slide > li.product .onsale {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    z-index: 10 !important;
}

/* Botões de navegação ← → */
.vp-related-btn-prev,
.vp-related-btn-next {
    position: absolute;
    top: 50%;
    transform: translateY(-65%);
    z-index: 20;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #2D147C;
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(45,20,124,0.3);
    transition: all 0.25s ease;
    font-size: 22px;
    line-height: 1;
    font-family: serif;
    user-select: none;
}
.vp-related-btn-prev:hover,
.vp-related-btn-next:hover {
    background: #A31D64;
    box-shadow: 0 6px 20px rgba(163,29,100,0.4);
}
.vp-related-btn-prev { left: 4px; }
.vp-related-btn-next { right: 4px; }

/* Paginação */
.vp-related-pagination {
    text-align: center;
    margin-top: 14px;
    line-height: 1;
}
.vp-related-pagination .swiper-pagination-bullet {
    background: #2D147C;
    opacity: 0.25;
    width: 8px;
    height: 8px;
    margin: 0 4px;
    display: inline-block;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.25s;
}
.vp-related-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: #A31D64;
    width: 22px;
    border-radius: 4px;
}

@media (max-width: 640px) {
    .vp-related-swiper-wrap {
        padding: 8px 8px 24px;
    }
    .vp-related-btn-prev,
    .vp-related-btn-next {
        display: none;
    }
}


/* =========================================================================
   SINGLE PRODUCT — LAYOUT 2 COLUNAS (imagem + info lado a lado)
   ========================================================================= */
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 45% 1fr !important;
  grid-template-rows: auto;
  column-gap: 48px !important;
  align-items: flex-start;
}

/* Galeria ocupa coluna 1 */
.woocommerce div.product div.images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  float: none !important;
  max-width: 100% !important;
}

/* Resumo ocupa coluna 2 */
.woocommerce div.product div.summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  float: none !important;
  margin-top: 0 !important;
}

/* Tabs, relacionados e outros elementos ocupam largura total abaixo */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .up-sells,
.woocommerce .related,
.woocommerce .upsells {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  float: none !important;
  clear: both;
}

/* Imagem principal não deve crescer sem limite */
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery .flex-viewport img {
  max-height: 520px !important;
  width: 100% !important;
  object-fit: contain !important;
  border-radius: 20px !important;
}

/* Responsivo: empilha em mobile */
@media (max-width: 768px) {
  .woocommerce div.product {
    display: block !important;
  }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


/* =========================================================================
   SINGLE PRODUCT — LAYOUT 2 COLUNAS (FIX REAL)
   
   DIAGNÓSTICO: woocommerce.php usa woocommerce_content() no bloco else,
   que renderiza via content-single-product.php do plugin. O HTML real é:
   
   div.product (body.single-product)
   ├── .vp-gallery-outer   ← output do product-image.php override
   └── .summary.entry-summary
   
   O CSS anterior visava .vp-product-layout e div.images — classes que
   NÃO EXISTEM no DOM real. Este bloco corrige diretamente a estrutura real.
   ========================================================================= */

/* Container principal: estilo bloco limpo (conflitos de grid do WooCommerce removidos) */
.single-product div.product {
  display: block !important;
  padding-bottom: 40px;
}

.single-product div.product .woocommerce-notices-wrapper {
  width: 100% !important;
  margin-bottom: 20px !important;
}

.single-product div.product > span.onsale,
.single-product div.product > .onsale {
  display: none !important;
}

/* Layout de 2 colunas real, robusto e perfeitamente posicionado na esquerda */
.vp-product-layout {
  display: grid !important;
  grid-template-columns: 48% 1fr !important; /* Aumentado para 48% para que a foto de capa fique exuberante e grande! */
  column-gap: 36px !important; /* Espaçamento premium de 36px */
  align-items: start !important;
  width: 100% !important;
  margin-bottom: 40px !important;
}

.vp-product-gallery-col {
  width: 100% !important;
  min-width: 0 !important;
  float: none !important; /* Remove qualquer override de float do WooCommerce */
}

.vp-product-summary-col {
  width: 100% !important;
  min-width: 0 !important;
  float: none !important; /* Remove qualquer override de float do WooCommerce */
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE ≤ 768px — imagem em cima, texto embaixo (como Shopee / Mercado Livre)
   NÃO TOCA NO LAYOUT DO PC
   ══════════════════════════════════════════════════════════════════════= */
@media (max-width: 768px) {

  /* Grid do layout custom (.vp-product-layout) → 1 coluna */
  .vp-product-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
  }

  /* Estrutura real do DOM: div.product com galeria + summary lado a lado → empilha */
  .single-product div.product,
  .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Galeria: vai primeiro, largura total */
  .single-product div.product .vp-gallery-outer,
  .single-product div.product div.images,
  .woocommerce div.product div.images {
    width: 100% !important;
    order: 1 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    float: none !important;
  }

  /* Resumo (título, preço, botões): vai embaixo, largura total */
  .single-product div.product .summary.entry-summary,
  .single-product div.product div.summary,
  .woocommerce div.product div.summary {
    width: 100% !important;
    order: 2 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    float: none !important;
    margin-top: 0 !important;
  }

  /* Colunas do layout custom também empilham */
  .vp-product-gallery-col {
    width: 100% !important;
    order: 1 !important;
  }
  .vp-product-summary-col {
    width: 100% !important;
    order: 2 !important;
  }

  /* Galeria: foto em cima, miniaturas abaixo */
  .vp-gallery-outer {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .vp-main-col {
    order: 1 !important;
    width: 100% !important;
  }

  .vp-thumbs-col {
    order: 2 !important;
    flex-direction: row !important;
    flex: unset !important;
    width: 100% !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding: 4px 0 !important;
  }

  .vp-thumb {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
  }
}


/* =========================================================================
   SINGLE PRODUCT — CORREÇÕES LAYOUT v19+
   Problemas corrigidos:
   1. Texto muito longe da imagem → gap reduzido
   2. Imagem retangular → aspect-ratio quadrado forçado
   3. Espaço em branco excessivo → padding e min-height reduzidos
   4. Seletor de variações feio → design premium
   ========================================================================= */

/* 1 & 3: Menos padding no topo + sem min-height excessivo */
.single-product .vp-single-product-main {
  padding: 150px 0 60px !important;
  min-height: unset !important;
}
@media (max-width: 767px) {
  .single-product .vp-single-product-main {
    padding: 110px 12px 40px !important;
  }
}

/* 1: Layout mais compacto — colunas mais próximas */
.single-product div.product {
  display: block !important;
  padding-bottom: 20px !important;
}
.vp-product-layout {
  display: grid !important;
  grid-template-columns: 48% 1fr !important; /* Aumentado para 48% */
  column-gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
}

/* 2: Imagem principal QUADRADA */
.single-product .vp-product-gallery-col .woocommerce-product-gallery .flex-viewport,
.single-product .vp-product-gallery-col .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.single-product .vp-product-gallery-col .woocommerce-product-gallery .flex-viewport img,
.single-product .vp-product-gallery-col .woocommerce-product-gallery figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Também para o override vp-gallery-outer */
.vp-main-img-wrap {
  aspect-ratio: 1 / 1 !important;
  max-height: unset !important;
  overflow: hidden !important;
  border-radius: 20px !important;
}
.vp-main-img {
  width: 100% !important;
  height: 100% !important;
  max-height: unset !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 20px !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery .flex-viewport img {
  max-height: unset !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* =========================================================================
   4: VARIAÇÕES / ATRIBUTOS — DESIGN PREMIUM v2
   BUGS CORRIGIDOS:
   - flex-direction: row (label + select lado a lado, não empilhados)
   - font-family Fredoka forçada com alta especificidade
   - border azul do tema (#2D147C) conforme solicitado
   ========================================================================= */

/* Zera completamente a tabela de variações */
.single-product .variations_form table.variations,
.single-product .variations_form .variations {
  display: block !important;
  border: none !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin-bottom: 20px !important;
}

.single-product .variations_form .variations tbody {
  display: block !important;
}

/* Cada linha: label e select empilhados para visual premium perfeito no mobile e PC */
.single-product .variations_form .variations tr {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  margin-bottom: 18px !important;
  width: 100% !important;
}

/* Label do atributo (ex: "CORES") — exibido e muito elegante */
.single-product .variations_form .variations td.label,
.single-product .variations_form .variations th.label {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

.single-product .variations_form .variations td.label label,
.single-product .variations_form .variations th.label label {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #2D147C !important;
  text-transform: uppercase !important;
  display: block !important;
  margin: 0 !important;
  letter-spacing: 0.5px !important;
}

/* Célula do select — ocupa largura total */
.single-product .variations_form .variations td.value {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

/* O <select> — visual premium com azul da página */
.single-product .variations_form .variations td.value select,
.single-product .variations_form .variations select,
.single-product .woocommerce-variation-add-to-cart select,
.single-product .variations select,
.woocommerce.single-product .variations select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  min-width: 200px !important;
  max-width: 100% !important;
  padding: 14px 44px 14px 20px !important;
  border: 2px solid rgba(45, 20, 124, 0.15) !important;
  border-radius: 14px !important;
  background-color: #F8F9FA !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232D147C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #2D147C !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
  outline: none !important;
  line-height: 1.4 !important;
}

.single-product .variations select option {
  background-color: #FFFFFF !important;
  color: #2D147C !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 12px !important;
}

.single-product .variations_form .variations td.value select:hover,
.single-product .variations select:hover {
  border-color: #A31D64 !important;
  box-shadow: 0 4px 16px rgba(163, 29, 100, 0.18) !important;
}

.single-product .variations_form .variations td.value select:focus,
.single-product .variations select:focus {
  border-color: #A31D64 !important;
  box-shadow: 0 0 0 4px rgba(163, 29, 100, 0.12), 0 2px 10px rgba(45, 20, 124, 0.10) !important;
}

/* Link "Limpar seleção" */
.single-product .variations_form .reset_variations {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: #94A3B8 !important;
  text-decoration: none !important;
  display: block !important;
  margin-top: 4px !important;
  width: 100% !important;
  transition: color 0.2s ease !important;
  letter-spacing: 0.5px !important;
}
.single-product .variations_form .reset_variations:hover {
  color: #A31D64 !important;
}

/* Preço da variação selecionada */
.single-product .woocommerce-variation-price .price {
  font-family: 'Fredoka', sans-serif !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  color: #A31D64 !important;
  font-weight: 700 !important;
}

/* =========================================================================
   ESTILO DA QUANTIDADE EM ESTOQUE ("100 EM STOCK")
   ========================================================================= */
.single-product .stock,
.single-product p.stock,
.woocommerce div.product p.stock,
.woocommerce div.product .stock,
.woocommerce .product p.stock,
.stock.in-stock,
.stock.out-of-stock,
p.stock.in-stock,
p.stock.out-of-stock,
.woocommerce-variation-availability .stock {
  display: inline-block !important;
  color: #2D147C !important; /* Azul da página */
  background: rgba(45, 20, 124, 0.08) !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  margin-top: 15px !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.5px !important;
  border: 1px solid rgba(45, 20, 124, 0.15) !important;
}

/* =========================================================================
   REMOVER SUBLINHADO DOS LINKS DE PRODUTO NO CARROSSEL / LOOP
   ========================================================================= */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price bdi {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* =========================================================================
   SISTEMA DE PREÇOS E CARDS PADRONIZADOS E PREMIUM (VELLUM PETS)
   ========================================================================= */

/* Remover sublinhados/riscos azuis de todos os links de produtos, cards e preços */
a,
.vp-related-swiper a,
.vp-product-layout a,
.product-card-v a,
.product-card a,
.vp-related-swiper .product h3 a,
.vp-related-swiper .product .price a,
.vp-related-swiper .product .price,
.product-card-v .price,
.product-card-v h3 a,
.product-card .product-price,
.product-card h3 a,
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:hover,
.woocommerce ul.products li.product a:focus,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price:hover,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del,
.product-card .product-price,
.product-card .product-price ins,
.product-card .product-price del,
.woocommerce-loop-product__title,
.woocommerce-loop-product__link,
.woocommerce-loop-product__link:hover,
.woocommerce-Price-amount,
.card-retangular,
.card-retangular a,
.card-retangular a:hover,
.card-retangular:hover {
  text-decoration: none !important;
  text-decoration-line: none !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

/* Ensure line-through is only applied to del element */
del,
del .woocommerce-Price-amount {
  text-decoration: line-through !important;
  text-decoration-line: line-through !important;
}

/* Padronizar o tamanho, fonte e alinhamento de todos os preços nos cards */
.vp-related-swiper .product .price,
.vp-related-swiper .product .price .woocommerce-Price-amount,
.vp-related-swiper .product .price ins,
.vp-related-swiper .product .price ins .woocommerce-Price-amount,
.product-card-v .price,
.product-card-v .price .woocommerce-Price-amount,
.product-card .product-price,
.product-card .product-price .woocommerce-Price-amount,
.product-card .product-price ins,
.product-card .product-price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  font-size: 19px !important; /* Tamanho premium perfeitamente unificado! */
  font-weight: 700 !important;
  color: #A31D64 !important;
  font-family: 'Fredoka', sans-serif !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

/* Ajuste fino para os preços de promoção (del) nos cards para não bagunçar */
.vp-related-swiper .product .price del,
.vp-related-swiper .product .price del .woocommerce-Price-amount,
.product-card-v .price del,
.product-card-v .price del .woocommerce-Price-amount,
.product-card .product-price del,
.product-card .product-price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce div.product span.price del,
.woocommerce div.product p.price del .woocommerce-Price-amount,
.woocommerce div.product span.price del .woocommerce-Price-amount {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #A31D64 !important;
  opacity: 0.65 !important; /* Opacidade perfeita e visível (não mais apagado demais!) */
  text-decoration: line-through !important;
  display: inline-block !important;
  margin-right: 6px !important;
  margin-bottom: 0 !important;
}

.vp-related-swiper .product .price ins,
.product-card-v .price ins,
.product-card .product-price ins,
.woocommerce ul.products li.product .price ins {
  background: none !important;
  padding: 0 !important;
  display: inline-block !important;
  text-decoration: none !important;
}

/* Botão adicionar do produto simples/variável unificado sólido e vibrante como o carrinho */
.single-product .vp-product-summary-col .single_add_to_cart_button,
.single-product .vp-product-summary-col button.single_add_to_cart_button,
.single-product .vp-product-summary-col .single_add_to_cart_button.disabled,
.single-product .vp-product-summary-col button.single_add_to_cart_button:disabled {
  background: var(--color-primary) !important;
  color: #FFF !important;
  opacity: 1 !important;
  box-shadow: 0 10px 25px rgba(163, 29, 100, 0.3) !important;
  cursor: pointer !important;
}

/* PAGINAÇÃO DE PRODUTOS (PREMIUM STYLE) */
.navigation.pagination {
  margin: 50px 0 20px !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.navigation.pagination .nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(45, 20, 124, 0.04) !important;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  width: fit-content !important;
}

.navigation.pagination .page-numbers {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--color-secondary) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.navigation.pagination .page-numbers.current {
  background: var(--color-primary) !important;
  color: #FFF !important;
  box-shadow: 0 4px 10px rgba(163, 29, 100, 0.3) !important;
}

.navigation.pagination .page-numbers:hover:not(.current) {
  background: rgba(45, 20, 124, 0.08) !important;
  transform: scale(1.05) !important;
}

/* =========================================================================
   PADRONIZAÇÃO UNIVERSAL DE TODOS OS CARDS — GRID, CARROSSEL, MOBILE
   Todos os contextos: loja, categoria, relacionados, swiper
   ========================================================================= */

/* BASE UNIVERSAL — card idêntico em todos os contextos */
.woocommerce ul.products li.product,
.vp-related-swiper .swiper-slide > li.product,
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product {
  background: #FFFFFF !important;
  border: 1px solid #F0F0F0 !important;
  border-radius: 20px !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  float: none !important;
}

.woocommerce ul.products li.product:hover,
.vp-related-swiper .swiper-slide > li.product:hover,
.woocommerce .related ul.products li.product:hover,
.woocommerce .upsells ul.products li.product:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 15px 40px rgba(45, 20, 124, 0.15) !important;
  border-color: #A31D64 !important;
}

/* IMAGEM — idêntica em todos os cards */
.woocommerce ul.products li.product a img,
.vp-related-swiper .swiper-slide > li.product a img,
.woocommerce .related ul.products li.product a img,
.woocommerce .upsells ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  margin-bottom: 18px !important;
  border-radius: 15px !important;
  background: #F8F9FA !important;
  display: block !important;
  float: none !important;
  transition: transform 0.5s ease !important;
}

.woocommerce ul.products li.product:hover a img,
.vp-related-swiper .swiper-slide > li.product:hover a img {
  transform: scale(1.05) !important;
}

/* TÍTULO — idêntico em todos os cards */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.vp-related-swiper .swiper-slide > li.product .woocommerce-loop-product__title,
.woocommerce .related ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1A0F3C !important;
  padding: 0 !important;
  margin: 0 0 10px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 44px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* PREÇO — idêntico em todos os cards, alinhado na mesma altura */
.woocommerce ul.products li.product .price,
.vp-related-swiper .swiper-slide > li.product .price,
.woocommerce .related ul.products li.product .price,
.woocommerce .upsells ul.products li.product .price {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #A31D64 !important;
  padding: 0 !important;
  margin-top: auto !important; /* Empurra o preço para baixo, alinhando todos os cards */
  margin-bottom: 12px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  min-height: 28px !important; /* Altura mínima uniforme para alinhar o botão abaixo */
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.woocommerce ul.products li.product .price ins,
.vp-related-swiper .swiper-slide > li.product .price ins,
.woocommerce .related ul.products li.product .price ins,
.woocommerce .upsells ul.products li.product .price ins {
  color: #A31D64 !important;
  text-decoration: none !important;
  font-size: 18px !important;
}

.woocommerce ul.products li.product .price del,
.vp-related-swiper .swiper-slide > li.product .price del,
.woocommerce .related ul.products li.product .price del,
.woocommerce .upsells ul.products li.product .price del {
  color: #9CA3AF !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  opacity: 0.7 !important;
}

/* BOTÃO — idêntico em todos os cards (rosa pill), sempre colado no fundo */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.vp-related-swiper .swiper-slide > li.product a.button,
.vp-related-swiper .swiper-slide > li.product .button,
.vp-related-swiper .swiper-slide > li.product .add_to_cart_button,
.woocommerce .related ul.products li.product a.button,
.woocommerce .related ul.products li.product .button,
.woocommerce .upsells ul.products li.product a.button,
.woocommerce .upsells ul.products li.product .button {
  display: block !important;
  width: 100% !important;
  margin-top: auto !important; /* Cola o botão no fundo do card, alinhando todos */
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 12px 16px !important;
  background: #A31D64 !important;
  color: #FFF !important;
  border: none !important;
  border-radius: 9999px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 6px 15px rgba(163, 29, 100, 0.2) !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover,
.vp-related-swiper .swiper-slide > li.product a.button:hover,
.vp-related-swiper .swiper-slide > li.product .button:hover,
.woocommerce .related ul.products li.product a.button:hover,
.woocommerce .upsells ul.products li.product a.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(163, 29, 100, 0.35) !important;
}

/* BADGE PROMOÇÃO — sempre canto superior esquerdo */
.woocommerce ul.products li.product .onsale,
.vp-related-swiper .swiper-slide > li.product .onsale,
.woocommerce .related ul.products li.product .onsale,
.woocommerce .upsells ul.products li.product .onsale {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 10 !important;
}

/* MOBILE ≤ 600px — layout 2 colunas, cards compactos mas idênticos */
@media (max-width: 600px) {
  .woocommerce ul.products li.product,
  .vp-related-swiper .swiper-slide > li.product,
  .woocommerce .related ul.products li.product,
  .woocommerce .upsells ul.products li.product {
    padding: 14px !important;
    border-radius: 16px !important;
  }
  .woocommerce ul.products li.product a img,
  .vp-related-swiper .swiper-slide > li.product a img,
  .woocommerce .related ul.products li.product a img,
  .woocommerce .upsells ul.products li.product a img {
    margin-bottom: 12px !important;
    border-radius: 12px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .vp-related-swiper .swiper-slide > li.product .woocommerce-loop-product__title,
  .woocommerce .related ul.products li.product .woocommerce-loop-product__title,
  .woocommerce .upsells ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    min-height: 38px !important;
  }
  .woocommerce ul.products li.product .price,
  .vp-related-swiper .swiper-slide > li.product .price,
  .woocommerce .related ul.products li.product .price,
  .woocommerce .upsells ul.products li.product .price {
    font-size: 15px !important;
  }
  .woocommerce ul.products li.product .price ins,
  .vp-related-swiper .swiper-slide > li.product .price ins {
    font-size: 15px !important;
  }
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .button,
  .vp-related-swiper .swiper-slide > li.product a.button,
  .vp-related-swiper .swiper-slide > li.product .button,
  .woocommerce .related ul.products li.product a.button,
  .woocommerce .upsells ul.products li.product a.button {
    font-size: 11px !important;
    padding: 10px 12px !important;
  }
}

/* 2. TABELA DE VARIAÇÕES (CAIXA DE OPÇÕES) - RETORNO AO LAYOUT CLÁSSICO ALINHADO */
.single-product .variations_form table.variations,
.single-product .variations_form .variations {
  display: table !important;
  border: none !important;
  border-spacing: 0 12px !important;
  width: 100% !important;
  margin-bottom: 20px !important;
}

.single-product .variations_form .variations tbody {
  display: table-row-group !important;
}

.single-product .variations_form .variations tr {
  display: table-row !important;
}

.single-product .variations_form .variations td.label,
.single-product .variations_form .variations th.label {
  display: table-cell !important;
  width: auto !important;
  padding: 10px 0 !important;
  vertical-align: middle !important;
}

.single-product .variations_form .variations td.value {
  display: table-cell !important;
  width: 100% !important;
  padding: 10px 0 10px 15px !important;
  vertical-align: middle !important;
}

/* =========================================================================
   PLUGIN SIMULAÇÃO DE FRETE — DESIGN VELLUM PETS (PC E MOBILE IDÊNTICOS)
   Cobre: Melhor Envio, Jadlog WooCommerce, e plugins similares
   ========================================================================= */

/* Container principal do widget de frete */
.single-product .woocommerce-shipping-calculator,
.single-product [class*="melhor-envio"],
.single-product [class*="woocommerce-shipping"],
.single-product .shipping-simulator,
.single-product [class*="shipping-simulator"],
.single-product [id*="shipping"],
.single-product .jadlog-quote,
.single-product [class*="jadlog"] {
  font-family: 'Inter', sans-serif !important;
  background: rgba(45, 20, 124, 0.03) !important;
  border: 1px solid rgba(45, 20, 124, 0.10) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

/* Título da seção (SIMULAÇÃO DE FRETE) */
.single-product [class*="simulação"],
.single-product [class*="simulacao"],
.single-product [class*="shipping"] h3,
.single-product [class*="shipping"] h4,
.single-product [class*="shipping"] .title,
.single-product [class*="frete"] h3,
.single-product [class*="frete"] h4,
.single-product [class*="frete"] .title,
.single-product [class*="melhor-envio"] h3,
.single-product [class*="melhor-envio"] h4,
.single-product [class*="melhor-envio"] strong:first-child {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #A31D64 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 12px !important;
}

/* Resultados das opções de frete (Jadlog, Correios etc.) */
.single-product [class*="shipping"] ul li,
.single-product [class*="frete"] ul li,
.single-product [class*="melhor-envio"] ul li,
.single-product [class*="jadlog"] ul li,
.single-product [class*="shipping"] p,
.single-product [class*="frete"] p,
.single-product [class*="melhor-envio"] p {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2D147C !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  list-style: none !important;
  padding: 2px 0 !important;
  margin: 0 !important;
}

/* Input CEP */
.single-product [class*="shipping"] input[type="text"],
.single-product [class*="frete"] input[type="text"],
.single-product [class*="melhor-envio"] input[type="text"],
.single-product [class*="cep"] input {
  width: 100% !important;
  padding: 14px 18px !important;
  border: 2px solid rgba(45, 20, 124, 0.15) !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 15px !important;
  color: #2D147C !important;
  outline: none !important;
  transition: border-color 0.3s ease !important;
  box-sizing: border-box !important;
  margin-bottom: 10px !important;
}

.single-product [class*="shipping"] input[type="text"]:focus,
.single-product [class*="frete"] input[type="text"]:focus,
.single-product [class*="melhor-envio"] input[type="text"]:focus {
  border-color: #A31D64 !important;
  box-shadow: 0 0 0 3px rgba(163, 29, 100, 0.12) !important;
}

/* =========================================================================
   GARANTIA MOBILE ≤ 640px — DESIGN IDÊNTICO AO PC
   Labels CORES/TAMANHO, selects, variações, botões
   ========================================================================= */
@media (max-width: 640px) {

  /* Labels de variação CORES / TAMANHO — idênticos ao PC */
  .single-product .variations_form .variations td.label label,
  .single-product .variations_form .variations th.label label {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2D147C !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
  }

  /* Select de variações — idêntico ao PC */
  .single-product .variations_form .variations td.value select,
  .single-product .variations_form .variations select,
  .single-product .woocommerce-variation-add-to-cart select,
  .single-product .variations select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 44px 14px 18px !important;
    border: 2px solid rgba(45, 20, 124, 0.15) !important;
    border-radius: 14px !important;
    background-color: #F8F9FA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232D147C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    font-family: 'Fredoka', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2D147C !important;
    outline: none !important;
    box-sizing: border-box !important;
  }

  /* Preço do produto — mantém fonte e cor */
  .single-product .vp-product-summary-col .price {
    font-family: 'Fredoka', sans-serif !important;
    color: #A31D64 !important;
    font-size: clamp(22px, 5vw, 34px) !important;
    font-weight: 700 !important;
  }

  /* Título do produto */
  .single-product .vp-product-summary-col .product_title.entry-title { margin-top: 0 !important;
    font-family: 'Fredoka', sans-serif !important;
    color: #1A0F3C !important;
    font-size: clamp(22px, 5vw, 34px) !important;
    font-weight: 700 !important;
  }

  /* Plugin frete — texto em rosa uppercase no mobile igual ao PC */
  .single-product [class*="shipping"] p,
  .single-product [class*="frete"] p,
  .single-product [class*="melhor-envio"] p,
  .single-product [class*="shipping"] ul li,
  .single-product [class*="frete"] ul li,
  .single-product [class*="melhor-envio"] ul li {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #A31D64 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
  }

  /* Trust card (Entrega Rápida / Compra Segura) — idêntico ao PC */
  .vp-trust-card {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
  }

  .vp-trust-item strong {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 13px !important;
    color: #2D147C !important;
  }

  .vp-trust-item span {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: #64748B !important;
  }

  /* Caixa de frete — coluna vertical no mobile */
  .single-product .woocommerce-shipping-calculator,
  .single-product [class*="melhor-envio"],
  .single-product [class*="woocommerce-shipping"],
  .single-product .shipping-simulator,
  .single-product [class*="shipping-simulator"],
  .single-product [id*="shipping"],
  .single-product .jadlog-quote,
  .single-product [class*="jadlog"] {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .single-product [class*="shipping"] input[type="text"],
  .single-product [class*="frete"] input[type="text"],
  .single-product [class*="melhor-envio"] input[type="text"],
  .single-product [class*="cep"] input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================================
   ESTABILIDADE DE LAYOUT E SIMULADOR DE FRETE (MOBILE ≤ 991px)
   ========================================================================= */
@media (max-width: 991px) {
  /* Impede 100% o scroll lateral na página do produto no celular (página estática) */
  html, body, .vp-single-product-main, .vp-product-layout, .container, .vp-product-tabs-wrapper {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  
  .vp-product-layout {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .vp-product-gallery-col, 
  .vp-product-summary-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
  }

  /* Força a caixa do botão de frete a ficar para BAIXO da caixa do CEP (empilhamento vertical) */
  .single-product .woocommerce-shipping-calculator form,
  .single-product [class*="melhor-envio"] form,
  .single-product [class*="frete"] form,
  .single-product [class*="jadlog"] form,
  .single-product .shipping-calculator-form,
  .single-product .melhor-envio-calculator,
  .single-product .shipping-simulator-form,
  .single-product [class*="shipping"] p,
  .single-product [class*="frete"] p,
  .single-product [class*="melhor-envio"] p {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* Botão "Calcular" do simulador de frete — VISÍVEL */
  .single-product .woocommerce-shipping-calculator .button,
  .single-product .woocommerce-shipping-calculator input[type="submit"],
  .single-product .button.calculate-shipping-button,
  .single-product .shipping-calculator-form .button,
  .single-product .shipping-simulator .button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    padding: 12px 24px !important;
    margin: 8px 0 !important;
    border: none !important;
    background: #2D147C !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
  }

  /* Garante que o botão Adicionar ao Carrinho NUNCA seja escondido */
  .single-product form.cart .single_add_to_cart_button,
  .single-product .vp-product-summary-col .single_add_to_cart_button,
  .single-product button.single_add_to_cart_button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }
}

/* =========================================================================
   PADRONIZAÇÃO DO BOTÃO ADICIONAR E QUANTIDADE (PC E MOBILE LADO A LADO)
   Copia o estilo shimmer premium da página inicial, remove o esbranquiçado
   ========================================================================= */

/* Garante o posicionamento relativo para o badge onsale + overflow visível para não cortar */
.single-product .vp-product-gallery-col,
.single-product .vp-main-col,
.single-product .vp-main-img-wrap,
.single-product .woocommerce-product-gallery {
  position: relative !important;
  overflow: visible !important; /* Não corta o badge PROMOÇÃO */
}

/* Força a palavra PROMOÇÃO (badge onsale) a ficar EM CIMA DA IMAGEM com a cor rosa oficial */
.single-product .onsale,
.single-product span.onsale,
.single-product .vp-product-gallery-col .onsale,
.single-product .vp-main-col .onsale,
.single-product .woocommerce-product-gallery .onsale,
.woocommerce div.product span.onsale,
.woocommerce div.product .onsale {
  display: inline-block !important;
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 9999 !important;
  background: linear-gradient(135deg, #A31D64 0%, #C4226E 100%) !important;
  color: #FFFFFF !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 9999px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  box-shadow: 0 4px 14px rgba(163, 29, 100, 0.45) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  border: none !important;
}

/* Alinha a caixa de quantidade e o botão adicionar lado a lado (horizontalmente) no PC e Mobile */
.single-product form.cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  width: 100% !important;
}

.single-product form.cart .quantity {
  flex: 0 0 auto !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  background: #FFFFFF !important;
  border: 2px solid rgba(45, 20, 124, 0.15) !important;
  border-radius: 14px !important;
  overflow: visible !important;
  height: 52px !important;
}

.single-product form.cart .quantity .qty {
  width: 70px !important;
  height: 48px !important;
  padding: 0 8px !important;
  text-align: center !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: #2D147C !important;
  background: transparent !important;
  box-sizing: border-box !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Design unificado do botão adicionar com o shimmer premium da página inicial (cor sólida rosa, sem esbranquiçado) */
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button,
.single-product .vp-product-summary-col .single_add_to_cart_button,
.single-product .vp-product-summary-col button.single_add_to_cart_button {
  position: relative !important;
  flex: 1 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 50px !important;
  padding: 0 20px !important;
  border-radius: 9999px !important; /* Totalmente pill */
  background: var(--color-primary) !important; /* Rosa premium */
  color: #FFFFFF !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 8px 20px rgba(163, 29, 100, 0.3) !important;
  margin: 0 !important;
  outline: none !important;
}

/* Hover e efeito Shimmer */
.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart button.single_add_to_cart_button:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 12px 25px rgba(163, 29, 100, 0.45) !important;
  background: var(--color-primary) !important;
  color: #FFFFFF !important;
}

/* Efeito Shimmer (Brilho deslizante da página inicial) */
.single-product form.cart .single_add_to_cart_button::after,
.single-product form.cart button.single_add_to_cart_button::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(to right, transparent, rgba(255,255,255,0.4), transparent) !important;
  transform: skewX(-25deg) !important;
  transition: 0.5s !important;
}

.single-product form.cart .single_add_to_cart_button:hover::after,
.single-product form.cart button.single_add_to_cart_button:hover::after {
  left: 150% !important;
  transition: 0.6s !important;
}

/* =========================================================================
   CORREÇÃO: TEXTO DA DESCRIÇÃO — COR CINZA ESCURO, NÃO ROSA
   Aplica-se tanto no PC quanto no celular, aba Descrição e short-description
   ========================================================================= */

/* Aba Descrição (panel): força texto em cinza escuro, nunca rosa */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel div,
.woocommerce div.product .woocommerce-tabs .panel span,
.woocommerce div.product .woocommerce-tabs .panel li,
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol,
.woocommerce div.product .woocommerce-tabs .panel td,
.woocommerce div.product .woocommerce-tabs .panel th,
.vp-product-tabs-wrapper .panel,
.vp-product-tabs-wrapper .panel p,
.vp-product-tabs-wrapper .panel div,
.vp-product-tabs-wrapper .panel span,
.vp-product-tabs-wrapper .panel li {
  color: #475569 !important; /* Cinza escuro — texto base */
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  text-transform: none !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

/* Negrito na aba Descrição — azul escuro para destaque chique */
.woocommerce div.product .woocommerce-tabs .panel strong,
.woocommerce div.product .woocommerce-tabs .panel b,
.vp-product-tabs-wrapper .panel strong,
.vp-product-tabs-wrapper .panel b {
  color: #2D147C !important; /* Azul escuro — destaque nos títulos em negrito */
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: inherit !important;
}

/* Título "Descrição" dentro da aba — mantém roxo escuro como título */
.woocommerce div.product .woocommerce-tabs .panel h2,
.vp-product-tabs-wrapper .panel h2 {
  color: #2D147C !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* Short description (texto curto no resumo do produto, acima do botão) — cinza escuro */
.single-product .vp-product-summary-col .woocommerce-product-details__short-description,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description p,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description div,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description span,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description li,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description ul,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description ol {
  color: #475569 !important; /* Cinza escuro — igual no PC e mobile */
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  text-transform: none !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

/* Strong/bold dentro da descrição curta — roxo escuro para destaque */
.single-product .vp-product-summary-col .woocommerce-product-details__short-description strong {
  color: #2D147C !important;
  font-weight: 600 !important;
}

/* =========================================================================
   CORREÇÃO: BOTÃO ADICIONAR NO CELULAR — ROSA, NÃO AZUL
   O var(--color-primary) pode não funcionar em todos os browsers mobile.
   Força cor sólida #A31D64 diretamente.
   ========================================================================= */

/* Força rosa sólido no botão de adicionar em TODOS os contextos e telas */
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button,
.single-product .vp-product-summary-col .single_add_to_cart_button,
.single-product .vp-product-summary-col button.single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product input.single_add_to_cart_button,
.single-product .cart .single_add_to_cart_button,
.single-product .cart button[type="submit"] {
  background: #A31D64 !important; /* Rosa sólido — resolve o bug do var() no mobile */
  background-color: #A31D64 !important;
  color: #FFFFFF !important;
  border-radius: 9999px !important;
  border: none !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 20px rgba(163, 29, 100, 0.3) !important;
}

.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart button.single_add_to_cart_button:hover,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover,
.single-product .cart button[type="submit"]:hover {
  background: #A31D64 !important;
  background-color: #A31D64 !important;
  color: #FFFFFF !important;
}

/* =========================================================================
   CORREÇÃO: ESTOQUE EM ROSA — BADGE "X em estoque" igual ao PC
   ========================================================================= */
.single-product .stock,
.single-product .in-stock,
.single-product p.stock,
.single-product .vp-product-summary-col .stock {
  color: #A31D64 !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* =========================================================================
   CORREÇÃO MOBILE ≤ 640px: DESIGN 100% IDÊNTICO AO PC
   Garante cores, fontes e badges iguais
   ========================================================================= */
@media (max-width: 640px) {

  /* Botão adicionar — ROSA, NÃO AZUL */
  .single-product form.cart .single_add_to_cart_button,
  .single-product form.cart button.single_add_to_cart_button,
  .single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
  .single-product button.single_add_to_cart_button,
  .single-product .cart button[type="submit"] {
    background: #A31D64 !important;
    background-color: #A31D64 !important;
    color: #FFFFFF !important;
    border-radius: 9999px !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 20px rgba(163, 29, 100, 0.3) !important;
    border: none !important;
  }

  /* Badge PROMOÇÃO no mobile — idêntico ao PC */
  .single-product .onsale,
  .single-product span.onsale,
  .woocommerce span.onsale {
    display: inline-block !important;
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 9999 !important;
    background: linear-gradient(135deg, #A31D64 0%, #C4226E 100%) !important;
    color: #FFFFFF !important;
    font-family: 'Fredoka', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 6px 14px !important;
    border-radius: 9999px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    box-shadow: 0 4px 14px rgba(163, 29, 100, 0.45) !important;
  }

  /* Estoque mobile — rosa igual ao PC */
  .single-product .stock,
  .single-product .in-stock,
  .single-product p.stock {
    color: #A31D64 !important;
    font-family: 'Fredoka', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
  }

  /* Descrição curta mobile — CINZA, NÃO ROSA */
  .single-product .vp-product-summary-col .woocommerce-product-details__short-description,
  .single-product .vp-product-summary-col .woocommerce-product-details__short-description p,
  .single-product .vp-product-summary-col .woocommerce-product-details__short-description span,
  .single-product .vp-product-summary-col .woocommerce-product-details__short-description div {
    color: #475569 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  /* Aba Descrição mobile — cinza, idêntico ao fix do PC */
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce div.product .woocommerce-tabs .panel p,
  .woocommerce div.product .woocommerce-tabs .panel span,
  .woocommerce div.product .woocommerce-tabs .panel div {
    color: #475569 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
  }
}




/* =========================================================================
   AJUSTES FINAIS MOBILE SOLICITADOS (TITULO, BOTAO FRETE, SWIPER BTNS)
   ========================================================================= */
@media (max-width: 991px) {
  /* 1. Esconder os botoes roxos do Swiper no celular que ficavam passando em cima do card */
  .vp-related-btn-prev, .vp-related-btn-next {
      display: none !important;
  }

  /* 2. Titulo fica no fluxo normal, abaixo da galeria */
  .single-product .vp-product-summary-col .product_title.entry-title {
      position: static !important;
      z-index: auto !important;
      display: block !important;
      clear: both !important;
      margin-top: 10px !important;
      margin-bottom: 15px !important;
  }

  /* 3. Ordem no mobile: quantidade → botão → frete */
  .single-product form.cart {
      display: flex !important;
      flex-direction: column !important;
      gap: 12px !important;
  }
  .single-product form.cart .quantity {
      order: 1 !important;
      width: 100% !important;
  }
  .single-product form.cart .single_add_to_cart_button,
  .single-product form.cart button.single_add_to_cart_button {
      order: 2 !important;
      width: 100% !important;
  }
  /* O simulador de frete vai sempre depois do botão */
  .single-product [class*="shipping"],
  .single-product [class*="frete"],
  .single-product [class*="melhor-envio"],
  .single-product .shipping-simulator {
      width: 100% !important;
      order: 10 !important;
      margin-top: 20px !important;
      display: block !important;
  }
}

/* =========================================================================
   AJUSTES FINAIS - ALINHAMENTO DO TITULO E CORRECAO DE TEXTO CORTADO
   ========================================================================= */

@media (min-width: 992px) {
    .single-product .vp-product-summary-col .product_title.entry-title {
        margin-top: 65px !important; /* Desce o titulo para alinhar perfeitamente com o topo da imagem no PC */
    }
}

/* 2. Correcao da leitura cortada (texto pela metade) nos titulos dos cards */
.woocommerce ul.products li.product a h2,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.product-card h3,
.product-card-v h3 {
    line-height: 1.3 !important;
    height: auto !important;
    max-height: 2.6em !important; /* 1.3 * 2 linhas exatas */
    min-height: 2.6em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important; /* Remove o aviso do VSCode */
    -webkit-box-orient: vertical !important;
    margin-bottom: 10px !important;
}


/* =========================================================================
   REVISAO FINAL MOBILE - ALINHAMENTO ESTRITO VERTICAL E CORRECAO DE SOBREPOSICAO
   ========================================================================= */
@media (max-width: 991px) {
    /* 1. CORRECAO DE SOBREPOSICAO DO TITULO (GARANTINDO FLUXO NORMAL) */
    .single-product div.product {
        display: flex !important;
        flex-direction: column !important;
    }
    .single-product .vp-product-gallery-col,
    .single-product .vp-gallery-outer {
        position: relative !important;
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important; /* Para nao cortar nada */
        margin-bottom: 20px !important;
    }
    .single-product .vp-product-summary-col {
        position: relative !important;
        display: block !important;
        margin-top: 0 !important;
        padding-top: 10px !important;
    }
    
    /* Faz as miniaturas empurrarem o conteudo pra baixo e nao flutuarem */
    .single-product .vp-product-gallery-col .woocommerce-product-gallery {
        height: auto !important;
        overflow: visible !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .single-product .vp-product-gallery-col .woocommerce-product-gallery ol.flex-control-thumbs {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        padding: 10px 0 0 0 !important;
        height: auto !important;
    }

    /* 2. ALINHAMENTO ESTRITO VERTICAL PARA O BOTAO DE COMPRA E QUANTIDADE */
    .single-product form.cart,
    .single-product .woocommerce-variation-add-to-cart {
        display: flex !important;
        flex-direction: column !important; /* Tudo na vertical! */
        align-items: center !important;
        gap: 15px !important;
        width: 100% !important;
    }
    
    /* Caixa de quantidade ocupando 100% ou centralizada perfeitamente */
    .single-product form.cart .quantity {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0 !important;
    }
    
    /* Botao de adicionar gigante, legivel e 100% de largura */
    .single-product form.cart .single_add_to_cart_button,
    .single-product form.cart button.single_add_to_cart_button {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        height: 60px !important; /* Maior pra clicar facil no celular */
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    /* Simulador de frete abaixo de todos (vem naturalmente no flex-direction: column) */
    .single-product [class*="shipping"],
    .single-product [class*="frete"],
    .single-product [class*="melhor-envio"],
    .single-product .shipping-simulator {
        width: 100% !important;
        margin-top: 10px !important;
        order: 99 !important; /* Joga bem pro final */
    }
}

/* =========================================================================
   ELIMINAÇÃO DE BOLHA TRANSPARENTE E BOTÃO VAZIO NO SIMULADOR DE FRETE (PC & MOBILE)
   ========================================================================= */
/* Calculadora de frete — links de toggle visíveis */
.single-product .calculate-shipping-toggle,
.single-product a.shipping-calculator-button,
.single-product a.calculate-shipping-button {
    display: inline-block !important;
    color: #A31D64 !important;
    font-family: 'Fredoka', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-top: 8px !important;
}
.single-product .woocommerce-shipping-calculator > a.button {
    display: inline-flex !important;
}

/* PROTEÇÃO: garante que o botão Adicionar ao Carrinho NUNCA seja escondido */
.single-product form.cart .single_add_to_cart_button,
.single-product .vp-product-summary-col button.single_add_to_cart_button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
}

/* =========================================================================
   REMOÇÃO DE DUPLA BORDAS, FUNDOS E "PELÍCULAS" INTERNAS NO SIMULADOR DE FRETE (PC & MOBILE)
   ========================================================================= */
.single-product .woocommerce-shipping-calculator div,
.single-product .woocommerce-shipping-calculator form,
.single-product [class*="melhor-envio"] div,
.single-product [class*="melhor-envio"] form,
.single-product .shipping-simulator div,
.single-product .shipping-simulator form {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── MOBILE: Remove elemento vazio/fantasma dentro da caixa de frete ── */
@media (max-width: 700px) {
  .single-product [class*="frete"] button:empty,
  .single-product [class*="shipping"] button:empty,
  .single-product [class*="melhor-envio"] button:empty,
  .single-product [class*="frete"] input[type="button"]:placeholder-shown,
  .single-product [class*="frete"] div:empty,
  .single-product [class*="shipping"] div:empty {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  /* Garante que o container de frete no mobile não quebre o layout */
  .single-product [class*="frete"],
  .single-product [class*="shipping"],
  .single-product [class*="melhor-envio"] {
    padding: 16px !important;
    margin-top: 16px !important;
    border-radius: 16px !important;
    background: rgba(45,20,124,0.03) !important;
    border: 1px solid rgba(45,20,124,0.10) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================================
   CORREÇÃO DEFINITIVA — BOTÃO ADICIONAR AO CARRINHO (PC + CELULAR)
   Esta regra tem a maior especificidade e vem por último — sempre vence.
   NÃO REMOVER.
   ========================================================================= */

/* PC: botão visível, rosa, pill */
body.single-product .vp-product-summary-col form.cart .single_add_to_cart_button,
body.single-product .vp-product-summary-col form.cart button.single_add_to_cart_button,
body.single-product .vp-product-summary-col .single_add_to_cart_button,
body.single-product form.cart button[type="submit"],
body.single-product form.cart input[type="submit"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  background: #A31D64 !important;
  background-color: #A31D64 !important;
  color: #FFFFFF !important;
  height: 56px !important;
  min-height: 50px !important;
  border-radius: 9999px !important;
  border: none !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 0 32px !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(163,29,100,0.35) !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 1 !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* CELULAR: botão ocupa largura total */
@media (max-width: 991px) {
  body.single-product .vp-product-summary-col form.cart .single_add_to_cart_button,
  body.single-product .vp-product-summary-col form.cart button.single_add_to_cart_button,
  body.single-product .vp-product-summary-col .single_add_to_cart_button,
  body.single-product form.cart button[type="submit"] {
    display: flex !important;
    width: 100% !important;
    flex: none !important;
    height: 56px !important;
    font-size: 17px !important;
  }

  /* form.cart em coluna vertical no celular */
  body.single-product .vp-product-summary-col form.cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* quantidade: linha completa */
  body.single-product .vp-product-summary-col form.cart .quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 54px !important;
    border: 2px solid rgba(45,20,124,0.15) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  /* Caixa de frete: abaixo do botão, largura total, coluna vertical */
  body.single-product .vp-product-summary-col [class*="frete"],
  body.single-product .vp-product-summary-col [class*="shipping"],
  body.single-product .vp-product-summary-col [class*="melhor-envio"],
  body.single-product .vp-product-summary-col .shipping-simulator {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 16px !important;
    order: 99 !important;
  }

  body.single-product .vp-product-summary-col [class*="frete"] input,
  body.single-product .vp-product-summary-col [class*="shipping"] input,
  body.single-product .vp-product-summary-col [class*="melhor-envio"] input {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================================
   REVISÃO MOBILE VELLUM PETS - AJUSTES DE FRETE, DESCRIÇÃO, GALERIA E TAMANHOS
   ========================================================================= */
@media (max-width: 767px) {
  /* 1. CORREÇÃO DA ORDEM DA GALERIA: Foto no topo, miniaturas abaixo */
  .single-product .vp-gallery-outer {
    display: flex !important;
    flex-direction: column !important; /* Reativa flex empilhamento */
    gap: 12px !important;
    width: 100% !important;
  }
  .single-product .vp-main-col {
    order: 1 !important; /* Foto em 1º lugar */
    width: 100% !important;
  }
  .single-product .vp-thumbs-col {
    order: 2 !important; /* Miniaturas abaixo */
    display: flex !important;
    flex-direction: row !important; /* Miniaturas horizontais */
    overflow-x: auto !important;
    width: 100% !important;
    gap: 8px !important;
    padding: 8px 0 4px !important;
  }
  .single-product .vp-thumb {
    flex: 0 0 60px !important;
    width: 60px !important;
    height: 60px !important;
  }
  /* 2. LIMPEZA DA IMAGEM PRINCIPAL: Remove a película (fundo e sombra) */
  .single-product .vp-main-img-wrap,
  .single-product .woocommerce-product-gallery .flex-viewport,
  .single-product .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper {
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 12px !important;
    border: none !important;
  }
  .single-product .vp-main-img {
    border-radius: 12px !important;
  }

  /* 3. ESPAÇAMENTO DO TÍTULO DO PRODUTO (JOGADO DUAS LINHAS MAIS PARA BAIXO) */
  .single-product .vp-product-gallery-col,
  .single-product .vp-gallery-outer {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin-bottom: 24px !important; /* Espaço seguro abaixo das fotos */
  }
  .single-product .vp-product-gallery-col {
    margin-bottom: 24px !important;
  }
  .single-product .vp-product-summary-col {
    padding-top: 0 !important;
    margin-top: 0 !important;
    position: relative !important;
    clear: both !important; /* Impede invasão de floats */
  }
  .single-product .vp-product-summary-col .product_title.entry-title {
    margin-top: 55px !important; /* EMPURRA O TÍTULO 2 LINHAS ABAIXO DAS MINIATURAS DA GALERIA */
    margin-bottom: 12px !important;
    font-size: 26px !important;
  }

  /* 4. PREVENÇÃO DE CORTES DA DESCRIÇÃO (ABAS EM CARROSSEL HORIZONTAL + TEXTO À ESQUERDA) */
  /* Impede que as abas estiquem a largura total do site ou criem scroll horizontal na página */
  .woocommerce div.product .woocommerce-tabs,
  .vp-product-tabs-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    margin-top: 30px !important;
    padding: 0 !important;
  }

  /* Transforma as abas em um carrossel horizontal de rolagem super suave */
  .woocommerce div.product .woocommerce-tabs ul.tabs,
  .vp-product-tabs-wrapper ul.tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* NUNCA QUEBRA A LINHA E NUNCA AUMENTA O SITE */
    overflow-x: auto !important; /* Habilita scroll horizontal suave */
    -webkit-overflow-scrolling: touch !important; /* Scroll inercial no iOS */
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 4px !important;
    margin: 0 !important;
    border-bottom: 2px solid rgba(45, 20, 124, 0.08) !important;
    box-sizing: border-box !important;
  }

  /* Esconde a barra de rolagem visual nas abas para ficar limpo (PC/Celular) */
  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar,
  .vp-product-tabs-wrapper ul.tabs::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li,
  .vp-product-tabs-wrapper ul.tabs li {
    flex-shrink: 0 !important; /* Impede que as abas encolham de tamanho */
    background: none !important;
    border: none !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  .vp-product-tabs-wrapper ul.tabs li a {
    padding: 12px 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important; /* Texto em uma única linha no botão */
  }

  /* Painel de Descrição: Alinhado estritamente à esquerda e 100% dentro da tela */
  .woocommerce div.product .woocommerce-tabs .panel,
  .vp-product-tabs-wrapper .panel {
    padding: 20px 12px !important; /* Margens laterais seguras */
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* Força todos os textos dentro do painel a alinharem à esquerda e quebrarem linha perfeitamente */
  .woocommerce div.product .woocommerce-tabs .panel p,
  .woocommerce div.product .woocommerce-tabs .panel div,
  .woocommerce div.product .woocommerce-tabs .panel span,
  .woocommerce div.product .woocommerce-tabs .panel li,
  .woocommerce div.product .woocommerce-tabs .panel td,
  .woocommerce div.product .woocommerce-tabs .panel th,
  .vp-product-tabs-wrapper .panel p,
  .vp-product-tabs-wrapper .panel div,
  .vp-product-tabs-wrapper .panel span,
  .vp-product-tabs-wrapper .panel li {
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: left !important; /* Alinhamento estrito à esquerda */
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  .woocommerce div.product .woocommerce-tabs .panel h2,
  .vp-product-tabs-wrapper .panel h2 {
    text-align: left !important;
    font-size: 20px !important;
    margin: 15px 0 10px 0 !important;
  }

  .single-product .woocommerce-tabs table,
  .single-product .vp-product-tabs-wrapper table {
  .single-product .entry-content table,
  .single-product .woocommerce-product-details__short-description table {
    display: block !important;
    width: 100% !important;
  }
  .single-product .woocommerce-tabs table tr,
  .single-product .vp-product-tabs-wrapper table tr,
  .single-product .entry-content table tr,
  .single-product .woocommerce-product-details__short-description table tr {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(45, 20, 124, 0.08) !important;
    padding: 8px 0 !important;
  }
  .single-product .woocommerce-tabs table td,
  .single-product .woocommerce-tabs table th,
  .single-product .vp-product-tabs-wrapper table td,
  .single-product .vp-product-tabs-wrapper table th {
    display: block !important;
    width: 100% !important;
    padding: 2px 0 !important;
    border: none !important;
    text-align: left !important;
  }
  
  /* Organiza listas de tamanhos/medidas do produto em lindas e legíveis linhas horizontais */
  .single-product .woocommerce-product-details__short-description ul,
  .single-product .woocommerce-tabs .panel ul,
  .single-product .vp-product-tabs-wrapper .panel ul {
    width: 100% !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    list-style: none !important;
  }
  .single-product .woocommerce-product-details__short-description ul li,
  .single-product .woocommerce-tabs .panel ul li,
  .single-product .vp-product-tabs-wrapper .panel ul li {
    display: block !important;
    width: 100% !important;
    padding: 10px 12px !important;
    margin-bottom: 6px !important;
    background: rgba(45, 20, 124, 0.03) !important;
    border: 1px solid rgba(45, 20, 124, 0.06) !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
  }

  /* 6. COLAPSA O FRETE: Oculta caixa de resultados vazia por padrão */
  .single-product .melhor-envio-calculator-results,
  .single-product .melhor-envio-shipping-rates,
  .single-product .shipping-calculator-results,
  .single-product .melhor-envio-rates {
    display: none !important;
  }
  .single-product .melhor-envio-calculator-results.has-rates,
  .single-product .melhor-envio-shipping-rates.has-rates,
  .single-product .shipping-calculator-results.has-rates,
  .single-product .melhor-envio-rates.has-rates {
    display: block !important;
    animation: vpFadeIn 0.3s ease;
  }
}

/* =========================================================================
   FIX: VARIATION SELECTOR (CORES) — NÃO CORTAR NO MOBILE
   Empilha label + select verticalmente para não ficar cortado
   ========================================================================= */

/* Desktop e Mobile: tabela de variações empilha verticalmente */
.single-product .vp-product-summary-col table.variations {
  width: 100% !important;
  display: block !important;
  border: none !important;
  margin-bottom: 16px !important;
}
.single-product .vp-product-summary-col table.variations tbody {
  display: block !important;
  width: 100% !important;
}
.single-product .vp-product-summary-col table.variations tr {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
  width: 100% !important;
}
.single-product .vp-product-summary-col table.variations td.label {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}
.single-product .vp-product-summary-col table.variations td.label label {
  font-family: 'Fredoka', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #2D147C !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
.single-product .vp-product-summary-col table.variations td.value {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}
.single-product .vp-product-summary-col table.variations td.value select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 12px 16px !important;
  border: 2px solid rgba(45, 20, 124, 0.14) !important;
  border-radius: 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #2D147C !important;
  background: #fff !important;
  appearance: auto !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
.single-product .vp-product-summary-col table.variations td.value select:focus {
  border-color: #A31D64 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(163, 29, 100, 0.15) !important;
}
/* Esconde o link "Limpar" de variação para manter UI limpa */
.single-product .vp-product-summary-col table.variations .reset_variations {
  display: inline-block !important;
  font-size: 12px !important;
  color: #64748B !important;
  margin-top: 8px !important;
}

/* =========================================================================
   FIX: REMOVE "O" SOLTO NA PÁGINA DO PRODUTO
   O WooCommerce gera um texto de disponibilidade (stock) que aparece
   como "O" isolado antes da descrição curta. Escondemos via CSS.
   ========================================================================= */
.single-product .vp-product-summary-col .summary.entry-summary > .woocommerce-product-details__short-description {
  margin-top: 0 !important;
}

/* Esconde qualquer texto de disponibilidade/stock que gere o "O" solto */
.single-product .vp-product-summary-col .summary.entry-summary > .stock,
.single-product .vp-product-summary-col .summary.entry-summary > p.stock,
.single-product .vp-product-summary-col .woocommerce-variation-availability,
.single-product .vp-product-summary-col p.availability,
.single-product .vp-product-summary-col .availability,
.single-product .vp-product-summary-col .stock {
  display: none !important;
  font-size: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --------------------------------------------------------
   FIX: Ocultar galeria injetada incorretamente na aba Descrição
   Plugins de galeria às vezes jogam as fotos no the_content().
-------------------------------------------------------- */
#tab-description .woocommerce-product-gallery,
#tab-description .wpgs-gallery,
#tab-description .woo-variation-gallery-wrapper,
#tab-description .woo-variation-gallery,
#tab-description figure.woocommerce-product-gallery__wrapper {
  display: none !important;
}

/* =========================================================================
   CUSTOM: ETIQUETA DE DESCONTO EM PORCENTAGEM (BADGE) NOS CARDS DO SITE
   ========================================================================= */
.card-discount-badge {
  display: inline-block !important;
  position: absolute !important;
  top: 18px !important;
  left: 12px !important;
  z-index: 20 !important;
  background: linear-gradient(135deg, #E11D48 0%, #BE123C 100%) !important;
  color: #FFF !important;
  font-family: 'Fredoka', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 12px rgba(225, 29, 72, 0.35) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
}

/* Garante position relative nos holders dos cards verticais */
.product-card-v .img-holder {
  position: relative !important;
}


/* =========================================================================
   BADGE PREMIUM VERTICAL — OVERRIDE GLOBAL
   ========================================================================= */
.card-badge {
  position: absolute !important;
  top: 0 !important;
  left: -2px !important;
  right: auto !important;
  background: linear-gradient(160deg, #A31D64 0%, #7B1450 100%) !important;
  color: #FFF !important;
  padding: 28px 7px 10px !important;
  width: 28px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  font-family: 'Fredoka', sans-serif !important;
  z-index: 3 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  transform: rotate(180deg) !important;
  border-radius: 0 0 6px 6px !important;
  box-shadow: 3px 0 12px rgba(163,29,100,0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  line-height: 1 !important;
  border: none !important;
}


/* =========================================================================
   CARDS MOBILE — IDÊNTICOS AO PC (imagem quadrada, layout correto)
   ========================================================================= */
@media (max-width: 991px) {
  /* Grid 2 colunas igual ao PC */
  .products-grid.vp-only-mobile {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Card igual ao PC */
  .products-grid.vp-only-mobile .product-card {
    padding: 12px !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid #F0F0F0 !important;
  }

  /* Imagem QUADRADA — não deitada */
  .products-grid.vp-only-mobile .product-img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    background: #fff !important;
    border-radius: 10px !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(163,29,100,0.2) !important;
    padding: 6px !important;
    box-sizing: border-box !important;
  }

  .products-grid.vp-only-mobile .product-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 8px !important;
  }

  /* Texto */
  .products-grid.vp-only-mobile .product-info h3 {
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
    min-height: unset !important;
    height: auto !important;
    -webkit-line-clamp: 2 !important;
  }

  .products-grid.vp-only-mobile .product-micro-copy {
    font-size: 11px !important;
    margin: 0 0 6px 0 !important;
  }

  .products-grid.vp-only-mobile .product-price {
    font-size: 15px !important;
    margin-bottom: 8px !important;
    margin-top: auto !important;
  }

  .products-grid.vp-only-mobile .add-to-cart {
    padding: 10px !important;
    font-size: 12px !important;
    border-radius: 9999px !important;
    width: 100% !important;
  }
}


/* =========================================================================
   NEGRITO AZUL ESCURO — DESCRIÇÃO PRODUTO (PC + MOBILE)
   Garante que <strong> e <b> ficam azul escuro em toda a página de produto
   Especificidade máxima para sobrescrever qualquer regra anterior
   ========================================================================= */

/* Aba Descrição completa */
.woocommerce.single-product .woocommerce-tabs .panel strong,
.woocommerce.single-product .woocommerce-tabs .panel b,
.woocommerce div.product .woocommerce-tabs .panel > .woocommerce-Tabs-panel--description strong,
.woocommerce div.product .woocommerce-tabs .panel > .woocommerce-Tabs-panel--description b,
body.single-product .vp-product-tabs-wrapper .panel strong,
body.single-product .vp-product-tabs-wrapper .panel b,
body.single-product .woocommerce div.product .woocommerce-tabs .panel strong,
body.single-product .woocommerce div.product .woocommerce-tabs .panel b {
  color: #2D147C !important; /* Azul escuro — destaque chique no negrito */
  font-weight: 700 !important;
  font-size: inherit !important;
  font-family: inherit !important;
}

/* Short description (resumo acima do botão) — negrito azul escuro */
body.single-product .woocommerce-product-details__short-description strong,
body.single-product .woocommerce-product-details__short-description b,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description strong,
.single-product .vp-product-summary-col .woocommerce-product-details__short-description b {
  color: #2D147C !important;
  font-weight: 700 !important;
}

/* =========================================================================
   BOTÃO ADICIONAR AO CARRINHO — PC: MAIS ESPAÇO ABAIXO DO "PAGUE EM 12X"
   Evita que o botão fique colado / bugando acima do parcelamento
   ========================================================================= */
@media (min-width: 768px) {
  .single-product .vp-product-summary-col form.cart {
    margin-top: 80px !important;
    padding-top: 8px !important;
  }
  /* Para produtos com variações (select "Escolha uma opção") */
  .single-product .woocommerce-variation-add-to-cart {
    margin-top: 20px !important;
    padding-top: 8px !important;
  }
  /* Garante espaço suficiente após o texto de parcelamento injetado por plugins */
  .single-product .vp-product-summary-col .summary > *:last-child,
  .single-product .vp-product-summary-col .summary .woocommerce-product-details__short-description {
    margin-bottom: 0 !important;
  }
}
