
/* source: <hermanmiller.checkout-ui-settings@0.3.5> */
@font-face {
  font-family: 'Söhne-Buch';
  src: url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css');
  src:
    local('☺'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css') format('woff'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css') format('truetype'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css') format('svg');
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'Söhne-Buch-Bold';
  src: url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css');
  src:
    local('☺'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css') format('woff'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css') format('truetype'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-buch.woff2.css') format('svg');
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: 'Söhne-Halbfett';
  src: url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css');
  src:
    local('☺'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css') format('woff'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css') format('truetype'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css') format('svg');
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'Söhne-Halbfett-Bold';
  src: url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css');
  src:
    local('☺'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css') format('woff'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css') format('truetype'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-halbfett.woff2.css') format('svg');
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: 'Söhne-Kraftig';
  src: url('https://hermanmiller.vteximg.com.br/arquivos/soehne-kraftig.woff2.css');
  src:
    local('☺'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-kraftig.woff2.css') format('woff'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-kraftig.woff2.css') format('truetype'),
    url('https://hermanmiller.vteximg.com.br/arquivos/soehne-kraftig.woff2.css') format('svg');
  font-style: normal;
  font-weight: 500;
}

body {
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: lining-nums;
}

body {
  font-family: 'Söhne-Buch' !important;
  font-weight: normal;
}

a {
  color: #333;
  font-weight: bold;
}

input,
textarea,
select {
  box-sizing: border-box;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  padding: 10px 5px 10px 5px;
  color: #252525;
  caret-color: #252525;
  font-size: 14px;
  line-height: 28px;
  font-weight: normal;
  text-indent: 0;
  width: 100%;
}

input:hover,
textarea:hover,
select:hover {
  background-color: greylighter;
}

input:focus,
input:active,
textarea:focus,
textarea:active,
select:focus,
select:active {
  border-color: gray;
  outline: none;
}

.made-by {
  margin-top: 68px;
  text-align: center;
  margin-left: 220px;
}

@media screen and (max-width: 868px) {
  .made-by {
    margin: 0 auto;
  }
  .price-details {
    display: none;
  }
}

.gift-card-section,
#payment-data .gift-card-section,
#payment-data .steps-view .gift-card-section {
  width: 450px;
  margin-left: 0 !important;
}

.gift-card-section .payment-discounts-options.text.input.form-inline {
  display: grid;
  grid-template-columns: 1fr 0.5fr;
  grid-gap: 5px 10px;
  gap: 5px 10px;
}

.gift-card-section .payment-discounts-options.text.input.form-inline #btn-add-gift-card {
  grid-row: 2;
  grid-column: 2/3;
}

.gift-card-section .payment-discounts-options.text.input.form-inline input {
  width: 100%;
  border-radius: 0;
  margin-right: 4px;
  height: auto;
  grid-column: 1/2;
  grid-row: 2;
}

.gift-card-section .payment-discounts-options.text.input.form-inline label {
  color: #686868;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  grid-column: 1/3;
}

.gift-card-section .orderform-active input[type='text'] {
  border-radius: 0;
  display: block;
  height: 30px;
  margin-top: 7px;
  max-width: 404px;
  width: 100%;
  font-size: 26px;
  line-height: 34px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.8);
  transition:
    border linear 0.2s,
    box-shadow linear 0.2s;
  padding: 4px 6px;
}

@media screen and (max-width: 1200px) {
  .gift-card-section {
    width: 100% !important;
    margin-left: 0 !important;
    box-sizing: border-box;
  }
}

.link-choose-products,
.btn-success {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.3s ease;
  border: none;
  border-radius: 5px;
  line-height: 24px;
  height: 48px;
  width: 205px;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
  background: #e22d00;
  border: 0 solid rgba(0, 0, 0, 0);
  color: #fff;
}

.link-choose-products:hover,
.btn-success:hover {
  background: #ef3c24;
  color: #fff;
  text-decoration: none;
}

.link-choose-products:focus,
.link-choose-products:active,
.link-choose-products.active,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
  background: #f15743;
  border: 4px solid rgba(0, 0, 0, 0);
}

.logo {
  margin-top: 20px;
}

#cart-title {
  margin: 0;
  text-align: left;
  font-size: 72px !important;
  font-weight: 500;
  margin-bottom: 30px;
  font-family: 'Söhne-Kraftig';
  color: #252525;
  line-height: 100%;
  letter-spacing: -0.18px;
}

@media screen and (max-width: 767px) {
  #cart-title {
    font-size: 28px !important;
    font-weight: 600;
    font-family: 'Söhne-Kraftig';
  }
}

.empty-cart-title {
  color: #3f3f40;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 134%;
}

footer {
  width: 100%;
  background-color: #ebebeb;
  padding-top: 80px;
}

footer .navfooter > li {
  width: 22.6%;
  padding: 0 15px;
  box-sizing: border-box;
}

footer .navfooter li {
  display: inline-block;
  vertical-align: top;
  margin: 15px 0;
  font-weight: 700;
}

footer .navfooter li li {
  display: block;
}

footer .navfooter li.logo {
  width: 8%;
}

footer .navfooter li.last {
  width: 37.8%;
  padding-right: 0;
}

footer .navfooter li.last .input-opt {
  width: 100%;
  display: block;
  overflow: hidden;
  min-height: 50px;
}

footer .navfooter li.last .input-opt input {
  width: 75%;
  float: left;
  padding-top: 25px;
  padding-bottom: 25px;
}

footer .navfooter li.last .input-opt .btn {
  width: 25%;
  float: right;
}

footer .navfooter li.last .input-opt .btn.btn-black {
  background-color: #000;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  padding-top: 15px;
  padding-bottom: 15px;
}

footer .navfooter li p {
  color: #252525;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 134%;
}

footer .navfooter li p.lo,
footer .navfooter li p.fu {
  margin-top: 20px;
}

footer .navfooter li a {
  color: #616161;
  font-family: 'Söhne-Buch';
  font-size: 16px;
  line-height: 134%;
  font-weight: 400;
}

footer .navfooter .social-links {
  margin-top: 20px;
}

footer .navfooter .social-links li {
  display: inline-block;
  margin: 0 15px;
}

footer .navfooter .social-links li a {
  font-size: 20px;
  color: #000;
}

footer address {
  margin: 45px 0 50px;
  color: #616161;
  position: relative;
  left: 110px;
  font-family: 'Söhne-Buch';
}

@media screen and (max-width: 868px) {
  footer address {
    left: auto;
  }
}

footer address .inst-links {
  position: absolute;
  right: 0;
}

footer address .inst-links ul li {
  display: inline-block;
  margin-right: 20px;
}

footer address .inst-links ul li a {
  color: #cc331e;
  font-weight: 700;
  text-decoration: none;
}

ul {
  margin-left: 0;
}

.header-menu ul {
  list-style: none;
  margin-left: 0;
}

.header-menu ul li {
  display: inline-block;
  margin-left: 20px;
  margin-top: 10px;
  font-size: 16px;
  color: #616161;
}

.header-menu ul li a {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 16px;
  color: #3f3f40;
}

@media screen and (max-width: 767px) {
  .logo {
    width: 100%;
    text-align: center;
    display: block;
    overflow: hidden;
    margin-bottom: 20px;
  }
  .header-menu {
    width: 100%;
    text-align: center;
    float: initial;
  }
  footer {
    margin-top: 30px;
  }
  footer .navfooter > li {
    width: 100% !important;
    display: block !important;
    overflow: hidden !important;
    margin-bottom: 30px !important;
  }
  .inst-links {
    width: 100% !important;
    display: block !important;
    overflow: hidden !important;
    position: relative !important;
  }
}

@media screen and (max-width: 979px) {
  .body-cart {
    padding-bottom: 0 !important;
  }
}

body.body-cart {
  background: #fafafa;
}

body.body-cart .container.main,
body.body-cart .checkout-container {
  background: #fafafa;
}

/* .orderform-template-holder{
  .client-profile-data{
    background-color: #fafafa !important;
  }
} */

@media (min-width: 1200px) {
  .container {
    width: 1170px !important;
  }
}

:root {
  --border: #333;
  --truck: #333;
  --text: #333;
}

#shipping-bar {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-top: solid 1px var(--border);
  border-bottom: solid 1px var(--border);
  padding: 10px;
}

.truck-icon {
  margin-right: 15px;
}

.truck-icon svg {
  width: 55px;
  height: auto;
}

.fil0 {
  fill: var(--truck);
}

.shipping-text p {
  margin: 0px;
  color: var(--text);
  font-family: 'Söhne-Buch';
  font-size: 13px !important;
}

#payment-group-custom201PaymentGroupPaymentGroup,
#payment-group-creditDirectSalePaymentGroup,
#payment-group-debitDirectSalePaymentGroup {
  display: none;
}

a.btn.btn-mini.btn-default.dropdown-toggle.shipping-sla-button {
  display: none;
}

ul.dropdown-menu.shipping-sla-options {
  display: contents;
}

div#render-checkout-buttons {
  padding: 0;
  width: 250px;
}

.payment-group-list-btn .payment-group-item {
  min-height: 48px;
  display: flex;
  align-items: center;
}

.payment-group-list-btn a[data-name='Pagaleve Pix A Vista Transparente'] span.payment-group-item-text {
  font-size: 0;
  visibility: hidden;
}

.payment-group-list-btn a[data-name='Pagaleve Pix A Vista Transparente'] span.payment-group-item-text::before {
  content: 'PIX (à vista)';
  font-size: 12px;
  visibility: visible;
}

@media (min-width: 1200px) {
  .steps-view {
    width: 450px;
    float: left;
    margin-left: 25px;
  }
}

li.seller-1-sla-Entregaagendada {
  float: right;
  width: 240px;
}

li.seller-1-sla-Entregaagendada a > span {
  white-space: pre-line;
}

li.seller-1-sla-Entregaagendada a > i.icon-ok {
  float: left;
}

.full-cart .summary-totalizers .info {
  text-align: left;
}

.checkout-container .cart-template .totalizers-list tr.Shipping td.info,
.checkout-container .cart-template .totalizers-list tr.Shipping td.info .shipping-fields,
.checkout-container .cart-template .totalizers-list tr.Shipping td.info .postal-code-for-sla,
.checkout-container .cart-template .totalizers-list tr.Shipping td.info .accordion-inner {
  text-align: left !important;
}

.shipping-fields {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
}

input#summary-postal-code {
  width: auto;
  flex: 1 1 auto;
  display: block;
  max-width: 240px;
  min-height: 40px;
  height: 40px;
  border: 1px solid #c6c6c6;
  border-radius: 4px;
  padding: 0 12px;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  color: #252525;
  box-sizing: border-box;
}

