/*
 * PneusPro 5.0.27 - shared UI refinements
 * Loaded after the selected skin so behavior that must be identical across
 * every skin stays centralized: cart preview and mobile catalog ergonomics.
 */

/* Cart hover: keep the preview above header/navigation layers and guarantee
   readable action labels regardless of each skin's button palette. */
.pneuspro-theme .pp-cart-hover-wrap {
  overflow: visible !important;
  z-index: 3500 !important;
}
.pneuspro-theme .pp-cart-hover-panel {
  overflow: visible !important;
  z-index: 5000 !important;
}
.pneuspro-theme .pp-cart-hover-actions .btn {
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
}
.pneuspro-theme .pp-cart-hover-actions .btn.pp-btn--outline,
.pneuspro-theme .pp-cart-hover-actions .btn.pp-btn--outline:hover,
.pneuspro-theme .pp-cart-hover-actions .btn.pp-btn--outline:focus {
  background: #f1f3f5 !important;
  border: 1px solid #dfe4e8 !important;
  color: #1f2933 !important;
  filter: none !important;
}
.pneuspro-theme .pp-cart-hover-actions .btn.pp-btn:not(.pp-btn--outline),
.pneuspro-theme .pp-cart-hover-actions .btn.pp-btn:not(.pp-btn--outline):hover,
.pneuspro-theme .pp-cart-hover-actions .btn.pp-btn:not(.pp-btn--outline):focus {
  background: var(--pp-button) !important;
  border-color: var(--pp-button) !important;
  color: #fff !important;
}

/* Skin 7 mobile category drawer: base menu colors are intentionally white on
   desktop. The drawer itself is white, therefore force a dark readable text
   color and a visible interaction state on touch/hover/focus. */
