/* Modal de Compra de Ingressos - Cara de Mau - UI Fiel ao Print */
.modal-compra-cdm {position:fixed;z-index:9999;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;}
.modal-compra-overlay {position:absolute;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.7);}
.modal-compra-content {position:relative;z-index:2;background:#181818;border-radius:18px;max-width:430px;width:95vw;max-height:95vh;overflow-y:auto;box-shadow:0 8px 32px #000a;padding:0;display:flex;flex-direction:column;align-items:center;}
.modal-compra-close {position:absolute;top:16px;right:24px;font-size:2.2rem;background:none;border:none;color:#fff;cursor:pointer;z-index:3;transition:color .2s;}
.modal-compra-close:hover {color:#ffb300;}
.modal-compra-header {width:100%;border-radius:18px 18px 0 0;overflow:hidden;position:relative;}
.modal-compra-header-img {width:100%;height:180px;object-fit:cover;filter:brightness(0.7);border-radius:18px 18px 0 0;}
.modal-compra-header-title {position:absolute;bottom:12px;left:24px;color:#fff;font-size:1.5rem;font-weight:700;text-shadow:0 2px 8px #000a;letter-spacing:1px;}
.modal-compra-etapas {padding:0 0 24px 0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;}
.modal-compra-progress {width:100%;height:6px;background:#292929;border-radius:3px;margin-bottom:24px;overflow:hidden;}
.modal-compra-progress-bar {height:100%;background:#ffb300;width:0;transition:width .3s;}

/* Etapa: Seleção de Data */
.modal-compra-etapa-title {font-size:1.5rem;font-weight:700;color:#fff;margin:32px 0 18px 0;text-align:center;font-family:'Montserrat',sans-serif;}
.modal-compra-data-nav {display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:10px;}
.modal-compra-data-arrow {background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;fill:#fff;opacity:0.7;transition:opacity .2s;}
.modal-compra-data-arrow:disabled {opacity:0.2;cursor:not-allowed;}
.modal-compra-data-arrow svg {width:28px;height:28px;}
.modal-compra-data-mes {font-size:1.1rem;color:#e2c98f;font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:1px;}
.modal-compra-data-dia {font-size:3.2rem;color:#ffe7a0;font-family:'Bold Riley',sans-serif;line-height:1;margin:0;}
.modal-compra-data-dia-semana {font-size:1.1rem;color:#fff;font-family:'Montserrat',sans-serif;opacity:0.8;}
.modal-compra-data-card {display:flex;flex-direction:column;align-items:center;min-width:90px;}
.modal-compra-data-card.inativo {opacity:1;}
.modal-compra-temporada-box {display:flex;gap:8px;justify-content:center;margin:10px 0 0 0;}
.modal-compra-temporada-btn {border:2px dashed #fff;background:none;color:#fff;padding:4px 10px;border-radius:8px;font-size:0.95rem;display:flex;align-items:center;gap:6px;font-family:'Montserrat',sans-serif;cursor:pointer;transition:border .2s,color .2s;min-width:90px;}
.modal-compra-temporada-btn.ativo {border:2px dashed #00ffd0;color:#00ffd0;}
.modal-compra-temporada-btn.alta {border:2px dashed #00ffd0;color:#00ffd0;}
.modal-compra-temporada-btn[disabled] {opacity:0.3;cursor:not-allowed;}
.modal-compra-temporada-btn svg {width:18px;height:18px;}
.modal-compra-temporada-legenda {font-size:0.9rem;color:#fff;opacity:0.7;margin-top:6px;text-align:center;}

/* Etapa: Sessão */
.modal-compra-sessoes {display:flex;gap:18px;justify-content:center;margin:24px 0 18px 0;flex-wrap:wrap;}
.modal-compra-sessao-btn {background:none;border:none;color:#fff;font-size:2.1rem;font-family:'Montserrat',sans-serif;font-weight:700;padding:18px 24px;border-radius:12px;transition:background .2s,color .2s;cursor:pointer;position:relative;min-width:160px;}
.modal-compra-sessao-btn.ativo, .modal-compra-sessao-btn:hover {background:#222;color:#ffe7a0;}
.modal-compra-sessao-ajuda {margin-left:8px;vertical-align:middle;cursor:pointer;}

/* Etapa: Pessoas */
.modal-compra-pessoas-box {display:flex;gap:18px;justify-content:center;margin:24px 0 18px 0;}
.modal-compra-pessoa-card {display:flex;flex-direction:column;align-items:center;min-width:90px;}
.modal-compra-pessoa-icone {margin-bottom:4px;}
.modal-compra-pessoa-icone img {width:32px;height:32px;display:block;margin:0 auto;}
.modal-compra-pessoa-label {font-size:1.1rem;font-family:'Montserrat',sans-serif;color:#fff;}
.modal-compra-pessoa-desc {font-size:0.9rem;color:#fff;opacity:0.7;}
.modal-compra-pessoa-contador {display:flex;align-items:center;gap:8px;margin:8px 0;}
.modal-compra-pessoa-btn {background:#292929;color:#fff;border:none;width:36px;height:36px;border-radius:8px;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;box-shadow:0 2px 8px #000a;margin:0 2px;}
.modal-compra-pessoa-btn:active {background:#444;}
.modal-compra-pessoa-valor {font-size:0.95rem;color:#ffe7a0;margin-top:2px;}

/* Etapa: Resumo/Carrinho */
.modal-compra-carrinho {background:#222;border-radius:10px;padding:16px 12px;margin-bottom:18px;width:100%;color:#fff;}
.modal-compra-carrinho-row {display:flex;justify-content:space-between;margin-bottom:6px;}
.modal-compra-carrinho-total {font-size:1.3rem;font-weight:700;margin-top:10px;}
.modal-compra-carrinho-preco-antigo {font-size:1.1rem;color:#aaa;text-decoration:line-through;opacity:0.7;}
.modal-compra-carrinho-preco-novo {font-size:2.2rem;color:#ffe7a0;font-family:'Bold Riley',sans-serif;}
.modal-compra-carrinho-parcela {font-size:1rem;color:#fff;opacity:0.8;}
.modal-compra-carrinho-cidade {font-size:1.1rem;color:#fff;margin:18px 0 0 0;text-align:center;}

/* Botão Continuar */
.modal-compra-btn-continuar {margin:24px auto 0 auto;display:block;padding:18px 0;width:90%;max-width:340px;border-radius:10px;border:2px solid #831c1a;background-color:#ac2724;background-image:url('../images/textura-btn.png');background-position:50% 50%;background-size:cover;background-repeat:no-repeat;font-family:'Bold Riley',sans-serif;font-size:2rem;color:#fff;text-align:center;transition:background .2s,border .2s;box-shadow:0 2px 12px #000a;}
.modal-compra-btn-continuar:hover {border-color:#fff;background-color:#831c1a;}

/* Seleção de mês */
.modal-compra-mes-select-box {display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;}
.modal-compra-mes-select {background:#222;color:#ffe7a0;border:2px solid #ffe7a0;border-radius:8px;padding:6px 18px;font-size:1.1rem;font-family:'Montserrat',sans-serif;font-weight:600;cursor:pointer;}

/* Navegação de mês e data */
.modal-compra-mes-nav {display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;}
.modal-compra-mes-arrow {background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;fill:#ffe7a0;opacity:0.8;transition:opacity .2s;}
.modal-compra-mes-arrow:disabled {opacity:0.2;cursor:not-allowed;}
.modal-compra-mes-arrow svg {width:28px;height:28px;}
.modal-compra-mes-label {font-size:1.3rem;color:#ffe7a0;font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:1px;min-width:120px;text-align:center;}

/* Botões grandes */
.modal-compra-btn-continuar, .modal-compra-btn-voltar {margin:24px auto 0 auto;display:block;padding:18px 0;width:90%;max-width:340px;border-radius:10px;font-family:'Bold Riley',sans-serif;font-size:2rem;text-align:center;transition:background .2s,border .2s;box-shadow:0 2px 12px #000a;}
.modal-compra-btn-continuar {border:2px solid #831c1a;background-color:#ac2724;background-image:url('../images/textura-btn.png');background-position:50% 50%;background-size:cover;background-repeat:no-repeat;color:#fff;}
.modal-compra-btn-continuar:hover {border-color:#fff;background-color:#831c1a;}
.modal-compra-btn-voltar {border:2px solid #444;background-color:#292929;color:#fff;}
.modal-compra-btn-voltar:hover {border-color:#fff;background-color:#444;}

/* Seções e espaçamentos */
.modal-compra-etapa-title {font-size:2rem;font-weight:700;color:#fff;margin:38px 0 22px 0;text-align:center;font-family:'Montserrat',sans-serif;letter-spacing:1px;}
.modal-compra-section-desc {font-size:1.15rem;color:#fff;opacity:0.85;margin-bottom:18px;text-align:center;line-height:1.5;}

/* Valor total na etapa de pessoas */
.modal-compra-total-box {margin:18px 0 0 0;text-align:center;}
.modal-compra-total-label {font-size:1.1rem;color:#ffe7a0;}
.modal-compra-total-value {font-size:2.1rem;color:#ffe7a0;font-family:'Bold Riley',sans-serif;}

/* Mais ícones */
.modal-compra-icone {display:inline-block;vertical-align:middle;margin-right:6px;}

/* Mapa de mesas aprimorado */
.modal-compra-mapa-mesas-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin: 0 auto 80px auto;
  min-height: 600px;
  max-width: 100vw;
  overflow-x: hidden;
}

.modal-compra-mapa-mesas-box {
  background: #181818;
  border-radius: 18px;
  padding: 32px 18px 18px 18px;
  box-shadow: 0 2px 24px #000a;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 340px;
  width: 100%;
  max-width: 900px;
  position: relative;
}

.modal-compra-mapa-mesas-legend-col {display:flex;flex-direction:column;gap:10px;align-items:flex-start;justify-content:flex-start;margin:18px 0 0 0;min-width:120px;}
.modal-compra-mapa-mesas-legend-item {display:flex;align-items:center;gap:8px;font-size:1rem;}
.modal-compra-mapa-mesas-legend-dot {width:18px;height:18px;border-radius:50%;display:inline-block;}
.modal-compra-mapa-mesas-legend-dot.disponivel {background:#e74c3c;}
.modal-compra-mapa-mesas-legend-dot.indisponivel {background:#444;}
.modal-compra-mapa-mesas-legend-dot.selecionada {background:#00ffd0;}

/* Data selecionada com tracejado dinâmico */
.modal-compra-data-card.selected {border:3px dashed #fff;border-radius:12px;padding:6px 12px;}
.modal-compra-data-card.selected.alta {border-color:#00ffd0;}

/* Botões premium padrão */
.modal-compra-btn-continuar, .modal-compra-btn-voltar, .modal-compra-btn-escolher-mesa, .modal-compra-btn-confirmar {margin:24px auto 0 auto;display:block;padding:18px 0;width:90%;max-width:340px;border-radius:10px;font-family:'Bold Riley',sans-serif;font-size:2rem;text-align:center;transition:background .2s,border .2s;box-shadow:0 2px 12px #000a;}
.modal-compra-btn-continuar, .modal-compra-btn-confirmar {border:2px solid #831c1a;background-color:#ac2724;background-image:url('../images/textura-btn.png');background-position:50% 50%;background-size:cover;background-repeat:no-repeat;color:#fff;}
.modal-compra-btn-continuar:hover, .modal-compra-btn-confirmar:hover {border-color:#fff;background-color:#831c1a;}
.modal-compra-btn-voltar, .modal-compra-btn-escolher-mesa {border:2px solid #444;background-color:#292929;color:#fff;}
.modal-compra-btn-voltar:hover, .modal-compra-btn-escolher-mesa:hover {border-color:#fff;background-color:#444;}

/* Botões de sessão (azul premium) */
.modal-compra-btn-sessao {border:2px solid #3013b1;background-color:#3013b1;color:#fff;margin:0 8px 0 0;padding:16px 0;min-width:160px;border-radius:10px;font-family:'Bold Riley',sans-serif;font-size:1.5rem;text-align:center;transition:background .2s,border .2s;box-shadow:0 2px 12px #000a;display:inline-block;}
.modal-compra-btn-sessao.ativo, .modal-compra-btn-sessao:hover {background:#222;color:#ffe7a0;border-color:#ffe7a0;}

/* Mapa de mesas ainda maior e centralizado */
.modal-compra-mapa-mesas-svg {width:100%;max-width:1400px;height:1400px;display:block;margin:0 auto;aspect-ratio:1/1;}
.mesa-svg {cursor:pointer;transition:filter .2s,stroke .2s;}
.mesa-svg.disponivel {filter:none;stroke:#00ffd0;}
.mesa-svg.indisponivel {filter:grayscale(1) brightness(0.5);stroke:#444;cursor:not-allowed;}
.mesa-svg.selecionada {filter:none;stroke:#ff4e4e;stroke-width:8;}
/* Remover sobrescrita de tamanho e posição das mesas no CSS para não desalinhar o SVG */
.mesa-svg rect {
  /* Remover width, height, x, y, stroke-width forçados */
}
.mesa-svg.disponivel rect {stroke:#00ffd0;}
.mesa-svg.selecionada rect {stroke:#ff4e4e;}
.mesa-svg.vip rect {fill:#3013b1;stroke:#00ffd0;}
.mesa-svg.vip.selecionada rect {stroke:#ff4e4e;}
.mesa-svg.vip text {font-size:28px;fill:#00ffd0;}
.mesa-svg text {font-family:'Montserrat',sans-serif;font-size:28px;fill:#fff;pointer-events:none;}

.modal-compra-mapa-mesas-svg {
  width: 100%;
  max-width: 700px;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  margin: 0 auto;
}

@media (min-width: 1200px) {
  .modal-compra-mapa-mesas-svg {
    max-width: 600px;
    margin: 0 auto;
  }
  .modal-compra-mapa-mesas-box {
    max-width: 700px;
    padding: 32px 32px 32px 32px;
  }
}

/* Botão de continuar/pagamento sempre visível */
.modal-compra-mapa-mesas-box .modal-compra-btn-continuar {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 32px auto 0 auto;
  z-index: 10;
  background: #ac2724;
  border: 2px solid #831c1a;
  width: 90%;
  max-width: 340px;
}

@media (max-width: 900px) {
  .modal-compra-mapa-mesas-svg {
    max-width: 99vw;
    height: auto;
  }
  .modal-compra-mapa-mesas-box {
    padding: 12px 2vw 12px 2vw;
    min-width: unset;
    width: 100%;
    max-width: 99vw;
  }
}

/* Botão pagamento */
.modal-compra-btn-pagamento {margin:32px auto 0 auto;display:block;padding:18px 0;width:90%;max-width:340px;border-radius:10px;border:2px solid #831c1a;background-color:#ac2724;background-image:url('../images/textura-btn.png');background-position:50% 50%;background-size:cover;background-repeat:no-repeat;font-family:'Bold Riley',sans-serif;font-size:2rem;color:#fff;text-align:center;transition:background .2s,border .2s;box-shadow:0 2px 12px #000a;}
.modal-compra-btn-pagamento:hover {border-color:#fff;background-color:#831c1a;}

/* Bloco informativo inicial */
.modal-compra-info-bloco {background:#222;border-radius:12px;padding:18px 18px 14px 18px;margin:24px 0 18px 0;color:#ffe7a0;font-size:1.1rem;line-height:1.6;box-shadow:0 2px 12px #000a;}
.modal-compra-info-bloco strong{color:#fff;}

/* Responsivo */
@media (max-width:1400px) {.modal-compra-mapa-mesas-svg{max-width:99vw;height:99vw;}.modal-compra-mapa-mesas-area{gap:18px;min-height:400px;}.modal-compra-mapa-mesas-box{min-width:unset;padding:24px 2vw 24px 2vw;}}
@media (max-width:600px) {.modal-compra-mapa-mesas-svg{max-width:99vw;height:99vw;}.modal-compra-mapa-mesas-area{min-height:unset;}.modal-compra-mapa-mesas-box{padding:12px 2vw 12px 2vw;}} 

html, body { touch-action:manipulation; overscroll-behavior:none; }
input, textarea, select, button { touch-action:manipulation; }
body { -webkit-user-select:none; -webkit-touch-callout:none; -webkit-text-size-adjust:100%; -webkit-tap-highlight-color:transparent; }
@viewport { user-zoom:fixed; min-zoom:1; max-zoom:1; } 

.modal-compra-data-nav-numeros {display:flex;gap:8px;justify-content:center;margin:18px 0;}
.modal-compra-data-num {background:none;border:2px solid #00ffd0;color:#00ffd0;font-size:1.2rem;font-family:'Montserrat',sans-serif;font-weight:700;border-radius:8px;padding:6px 16px;cursor:pointer;transition:background .2s,color .2s,border .2s;}
.modal-compra-data-num.selected {background:#00ffd0;color:#181818;}
.modal-compra-data-num:hover {background:#00ffd0;color:#181818;} 

.modal-compra-cdm {max-width:100vw;max-height:100vh;}
.modal-compra-content {max-width:1500px;width:98vw;min-height:900px;}

.modal-compra-mapa-mesas-svg {
  width: 100%;
  max-width: 700px;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  margin: 0 auto 0 5vw;
  overflow-x: hidden;
}

.modal-compra-mapa-mesas-area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 32px;
  margin: 0 auto 80px auto;
  min-height: 600px;
  max-width: 100vw;
  overflow-x: hidden;
}

.modal-compra-mapa-mesas-box {
  background: #181818;
  border-radius: 18px;
  padding: 32px 18px 18px 18px;
  box-shadow: 0 2px 24px #000a;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 340px;
  width: 100%;
  max-width: 100vw;
}

.modal-compra-mapa-mesas-svg {
  width: 100%;
  max-width: 98vw;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .modal-compra-mapa-mesas-legend-col {
    gap: 14px;
    margin-bottom: 18px;
  }
  .modal-compra-mapa-mesas-area {
    min-height: unset;
    margin-bottom: 40px;
  }
  .modal-compra-mapa-mesas-box {
    padding: 12px 2vw 12px 2vw;
    min-width: unset;
    width: 100%;
  }
  .modal-compra-mapa-mesas-svg {
    max-width: 99vw;
    height: auto;
  }
}

@media (min-width: 901px) {
  .modal-compra-mapa-mesas-area {
    margin: 0 auto !important;
    min-height: 0 !important;
    gap: 0 !important;
    padding: 0 !important;
    height: auto !important;
    justify-content: flex-start !important;
  }
  .modal-compra-mapa-mesas-box {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
  }
  .modal-compra-mapa-mesas-svg {
    max-height: 60vh !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }
}

@media (max-width:1800px) {.modal-compra-mapa-mesas-svg{max-width:99vw;height:99vw;}.modal-compra-mapa-mesas-area{gap:18px;min-height:400px;}.modal-compra-mapa-mesas-box{min-width:unset;padding:24px 2vw 24px 2vw;}}
@media (max-width:900px) {
  .modal-compra-mapa-mesas-area {
    min-height: unset;
    margin-bottom: 120px;
  }
  .modal-compra-mapa-mesas-box {
    padding: 12px 2vw 12px 2vw;
  }
} 

.modal-compra-data-card.inativo {opacity:1;}

.modal-compra-mapa-mesas-area {display:flex;justify-content:flex-start;align-items:center;gap:48px;margin:0 auto;min-height:1800px;max-width:100vw;}
.modal-compra-mapa-mesas-box {background:#181818;border-radius:18px;padding:100px 60px 60px 60px;box-shadow:0 2px 24px #000a;display:flex;flex-direction:column;align-items:center;min-width:1200px;}
.modal-compra-mapa-mesas-svg {width:100%;max-width:1800px;height:1800px;display:block;margin:0 auto;aspect-ratio:1/1;}

.modal-compra-mapa-mesas-legend-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  justify-content: center;
  margin: 0 0 32px 0;
  width: 100%;
  padding-left: 0;
  text-align: center;
}

.modal-compra-mapa-mesas-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin: 0 auto 80px auto;
  min-height: 600px;
  max-width: 100vw;
}

.modal-compra-mapa-mesas-box {
  background: #181818;
  border-radius: 18px;
  padding: 32px 18px 18px 18px;
  box-shadow: 0 2px 24px #000a;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 340px;
  width: 100%;
  max-width: 100vw;
}

.modal-compra-mapa-mesas-svg {
  width: 100%;
  max-width: 98vw;
  height: auto;
  aspect-ratio: 1/1;
  display: block;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .modal-compra-mapa-mesas-legend-col {
    gap: 14px;
    margin-bottom: 18px;
  }
  .modal-compra-mapa-mesas-area {
    min-height: unset;
    margin-bottom: 40px;
  }
  .modal-compra-mapa-mesas-box {
    padding: 12px 2vw 12px 2vw;
    min-width: unset;
    width: 100%;
  }
  .modal-compra-mapa-mesas-svg {
    max-width: 99vw;
    height: auto;
  }
}

@media (max-width:1800px) {.modal-compra-mapa-mesas-svg{max-width:99vw;height:99vw;}.modal-compra-mapa-mesas-area{gap:18px;min-height:400px;}.modal-compra-mapa-mesas-box{min-width:unset;padding:24px 2vw 24px 2vw;}}
@media (max-width:900px) {
  .modal-compra-mapa-mesas-area {
    min-height: unset;
    margin-bottom: 120px;
  }
  .modal-compra-mapa-mesas-box {
    padding: 12px 2vw 12px 2vw;
  }
} 

.checkout-premium-box { display: flex; flex-wrap: wrap; gap: 32px; background: #181818; border-radius: 18px; padding: 32px; justify-content: center; }
.checkout-premium-form { flex: 1 1 320px; background: #222; border-radius: 12px; padding: 24px; min-width: 260px; }
.checkout-premium-summary { flex: 1 1 260px; background: #222; border-radius: 12px; padding: 24px; min-width: 220px; }
.checkout-title { font-family: 'Bold Riley',sans-serif; color: #ffe7a0; font-size: 2rem; margin-bottom: 8px; }
.checkout-desc { color: #fff; opacity: 0.8; margin-bottom: 18px; }
.checkout-form-row { display: flex; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.checkout-form-row input { flex: 1; padding: 12px; border-radius: 8px; border: 1px solid #444; background: #181818; color: #fff; font-size: 1.1rem; min-width: 0; }
.checkout-btn-pix, .pix-btn-copiar.premium-green {
  width: 100%;
  background: #009688;
  color: #fff;
  font-family: 'Bold Riley',sans-serif;
  font-size: 1.3rem;
  border: none;
  border-radius: 10px;
  padding: 18px 0;
  margin-top: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px #000a;
  transition: background .2s;
}
.checkout-btn-pix img, .pix-btn-copiar img { margin-right: 10px; filter: drop-shadow(0 1px 2px #000); }
.checkout-btn-pix:hover, .pix-btn-copiar.premium-green:hover { background: #00796b; }

.checkout-summary-title { color: #ffe7a0; font-size: 1.2rem; margin-bottom: 12px; }
.checkout-summary-row { color: #fff; margin-bottom: 6px; }
.checkout-summary-total { color: #00ffd0; font-size: 1.3rem; margin: 18px 0; }
.checkout-summary-safe { color: #00ffd0; background: #181818; border-radius: 8px; padding: 8px 0; font-size: 1rem; display: flex; align-items: center; gap: 8px; }
.checkout-safe-icon {
  width: 22px;
  height: 22px;
  vertical-align: middle;
  margin-right: 8px;
  filter: drop-shadow(0 1px 2px #00ffd0);
}
#erro-mesa-obrigatoria {
  color: #ff4e4e;
  background: #222;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 1.1rem;
  font-family: 'Montserrat', sans-serif;
  margin-top: 18px;
  text-align: center;
  box-shadow: 0 2px 8px #0003;
}
.checkout-erro { color: #ff4e4e; margin-top: 12px; }
.checkout-loading { color: #ffe7a0; margin-top: 12px; }
.pix-checkout-box { background: #222; border-radius: 12px; padding: 24px; margin-top: 18px; }
.pix-title { color: #00ffd0; font-size: 1.2rem; margin-bottom: 8px; }
.pix-qrcode { width: 180px; height: 180px; border-radius: 12px; border: 3px solid #00ffd0; background: #fff; }
.pix-desc { color: #fff; margin: 12px 0 6px 0; }
.pix-codigo { background: #181818; color: #00ffd0; padding: 10px; border-radius: 8px; font-size: 1.1rem; word-break: break-all; }
.pix-btn-copiar { background: #009688; color: #fff; border: none; border-radius: 8px; padding: 10px 24px; margin-top: 10px; font-family: 'Bold Riley',sans-serif; font-size: 1.1rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pix-btn-copiar img { margin-right: 8px; }
.pix-btn-copiar:hover { background: #00796b; }
@media (max-width: 900px) {
  .checkout-premium-box { flex-direction: column; padding: 12px; gap: 18px; }
  .checkout-premium-form, .checkout-premium-summary { padding: 12px; min-width: unset; }
  .pix-qrcode { width: 120px; height: 120px; }
  .checkout-form-row { flex-direction: column; gap: 8px; }
} 

.checkout-aviso-cartao {
  background: #b71c1c;
  color: #fff;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 16px 0 0 0;
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Montserrat', sans-serif;
  box-shadow: 0 2px 8px #0003;
}
.checkout-aviso-cartao img { filter: drop-shadow(0 1px 2px #000); } 

/* Forçar modal de compra a ter dimensões de celular em qualquer tela */
.modal-compra-content {
  max-width: 430px !important;
  width: 100vw !important;
  min-width: 320px !important;
  min-height: 100vh !important;
  max-height: 95vh !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 32px #000a !important;
  padding: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  top: 0 !important;
  bottom: 0 !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

@media (min-width: 431px) {
  .modal-compra-content {
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
  }
}