#cart-shipping-calculate {
  background: #252525;
  color: #fff;
  border: 1px solid #252525;
  border-radius: 4px;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  font-weight: 600;
  text-shadow: none;
  height: 40px;
  padding: 0 16px;
}

.summary-template-holder .accordion-inner {
  display: block;
  max-width: 100%;
}

.shipping.summary-shipping {
  width: 100% !important;
  text-align: left !important;
}

.cart-more-options,
.cart-more-options #shipping-preview-container,
.cart-more-options .srp-container,
.cart-more-options .srp-content,
.cart-more-options .srp-data {
  text-align: left !important;
  width: 100%;
}

.cart-active .srp-container {
  max-width: 100% !important;
}

.cart {
  border: none;
}

.cart-more-options .srp-content {
  background: #ffffff;
  border-radius: 8px;
  padding: 24px;
  box-sizing: border-box;
}

/* Título "Entrega". Tipografia Figma: Heading 20 Bold — Söhne Halbfett 600, 20px,
   line-height 100%, letter-spacing -0.05px, #252525. */
.cart-more-options .srp-main-title {
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 100% !important;
  color: #252525 !important;
  margin: 0 0 8px !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: -0.05px !important;
}

.cart-more-options .srp-description {
  font-family: 'Söhne-Buch' !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #3f3f40 !important;
  line-height: 1.4 !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}

/* "Receber X itens em {cep}" (texto inteiro, incl. o <strong> "Receber" e o CEP).
   Tipografia Figma: Body 16 Regular — Söhne Buch 400, 16px, line-height 100%, #252525.
   Sobrescreve o bold do <strong> e o azul do link do CEP (classes Tachyons). */
.cart-more-options .srp-delivery-header,
.cart-more-options .srp-delivery-header .srp-items,
.cart-more-options .srp-delivery-header .srp-items strong,
.cart-more-options .srp-delivery-header .srp-address-title {
  font-family: 'Söhne-Buch' !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
  color: #252525 !important;
}

.cart-more-options .srp-data {
  margin-top: 16px !important;
}

.cart-more-options #shipping-calculate-link.shp-open-options,
.cart-more-options button#shipping-calculate-link {
  display: inline-block !important;
  height: 40px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 1px solid #e22d00 !important;
  border-radius: 4px !important;
  color: #e22d00 !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 38px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
}

.cart-more-options #shipping-calculate-link.shp-open-options:hover,
.cart-more-options button#shipping-calculate-link:hover {
  background: #e22d00 !important;
  color: #fff !important;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary,
