/* Feralism Subscription - Premium CSS Implementation
 * A high-end, CSS-only design that embodies rewilding, primal connection, 
 * and untamed spirit with premium UI/UX best practices
 */

/* ===== CSS VARIABLES ===== */
:root {
    /* Enhanced Color Palette */
    --deep-forest-1: #0F2C1E;
    --deep-forest-2: #1A3E2A;
    --deep-forest-3: #2A4C3A;
    --earth-tone-1: #6D4C31;
    --earth-tone-2: #8B5A2B;
    --earth-tone-3: #A67153;
    --amber-light: #D4AF37;
    --amber-glow: #F1C40F;
    --honey-glow: #EAB308;
    --text-light: #F8FAFC;
    --text-light-muted: rgba(248, 250, 252, 0.7);
    --text-dark: #0F172A;
    --text-dark-muted: rgba(15, 23, 42, 0.7);
    --shadow-dark: rgba(0, 0, 0, 0.5);
    --shadow-light: rgba(255, 255, 255, 0.1);
    --shadow-amber: rgba(212, 175, 55, 0.3);
    
    /* Spacing System */
    --space-3xs: 0.125rem; /* 2px */
    --space-2xs: 0.25rem;  /* 4px */
    --space-xs: 0.5rem;    /* 8px */
    --space-sm: 0.75rem;   /* 12px */
    --space-md: 1rem;      /* 16px */
    --space-lg: 1.5rem;    /* 24px */
    --space-xl: 2rem;      /* 32px */
    --space-2xl: 3rem;     /* 48px */
    --space-3xl: 4rem;     /* 64px */
    --space-4xl: 6rem;     /* 96px */
    
    /* Border Radius */
    --radius-sm: 0.25rem;  /* 4px */
    --radius-md: 0.5rem;   /* 8px */
    --radius-lg: 1rem;     /* 16px */
    --radius-xl: 1.5rem;   /* 24px */
    --radius-full: 9999px;
    
    /* Typography */
    --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-serif: Georgia, Cambria, 'Times New Roman', Times, serif;
    
    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-normal: 300ms ease;
    --transition-slow: 500ms ease;
    
    /* Z-indices */
    --z-negative: -1;
    --z-0: 0;
    --z-1: 10;
    --z-2: 20;
    --z-3: 30;
    --z-4: 40;
    --z-5: 50;
    --z-max: 999;
    
    /* Container */
    --container-max: 1200px;
    --container-padding: clamp(1rem, 5vw, 2rem);
}

/* ===== SCOPED COMMUNITY STYLES ===== */
/* Scoped reset to only affect community content */
.community-container *, 
.community-container *::before, 
.community-container *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Base styles scoped to community content */
.community-container {
    font-family: var(--font-sans);
    line-height: 1.5;
    color: var(--text-light);
    background-color: var(--deep-forest-1);
    overflow-x: hidden;
    position: relative;
}

/* Background effect added to container instead of body */
.community-container::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: 
        radial-gradient(circle at 80% 20%, rgba(42, 76, 58, 0.3), transparent 60%),
        radial-gradient(circle at 20% 80%, rgba(26, 62, 42, 0.4), transparent 60%),
        url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.03' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    filter: contrast(120%) brightness(80%);
    opacity: 0.8;
    mix-blend-mode: overlay;
    z-index: var(--z-negative);
    pointer-events: none;
}

/* ===== GLOBAL LAYOUT STYLES ===== */
.community-container .feralism-main {
    position: relative;
    z-index: 1;
}

.community-container .container {
    width: 100%;
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.community-container .membership-section .container {
    max-width: var(--container-max);
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.community-container section {
    position: relative;
    padding: var(--space-3xl) 0;
    overflow: hidden;
}

/* ===== TYPOGRAPHY ===== */
.community-container h1, 
.community-container h2, 
.community-container h3, 
.community-container h4, 
.community-container h5, 
.community-container h6 {
    font-family: var(--font-serif);
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--text-light);
    margin-bottom: var(--space-md);
    line-height: 1.2;
}

.community-container h1 {
    font-size: clamp(2rem, 7vw, 3.5rem);
    letter-spacing: -0.02em;
    text-shadow: 0 2px 4px var(--shadow-dark);
}

.community-container h2 {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    letter-spacing: -0.01em;
    text-shadow: 0 1px 3px var(--shadow-dark);
}

.community-container h3 {
    font-size: clamp(1.5rem, 4vw, 2rem);
    letter-spacing: -0.01em;
}

.community-container h4 {
    font-size: clamp(1.25rem, 3vw, 1.5rem);
}

.community-container p {
    margin-bottom: var(--space-md);
    font-size: 1.125rem;
    max-width: 70ch;
}

.community-container .section-title {
    position: relative;
    display: inline-block;
    margin-bottom: var(--space-2xl);
    text-align: center;
}

.community-container .section-title::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--amber-light), transparent);
}

.community-container .section-description {
    text-align: center;
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--space-md);
}

.community-container .section-subtext {
    text-align: center;
    color: var(--text-light-muted);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--space-xl);
}

/* ===== UTILITY CLASSES ===== */
.community-container .text-amber {
    color: var(--amber-light);
}

.community-container .text-center {
    text-align: center;
}

.community-container .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* ===== LINKS & BUTTONS ===== */
.community-container a {
    color: var(--amber-light);
    text-decoration: none;
    transition: all var(--transition-normal);
    position: relative;
}

.community-container a::before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--honey-glow);
    transition: width var(--transition-normal);
}

.community-container a:hover, 
.community-container a:focus {
    color: var(--honey-glow);
}

.community-container a:hover::before, 
.community-container a:focus::before {
    width: 100%;
}

.community-container .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-md);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all var(--transition-normal);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
}

.btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
    z-index: -1;
}

.btn:hover::before {
    transform: translateX(100%);
}

.btn-primary {
    background: linear-gradient(135deg, #d4af37, #ffd700, #d4af37);
    background-size: 200% 200%;
    color: #0a1c14;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 0.9rem 2.5rem;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    position: relative;
    box-shadow: 
        0 10px 20px rgba(0, 0, 0, 0.2),
        0 0 30px rgba(212, 175, 55, 0.4),
        inset 0 0 15px rgba(255, 255, 255, 0.2);
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1;
    transform: translateZ(0) scale(1);
    animation: btn-bg-shift 8s infinite alternate;
}

/* Magical inner glow */
.btn-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(255, 215, 0, 0.7),
        transparent 70%
    );
    opacity: 0;
    z-index: -1;
    transition: opacity 0.5s ease;
    border-radius: 50px;
}

/* Sparkling highlight */
.btn-primary::after {
    content: "";
    position: absolute;
    inset: -2px;
    background: linear-gradient(90deg, 
        transparent 20%, 
        rgba(255, 255, 255, 0.6) 50%, 
        transparent 80%
    );
    transform: translateX(-100%) skewX(-15deg);
    transition: transform 0.7s ease;
    z-index: 1;
}

