:root{
    /* troque a cor da marca se quiser (#923118 era a sua anterior) */
    --brand: #1f5aa6;
    --ink: #222;
    --muted: #6b7280;
    --line: #e5e7eb;
}

.tab-menu{
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 4px 6px;
    /* border-bottom:1px solid var(--line); */
    overflow-x:auto;
    scroll-snap-type:x mandatory;
}
.tab-menu::-webkit-scrollbar{ display:none; }
.tab-item{
    position:relative;
    list-style:none;
    padding:10px 14px;
    border-radius:10px;
    font-size: 13px;
    color:var(--muted);
    font-weight:600;
    white-space:nowrap;
    cursor:pointer;
    transition:color .2s ease, background-color .2s ease, transform .15s ease;
    scroll-snap-align:start;
    outline: none;
}
.tab-item:hover{ color:var(--brand); background:#f6f8fb; }

/* underline animado */
.tab-item::after{
    content:"";
    position:absolute;
    left:10px; right:10px; bottom:-7px;
    height:3px; border-radius:3px;
    background:var(--brand);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .25s ease;
}

.tab-item.active::after{ transform:scaleX(1); }

/* acessibilidade */
.tab-item:focus-visible{
  box-shadow:0 0 0 3px rgba(31,90,166,.25);
  background:#f6f8fb;
}

/* conteúdo das abas */
.tab-content{ display:none; padding:16px 0; }
.tab-content.active{ display:block; }

/* botão localização (mantive o seu) */
.btn-local{
    margin: 4px 44px 14px;
    border: none;
    padding: 8px 12px;
    border-radius: 20px;
    color: #fff;
    font-weight: 700;
}

.btn-address{
    border: none;
    padding: 8px 12px;
    border-radius: 20px;
    color: #fff;
    font-weight: 700;
}

/* mapa */
#map{ height:200px; width:100%; border-radius:6px; margin:10px 0; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* Caixa do radio + texto + detalhe (endereço) */
.opcao-pagamento{
  display: grid;
  grid-template-columns: 22px 1fr; 
  align-items: center;
  border-radius: 10px;
  background: #fff;
  gap: 10px;
  padding: 12px 16px;
  border: 2px solid #ccc;
  cursor: pointer;
  transition: all 0.2s ease;
}

.opcao-pagamento.selected {
  border-color: #0066cc;
  background-color: #eaf4ff;
}

.opcao-pagamento:hover {
    background-color: #f7f7f7;
}

/* radio alinhado na 1ª coluna, 1ª linha */
.opcao-pagamento input[type="radio"]{
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  justify-self: center;
}

/* “Usar endereço cadastrado” na 2ª coluna, 1ª linha */
.opcao-pagamento > span{
  grid-column: 2;
  grid-row: 1;
  font-weight: 600;
}

/* O bloco com o endereço (seu <small>) na 2ª coluna, 2ª linha — abaixo do span */
.opcao-pagamento > small{
  grid-column: 2;
  grid-row: 2;
  display: block;
  font-size: 13px;
  color: #374151;
  border-radius: 8px;
}