/* ===== CSS Variables (Design Tokens) ===== */
html,
body {
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
}

:root {
    /* Colors */
    --color-black-primary: #000000;
    --color-black-secondary: #1a1a1a;
    --color-black-tertiary: #2a2a2a;
    --color-gold-primary: #d4af37;
    --color-gold-secondary: #f4d03f;
    --color-gold-dark: #b8941e;
    --color-white-marble: #e8e8e8;
    --color-white: #ffffff;
    --color-white-brilliant: #ffffff;
    --color-white-transparent: rgba(255, 255, 255, 0.1);
    --shadow-white-glow: 0 0 20px rgba(255, 255, 255, 0.4);

    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --spacing-xl: 6rem;

    /* Typography */
    --font-heading: 'Cormorant Garamond', serif;
    --font-body: 'Montserrat', sans-serif;

    /* Transitions */
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.2s ease;

    /* Shadows */
    --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 40px rgba(212, 175, 55, 0.3);
}

/* ===== Global Styles ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: var(--font-body);
    color: var(--color-white);
    background-color: #000000;
    line-height: 1.6;
    overflow-x: hidden;
    position: relative;
}

/* ===== Particle Canvas Background ===== */
#particle-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: #000000;
}

/* ===== Typography ===== */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-white);
}

h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
}

h2 {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

h3 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

p {
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    line-height: 1.8;
}

/* ===== Utility Classes ===== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.glass-card {
    background: rgba(26, 26, 26, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: var(--spacing-md);
    transition: var(--transition-smooth);
}

.glass-card:hover {
    background: rgba(26, 26, 26, 0.8);
    border-color: rgba(212, 175, 55, 0.3);
    transform: translateY(-5px);
    box-shadow: var(--shadow-glow);
}

/* ===== Navigation ===== */
.nav-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: var(--spacing-sm) 0;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition-smooth);
}

.nav-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    height: 60px;
    object-fit: contain;
    transition: var(--transition-smooth);
}

.nav-logo:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.5));
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: var(--spacing-md);
}

.nav-menu a {
    color: var(--color-white);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    transition: var(--transition-fast);
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--color-gold-primary), var(--color-gold-secondary));
    transition: width 0.3s ease;
}

.nav-menu a:hover {
    color: var(--color-gold-primary);
}

.nav-menu a:hover::after {
    width: 100%;
}

/* ===== Hero Section ===== */
.hero-section {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    --color-black-secondary: #1a1a1a;
    --color-black-tertiary: #2a2a2a;
    --color-gold-primary: #d4af37;
    --color-gold-secondary: #f4d03f;
    --color-gold-dark: #b8941e;
    --color-white-marble: #e8e8e8;
    --color-white: #ffffff;
    --color-white-brilliant: #ffffff;
    --color-white-transparent: rgba(255, 255, 255, 0.1);
    --shadow-white-glow: 0 0 20px rgba(255, 255, 255, 0.4);

    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --spacing-xl: 6rem;

    /* Typography */
    --font-heading: 'Cormorant Garamond', serif;
    --font-body: 'Montserrat', sans-serif;

    /* Transitions */
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.2s ease;

    /* Shadows */
    --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 40px rgba(212, 175, 55, 0.3);
}

/* ===== Global Styles ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: var(--font-body);
    color: var(--color-white);
    background-color: #000000;
    line-height: 1.6;
    overflow-x: hidden;
    position: relative;
}

/* ===== Particle Canvas Background ===== */
#particle-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: #000000;
}

/* ===== Typography ===== */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-white);
}

h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
}

h2 {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

h3 {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

p {
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    line-height: 1.8;
}

/* ===== Utility Classes ===== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.glass-card {
    background: rgba(26, 26, 26, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: var(--spacing-md);
    transition: var(--transition-smooth);
}

.glass-card:hover {
    background: rgba(26, 26, 26, 0.8);
    border-color: rgba(212, 175, 55, 0.3);
    transform: translateY(-5px);
    box-shadow: var(--shadow-glow);
}

/* ===== Navigation ===== */
.nav-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: var(--spacing-sm) 0;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: var(--transition-smooth);
}

.nav-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    height: 60px;
    object-fit: contain;
    transition: var(--transition-smooth);
}

.nav-logo:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.5));
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: var(--spacing-md);
}

.nav-menu a {
    color: var(--color-white);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    transition: var(--transition-fast);
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--color-gold-primary), var(--color-gold-secondary));
    transition: width 0.3s ease;
}

.nav-menu a:hover {
    color: var(--color-gold-primary);
}

.nav-menu a:hover::after {
    width: 100%;
}