/* Hover state - magical transformation */
.btn-primary:hover {
    background-size: 150% 150%;
    transform: translateZ(0) scale(1.05) translateY(-5px);
    box-shadow: 
        0 15px 30px rgba(0, 0, 0, 0.3),
        0 0 50px rgba(212, 175, 55, 0.6),
        inset 0 0 20px rgba(255, 255, 255, 0.3);
    cursor: pointer;
    border-color: rgba(255, 255, 255, 0.4);
    animation: btn-bg-shift 4s infinite alternate;
    color: white;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 0 5px rgba(0, 0, 0, 0.3);
}

.btn-primary:hover::before {
    opacity: 0.8;
    animation: inner-radial-pulse 2s infinite;
}

.btn-primary:hover::after {
    transform: translateX(100%) skewX(-15deg);
    transition: transform 1.2s ease;
}

/* Magical sparkle particles on hover */
.btn-primary span {
    position: relative;
    z-index: 5;
}

.btn-primary:hover span {
    animation: letter-spacing 1.5s forwards;
}

.btn-primary:active {
    transform: scale(0.98) translateY(2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2), 0 0 20px rgba(212, 175, 55, 0.3);
    transition: all 0.1s ease;
}

@keyframes btn-bg-shift {
    0% {
        background-position: 0% 0%;
    }
    100% {
        background-position: 100% 100%;
    }
}

@keyframes inner-radial-pulse {
    0%, 100% {
        opacity: 0.5;
        transform: scale(0.95);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.05);
    }
}

@keyframes letter-spacing {
    0% {
        letter-spacing: normal;
    }
    50% {
        letter-spacing: 2px;
    }
    100% {
        letter-spacing: normal;
    }
}

.btn-outline {
    background-color: transparent;
    color: var(--amber-light);
    border-color: var(--amber-light);
}

.btn-outline:hover, .btn-outline:focus {
    background-color: rgba(212, 175, 55, 0.1);
    color: var(--amber-glow);
    border-color: var(--amber-glow);
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.btn-outline:active {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-outline-danger {
    background-color: transparent;
    color: #e74c3c;
    border-color: #e74c3c;
}

.btn-outline-danger:hover, .btn-outline-danger:focus {
    background-color: rgba(231, 76, 60, 0.1);
    color: #c0392b;
    border-color: #c0392b;
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.btn-featured, .ultimate-btn {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.6);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(212, 175, 55, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
    }
}

.btn-cta {
    background: linear-gradient(45deg, rgba(26, 62, 42, 0.7), rgba(15, 44, 30, 0.9));
    color: var(--amber-light);
    border: 2px solid var(--amber-light);
    padding: var(--space-lg) var(--space-xl);
    font-size: 1.25rem;
    font-weight: 700;
    border-radius: var(--radius-lg);
    backdrop-filter: blur(5px);
    box-shadow: 
        0 10px 20px rgba(0, 0, 0, 0.3), 
        0 0 20px rgba(212, 175, 55, 0.2),
        inset 0 1px 3px rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-style: preserve-3d;
    transform: perspective(1000px) rotateX(0) rotateY(0);
    z-index: 1;
}

.btn-cta span {
    position: relative;
    z-index: 2;
    display: inline-block;
    transition: all 0.5s ease;
}

/* Magical shimmering light effect */
.btn-cta::before {
    content: '';
    position: absolute;
    top: -100%;
    left: -100%;
    width: 300%;
    height: 300%;
    background: linear-gradient(
        45deg,
        transparent 0%,
        rgba(255, 255, 255, 0.1) 45%,
        rgba(255, 255, 255, 0.3) 50%,
        rgba(255, 255, 255, 0.1) 55%,
        transparent 100%
    );
    transform: rotate(45deg) translateX(-100%);
    transition: transform 0.5s ease;
    z-index: 1;
}

/* Golden radial glow */
.btn-cta::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(212, 175, 55, 0.4) 0%,
        transparent 70%
    );
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 0;
}

.btn-cta:hover, .btn-cta:focus {
    background: linear-gradient(45deg, rgba(15, 44, 30, 0.9), rgba(26, 62, 42, 0.7));
    color: white;
    border-color: var(--honey-glow);
    border-width: 3px;
    transform: 
        perspective(1000px) 
        translateY(-8px) 
        rotateX(10deg) 
        rotateY(0);
    box-shadow: 
        0 20px 30px rgba(0, 0, 0, 0.4), 
        0 0 30px rgba(212, 175, 55, 0.5),
        inset 0 1px 5px rgba(255, 255, 255, 0.2);
    text-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.5),
        0 0 8px rgba(0, 0, 0, 0.3);
}

.btn-cta:hover::before {
    transform: rotate(45deg) translateX(200%);
    transition: transform 1.2s ease-in-out;
}

.btn-cta:hover::after {
    opacity: 1;
    animation: glow-pulse 2s infinite alternate;
}

.btn-cta:hover span {
    transform: scale(1.1);
}

.btn-cta:active {
    transform: 
        perspective(1000px) 
        translateY(-3px) 
        rotateX(5deg);
    box-shadow: 
        0 10px 15px rgba(0, 0, 0, 0.3),
        0 0 15px rgba(212, 175, 55, 0.3);
    transition: all 0.2s ease;
}

@keyframes glow-pulse {
    0%, 100% {
        opacity: 0.5;
    }
    50% {
        opacity: 0.8;
    }
}

.btn-block {
    display: flex;
    width: 100%;
}

/* ===== HERO SECTION ===== */
.hero-section {
    padding: var(--space-4xl) 0;
    position: relative;
    display: flex;
    align-items: center;
    min-height: 50vh;
    text-align: center;
    overflow: hidden;
    background-image: 
        linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
        url('../../../media/images/join_tribe.png');
    background-size: cover;
    background-position: center 23%;
    filter: brightness(0.95) contrast(1.05);
}

.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
}

.hero-title {
    color: var(--amber-light);
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    margin-bottom: var(--space-lg);
    animation: fade-in-slide-up 1s ease-out;
}

.hero-subtitle {
    font-family: var(--font-serif);
    font-size: clamp(1.125rem, 3vw, 1.5rem);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--space-2xl);
    animation: fade-in-slide-up 1s ease-out 0.2s backwards;
    color: var(--text-light);
}

@keyframes fade-in-slide-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-decoration {
    position: absolute;
    width: 100%;
    height: 120px;
    bottom: -2px;
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1200 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M321.39 56.44c58-10.79 114.16-30.13 172-41.86 82.39-16.72 168.19-17.73 250.45-.39C823.78 31 906.67 72 985.66 92.83c70.05 18.48 146.53 26.09 214.34 3V0H0v27.35a800.46 800.46 0 00120.39 29.09z' fill='%230F2C1E'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    z-index: 1;
}