@media (max-width: 767px) {
  .pp-skin-70 .pp70-category-drawer,
  .pp-skin-70 .pp70-category-drawer .pp70-category-menu {
    background: #fff !important;
    color: #25272c !important;
  }
  .pp-skin-70 .pp70-category-drawer .pp-main-menu__item > a {
    background: #fff !important;
    color: #25272c !important;
    font-weight: 600 !important;
  }
  .pp-skin-70 .pp70-category-drawer .pp-main-menu__item > a:hover,
  .pp-skin-70 .pp70-category-drawer .pp-main-menu__item > a:focus,
  .pp-skin-70 .pp70-category-drawer .pp-main-menu__item.is-submenu-open > a {
    background: #eef1ff !important;
    color: var(--pp-primary) !important;
  }
  .pp-skin-70 .pp70-category-drawer .pp-submenu-toggle {
    background: transparent !important;
    color: #25272c !important;
  }
  .pp-skin-70 .pp70-category-drawer .pp-submenu-toggle:hover,
  .pp-skin-70 .pp70-category-drawer .pp-submenu-toggle:focus {
    background: #eef1ff !important;
    color: var(--pp-primary) !important;
  }
  .pp-skin-70 .pp70-category-drawer .pp-submenu,
  .pp-skin-70 .pp70-category-drawer .pp-submenu a {
    background: #f7f8fb !important;
    color: #4a4d54 !important;
  }
  .pp-skin-70 .pp70-category-drawer .pp-submenu a:hover,
  .pp-skin-70 .pp70-category-drawer .pp-submenu a:focus {
    background: #e9edff !important;
    color: var(--pp-primary) !important;
  }

  /* Every skin: two balanced cards per row on category pages. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native {
    align-items: stretch !important;
    display: grid !important;
    gap: 8px !important;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native > .product-layout {
    display: flex !important;
    float: none !important;
    height: 100% !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb > div:not(.image) {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 8px 8px 5px !important;
  }

  /* Fixed title footprint prevents one long product name from breaking the
     height rhythm of the two-column row. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb h4 {
    display: -webkit-box !important;
    font-size: 10.5px !important;
    height: 32px !important;
    line-height: 1.5 !important;
    margin: 0 0 6px !important;
    max-height: 32px !important;
    min-height: 32px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb h4 a {
    display: block !important;
    overflow: hidden !important;
  }

  /* Keep the native description compact as well, so prices and actions line
     up even when descriptions have very different lengths. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > p:first-of-type:not(.price) {
    display: -webkit-box !important;
    font-size: 10px !important;
    height: 43px !important;
    line-height: 1.42 !important;
    margin: 0 0 6px !important;
    max-height: 43px !important;
    min-height: 43px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  /* Smaller single-line free-shipping pill on narrow two-column cards. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-shell {
    margin-top: 5px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge {
    align-items: center !important;
    display: flex !important;
    font-size: 8.5px !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-height: 24px !important;
    overflow: hidden !important;
    padding: 4px 2px !important;
    text-align: center !important;
    white-space: nowrap !important;
    width: 100% !important;
  }

  /* Mobile purchase action: Details is intentionally omitted and Comprar
     occupies the whole card width, with icon + text always visible. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-top: auto !important;
    padding: 0 7px 7px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn--outline {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) {
    align-items: center !important;
    display: flex !important;
    font-size: 10.5px !important;
    gap: 6px !important;
    grid-column: 1 !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 5px 6px !important;
    visibility: visible !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) i {
    display: inline-block !important;
    flex: 0 0 auto !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) span {
    display: inline !important;
    margin: 0 !important;
  }
}

@media (max-width: 374px) {
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge {
    font-size: 7.7px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) {
    font-size: 9.5px !important;
  }
}

/* PneusPro 5.0.27 - compact mobile category cards shared by every skin. */
@media (max-width: 767px) {
  /* Category cards: the description is intentionally removed on mobile. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > p:first-of-type:not(.price),
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .description {
    display: none !important;
  }

  /* Keep product names aligned in a fixed two-line footprint. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb h4 {
    display: -webkit-box !important;
    font-size: 10.5px !important;
    height: 31px !important;
    line-height: 1.45 !important;
    margin: 0 0 7px !important;
    max-height: 31px !important;
    min-height: 31px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  /* Mobile price hierarchy: value first, then a single compact PIX label. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price {
    display: block !important;
    font-size: 0 !important;
    line-height: 1 !important;
    margin: auto 0 6px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-box,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-display--listing {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-display--listing > strong {
    display: block !important;
    font-size: 17px !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-pix-line {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    line-height: 1.05 !important;
    margin: 1px 0 0 !important;
    max-width: 100% !important;
    min-height: 11px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    width: auto !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-pix-line > img {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-pix-line .pp-price-copy {
    display: inline !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  /* One-line free-shipping message, with no vertical break inside the badge. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-shell {
    display: block !important;
    margin: 5px 0 6px !important;
    padding: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge {
    align-items: center !important;
    display: flex !important;
    font-size: 8px !important;
    justify-content: center !important;
    letter-spacing: -0.12px !important;
    line-height: 1 !important;
    min-height: 23px !important;
    overflow: hidden !important;
    padding: 4px 2px !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    width: 100% !important;
  }

  /* Enhanced PneusPro action: only one full-width Comprar agora button. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-top: auto !important;
    padding: 0 7px 7px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn--outline {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) {
    align-items: center !important;
    display: flex !important;
    font-size: 0 !important;
    gap: 6px !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 6px 7px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) i {
    display: inline-block !important;
    flex: 0 0 auto !important;
    font-size: 11px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) span {
    display: inline-block !important;
    font-size: 0 !important;
    line-height: 1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-catalog-actions > .pp-btn:not(.pp-btn--outline) span::after {
    content: "Comprar agora" !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  /* Native OpenCart fallback: some installations keep the original button-group.
     Give it the same full-width behavior and make the hidden Bootstrap label visible. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-top: auto !important;
    padding: 0 7px 7px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > button:nth-child(n+2),
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > a:nth-child(n+2) {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > button:first-child,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > a:first-child {
    align-items: center !important;
    display: flex !important;
    font-size: 0 !important;
    gap: 6px !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 6px 7px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > button:first-child i,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > a:first-child i {
    display: inline-block !important;
    font-size: 11px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > button:first-child span,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > a:first-child span {
    display: inline-block !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > button:first-child span::after,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .button-group > a:first-child span::after {
    content: "Comprar agora" !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }
}

@media (max-width: 374px) {
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-display--listing > strong {
    font-size: 16px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-price-pix-line .pp-price-copy {
    font-size: 8.5px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge {
    font-size: 7.5px !important;
    letter-spacing: -0.18px !important;
  }
}


/* ========================================================================== */
/* PneusPro 5.0.27 - definitive mobile category-card contract (ALL SKINS)     */
/* Sequence: image > title > price > "à vista no PIX" > freight > buy button */
/* ========================================================================== */
.pneuspro-theme #product-category .pp-mobile-catalog-action {
  display: none;
}

@media (max-width: 767px) {
  /* Keep exactly two balanced cards per row, independent of the selected skin. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native {
    align-items: stretch !important;
    display: grid !important;
    gap: 8px !important;
    grid-auto-rows: 1fr !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native > .product-layout {
    display: flex !important;
    float: none !important;
    height: 100% !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  /* Compact image area so content and CTA remain visible without creating
     excessively tall mobile cards. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb > .image,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .image {
    aspect-ratio: 1 / 1 !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 6px !important;
    width: 100% !important;
  }

  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 7px 8px 5px !important;
    width: 100% !important;
  }

  /* The mobile category caption intentionally contains only the requested
     commercial information. Any native description/stock/installment/rating
     block is removed from the mobile composition. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > * {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > h4,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > .price,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > .pp-free-shipping-shell,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > .pp-free-shipping-badge {
    display: block !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-mobile-catalog-description,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .description {
    display: none !important;
  }

  /* Title: exactly two lines maximum to keep both columns vertically aligned. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > h4 {
    display: -webkit-box !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    height: 29px !important;
    line-height: 1.42 !important;
    margin: 0 0 7px !important;
    max-height: 29px !important;
    min-height: 29px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > h4 a {
    display: block !important;
    overflow: hidden !important;
  }

  /* Price first; PIX copy strictly below it. No old price/saving badge in this
     compact mobile grid. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > .price {
    font-size: 0 !important;
    line-height: 1 !important;
    margin: auto 0 6px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-old,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-saving-badge {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-box,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-display,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-display--listing {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-display--listing > strong,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-display > strong {
    display: block !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: -0.25px !important;
    line-height: 1.05 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-pix-line {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    line-height: 1 !important;
    margin: 2px 0 0 !important;
    max-width: 100% !important;
    min-height: 10px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-pix-line > img {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-pix-line .pp-price-copy {
    display: inline !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  /* Freight label: one line, full width, compact enough for a two-column card. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .caption > .pp-free-shipping-shell,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge {
    align-items: center !important;
    display: flex !important;
    font-size: 8.2px !important;
    font-weight: 700 !important;
    justify-content: center !important;
    letter-spacing: -0.12px !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 26px !important;
    overflow: hidden !important;
    padding: 5px 2px !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge * {
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
  }

  /* Hide every native/desktop action variation. A dedicated mobile CTA below
     is deliberately used so no skin can collapse it back to a cart icon. */
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb.pp-mobile-contract-ready .pp-catalog-actions,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb.pp-mobile-contract-ready .button-group {
    display: none !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-mobile-catalog-action {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 8px 8px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-mobile-buy-now,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-mobile-buy-now:hover,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-mobile-buy-now:focus {
    align-items: center !important;
    background: var(--pp-button) !important;
    border: 1px solid var(--pp-button) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-height: 32px !important;
    opacity: 1 !important;
    overflow: hidden !important;
    padding: 6px 4px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    width: 100% !important;
  }
}

@media (max-width: 374px) {
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-display--listing > strong,
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-display > strong {
    font-size: 15px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .price .pp-price-pix-line .pp-price-copy {
    font-size: 8.4px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-free-shipping-badge {
    font-size: 7.6px !important;
    letter-spacing: -0.18px !important;
  }
  body.pneuspro-theme #product-category .pp-catalog-grid-native .product-thumb .pp-mobile-buy-now {
    font-size: 9px !important;
  }
}

/* ========================================================================== */
/* PneusPro 5.0.27 - hard mobile category fallback (ALL SKINS)                */
/* This block intentionally does not depend on .pp-catalog-grid-native.       */
/* ========================================================================== */
@media (max-width: 767px) {
  body.pneuspro-theme #product-category .product-thumb .caption > .description,
  body.pneuspro-theme #product-category .product-thumb .caption > .pp-mobile-catalog-description,
  body.pneuspro-theme #product-category .product-thumb .caption > p:not(.price):not(.pp-free-shipping-shell):not(.pp-free-shipping-badge) {
    display: none !important;
  }

  body.pneuspro-theme #product-category .product-thumb.pp-mobile-contract-ready .pp-catalog-actions,
  body.pneuspro-theme #product-category .product-thumb.pp-mobile-contract-ready .button-group {
    display: none !important;
  }

  body.pneuspro-theme #product-category .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme #product-search .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme #product-special .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme #product-manufacturer .product-thumb > .pp-mobile-catalog-action {
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 8px 8px !important;
    width: 100% !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.pneuspro-theme #product-category .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
  body.pneuspro-theme #product-category .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:hover,
  body.pneuspro-theme #product-category .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:focus,
  body.pneuspro-theme #product-search .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
  body.pneuspro-theme #product-search .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:hover,
  body.pneuspro-theme #product-search .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:focus,
  body.pneuspro-theme #product-special .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
  body.pneuspro-theme #product-special .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:hover,
  body.pneuspro-theme #product-special .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:focus,
  body.pneuspro-theme #product-manufacturer .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
  body.pneuspro-theme #product-manufacturer .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:hover,
  body.pneuspro-theme #product-manufacturer .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now:focus {
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: var(--pp-button) !important;
    border: 1px solid var(--pp-button) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    color: #fff !important;
    display: flex !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 32px !important;
    opacity: 1 !important;
    padding: 7px 4px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    width: 100% !important;
  }

  body.pneuspro-theme #product-category .product-thumb .pp-free-shipping-badge,
  body.pneuspro-theme #product-category .product-thumb .pp-free-shipping-badge * {
    font-size: 8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}


/* ========================================================================== */
/* PneusPro 5.0.27 - fixed soft-pulse free-shipping badge (ALL SKINS)             */
/* ========================================================================== */
body.pneuspro-theme .pp-free-shipping-shell {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.pneuspro-theme .pp-free-shipping-badge {
  background: linear-gradient(90deg, #14833b 0%, #20a653 100%) !important;
  border: 0 !important;
  border-radius: 7px !important;
  box-shadow: 0 3px 10px rgba(20, 131, 59, .22);
  color: #fff !important;
  position: relative !important;
  transform-origin: 50% 50% !important;
  will-change: transform, box-shadow !important;
  animation: pp-free-shipping-pulse-soft 2.8s ease-in-out infinite !important;
}
body.pneuspro-theme .pp-free-shipping-badge * {
  color: #fff !important;
}

@keyframes pp-free-shipping-pulse-soft {
  0%, 100% { transform: scale(1); box-shadow: 0 3px 10px rgba(20, 131, 59, .18); }
  50% { transform: scale(1.018); box-shadow: 0 5px 16px rgba(20, 131, 59, .30); }
}

@media (prefers-reduced-motion: reduce) {
  body.pneuspro-theme .pp-free-shipping-badge {
    animation: none !important;
    transform: none !important;
  }
}

/* Mobile price safety: if a third-party category template temporarily leaves
   the native .price un-normalized, never hide the raw price with font-size:0. */
@media (max-width: 767px) {
  body.pneuspro-theme #product-category .product-thumb .caption > .price:not(.pp-price-normalized) {
    color: var(--pp-price-color) !important;
    display: block !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    margin: auto 0 6px !important;
    white-space: nowrap !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .product-thumb .caption > .price.pp-price-normalized {
    display: block !important;
  }
}


/* Desktop safeguard: hide the MOBILE CTA text/button visually, but keep a
   reserved slot so product-card heights remain stable and rows do not break. */
body.pneuspro-theme #product-category .product-thumb > .pp-mobile-catalog-action,
body.pneuspro-theme #product-search .product-thumb > .pp-mobile-catalog-action,
body.pneuspro-theme #product-special .product-thumb > .pp-mobile-catalog-action,
body.pneuspro-theme #product-manufacturer .product-thumb > .pp-mobile-catalog-action {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 8px 8px !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.pneuspro-theme #product-category .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
body.pneuspro-theme #product-search .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
body.pneuspro-theme #product-special .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now,
body.pneuspro-theme #product-manufacturer .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now {
  display: flex !important;
  min-height: 34px !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ========================================================================== */
/* PneusPro 5.0.27 - fail-safe mobile catalog CTA (ALL SKINS)                */
/* If any third-party OCMOD changes the card markup, never leave the shopper */
/* without a buy action. The native/enhanced action stays usable until the   */
/* dedicated .pp-mobile-catalog-action has been successfully created.        */
/* ========================================================================== */
@media (max-width: 767px) {
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .pp-catalog-actions {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 8px 8px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .pp-catalog-actions .pp-btn--outline {
    display: none !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .pp-catalog-actions .pp-btn:not(.pp-btn--outline) {
    align-items: center !important;
    background: var(--pp-button) !important;
    border: 1px solid var(--pp-button) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #fff !important;
    display: flex !important;
    font-size: 0 !important;
    font-weight: 700 !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 32px !important;
    padding: 7px 4px !important;
    text-align: center !important;
    text-decoration: none !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .pp-catalog-actions .pp-btn:not(.pp-btn--outline) > * {
    display: none !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .pp-catalog-actions .pp-btn:not(.pp-btn--outline)::after {
    content: 'Comprar agora' !important;
    display: inline !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 8px 8px !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > button:first-child,
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > a:first-child {
    align-items: center !important;
    background: var(--pp-button) !important;
    border: 1px solid var(--pp-button) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #fff !important;
    display: flex !important;
    font-size: 0 !important;
    font-weight: 700 !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 32px !important;
    padding: 7px 4px !important;
    text-align: center !important;
    text-decoration: none !important;
    width: 100% !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > button:first-child > *,
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > a:first-child > * {
    display: none !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > button:first-child::after,
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > a:first-child::after {
    content: 'Comprar agora' !important;
    display: inline !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > button:not(:first-child),
  body.pneuspro-theme #product-category .product-thumb:not(.pp-mobile-contract-ready) .button-group > a:not(:first-child) {
    display: none !important;
  }
}

/* ========================================================================== */
/* PneusPro 5.0.27 - Skin 4.5: free-shipping badge aligned with newer skins   */
/* ========================================================================== */
body.pneuspro-theme.pp-skin-45 .pp-free-shipping-shell {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  display: block !important;
  gap: 0 !important;
  line-height: normal !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.pneuspro-theme.pp-skin-45 .pp-free-shipping-badge {
  align-items: center !important;
  animation: pp-free-shipping-pulse-soft 2.8s ease-in-out infinite !important;
  background: linear-gradient(90deg, #14833b 0%, #20a653 100%) !important;
  border: 0 !important;
  border-radius: 7px !important;
  box-shadow: 0 3px 10px rgba(20, 131, 59, .22) !important;
  box-sizing: border-box !important;
  color: #fff !important;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  min-height: 30px !important;
  overflow: hidden !important;
  padding: 7px 12px !important;
  text-align: center !important;
  text-overflow: clip !important;
  transform-origin: center !important;
  white-space: nowrap !important;
  width: 100% !important;
}

body.pneuspro-theme.pp-skin-45 .pp-free-shipping-badge,
body.pneuspro-theme.pp-skin-45 .pp-free-shipping-badge * {
  color: #fff !important;
}

@media (max-width: 767px) {
  body.pneuspro-theme.pp-skin-45 #product-category .product-thumb .pp-free-shipping-shell {
    margin: 0 0 6px !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.pneuspro-theme.pp-skin-45 #product-category .product-thumb .pp-free-shipping-badge {
    display: flex !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: -0.12px !important;
    line-height: 1 !important;
    min-height: 26px !important;
    padding: 5px 2px !important;
    white-space: nowrap !important;
    width: 100% !important;
  }
}

@media (max-width: 374px) {
  body.pneuspro-theme.pp-skin-45 #product-category .product-thumb .pp-free-shipping-badge {
    font-size: 7.6px !important;
    letter-spacing: -0.18px !important;
  }
}

/* ---------- PneusPro 5.0.33: comentarios/avaliacoes nativos do OpenCart ---------- */
.pneuspro-theme .pp-product-review-summary {
  align-items: center;
  color: var(--pp-text);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 8px;
  margin: -8px 0 16px;
}

.pneuspro-theme .pp-product-review-summary a {
  color: var(--pp-primary);
  font-weight: 600;
  text-decoration: none;
}

.pneuspro-theme .pp-product-review-summary a:hover,
.pneuspro-theme .pp-product-review-summary a:focus {
  color: var(--pp-button);
  text-decoration: underline;
}

.pneuspro-theme .pp-review-stars,
.pneuspro-theme .pp-review-item__stars {
  color: var(--pp-accent);
  display: inline-flex;
  gap: 2px;
}

.pneuspro-theme .pp-product-tabs .nav-tabs a[href="#tab-review"] {
  display: block !important;
}

.pneuspro-theme .pp-product-tabs .nav-tabs li:has(a[href="#tab-review"]) {
  display: block !important;
}

.pneuspro-theme .pp-review-tab {
  color: var(--pp-text);
}

.pneuspro-theme .pp-review-list {
  min-height: 54px;
}

.pneuspro-theme .pp-review-loading,
.pneuspro-theme .pp-review-empty {
  color: #6f7c84;
  margin: 0;
  padding: 18px 0;
}

.pneuspro-theme .pp-review-items {
  display: grid;
  gap: 12px;
}

.pneuspro-theme .pp-review-item {
  background: #fff;
  border: 1px solid rgba(23, 36, 45, .12);
  border-radius: 7px;
  padding: 16px;
}

.pneuspro-theme .pp-review-item__header {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 8px;
}

.pneuspro-theme .pp-review-item__header strong {
  color: var(--pp-text);
  font-family: var(--pp-heading-font);
}

.pneuspro-theme .pp-review-item__header time {
  color: #6f7c84;
  font-size: 12px;
}

.pneuspro-theme .pp-review-item__text {
  color: var(--pp-text);
  line-height: 1.65;
  margin-top: 10px;
  overflow-wrap: anywhere;
}

.pneuspro-theme .pp-review-pagination {
  align-items: center;
  margin-top: 14px;
}

.pneuspro-theme .pp-review-write {
  border-top: 1px solid rgba(23, 36, 45, .12);
  margin-top: 24px;
  padding-top: 22px;
}

.pneuspro-theme .pp-review-write h2 {
  color: var(--pp-text);
  font-family: var(--pp-heading-font);
  font-size: 22px;
  margin: 0 0 18px;
}

.pneuspro-theme .pp-review-form .form-group {
  margin-left: 0;
  margin-right: 0;
}

.pneuspro-theme .pp-review-form .control-label {
  color: var(--pp-text);
  display: block;
  font-weight: 700;
  margin-bottom: 7px;
  text-align: left;
}

.pneuspro-theme .pp-review-form .form-control {
  border-color: rgba(23, 36, 45, .18);
  border-radius: 5px;
  box-shadow: none;
}

.pneuspro-theme .pp-review-form .form-control:focus {
  border-color: var(--pp-primary);
  box-shadow: 0 0 0 2px rgba(23, 36, 45, .08);
}

.pneuspro-theme .pp-review-rating-options {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.pneuspro-theme .pp-review-rating-options label {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(23, 36, 45, .16);
  border-radius: 5px;
  cursor: pointer;
  display: inline-flex;
  gap: 5px;
  margin: 0;
  padding: 6px 8px;
}

.pneuspro-theme .pp-review-rating-options input {
  margin: 0;
}

.pneuspro-theme .pp-review-login {
  background: rgba(23, 36, 45, .04);
  border-radius: 6px;
  padding: 14px;
}

.pneuspro-theme #tab-review .alert {
  margin-top: 14px;
}

/* Tambem normaliza o HTML nativo caso algum OCMOD force o template padrao. */
.pneuspro-theme #product-product .rating .fa-star,
.pneuspro-theme #product-product #tab-review .fa-star {
  color: var(--pp-accent);
}

.pneuspro-theme #product-product .rating .fa-star-o,
.pneuspro-theme #product-product #tab-review .fa-star-o {
  color: #c7d0d5;
}

@media (max-width: 767px) {
  .pneuspro-theme .pp-product-review-summary {
    font-size: 12px;
    gap: 6px;
    margin-top: -4px;
  }

  .pneuspro-theme .pp-product-tabs .nav-tabs {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
  }

  .pneuspro-theme .pp-product-tabs .nav-tabs > li {
    float: none;
    flex: 0 0 auto;
  }

  .pneuspro-theme .pp-review-item__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .pneuspro-theme .pp-review-rating-options {
    gap: 5px;
  }

  .pneuspro-theme .pp-review-rating-options label {
    padding: 5px 7px;
  }

  .pneuspro-theme .pp-review-write .buttons .pull-right {
    float: none !important;
    width: 100%;
  }

  .pneuspro-theme .pp-review-write #button-review {
    width: 100%;
  }
}


/* ========================================================================== */
/* PneusPro 6.0.10 - FINAL desktop catalog grid stability (Skin 9 / pp-skin-90)
   Bootstrap's floated .col-* cards can "snag" underneath a shorter card when
   product contents have different heights. Use CSS Grid on desktop/tablet so
   every new visual row starts cleanly, independently of card content height. */
/* ========================================================================== */
@media (min-width: 768px) {
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native {
    align-items: stretch !important;
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    row-gap: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native > .product-layout {
    display: flex !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native > .product-layout.product-list {
    grid-column: 1 / -1 !important;
  }

  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native > .product-layout > .product-thumb {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin-bottom: 0 !important;
  }

  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native .product-thumb > div:not(.image) {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }

  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native .product-thumb .caption {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }

  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native .product-thumb .pp-catalog-actions,
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native .product-thumb .button-group {
    margin-top: auto !important;
  }

  /* Now that Grid owns row geometry, the mobile-only CTA can truly disappear
     on desktop without reintroducing the Bootstrap float break. */
  body.pneuspro-theme.pp-skin-90 #product-category .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme.pp-skin-90 #product-category .product-thumb > .pp-mobile-catalog-action > .pp-mobile-buy-now {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

@media (min-width: 992px) {
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}


/* ========================================================================== */
/* PneusPro 6.0.11 - GRID DEFINITIVO: todas as rows do catalogo, sem float    */
/* ========================================================================== */
@media (min-width: 768px) {
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-search .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-special .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-manufacturer .row.pp-catalog-grid-native {
    align-items: stretch !important;
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    row-gap: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* Bootstrap .row cria ::before/::after; em CSS Grid eles viram celulas
     invisiveis e deslocam cards. Removemos explicitamente. */
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native::before,
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native::after,
  body.pneuspro-theme.pp-skin-90 #product-search .row.pp-catalog-grid-native::before,
  body.pneuspro-theme.pp-skin-90 #product-search .row.pp-catalog-grid-native::after,
  body.pneuspro-theme.pp-skin-90 #product-special .row.pp-catalog-grid-native::before,
  body.pneuspro-theme.pp-skin-90 #product-special .row.pp-catalog-grid-native::after,
  body.pneuspro-theme.pp-skin-90 #product-manufacturer .row.pp-catalog-grid-native::before,
  body.pneuspro-theme.pp-skin-90 #product-manufacturer .row.pp-catalog-grid-native::after {
    content: none !important;
    display: none !important;
  }

  /* Clearfix real no DOM tambem nao pode ocupar uma celula. */
  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native > .clearfix,
  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native > .pp-grid-clearfix-ignored {
    display: none !important;
  }

  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native > .product-layout {
    clear: none !important;
    display: flex !important;
    float: none !important;
    height: 100% !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: auto !important;
  }

  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native > .product-layout > .product-thumb {
    align-self: stretch !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    height: 100% !important;
    margin: 0 !important;
    min-height: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb > div:not(.image) {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb .caption {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb .pp-catalog-actions,
  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb .button-group {
    flex: 0 0 auto !important;
    margin-top: auto !important;
  }

  /* O CTA 'Comprar agora' e exclusivamente mobile; nao serve mais de calco. */
  body.pneuspro-theme.pp-skin-90 #product-category .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme.pp-skin-90 #product-search .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme.pp-skin-90 #product-special .product-thumb > .pp-mobile-catalog-action,
  body.pneuspro-theme.pp-skin-90 #product-manufacturer .product-thumb > .pp-mobile-catalog-action {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-search .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-special .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-manufacturer .row.pp-catalog-grid-native {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  body.pneuspro-theme.pp-skin-90 #product-category .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-search .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-special .row.pp-catalog-grid-native,
  body.pneuspro-theme.pp-skin-90 #product-manufacturer .row.pp-catalog-grid-native {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}


/* PneusPro 6.1.3 - listagens sem descricao + isolamento definitivo das tabs */
body.pneuspro-theme #product-category .product-thumb .caption > p:first-of-type:not(.price),
body.pneuspro-theme #product-search .product-thumb .caption > p:first-of-type:not(.price),
body.pneuspro-theme #product-special .product-thumb .caption > p:first-of-type:not(.price),
body.pneuspro-theme #product-manufacturer .product-thumb .caption > p:first-of-type:not(.price),
body.pneuspro-theme #product-manufacturer-info .product-thumb .caption > p:first-of-type:not(.price),
body.pneuspro-theme .pp-home-products .product-thumb .caption > p:first-of-type:not(.price),
body.pneuspro-theme #product-category .product-thumb .description,
body.pneuspro-theme #product-search .product-thumb .description,
body.pneuspro-theme #product-special .product-thumb .description,
body.pneuspro-theme #product-manufacturer .product-thumb .description,
body.pneuspro-theme #product-manufacturer-info .product-thumb .description,
body.pneuspro-theme .pp-home-products .product-thumb .description {
  display: none !important;
}

body.pneuspro-theme #product-product .pp-product-tabs .tab-content > .tab-pane {
  display: none !important;
  max-width: 100% !important;
  overflow-x: auto !important;
}
body.pneuspro-theme #product-product .pp-product-tabs .tab-content > .tab-pane.active {
  display: block !important;
}
body.pneuspro-theme #product-product .pp-product-tabs .pp-product-tab-copy {
  display: block !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}


/* PneusPro 6.1.7 - regra FINAL, no ultimo CSS carregado: marca sempre a esquerda */
body.pneuspro-theme .product-thumb > .pp-brand-logo-row,
body.pneuspro-theme .row.pp-catalog-grid-native .product-thumb > .pp-brand-logo-row,
body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb > .pp-brand-logo-row,
body.pneuspro-theme #product-category .product-thumb > .pp-brand-logo-row,
body.pneuspro-theme #product-search .product-thumb > .pp-brand-logo-row,
body.pneuspro-theme #product-manufacturer-info .product-thumb > .pp-brand-logo-row,
body.pneuspro-theme #product-special .product-thumb > .pp-brand-logo-row {
  align-items:center!important;
  align-self:stretch!important;
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  margin:0!important;
  min-height:38px!important;
  min-width:0!important;
  padding:4px 14px 3px!important;
  text-align:left!important;
  width:100%!important;
}
body.pneuspro-theme .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge,
body.pneuspro-theme .row.pp-catalog-grid-native .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge,
body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge,
body.pneuspro-theme #product-category .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge,
body.pneuspro-theme #product-search .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge,
body.pneuspro-theme #product-manufacturer-info .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge,
body.pneuspro-theme #product-special .product-thumb > .pp-brand-logo-row > .pp-brand-logo-badge {
  align-self:flex-start!important;
  display:block!important;
  float:none!important;
  margin:0 auto 0 0!important;
  position:static!important;
  text-align:left!important;
}
@media(max-width:767px){
  body.pneuspro-theme .product-thumb > .pp-brand-logo-row,
  body.pneuspro-theme .row.pp-catalog-grid-native .product-thumb > .pp-brand-logo-row,
  body.pneuspro-theme.pp-skin-90 .row.pp-catalog-grid-native .product-thumb > .pp-brand-logo-row{
    min-height:32px!important;
    padding:3px 10px 2px!important;
  }
}


/* PneusPro 6.1.7 - logomarca oficial sobre a imagem principal da PDP */
.pp-product-gallery__main{position:relative!important;}
.pp-product-gallery__brand-badge{position:absolute!important;left:16px!important;bottom:16px!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:72px!important;min-height:34px!important;max-width:118px!important;max-height:52px!important;padding:6px 10px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(21,33,39,.12)!important;border-radius:9px!important;box-shadow:0 5px 18px rgba(15,23,42,.10)!important;box-sizing:border-box!important;pointer-events:none!important;}
.pp-product-gallery__brand-badge img{display:block!important;width:auto!important;height:auto!important;max-width:96px!important;max-height:38px!important;object-fit:contain!important;margin:0!important;padding:0!important;}
@media(max-width:767px){.pp-product-gallery__brand-badge{left:12px!important;bottom:14px!important;min-width:64px!important;min-height:30px!important;max-width:102px!important;max-height:46px!important;padding:5px 8px!important;border-radius:8px!important}.pp-product-gallery__brand-badge img{max-width:82px!important;max-height:32px!important}}

/* PneusPro 6.1.8 - auditoria cumulativa / anti-regressao */
body.pneuspro-theme .pp-brand-logo-row{justify-content:flex-start!important;text-align:left!important;width:100%!important}
body.pneuspro-theme .pp-brand-logo-row .pp-brand-logo-badge{display:block!important;float:none!important;margin-left:0!important;margin-right:auto!important;position:static!important}
body.pneuspro-theme #product-category .description,
body.pneuspro-theme #product-search .description,
body.pneuspro-theme #product-special .description,
body.pneuspro-theme #product-manufacturer-info .description,
body.pneuspro-theme .product-thumb .caption>p:not(.price):not(.pp-price-box){display:none!important}
body.pneuspro-theme #product-product .pp-product-tabs .tab-content{display:block!important;overflow:hidden!important;position:relative!important;width:100%!important}
body.pneuspro-theme #product-product .pp-product-tabs .tab-content>.tab-pane:not(.active){display:none!important}
body.pneuspro-theme #product-product .pp-product-tabs .tab-content>.tab-pane.active{display:block!important;max-width:100%!important}


/* 6.1.15 - grid real das imagens adicionais, abaixo da imagem principal. */
.pp-product-gallery__thumbs{display:grid!important;grid-template-columns:repeat(auto-fill,76px)!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important;overflow:visible!important;scroll-snap-type:none!important}
@media(max-width:767px){.pp-product-gallery__thumbs{grid-template-columns:repeat(auto-fill,66px)!important;gap:8px!important}}


/* PneusPro 6.1.16 - conta sempre acima da navegacao principal. */
.pp-account__menu{z-index:6200!important}
.pp-account,.pp90-account,.pp90-actions{overflow:visible!important}
.pp-skin-90 .pp90-header,.pp-skin-90 .pp90-header__inner{overflow:visible!important;position:relative!important}
.pp-skin-90 .pp90-header{z-index:1201!important}
.pp-skin-90 .pp90-account{position:relative!important;z-index:6201!important}
.pp-skin-90 .pp90-account.open .pp-account__menu,.pp-skin-90 .pp90-account .pp-account__menu{z-index:6202!important}


/* PneusPro 6.1.16 - fallback global do dialogo Pagar.me seguro. */
.pp-pagarme-safe-overlay{position:fixed!important;inset:0!important;z-index:2147483500!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(0,0,0,.55)!important;pointer-events:auto!important}
.pp-pagarme-safe-dialog{position:relative!important;z-index:2147483501!important;width:min(640px,100%)!important;max-height:calc(100vh - 36px)!important;overflow:auto!important;background:#fff!important;border-radius:10px!important;box-shadow:0 24px 70px rgba(0,0,0,.35)!important;color:#222!important;pointer-events:auto!important}
.pp-pagarme-safe-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:18px 20px!important;border-bottom:1px solid #e6e6e6!important}.pp-pagarme-safe-head strong{font-size:20px!important;line-height:1.2!important;color:#1d1d1d!important}.pp-pagarme-safe-x{appearance:none!important;border:0!important;background:transparent!important;color:#666!important;font-size:28px!important;line-height:1!important;padding:0 4px!important;cursor:pointer!important;pointer-events:auto!important}.pp-pagarme-safe-body{padding:22px 20px!important;font-size:16px!important;line-height:1.5!important;color:#333!important}.pp-pagarme-safe-body img{max-width:100%!important;height:auto!important}.pp-pagarme-safe-actions{display:flex!important;justify-content:flex-end!important;padding:0 20px 20px!important}.pp-pagarme-safe-close{border:0!important;border-radius:5px!important;background:#ff6500!important;color:#fff!important;font-weight:800!important;padding:11px 20px!important;cursor:pointer!important;pointer-events:auto!important}
@media(max-width:767px){.pp-pagarme-safe-overlay{align-items:flex-start!important;padding:14px!important;padding-top:max(14px,env(safe-area-inset-top))!important}.pp-pagarme-safe-dialog{margin-top:6vh!important}.pp-pagarme-safe-head{padding:15px 16px!important}.pp-pagarme-safe-head strong{font-size:18px!important}.pp-pagarme-safe-body{padding:18px 16px!important;font-size:15px!important}.pp-pagarme-safe-actions{padding:0 16px 16px!important}.pp-pagarme-safe-close{width:100%!important}}
