/* Carrinho Tycket — layout geral + faixa sucesso + bloco inferior (tabela em cart-page-table.css) */
:root { --tycket-cart-osc-header-h: 79px; }
@media only screen and (min-width: 770px) {
  body.checkout-cart-index main.page {
    padding-top: var(--tycket-cart-osc-header-h);
    box-sizing: border-box;
  }
}
body.checkout-cart-index .header-container-osc { border-bottom: 1px solid #e5e5e5; }
body.checkout-cart-index .col-main { font-family: "Open Sans", Arial, Helvetica, sans-serif; }
body.checkout-cart-index .header-osc .top-itens span {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 400;
  font-size: 14px;
  color: #1d1d1b !important;
}
body.checkout-cart-index .tycket-cart-page { max-width: 100%; padding-bottom: 24px; float: none; width: 100%; box-sizing: border-box; }
body.checkout-cart-index .cart.tycket-cart-page form {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: stretch;
  box-sizing: border-box;
}
body.checkout-cart-index .cart.tycket-cart-page form > fieldset {
  margin: 0;
  padding: 0;
  border: none;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
body.checkout-cart-index .cart.tycket-cart-page form > .tycket-cart-bottom {
  float: none;
  clear: both;
}
.tycket-cart-success {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #e6f4d7;
}
.tycket-cart-success-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3c763d;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  font-family: "Open Sans", Arial, sans-serif;
}
.tycket-cart-success p {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  color: #3c763d;
}
body.checkout-cart-index .cart-page-title { display: none; }
.tycket-cart-page .tycket-cart-table-wrap { width: 100%; overflow-x: auto; margin: 0; }
.tycket-cart-bottom { margin-top: 20px; width: 100%; box-sizing: border-box; min-width: 0; }

/* Fluxo principal: primeiro "Continuar", depois as 3 caixas em LINHA ocupando largura inteira —
   antes estavam na mesma row flex que espremia as colunas contra a lateral. */
.tycket-cart-bottom-grid {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  width: 100%;
}

.tycket-cart-continue-col {
  flex: none;
  width: auto;
  max-width: min(280px, 100%);
}

.tycket-cart-columns {
  width: 100%;
  flex: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  box-sizing: border-box;
  min-width: 0;
}
.tycket-btn-continue-shopping {
  display: block;
  width: 100%;
  padding: 16px 18px;
  background: #1d1d1b;
  color: #fff;
  border: none;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}
.tycket-btn-continue-shopping:hover { background: #333; color: #fff; }
.tycket-cart-box {
  border: 1px solid #e5e5e5;
  padding: 14px 12px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  background: #fff;
  overflow-wrap: break-word;
}
.tycket-cart-box.tycket-box-print { border-color: #00aeef; text-align: center; }
.tycket-box-print .tycket-print-main {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  color: #00aeff;
  line-height: 1.45;
}
.tycket-box-print .tycket-print-note {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  color: #888888;
  line-height: 1.45;
}
.tycket-box-coupon .tycket-coupon-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #666666;
}
.tycket-box-coupon .tycket-coupon-title i { color: #999999; font-size: 15px; }
.tycket-coupon-row { display: flex; gap: 0; flex-wrap: nowrap; align-items: stretch; }
.tycket-coupon-row input[type="text"] {
  flex: 1 1 auto;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #cccccc;
  font-size: 13px;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  box-sizing: border-box;
}
.tycket-btn-use-coupon {
  flex-shrink: 0;
  padding: 8px 12px;
  background: #00aeef;
  color: #fff;
  border: 1px solid #00aeef;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  cursor: pointer;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  white-space: nowrap;
}
.tycket-btn-use-coupon:hover { background: #0095d0; border-color: #0095d0; }
.tycket-box-summary { display: flex; flex-direction: column; gap: 12px; }
.tycket-summary-lines { font-size: 13px; color: #333333; }
.tycket-summary-lines .tycket-sum-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
  gap: 10px;
}
.tycket-summary-lines .tycket-sum-row:last-of-type:not(.tycket-sum-total) { margin-bottom: 0; }
.tycket-summary-lines .tycket-sum-row.tycket-sum-total {
  margin-top: 6px;
  margin-bottom: 0;
  padding-top: 8px;
  border-top: 1px solid #e5e5e5;
  font-size: 15px;
  font-weight: 700;
  color: #000;
}
.tycket-summary-lines .tycket-sum-row.tycket-sum-total span:last-child { font-size: 20px; }
.tycket-btn-fechar-pedido {
  width: 100%;
  padding: 14px 16px;
  background: #76a740;
  color: #fff;
  border: none;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  box-sizing: border-box;
}
.tycket-btn-fechar-pedido:hover { background: #658c36; }
@media only screen and (max-width: 959px) {
  .tycket-cart-columns { grid-template-columns: 1fr; }
}

@media only screen and (max-width: 520px) {
  .tycket-coupon-row { flex-wrap: wrap; }
  .tycket-btn-use-coupon { flex: 1 1 auto; width: 100%; }
}