/* ===== INTRO SECTION ===== */
.intro-section {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
    position: relative;
    z-index: 1;
    text-align: center;
}

.intro-content {
    position: relative;
    padding: var(--space-2xl);
    border-radius: var(--radius-lg);
    background: linear-gradient(to bottom, 
        rgba(15, 44, 30, 0.7), 
        rgba(26, 62, 42, 0.5)
    );
    backdrop-filter: blur(5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.intro-content::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: 
        url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.1;
    z-index: -1;
    border-radius: var(--radius-lg);
}

.intro-logo-container {
    position: relative;
    display: inline-block;
    margin-bottom: var(--space-2xl);
}

.logo-circles {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.logo-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.circle-1 {
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, rgba(212, 175, 55, 0) 70%);
    animation: pulse-glow 4s ease-in-out infinite;
}

.circle-2 {
    width: 170px;
    height: 170px;
    border: 1px solid rgba(212, 175, 55, 0.3);
    animation: spin 20s linear infinite;
}

.circle-3 {
    width: 220px;
    height: 220px;
    border: 1px dashed rgba(212, 175, 55, 0.2);
    animation: spin-reverse 30s linear infinite;
}

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

@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes spin-reverse {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(-360deg);
    }
}

.intro-logo {
    max-width: 160px;
    height: auto;
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.3));
    animation: subtle-float 6s ease-in-out infinite;
    z-index: 2;
    position: relative;
}

@keyframes subtle-float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
    100% {
        transform: translateY(0);
    }
}

.intro-text {
    max-width: 800px;
    margin: 0 auto;
}

.intro-text p {
    color: var(--text-light);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    font-size: 1.25rem;
    line-height: 1.7;
}

/* ===== CURRENT SUBSCRIPTION SECTION ===== */
.current-subscription-section {
    padding-top: 0;
    padding-bottom: var(--space-2xl);
}

.subscription-card {
    background: linear-gradient(135deg, 
        rgba(26, 62, 42, 0.7), 
        rgba(42, 76, 58, 0.5)
    );
    backdrop-filter: blur(5px);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    margin-bottom: var(--space-xl);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-left: 3px solid var(--amber-light);
    position: relative;
    overflow: hidden;
}

.subscription-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.05;
    z-index: -1;
}

.subscription-card h2 {
    color: var(--amber-light);
    margin-bottom: var(--space-lg);
    position: relative;
}

.subscription-card h2::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 3px;
    background: linear-gradient(to right, var(--amber-light), transparent);
}

.plan-name-and-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.plan-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-light);
}

.plan-status {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.plan-status.active {
    background-color: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
    border: 1px solid rgba(46, 204, 113, 0.3);
}

.plan-status.inactive {
    background-color: rgba(231, 76, 60, 0.15);
    color: #e74c3c;
    border: 1px solid rgba(231, 76, 60, 0.3);
}

.subscription-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.info-card {
    padding: var(--space-md);
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
}

.info-label {
    font-size: 0.875rem;
    color: var(--text-light-muted);
    margin-bottom: var(--space-2xs);
}

.info-value {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text-light);
}

.subscription-actions {
    margin-top: var(--space-lg);
}

/* ===== MEMBERSHIP SECTION ===== */
.membership-section {
    position: relative;
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
}

.membership-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, 
        rgba(15, 44, 30, 0.7) 0%, 
        rgba(26, 62, 42, 0.9) 100%
    );
    clip-path: polygon(
        0% 0%, 
        100% 0, 
        100% 94%, 
        94% 100%, 
        0 100%
    );
    z-index: -1;
}

.membership-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.07;
    z-index: -1;
}

.section-header {
    text-align: center;
    margin-bottom: var(--space-2xl);
}

/* Benefits Container */
.benefits-container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl);
    margin-bottom: var(--space-2xl);
    padding: var(--space-xl);
    background: linear-gradient(to bottom, 
        rgba(15, 44, 30, 0.6), 
        rgba(26, 62, 42, 0.4)
    );
    border-radius: var(--radius-lg);
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
}

.benefits-container::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.05;
    z-index: -1;
}

.benefit-column {
    flex: 1;
    min-width: 280px;
}

.benefit-header {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.benefit-icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, 
        rgba(212, 175, 55, 0.3), 
        rgba(212, 175, 55, 0.1)
    );
    border-radius: var(--radius-full);
    border: 1px solid rgba(212, 175, 55, 0.3);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.benefit-icon {
    font-size: 1.5rem;
    text-shadow: 0 0 5px rgba(212, 175, 55, 0.6);
}

.benefit-column h3 {
    color: var(--amber-light);
    margin-bottom: 0;
    position: relative;
}

.benefits-list {
    list-style: none;
}

.benefit-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    transition: all var(--transition-normal);
    position: relative;
}

.benefit-item:hover {
    background-color: rgba(255, 255, 255, 0.05);
    transform: translateX(6px);
}

.check-icon {
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    position: relative;
}

.check-icon::before,
.check-icon::after {
    content: '';
    position: absolute;
    background-color: var(--amber-light);
}

.check-icon::before {
    width: 8px;
    height: 2px;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
}

.check-icon::after {
    width: 12px;
    height: 2px;
    top: 50%;
    left: 4px;
    transform: translateY(-50%) rotate(-45deg);
}

/* Plan Options */
.plan-options {
    margin-top: var(--space-3xl);
}

.options-title-container {
    text-align: center;
    margin-bottom: var(--space-xl);
}

.options-title {
    text-align: center;
    margin-bottom: var(--space-2xl);
    color: var(--amber-light);
    position: relative;
    font-size: 2.2rem;
    text-shadow: 0 2px 10px rgba(212, 175, 55, 0.4);
    padding-bottom: var(--space-lg);
    transform-style: preserve-3d;
    perspective: 500px;
    display: inline-block;
    cursor: pointer;
    transition: all 0.4s ease;
}

.options-title::before {
    content: '';
    position: absolute;
    bottom: var(--space-md);
    left: 50%;
    transform: translateX(-50%);
    width: 180px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--amber-light), transparent);
    border-radius: 3px;
    filter: drop-shadow(0 0 5px rgba(212, 175, 55, 0.5));
    animation: title-pulse 3s infinite;
    transition: all 0.5s ease;
}

.options-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--amber-light), transparent);
    opacity: 0.7;
    filter: blur(1px);
    transition: all 0.5s ease;
}

/* Creates a floating, glowing effect on hover */
.options-title:hover {
    color: white;
    text-shadow: 
        0 0 10px rgba(212, 175, 55, 0.7),
        0 0 20px rgba(212, 175, 55, 0.5),
        0 0 30px rgba(212, 175, 55, 0.3),
        0 2px 5px rgba(0, 0, 0, 0.5);
    transform: translateY(-5px) scale(1.05);
}

.options-title:hover::before {
    width: 250px;
    height: 4px;
    background: linear-gradient(90deg, transparent, white, transparent);
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
    animation: none;
}