/* ===== Hero Section ===== */
.hero-section {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-md);
    position: relative;
    overflow: hidden;
}

.hero-video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    overflow: hidden;
}

/* Make Hero full-screen on mobile */
@media (max-width: 768px) {
    .hero-section {
        min-height: 100vh !important;
    }
}

.hero-video {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(6) !important;
    /* Extreme scale to hide all UI and cover width */
    width: 100vw !important;
    height: 100vh !important;
    z-index: 0;
    pointer-events: none;
    border: none;
    background: transparent;
}

.mobile-video {
    display: none;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.hero-content {
    animation: fadeInUp 1s ease-out;
    position: relative;
    z-index: 2;
}

.hero-title {
    background: linear-gradient(135deg, var(--color-gold-primary), var(--color-gold-secondary), var(--color-white));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: var(--spacing-sm);
    animation: shimmer 3s ease-in-out infinite;
    background-size: 200% auto;
}

.hero-subtitle {
    font-family: var(--font-heading);
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    color: var(--color-gold-primary);
    font-style: italic;
    margin-bottom: var(--spacing-md);
}

.hero-description {
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    color: var(--color-white-marble);
    max-width: 700px;
    margin: 0 auto var(--spacing-lg);
    line-height: 1.8;
}

/* ===== Buttons ===== */
.cta-button {
    display: inline-block;
    padding: 1rem 2.5rem;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-radius: 50px;
    position: relative;
    overflow: hidden;
    transition: var(--transition-smooth);
    cursor: pointer;
}

.primary-cta {
    background: var(--color-white-brilliant);
    color: var(--color-black-primary);
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.primary-cta:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-white-glow);
    background: #fff;
}

.secondary-cta {
    background: transparent;
    color: var(--color-gold-primary);
    border: 2px solid var(--color-gold-primary);
}

.secondary-cta:hover {
    background: var(--color-gold-primary);
    color: var(--color-black-primary);
    transform: translateY(-3px);
}

.button-shine {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s;
}

.cta-button:hover .button-shine {
    left: 100%;
}

/* ===== Scroll Indicator ===== */
.hero-scroll-indicator {
    position: absolute;
    bottom: var(--spacing-lg);
    left: 50%;
    transform: translateX(-50%);
    animation: bounce 2s infinite;
    z-index: 2;
}

.scroll-arrow {
    width: 30px;
    height: 50px;
    border: 2px solid var(--color-gold-primary);
    border-radius: 50px;
    position: relative;
}

.scroll-arrow::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background: var(--color-gold-primary);
    border-radius: 50%;
    animation: scrollDot 2s infinite;
}

@keyframes bounce {

    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

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

@keyframes scrollDot {
    0% {
        opacity: 0;
        top: 10px;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        top: 30px;
    }
}

/* ===== Section Styles ===== */
section {
    padding: var(--spacing-xl) 0;
    position: relative;
}

.section-header {
    text-align: center;
    margin-bottom: var(--spacing-lg);
    animation: fadeInUp 0.8s ease-out;
}

.section-tag {
    display: inline-block;
    font-size: 0.9rem;
    color: var(--color-gold-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: var(--spacing-sm);
}

.section-divider {
    width: 100px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--color-gold-primary), transparent);
    margin: var(--spacing-sm) auto 0;
}

/* ===== About Section ===== */
.about-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
}

.about-card {
    text-align: center;
    animation: fadeInUp 0.8s ease-out;
}

.card-icon {
    font-size: 3rem;
    margin-bottom: var(--spacing-sm);
    filter: grayscale(0.3);
}

.about-card h3 {
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-sm);
}

/* ===== Process Timeline ===== */
.timeline {
    position: relative;
    max-width: 800px;
    margin: var(--spacing-lg) auto 0;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--color-gold-primary), var(--color-gold-secondary));
    transform: translateX(-50%);
}

.timeline-item {
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-lg);
    position: relative;
    animation: fadeInUp 0.8s ease-out;
}

.timeline-item:nth-child(odd) {
    flex-direction: row;
}

.timeline-item:nth-child(even) {
    flex-direction: row-reverse;
}

.timeline-marker {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--color-gold-primary), var(--color-gold-secondary));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-black-primary);
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    margin: 0 var(--spacing-md);
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
}

.timeline-content {
    flex: 1;
    max-width: 350px;
}

.timeline-content h3 {
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-xs);
}

/* ===== Benefits Section ===== */
.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
}