.full-cart .summary-totalizers tbody.shipping-calculate td.monetary.form-postal-code {
  text-align: left !important;
  min-width: 0 !important;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .shipping-form-inline,
.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .shipping-fieldset,
.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .shipping-fields {
  min-width: auto;
  width: 100%;
  text-align: left !important;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .shipping-fieldset {
  display: block;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary input#summary-postal-code {
  flex: 0 0 auto;
  width: 160px;
  max-width: 160px;
  margin: 0;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary #cart-shipping-calculate {
  flex: 0 0 auto;
  margin: 0;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .postal-code-service,
.full-cart .summary-totalizers tbody.shipping-calculate td.monetary a#cart-dont-know-postal-code {
  display: inline-block;
  margin-top: 8px;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400;
  color: #252525;
  text-decoration: underline;
  text-align: left;
}

.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .postal-code-service a:hover,
.full-cart .summary-totalizers tbody.shipping-calculate td.monetary .postal-code-service a:focus {
  color: #1f1f1f;
  text-decoration: underline;
}

.shipping-sla-selector .shipping-sla-options a {
  padding: 6px 0;
  padding-left: 0;
}

.hide-cart .cart-template.mini-cart {
  opacity: 0;
}

.PaymentInstallments select {
  min-height: 40px;
}

.payment-submit-wrap button {
  margin-top: 24px;
  margin-bottom: 24px;
}

select,
textarea,
input[type='text'],
input[type='password'],
input[type='datetime'],
input[type='datetime-local'],
input[type='date'],
input[type='month'],
input[type='time'],
input[type='week'],
input[type='number'],
input[type='email'],
input[type='url'],
input[type='search'],
input[type='tel'],
input[type='color'],
.uneditable-input {
  min-height: 40px;
}

.quantity input {
  width: 40px;
}

.checkout-container .cart-template .summary-template-holder {
  display: grid !important;
  grid-template-columns: 412px 1fr 412px;
  grid-template-rows: auto auto;
  gap: 0;
  align-items: start;
  margin: 24px 0 0;
}

.checkout-container .cart-template .summary-template-holder > .row-fluid.summary {
  display: contents !important;
}

/* Card Entrega ocupa a coluna 1 nas duas linhas. Neste template a linha 2 fica vazia
   (os botões são irmãos do resumo, não filhos — ver nota no bloco ≥992px abaixo), então
   o span só importa em templates do checkout onde os botões caiam dentro do resumo e
   sejam pegos pela regra de .cart-links-bottom mais abaixo. Com align-items: start (L807)
   o span não estica nem desloca o card de valores em nenhum dos dois casos. */
.checkout-container .cart-template .summary-template-holder > .row-fluid.summary .cart-more-options {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.checkout-container .cart-template .summary-template-holder > .row-fluid.summary .summary-totalizers.cart-totalizers {
  grid-column: 3;
  grid-row: 1;
  margin: 0 !important;
}

.checkout-container .cart-template .summary-template-holder > .cart-links-bottom {
  grid-column: 3;
  grid-row: 2;
}

.checkout-container .cart-template .summary-template-holder > .row-fluid.summary .cart-more-options {
  flex: 0 1 412px;
  min-width: 0;
  width: 412px;
  max-width: 412px;
  margin: 0;
}

.checkout-container .cart-template .summary-template-holder > .row-fluid.summary .summary-totalizers.cart-totalizers {
  flex: 0 1 412px;
  min-width: 0;
  width: 412px;
  max-width: 412px;
  margin: 0;
  background: #ffffff !important;
  box-sizing: border-box;
  /* Padding só no resumo do CARRINHO (de propósito SEM !important): no orderform
     o .cart-fixed força padding: 0 !important (L3410), que vence aqui — então o
     resumo final não é afetado. */
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 170px !important;
}

#checkoutMainContainer .container-main.container-order-form .checkout-container .row-fluid.orderform-template .cart-template.mini-cart .summary-template-holder div.totalizers.summary-totalizers.cart-totalizers{
  margin-bottom: 0 !important;
}

.checkout-container .cart-template .cart-links-bottom,
.cart-template .cart-links-bottom,
.summary-template-holder .cart-links-bottom,
.checkout-container .cart-links-bottom {
  background: #ffffff !important;
  border-radius: 0 0 8px 8px !important;
  padding: 16px 24px 24px !important;
  box-sizing: border-box !important;
  width: 412px !important;
  max-width: 412px !important;
  min-width: 412px !important;
  margin: 0 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-self: flex-end !important;
}

/* Desktop (≥992px) — card Entrega (col 1) à esquerda, valores (col 3) à direita e os
   botões logo abaixo dos valores.
   O card Entrega fica NO fluxo do grid: o resumo cresce junto com ele, então nenhuma
   modalidade de frete a mais faz o card transbordar sobre o rodapé (VTEX-14677). Quem sai
   do fluxo são os botões (.cart-links-bottom), ancorados na base do card de valores pelo
   JS — mecanismo, condições e nota de DOM em positionCartButtons(), checkout6-custom.js.
   Aqui ficam só as duas peças de CSS que esse posicionamento exige:
   - position: relative no .cart-template.full-cart, que é o pai dos botões, para o
     offsetParent (containing block do top calculado) ser previsível;
   - right: 0 nos botões, porque em elemento absoluto com left/right auto vale a posição
     estática e as margens auto viram 0 — o margin: 0 0 0 auto de L872 não alinharia mais.
   No carrinho o .summary-template-holder não precisa mais de position: relative: ela existia
   só para ser o containing block do card Entrega absoluto (entrou junto com ele em 44790c9) e
   não tem outro consumidor aqui — os pseudo-elementos absolutos das opções de SLA se ancoram
   no próprio <li>, que é position: relative (L1265-1266). No resumo do orderform ela continua,
   com consumidor real (bloco seguinte).
   Escopo: .full-cart só existe na página do carrinho (o resumo do orderform é
   .cart-template.mini-cart), e o nativo já aplica position: relative nele
   (.cart-active .full-cart, style.css v6.151.3) — então este bloco não muda nada fora do
   carrinho. O JS complementa com gate de rota (#/cart). */
@media screen and (min-width: 992px) {
  .checkout-container .cart-template .summary-template-holder {
    position: relative;
  }
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary .cart-more-options {
    position: relative;
    width: 412px;
  }

  .checkout-container .cart-template.full-cart > .cart-links-bottom {
    right: 0;
  }
}

@media screen and (max-width: 991px) {
  .checkout-container .cart-template .summary-template-holder {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px;
  }
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary .cart-more-options,
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary .summary-totalizers.cart-totalizers,
  .checkout-container .cart-template .cart-links-bottom,
  .checkout-container .cart-template .summary-template-holder > .cart-links-bottom {
    flex: 1 1 100%;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media screen and (max-width: 991px) {
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary {
    flex-direction: column;
    gap: 16px;
  }
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary .cart-more-options,
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary .summary-totalizers.cart-totalizers {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* Mobile: o .row-fluid.summary vira `display: flex` com `gap: 16px`. O Bootstrap dá a
   .row-fluid os pseudo-elementos de clearfix (::before/::after com content:""), que viram
   ITENS flex de 0px — e o `gap` cria espaço ao redor deles, inclusive 16px no FUNDO (entre
   o card de valores e o ::after). Esse é o vão cinza entre os valores e os botões.
   Removendo os pseudos, o vão some; o gap entre Entrega e valores permanece (itens reais).
   Desktop usa grid e não é afetado (escopo max-width: 991px). */
@media screen and (max-width: 991px) {
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary::before,
  .checkout-container .cart-template .summary-template-holder > .row-fluid.summary::after {
    display: none !important;
  }
}

.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap {
  display: block;
  width: 100%;
  text-align: right;
  margin: 0 0 16px;
}

.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap.text-center {
  text-align: right;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon.summary-coupon {
  width: 100%;
  text-align: right;
  margin: 0;
}

.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap .coupon-data {
  margin: 0;
  text-align: right;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon.summary-coupon {
  width: 100%;
  text-align: center;
  margin: 0 0 24px;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon-data.pull-right {
  width: 100%;
  margin: 0;
}

.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap #cart-coupon {
  display: inline-block;
  vertical-align: middle;
  width: 60%;
  height: 40px;
  border: 1px solid #c6c6c6;
  border-radius: 4px;
  padding: 0 12px;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  color: #252525;
  box-sizing: border-box;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  span.loading-inline {
  margin: 0;
}

.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap #cart-coupon-add {
  display: inline-block;
  vertical-align: middle;
  width: 35%;
  height: 40px;
  background: #252525;
  color: #fff;
  border: 1px solid #252525;
  border-radius: 4px;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  font-weight: 600;
  text-shadow: none;
  padding: 0;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  #cart-link-coupon-add {
  display: block;
  width: 100%;
  /* Tipografia Figma: Link 16 Regular — Söhne Buch 400, 16px, underline, #252525. */
  color: #252525;
  font-family: 'Söhne-Buch';
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  text-decoration: underline;
  padding: 20px 0;
  box-sizing: border-box;
}

.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap,
.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon.summary-coupon,
.checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap .coupon-data {
  text-align: center !important;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon-data.pull-right
  .coupon-fields {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #252525;
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon-data.pull-right
  #cart-coupon-remove {
  color: #fff;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  line-height: 1;
  cursor: pointer;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .forms.coupon-column.summary-coupon-wrap
  .coupon-data.pull-right
  #cart-coupon-remove
  .icon-remove-sign::before {
  content: '\f1f8';
  font-family: FontAwesome, sans-serif;
  font-size: 14px;
  color: #fff;
}

.checkout-container .cart-template .summary-template-holder .totalizers.summary-totalizers.cart-totalizers {
  float: none;
  width: 100%;
  padding: 0;
  margin: 0 0 24px;
}

.mini-cart .summary-template-holder,
.mini-cart h2 {
  padding-right: 6px;
}

.payment-confirmation-wrap {
  background: none !important;
}

.checkout-container .cart-template .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table tr {
  border: 0;
}

/* Totalizadores (Subtotal/Descontos/Entrega/Total). Tipografia Figma:
   Heading 20 Regular — Söhne Buch 400, 20px, line-height 100%, letter-spacing -0.05px, #252525. */
.checkout-container .cart-template .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table tr td {
  color: #252525;
  font-family: 'Söhne-Buch';
  font-size: 20px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: -0.05px;
}

@media screen and (max-width: 767px) {
  .checkout-container
    .cart-template
    .summary-template-holder
    .totalizers.summary-totalizers.cart-totalizers
    table
    tr
    td {
    font-size: 16px;
    letter-spacing: 0;
  }
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  tr
  td.empty {
  width: 0;
  padding: 0;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  tr
  td.monetary {
  min-width: 125px;
  text-align: right;
  color: #252525;
  /* Valores. Tipografia Figma: Heading 20 Bold — Söhne Halbfett 600, 20px, -0.05px. */
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -0.05px;
  white-space: nowrap;
  padding-left: 12px;
}

@media screen and (max-width: 767px) {
  .checkout-container
    .cart-template
    .summary-template-holder
    .totalizers.summary-totalizers.cart-totalizers
    table
    tr
    td.monetary {
    font-size: 16px;
  }
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr
  td {
  padding: 0 0 24px;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .postal-code-for-sla {
  color: #333;
  font-size: 20px;
  line-height: 20px;
  padding: 0 0 8px;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .postal-code-for-sla
  #cart-reset-postal-code {
  color: #333;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .postal-code-for-sla
  #cart-reset-postal-code
  .icon-remove-sign::before {
  content: '';
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li {
  position: relative;
  padding: 12px 0 12px 32px;
  border-bottom: 1px solid #e5e5e5;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li:last-of-type {
  border-bottom: 0;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #c6c6c6;
  background: #fff;
  box-sizing: border-box;
  transition: border-color 0.15s linear;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li.selected::before {
  border-color: #e22d00;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li.selected::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 19px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e22d00;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  a {
  color: #1f1f1f;
  font-size: 0;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  padding: 0;
  display: block;
  transition: all 0.1s linear;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  a:hover,
.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  a:focus {
  background: none;
  transition: all 0.2s linear;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  a::after {
  display: block;
  color: #616161;
  font-family: 'Söhne-Buch';
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0;
  white-space: normal;
  padding-right: 80px;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  a
  .icon-ok {
  display: none;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  a
  span {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  font-weight: 600;
  color: #1f1f1f;
  padding: 0 0 4px;
  display: block;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  .totalizers-list
  tr.Shipping
  td.info
  .shipping-sla-selector
  .shipping-sla-options
  li
  .shipping-sla-price {
  position: absolute;
  right: 0;
  top: 14px;
  color: #e22d00;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  font-weight: 600;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  tfoot
  tr {
  border-top: 1px solid #c6c6c6;
}

.checkout-container
  .cart-template
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  tfoot
  tr
  td {
  color: #252525 !important;
  font-size: 20px;
  font-weight: 600;
  line-height: 100% !important;
  letter-spacing: -0.05px;
  padding: 24px 0 0;
  font-family: 'Söhne-Halbfett-Bold';
}

.checkout-container .cart-template .cart-links-bottom {
  margin: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.checkout-container .cart-template .cart-links-bottom .link-choose-more-products-wrapper,
.cart-links-bottom .link-choose-more-products-wrapper {
  order: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.checkout-container .cart-template .cart-links-bottom .btn-place-order-wrapper,
.cart-links-bottom .btn-place-order-wrapper {
  order: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.checkout-container .cart-template .cart-links-bottom .link-choose-more-products-wrapper #cart-choose-more-products,
.cart-links-bottom #cart-choose-more-products,
a#cart-choose-more-products {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  text-align: center !important;
  color: #e22d00 !important;
  background: transparent !important;
  border: 1px solid #e22d00 !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.checkout-container
  .cart-template
  .cart-links-bottom
  .link-choose-more-products-wrapper
  #cart-choose-more-products:hover {
  background: #e22d00;
  color: #fff;
}

.checkout-container .cart-template .cart-links-bottom .btn-place-order-wrapper #cart-to-orderform,
.cart-links-bottom #cart-to-orderform,
a#cart-to-orderform {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0px !important;
  background: #e22d00 !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 8px 12px !important;
  border: 1px solid #e22d00 !important;
  border-radius: 4px !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  text-align: center !important;
}

.checkout-container .cart-template .cart-links-bottom .btn-place-order-wrapper #cart-to-orderform:hover {
  background: #b81e00;
  border-color: #b81e00;
}

.checkout-container .cart-template .extensions-checkout-buttons-container #render-checkout-buttons {
  border: 0;
}

.box-delivery input[type='text'],
.box-delivery input[type='password'],
.box-delivery input[type='datetime'],
.box-delivery input[type='datetime-local'],
.box-delivery input[type='date'],
.box-delivery input[type='month'],
.box-delivery input[type='time'],
.box-delivery input[type='week'],
.box-delivery input[type='number'],
.box-delivery input[type='email'],
.box-delivery input[type='url'],
.box-delivery input[type='search'],
.box-delivery input[type='tel'],
.box-delivery input[type='color'],
.box-client-info input[type='text'],
.box-client-info input[type='password'],
.box-client-info input[type='datetime'],
.box-client-info input[type='datetime-local'],
.box-client-info input[type='date'],
.box-client-info input[type='month'],
.box-client-info input[type='time'],
.box-client-info input[type='week'],
.box-client-info input[type='number'],
.box-client-info input[type='email'],
.box-client-info input[type='url'],
.box-client-info input[type='search'],
.box-client-info input[type='tel'],
.box-client-info input[type='color'] {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100%;
}

.address-form-placeholder .input,
.box-client-info .input {
  width: 100% !important;
  margin-right: 0;
}

.address-form-placeholder .postal-code {
  width: 100px;
  max-width: 100px;
}

.box-delivery {
  display: grid;
  gap: 10px;
}

.ship-filled-data,
.ship-name,
.ship-neighborhood,
.ship-street {
  grid-column: 1/3;
}

.ship-number {
  grid-column: 2/3;
  grid-row: 2;
}

.ship-more-info {
  grid-column: 1/2;
  grid-row: 2;
}

/* Dados Pessoais — base mobile-first (≤767px): 1 coluna */
.box-client-info-pf {
  margin: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row dense;
  gap: 10px;
}

.box-client-info-pj {
  width: 100% !important;
}

.orderform-template-holder .client-profile-data input[type='text'] {
  width: 100% !important;
}

.client-notice {
  grid-column: 1;
  grid-row: 1;
  font-size: 14px;
  color: #3f3f40 !important;
}

.notification {
  font-size: 16px;
  color: #3f3f40 !important;
}

.client-email {
  grid-column: 1;
  grid-row: 2;
}

/* Dados Pessoais — tablet e desktop (≥768px): grid 2 colunas, E-mail full-width, pares 50/50 */
/* Nota: .client-first-name, .client-last-name, .client-document, .client-phone são os seletores
   padrão do Smartcheckout v6. Validar nomes de classe via vtex link em ambiente de dev. */
@media screen and (min-width: 768px) {
  .box-client-info-pf {
    grid-template-columns: 1fr 1fr;
  }

  .client-notice {
    grid-column: 1 / 3;
  }

  .client-email {
    grid-column: 1 / 3;
  }

  .client-first-name,
  .client-document {
    grid-column: 1;
  }

  .client-last-name,
  .client-phone {
    grid-column: 2;
  }
}

/* Dados Pessoais — tablet híbrido (768–1023px): card 100%, Resumo empilhado abaixo */
/* !important necessário para sobrescrever Bootstrap 2 nativo (.span8/.span4 com float) */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #profile-data .orderform-template-holder,
  #profile-data .client-profile-data {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
  }
}

/* === Paleta global do checkout (fix pós-validate) === */

/* Bg da página: #FAFAFA em todas as etapas do checkout v6.
   CSS é carregado somente no checkout pelo builder checkout-ui-custom,
   portanto seletor sem qualificar por etapa é seguro. */
body,
html,
.html-checkout,
.container.main,
.checkout-container {
  background: #fafafa !important;
}

/* Cards brancos (#FFFFFF) em todas as etapas — radius 4px mobile, 8px tablet+desktop */
.client-profile-data,
.shipping-data,
.payment-data,
.cart-fixed,
.box-info {
  background-color: #ffffff;
  border-radius: 4px;
}

@media screen and (min-width: 768px) {
  .payment-data .step {
    border: none !important;
  }
}

@media screen and (min-width: 768px) {
  .client-profile-data,
  .shipping-data,
  .payment-data,
  .cart-fixed,
  .box-info {
    border-radius: 8px;
  }
}

/* Padding lateral do wrapper interno do card de perfil — mantém todos os elementos internos
   alinhados. Excluí .step para não aplicar no container pai (.step.accordion-group.client-profile-data). */
.client-profile-data:not(.step) {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media screen and (min-width: 768px) {
  .client-profile-data:not(.step) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .client-profile-data,
  .client-profile-data.accordion-group,
  .step.accordion-group.client-profile-data,
  #profile-data .orderform-template-holder {
    border: none !important;
    box-shadow: none !important;
  }
}

#profile-data .accordion-heading,
#client-profile-data .accordion-heading {
  margin-top: 1.5rem;
}

#profile-data .accordion-toggle,
#client-profile-data .accordion-toggle {
  display: flex;
  align-items: center;
}

#profile-data .accordion-toggle > i,
#client-profile-data .accordion-toggle > i {
  display: none;
}

#profile-data .accordion-toggle::before,
#client-profile-data .accordion-toggle::before {
  content: '';
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url('https://hermanmiller.vteximg.com.br/arquivos/UserCircle.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 8px;
  margin-top: 2px;
}

.client-notice.notice {
  margin-top: 1.5rem;
}

@media screen and (max-width: 991px) {
  .quantity {
    display: flex !important;
  }
  .item-quantity-change {
    display: flex;
    align-self: center;
  }
  .checkout-container .cart-template .summary-template-holder .forms.coupon-column.summary-coupon-wrap {
    width: 100%;
  }
  .checkout-container .cart-template .summary-template-holder .totalizers.summary-totalizers.cart-totalizers {
    width: 100%;
  }
  .checkout-container
    .cart-template
    .summary-template-holder
    .totalizers.summary-totalizers.cart-totalizers
    table
    .totalizers-list
    tr.Shipping
    td.info
    .shipping-sla-selector
    .shipping-sla-options
    li
    a
    span {
    white-space: break-spaces;
  }
  .checkout-container .cart-template .cart-links-bottom {
    width: 100%;
  }
}

input[type='checkbox'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  border: 2px solid #333;
  border-radius: 3px;
  outline: none !important;
  cursor: pointer;
  padding: 0 !important;
  margin-top: 2px !important;
}

input[type='checkbox']:checked {
  background-color: #ba2b1b;
  border: none !important;
  position: relative;
}

input[type='checkbox']:checked::before {
  content: '✔';
  color: #fff;
  display: block;
  text-align: center;
  line-height: 20px;
  font-size: 12px;
  position: relative;
  top: -2px;
}

#payment-data form.form-step .steps-view .PagalevePixAVistaTransparentePaymentGroup p.payment-description {
  font-size: 0;
}

#payment-data form.form-step .steps-view .PagalevePixAVistaTransparentePaymentGroup p.payment-description::before {
  content: 'PIX';
  font-size: 13px;
}

@media screen and (max-width: 868px) {
  td.quantity {
    gap: 7px;
  }
  .full-cart .item-quantity-change {
    position: unset;
    bottom: 0;
    left: 0;
    height: auto;
    width: auto;
  }
}

fieldset.payment-group {
  margin-top: 0;
}

fieldset.payment-group
  .payment-group-list-btn
  .payment-group-item#payment-group-PagalevePixAVistaTransparentePaymentGroup {
  position: relative;
}

fieldset.payment-group
  .payment-group-list-btn
  .payment-group-item#payment-group-PagalevePixAVistaTransparentePaymentGroup::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  width: 50px;
  height: 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('/arquivos/pix-icon.png');
}

.full-cart table,
.full-cart .cart-template table,
.full-cart table.table,
.full-cart table.cart-items,
.full-cart .cart-items,
.full-cart .cart-items thead,
.full-cart .cart-items tbody,
.full-cart .cart-items thead tr,
.full-cart .cart-items tbody tr,
.full-cart .cart-items thead tr th,
.full-cart .cart-items tbody tr td,
.full-cart .cart-template table thead,
.full-cart .cart-template table tbody,
.full-cart .cart-template table tr,
.full-cart .cart-template table th,
.full-cart .cart-template table td {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

.full-cart .cart-template .cart-items,
.full-cart .cart-template table.cart-items,
.full-cart .cart-template table.table,
.cart > table.cart-items,
table.cart-items {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-radius: 8px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}

.cart-items thead tr th:first-child,
.cart-items tbody tr td:first-child {
  padding-left: 24px !important;
}

.cart-items thead tr th:last-child,
.cart-items tbody tr td:last-child {
  padding-right: 24px !important;
}

.cart-items thead tr th {
  padding-top: 32px !important;
  padding-bottom: 16px !important;
}

.cart-items tbody tr:first-child td {
  padding-top: 16px !important;
}

.cart-items tbody tr:last-child td {
  padding-bottom: 32px !important;
}

.cart-items tbody tr td {
  vertical-align: middle !important;
}

.cart-items td.quantity {
  vertical-align: middle !important;
  height: auto;
}

.cart-items thead tr th {
  font-family: 'Söhne-Halbfett-Bold';
  color: #252525;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;
  padding: 32px 12px 16px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: middle;
  text-align: left;
}

.cart-items tbody tr {
  height: 112px;
}

.cart-items tbody tr td {
  padding: 16px 12px;
  vertical-align: middle;
  border-bottom: 1px solid #e5e5e5;
  height: 112px;
}

.cart-items tbody tr:last-child td {
  border-bottom: none;
}

.cart-items td.quantity {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle !important;
  padding: 16px 12px !important;
}

.cart-items td.quantity > a.item-quantity-change-decrement {
  margin-right: 16px;
}

.cart-items td.quantity > input {
  margin-right: 16px;
}

.cart-items td.quantity > a,
.cart-items td.quantity > input,
.cart-items td.quantity > small {
  vertical-align: middle;
}

.cart-items td.quantity a.item-quantity-change.item-quantity-change-decrement,
.cart-items td.quantity a.item-quantity-change.item-quantity-change-increment {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #c6c6c6;
  border-radius: 4px;
  background: #ffffff;
  color: #252525 !important;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none !important;
  box-sizing: border-box;
  position: relative;
}

.cart-items td.quantity a.item-quantity-change:hover {
  border-color: #252525 !important;
  background: #ffffff !important;
  color: #252525 !important;
}

.cart-items td.quantity a.item-quantity-change i.icon,
.cart-items td.quantity a.item-quantity-change i.icon-minus-sign,
.cart-items td.quantity a.item-quantity-change i.icon-plus-sign,
.cart-items td.quantity a.item-quantity-change span {
  display: none !important;
}

.cart-items td.quantity a.item-quantity-change-decrement::before {
  content: '−';
  font-size: 20px;
  line-height: 1;
  color: #252525;
}

.cart-items td.quantity a.item-quantity-change-increment::before {
  content: '+';
  font-size: 20px;
  line-height: 1;
  color: #252525;
}

.cart-items td.quantity input,
.cart-items td.quantity input[type='tel'] {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  background: transparent !important;
  color: #252525 !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  outline: none !important;
  box-shadow: none !important;
}

.cart-items td.quantity input:focus,
.cart-items td.quantity input[type='tel']:focus {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.cart-items td.item-remove {
  width: 40px;
  min-width: 40px;
  text-align: center;
  vertical-align: middle;
}

.cart-items td.item-remove a.item-link-remove {
  display: inline-block;
  width: 32px;
  height: 32px;
  font-size: 0 !important;
  color: transparent !important;
  text-decoration: none;
  background-color: #616161;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3H9zm0 5h2v9H9V8zm4 0h2v9h-2V8z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3H9zm0 5h2v9H9V8zm4 0h2v9h-2V8z'/></svg>");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px 22px;
  mask-size: 20px 22px;
  -webkit-mask-position: center;
  mask-position: center;
  vertical-align: middle;
  cursor: pointer;
}

.cart-items td.item-remove a.item-link-remove:hover {
  background-color: #e22d00;
}

.cart-items td.item-remove a.item-link-remove i.icon,
.cart-items td.item-remove a.item-link-remove i.icon-remove,
.cart-items td.item-remove a.item-link-remove i.item-remove-ico,
.cart-items td.item-remove a.item-link-remove span,
.cart-items td.item-remove a.item-link-remove span.item-remove-text {
  display: none !important;
}

.product-name {
  font-family: 'Söhne-Halbfett-Bold';
  color: #252525;
  font-size: 14px;
  font-weight: 600;
  line-height: 100% !important;
}

.cart-items .product-name + *,
.cart-items td.product .description,
.cart-items td.product small,
.cart-items td.product .item-attachments,
.cart-items td.product .description-attachments {
  font-family: 'Söhne-Buch' !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 100% !important;
  color: #616161 !important;
}

.shipping-estimate-date {
  font-family: 'Söhne-Buch' !important;
  color: #616161;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 100%;
}

.product-price,
.total-selling-price {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  line-height: 100%;
  color: #252525;
  font-weight: 600;
}

.quantity input {
  font-family: 'Söhne-Buch';
  color: #252525 !important;
}

.shipping-calculate-link {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .full-cart table.cart-items,
  .full-cart .cart-items,
  .full-cart .cart-items thead,
  .full-cart .cart-items tbody,
  .full-cart .cart-items thead tr,
  .full-cart .cart-items tbody tr,
  .full-cart .cart-items thead tr th,
  .full-cart .cart-items tbody tr td,
  .cart > table.cart-items,
  table.cart-items,
  table.cart-items thead,
  table.cart-items tbody,
  table.cart-items thead tr,
  table.cart-items tbody tr,
  table.cart-items thead tr th,
  table.cart-items tbody tr td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  .full-cart table.cart-items thead,
  .full-cart .cart-items thead,
  .cart > table.cart-items thead,
  table.cart-items thead {
    display: none !important;
  }

  .cart-items tbody tr.product-item {
    display: grid !important;
    grid-template-columns: 80px 1fr 32px;
    grid-template-areas:
      'image name remove'
      'qty   qty  price';
    column-gap: 12px;
    row-gap: 12px;
    padding: 16px !important;
    height: auto !important;
    border-bottom: 1px solid #e5e5e5;
    align-items: center;
  }

  .cart-items tbody tr.product-item:last-child {
    border-bottom: none;
  }

  .full-cart .cart table tbody tr.product-item + tr.product-item,
  .cart-items tbody tr.product-item + tr.product-item {
    border-top: 0 !important;
  }

  .cart-items tbody tr.product-item td {
    padding: 0 !important;
    border-bottom: none !important;
    height: auto !important;
    width: auto !important;
  }

  .cart-items tbody tr.product-item td.product-image {
    grid-area: image;
    align-self: start;
    width: 80px !important;
  }

  .cart-items tbody tr.product-item td.product-image img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain;
  }

  .cart-items tbody tr.product-item td.product-name {
    grid-area: name;
    align-self: start;
    text-align: left !important;
    min-width: 0;
    margin-left: 0 !important;
  }

  .cart-items tbody tr.product-item td.product-name a {
    display: block;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }

  .cart-items tbody tr.product-item td.shipping-date,
  .cart-items tbody tr.product-item td.product-price {
    display: none !important;
  }

  .cart-items td.product-name .brand,
  .cart-items td.product-name small.seller {
    display: none !important;
  }

  .cart-items tbody tr.product-item td.quantity,
  .full-cart .cart table tbody tr.product-item td.quantity {
    grid-area: qty;
    display: flex !important;
    align-items: center;
    text-align: left !important;
    justify-self: start;
    white-space: nowrap;
    margin-left: 0 !important;
    margin-top: 26px !important;
  }

  .cart-items tbody tr.product-item td.quantity > a,
  .cart-items tbody tr.product-item td.quantity > input {
    margin: 0 !important;
    vertical-align: middle;
  }

  .cart-items tbody tr.product-item td.quantity input,
  .cart-items tbody tr.product-item td.quantity input[type='tel'] {
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
  }

  .cart-items tbody tr.product-item td.quantity-price {
    grid-area: price;
    text-align: right !important;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
  }

  .cart-items tbody tr.product-item td.item-remove {
    grid-area: remove;
    width: 32px !important;
    min-width: 32px !important;
    align-self: start;
    justify-self: end;
  }
}

#orderform-title {
  color: #3f3f40;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 134%;
  display: none !important;
}

.client-pre-email {
  border-top: none !important;
  padding-top: 20px;
  background-color: #fafafa !important;
}

.client-pre-email p {
  margin-right: 2.31rem;
}

.client-pre-email .emailInfo {
  width: 384px;
  padding: 16px 24px;
}

.icon-lock {
  display: none;
}

#orderform-to-cart {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 100%;
  color: #252525;
  font-weight: 600;
  text-decoration: underline !important;
}

.client-pre-email-h label {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 36px;
  line-height: 100%;
  color: #252525;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .client-pre-email-h label {
    font-size: 28px;
  }
}

.client-pre-email-h label small {
  display: none;
}

.emailInfo h3 {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 600 !important;
  margin-top: unset !important;
}

.emailInfo ul {
  color: #3f3f40 !important;
  font-size: 12px !important;
}

.emailInfo .icon-ok:before {
  color: #e22d00 !important;
}

.client-email input {
  font-family: 'Söhne-Buch';
  font-size: 16px;
}

.accordion-heading,
.accordion-toggle,
.cart-fixed h2 {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 20px;
  line-height: 100%;
  color: #1f1f1f;
  font-weight: 600;
  letter-spacing: -0.05px;
}

.cart-fixed h2 {
  text-align: left !important;
}

.accordion-heading i,
.accordion-toggle i {
  color: #616161;
}

.box-client-info-pf label,
.corporate-info-box label,
.address-data label {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 600 !important;
  height: 26px;
}

.box-client-info-pf input,
.corporate-info-box input,
.address-data input {
  font-family: 'Söhne-Buch';
  font-size: 16px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 400 !important;
}

#is-corporate-client {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  text-decoration: underline;
  display: block;
  margin: 24px 0;
}

/* Botão "Ir para entrega" — full-width somente dentro do card de perfil.
   Seletor qualificado para NÃO afetar .btn-success global (width: 205px).
   margin-top: espaço acima do botão (entre checkbox optin e botão):
   32px em mobile (≤767px), 24px em tablet+desktop (≥768px). */
#profile-data .btn-success {
  width: 100%;
  box-sizing: border-box;
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  #profile-data .btn-success {
    margin-top: 24px;
  }
}

.state-inscription-box {
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400;
}

.state-inscription-box label {
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400 !important;
}

.newsletter {
  margin-bottom: 24px;
}

button.submit {
  width: 100% !important;
}

.state-inscription-box span,
.newsletter-text {
  color: #1f1f1f;
}

.ship-more-info label span {
  font-size: 0;
}

.ship-more-info label span::before {
  font-size: 16px;
  content: 'Complemento';
}

.ship-postal-code small {
  color: #252525;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  text-decoration: underline;
}

.choose-shipping-option-container {
  width: 100% !important;
}

.choose-shipping-option {
  color: #252525;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 20px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: -0.05px;
}

.box-info .client-profile-email,
.box-info .client-profile-summary,
.shipping-summary-placeholder .address {
  color: #3f3f40;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}

.box-info .client-profile-summary {
  line-height: 134%;
}

.shipping-option-item .shipping-option-item-name {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 600 !important;
}

.shipping-option-item-time {
  color: #3f3f40;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}

.ship-filled-data {
  color: #252525;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
}

.ship-filled-data .link-edit {
  text-decoration: underline;
  text-transform: capitalize;
}

.link-change-shipping {
  box-sizing: border-box !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  border-radius: 5px !important;
  line-height: 24px !important;
  height: 40px;
  width: 90%;
  margin: 0 auto !important;
  margin-top: 8px !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  border: 1px solid #cc331e !important;
  background: #fff !important;
  color: #cc331e !important;
  align-content: center;
}

.link-gift-card {
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}

.link-payment-discounts-cod {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 1.4;
  color: #e22d00 !important;
  font-weight: 600 !important;
  display: inline-block;
  padding: 4px 0;
}

.gift-card-provider-default label {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 400 !important;
}

.gift-card-provider-default #btn-add-gift-card {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 100%;
  color: #ffffff !important;
  font-weight: 400 !important;
  border-radius: 4px;
  background: #252525;
  display: flex;
  height: 48px;
  padding: 8px 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-shadow: none !important;
}

.payment-group-item-text {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  color: #1f1f1f !important;
  font-weight: 600 !important;
}

.CardForm label {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 14px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 600 !important;
}

.CardForm select,
.CardForm input {
  color: #252525;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
}

/* Credit card form — spacing/layout per design */
.iframe-credit-card-payment-group {
  position: relative;
}

.iframe-credit-card-payment-group .SecurityEnvironmentIcon {
  position: absolute;
  top: 5px;
  right: 0;
  float: none;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  padding: 6px 12px;
  z-index: 10;
}

.iframe-credit-card-payment-group .SecurityEnvironmentIcon .icon-lock {
  font-size: 16px;
  line-height: 1;
  float: none;
  margin: 0;
  color: #1f1f1f;
  display: inline-block;
}

.iframe-credit-card-payment-group .SecurityEnvironmentIcon .payment-environment-icon-text {
  width: auto;
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #1f1f1f;
}

.iframe-credit-card-payment-group .CardForm {
  gap: 20px;
}

.iframe-credit-card-payment-group .CardForm > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.iframe-credit-card-payment-group .CardForm > div:has(.PaymentCardHolderName) {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.iframe-credit-card-payment-group .CardForm .FormFieldLabel:not(.hide) {
  display: block;
  margin-bottom: 8px;
  padding: 0;
}

.iframe-credit-card-payment-group .CardForm input[type='tel'],
.iframe-credit-card-payment-group .CardForm input[type='text'],
.iframe-credit-card-payment-group .CardForm .PaymentInstallments select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.iframe-credit-card-payment-group .PaymentCardHolderName,
.iframe-credit-card-payment-group .PaymentCardCVV,
.iframe-credit-card-payment-group .PaymentCardHolderDocument,
.iframe-credit-card-payment-group .BillingAddress,
.iframe-credit-card-payment-group .PaymentCardFlags {
  margin: 0;
}

.iframe-credit-card-payment-group .PaymentCardNumber {
  margin: 32px 0 0;
}

.iframe-credit-card-payment-group .PaymentInstallments {
  margin: 32px 0 0;
}

.iframe-credit-card-payment-group .PaymentCardHolderName input,
.iframe-credit-card-payment-group .PaymentCardCVV input,
.iframe-credit-card-payment-group .PaymentCardHolderDocument input,
.iframe-credit-card-payment-group .PaymentInstallments select {
  margin-bottom: 32px;
}

.iframe-credit-card-payment-group .PaymentCardCVV label,
.iframe-credit-card-payment-group .PaymentCardHolderDocument label {
  float: none;
  width: auto;
}

.iframe-credit-card-payment-group .PaymentCardCVV input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: left;
}

/* Validade — label inline left, Mês/Ano dividindo largura */
.iframe-credit-card-payment-group .PaymentCardDueDate {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
}

.iframe-credit-card-payment-group .PaymentCardDueDate .FormFieldLabel {
  margin-bottom: 0;
  flex: 0 0 70px;
  float: none;
}

.iframe-credit-card-payment-group .PaymentCardDueDate .payment-card-due-month,
.iframe-credit-card-payment-group .PaymentCardDueDate .payment-card-due-year {
  flex: 1;
  margin: 0;
  float: none;
}

.iframe-credit-card-payment-group .PaymentCardDueDate select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.iframe-credit-card-payment-group .PaymentCardDueDate .payment-card-lash {
  display: none;
}

/* Endereço de cobrança */
.iframe-credit-card-payment-group .AddressToggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.iframe-credit-card-payment-group .AddressToggle input {
  float: none;
  margin: 0;
}

.iframe-credit-card-payment-group .AddressToggle label {
  font-weight: 400 !important;
}

/* "Pagar usando dois cartões" */
.iframe-credit-card-payment-group .ChangeNumberOfPayments {
  margin-top: 16px;
  margin-bottom: 0;
}

.payment-nubank-container {
  color: #000;
  font-family: 'Söhne-Buch' !important;
  font-size: 12px;
  font-weight: 400;
}

.payment-nubank-header-subtitle {
  font-size: 14px !important;
}

#orderform-minicart-to-cart {
  color: #3f3f40;
  font-family: 'Söhne-Buch';
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}

.cart-fixed .description .price {
  color: #1b1c1e !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: normal !important;
}

.cart-fixed .description .shipping-date {
  color: #616161;
  font-family: 'Söhne-Buch';
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
}

@media screen and (min-width: 1200px) {
  .cart-fixed.affix-top,
  .cart-fixed.affix {
    width: 100% !important;
    max-width: 412px !important;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .cart-fixed.affix-top,
  .cart-fixed.affix {
    max-width: 360px !important;
  }
}

@media screen and (max-width: 991px) {
  .cart-fixed.affix-top,
  .cart-fixed.affix {
    max-width: 100% !important;
    width: 100% !important;
  }
}

.summary-cart-template-holder.cart-fixed-transition {
  min-height: 100px;
  overflow: hidden;
}

.shipping-sla-selector .shipping-sla-options li {
  color: #3f3f40;
  font-family: 'Söhne-Buch';
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
}

.checkout-container
  .cart-template
  .cart-fixed
  .summary-template-holder
  .totalizers.summary-totalizers.cart-totalizers
  table
  tr
  td {
  font-family: 'Söhne-Halbfett-Bold' !important;
}

@media screen and (max-width: 767px) {
  .checkout-container
    .cart-template
    .cart-fixed
    .summary-template-holder
    .totalizers.summary-totalizers.cart-totalizers
    table
    tr
    td {
    font-size: 16px;
    letter-spacing: 0;
  }

  .checkout-container
    .cart-template
    .summary-template-holder
    .totalizers.summary-totalizers.cart-totalizers
    table
    .totalizers-list
    tr.Shipping
    td.info
    .postal-code-for-sla {
    font-size: 16px;
  }
}

/* === Card Entrega — Etapa 1 (pré-CEP) === */

/* T01 — Padding interno do card Entrega: 24px nas laterais e topo;
   sem padding-bottom; margin-bottom: 24px para separar do card Pagamento. */
#shipping-data {
  padding: 24px 24px 0 24px;
  margin-bottom: 24px;
}

#shipping-data .shipping-data,
#shipping-data .accordion-group {
  padding: 0;
}

/* T01 — Remover borda do card Entrega em desktop ≥1024px (AC-06).
   Análogo ao bloco L1698-1706 do card Dados Pessoais. */
@media screen and (min-width: 1024px) {
  .shipping-data,
  .shipping-data.accordion-group,
  .step.accordion-group.shipping-data,
  #shipping-data .orderform-template-holder {
    border: none !important;
    box-shadow: none !important;
  }
}

/* T01 — Tablet híbrido (768–1023px): card Entrega 100% largura, Resumo empilhado (AC-16).
   Análogo ao bloco L1639-1647 do card Dados Pessoais. */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #shipping-data .orderform-template-holder,
  #shipping-data .shipping-data {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
  }
}

/* T02 — Header do card Entrega: flex SÓ no .accordion-toggle (span que contém ícone + texto).
   O .accordion-heading é o div pai (block); o ::before só vai no .accordion-toggle para evitar
   duplicação do ícone (AC-01, AC-02, AC-04, AC-05).
   Espaçamento superior vem do padding-top do #shipping-data; 32px abaixo separa do conteúdo. */
#shipping-data .accordion-toggle {
  display: flex;
  align-items: center;
}

.shipping-summary-info,
.notification {
  font-family: Söhne-Buch;
  font-weight: 400;
  font-style: Buch;
  font-size: 16px;
  leading-trim: none;
  line-height: 100%;
  letter-spacing: 0px;
  color: #3f3f40;
}

.accordion-heading {
  margin-bottom: 24px;
}

/* T02 — Ocultar ícone nativo VTEX (.icon-home dentro do .accordion-toggle) (AC-03). */
#shipping-data .accordion-toggle .icon-home,
#shipping-data .accordion-toggle > i {
  display: none;
}

/* T02 — Ícone HouseLine.svg via ::before com correção óptica margin-top:2px (AC-01, AC-02, AC-04). */
#shipping-data .accordion-toggle::before {
  content: '';
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url('https://hermanmiller.vteximg.com.br/arquivos/HouseLine.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 8px;
  margin-top: 2px;
}

/* T02b — Background branco forçado no card de Entrega (pai e filho com .shipping-data).
   Necessário porque Bootstrap nativo (.accordion-group) e VTEX podem aplicar bg diferente. */
#shipping-data,
#shipping-data .shipping-data,
#shipping-data .accordion-group {
  background-color: #ffffff !important;
}

/* T02c — Remover border-bottom de .step em todo o checkout (global). */
.step {
  border-bottom: none !important;
  background-color: #ffffff !important;
}

/* T03 — Label "CEP*": Söhne-Halbfett-Bold 16px, peso 600, alinhado ao topo do input (AC-09).
   Classe real no DOM é .ship-postalCode (camelCase).
   Espaçamento acima vem do margin-bottom:32px do .accordion-heading (não duplicar aqui). */
.ship-postalCode label {
  font-family: 'Söhne-Halbfett-Bold';
  font-size: 16px;
  line-height: 100%;
  color: #252525 !important;
  font-weight: 600 !important;
  display: block;
  margin-bottom: 0.5rem;
}

/* T04 — Input do CEP: largura limitada (~280px) conforme mockup; não ocupa 100% do card.
   Sobrescreve .input-small (Bootstrap 2) que aplica width fixo. (AC-12, AC-13) */
#ship-postalCode,
.ship-postalCode input[type='text'],
.ship-postalCode input.input-small {
  width: 100% !important;
  max-width: 280px !important;
  box-sizing: border-box;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
}

/* T05 — Link "não sei meu CEP": espaço acima + bloco próprio + tipografia completa
   (AC-14, AC-15). O <small> envolve um <a> — sublinhado vem do <a>. */
.ship-postalCode small {
  margin-top: 0.5rem;
  display: block;
}

.ship-postalCode small a {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  text-decoration: underline;
}

/* === Tipografia — card Entrega (etapa 1 + 2) === */

/* "Selecione as formas de entrega" (texto auxiliar acima dos botões Receber/Retirar) */
#shipping-data .vtex-omnishipping-1-x-selectDeliveryText {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #3f3f40;
}