.options-title:hover::after {
    width: 200px;
    height: 3px;
    opacity: 0.9;
    background: linear-gradient(90deg, transparent, var(--honey-glow), transparent);
    filter: blur(0);
    bottom: 3px;
}

@keyframes title-pulse {
    0%, 100% {
        width: 180px;
        opacity: 1;
    }
    50% {
        width: 220px;
        opacity: 0.8;
    }
}

/* Single row layout for all plans */
.all-plans-container {
    position: relative;
    width: 100%;
    padding: var(--space-xl) 0;
    margin: 0;
    overflow: visible;
}

/* Special styling for the full-width plans container */
.full-width-plans {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    background-color: rgba(15, 44, 30, 0.2);
    padding: var(--space-3xl) 0;
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
}

.plans-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(320px, 1fr));
    gap: var(--space-3xl);
    margin: 0 auto;
    max-width: 90%;
    width: 90%;
    align-items: start;
    padding: 0;
}

/* Plans row spacing adjustment */

@media (max-width: 1600px) {
    .plans-row {
        grid-template-columns: repeat(3, minmax(280px, 1fr));
        gap: var(--space-2xl);
        width: 96%;
        max-width: 96%;
    }
}

@media (max-width: 1400px) {
    .plans-row {
        grid-template-columns: repeat(3, minmax(260px, 1fr));
        gap: var(--space-xl);
    }
}

@media (max-width: 992px) {
    .plans-row {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-lg);
    }
    
    /* Stack the annual plan on its own row */
    .plan-card.ultimate {
        grid-column: 1 / 3;
        max-width: none;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .plans-row {
        grid-template-columns: 1fr;
    }
    
    .plan-card.ultimate {
        transform: scale(1.0);
        grid-column: 1;
    }
    
    .plan-card {
        min-height: 0;
    }
}

.plan-card {
    background: linear-gradient(160deg, 
        rgba(26, 62, 42, 0.7), 
        rgba(15, 44, 30, 0.9)
    );
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
    transition: all var(--transition-normal);
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, 0.05);
    gap: var(--space-md);
    z-index: 1;
    min-height: 580px;
    max-width: 100%;
}

.plan-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.05;
    z-index: -1;
    transition: opacity 0.3s ease;
}

.plan-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(212, 175, 55, 0.1),
        transparent 60%
    );
    opacity: 0;
    z-index: -1;
    transition: opacity 0.5s ease;
}

.plan-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 25px rgba(0, 0, 0, 0.3), 0 0 30px rgba(212, 175, 55, 0.1);
    border-color: rgba(212, 175, 55, 0.2);
    z-index: 10;
}

.plan-card:hover::before {
    opacity: 0.08;
}

.plan-card:hover::after {
    opacity: 1;
}

.plan-card.featured {
    background: linear-gradient(160deg, 
        rgba(139, 90, 43, 0.7), 
        rgba(109, 76, 49, 0.9)
    );
    transform: scale(1.02);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.25);
    z-index: 2;
    position: relative;
}

.plan-card.featured::after {
    background: radial-gradient(
        circle at center,
        rgba(212, 175, 55, 0.15),
        transparent 70%
    );
    opacity: 0.5;
}

.plan-card.featured::before {
    opacity: 0.08;
}

.plan-card.featured:hover {
    transform: scale(1.02) translateY(-6px);
    box-shadow: 0 25px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(212, 175, 55, 0.3);
    border-color: rgba(212, 175, 55, 0.4);
}

.plan-card.featured:hover::after {
    opacity: 0.8;
}

/* Ultimate Plan Card */
.plan-card.ultimate {
    background: linear-gradient(160deg, 
        rgba(139, 90, 43, 0.8), 
        rgba(62, 44, 28, 0.95)
    );
    transform: scale(1.05);
    box-shadow: 0 25px 45px rgba(0, 0, 0, 0.45), 0 0 40px rgba(212, 175, 55, 0.25);
    border: 2px solid rgba(212, 175, 55, 0.4);
    position: relative;
    overflow: hidden;
    z-index: 3;
    width: 100%;
    min-height: 580px;
    padding: var(--space-lg) var(--space-xl);
    max-width: 100%;
}



.plan-card.ultimate::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.1;
    z-index: -1;
}

.plan-card.ultimate::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(241, 196, 15, 0.15),
        transparent 70%
    );
    opacity: 0.7;
    z-index: -1;
}

.plan-card.ultimate:hover {
    transform: scale(1.02) translateY(-6px);
    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.5), 0 0 40px rgba(241, 196, 15, 0.4);
    border-color: rgba(241, 196, 15, 0.5);
    z-index: 11;
}

.glow-effect {
    position: absolute;
    inset: -5px;
    background: conic-gradient(
        from 0deg,
        var(--amber-light),
        var(--honey-glow),
        var(--amber-light),
        var(--honey-glow),
        var(--amber-light)
    );
    border-radius: calc(var(--radius-lg) + 5px);
    opacity: 0;
    z-index: -1;
    animation: rotate-glow 8s linear infinite;
    transition: opacity 0.5s ease;
    filter: blur(10px);
}

.plan-card.ultimate:hover .glow-effect {
    opacity: 0.4;
}

@keyframes rotate-glow {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.ultimate-discount {
    background: var(--deep-forest-1);
    color: var(--amber-light);
    font-weight: 800;
    font-size: 1.5rem;
    padding: 0.6rem 1.2rem;
    margin: var(--space-xs) 0;
    border: 3px solid var(--amber-light);
    border-radius: var(--radius-md);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4), 0 0 15px rgba(212, 175, 55, 0.2);
    position: relative;
    letter-spacing: 0.05em;
    z-index: 2;
}

.ultimate-discount::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(212, 175, 55, 0.15);
    z-index: -1;
}

.plan-card:hover .ultimate-discount {
    background: rgba(15, 44, 30, 0.9);
    color: var(--honey-glow);
    border-color: var(--honey-glow);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4), 0 0 15px rgba(212, 175, 55, 0.3);
    transform: scale(1.05);
}

/* Add a subtle gold frame animation for featured card */
.plan-card.featured::before {
    animation: gold-frame 4s ease-in-out infinite;
}

@keyframes gold-frame {
    0%, 100% {
        box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0.1);
    }
    50% {
        box-shadow: inset 0 0 0 2px rgba(212, 175, 55, 0.3);
    }
}

/* Featured badge removed as requested */

.card-header {
    position: relative;
    z-index: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.card-header h4 {
    color: var(--text-light);
    margin-bottom: var(--space-xs);
    font-size: 1.5rem;
}

.discount-tag {
    display: inline-block;
    background-color: rgba(15, 44, 30, 0.8);
    color: var(--amber-light);
    font-size: 1.3rem;
    font-weight: 700;
    padding: 0.5rem 1rem;
    margin: var(--space-xs) 0;
    border-radius: var(--radius-md);
    border: 2px solid rgba(212, 175, 55, 0.4);
    position: relative;
    overflow: hidden;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.03em;
}

.discount-tag::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        45deg,
        transparent 0%,
        rgba(212, 175, 55, 0.15) 50%,
        transparent 100%
    );
    animation: discount-sweep 2.5s ease-in-out infinite;
}