.benefit-card {
    background: rgba(26, 26, 26, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: var(--spacing-md);
    text-align: center;
    transition: var(--transition-smooth);
    animation: fadeInUp 0.8s ease-out;
}

.benefit-card:hover {
    background: rgba(26, 26, 26, 0.8);
    border-color: rgba(212, 175, 55, 0.3);
    transform: translateY(-10px) scale(1.02);
    box-shadow: var(--shadow-glow);
}

.benefit-icon {
    font-size: 3rem;
    margin-bottom: var(--spacing-sm);
    display: inline-block;
    transition: var(--transition-smooth);
}

.benefit-card:hover .benefit-icon {
    transform: scale(1.2) rotate(5deg);
}

.benefit-card h3 {
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-sm);
}

/* ===== Care Section ===== */
.care-content {
    max-width: 900px;
    margin: var(--spacing-lg) auto 0;
}

.post-tratamiento {
    display: none;
    /* Removed in favor of sub-header-treatment */
}

.sub-header-treatment {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    color: var(--color-gold-primary);
    font-style: italic;
    margin-bottom: var(--spacing-md);
    display: block;
}

.care-warning {
    text-align: center;
    margin-bottom: var(--spacing-md);
    background: rgba(212, 175, 55, 0.1);
    border-color: var(--color-gold-primary);
    animation: pulse 3s ease-in-out infinite;
}

.care-warning h3 {
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-sm);
}



.care-video-container {
    width: 100%;
    margin-bottom: var(--spacing-lg);
    display: flex;
    justify-content: center;
}

.video-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    /* Default 16:9 Aspect Ratio */
    overflow: hidden;
    background: #000;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.desktop-care-video {
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
    max-width: 900px;
    /* Constraint desktop width */
    margin: 0 auto;
    display: block;
}

.mobile-care-video {
    display: none;
    padding-bottom: 177.77%;
    /* 9:16 aspect ratio */
    max-width: 320px;
}

.care-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 columns for 2x2 layout on desktop */
    gap: var(--spacing-md);
}

.care-item {
    background: rgba(26, 26, 26, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    padding: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    transition: var(--transition-smooth);
}

.care-item:hover {
    border-color: rgba(212, 175, 55, 0.3);
    transform: translateX(10px);
}

.care-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

/* ===== CTA Section ===== */
.cta-section {
    padding: var(--spacing-xl) 0;
}

.cta-content {
    text-align: center;
    padding: var(--spacing-lg);
    max-width: 700px;
    margin: 0 auto;
}

.cta-content h2 {
    margin-bottom: var(--spacing-sm);
}

.cta-content p {
    margin-bottom: var(--spacing-lg);
    font-size: 1.1rem;
}

.cta-buttons {
    display: flex;
    gap: var(--spacing-md);
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== Footer ===== */
.footer-section {
    padding: var(--spacing-lg) 0 var(--spacing-md);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-content {
    text-align: center;
}

.footer-logo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    clip-path: circle(50%);
    object-fit: cover;
    border: 1px solid var(--color-gold-primary);
    background: #000;
    margin: 0 auto var(--spacing-sm);
    display: block;
    opacity: 0.9;
}

.footer-tagline {
    font-family: var(--font-heading);
    font-style: italic;
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-md);
}

.footer-social {
    margin-bottom: var(--spacing-md);
}

.footer-social a {
    color: var(--color-white);
    font-size: 1.5rem;
    transition: var(--transition-fast);
}

.footer-social a:hover {
    color: var(--color-gold-primary);
    transform: scale(1.2);
}

.footer-copyright {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.5);
}

/* ===== Animations ===== */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes shimmer {
    0% {
        background-position: 0% center;
    }

    100% {
        background-position: 200% center;
    }
}

@keyframes pulse {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
    }

    50% {
        box-shadow: 0 0 40px rgba(212, 175, 55, 0.6);
    }
}

/* ===== Responsive Design ===== */
@media (max-width: 768px) {
    .nav-menu {
        display: none;
    }

    .nav-logo {
        height: 40px;
    }

    .hero-section {
        padding: var(--spacing-lg) var(--spacing-md);
    }

    .desktop-video {
        display: none;
    }

    .mobile-video {
        display: block;
    }

    .hero-video {
        width: 250vw;
        /* Also massive on mobile but slightly less */
        height: 250vh;
        transform: translate(-50%, -50%);
    }

    .timeline::before {
        left: 30px;
    }

    .timeline-item {
        flex-direction: row !important;
    }

    .timeline-marker {
        margin: 0 var(--spacing-sm) 0 0;
    }

    .timeline-content {
        max-width: 100%;
    }

    .cta-buttons {
        flex-direction: column;
    }

    .cta-button {
        width: 100%;
    }

    .desktop-care-video {
        display: none;
    }

    .care-video-container {
        padding: 0;
        margin: 0 0 var(--spacing-lg) 0;
        width: 100%;
        position: relative;
        background: #000;
        border-radius: 0;
        overflow: hidden;
    }

    .mobile-care-video {
        display: block;
        margin: 0;
        width: 100%;
        max-width: 100%;
        padding-bottom: 177.77%;
        /* 9:16 Aspect Ratio */
        position: relative;
        overflow: hidden;
    }

    .mobile-care-video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: scale(1.6);
        transform-origin: center center;
    }

    .care-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    :root {
        --spacing-xl: 3rem;
        --spacing-lg: 2rem;
    }

    .hero-section {
        min-height: 90vh;
        padding: var(--spacing-md) var(--spacing-sm);
    }

    h1 {
        font-size: 2.5rem;
    }

    .benefits-grid,
    .about-grid,
    .care-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== Scroll Animations (applied via JS) ===== */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== Floating CTA Button ===== */