/* Títulos "Forma de entrega" e "Endereço de entrega" (mesma classe nativa) */
#shipping-data .vtex-omnishipping-1-x-shippingSectionTitle {
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -0.05px;
  color: #252525;
  margin-bottom: 16px;
}

/* Opções SLA (ex: "Mais econômica" / "Mais rápida") — título da opção */
#shipping-data .shp-option-text-label,
#shipping-data .vtex-omnishipping-1-x-leanShippingTextLabel {
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
}

/* Subtexto da SLA (prazo "Em até X dias úteis") */
#shipping-data .shp-option-text-time,
#shipping-data .shp-option-text-time span {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #3f3f40;
}

/* Valor da entrega (preço) — laranja Herman Miller */
#shipping-data .shp-option-text-price,
#shipping-data .vtex-omnishipping-1-x-optionPrice {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #e22d00;
}

.shp-summary-group-address {
  font-family: Söhne-Buch;
  font-weight: 400;
  font-style: Buch;
  font-size: 14px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0px;
  color: #3f3f40;
}

/* Espaçamento entre as opções SLA (gap de 8px entre Mais econômica e Mais rápida). */
#shipping-data .shp-lean-option + .shp-lean-option,
#shipping-data .vtex-omnishipping-1-x-leanShippingOption + .vtex-omnishipping-1-x-leanShippingOption {
  margin-top: 8px;
}