.plan-card:hover .discount-tag {
    background-color: rgba(15, 44, 30, 0.95);
    color: var(--honey-glow);
    border-color: rgba(212, 175, 55, 0.4);
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
    transform: scale(1.05);
    transition: all 0.3s ease;
}

@keyframes discount-sweep {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

.card-price {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

/* Decorative vertical connection line between elements */
.card-price::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    width: 1px;
    background: linear-gradient(
        to bottom,
        rgba(212, 175, 55, 0),
        rgba(212, 175, 55, 0.15) 20%,
        rgba(212, 175, 55, 0.15) 80%,
        rgba(212, 175, 55, 0)
    );
    z-index: -1;
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Small connector dots */
.card-price::after {
    content: '';
    position: absolute;
    top: 0;
    left: calc(50% - 3px);
    height: 100%;
    width: 6px;
    background-image: radial-gradient(
        circle,
        rgba(212, 175, 55, 0.2) 1px,
        transparent 2px
    );
    background-size: 6px 30px;
    background-repeat: repeat-y;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.plan-card:hover .card-price::before,
.plan-card:hover .card-price::after {
    opacity: 1;
}

/* Ultimate plan styling */
/* Removed ultimate choice badge */

/* Creative nested container structure for pricing */
.price-monthly {
    position: relative;
    background: linear-gradient(135deg, 
        rgba(26, 62, 42, 0.4), 
        rgba(15, 44, 30, 0.2)
    );
    border-radius: var(--radius-lg);
    padding: var(--space-sm) var(--space-md);
    margin: 0 auto var(--space-sm);
    width: 85%;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: baseline;
    justify-content: center;
    transform-style: preserve-3d;
    transform: perspective(500px) rotateX(0deg);
    transition: all 0.4s ease;
}

/* Decorative elements for the price container */
.price-monthly::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 10px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.2), transparent);
    border-radius: 50%;
    filter: blur(3px);
}

.plan-card:hover .price-monthly {
    transform: perspective(500px) rotateX(5deg);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border-color: rgba(212, 175, 55, 0.1);
}

/* Golden corner accents */
.price-monthly::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    top: 5px;
    right: 5px;
    border-top: 2px solid rgba(212, 175, 55, 0.3);
    border-right: 2px solid rgba(212, 175, 55, 0.3);
    border-top-right-radius: 5px;
    opacity: 0.5;
    transition: all 0.3s ease;
}

.plan-card:hover .price-monthly::after {
    width: 30px;
    height: 30px;
    opacity: 1;
}

/* Base currency style */
.currency {
    font-weight: 700;
    color: var(--amber-light);
}

/* Set consistent currency and amount size for all plans */
.price-monthly .currency,
.price-monthly .amount {
    font-size: 2.5rem;
    transition: all 0.3s ease;
    display: inline-block;
}

/* Currency size in total-amount context */
.total-amount .currency {
    font-size: 1.5rem;
    transition: all 0.3s ease;
    display: inline-block;
}

/* Currency and amount in savings context */
.savings-text .currency,
.savings-text .amount {
    font-size: 1rem;
    font-weight: 700;
    color: var(--amber-light);
    transition: all 0.3s ease;
    display: inline-block;
}

/* Ensure ultimate savings has extra bold text for better emphasis */
.ultimate-savings .savings-text,
.ultimate-savings .savings-text .amount,
.ultimate-savings .savings-text .currency {
    font-size: 1rem;
    font-weight: 800;
    color: var(--honey-glow);
}

.amount {
    font-weight: 700;
    color: var(--amber-light);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 
                 0 0 10px rgba(212, 175, 55, 0.2);
    line-height: 1;
    position: relative;
    display: inline-block;
    transition: all 0.3s ease;
}

.plan-card:hover .amount,
.plan-card:hover .currency {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3), 
                 0 0 15px rgba(212, 175, 55, 0.4);
    animation: price-emphasis 0.5s ease-in-out;
}

@keyframes price-emphasis {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.period {
    font-size: 1rem;
    color: var(--text-light-muted);
    margin-left: 4px;
}

/* Standardize all plan prices to be the same size */

.price-total {
    position: relative;
    margin: var(--space-md) auto;
    width: 90%;
    background: linear-gradient(to bottom, 
        rgba(15, 44, 30, 0.6),
        rgba(26, 62, 42, 0.4)
    );
    border-radius: var(--radius-md);
    padding: var(--space-md);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transform: translateY(0);
    transition: all 0.4s ease;
    text-align: center;
    overflow: hidden;
}

/* Diamond pattern background */
.price-total::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(45deg, rgba(212, 175, 55, 0.05) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(212, 175, 55, 0.05) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(212, 175, 55, 0.05) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(212, 175, 55, 0.05) 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
    opacity: 0.3;
    z-index: -1;
}

.price-total::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--amber-light), transparent);
    opacity: 0;
    transition: all 0.5s ease;
    transform: scaleX(0.5);
}

.plan-card:hover .price-total {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    border-color: rgba(212, 175, 55, 0.15);
}

.plan-card:hover .price-total::after {
    opacity: 1;
    transform: scaleX(1);
}

.total-label {
    position: relative;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--amber-light);
    margin-bottom: var(--space-xs);
    padding: var(--space-2xs) var(--space-sm);
    border-radius: var(--radius-full);
    background-color: rgba(26, 62, 42, 0.6);
    border: 1px solid rgba(212, 175, 55, 0.1);
    transform: translateY(0);
    transition: all 0.3s ease;
}

.plan-card:hover .total-label {
    transform: translateY(-2px);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    border-color: rgba(212, 175, 55, 0.2);
}

.total-amount {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    position: relative;
}

/* This style is now handled by the more general selector above */

.total-amount .amount {
    font-size: 1.5rem;
    position: relative;
}

/* Add animated counter effect on hover */
.plan-card:hover .total-amount .amount,
.plan-card:hover .total-amount .currency {
    animation: count-up 1s forwards ease-out;
}

@keyframes count-up {
    0% {
        opacity: 0.5;
        transform: translateY(5px) scale(0.95);
    }
    50% {
        opacity: 1;
        transform: translateY(-3px) scale(1.05);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Add a subtle background highlight to the total price */
.price-total {
    position: relative;
}

.price-total::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--amber-light), transparent);
    transition: width 0.5s ease;
}

.plan-card:hover .price-total::after {
    width: 60%;
}

.total-period {
    font-size: 0.875rem;
    color: var(--text-light-muted);
    margin-left: 4px;
}