.floating-cta {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
}

.floating-cta.visible {
    opacity: 1;
    visibility: visible;
}

.floating-btn {
    width: 65px;
    height: 65px;
    background: #000;
    color: var(--color-gold-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(212, 175, 55, 0.3);
    transition: var(--transition-smooth);
    border: 1px solid var(--color-gold-primary);
    overflow: hidden;
    animation: float 3s ease-in-out infinite, glow-pulse 4s infinite alternate;
}

.floating-btn:hover {
    transform: scale(1.1) translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6), 0 0 30px rgba(212, 175, 55, 0.6);
}

.floating-btn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 2;
}

.floating-btn::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(to bottom right,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 40%,
            rgba(255, 255, 255, 0.2) 50%,
            rgba(255, 255, 255, 0) 60%,
            rgba(255, 255, 255, 0) 100%);
    transform: rotate(45deg);
    animation: shine-btn 4s infinite;
}

/* Base styles for mobile video wrapper */
.mobile-video-wrapper {
    position: relative;
    width: 100%;
    height: 40vh;
    max-height: 480px;
    overflow: hidden;
    background: #000;
}

/* ===== Desktop Video Section Enhancement ===== */
@media (min-width: 769px) {
    #showcase-video .mobile-video-wrapper {
        height: 85vh !important;
        max-height: 950px !important;
    }
}

/* ===== Mobile Video Section Enhancement ===== */
@media (max-width: 768px) {
    #showcase-video .mobile-video-wrapper {
        height: 100vh !important;
        max-height: none !important;
        overflow: hidden;
    }

    #showcase-video .mobile-video-wrapper iframe {
        width: 320% !important;
        /* Scale up to fill and crop */
        height: 100% !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Animations for WhatsApp button */
@keyframes float {

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

    50% {
        transform: translateY(-8px);
    }
}

@keyframes glow-pulse {
    0% {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 10px rgba(212, 175, 55, 0.2);
    }

    100% {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 30px rgba(212, 175, 55, 0.5);
    }
}

@keyframes shine-btn {
    0% {
        left: -100%;
        top: -100%;
    }

    20%,
    100% {
        left: 100%;
        top: 100%;
    }
}

@keyframes bounce-simple {

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

    50% {
        transform: translateY(15px);
    }
}

/* ===== Social Proof Section ===== */
.social-proof-section {
    padding: var(--spacing-xl) 0;
    background: linear-gradient(to bottom, #000, #0a0a0a);
}

.social-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
}

.social-card {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, 0.1);
    transition: var(--transition-smooth);
    background: rgba(255, 255, 255, 0.03);
    display: flex;
    flex-direction: column;
    height: auto;
}

.social-image-wrapper {
    width: 100%;
    height: 100%;
    max-height: 500px;
    overflow: hidden;
    border-radius: 15px;
}

.social-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: var(--transition-smooth);
}

.social-card:hover {
    transform: translateY(-10px);
    border-color: var(--color-gold-primary);
    box-shadow: 0 10px 40px rgba(212, 175, 55, 0.1);
}

@media (max-width: 992px) {
    .social-proof-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .social-proof-grid {
        grid-template-columns: 1fr;
    }

    .social-image-wrapper {
        max-height: none;
    }
}

/* ===== GSAP Scroll Video Styles ===== */

/* Showcase Video Root */
.scroll-video-root {
    position: relative;
    /* Height will be controlled largely by the sticky duration, but we can set a min-height */
    width: 100%;
    z-index: 10;
}