/* Remover borda nativa do container das opções SLA (sem afetar os filhos .shp-lean-option). */
#shipping-data .vtex-omnishipping-1-x-leanShippingGroupList,
#shipping-data .vtex-omnishipping-1-x-leanShippingGroupList.shp-lean {
  border: none !important;
}

/* === Opções de entrega (SLA) como lista de radios sempre expandida ===
   O componente .srp-delivery-select-container mostra um display "fake"
   (.srp-delivery-current-many) com um <select> nativo invisível sobreposto.
   O JS (checkout6-custom.js) injeta .hm-sla-radios e oculta o seletor nativo,
   mantendo o <select> como fonte de verdade. Visual alinhado ao simulador da PDP. */
html.hm-sla-js .srp-delivery-select-container:not(.hm-sla-failed) {
  border: none !important;
  height: auto !important;
}

html.hm-sla-js .srp-delivery-select-container:not(.hm-sla-failed) .srp-delivery-current-many,
html.hm-sla-js .srp-delivery-select-container:not(.hm-sla-failed) .srp-delivery-select {
  display: none !important;
}

/* Box único com borda; opções separadas por linha (layout Figma). */
.hm-sla-radios {
  width: 100%;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fafafa;
  overflow: hidden;
}

.hm-sla-radio {
  position: relative;
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: start;
  column-gap: 12px;
  padding: 16px;
  background: transparent;
  cursor: pointer;
}