.savings {
    position: relative;
    margin-top: var(--space-sm);
    padding: var(--space-sm);
    background: linear-gradient(160deg, 
        rgba(15, 44, 30, 0.7), 
        rgba(26, 62, 42, 0.5)
    );
    border-radius: var(--radius-md);
    border-left: 3px solid var(--amber-light);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15), inset 0 1px 1px rgba(255, 255, 255, 0.1);
    overflow: hidden;
    transform: translateY(0);
    transition: all 0.4s ease-out;
}

/* Diamond pattern background */
.savings::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(45deg, rgba(212, 175, 55, 0.03) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(212, 175, 55, 0.03) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(212, 175, 55, 0.03) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(212, 175, 55, 0.03) 75%);
    background-size: 12px 12px;
    background-position: 0 0, 0 6px, 6px -6px, -6px 0px;
    opacity: 0.5;
    z-index: -1;
}

/* Gold coin decorative element */
.savings::after {
    content: '💰';
    position: absolute;
    top: -5px;
    right: 5px;
    font-size: 1.2rem;
    opacity: 0.2;
    transform: rotate(15deg);
    transform-origin: center;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.3));
    z-index: 1;
}

.plan-card:hover .savings {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2), inset 0 1px 2px rgba(255, 255, 255, 0.15);
    border-left-color: var(--honey-glow);
    background: linear-gradient(160deg, 
        rgba(26, 62, 42, 0.7), 
        rgba(15, 44, 30, 0.5)
    );
}

.plan-card:hover .savings::after {
    transform: rotate(0deg) scale(1.3);
    opacity: 0.3;
    right: 8px;
    top: -8px;
}

.savings-text {
    position: relative;
    display: block;
    padding: var(--space-xs) var(--space-sm);
    color: var(--amber-light);
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    z-index: 2;
    transition: all 0.3s ease;
}

/* Create a glowing highlight behind the text */
.savings-text::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 30%;
    background: radial-gradient(
        ellipse at center,
        rgba(212, 175, 55, 0.15),
        rgba(212, 175, 55, 0) 70%
    );
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: -1;
}

/* Shimmering effect across the text */
.savings-text::after {
    content: '';
    position: absolute;
    top: -100%;
    left: -100%;
    width: 300%;
    height: 300%;
    background: linear-gradient(
        to right,
        rgba(212, 175, 55, 0) 0%,
        rgba(212, 175, 55, 0.2) 25%,
        rgba(241, 196, 15, 0.2) 50%,
        rgba(212, 175, 55, 0) 75%
    );
    transform: rotate(30deg);
    animation: savings-shimmer 3s infinite linear;
    z-index: 1;
    opacity: 0.3;
}

.plan-card:hover .savings-text {
    color: var(--honey-glow);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    transform: scale(1.05);
}

.plan-card:hover .savings-text::before {
    opacity: 1;
}

@keyframes savings-shimmer {
    0% {
        transform: translateX(-100%) rotate(30deg);
    }
    100% {
        transform: translateX(100%) rotate(30deg);
    }
}

/* Add animated gold sparkles around the savings container */
.plan-card:hover .savings::before {
    animation: sparkle-bg 2s infinite linear;
}

@keyframes sparkle-bg {
    0% {
        opacity: 0.3;
        background-size: 12px 12px;
    }
    50% {
        opacity: 0.6;
        background-size: 14px 14px;
    }
    100% {
        opacity: 0.3;
        background-size: 12px 12px;
    }
}

.commitment-note {
    position: relative;
    text-align: center;
    font-size: 0.875rem;
    font-style: italic;
    color: var(--text-light-muted);
    margin-top: var(--space-sm);
    padding: var(--space-sm);
    background: linear-gradient(to bottom,
        rgba(15, 44, 30, 0.4),
        rgba(26, 62, 42, 0.2)
    );
    border-radius: var(--radius-md);
    border-bottom: 1px dashed rgba(212, 175, 55, 0.15);
    backdrop-filter: blur(2px);
    transition: all 0.3s ease;
}

.commitment-note::before {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent, 
        rgba(212, 175, 55, 0.1), 
        transparent
    );
}

.commitment-note::after {
    content: '🌱';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.875rem;
    opacity: 0.4;
    transition: all 0.3s ease;
}

.plan-card:hover .commitment-note {
    color: var(--text-light);
    border-bottom-color: rgba(212, 175, 55, 0.25);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.plan-card:hover .commitment-note::after {
    transform: translateX(-50%) rotate(-10deg);
    opacity: 0.6;
}

.card-action {
    margin-top: auto;
    position: relative;
    z-index: 1;
}

/* Ultimate pricing elements */
.ultimate-price {
    background: linear-gradient(135deg, 
        rgba(26, 62, 42, 0.6), 
        rgba(15, 44, 30, 0.4)
    );
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(241, 196, 15, 0.3);
    padding: var(--space-sm) var(--space-md);
    margin: 0 auto var(--space-sm);
    width: 85%;
}

.ultimate-price .amount,
.ultimate-price .currency {
    font-size: 2.5rem;
    color: var(--honey-glow);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 15px rgba(241, 196, 15, 0.3);
}

.ultimate-price .period {
    color: var(--honey-glow);
}

.ultimate-total {
    background: linear-gradient(to bottom, 
        rgba(15, 44, 30, 0.7),
        rgba(26, 62, 42, 0.5)
    );
    border: 1px solid rgba(241, 196, 15, 0.2);
}

.ultimate-total .total-label {
    background-color: rgba(26, 62, 42, 0.7);
    color: var(--honey-glow);
    border-color: rgba(241, 196, 15, 0.2);
    font-weight: 700;
}

.ultimate-savings, 
.ultimate-note {
    border-color: var(--honey-glow);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* Ultimate savings styles handled globally */

.ultimate-note {
    font-size: 1rem;
    color: var(--text-light);
}

/* Monthly features list */
.monthly-features {
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: linear-gradient(160deg, 
        rgba(15, 44, 30, 0.5), 
        rgba(26, 62, 42, 0.3)
    );
    border-radius: var(--radius-md);
    border-right: 3px solid rgba(212, 175, 55, 0.4);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.plan-card:hover .monthly-features {
    transform: translateY(-5px);
    border-right-color: var(--amber-light);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.monthly-feature-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xs) 0;
    margin-bottom: var(--space-2xs);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.monthly-feature-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.monthly-feature-item .feature-icon {
    font-size: 1.2rem;
    opacity: 0.8;
    transition: all 0.3s ease;
}

.plan-card:hover .monthly-feature-item .feature-icon {
    opacity: 1;
    transform: scale(1.1);
}

.plan-card:hover .monthly-feature-item {
    transform: translateX(5px);
}

/* Ultimate benefits list */
.ultimate-benefits {
    margin-top: var(--space-sm);
    padding: var(--space-sm);
    background: linear-gradient(160deg, 
        rgba(15, 44, 30, 0.6), 
        rgba(26, 62, 42, 0.4)
    );
    border-radius: var(--radius-md);
    border-left: 3px solid var(--honey-glow);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.ultimate-benefit-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xs) 0;
    border-bottom: 1px dashed rgba(241, 196, 15, 0.15);
}

.ultimate-benefit-item:last-child {
    border-bottom: none;
}

.ultimate-check {
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
}

.ultimate-check::before,
.ultimate-check::after {
    content: '';
    position: absolute;
    background-color: var(--honey-glow);
    border-radius: 1px;
}

.ultimate-check::before {
    width: 6px;
    height: 2px;
    top: 50%;
    left: 3px;
    transform: translateY(-50%) rotate(45deg);
}

.ultimate-check::after {
    width: 12px;
    height: 2px;
    top: 50%;
    left: 5px;
    transform: translateY(-50%) rotate(-45deg);
}

/* Ultimate button */
.ultimate-btn {
    background: conic-gradient(
        from 0deg at 50% 50%,
        #ffd700 0%,
        #f1c40f 10%,
        #d4af37 20%,
        #ffdb58 30%,
        #ffd700 40%,
        #f1c40f 50%,
        #d4af37 60%,
        #ffdb58 70%,
        #ffd700 80%,
        #f1c40f 90%,
        #d4af37 100%
    );
    color: #051008;
    font-size: 1.6rem;
    font-weight: 800;
    padding: 1.1rem 2.2rem;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    position: relative;
    box-shadow: 
        0 15px 35px rgba(0, 0, 0, 0.3),
        0 0 40px rgba(234, 179, 8, 0.4),
        inset 0 0 15px rgba(255, 255, 255, 0.3);
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 2;
    transform: translateZ(0) scale(1);
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.2);
    animation: ultimate-rotate 15s linear infinite, pulse 2s infinite;
    width: 90%;
    margin: 0 auto;
}

/* Magical glow effect */
.ultimate-btn::before {
    content: "";
    position: absolute;
    inset: -4px;
    background: radial-gradient(
        circle at 30% 30%,
        rgba(255, 255, 255, 0.5),
        transparent 70%
    );
    opacity: 0.6;
    z-index: -1;
    filter: blur(5px);
    animation: glow-move 5s infinite alternate;
}

/* Shimmering light effect */
.ultimate-btn::after {
    content: "";
    position: absolute;
    inset: -5px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.8) 50%, 
        transparent 100%
    );
    transform: translateX(-200%) rotate(-30deg);
    transition: transform 0.8s ease;
    z-index: 1;
    filter: blur(3px);
}

