        /* Subscription Page Specific Styles */
        .subscription-hero {
            /* Darkened from primary-600 -> accent-500: the old pair put white text at
               3.03:1 and the price tag at 2.23:1, both below WCAG AA. */
            background: linear-gradient(135deg, var(--primary-900), var(--primary-700));
            color: #ffffff;
            padding: 6rem 0 4rem;
            text-align: center;
        }

        /* p inherits the global `p { color: var(--color-text-secondary) }` unless told
           otherwise, which rendered hero copy dark grey on green. */
        .subscription-hero p,
        .subscription-hero li,
        .subscription-hero span {
            color: rgba(255, 255, 255, 0.94);
        }

        .subscription-hero h1 {
            font-size: var(--font-size-5xl);
            margin-bottom: var(--space-4);
            color: white;
        }

        .subscription-hero .price-tag {
            font-size: var(--font-size-3xl);
            font-weight: var(--font-weight-bold);
            margin: var(--space-6) 0;
            color: #ffffff;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
        }

        .subscription-benefits {
            display: flex;
            justify-content: center;
            gap: var(--space-8);
            flex-wrap: wrap;
            margin-top: var(--space-8);
        }

        .benefit-item {
            display: flex;
            align-items: center;
            gap: var(--space-2);
            font-size: var(--font-size-lg);
        }

        .benefit-item i {
            font-size: var(--font-size-2xl);
            color: var(--secondary-200);
        }

        /* Subscription Form */
        .subscription-form-container {
            max-width: 900px;
            margin: 0 auto;
            background: white;
            padding: var(--space-10);
            border-radius: var(--radius-2xl);
            box-shadow: var(--shadow-2xl);
        }

        .form-section {
            margin-bottom: var(--space-10);
            padding-bottom: var(--space-10);
            border-bottom: 2px solid var(--neutral-100);
        }

        .form-section:last-of-type {
            border-bottom: none;
        }

        .form-section h3 {
            color: var(--primary-500);
            margin-bottom: var(--space-6);
            font-size: var(--font-size-2xl);
            display: flex;
            align-items: center;
            gap: var(--space-3);
        }

        .form-section h3 i {
            font-size: var(--font-size-xl);
        }

        .form-group {
            margin-bottom: var(--space-6);
            position: relative;
        }

        .form-group label {
            display: block;
            margin-bottom: var(--space-2);
            font-weight: var(--font-weight-semibold);
            color: var(--color-text-primary);
            font-size: var(--font-size-base);
        }

        .form-group label span {
            color: #ef4444;
        }

        .form-group input,
        .form-group textarea,
        .form-group select {
            width: 100%;
            padding: var(--space-4);
            border: 2px solid var(--color-border);
            border-radius: var(--radius-lg);
            font-family: var(--font-family-body);
            font-size: var(--font-size-base);
            transition: all var(--transition-base);
            background: var(--color-bg-secondary);
        }

        .form-group input:focus,
        .form-group textarea:focus,
        .form-group select:focus {
            outline: none;
            border-color: var(--primary-500);
            background: white;
            box-shadow: 0 0 0 4px var(--primary-50);
        }

        .form-group input.error,
        .form-group textarea.error,
        .form-group select.error {
            border-color: #ef4444;
            background: #fef2f2;
        }

        .form-group input.success,
        .form-group textarea.success,
        .form-group select.success {
            border-color: #10b981;
            background: #f0fdf4;
        }

        .error-message {
            display: none;
            color: #ef4444;
            font-size: var(--font-size-sm);
            margin-top: var(--space-2);
        }

        .success-icon {
            display: none;
            position: absolute;
            right: var(--space-4);
            top: 42px;
            color: #10b981;
            font-size: var(--font-size-xl);
        }

        .form-group input.success ~ .success-icon,
        .form-group textarea.success ~ .success-icon,
        .form-group select.success ~ .success-icon {
            display: block;
        }

        .form-group small {
            display: block;
            margin-top: var(--space-2);
            color: var(--color-text-secondary);
            font-size: var(--font-size-sm);
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--space-4);
        }

        .checkbox-group {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
            gap: var(--space-3);
        }

        .checkbox-label {
            display: flex;
            align-items: center;
            gap: var(--space-2);
            padding: var(--space-3);
            border: 2px solid var(--color-border);
            border-radius: var(--radius-base);
            cursor: pointer;
            transition: all var(--transition-base);
        }

        .checkbox-label:hover {
            border-color: var(--primary-300);
            background: var(--primary-50);
        }

        .checkbox-label input:checked + span {
            color: var(--primary-500);
            font-weight: var(--font-weight-semibold);
        }

        .checkbox-label input {
            width: auto !important;
            margin: 0;
        }

        .checkbox-agreement {
            padding: var(--space-4);
            background: var(--neutral-50);
            border-radius: var(--radius-base);
        }

        .checkbox-agreement label {
            display: flex;
            align-items: start;
            gap: var(--space-3);
            font-weight: normal;
        }

        .checkbox-agreement input {
            width: auto !important;
            margin-top: 4px;
        }

        /* Terms Box */
        .terms-box {
            background: var(--neutral-50);
            padding: var(--space-6);
            border-radius: var(--radius-lg);
            border: 1px solid var(--color-border);
            margin-bottom: var(--space-6);
        }

        .terms-box h4 {
            color: var(--primary-500);
            margin-bottom: var(--space-4);
        }

        .terms-box ul {
            list-style: none;
            padding-left: 0;
        }

        .terms-box li {
            padding: var(--space-2) 0;
            padding-left: var(--space-6);
            position: relative;
        }

        .terms-box li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: var(--primary-500);
            font-weight: bold;
        }

        /* Order Summary */
        .order-summary {
            background: linear-gradient(135deg, var(--primary-50), var(--accent-50));
            padding: var(--space-8);
            border-radius: var(--radius-xl);
            border: 2px solid var(--primary-200);
            margin: var(--space-8) 0;
        }

        .order-summary h3 {
            color: var(--primary-600);
            margin-bottom: var(--space-6);
        }

        .summary-row {
            display: flex;
            justify-content: space-between;
            padding: var(--space-3) 0;
            border-bottom: 1px solid var(--primary-200);
        }

        .summary-total {
            display: flex;
            justify-content: space-between;
            padding: var(--space-4) 0;
            margin-top: var(--space-4);
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-bold);
            color: var(--primary-600);
        }

        /* Form Actions */
        .form-actions {
            text-align: center;
            margin-top: var(--space-10);
        }

        .btn-large {
            padding: var(--space-5) var(--space-12);
            font-size: var(--font-size-lg);
            min-width: 300px;
        }

        .form-note {
            margin-top: var(--space-4);
            color: var(--color-text-secondary);
            font-size: var(--font-size-sm);
        }

        /* Success Message */
        .success-message {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.95);
            backdrop-filter: blur(10px);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10000;
            padding: var(--space-6);
            animation: fadeIn 0.3s ease;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        .success-content {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            padding: var(--space-12);
            border-radius: var(--radius-2xl);
            text-align: center;
            max-width: 650px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            animation: scaleIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
        }

        @keyframes scaleIn {
            from {
                transform: scale(0.5) rotate(-5deg);
                opacity: 0;
            }
            to {
                transform: scale(1) rotate(0deg);
                opacity: 1;
            }
        }

        .success-content::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
            animation: pulse 3s ease-in-out infinite;
        }

        @keyframes pulse {
            0%, 100% {
                transform: scale(1);
                opacity: 0.5;
            }
            50% {
                transform: scale(1.1);
                opacity: 0.8;
            }
        }

        .success-icon-wrapper {
            position: relative;
            display: inline-block;
            margin-bottom: var(--space-6);
        }

        .success-content i.fa-check-circle {
            font-size: 6rem;
            color: #10b981;
            animation: checkBounce 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s both;
            filter: drop-shadow(0 4px 6px rgba(16, 185, 129, 0.3));
        }

        @keyframes checkBounce {
            0% {
                transform: scale(0) rotate(-180deg);
                opacity: 0;
            }
            50% {
                transform: scale(1.2) rotate(10deg);
            }
            100% {
                transform: scale(1) rotate(0deg);
                opacity: 1;
            }
        }

        .success-content h2 {
            color: var(--primary-600);
            margin-bottom: var(--space-4);
            font-size: 2.5rem;
            font-weight: 700;
            animation: slideDown 0.5s ease 0.5s both;
        }

        @keyframes slideDown {
            from {
                transform: translateY(-20px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        .success-content p {
            animation: slideDown 0.5s ease 0.6s both;
        }

        .success-details {
            background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
            padding: var(--space-6);
            border-radius: var(--radius-xl);
            margin: var(--space-6) 0;
            border: 2px solid #10b981;
            animation: slideDown 0.5s ease 0.7s both;
        }

        .success-details p {
            margin: var(--space-3) 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 1rem;
        }

        .success-details strong {
            color: var(--primary-600);
        }

        .success-details .order-id {
            color: var(--primary-600);
            font-weight: 700;
            font-size: 1.2rem;
            letter-spacing: 1px;
        }

        .success-buttons {
            display: flex;
            gap: var(--space-4);
            margin-top: var(--space-8);
            animation: slideDown 0.5s ease 0.8s both;
        }

        .success-buttons button {
            flex: 1;
            padding: var(--space-4) var(--space-6);
            border: none;
            border-radius: var(--radius-lg);
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            font-family: var(--font-family-body);
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--primary-500), var(--primary-600));
            color: white;
        }

        .btn-primary:hover {
            background: linear-gradient(135deg, var(--primary-600), var(--primary-700));
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        }

        .btn-secondary {
            background: var(--neutral-100);
            color: var(--color-text-primary);
            border: 2px solid var(--neutral-300);
        }

        .btn-secondary:hover {
            background: var(--neutral-200);
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
        }

        .success-note {
            margin-top: var(--space-6);
            padding: var(--space-4);
            background: #fef3c7;
            border-left: 4px solid #f59e0b;
            border-radius: var(--radius-base);
            color: #92400e;
            font-size: 0.9rem;
            animation: slideDown 0.5s ease 0.9s both;
        }

        .success-note i {
            color: #f59e0b;
            margin-right: var(--space-2);
        }

        /* Responsive */
        @media (max-width: 768px) {
            .subscription-hero h1 {
                font-size: var(--font-size-3xl);
            }

            .form-row {
                grid-template-columns: 1fr;
            }

            .checkbox-group {
                grid-template-columns: 1fr;
            }

            .subscription-benefits {
                flex-direction: column;
                align-items: flex-start;
                gap: var(--space-4);
            }

            .btn-large {
                min-width: 100%;
                padding: var(--space-4) var(--space-6);
            }

            .subscription-form-container {
                padding: var(--space-6);
            }

            /* Success Message Mobile */
            .success-content {
                padding: var(--space-8);
                max-width: 95%;
                margin: 0 auto;
            }

            .success-content i.fa-check-circle {
                font-size: 4rem;
            }

            .success-content h2 {
                font-size: 1.8rem;
            }

            .success-buttons {
                flex-direction: column;
                gap: var(--space-3);
            }

            .success-buttons button {
                width: 100%;
            }

            .success-details p {
                flex-direction: column;
                align-items: flex-start;
                gap: var(--space-1);
            }
        }
