.btn-seleccionado{
    background-color: #088833; padding:5px 10px; border:none;
}
.btn-disponible{
    background-color: #ffffff; padding:5px 10px; border:none;
}

.card-scene {
      width: 340px;
      height: 200px;
      perspective: 1000px;
      cursor: pointer;
    }

    .card-1 {
      width: 100%;
      height: 100%;
      position: relative;
      transform-style: preserve-3d;
      transition: transform 0.8s ease;
    }

    .card-1.flipped {
      transform: rotateY(180deg);
    }

    .card-face {
      position: absolute;
      width: 100%;
      height: 100%;
      border-radius: 20px;
      backface-visibility: hidden;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(0,0,0,0.4);
      padding: 20px;
    }

    .front {
      background: #1a1a1a;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .back {
      background: #2a2a2a;
      color: #fff;
      
    }

    .brand {
      font-size: 1.2rem;
      color: #e3c770;
      font-weight: 600;
    }

    .nfc {
      font-size: 1.2rem;
      opacity: 0.7;
    }

    .card-number {
      font-size: 1.3rem;
      letter-spacing: 2px;
      margin-top: 10px;
      display: flex;
      align-items: center;
    }

    .copy-btn {
      background: none;
      border: none;
      color: #e3c770;
      cursor: pointer;
      font-size: 0.8rem;
      margin-left: 8px;
    }

    .info-row {
      display: flex;
      justify-content: space-between;
      font-size: 0.85rem;
    }

    .label {
      font-size: 0.7rem;
      color: #aaa;
    }

    /* BACK SIDE */
    .magnetic-strip {
      background: #000;
      height: 40px;
      margin-top: 15px;
      border-radius: 4px;
    }

    .cvv-section {
      background: #e0e0e0;
      color: #000;
      margin-top: 30px;
      padding: 8px 12px;
      border-radius: 4px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.85rem;
    }

    .cvv-label {
      font-weight: bold;
    }

    .cvv-code {
      font-family: monospace;
      letter-spacing: 2px;
    }

    .flip-hint {
      text-align: center;
      margin-top: 10px;
      font-size: 0.7rem;
      color: #888;
    }

      :root{ --thumb-col: 96px; --gap: 12px }
  /* Miniaturas verticales (desktop) */
  .thumbs{
    display: grid; gap: var(--gap);
    grid-auto-rows: min-content;
    padding: var(--gap);
    overflow: auto; max-height: 72vh;
  }
  .thumbs .thumb{
    border: 0; padding: 0; background: none; cursor: pointer;
    border-radius: 10px; overflow: hidden;
  }
  .thumbs img{ width: 100%; height: 78px; object-fit: cover; display:block }
  .thumbs .thumb[aria-current="true"] img{ outline: 2px solid #111; outline-offset: -2px }
  /* Imagen principal */
  .viewer-img{ width: 100%; max-height: 78vh; object-fit: cover; border-radius: 14px }
  .viewer-nav{
    position: absolute; inset: 0; display:flex; align-items:center; justify-content:space-between; pointer-events:none; padding: .5rem
  }
  .viewer-nav .btn{ pointer-events:auto; border-radius: 999px; background: rgba(255,255,255,.9) }
  /* Layout del modal */
  .gallery-grid{
    display: grid; gap: var(--gap);
    grid-template-columns: var(--thumb-col) 1fr;
  }
  /* Responsive: miniaturas abajo en móvil */
  @media (max-width: 768px){
    :root{ --thumb-col: 86px }
    .gallery-grid{
      grid-template-columns: 1fr;
      grid-template-rows: auto auto;
    }
    .thumbs{
      grid-auto-flow: column; grid-auto-columns: 86px;
      overflow-x: auto; overflow-y: hidden; max-height: none;
    }
    .thumbs img{ height: 70px }
  }


  .btn-disponible.is-disabled{
    opacity: .35;
    filter: grayscale(1);
    cursor: not-allowed !important;
    pointer-events: none; /* evita click */
  }

  /* opcional: resaltar el horario elegido */
  .btn-disponible.is-selected{
    outline: 2px solid #111;
    opacity: 1;
    filter: none;
  }