/* Golden particles effect */
.ultimate-btn span {
    position: relative;
    z-index: 5;
}

.ultimate-btn span::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='10' cy='10' r='1' fill='%23FFFFFF' opacity='0.8'/%3E%3Ccircle cx='30' cy='40' r='0.5' fill='%23FFFFFF' opacity='0.7'/%3E%3Ccircle cx='50' cy='20' r='0.8' fill='%23FFFFFF' opacity='0.6'/%3E%3Ccircle cx='70' cy='50' r='0.7' fill='%23FFFFFF' opacity='0.8'/%3E%3Ccircle cx='90' cy='30' r='0.9' fill='%23FFFFFF' opacity='0.7'/%3E%3Ccircle cx='20' cy='70' r='0.6' fill='%23FFFFFF' opacity='0.8'/%3E%3Ccircle cx='40' cy='90' r='0.8' fill='%23FFFFFF' opacity='0.6'/%3E%3Ccircle cx='60' cy='80' r='0.5' fill='%23FFFFFF' opacity='0.7'/%3E%3Ccircle cx='80' cy='60' r='0.7' fill='%23FFFFFF' opacity='0.8'/%3E%3C/svg%3E");
    background-size: 100px 100px;
    opacity: 0;
    transition: opacity 0.5s ease;
    mix-blend-mode: overlay;
    z-index: -1;
}

/* Hover state - magical transformation */
.ultimate-btn:hover {
    transform: translateZ(0) scale(1.05) translateY(-6px);
    box-shadow: 
        0 18px 35px rgba(0, 0, 0, 0.4),
        0 0 45px rgba(234, 179, 8, 0.7),
        inset 0 0 20px rgba(255, 255, 255, 0.5);
    border-color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    animation: ultimate-rotate 8s linear infinite, ultimate-btn-pulse 2s infinite;
    color: white;
    font-weight: 900;
    text-shadow: 
        0 1px 3px rgba(0, 0, 0, 0.8), 
        0 0 5px rgba(0, 0, 0, 0.5),
        0 0 10px rgba(0, 0, 0, 0.3);
}

.ultimate-btn:hover::before {
    opacity: 0.8;
    filter: blur(10px);
    animation: glow-move 3s infinite alternate;
}

.ultimate-btn:hover::after {
    transform: translateX(200%) rotate(-30deg);
    transition: transform 1.5s ease;
}

.ultimate-btn:hover span::before {
    opacity: 0.8;
    animation: sparkle 3s infinite;
}

.ultimate-btn:active {
    transform: scale(0.97) translateY(3px);
    box-shadow: 
        0 10px 20px rgba(0, 0, 0, 0.2),
        0 0 30px rgba(234, 179, 8, 0.3),
        inset 0 0 10px rgba(255, 255, 255, 0.2);
    transition: all 0.15s ease;
}

@keyframes ultimate-rotate {
    0% {
        background-position: 0% center;
    }
    100% {
        background-position: 360% center;
    }
}

@keyframes ultimate-pulse {
    0%, 100% {
        transform: translateZ(0) scale(1.1) translateY(-7px);
    }
    50% {
        transform: translateZ(0) scale(1.13) translateY(-9px);
    }
}

@keyframes glow-move {
    0% {
        opacity: 0.5;
        background-position: 30% 30%;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 0.5;
        background-position: 70% 70%;
    }
}

@keyframes sparkle {
    0%, 100% {
        opacity: 0.5;
        background-position: 0px 0px;
    }
    50% {
        opacity: 0.8;
        background-position: 50px 50px;
    }
}

@keyframes gradient-slide {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes btn-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

@keyframes radial-pulse {
    0%, 100% {
        opacity: 0.4;
    }
    50% {
        opacity: 0.7;
    }
}

@keyframes ultimate-btn-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
}

.ultimate-btn-outline {
    border-color: var(--honey-glow);
    color: var(--honey-glow);
}

.ultimate-btn-outline:hover {
    background-color: rgba(241, 196, 15, 0.1);
    border-color: var(--amber-glow);
    color: var(--amber-glow);
}

/* ===== JOURNEY SECTION ===== */
.journey-section {
    position: relative;
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
    text-align: center;
}

.journey-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, 
        rgba(26, 62, 42, 0.8), 
        rgba(15, 44, 30, 0.9)
    );
    clip-path: polygon(
        0% 0%, 
        100% 0, 
        100% 94%, 
        94% 100%, 
        0 100%
    );
    z-index: -1;
}

.journey-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-xl);
    padding: var(--space-md);
}

