    /* Carnet inteligente */
    .precio {
      font-size: 2.4rem;
      font-weight: 800;
      color: var(--azul);
    }
    body.dark .precio { color: var(--cian); }
    .precio small { font-size: 1rem; font-weight: 400; }
    .btn-card {
      display: inline-block;
      background: linear-gradient(90deg, var(--morado), var(--cian));
      color: #fff;
      padding: 12px 26px;
      border-radius: 30px;
      font-weight: 700;
      border: none;
      cursor: pointer;
      font-size: 1rem;
    }

    .carnet-section {
      background: linear-gradient(135deg, var(--azul), var(--morado));
      color: #fff;
      border-radius: 30px;
      padding: 50px 40px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: center;
    }
    .carnet-visual {
      background: linear-gradient(135deg, #08C6EA, #131062);
      border-radius: 20px;
      padding: 28px;
      aspect-ratio: 1.6 / 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      box-shadow: 0 15px 40px rgba(0,0,0,.35);
      transform: rotate(-3deg);
    }
    .carnet-visual .chip {
      width: 46px; height: 34px;
      background: linear-gradient(135deg, #ffd86b, #d4a020);
      border-radius: 6px;
    }
    .carnet-visual .nombre { font-size: 1.2rem; font-weight: 700; letter-spacing: 1px; }
    .carnet-visual .qr { font-size: .8rem; opacity: .9; }
    .carnet-list { list-style: none; }
    .carnet-list li { padding: 8px 0; font-size: 1.02rem; }
    .carnet-list li::before { content: "✔ "; color: var(--cian); font-weight: 700; }