/* Separador entre opções (sem linha no topo da primeira). */
.hm-sla-radio + .hm-sla-radio {
  border-top: 1px solid #e5e5e5;
}

/* Input real fica fora do fluxo (a bolinha .hm-sla-radio__bullet é a visual). */
.hm-sla-radio input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.hm-sla-radio__bullet {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 50%;
  border: 2px solid #c6c6c6;
  background: #fff;
  box-sizing: border-box;
  position: relative;
  transition: border-color 0.15s linear;
}

.hm-sla-radio.is-selected .hm-sla-radio__bullet {
  border-color: #252525;
}

.hm-sla-radio.is-selected .hm-sla-radio__bullet::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #252525;
}

.hm-sla-radio__body {
  min-width: 0;
}

/* Linha 1: nome (esquerda) + prazo sublinhado (direita). */
.hm-sla-radio__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

/* Nome da SLA. Tipografia Figma: Söhne Halbfett 600, 14px, #252525. */
.hm-sla-radio__name {
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
}

/* Prazo. Tipografia Figma: Link 14 Regular — Söhne Buch 400, 14px, underline, #252525. */
.hm-sla-radio__time {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
  text-decoration: underline;
  white-space: nowrap;
  text-align: right;
}

/* Linha 2: preço (laranja Herman Miller). Tipografia Figma: Söhne Buch 400, 14px. */
.hm-sla-radio__price {
  display: block;
  margin-top: 16px;
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #e22d00;
}

/* Linha 3: descrição (texto da dataentity TE). Tipografia Figma: Söhne Buch 400, 14px, #3F3F40. */
.hm-sla-radio__desc {
  display: block;
  margin-top: 16px;
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  color: #3f3f40;
}

/* Trocar texto do label "Complemento e referência" para apenas "Complemento" via CSS.
   Esconde o texto original via font-size:0 e injeta o novo via ::before. */
#shipping-data .ship-complement label {
  font-size: 0 !important;
}