.scroll-video-sticky {
    position: relative;
    /* Changed by GSAP to sticky */
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.scroll-video-container {
    width: 360px;
    /* Initial size */
    height: 360px;
    /* Initial size */
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    will-change: width, height, border-radius;
    /* Optimization */
}

/* Care Video specific Styles (inherits some logic but specific classes) */
.care-video-root {
    position: relative;
    width: 100%;
    z-index: 10;
    margin-bottom: var(--spacing-lg);
}

.care-video-sticky {
    position: relative;
    top: 0;
    height: 100vh;
    /* Adjust if we want less scroll distance */
    display: flex;
    justify-content: center;
    align-items: center;
}

.care-video-container-anim {
    width: 360px;
    height: 360px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    background: #000;
}

/* Overlay Styles */
.scroll-video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    opacity: 0;
    /* Hidden initially, revealed by GSAP */
    pointer-events: none;
}

.scroll-overlay-content h3 {
    font-size: 2rem;
    color: var(--color-gold-primary);
    margin-bottom: 0.5rem;
}

/* Mobile Adjustments */
@media (max-width: 768px) {

    .scroll-video-container,
    .care-video-container-anim {
        width: 280px;
        height: 280px;
    }
}


/* ===== Clean Video Card Styles ===== */
.clean-video-card {
    position: relative;
    width: 100%;
    max-width: 900px;
    /* Max width for desktop */
    aspect-ratio: 16 / 9;
    /* Standard video ratio */
    border-radius: 12px;
    /* rounded-xl equivalent */
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    /* shadow-lg */
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    /* spring-like transition */
    background: #000;
    opacity: 0;
    /* Initial state for animation */
    transform: translateY(20px);
    /* Initial state for animation */
}

.clean-video-card:hover {
    transform: scale(1.02) translateY(0);
    /* scale-102 on hover */
}

.clean-video-card iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Gradient Overlay (Optional, for aesthetics) */
.video-overlay-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.3) 0%, transparent 40%);
    pointer-events: none;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .clean-video-card {
        border-radius: 8px;
    }
}

/* Animation Class (Added by JS) */
.card-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}


/* ===== Simple Responsive Video Styles ===== */

.video-responsive {
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    background: #000;
    /* Placeholder background */
}

.video-responsive iframe,
.video-responsive video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    object-fit: cover;
}

/* Aspect Ratios */
.aspect-16-9 {
    padding-bottom: 56.25%;
    /* 16:9 */
}

.aspect-9-16 {
    padding-bottom: 177.77%;
    /* 9:16 */
}

/* Visibility Utilities for Video Switching */
.mobile-only {
    display: none !important;
}

@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }

    /* Remove ALL spacing issues and make Showcase video MUCH LARGER */
    #showcase-video {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    /* Make Showcase video take up most of screen height on mobile */
    #showcase-video .aspect-16-9 {
        padding-bottom: 75% !important;
        /* Increase from 56.25% to make it taller */
    }

    /* Reduce Care section vertical spacing */
    .care-video-wrapper {
        padding: 0 !important;
        margin-bottom: 1.5rem !important;
        /* Reduced from 3rem */
        width: 100% !important;
    }

    /* Reduce Care section overall padding */
    .care-section {
        padding: 2rem 0 !important;
        /* Reduced vertical padding */
    }
}

/* ===== Showcase Video Section - FINAL FIX ===== */
/* ===== Showcase Video Section - FINAL FIX ===== */
.showcase-video-section {
    width: 100%;
    max-width: 400px;
    /* Phone size constraint */
    margin: 0 auto !important;
    /* Center it */
    padding: 0 !important;
    position: relative;
    z-index: 5;
}

/* Desktop: Remove gap between Hero and Showcase */
.hero-section {
    margin-bottom: 0 !important;
}

/* Desktop aspect ratio - slightly taller than 16:9 */
/* Desktop aspect ratio - Vertical 9:16 */
.showcase-aspect {
    padding-bottom: 177.77%;
    /* 9:16 aspect ratio */
}

/* Mobile: Make video MUCH LARGER */
@media (max-width: 768px) {
    .showcase-aspect {
        padding-bottom: 120% !important;
        /* Taller on mobile for full screen feel */
        height: auto !important;
    }

    .showcase-video-section {
        max-width: 100% !important;
        /* Full width on mobile */
        margin-top: 0 !important;
    }
}

/* Extra small mobile */
@media (max-width: 480px) {
    .showcase-aspect {
        padding-bottom: 120% !important;
        /* Even taller on very small screens */
    }
}


/* ===== AGGRESSIVE VIDEO FIX - FINAL ===== */

/* Force dark background everywhere to hide letterboxing */
.showcase-video-section,
.showcase-video-section .video-responsive,
.showcase-video-section iframe {
    background: #000 !important;
}

