 /* ========================================
           PREMIUM PAYMENT CARDS - GLASSMORPHIC DESIGN
           ======================================== */
 :root {
     --color--gray-1: #1a1a19;
     --font-family--body: Roboto, sans-serif;
     --color--body: var(--color--secondary-1);
     --font-family--heading: "Bricolage Grotesque", sans-serif;
     --color--heading: var(--color--black);
     --color--secondary-1: #0D191A;
     --border-radius--border-radius: 20px;
     --color--primary-1: #362c52;
     --border-radius--form-input: 10px;
     --color--black: #141412;
     --color--gray-2: #4B48F3;
     --color--secondary-4: #fff694;
     --color--transparent: rgba(0, 0, 0, 0);
     --border-radius--button: 10px;
     --color--white: white;
     --color--primary-4: #fdee51;
     --border-radius--rounded: 500px;
     --color--primary-2: #0D191A;
     --color--primary-3: #fc67ff;
     --color--secondary-2: #0D191A;
     --color--secondary-3: #fc90fe;
     --color--primary-5: #6ae8ff;
     --color--secondary-5: #aaf2ff;
     --border-radius--sm: 10px;
     --mona--10: #0D191A;
     --mona--20: #4B48F3;
     --mona--30: #E26DFF;
     --mona--40: #BE1E2D;
 }


 .payment-options-grid {
     padding: 20px 0;
 }

 .payment-cards-container {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: 28px;
     padding: 10px;
 }

 /* === MAIN CARD STYLES === */
 .payment-method-card {
     position: relative;
     background: linear-gradient(145deg,
             rgba(255, 255, 255, 0.95) 0%,
             rgba(255, 255, 255, 0.85) 100%);
     backdrop-filter: blur(20px);
     -webkit-backdrop-filter: blur(20px);
     border: 1px solid rgba(255, 255, 255, 0.6);
     border-radius: 24px;
     overflow: hidden;
     cursor: pointer;
     transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     box-shadow:
         0 4px 24px rgba(0, 0, 0, 0.06),
         0 1px 2px rgba(0, 0, 0, 0.04),
         inset 0 1px 0 rgba(255, 255, 255, 0.8);
 }

 .payment-method-card:hover {
     transform: translateY(-8px) scale(1.02);
     box-shadow:
         0 20px 40px rgba(0, 0, 0, 0.12),
         0 8px 16px rgba(0, 0, 0, 0.08),
         inset 0 1px 0 rgba(255, 255, 255, 0.9);
 }

 .payment-method-card.featured {
     background: linear-gradient(145deg,
             rgba(255, 255, 255, 0.98) 0%,
             rgba(240, 247, 255, 0.95) 100%);
     border: 2px solid rgba(var(--primary-rgb), 0.2);
 }

 /* Card Glow Effect */
 .card-glow {
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: radial-gradient(circle at center,
             rgba(var(--primary-rgb), 0.03) 0%,
             transparent 50%);
     opacity: 0;
     transition: opacity 0.4s ease;
     pointer-events: none;
 }

 .payment-method-card:hover .card-glow {
     opacity: 1;
 }

 .featured-glow {
     background: radial-gradient(circle at center,
             rgba(var(--primary-rgb), 0.08) 0%,
             transparent 50%);
     opacity: 0.5;
 }

 .card-inner {
     position: relative;
     padding: 32px 28px;
     z-index: 1;
     display: flex;
     flex-direction: column;
     height: 100%;
 }

 /* === FEATURED RIBBON === */
 .featured-ribbon {
     position: absolute;
     top: 45px;
     right: -45px;
     background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
     color: #78350f;
     padding: 8px 48px;
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     transform: rotate(45deg);
     box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
     z-index: 2;
     display: flex;
     align-items: center;
     gap: 4px;
 }

 .featured-ribbon i {
     font-size: 10px;
 }

 /* === SELECTION INDICATOR === */
 .selection-indicator {
     position: absolute;
     top: 20px;
     left: 20px;
     opacity: 0;
     transform: scale(0.5);
     transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
 }

 .payment-method-card.selected .selection-indicator {
     opacity: 1;
     transform: scale(1);
 }

 .indicator-ring {
     width: 28px;
     height: 28px;
     border-radius: 50%;
     background: linear-gradient(135deg, #10b981 0%, #059669 100%);
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
 }

 .indicator-ring i {
     color: white;
     font-size: 12px;
 }

 /* === ICON WRAPPER === */
 .method-icon-wrapper {
     display: flex;
     flex-direction: column;
     align-items: center;
     margin-bottom: 24px;
 }

 .icon-bg {
     position: relative;
     width: 90px;
     height: 90px;
     border-radius: 24px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 36px;
     color: white;
     transition: all 0.4s ease;
     box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
 }

 .payment-method-card:hover .icon-bg {
     transform: scale(1.08) rotate(-3deg);
 }

 .phone-gradient {
     background: linear-gradient(135deg, #10b981 0%, #047857 100%);
 }

 .online-gradient {
     background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
 }

 .wallet-gradient {
     background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
 }

 /* Icon Pulse Animation */
 .icon-pulse {
     position: absolute;
     width: 100%;
     height: 100%;
     border-radius: inherit;
     background: inherit;
     opacity: 0;
     animation: iconPulse 2s ease-in-out infinite;
 }

 @keyframes iconPulse {

     0%,
     100% {
         transform: scale(1);
         opacity: 0;
     }

     50% {
         transform: scale(1.15);
         opacity: 0.3;
     }
 }

 .payment-method-card:hover .icon-pulse {
     animation-play-state: running;
 }

 /* Decoration Dots */
 .icon-decoration {
     display: flex;
     gap: 6px;
     margin-top: 12px;
 }

 .deco-dot {
     width: 6px;
     height: 6px;
     border-radius: 50%;
     background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
     transition: all 0.3s ease;
 }

 .payment-method-card:hover .deco-dot:nth-child(1) {
     background: #10b981;
 }

 .payment-method-card:hover .deco-dot:nth-child(2) {
     background: #3b82f6;
 }

 .payment-method-card:hover .deco-dot:nth-child(3) {
     background: #f59e0b;
 }

 /* === TITLE SECTION === */
 .method-title-section {
     text-align: center;
     margin-bottom: 16px;
 }

 .method-title {
     font-size: 22px;
     font-weight: 800;
     color: #1f2937;
     margin: 0 0 10px 0;
     letter-spacing: -0.02em;
 }

 .method-badge {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     padding: 6px 14px;
     border-radius: 20px;
     font-size: 11px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .method-badge.personalized {
     background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(16, 185, 129, 0.05) 100%);
     color: #047857;
     border: 1px solid rgba(16, 185, 129, 0.2);
 }

 .method-badge.instant {
     background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(59, 130, 246, 0.05) 100%);
     color: #1d4ed8;
     border: 1px solid rgba(59, 130, 246, 0.2);
 }

 .method-badge.quick {
     background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(245, 158, 11, 0.05) 100%);
     color: #b45309;
     border: 1px solid rgba(245, 158, 11, 0.2);
 }

 /* === DESCRIPTION === */
 .method-description {
     color: #6b7280;
     font-size: 14px;
     line-height: 1.7;
     text-align: center;
     margin-bottom: 24px;
     min-height: 50px;
 }

 /* === BENEFITS LIST === */
 .method-benefits {
     display: flex;
     flex-direction: column;
     gap: 12px;
     margin-bottom: 24px;
 }

 .benefit-item {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 10px 14px;
     background: linear-gradient(135deg, rgba(249, 250, 251, 0.8) 0%, rgba(243, 244, 246, 0.6) 100%);
     border-radius: 12px;
     transition: all 0.3s ease;
 }

 .payment-method-card:hover .benefit-item {
     background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(249, 250, 251, 0.9) 100%);
     transform: translateX(4px);
 }

 .benefit-icon {
     width: 32px;
     height: 32px;
     min-width: 32px;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 14px;
     background: linear-gradient(135deg, var(--primary) 0%, #1d4ed8 100%);
     color: white;
     box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.3);
 }

 .benefit-item span {
     color: #374151;
     font-size: 13px;
     font-weight: 500;
 }

 /* === TRUST BADGES === */
 .trust-badges {
     display: flex;
     justify-content: center;
     gap: 12px;
     margin-bottom: 20px;
 }

 .trust-badge {
     width: 48px;
     height: 32px;
     border-radius: 8px;
     background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 18px;
     color: #6b7280;
     transition: all 0.3s ease;
 }

 .trust-badge:hover {
     background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
     transform: scale(1.1);
 }

 /* === WALLET PROVIDERS === */
 .wallet-providers {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 8px;
     margin-bottom: 20px;
 }

 .provider-chip {
     padding: 8px 14px;
     border-radius: 20px;
     font-size: 11px;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .provider-chip.vodafone {
     background: linear-gradient(135deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.05) 100%);
     color: #b91c1c;
     border: 1px solid rgba(220, 38, 38, 0.2);
 }

 .provider-chip.orange {
     background: linear-gradient(135deg, rgba(249, 115, 22, 0.1) 0%, rgba(249, 115, 22, 0.05) 100%);
     color: #c2410c;
     border: 1px solid rgba(249, 115, 22, 0.2);
 }

 .provider-chip.etisalat {
     background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgba(34, 197, 94, 0.05) 100%);
     color: #15803d;
     border: 1px solid rgba(34, 197, 94, 0.2);
 }

 .provider-chip:hover {
     transform: scale(1.05);
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
 }

 /* === SELECT BUTTON === */
 .method-select-btn {
     width: 100%;
     padding: 16px 24px;
     border: none;
     border-radius: 14px;
     font-size: 15px;
     font-weight: 600;
     cursor: pointer;
     position: relative;
     overflow: hidden;
     background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
     color: rgb(255, 255, 255);
     transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     margin-top: auto;
     box-shadow: 0 4px 16px rgba(var(--primary-rgb), 0.3);
 }

 .method-select-btn::before {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg,
             transparent,
             rgba(255, 255, 255, 0.4),
             transparent);
     transition: left 0.5s ease;
 }

 .method-select-btn:hover::before {
     left: 100%;
 }

 .method-select-btn:hover {
     background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
     transform: scale(1.02);
     box-shadow: 0 6px 20px rgba(var(--primary-rgb), 0.4);
 }

 /* Featured button styles merged into base method-select-btn */

 .btn-text,
 .btn-icon {
     transition: all 0.3s ease;
 }

 .btn-icon {
     display: flex;
     align-items: center;
 }

 .btn-selected-text {
     position: absolute;
     opacity: 0;
     transform: translateY(10px);
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 6px;
 }

 /* Selected State */
 .payment-method-card.selected {
     border-color: rgba(16, 185, 129, 0.5);
     box-shadow:
         0 0 0 4px rgba(16, 185, 129, 0.1),
         0 12px 32px rgba(16, 185, 129, 0.2);
 }

 .payment-method-card.selected .method-select-btn {
     background: linear-gradient(135deg, #10b981 0%, #059669 100%);
     color: white;
     box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4);
 }

 .payment-method-card.selected .btn-text,
 .payment-method-card.selected .btn-icon {
     opacity: 0;
     transform: translateY(-10px);
 }

 .payment-method-card.selected .btn-selected-text {
     opacity: 1;
     transform: translateY(0);
 }

 /* === TOTAL PRICE SECTION - PREMIUM REDESIGN === */
 .payment-total-section {
     margin: 48px 0 32px;
     display: flex;
     justify-content: center;
     padding: 0 20px;
 }

 .payment-total-card {
     background: linear-gradient(135deg, var(--mona--20) 0%, var(--mona--20) 50%, var(--mona--20) 100%);
     border-radius: 28px;
     padding: 0;
     text-align: center;
     box-shadow:
         0 20px 50px rgba(30, 64, 175, 0.4),
         0 10px 20px rgba(0, 0, 0, 0.1),
         inset 0 1px 0 rgba(255, 255, 255, 0.15);
     position: relative;
     overflow: hidden;
     min-width: 340px;
     max-width: 420px;
     width: 100%;
 }

 /* Animated Background Circles */
 .total-card-bg {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     pointer-events: none;
     overflow: hidden;
 }

 .bg-circle {
     position: absolute;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.05);
     animation: floatCircle 8s ease-in-out infinite;
 }

 .circle-1 {
     width: 200px;
     height: 200px;
     top: -80px;
     right: -60px;
     animation-delay: 0s;
 }

 .circle-2 {
     width: 150px;
     height: 150px;
     bottom: -50px;
     left: -40px;
     animation-delay: -2s;
 }

 .circle-3 {
     width: 100px;
     height: 100px;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     animation-delay: -4s;
     background: rgba(255, 255, 255, 0.03);
 }

 @keyframes floatCircle {

     0%,
     100% {
         transform: translateY(0) scale(1);
     }

     50% {
         transform: translateY(-10px) scale(1.05);
     }
 }

 .circle-3 {
     animation-name: floatCircleCenter;
 }

 @keyframes floatCircleCenter {

     0%,
     100% {
         transform: translate(-50%, -50%) scale(1);
     }

     50% {
         transform: translate(-50%, -50%) scale(1.1);
     }
 }

 /* Card Content */
 .total-card-content {
     position: relative;
     z-index: 1;
     padding: 32px 40px;
 }

 /* Header with Icon */
 .total-header {
     display: flex;
     flex-direction: column;
     align-items: center;
     margin-bottom: 20px;
 }

 .total-icon-wrapper {
     position: relative;
     margin-bottom: 12px;
 }

 .total-icon {
     width: 56px;
     height: 56px;
     border-radius: 16px;
     background: rgba(255, 255, 255, 0.15);
     backdrop-filter: blur(10px);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 24px;
     color: white;
     position: relative;
     z-index: 1;
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
 }

 .icon-ring {
     position: absolute;
     top: -6px;
     left: -6px;
     right: -6px;
     bottom: -6px;
     border-radius: 20px;
     border: 2px solid rgba(255, 255, 255, 0.2);
     animation: ringPulse 2s ease-in-out infinite;
 }

 @keyframes ringPulse {

     0%,
     100% {
         transform: scale(1);
         opacity: 0.5;
     }

     50% {
         transform: scale(1.1);
         opacity: 0.2;
     }
 }

 .total-header .total-label {
     color: rgba(255, 255, 255, 0.85);
     font-size: 12px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 2px;
 }

 /* Price Display */
 .price-display {
     display: flex;
     align-items: baseline;
     justify-content: center;
     gap: 8px;
     margin-bottom: 24px;
 }

 .price-display .currency {
     color: rgba(255, 255, 255, 0.7);
     font-size: 20px;
     font-weight: 600;
     letter-spacing: 1px;
 }

 .price-display .amount {
     color: white;
     font-size: 52px;
     font-weight: 800;
     letter-spacing: -0.03em;
     text-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
     line-height: 1;
     background: linear-gradient(180deg, #ffffff 0%, #e0e7ff 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }

 /* Divider */
 .total-divider {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 16px;
     margin-bottom: 20px;
 }

 .divider-line {
     flex: 1;
     max-width: 80px;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
 }

 .divider-icon {
     width: 32px;
     height: 32px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 12px;
     color: rgba(255, 255, 255, 0.6);
 }

 /* Trust Info */
 .trust-info {
     display: flex;
     justify-content: center;
     gap: 20px;
     flex-wrap: wrap;
 }

 .trust-item {
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 8px 14px;
     background: rgba(255, 255, 255, 0.08);
     border-radius: 20px;
     border: 1px solid rgba(255, 255, 255, 0.1);
     transition: all 0.3s ease;
 }

 .trust-item:hover {
     background: rgba(255, 255, 255, 0.15);
     transform: translateY(-2px);
 }

 .trust-item i {
     font-size: 12px;
     color: #a5f3fc;
 }

 .trust-item span {
     font-size: 11px;
     font-weight: 500;
     color: rgba(255, 255, 255, 0.85);
     letter-spacing: 0.3px;
 }

 /* === RESPONSIVE DESIGN === */
 @media (max-width: 768px) {
     .payment-cards-container {
         grid-template-columns: 1fr;
         gap: 20px;
         padding: 5px;
     }

     .card-inner {
         padding: 24px 20px;
     }

     .icon-bg {
         width: 76px;
         height: 76px;
         font-size: 30px;
     }

     .method-title {
         font-size: 20px;
     }

     .featured-ribbon {
         font-size: 10px;
         padding: 6px 40px;
         right: -40px;
     }

     .payment-total-card {
         min-width: unset;
         max-width: unset;
     }

     .total-card-content {
         padding: 24px 20px;
     }

     .price-display .amount {
         font-size: 40px;
     }

     .price-display .currency {
         font-size: 16px;
     }

     .trust-info {
         gap: 10px;
     }

     .trust-item {
         padding: 6px 10px;
     }

     .trust-item span {
         font-size: 10px;
     }
 }

 @media (max-width: 480px) {
     .benefit-item {
         padding: 8px 12px;
     }

     .benefit-icon {
         width: 28px;
         height: 28px;
         min-width: 28px;
         font-size: 12px;
     }

     .wallet-providers {
         gap: 6px;
     }

     .provider-chip {
         padding: 6px 10px;
         font-size: 10px;
     }
 }