#shipping-data .ship-complement label::before {
  content: 'Complemento';
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
  display: block;
}

/* Espaço superior de 16px no campo Destinatário (separação do bloco anterior). */
#shipping-data .ship-receiverName {
  margin-top: 16px;
}

/* Labels dos campos de endereço: Endereço*, Número, Bairro, Cidade, Complemento, Destinatário */
#shipping-data .ship-street label,
#shipping-data .ship-number label,
#shipping-data .ship-neighborhood label,
#shipping-data .ship-city label,
#shipping-data .ship-state label,
#shipping-data .ship-complement label,
#shipping-data .ship-more-info label,
#shipping-data .ship-receiverName label,
#shipping-data .ship-receiver-name label {
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
  display: block;
  margin-bottom: 16px;
}

/* Todos os inputs do card Entrega (CEP, Endereço, Número, Bairro, etc.) */
#shipping-data input[type='text'],
#shipping-data input[type='tel'],
#shipping-data input[type='number'],
#shipping-data textarea {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
}

/* === Tipografia — Email (card Dados Pessoais) === */

/* Label "Email" */
.client-email label {
  font-family: 'Söhne-Halbfett-Bold';
  font-weight: 600;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
}

/* Input do email */
.client-email input,
.client-email input[type='text'],
.client-email input[type='email'] {
  font-family: 'Söhne-Buch';
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0;
  color: #252525;
}

/* === Fix: scroll quebra .cart-fixed + grid 3-cols desloca totalizadores ===
   Sessão fix-scroll-affix-grid-3-cols-quebrando-cart-fixed-resumo-a50e687b */

/* 1) Desabilita Bootstrap affix (.affix-top -> .affix no scroll, vira position:fixed
   com height inline menor que o conteúdo, cortando itens e empurrando totais para fora).
   Adiciona padding lateral 24px (espaçamento interno do card). */
.cart-fixed,
.cart-fixed.affix-top,
.cart-fixed.affix,
.cart-fixed.affix-bottom {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* 1b) Containers internos do .cart-fixed: garantir SEM scroll/altura limitada.
   .summary-cart-template-holder.cart-fixed-transition (L2640) tem overflow:hidden
   que junto com height inline corta a lista de itens. */
.cart-fixed .summary-cart-template-holder,
.cart-fixed .summary-cart-template-holder.cart-fixed-transition,
.cart-fixed .cart,
.cart-fixed ul.cart-items {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}

/* 2) Neutraliza grid 3-cols (L767-L789) DENTRO do .cart-fixed.
   A regra global é mantida intacta para a página /cart. */
.cart-fixed .summary-template-holder {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cart-fixed .summary-template-holder > .row-fluid.summary,
.cart-fixed .summary-template-holder .summary-totalizers,
.cart-fixed .summary-template-holder .cart-totalizers,
.cart-fixed .summary-template-holder .cart-more-options,
.cart-fixed .summary-template-holder .cart-links-bottom {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* 3) Header — ícone Vector.svg à esquerda do título + bg branco unificado + padding 24px sup/inf.
   Usa padding (não margin) para evitar margin-collapsing que vaza pro .cart-fixed. */
.cart-fixed h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #ffffff !important;
  background-color: #ffffff !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.cart-fixed h2 i,
.cart-fixed h2 .icon {
  display: none;
}

.cart-fixed h2::before {
  content: '';
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  background-image: url('https://hermanmiller.vteximg.com.br/arquivos/Vector.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* 4) Totalizadores — labels e valores com tipografia Söhne-Buch 14px */
.cart-fixed .summary-template-holder table.table tbody td.info {
  font-family: 'Söhne-Buch' !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #3f3f40 !important;
  text-align: left;
  padding: 8px 0;
}

.cart-fixed .summary-template-holder table.table tbody td.monetary {
  font-family: 'Söhne-Buch' !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #3f3f40 !important;
  text-align: right;
  padding: 8px 0;
}

/* 5) Linha Total — destaque com separador horizontal acima */
.cart-fixed .summary-template-holder table.table tfoot tr td.info,
.cart-fixed .summary-template-holder table.table tfoot tr td.monetary {
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: #252525 !important;
  padding-top: 16px !important;
  padding-bottom: 8px !important;
  border-top: 1px solid #e5e5e5;
}

.cart-fixed .summary-template-holder table.table tfoot tr td.info {
  text-align: left;
}

.cart-fixed .summary-template-holder table.table tfoot tr td.monetary {
  text-align: right;
}

/* Exibe a linha de frete "Entrega R$ X" no resumo do orderform. A linha limpa
   (tr.srp-summary-result) vem com a classe .hide do Bootstrap e fica escondida aqui,
   então o frete não aparecia no resumo (apesar de já somado no Total). No carrinho
   (.cart-template, fora do .cart-fixed) nada muda. */
.cart-fixed .summary-template-holder .totalizers-list tr.srp-summary-result {
  display: table-row !important;
}

/* Resumo do orderform: rótulo à esquerda, valor à direita. Sem controle de coluna o
   auto-layout distribui largura entre as colunas vazias (.space/.empty) e centraliza.
   .info ocupa toda a largura (texto à esquerda); .monetary encosta à direita; .space/
   .empty colapsam. A especificidade casa a cadeia .totalizers.summary-totalizers
   .cart-totalizers (regras do carrinho, L1124-1152) e vem depois no arquivo, então vence. */
.cart-fixed .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table {
  width: 100% !important;
}
.cart-fixed .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table tr td.info {
  width: 100% !important;
  text-align: left !important;
}
.cart-fixed .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table tr td.monetary {
  width: auto !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.cart-fixed .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table tr td.space,
.cart-fixed .summary-template-holder .totalizers.summary-totalizers.cart-totalizers table tr td.empty {
  width: 0 !important;
  padding: 0 !important;
}

/* 6) Badge de quantidade — apenas cor (sem mexer em posicionamento nativo) */
.cart-fixed .cart-items .quantity.badge {
  background: #e22d00 !important;
  background-color: #e22d00 !important;
  background-image: none !important;
  color: #fff !important;
  text-shadow: none !important;
}

/* 6b) #client-profile-data (container externo, Bootstrap col span6) — bg transparente.
   Existem 2 elementos .client-profile-data na mesma página: o pai externo (com ID)
   e o filho .step.accordion-group.client-profile-data (card real de Dados Pessoais).
   A regra global pinta os 2 de #FFFFFF. Tornando o pai transparente, em /email o bg
   da página #FAFAFA aparece, e em /profile o card interno mantém o branco nativo. */
#client-profile-data,
#client-profile-data.span6,
#client-profile-data.client-profile-data {
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* 6c) Padding lateral do card real de Dados Pessoais (filho com .step).
   Antes vinha do pai #client-profile-data (que agora é transparente sem padding).
   Aplicar no card interno mantém o conteúdo afastado das bordas brancas. */
.step.accordion-group.client-profile-data {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media screen and (min-width: 768px) {
  .step.accordion-group.client-profile-data {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* 7) Link "Voltar para o carrinho" — tipografia Söhne-Buch + underline + espaçamento */
.cart-fixed #go-to-cart-button,
.cart-fixed p.link.link-cart {
  display: block !important;
  text-align: right !important;
  margin: 16px 0 !important;
  padding: 0 !important;
  float: none !important;
}

.cart-fixed #orderform-minicart-to-cart,
.cart-fixed #go-to-cart-button a {
  font-family: 'Söhne-Buch' !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #252525 !important;
  text-decoration: underline !important;
}

/* 8) Layout dos itens — Grid 2x2: linha 1 (imagem + nome), linha 2 (prazo + valor full-width) */

.cart-fixed ul.cart-items {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.cart-fixed ul.cart-items > li.hproduct.item {
  display: grid !important;
  grid-template-columns: 80px 1fr;
  grid-template-areas:
    'image content'
    'desc desc';
  gap: 8px 12px;
  padding: 16px 0;
  margin: 0;
  list-style: none;
  position: relative;
  border-bottom: 1px solid #e5e5e5;
}

/* Wrapper <a> da imagem ocupa célula 'image' */
.cart-fixed ul.cart-items > li.hproduct.item > a.url {
  grid-area: image;
  display: block;
  flex-shrink: 0;
}

/* Imagem 80×80 com fundo cinza claro (conforme mockup) */
.cart-fixed ul.cart-items img.photo {
  width: 80px !important;
  height: 80px !important;
  object-fit: contain;
  background-color: #f5f5f5;
  border-radius: 4px;
  display: block;
}

/* Nome do produto ocupa célula 'content' (à direita da imagem) */
.cart-fixed ul.cart-items > li.hproduct.item > .fn.product-name {
  grid-area: content;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  color: #252525 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: normal;
}

/* Description ocupa a 2ª linha inteira (prazo esquerda, valor direita) */
.cart-fixed ul.cart-items > li.hproduct.item > .description {
  grid-area: desc;
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Prazo de entrega — esquerda, sem float */
.cart-fixed ul.cart-items .description .shipping-date {
  font-family: 'Söhne-Buch' !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #3f3f40 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

/* Valor — direita, destaque tipográfico */
.cart-fixed ul.cart-items .description .price {
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: #252525 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-align: right !important;
}

/* Badge — posição absoluta sobre a imagem (canto superior direito).
   Top calculado com o padding-top do li (16px) + margem dentro da imagem (~6px).
   Left calculado: 80px da imagem - 22px badge + ~4px de margem = ~62px. */
.cart-fixed ul.cart-items .quantity.badge {
  position: absolute !important;
  top: 22px !important;
  left: 62px !important;
  right: auto !important;
  bottom: auto !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 0 !important;
  max-width: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  font-family: 'Söhne-Halbfett-Bold' !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  line-height: 22px !important;
  text-align: center !important;
  display: block !important;
  box-sizing: border-box !important;
  z-index: 2;
}

/* === Card de Pagamento (#payment-data) — layout final conforme Figma === */

/* Card: padding 24px desktop, 24/16 mobile + radius */
#payment-data {
  padding: 24px !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  #payment-data {
    padding: 24px 16px !important;
    border-radius: 8px !important;
  }
}

/* Formulário interno: GRID 2 colunas × 2 linhas em desktop, vertical em mobile.
   Layout desktop:
     [link vale-presente]  [dados pgto]
     [coluna métodos    ]  [dados pgto] (dados span 2 rows)
   O link pode estar hidden (display:none via data-bind); a row 1 colapsa automaticamente. */
@media screen and (min-width: 1024px) {
  #payment-data .form-step.box-new {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto !important;
    grid-template-areas: 'metodos dados' !important;
    gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Link nativo: já está display:none mas garantir que NÃO ocupa grid-area */
  #payment-data .form-step.box-new > .link.link-gift-card,
  #payment-data .form-step.box-new > .link-gift-card,
  #payment-data .link.link-gift-card,
  #payment-data p.link.link-gift-card {
    grid-area: unset !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Anula floats/aligns do <a> interno do "Adicionar vale-presente" */
  #payment-data .link.link-gift-card a,
  #payment-data .link-payment-discounts-cod,
  #payment-data #show-gift-card-group {
    display: block !important;
    text-align: left !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Coluna métodos sem margin-top — colada no link vale-presente acima */
  #payment-data .form-step.box-new > .payment-group,
  #payment-data .payment-group {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media screen and (max-width: 1023px) {
  #payment-data .form-step.box-new {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

/* Coluna de métodos: grid-area 'metodos' desktop (234px), 100% mobile */
@media screen and (min-width: 1024px) {
  #payment-data .payment-group {
    grid-area: metodos !important;
    width: 197px !important;
    min-width: 197px !important;
    max-width: 197px !important;
    margin: 0 !important;
  }
}

@media screen and (max-width: 1023px) {
  #payment-data .payment-group {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* Lista de botões dos métodos: empilha vertical sem gap (botões colados entre si) */
#payment-data .payment-group-list-btn {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Botão custom "Adicionar vale presente" SEMPRE como PRIMEIRO item, mesmo se o Knockout
   re-renderizar a lista e ele "fisicamente" voltar para o fim do DOM.
   Estilo: texto vermelho Herman Miller (#E22D00), sem bordas, transparente. */
#payment-data .payment-group-list-btn #payment-group-giftCardCustom {
  order: -1 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #e22d00 !important;
  text-decoration: none !important;
}

#payment-data .payment-group-list-btn #payment-group-giftCardCustom .payment-group-item-text {
  font-family: 'Söhne-Buch' !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
  color: #e22d00 !important;
  white-space: nowrap !important;
  width: auto !important;
  overflow: visible !important;
}

#payment-data .payment-group-list-btn #payment-group-giftCardCustom:hover,
#payment-data .payment-group-list-btn #payment-group-giftCardCustom.active {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: #e22d00 !important;
}

/* Força cor #E22D00 no texto do botão "Adicionar vale presente" em qualquer estado
   (default/hover/active). Especificidade extra (body + classe gift-card) p/ vencer
   qualquer regra herdada da VTEX. */
body #payment-data .payment-group-list-btn a.payment-group-item-gift-card,
body #payment-data .payment-group-list-btn a.payment-group-item-gift-card .payment-group-item-text,
body #payment-data .payment-group-list-btn a.payment-group-item-gift-card:hover .payment-group-item-text,
body #payment-data .payment-group-list-btn a.payment-group-item-gift-card.active .payment-group-item-text {
  color: #E22D00 !important;
}

/* Link nativo "Adicionar vale-presente" oculto permanentemente via CSS — evita
   "flick" quando o Knockout renderiza temporariamente antes do polling JS ocultar. */
.link.link-gift-card,
p.link.link-gift-card,
#show-gift-card-group,
#payment-data .link.link-gift-card,
#payment-data p.link.link-gift-card {
  display: none !important;
  visibility: hidden !important;
}

/* Estado "vale-presente ativo" — controlado por classe .gift-active no .steps-view (JS).
   Oculta TODOS os .payment-method nativos e mostra o .gift-card-section.
   Sem essa classe, Knockout controla a visibilidade dos .payment-method via fadeVisible. */
#payment-data .steps-view.gift-active .payment-method {
  display: none !important;
}

#payment-data .steps-view.gift-active .gift-card-section {
  display: block !important;
  visibility: visible !important;
}