.journey-card {
    position: relative;
    padding: var(--space-xl) var(--space-lg);
    background: linear-gradient(160deg, 
        rgba(15, 44, 30, 0.5), 
        rgba(26, 62, 42, 0.3)
    );
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all var(--transition-normal);
    overflow: hidden;
}

.journey-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.05;
    z-index: -1;
}

.journey-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.2);
}

.journey-step {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(212, 175, 55, 0.2);
    color: var(--amber-light);
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-serif);
    border-bottom-left-radius: var(--radius-md);
}

.journey-icon {
    font-size: 2.5rem;
    margin-bottom: var(--space-md);
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.4);
}

.journey-card h3 {
    color: var(--amber-light);
    margin-bottom: var(--space-md);
    font-size: 1.5rem;
}

.journey-card p {
    color: var(--text-light-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 0;
}

/* ===== FAQ SECTION ===== */
.faq-section {
    position: relative;
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
    text-align: center;
}

.faq-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, 
        rgba(15, 44, 30, 0.7), 
        rgba(26, 62, 42, 0.9)
    );
    clip-path: polygon(
        0% 0%, 
        100% 0, 
        100% 94%, 
        94% 100%, 
        0 100%
    );
    z-index: -1;
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.faq-item {
    background: linear-gradient(160deg, 
        rgba(26, 62, 42, 0.5), 
        rgba(15, 44, 30, 0.7)
    );
    border-radius: var(--radius-lg);
    border-left: 3px solid var(--amber-light);
    overflow: hidden;
    text-align: left;
    position: relative;
    transition: all var(--transition-normal);
}

.faq-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.05;
    z-index: -1;
}

.faq-item:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.faq-question {
    position: relative;
    padding: var(--space-lg);
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--amber-light);
    list-style: none;
}

.faq-question::marker {
    display: none;
}

.faq-question::after {
    content: '+';
    position: absolute;
    right: var(--space-lg);
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    color: var(--amber-light);
    transition: transform var(--transition-normal);
}

.faq-item[open] .faq-question::after {
    transform: translateY(-50%) rotate(45deg);
}

.faq-answer {
    padding: 0 var(--space-lg) var(--space-lg);
}

.faq-answer p {
    margin-bottom: 0;
    color: var(--text-light);
}

/* CSS-only accordion for browsers without details/summary support */
@supports not (selector(:has(:hover))) {
    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height var(--transition-slow) ease;
        padding-top: 0;
    }
    
    .faq-item:hover .faq-answer,
    .faq-item:focus-within .faq-answer,
    .faq-item[open] .faq-answer {
        max-height: 300px;
        padding-top: var(--space-md);
    }
}

/* ===== CTA SECTION ===== */
.cta-section {
    position: relative;
    padding: var(--space-3xl) 0;
    text-align: center;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, 
        rgba(109, 76, 49, 0.8), 
        rgba(139, 90, 43, 0.7)
    );
    clip-path: polygon(
        0 0,
        100% 0,
        100% 85%,
        85% 100%,
        0 100%
    );
    z-index: -1;
}

.cta-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.1;
    z-index: -1;
}

.cta-content {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.cta-content h2 {
    color: var(--text-light);
    margin-bottom: var(--space-md);
    font-size: 2.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.cta-content p {
    color: var(--text-light);
    margin-bottom: var(--space-xl);
    font-size: 1.25rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.cta-decoration {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(circle at 80% 20%, rgba(212, 175, 55, 0.1), transparent 50%),
        radial-gradient(circle at 20% 80%, rgba(212, 175, 55, 0.1), transparent 50%);
    z-index: 0;
    pointer-events: none;
}

/* ===== MEDIA QUERIES ===== */
@media (max-width: 1200px) {
    :root {
        --container-padding: var(--space-lg);
    }
    
    .plan-card.featured {
        transform: scale(1.03);
    }
    
    .plan-card.featured:hover {
        transform: scale(1.03) translateY(-8px);
    }
}

@media (max-width: 992px) {
    section {
        padding: var(--space-2xl) 0;
    }
    
    .benefits-container {
        flex-direction: column;
        padding: var(--space-lg);
    }
    
    .benefit-column {
        min-width: 100%;
    }
    
    .journey-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    :root {
        --container-padding: var(--space-md);
    }
    
    section {
        padding: var(--space-xl) 0;
    }
    
    .hero-section {
        padding: var(--space-3xl) 0;
        min-height: auto;
    }
    
    .intro-logo {
        max-width: 120px;
    }
    
    .circle-1 {
        width: 150px;
        height: 150px;
    }
    
    .circle-2 {
        width: 130px;
        height: 130px;
    }
    
    .circle-3 {
        width: 170px;
        height: 170px;
    }
    
    .subscription-info-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .plan-card.featured {
        transform: scale(1);
    }
    
    .plan-card.featured:hover {
        transform: translateY(-8px);
    }
    
    .plan-card.ultimate {
        transform: scale(1.00);
        margin-top: var(--space-2xl);
    }
    
    .plan-card.ultimate:hover {
        transform: scale(1.00) translateY(-8px);
    }
    
    /* Ultimate choice badge removed */
    
    .ultimate-price .amount {
        font-size: 2.5rem;
    }
    
    .journey-grid {
        grid-template-columns: 1fr;
    }
    
    .membership-section::before, 
    .journey-section::before,
    .faq-section::before,
    .cta-section::before {
        clip-path: polygon(
            0% 0%, 
            100% 0, 
            100% 96%, 
            96% 100%, 
            0 100%
        );
    }
}

@media (max-width: 576px) {
    .subscription-info-grid {
        grid-template-columns: 1fr;
    }
    
    .standard-plans {
        grid-template-columns: 1fr;
    }
    
    .price-monthly {
        margin-bottom: var(--space-sm);
    }
    
    .intro-text p {
        font-size: 1.125rem;
    }
    
    .plan-card.ultimate {
        transform: scale(1);
        margin-top: var(--space-xl);
    }
    
    .plan-card.ultimate:hover {
        transform: translateY(-8px);
    }
    
    /* Ultimate choice badge removed */
    
    .ultimate-benefits {
        padding: var(--space-sm);
    }
    
    .ultimate-btn {
        font-size: 1rem;
        padding: var(--space-md) var(--space-lg);
    }
    
    .membership-section::before, 
    .journey-section::before,
    .faq-section::before,
    .cta-section::before {
        clip-path: polygon(
            0% 0%, 
            100% 0, 
            100% 98%, 
            98% 100%, 
            0 100%
        );
    }
}

/* ===== ACCESSIBILITY ===== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

.focus-visible:focus {
    outline: 2px solid var(--amber-light);
    outline-offset: 2px;
}

/* High contrast mode */
@media (forced-colors: active) {
    .btn-primary, 
    .btn-cta, 
    .btn-outline,
    .plan-card.featured,
    .featured-badge {
        border: 2px solid currentColor;
    }
}
