  .container-card {
      width: 100%;
      max-width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
    
    .card-container {
      width: 100%;
      height: 220px;
      position: relative;
      transform-style: preserve-3d;
      transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer;
    }
    
    .card-container.flipped {
      transform: rotateY(180deg);
    }
    
    .card-face {
      position: absolute;
      width: 100%;
      height: 100%;
      backface-visibility: hidden;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 15px 35px rgba(50, 30, 10, 0.2);
    }
    
    .card-front {
      background: linear-gradient(135deg, #9a6b33, #d4a76a);
      padding: 20px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transform-style: preserve-3d;
    }
    
    .card-front::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E"),
      linear-gradient(135deg, #9a6b33, #d4a76a);
      border-radius: 18px;
      opacity: 0.8;
    }
    
    .card-back {
      background: linear-gradient(135deg, #8b5c2a, #c49959);
      transform: rotateY(180deg);
      padding: 22px;
      display: flex;
      flex-direction: column;
    }
    
    .card-back::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M50 50c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10c0 5.523-4.477 10-10 10s-10-4.477-10-10 4.477-10 10-10zM10 10c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10c0 5.523-4.477 10-10 10S0 25.523 0 20s4.477-10 10-10zm10 8c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zm40 40c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),
      linear-gradient(135deg, #8b5c2a, #c49959);
      border-radius: 18px;
      opacity: 0.9;
    }
    
    .chip {
      width: 50px;
      height: 40px;
      background: linear-gradient(135deg, #d9c089, #e2cb9e);
      border-radius: 8px;
      position: relative;
      z-index: 2;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      margin-bottom: 8px;
    }
    
    .chip::before, .chip::after {
      content: '';
      position: absolute;
      background: #a17c3d;
      opacity: 0.5;
    }
    
    .chip::before {
      width: 80%;
      height: 2px;
      top: 25%;
      left: 10%;
    }
    
    .chip::after {
      width: 60%;
      height: 2px;
      top: 55%;
      left: 20%;
    }
    
    .brand {
      display: flex;
      justify-content: flex-end;
      align-items: center;
    }
    
    .brand-name {
      font-size: 14px;
      font-weight: bold;
      color: #fff;
      letter-spacing: 2px;
      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
      position: relative;
      z-index: 2;
    }
    
    .card-number {
      font-size: 22px;
      color: #fff;
      letter-spacing: 12px;
      margin: 10px 0;
      position: relative;
      z-index: 2;
    }
    
    .card-holder {
      display: flex;
      justify-content: space-between;
      position: relative;
      z-index: 2;
      margin-top: 14px;
    }
    
    .holder-name, .expiry {
      color: #fff;
      font-size: 15px;
      text-transform: uppercase;
    }
    
    .holder-title, .expiry-title {
      text-transform: uppercase;
      font-size: 10px;
      margin-bottom: 0px;
      color: white;
    }
    
    .points-circle {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(5px);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.2);
      position: relative;
      z-index: 1;
    }
    
    .points-value {
      font-size: 32px;
      font-weight: bold;
      color: #fff;
    }
    
    .points-label {
      font-size: 16px;
      color: #fff;
      opacity: 0.8;
    }
    
    .rewards-benefits {
      display: flex;
      justify-content: space-between;
      margin-top: 20px;
      position: relative;
      z-index: 1;
    }
    
    .benefit {
      text-align: center;
      color: #fff;
      width: 30%;
    }
    
    .benefit-value {
      font-size: 18px;
      font-weight: bold;
    }
    
    .benefit-label {
      font-size: 11px;
      opacity: 0.8;
    }
    
    .flip-instruction {
      color: rgba(255, 255, 255, 0.7);
      text-align: center;
      font-size: 12px;
      margin-top: 5px;
      font-style: italic;
      position: relative;
      z-index: 1;
    }
    
    .rewards-categories {
      background: rgba(255, 255, 255, 0.1);
      border-radius: 12px;
      padding: 15px;
      margin-top: 20px;
      max-height: 350px;
      overflow-y: auto;
    }
    
    .category {
      margin-bottom: 20px;
      padding-bottom: 15px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .category:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
    }
    
    .category-title {
      display: flex;
      align-items: center;
      margin-bottom: 10px;
      color: #fff;
    }
    
    .category-icon {
      margin-right: 10px;
      width: 24px;
      height: 24px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    
    .category-desc {
      color: rgba(255, 255, 255, 0.8);
      font-size: 13px;
      line-height: 1.4;
    }
    
    .shine {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        125deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.1) 10%,
        rgba(255, 255, 255, 0.2) 20%,
        rgba(255, 255, 255, 0) 30%
      );
      transform: translateX(-100%);
      animation: shine 5s infinite;
      z-index: 3;
      border-radius: 18px;
    }
    
    @keyframes shine {
      0% {
        transform: translateX(-100%);
      }
      20%, 100% {
        transform: translateX(100%);
      }
    }
    
    .tap-instruction {
      font-size: 16px;
      color: #8b5c2a;
      margin-bottom: 20px;
      text-align: center;
    }
    
    @media (max-width: 480px) {
      .card-container {
        width: 100%;
        height: 200px;
      }
      
      .brand-name {
        font-size: 24px;
      }
      
      .card-number {
        font-size: 16px;
      }
      
      .points-circle {
        width: 100px;
        height: 100px;
      }
      
      .points-value {
        font-size: 28px;
      }
      
      .rewards-categories {
        margin-top: 10px;
      }
    }