/* Por default, .gift-card-section dentro do .steps-view fica oculto (mostra só quando .gift-active) */
#payment-data .steps-view .gift-card-section {
  display: none;
}

/* Mobile: input + botão "Adicionar" do vale-presente em coluna única, ambos 100% width */
@media screen and (max-width: 767px) {
  #payment-data .gift-card-section .payment-discounts-options.text.input.form-inline {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    grid-template-columns: none !important;
  }

  #payment-data .gift-card-section .payment-discounts-options.text.input.form-inline label {
    width: 100% !important;
    grid-column: auto !important;
  }

  #payment-data .gift-card-section .payment-discounts-options.text.input.form-inline input,
  #payment-data .gift-card-section #payment-discounts-code {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
    box-sizing: border-box !important;
  }

  #payment-data .gift-card-section .payment-discounts-options.text.input.form-inline button,
  #payment-data .gift-card-section #btn-add-gift-card {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
    box-sizing: border-box !important;
  }
}

/* Cada botão de método: 100% da coluna, borda 1px.
   Texto à esquerda, ícone (background-image nativo VTEX) à direita.
   O texto fica em flex item à esquerda; o background-image é posicionado à direita
   via background-position. Padding-right reserva espaço pro ícone. */
#payment-data .payment-group-list-btn .payment-group-item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border-width: 1px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  /* padding-right: 60px !important; */
}

/* Span do texto (filho do <a>): fica à esquerda; remove background dele caso o ícone
   esteja sendo aplicado no <span> ao invés de no <a>. */
#payment-data .payment-group-list-btn .payment-group-item .payment-group-item-text {
  background-position: right 16px center !important;
  background-repeat: no-repeat !important;
  flex: 0 0 auto !important;
  text-align: left !important;
  width: 90% !important;
}

/* Container dos dados de pagamento: ocupa o resto desktop (578px ~), 100% mobile.
   Sobrescreve transform/width inline aplicados por JS + regra L532 (450px @1200px) */
@media screen and (min-width: 1024px) {
  #payment-data .steps-view {
    grid-area: dados !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    margin: 0 !important;
    float: none !important;
    padding: 0 16px 16px 16px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    gap: 32px;
    background-color: #FAFAFA;
  }
}

@media screen and (max-width: 1023px) {
  #payment-data .steps-view {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    margin: 0 !important;
    float: none !important;
    padding: 16px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    gap: 32px;
  }
}

/* Força borda 1px + cor #D9D9D9 em qualquer elemento dentro de #payment-data com borda */
#payment-data .payment-group-item,
#payment-data .box-payment-option,
#payment-data .payment-method,
#payment-data input,
#payment-data select {
  border-width: 1px !important;
  border-color: #d9d9d9 !important;
}

.cart-template .cart-totalizers .summary-coupon-wrap .summary-coupon{
  display: flex !important;
  justify-content: center;
}

.cart-template .cart-totalizers .summary-coupon-wrap .summary-coupon .coupon-form .info{
  gap: 16px;
    display: flex;
    justify-content: center;
    width: fit-content;
    align-items: center;
}

.cart-template .cart-totalizers .summary-coupon-wrap .summary-coupon .coupon-form .info span{
  font-family: 'Söhne-Buch';
  font-weight: 600;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: -0.05px;
  text-align: center;
  color: #252525;
}

.cart-template .cart-totalizers .summary-coupon-wrap .summary-coupon .coupon-form .info .delete{
  height: fit-content;
}

.cart-template .cart-totalizers .summary-coupon-wrap .summary-coupon .coupon-form .info #cart-coupon-remove{
  font-size: 0;
  background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.5 3.125H10.875V2.5C10.875 2.13533 10.7301 1.78559 10.4723 1.52773C10.2144 1.26987 9.86467 1.125 9.5 1.125H6.5C6.13533 1.125 5.78559 1.26987 5.52773 1.52773C5.26987 1.78559 5.125 2.13533 5.125 2.5V3.125H2.5C2.40054 3.125 2.30516 3.16451 2.23483 3.23483C2.16451 3.30516 2.125 3.40054 2.125 3.5C2.125 3.59946 2.16451 3.69484 2.23483 3.76517C2.30516 3.83549 2.40054 3.875 2.5 3.875H3.125V13C3.125 13.2321 3.21719 13.4546 3.38128 13.6187C3.54538 13.7828 3.76794 13.875 4 13.875H12C12.2321 13.875 12.4546 13.7828 12.6187 13.6187C12.7828 13.4546 12.875 13.2321 12.875 13V3.875H13.5C13.5995 3.875 13.6948 3.83549 13.7652 3.76517C13.8355 3.69484 13.875 3.59946 13.875 3.5C13.875 3.40054 13.8355 3.30516 13.7652 3.23483C13.6948 3.16451 13.5995 3.125 13.5 3.125ZM5.875 2.5C5.875 2.33424 5.94085 2.17527 6.05806 2.05806C6.17527 1.94085 6.33424 1.875 6.5 1.875H9.5C9.66576 1.875 9.82473 1.94085 9.94194 2.05806C10.0592 2.17527 10.125 2.33424 10.125 2.5V3.125H5.875V2.5ZM12.125 13C12.125 13.0332 12.1118 13.0649 12.0884 13.0884C12.0649 13.1118 12.0332 13.125 12 13.125H4C3.96685 13.125 3.93505 13.1118 3.91161 13.0884C3.88817 13.0649 3.875 13.0332 3.875 13V3.875H12.125V13ZM6.875 6.5V10.5C6.875 10.5995 6.83549 10.6948 6.76516 10.7652C6.69484 10.8355 6.59946 10.875 6.5 10.875C6.40054 10.875 6.30516 10.8355 6.23484 10.7652C6.16451 10.6948 6.125 10.5995 6.125 10.5V6.5C6.125 6.40054 6.16451 6.30516 6.23484 6.23484C6.30516 6.16451 6.40054 6.125 6.5 6.125C6.59946 6.125 6.69484 6.16451 6.76516 6.23484C6.83549 6.30516 6.875 6.40054 6.875 6.5ZM9.875 6.5V10.5C9.875 10.5995 9.83549 10.6948 9.76517 10.7652C9.69484 10.8355 9.59946 10.875 9.5 10.875C9.40054 10.875 9.30516 10.8355 9.23483 10.7652C9.16451 10.6948 9.125 10.5995 9.125 10.5V6.5C9.125 6.40054 9.16451 6.30516 9.23483 6.23484C9.30516 6.16451 9.40054 6.125 9.5 6.125C9.59946 6.125 9.69484 6.16451 9.76517 6.23484C9.83549 6.30516 9.875 6.40054 9.875 6.5Z" fill="%23616161"/></svg>');    width: 16px;
  width: 16px;
  height: 16px;
  display: flex;
  background-position: center;
  background-repeat: no-repeat;
}

#vtexIdContainer {
    position: fixed !important;
}