/* Desktop: Remove ALL spacing between Hero and Video */
.hero-section {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Desktop: Restore spacing between Hero and Video */
.hero-section {
    margin-bottom: 4rem !important;
    padding-bottom: 0 !important;
}

/* Care Video Wrapper - Constrain Width for Vertical Video */
.care-video-wrapper {
    max-width: 400px !important;
    /* Phone size constraint */
    margin: 0 auto !important;
    margin-bottom: 1rem !important;
    display: block;
}

/* MOBILE SPECIFIC - Make video MUCH bigger */
@media (max-width: 768px) {

    /* Mobile: Ensure full vertical ratio is kept */
    .showcase-aspect {
        padding-bottom: 177.77% !important;
        /* 9:16 full vertical */
        height: auto !important;
    }

    /* Remove ALL padding/margin */
    .showcase-video-section {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Make iframe fill container */
    .showcase-aspect iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none;
        background: #000;
    }
}

/* Very small screens - even taller */
@media (max-width: 480px) {
    .showcase-aspect {
        padding-bottom: 120% !important;
        /* Taller than square */
    }
}

/* Hide the default section wrapper background */
#showcase-video {
    background: transparent !important;
}


/* ===== FINAL IFRAME FIX ===== */

/* Force iframe to fill container on ALL devices */
.showcase-video-section iframe,
.showcase-aspect iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* Force container to be positioned relative */
.showcase-aspect {
    position: relative !important;
    width: 100% !important;
    background: #000 !important;
}

/* Mobile: Force larger aspect ratio */
@media (max-width: 768px) {
    .showcase-aspect {
        padding-bottom: 90% !important;
        /* Almost square on mobile */
    }

    /* Override any fixed widths from the player */
    .showcase-video-section * {
        max-width: 100% !important;
    }
}


/* ===== MAXIMIZE VIDEO VISIBILITY - FULL HEIGHT APPROACH ===== */

@media (max-width: 768px) {

    /* Make the Showcase video section take full height minus some margin */
    .showcase-video-section {
        height: auto !important;
        min-height: auto;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        background: #000 !important;
        padding: 0 !important;
        margin: 2rem 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Make the responsive container fill the section */
    /* Make the responsive container fill the section */
    .showcase-aspect {
        position: relative;
        width: 100% !important;
        max-width: 320px !important;
        /* Limit width to phone size */
        height: auto !important;
        aspect-ratio: 9/16 !important;
        /* Force aspect ratio */
        padding-bottom: 0 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000 !important;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
        /* Lift it off the bg */
    }

    /* Force iframe to fill as much as possible */
    .showcase-aspect iframe {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 300px;
    }
}

/* Also fix the general section background color */
.showcase-video-section,
#showcase-video {
    background: #000 !important;
}


/* ===== REMOVE ALL BLUE GLOW - FINAL FIX ===== */

/* Force everything to have black background */
body,
html {
    background: #000 !important;
    background-color: #000 !important;
    background-image: none !important;
}

/* Remove any blue glow from main sections */
.showcase-video-section,
#showcase-video,
.showcase-aspect,
.video-responsive {
    background: #000 !important;
    background-color: #000 !important;
    box-shadow: none !important;
    border: none !important;
}

/* Override any existing vignette or gradient effects */
body::before,
body::after,
html::before,
html::after {
    display: none !important;
}

/* Ensure About section has black background too */
.about-section {
    background: #000 !important;
}

/* Force all sections to have black background */
section {
    background: #000 !important;
    background-color: #000 !important;
}


/* ===== FLOATING BUTTON SPACING FIX ===== */

/* Move floating WhatsApp button higher to avoid overlap with Hero CTA */
.floating-cta {
    bottom: 30px !important;
    right: 20px !important;
    z-index: 9999 !important;
    display: block !important;
    /* Force display initially */
    opacity: 1 !important;
    /* Force opacity */
    visibility: visible !important;
}

