/**
 * carrinho.html — desktop (≥992px) + utilitário .fe-desktop-only (igual forma-entrega-desktop.css).
 * Não usar (max-width: 991px) aqui; mobile permanece em cart-mobile.css.
 */

.fe-desktop-only {
  display: none !important;
}

#seguro-desktop-chrome {
  display: none !important;
}

.seguro-desktop-skip-link,
.teste-skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.seguro-desktop-skip-link:focus,
.teste-skip-link:focus {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 10000;
  width: auto;
  height: auto;
  padding: 10px 16px;
  background: #3483fa;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
}

@media only screen and (min-width: 992px) {
  #seguro-desktop-chrome {
    display: block !important;
  }

  /*
   * navigation-desktop.css (ML): html,body{height:100%} + [role=main]{height:100%}.
   * O main fica “preso” à altura da viewport; o miolo vaza (overflow visible) e o rodapé,
   * que vem depois do main no DOM, aparece no meio da área de “Recomendado para você”.
   */
  html:has(body.cart-page) {
    height: auto !important;
  }

  body.cart-page[data-site='ML'][data-country='BR'] {
    background: #ededed !important;
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
  }

  /* Header PDP do checkout mobile: substituído pelo #seguro-desktop-chrome nesta largura */
  body.cart-page > header.pdp-ml-header.nav-header {
    display: none !important;
  }

  /*
   * mobile.css força .nav-header / .nav-bounds-with-cart a max-width:414px e height:65px
   * (checkout Pix). O mesmo seletor atinge o header ML dentro de #seguro-desktop-chrome —
   * faixa amarela fica “ilha” no meio e o badge quebra. Reset alinhado a checkout-pix-desktop.css.
   */
  body.cart-page #seguro-desktop-chrome {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.cart-page #seguro-desktop-chrome > header.nav-header.nav-header-plus.ui-navigation-v2.teste-header-offline {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: 95px !important;
    background: #ffe600 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.18) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
    zoom: 1.04 !important;
    overflow: visible !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: geometricPrecision !important;
  }

  /*
   * seguro-header-desktop.css deixa .teste-header-bounds em flex row (uma linha).
   * Carrinho usa duas linhas (teste-header-row-top + bottom); sem reset elas ficam lado a lado.
   * mobile.css força .nav-bounds-with-cart a height:65px / max-width:414px — precisa !important aqui.
   */
  body.cart-page #seguro-desktop-chrome .teste-header-bounds.nav-bounds.nav-bounds-with-cart {
    display: block !important;
    max-width: 1184px !important;
    margin: 0 auto !important;
    padding: 9px 24px 4px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: translateY(1px) !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-top {
    display: grid !important;
    grid-template-columns: auto 588px auto !important;
    align-items: center !important;
    column-gap: 16px !important;
    min-height: 49px !important;
    overflow: visible !important;
    transform: translateY(-9px) !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-logo {
    margin: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-logo .nav-logo.nav-logo-custom,
  body.cart-page #seguro-desktop-chrome .teste-header-logo .nav-logo-custom {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 134px !important;
    height: auto !important;
    min-height: 34px !important;
    overflow: visible !important;
    text-decoration: none !important;
    transform: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-logo img {
    display: block !important;
    width: 134px !important;
    height: 34px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    /* translateY(3px) empurrava a logo e cortava o oval na base */
    transform: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-search-wrap {
    min-width: 588px !important;
    display: flex !important;
    flex: 0 0 588px !important;
    justify-content: flex-start !important;
    transform: translateY(-1px) scale(0.97) !important;
    transform-origin: left center !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-search-facade {
    width: 588px !important;
    min-width: 588px !important;
    max-width: 588px !important;
    flex: 0 0 588px !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-search-facade-shell {
    display: flex !important;
    align-items: center !important;
    width: 588px !important;
    min-width: 588px !important;
    max-width: 588px !important;
    flex: 0 0 588px !important;
    height: 40px !important;
    padding: 0 12px 0 16px !important;
    background: #fff !important;
    border-radius: 2px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-search-facade-placeholder {
    flex: 1 !important;
    font-size: 16px !important;
    color: rgba(0, 0, 0, 0.5) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    user-select: none !important;
    pointer-events: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-search-facade-divider {
    width: 1px !important;
    height: 26px !important;
    margin: 0 10px 0 12px !important;
    background: #e6e6e6 !important;
    flex-shrink: 0 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-search-facade-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin-right: -8px !important;
    color: rgba(0, 0, 0, 0.45) !important;
    flex-shrink: 0 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-exhibitor-wrap {
    flex-shrink: 0 !important;
    transform: translate(60px, 6.5px) scale(0.94) !important;
    transform-origin: left center !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-exhibitor-pill-link {
    display: inline-flex !important;
    text-decoration: none !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cart-page #seguro-desktop-chrome #testeHeaderBadgeImg,
  body.cart-page #seguro-desktop-chrome .teste-exhibitor-pill-link img {
    display: block !important;
    width: 340px !important;
    max-width: 100% !important;
    height: 48px !important;
    object-fit: contain !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-bottom {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 20px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 28px !important;
    transform: translateY(-12px) !important;
  }

  /* Reset duro: navigation-desktop.css/mobile.css podem mexer em nav/ul/li dentro do header */
  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-bottom nav,
  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-bottom ul,
  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-bottom li {
    position: static !important;
    float: none !important;
    clear: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-bottom ul {
    list-style: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-cp {
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: rgba(0, 0, 0, 0.55) !important;
    line-height: 1.25 !important;
    max-width: 200px !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-cp-pin {
    display: flex !important;
    color: rgba(0, 0, 0, 0.5) !important;
    margin-top: 1px !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-cp-pin svg {
    transform: scale(1.7) !important;
    transform-origin: center !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-cp-pin svg path,
  body.cart-page #seguro-desktop-chrome .teste-header-cp-pin svg circle {
    stroke-width: 0.9 !important;
    vector-effect: non-scaling-stroke !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-cp-text {
    display: flex !important;
    flex-direction: column !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-cp-send { font-size: 12px !important; }
  body.cart-page #seguro-desktop-chrome .teste-header-cp-cep {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(0, 0, 0, 0.65) !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-main {
    min-width: 0 !important;
    width: 100% !important;
    margin-left: -12px !important;
    overflow: visible !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 18px !important;
    justify-content: flex-start !important;
    transform: translate(27px, 3px) !important;
  }

  body.cart-page #seguro-desktop-chrome nav.teste-header-nav-main > ul.teste-header-nav-list {
    display: flex !important;
    flex-direction: row !important;
  }

  body.cart-page #seguro-desktop-chrome nav.teste-header-nav-main > ul.teste-header-nav-list > li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-list > li {
    display: inline-flex !important;
    align-items: center !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-list a {
    color: #000 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: geometricPrecision !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-list a:hover {
    color: #000 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-nav-chev {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 4px !important;
    vertical-align: middle !important;
    color: rgba(0, 0, 0, 0.42) !important;
    transform: translateY(1px) !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-nav-chev-icon {
    display: block !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-row.teste-header-row-bottom .teste-header-nav-list > li.teste-nav-play-item {
    position: relative !important;
    display: inline-flex !important;
    padding-top: 0 !important;
    vertical-align: baseline !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-badge-gratis {
    position: absolute !important;
    top: -6px !important;
    left: 50% !important;
    transform: translateX(-50%) scale(0.82) !important;
    display: inline-block !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    background: #00a650 !important;
    padding: 2px 3px 1px !important;
    border-radius: 999px !important;
    border: 1px solid #008744 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-user {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    column-gap: 6px !important;
    flex-shrink: 0 !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-links {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 14px !important;
    transform: translateX(10px) !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-user .teste-header-nav-link,
  body.cart-page #seguro-desktop-chrome .teste-header-nav-links .teste-header-nav-link {
    font-size: 14px !important;
    color: #000 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn {
    position: relative !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-left: 0 !important;
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: rgba(0, 0, 0, 0.85) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-user .teste-cart-icon-btn .pdp-ml-header-cart-badge {
    position: absolute !important;
    left: 50% !important;
    top: calc(50% - 5px) !important;
    transform: translate(calc(-50% + 0px), -50%) !important;
    z-index: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    width: max-content !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: rgba(0, 0, 0, 0.55) !important;
    font-size: 9.75px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    font-variant-numeric: tabular-nums !important;
    font-family: ProximaNova, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    text-align: center !important;
    -webkit-font-smoothing: antialiased !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-header-nav-user .teste-cart-icon-btn .pdp-ml-header-cart-badge[hidden] {
    display: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn:hover,
  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn:focus,
  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn:focus-visible,
  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn:active {
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }

  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn .teste-cart-img,
  body.cart-page #seguro-desktop-chrome .teste-cart-icon-btn img.teste-cart-img {
    width: 26px !important;
    height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
    object-fit: contain !important;
    display: block !important;
  }

  body.cart-page main#root-app.cart-list {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px 48px !important;
    box-sizing: border-box !important;
    /*
     * seguro-footer-desktop.css: #root-app { flex:1 1 auto; min-height:0 } + footer { margin-top:auto }.
     * Isso comprime o main à viewport e o rodapé fica no fim da tela enquanto o miolo (ex.: “Recomendado”) transborda — footer no meio do scroll.
     * No carrinho o main deve medir a altura real do conteúdo; margin-top:auto no footer continua preenchendo páginas curtas.
     */
    flex: 0 0 auto !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    /* mobile.css usa overflow-x: clip no #root-app — corta as setas do “Recomendado”. */
    overflow-x: visible !important;
  }

  body.cart-page .main-container[data-js='main-container'] {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 40px 0 calc(32px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }
  /* “Recomendado para você”: largura alvo 1184.01px; altura livre (sem scroll interno). */
  body.cart-page main#root-app.cart-list .teste-related-outside {
    width: 1184.01px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 32px auto 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 0 !important;
    overflow: visible !important;
  }

  body.cart-page .teste-related-outside__title {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.01em !important;
    line-height: 1.25 !important;
    color: rgba(0, 0, 0, 0.9) !important;
  }

  /* Carrossel em caixa branca (mesmo padrão #inicioBestsellers .inicio-bestsellers__carousel). */
  body.cart-page main#root-app.cart-list .teste-related-outside .cart-related-carousel {
    position: relative !important;
    margin-top: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border-radius: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    padding: 16px 16px 20px !important;
    overflow: visible !important;
  }

  body.cart-page .cart-related-track-wrap {
    position: static !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Mesmo padrão das setas de inicio.html (64px, metade na borda do card). */
  body.cart-page .cart-related-nav--prev,
  body.cart-page .cart-related-nav--next {
    top: 50% !important;
    width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    z-index: 4 !important;
  }

  body.cart-page .cart-related-nav svg {
    width: 36px !important;
    height: 36px !important;
    display: block !important;
    color: #3483fa !important;
  }

  body.cart-page .cart-related-nav svg path {
    fill: currentColor !important;
  }

  body.cart-page .cart-related-nav--prev {
    left: 0 !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
  }

  body.cart-page .cart-related-nav--next {
    right: 0 !important;
    left: auto !important;
    transform: translate(40%, -50%) !important;
  }

  body.cart-page .cart-related-nav--prev:hover:not(:disabled),
  body.cart-page .cart-related-nav--next:hover:not(:disabled) {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  }

  body.cart-page .cart-related-nav--prev:active {
    transform: translate(-50%, -50%) !important;
  }

  body.cart-page .cart-related-nav--next:active {
    transform: translate(40%, -50%) !important;
  }

  body.cart-page .cart-related-page {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  /* Cards “Recomendado” — visual alinhado a #inicioBestsellers .poly-card.poly-card--grid */
  body.cart-page .cart-related-card {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
  }

  body.cart-page .cart-related-card__link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    gap: 0 !important;
  }

  body.cart-page .cart-related-card__img {
    display: block !important;
    flex: 0 0 174px !important;
    width: 100% !important;
    height: 174px !important;
    min-height: 174px !important;
    max-height: 174px !important;
    aspect-ratio: unset !important;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
  }

  body.cart-page .cart-related-card .pdp-mais-vendido.cart-related-card-mais-vendido {
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border-top: none !important;
    line-height: 0 !important;
  }

  body.cart-page .cart-related-card__name {
    margin: 0 !important;
    padding: 10px 0 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    color: rgba(0, 0, 0, 0.9) !important;
    min-height: 0 !important;
    max-height: none !important;
    transition: color 0.15s ease !important;
  }

  body.cart-page .cart-related-card:hover .cart-related-card__name {
    color: #3483fa !important;
  }

  /* Preço poly (igual #inicioBestsellers) */
  body.cart-page .cart-related-card .poly-component__price {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cart-page .cart-related-card .poly-price__current {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px 8px !important;
  }

  body.cart-page .cart-related-card .andes-money-amount--previous,
  body.cart-page .cart-related-card .poly-price__previous {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    color: rgba(0, 0, 0, 0.55) !important;
    text-decoration: line-through !important;
  }

  body.cart-page .cart-related-card .poly-price__amount.andes-money-amount {
    display: inline-flex !important;
    align-items: flex-start !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    font-family: 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: rgba(0, 0, 0, 0.9) !important;
    line-height: 1.1 !important;
    -webkit-font-smoothing: antialiased !important;
  }

  body.cart-page .cart-related-card .poly-price__amount .andes-money-amount__currency-symbol,
  body.cart-page .cart-related-card .poly-price__amount .andes-money-amount__fraction {
    font-weight: 600 !important;
    font-family: inherit !important;
  }

  body.cart-page .cart-related-card .andes-money-amount__cents--superscript,
  body.cart-page .cart-related-card .andes-money-amount__cents--superscript-24 {
    display: inline-block !important;
    vertical-align: top !important;
    line-height: 1 !important;
    margin-top: 2px !important;
    font-weight: 600 !important;
    font-family: 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  }

  body.cart-page .cart-related-card__pix-lines {
    margin: 4px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  body.cart-page .cart-related-card__pix-lines span:last-child {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  body.cart-page .cart-related-card__mp-badge {
    margin: 4px 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
  }

  body.cart-page .cart-related-card__mp-badge img {
    display: block !important;
    width: auto !important;
    max-width: min(100%, 250px) !important;
    height: 28px !important;
    object-fit: contain !important;
  }

  body.cart-page .cart-related-card__frete-full {
    margin: 4px 0 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 6px !important;
  }

  body.cart-page .cart-related-card__full-icon {
    vertical-align: middle !important;
  }

  /* Modal de CEP no desktop (abre ao clicar em "Continuar"). */
  body.cart-page.cart-cep-modal-open {
    overflow: hidden !important;
  }

  body.cart-page .cart-cep-modal-backdrop[hidden],
  body.cart-page .cart-cep-modal[hidden] {
    display: none !important;
  }

  body.cart-page .cart-cep-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1200;
  }

  body.cart-page .cart-cep-modal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(680px, calc(100vw - 24px));
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
    padding: 22px 18px 20px;
    z-index: 1210;
    box-sizing: border-box;
  }

  body.cart-page .cart-cep-modal__loading {
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 160px;
  }

  body.cart-page .cart-cep-modal__loading-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(52, 131, 250, 0.24);
    border-top-color: #3483fa;
    border-radius: 50%;
    animation: cartCepSpin 0.72s linear infinite;
  }

  body.cart-page .cart-cep-modal__content {
    opacity: 1;
    transform: translateY(0);
  }

  body.cart-page .cart-cep-modal.is-loading .cart-cep-modal__loading {
    display: flex;
  }

  /* Surgimento do shell do modal já no loading inicial. */
  body.cart-page .cart-cep-modal.is-loading {
    animation: cartCepModalShellUp 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  body.cart-page .cart-cep-modal.is-loading .cart-cep-modal__content {
    display: none;
  }

  body.cart-page .cart-cep-modal.is-ready .cart-cep-modal__content {
    display: block;
    animation: cartCepModalSlideUp 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  body.cart-page .cart-cep-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
  }

  body.cart-page .cart-cep-modal__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.01em;
    color: rgba(0, 0, 0, 0.9);
  }

  body.cart-page .cart-cep-modal__close {
    border: 0;
    background: transparent;
    color: #3483fa;
    font-size: 36px;
    line-height: 0.78;
    cursor: pointer;
    padding: 0;
    margin: 0;
  }

  body.cart-page .cart-cep-modal__subtitle {
    margin: 6px 0 18px;
    font-size: 14px;
    line-height: 1.25;
    color: rgba(0, 0, 0, 0.55);
  }

  body.cart-page .cart-cep-modal__label {
    display: block;
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.9);
  }

  body.cart-page .cart-cep-modal__row {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  body.cart-page .cart-cep-modal__field-wrap {
    position: relative;
    width: 244px;
    flex: 0 0 244px;
  }

  body.cart-page .cart-cep-modal__input {
    width: 100%;
    height: 42px;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 8px;
    padding: 0 108px 0 12px;
    font-size: 16px;
    line-height: 1;
    color: rgba(0, 0, 0, 0.9);
  }

  body.cart-page .cart-cep-modal__input:focus {
    border-color: #3483fa;
    box-shadow: inset 0 0 0 1px #3483fa;
    outline: none;
  }

  body.cart-page .cart-cep-modal__submit {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 57.05px;
    min-width: 57.05px;
    height: 32px;
    border: 0;
    border-radius: 7px;
    background: #3483fa;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
  }

  body.cart-page .cart-cep-modal__submit:hover:not(:disabled) {
    background: #2968c8;
  }

  body.cart-page .cart-cep-modal__submit:disabled {
    background: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.25);
    cursor: not-allowed;
    pointer-events: none;
  }

  body.cart-page .cart-cep-modal__submit.is-loading:disabled {
    background: #3483fa;
    color: #fff;
    cursor: wait;
    pointer-events: none;
  }

  body.cart-page .cart-cep-modal__spinner {
    display: none;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: cartCepSpin 0.8s linear infinite;
  }

  body.cart-page .cart-cep-modal__submit.is-loading .cart-cep-modal__submit-label {
    display: none !important;
  }

  body.cart-page .cart-cep-modal__submit.is-loading .cart-cep-modal__spinner {
    display: inline-block !important;
  }

  body.cart-page .cart-cep-modal__spinner[hidden] {
    display: none !important;
  }

  body.cart-page .cart-cep-modal__help {
    color: #3483fa;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  body.cart-page .cart-cep-modal__help:hover {
    color: #2968c8;
    text-decoration: none;
  }

  body.cart-page .cart-cep-modal__error {
    margin: 10px 0 0;
    font-size: 14px;
    color: #f23d4f;
    visibility: hidden;
  }

  body.cart-page .cart-cep-modal__error.is-visible {
    visibility: visible;
  }

  @keyframes cartCepSpin {
    to {
      transform: rotate(360deg);
    }
  }

  @keyframes cartCepModalSlideUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes cartCepModalShellUp {
    from {
      opacity: 0;
      transform: translate(-50%, calc(-50% + 24px));
    }
    to {
      opacity: 1;
      transform: translate(-50%, -50%);
    }
  }

  /* Footer desktop igual ao escolher-pagamento.html (anula padding global de mobile.css). */
  body.cart-page #seguro-desktop-site-footer .nav-footer .nav-bounds,
  body.cart-page #seguro-desktop-site-footer .nav-footer-access-content .nav-bounds {
    padding-left: 24px !important;
    padding-right: 24px !important;
    max-width: 100% !important;
  }

  /* Duas colunas: lista | resumo (como ML cart desktop) */
  body.cart-page #cartRoot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.cart-page #cartRoot > .cl-grouped-items__container {
    grid-column: 1;
    min-width: 0;
  }

  body.cart-page #cartRoot > .cl-summary {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  /* Sobrepor resumo fixo do mobile */
  body.cart-page #cartRoot > .cl-summary {
    position: static !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    z-index: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cart-page #cartRoot > .cl-summary .cl-summary__card {
    border-radius: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
    padding: 16px !important;
    margin: 0 !important;
    position: sticky;
    top: 16px;
  }

  body.cart-page #cartRoot > .cl-summary .andes-card__content.cl-summary__content {
    padding: 0 !important;
  }

  body.cart-page #cartRoot > .cl-summary .cl-summary__title {
    margin: -16px -16px 12px -16px !important;
    padding: 16px 16px 12px 16px !important;
    border-bottom: 1px solid #ededed !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: rgba(0, 0, 0, 0.9) !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
  }

  body.cart-page #cartRoot > .cl-summary .cl-summary__button {
    margin-top: 16px !important;
    border-radius: 6px !important;
    width: 328px !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Card agrupado — borda e sombra alinhadas ao print ML */
  body.cart-page .cl-grouped-card {
    border-radius: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
  }

  body.cart-page .cl-card-header {
    padding: 16px !important;
    border-bottom: 1px solid #ededed !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  body.cart-page .cl-card-seller-badge {
    font-size: 14px !important;
  }

  /* Rodapé FULL frete (bloco injetado com .fe-desktop-only) */
  body.cart-page .andes-card__footer.cl-card-footer.fe-desktop-only {
    display: block !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid #ededed !important;
    background: #fff !important;
  }

  body.cart-page .cl-card-footer__ticket-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 0 !important;
    font-size: 16px !important;
    color: rgba(0, 0, 0, 0.9) !important;
  }

  body.cart-page .cl-card-footer__ticket-row--right-column .text-container {
    text-align: right !important;
  }

  body.cart-page .cl-card-footer__info-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px 12px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #000000 !important;
  }

  body.cart-page .cl-card-footer__info-row__action-link {
    flex-shrink: 0;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #3483fa !important;
    text-decoration: none !important;
    white-space: nowrap;
  }

  body.cart-page .cl-card-footer__info-row__action-link:hover {
    color: #2968c8 !important;
    text-decoration: none !important;
  }

  body.cart-page .cl-card-footer__info-row__description--seller-icon {
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 2px !important;
    height: 13px !important;
    width: auto !important;
  }

  /* Linha do item — coluna de preço mais ampla, thumb maior */
  body.cart-page .cl-item-card {
    padding: 16px !important;
  }

  body.cart-page .poly-card__portada {
    flex: 0 0 96px !important;
    width: 96px !important;
    height: 96px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body.cart-page .poly-card__portada-link {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
  }

  /* Miniatura sempre inteira (sem zoom/corte) */
  body.cart-page .poly-card__portada img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }

  body.cart-page .poly-card__content-body {
    grid-template-columns: minmax(0, 1fr) minmax(120px, 160px) !important;
    gap: 12px 20px !important;
    align-items: start !important;
  }

  body.cart-page .cl-price__current .andes-money-amount {
    font-size: 20px !important;
  }

  body.cart-page .cl-price__discount-label {
    text-align: right !important;
    max-width: none !important;
    margin-left: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #00a650 !important;
  }

  body.cart-page .cl-price__content-ds-prev {
    text-align: right !important;
  }

  body.cart-page .cl-price__content-ds-prev .andes-money-amount--previous {
    font-size: 12px !important;
    color: rgba(0, 0, 0, 0.55) !important;
  }

  body.cart-page .cl-item-card__quantity-controls {
    gap: 12px 16px !important;
  }

  body.cart-page .andes-input-stepper__wrapper--small {
    min-width: 120px !important;
    min-height: 36px !important;
  }

  body.cart-page .andes-input-stepper__button--small {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
  }

  body.cart-page .andes-input-stepper__value {
    font-size: 16px !important;
  }

  body.cart-page .andes-input-stepper__helper {
    font-size: 14px !important;
  }

  /* Carrinho vazio: miolo alinhado à largura desktop */
  body.cart-page.cart-page--empty .main-container--empty-cart {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.cart-page.cart-page--empty #cartRoot {
    display: block !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.cart-page.cart-page--empty #cartRoot .cl-empty-cart__card {
    background: transparent !important;
    margin: 0 !important;
  }

  body.cart-page.cart-page--empty #cartRoot .cl-empty-cart {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Cupom: modal central (desktop) em vez de bottom sheet */
  body.cart-page .ep-cupom-backdrop {
    z-index: 10040 !important;
    background: rgba(0, 0, 0, 0.38) !important;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
  }

  body.cart-page #cart-cupom-sheet.ep-cupom-sheet,
  body.cart-page #cart-cupons-sheet.ep-cupom-sheet {
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    top: 50% !important;
    width: min(440px, calc(100vw - 48px)) !important;
    max-width: 440px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-shadow:
      0 4px 6px rgba(0, 0, 0, 0.06),
      0 20px 48px rgba(0, 0, 0, 0.16) !important;
    z-index: 10050 !important;
    max-height: min(520px, 85vh) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    /* Entrada desktop: sobe de baixo para o centro */
    transform: translate(-50%, -36%) scale(0.98) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
      transform 0.22s ease,
      opacity 0.22s ease,
      visibility 0.22s !important;
  }

  body.cart-page #cart-cupom-sheet.ep-cupom-sheet.show,
  body.cart-page #cart-cupons-sheet.ep-cupom-sheet.show {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.cart-page #cart-cupom-sheet .ep-cupom-sheet__drag,
  body.cart-page #cart-cupons-sheet .ep-cupom-sheet__drag {
    display: none !important;
  }

  body.cart-page #cart-cupom-sheet .ep-cupom-sheet__header,
  body.cart-page #cart-cupons-sheet .ep-cupom-sheet__header {
    padding-top: 8px !important;
  }

  body.cart-page #cart-cupom-sheet .ep-cupom-sheet__body,
  body.cart-page #cart-cupons-sheet .ep-cupom-sheet__body {
    padding-bottom: 24px !important;
  }
}
