    .secao {
      padding: 1.25rem 1.4rem;
      border-bottom: 1px solid #f2f2f2;
    }
    .secao:last-child { border-bottom: none; }

    /* ── título da seção ── */
    .secao-titulo {
      display: flex;
      align-items: center;
      gap: .55rem;
      margin-bottom: 1rem;
    }
    .secao-titulo .icone {
      width: 32px; height: 32px;
      background: #fff0f1;
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem;
      flex-shrink: 0;
    }
    .secao-titulo h3 {
      font-size: .85rem;
      font-weight: 700;
      color: #1a1a1a;
      letter-spacing: .01em;
      text-transform: uppercase;
    }

    /* ── endereço ── */
    .endereco-linha {
      display: flex;
      flex-direction: column;
      gap: .2rem;
    }
    .endereco-rua {
      font-size: .95rem;
      font-weight: 600;
      color: #1a1a1a;
    }
    .endereco-complemento {
      font-size: .82rem;
      color: #777;
    }
    .endereco-link {
      display: inline-flex;
      align-items: center;
      gap: .3rem;
      margin-top: .6rem;
      font-size: .78rem;
      font-weight: 600;
      color: #EA1D2C;
      text-decoration: none;
      transition: opacity .2s;
    }
    .endereco-link:hover { opacity: .75; }

    /* ── horários ── */
    .horario-bloco {
      display: flex;
      flex-direction: column;
      gap: .6rem;
    }
    .horario-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: #fafafa;
      border-radius: 10px;
      padding: .7rem 1rem;
      border: 1px solid #f0f0f0;
    }
    .horario-label {
      display: flex;
      align-items: center;
      gap: .5rem;
      font-size: .82rem;
      font-weight: 600;
      color: #333;
    }
    .horario-label span.tag {
      background: #fff0f1;
      color: #EA1D2C;
      font-size: .65rem;
      font-weight: 700;
      padding: .15rem .45rem;
      border-radius: 20px;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .horario-tempo {
      font-size: .82rem;
      font-weight: 700;
      color: #1a1a1a;
      font-variant-numeric: tabular-nums;
    }
    .horario-tempo .sep { color: #ccc; margin: 0 .2rem; }

    /* ── pagamentos ── */
    .pagamentos-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: .6rem;
    }
    .pagamento-card {
      display: flex;
      align-items: center;
      gap: .6rem;
      background: #fafafa;
      border: 1px solid #f0f0f0;
      border-radius: 10px;
      padding: .7rem .9rem;
      transition: border-color .2s, background .2s;
    }
    .pagamento-card:hover {
      border-color: #f5b8bb;
      background: #fff8f8;
    }
    .pagamento-icone {
      width: 34px; height: 34px;
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem;
      flex-shrink: 0;
    }
    .pagamento-icone.dinheiro  { background: #e8f5e9; }
    .pagamento-icone.credito   { background: #e3f2fd; }
    .pagamento-icone.debito    { background: #f3e5f5; }
    .pagamento-icone.pix       { background: #e0f7f4; }

    .pagamento-info { display: flex; flex-direction: column; gap: .1rem; }
    .pagamento-nome {
      font-size: .8rem;
      font-weight: 700;
      color: #1a1a1a;
    }
    .pagamento-desc {
      font-size: .7rem;
      color: #999;
    }

    /* ── pix destaque ── */
    .pix-destaque {
      margin-top: .6rem;
      display: flex;
      align-items: center;
      gap: .75rem;
      background: linear-gradient(135deg, #e0f7f4, #f0fffe);
      border: 1px solid #b2dfdb;
      border-radius: 10px;
      padding: .75rem 1rem;
    }
    .pix-destaque .pix-logo {
      font-size: 1.4rem;
    }
    .pix-destaque .pix-texto {
      flex: 1;
    }
    .pix-destaque .pix-titulo {
      font-size: .8rem;
      font-weight: 700;
      color: #00796b;
    }
    .pix-destaque .pix-chave {
      font-size: .72rem;
      color: #555;
      margin-top: .1rem;
    }
    .pix-destaque .pix-copiar {
      font-size: .7rem;
      font-weight: 700;
      color: #EA1D2C;
      background: none;
      border: none;
      cursor: pointer;
      padding: .3rem .6rem;
      border-radius: 6px;
      transition: background .2s;
      white-space: nowrap;
    }
    .pix-destaque .pix-copiar:hover { background: #fff0f1; }

    /* ── badge online ── */
    .badge-online {
      display: inline-flex;
      align-items: center;
      gap: .3rem;
      font-size: .68rem;
      font-weight: 600;
      color: #2e7d32;
      background: #e8f5e9;
      border: 1px solid #a5d6a7;
      border-radius: 20px;
      padding: .2rem .55rem;
      margin-left: .4rem;
    }
    .badge-online::before {
      content: '';
      width: 5px; height: 5px;
      background: #43a047;
      border-radius: 50%;
      animation: pulse-dot 2s infinite;
    }

    @keyframes pulse-dot {
      0%,100% { box-shadow: 0 0 0 1px #c8e6c9; }
      50%      { box-shadow: 0 0 0 3px #a5d6a7; }
    }