/* Care section mobile fix - reduce vertical spacing */
@media (max-width: 768px) {
    .care-section {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    .care-video-wrapper {
        margin-top: 0 !important;
        margin-bottom: 0.5rem !important;
        width: 90% !important;
        /* Spacing on mobile */
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Reduce aspect ratio for mobile Care video container to minimize empty space */
    .care-video-wrapper .aspect-9-16 {
        padding-bottom: 140% !important;
        /* Reduced from 177.77% */
    }
}

/* Golden WhatsApp button styling */
.floating-btn {
    background: linear-gradient(135deg, #000 0%, #1a1a1a 100%) !important;
    border: 2px solid var(--color-gold-primary) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6), 0 0 25px rgba(212, 175, 55, 0.4) !important;
}

.floating-btn:hover {
    border-color: var(--color-gold-secondary) !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.7), 0 0 40px rgba(212, 175, 55, 0.6) !important;
}


/* ===== FIX HERO BUTTON AND SCROLL INDICATOR OVERLAP ===== */

/* Add more space between the CTA button and scroll indicator */
.hero-content {
    margin-bottom: 80px !important;
    /* Add space below button */
}

/* Or add top margin to scroll indicator */
.hero-scroll-indicator {
    margin-top: 30px !important;
}

/* Ensure scroll indicator has space from CTA */
.primary-cta {
    margin-bottom: 40px !important;
}

/* Mobile specific spacing */
@media (max-width: 768px) {
    .primary-cta {
        margin-bottom: 50px !important;
    }

    .hero-scroll-indicator {
        bottom: 20px !important;
        /* Position at bottom */
    }
}


/* ===== FINAL FIXES - Mobile Hero, WhatsApp Button, and Spacing ===== */

/* 1. More space at TOP of Hero content on mobile (below navbar) */
@media (max-width: 768px) {
    .hero-content {
        padding-top: 100px !important;
        /* Add space below navbar */
        margin-top: 40px !important;
    }

    /* 3. Reduce excessive space between button and scroll cursor */
    .primary-cta {
        margin-bottom: 20px !important;
        /* Reduced from 50px */
    }

    .hero-scroll-indicator {
        margin-top: 10px !important;
        /* Reduced from 30px */
    }
}

/* ===== Play Button Overlay ===== */
.play-button-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background: rgba(0, 0, 0, 0.4);
    border: 2px solid var(--color-gold-primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    backdrop-filter: blur(2px);
}

.play-button-overlay:hover {
    background: rgba(212, 175, 55, 0.2);
    transform: translate(-50%, -50%) scale(1.1);
}

.play-icon {
    color: var(--color-gold-primary);
    font-size: 24px;
    margin-left: 4px;
    /* Optical adjustment */
}

.play-button-overlay.hidden {
    opacity: 0;
    pointer-events: none;
}

/* ===== Adjusted Video Sizing ===== */

/* Desktop: Reduce size further (approx 340px) */
.showcase-video-section,
.care-video-wrapper {
    max-width: 340px !important;
}

/* Mobile: Fix Cropping */
@media (max-width: 768px) {

    .showcase-aspect,
    .video-responsive.aspect-9-16 {
        /* Ensure aspect ratio is exactly 9:16 (177.77%) */
        padding-bottom: 177.77% !important;
        height: 0 !important;
        /* Reset height */
    }

    .video-responsive video {
        object-fit: cover !important;
    }
}

/* ===== Price Display ===== */
.price-container {
    margin: var(--spacing-md) 0;
    animation: pulse 2s infinite;
}

.price-label {
    display: block;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-gold-secondary);
    margin-bottom: var(--spacing-xs);
}

.price-amount {
    display: block;
    font-family: var(--font-heading);
    font-size: 4rem;
    font-weight: 700;
    color: var(--color-gold-primary);
    line-height: 1;
    text-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

/* ===== Scheduling Page Styles ===== */

/* Scheduling Hero */
.scheduling-hero {
    min-height: 40vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: var(--spacing-md);
    position: relative;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(26, 26, 26, 0.8) 100%);
}

/* Transfer Section */
.transfer-section {
    padding: var(--spacing-lg) 0;
}

.transfer-card {
    max-width: 500px;
    margin: 0 auto;
    padding: var(--spacing-lg);
    text-align: center;
}

.transfer-header {
    margin-bottom: var(--spacing-md);
}

.transfer-icon {
    font-size: 3rem;
    display: block;
    margin-bottom: var(--spacing-sm);
}

.transfer-header h2 {
    color: var(--color-gold-primary);
    font-size: clamp(1.5rem, 3vw, 2rem);
}

.transfer-details {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.transfer-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm);
    background: rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    border-left: 3px solid var(--color-gold-primary);
}

.transfer-label {
    font-weight: 500;
    color: var(--color-white-marble);
    font-size: 0.9rem;
}

.transfer-value {
    font-weight: 600;
    color: var(--color-white);
    font-size: 1rem;
}

.transfer-value.highlight {
    color: var(--color-gold-primary);
    font-size: 1.1rem;
}

.transfer-warning {
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid var(--color-gold-primary);
    border-radius: 15px;
    padding: var(--spacing-sm);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    text-align: left;
}

.warning-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.transfer-warning p {
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.5;
}

/* Receipt Section */
.receipt-section {
    padding: var(--spacing-md) 0 var(--spacing-lg);
}

.receipt-card {
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    padding: var(--spacing-lg);
    background: linear-gradient(135deg, rgba(26, 26, 26, 0.8), rgba(42, 42, 42, 0.6));
}

