:root {
    /* High Contrast E-commerce Palette */
    --color-primary: #047857; /* Emerald 600 - Stronger Green */
    --color-dark: #022c22; /* Emerald 950 - Almost Black Green */
    --color-accent: #ea580c; /* Orange 600 - High conversion CTA */
    --color-accent-hover: #c2410c; /* Orange 700 */
}

/* Custom Background Pattern for premium depth */
.pattern-bg {
    background-color: #f8fafc;
    background-image: radial-gradient(#cbd5e1 1px, transparent 1px);
    background-size: 24px 24px;
}

body {
    font-family: 'Inter', sans-serif;
}

/* Text Selection Style */
::selection {
    background-color: var(--color-primary);
    color: #ffffff;
}

/* Custom Tailwind Utilities mapped to our Palette */
.text-brand-primary { color: var(--color-primary); }
.text-brand-accent { color: var(--color-accent); }
.text-brand-dark { color: var(--color-dark); }

.bg-brand-primary { background-color: var(--color-primary); }
.bg-brand-dark { background-color: var(--color-dark); }
.bg-brand-accent { background-color: var(--color-accent); }

.border-brand-primary { border-color: var(--color-primary); }
.border-brand-accent { border-color: var(--color-accent); }

/* Strong CTA Button with Shine Animation */
.cta-button {
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);
    color: #ffffff;
    box-shadow: 0 20px 40px -10px rgba(234, 88, 12, 0.5), 0 10px 20px -5px rgba(234, 88, 12, 0.3);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 2px solid #ffedd5;
}

.cta-button:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 25px 50px -12px rgba(234, 88, 12, 0.6), 0 15px 25px -5px rgba(234, 88, 12, 0.4);
}

.cta-button:active {
    transform: translateY(2px);
    box-shadow: 0 10px 20px -10px rgba(234, 88, 12, 0.5);
}

/* Shine effect on CTA */
.cta-button::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-25deg);
    animation: shine 4s infinite;
    z-index: 1;
}

@keyframes shine {
    0% { left: -100%; }
    20% { left: 200%; }
    100% { left: 200%; }
}

/* Gallery Styling */
.gallery-scroll {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
}

.gallery-scroll::-webkit-scrollbar {
    height: 8px;
}

.gallery-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.gallery-scroll::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 10px;
}

.snap-x { scroll-snap-type: x mandatory; }
.snap-center { scroll-snap-align: center; }