/*
 * 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 {
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 8px 8px !important;
    width: 100% !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 {
    align-items: center !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;
  }
}


/* ========================================================================== */
/* 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;
  }
}