.receipt-content h3 {
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-sm);
}

.receipt-content p {
    margin-bottom: var(--spacing-md);
    color: var(--color-white-marble);
}

.whatsapp-btn {
    background: #25D366 !important;
    color: white !important;
    border: none !important;
}

.whatsapp-btn:hover {
    background: #128C7E !important;
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3) !important;
}

/* Calendar Section */
.calendar-section {
    padding: var(--spacing-lg) 0;
}

.calendar-embed {
    max-width: 700px;
    margin: 0 auto;
    min-height: 400px;
}

.calendar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
}

/* Contact Section */
.contact-section {
    padding: var(--spacing-lg) 0;
}

.contact-card {
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    padding: var(--spacing-lg);
}

.contact-card h3 {
    color: var(--color-gold-primary);
    margin-bottom: var(--spacing-sm);
}

.contact-card p {
    margin-bottom: var(--spacing-md);
    color: var(--color-white-marble);
}

/* Mobile Adjustments for Scheduling Page */
@media (max-width: 768px) {
    .scheduling-hero {
        min-height: 30vh;
    }

    .transfer-item {
        flex-direction: column;
        text-align: center;
        gap: 0.25rem;
    }

    .transfer-label {
        font-size: 0.8rem;
    }

    .transfer-value {
        font-size: 1.1rem;
    }

    .transfer-warning {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
}

/* ===== Policy Section Styles ===== */
.policy-section {
    padding: var(--spacing-md) 0 var(--spacing-lg);
}

.policy-card {
    max-width: 600px;
    margin: 0 auto;
    padding: var(--spacing-lg);
}

.policy-header {
    text-align: center;
    margin-bottom: var(--spacing-md);
}

.policy-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: var(--spacing-sm);
}

.policy-header h3 {
    color: var(--color-gold-primary);
    font-size: clamp(1.3rem, 2.5vw, 1.6rem);
}

.policy-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.policy-item {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.2);
}

.policy-emoji {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.policy-item p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
}

.policy-item.policy-ok {
    border-left: 3px solid #4ade80;
}

.policy-item.policy-warning {
    border-left: 3px solid var(--color-gold-primary);
    background: rgba(212, 175, 55, 0.05);
}

@media (max-width: 768px) {
    .policy-item {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
}

/* ===== Urgent Warning Banner ===== */
.urgent-warning {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    border: 2px solid #fca5a5;
    border-radius: 15px;
    padding: var(--spacing-md);
    margin: 0 auto var(--spacing-md) auto;
    width: fit-content;
    max-width: 100%;
    animation: pulse-warning 2s ease-in-out infinite;
    box-shadow: 0 0 30px rgba(220, 38, 38, 0.4);
}

@keyframes pulse-warning {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(220, 38, 38, 0.4);
    }

    50% {
        box-shadow: 0 0 40px rgba(220, 38, 38, 0.6);
    }
}

.warning-content {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.warning-big-icon {
    font-size: 3rem;
    flex-shrink: 0;
    animation: shake 0.5s ease-in-out infinite;
}

@keyframes shake {

    0%,
    100% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-10deg);
    }

    75% {
        transform: rotate(10deg);
    }
}

.warning-text h4 {
    color: #ffffff;
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.warning-text p {
    color: #fef2f2;
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
}

.warning-text strong {
    color: #ffffff;
}

@media (max-width: 768px) {
    .warning-content {
        flex-direction: column;
        text-align: center;
    }

    .warning-big-icon {
        font-size: 2.5rem;
    }

    .warning-text h4 {
        font-size: 1.2rem;
    }
}

/* ===== Copy to Clipboard Styles ===== */
.transfer-item.copyable {
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.transfer-item.copyable:hover {
    background: rgba(212, 175, 55, 0.15);
    border-color: var(--color-gold-primary);
    transform: scale(1.02);
}

.copy-icon {
    margin-left: 0.5rem;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.transfer-item.copyable:hover .copy-icon {
    opacity: 1;
    transform: scale(1.2);
}

.copy-feedback {
    display: none;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: #22c55e;
    color: white;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    animation: fadeInOut 2s ease;
}

.transfer-item.copied .copy-feedback {
    display: block;
}

.transfer-item.copied .copy-icon {
    display: none;
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
        transform: translateY(-50%) scale(0.8);
    }

    20% {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }

    80% {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateY(-50%) scale(0.8);
    }
}

/* Utilities for Desktop/Mobile layout */
.desktop-only {
    display: none;
}

@media (min-width: 769px) {
    .desktop-only {
        display: block;
    }

    .nowrap-desktop {
        white-space: nowrap;
    }
}