<style type="text/tailwindcss">@theme inline {
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --radius-2xl: calc(var(--radius) + 8px);

    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-card: var(--card);
    --color-card-foreground: var(--card-foreground);
    --color-popover: var(--popover);
    --color-popover-foreground: var(--popover-foreground);
    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);
    --color-secondary: var(--secondary);
    --color-secondary-foreground: var(--secondary-foreground);
    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);
    --color-accent: var(--accent);
    --color-accent-foreground: var(--accent-foreground);
    --color-destructive: var(--destructive);
    --color-destructive-foreground: var(--destructive-foreground);
    --color-border: var(--border);
    --color-input: var(--input);
    --color-ring: var(--ring);
    --color-gold: var(--gold);
    --color-gold-foreground: var(--gold-foreground);
    --color-gold-muted: var(--gold-muted);

    --font-display: "Cormorant Garamond", "Playfair Display", serif;
    --font-sans: "Inter", system-ui, sans-serif;
}

:root {
    --radius: 0.75rem;

    /* Klass Kart — Black + Gold luxury */
    --background: oklch(0.12 0.005 60);
    --foreground: oklch(0.97 0.01 80);

    --card: oklch(0.16 0.008 60);
    --card-foreground: oklch(0.97 0.01 80);

    --popover: oklch(0.14 0.006 60);
    --popover-foreground: oklch(0.97 0.01 80);

    --primary: oklch(0.78 0.14 78);
    --primary-foreground: oklch(0.14 0.01 60);

    --secondary: oklch(0.22 0.01 60);
    --secondary-foreground: oklch(0.95 0.01 80);

    --muted: oklch(0.20 0.005 60);
    --muted-foreground: oklch(0.68 0.02 80);

    --accent: oklch(0.78 0.14 78);
    --accent-foreground: oklch(0.14 0.01 60);

    --destructive: oklch(0.62 0.22 25);
    --destructive-foreground: oklch(0.98 0.01 80);

    --border: oklch(0.28 0.01 70 / 50%);
    --input: oklch(0.22 0.01 60);
    --ring: oklch(0.78 0.14 78);

    --gold: oklch(0.82 0.15 80);
    --gold-foreground: oklch(0.14 0.01 60);
    --gold-muted: oklch(0.55 0.10 78);

    --gradient-gold: linear-gradient(135deg, oklch(0.85 0.16 82), oklch(0.65 0.14 70));
    --gradient-dark: linear-gradient(180deg, oklch(0.12 0.005 60), oklch(0.08 0.005 60));
    --gradient-radial-gold: radial-gradient(ellipse at center, oklch(0.78 0.14 78 / 30%), transparent 70%);

    --shadow-luxe: 0 20px 60px -15px oklch(0.78 0.14 78 / 25%);
    --shadow-card: 0 10px 40px -12px oklch(0 0 0 / 60%);
    --shadow-glow: 0 0 40px oklch(0.78 0.14 78 / 35%);

    --transition-smooth: cubic-bezier(0.22, 1, 0.36, 1);
}

@layer base {
    * {
        border-color: var(--color-border);
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background: var(--background);
        color: var(--foreground);
        font-family: var(--font-sans);
        -webkit-font-smoothing: antialiased;
        background-image:
            radial-gradient(ellipse 80% 50% at 50% -20%, oklch(0.78 0.14 78 / 12%), transparent),
            radial-gradient(ellipse 60% 50% at 80% 110%, oklch(0.78 0.14 78 / 8%), transparent);
    }

    h1,
    h2,
    h3,
    .font-display {
        font-family: var(--font-display);
        letter-spacing: -0.02em;
    }
}

@layer utilities {
    .text-gold {
        color: var(--gold);
    }

    .fill-gold,
    .fill-gold svg,
    .fill-gold path,
    .fill-gold circle,
    .fill-gold polygon {
        fill: var(--gold) !important;
    }

    .bg-gold {
        background: var(--gold);
    }

    .gradient-gold {
        background-image: var(--gradient-gold);
    }

    .text-gradient-gold {
        background-image: var(--gradient-gold);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }

    .glass {
        background: oklch(0.16 0.008 60 / 60%);
        backdrop-filter: blur(20px) saturate(140%);
        -webkit-backdrop-filter: blur(20px) saturate(140%);
        border: 1px solid oklch(0.78 0.14 78 / 15%);
    }

    .glass-strong {
        background: oklch(0.10 0.005 60 / 80%);
        backdrop-filter: blur(24px) saturate(160%);
        -webkit-backdrop-filter: blur(24px) saturate(160%);
        border-bottom: 1px solid oklch(0.78 0.14 78 / 12%);
    }

    .shadow-luxe {
        box-shadow: var(--shadow-luxe);
    }

    .shadow-card {
        box-shadow: var(--shadow-card);
    }

    .shadow-glow {
        box-shadow: var(--shadow-glow);
    }

    .gold-border {
        border: 1px solid oklch(0.78 0.14 78 / 35%);
    }

    .hover-lift {
        transition: transform 0.4s var(--transition-smooth), box-shadow 0.4s var(--transition-smooth);
    }

    .hover-lift:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-luxe);
    }

    .shine {
        position: relative;
        overflow: hidden;
    }

    .shine::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(105deg, transparent 40%, oklch(1 0 0 / 25%) 50%, transparent 60%);
        transform: translateX(-100%);
        transition: transform 0.8s var(--transition-smooth);
    }

    .shine:hover::after {
        transform: translateX(100%);
    }

    .container-x {
        @apply mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8;
    }

    /* Custom Scrollbar hide */
    .no-scrollbar::-webkit-scrollbar {
        display: none;
    }

    .no-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

.skeleton {
    background: linear-gradient(90deg, var(--muted) 0%, oklch(0.25 0.01 60) 50%, var(--muted) 100%);
    background-size: 200% 100%;
    animation: shimmer 1.6s linear infinite;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.5s var(--transition-smooth) forwards;
}

.loader {
    border: 3px solid var(--muted);
    border-top: 3px solid var(--gold);
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
    border-radius: 50%;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Autofill Fix for Dark Mode */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px oklch(0.16 0.008 60) inset !important;
    -webkit-text-fill-color: white !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* ===== PAYMENT METHOD SELECTION ===== */
.payment-method-option > div {
    border-color: oklch(0.28 0.01 70 / 50%);
    background: oklch(0.16 0.008 60 / 60%);
}

.payment-method-option:hover > div {
    border-color: oklch(0.55 0.10 78);
    background: oklch(0.18 0.012 60 / 80%);
}

.payment-method-option.selected > div {
    border-color: var(--gold);
    background: oklch(0.82 0.15 80 / 8%);
    box-shadow: 0 0 30px oklch(0.78 0.14 78 / 15%), inset 0 1px 0 oklch(0.78 0.14 78 / 10%);
}

/* Radio dot */
.payment-method-option .pm-radio-dot {
    border-color: oklch(0.40 0.02 70);
}

.payment-method-option .pm-radio-dot > div {
    background: transparent;
    transform: scale(0);
}

.payment-method-option.selected .pm-radio-dot {
    border-color: var(--gold);
}

.payment-method-option.selected .pm-radio-dot > div {
    background: var(--gold);
    transform: scale(1);
}

/* Badge */
.payment-method-option .pm-badge {
    color: oklch(0.55 0.10 78);
    background: oklch(0.82 0.15 80 / 10%);
    border: 1px solid oklch(0.82 0.15 80 / 20%);
    opacity: 0;
    transform: translateX(4px);
    transition: all 0.3s var(--transition-smooth);
}

.payment-method-option.selected .pm-badge {
    opacity: 1;
    transform: translateX(0);
}

/* ===== PAYMENT RESULT STATES ===== */
.payment-success-icon {
    background: oklch(0.55 0.18 155 / 15%);
    border: 2px solid oklch(0.65 0.18 155 / 40%);
    color: oklch(0.65 0.18 155);
}

.payment-failure-icon {
    background: oklch(0.55 0.22 25 / 15%);
    border: 2px solid oklch(0.62 0.22 25 / 40%);
    color: oklch(0.62 0.22 25);
}

/* ===== PULSE GLOW for active payment ===== */
@keyframes pulseGlow {
    0%, 100% {
        box-shadow: 0 0 20px oklch(0.78 0.14 78 / 20%);
    }
    50% {
        box-shadow: 0 0 40px oklch(0.78 0.14 78 / 40%);
    }
}

.pulse-glow {
    animation: pulseGlow 2s ease-in-out infinite;
}

/* ===== Scale-in animation for payment result ===== */
@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-scale-in {
    animation: scaleIn 0.4s var(--transition-smooth) forwards;
}

/* ===== Check animation ===== */
@keyframes drawCheck {
    0% { stroke-dashoffset: 40; }
    100% { stroke-dashoffset: 0; }
}

.animate-check svg path {
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
    animation: drawCheck 0.6s ease-out 0.3s forwards;
}

/* ===== ORDER FILTER PILLS ===== */
.order-filter-pill {
    color: oklch(0.60 0.02 70);
    background: oklch(0.16 0.008 60 / 60%);
    border-color: oklch(0.28 0.01 70 / 50%);
    cursor: pointer;
}

.order-filter-pill:hover {
    background: oklch(0.20 0.015 60 / 80%);
    border-color: oklch(0.45 0.06 78);
}

.order-filter-pill.active {
    color: var(--gold);
    background: oklch(0.82 0.15 80 / 12%);
    border-color: var(--gold);
    box-shadow: 0 0 12px oklch(0.78 0.14 78 / 20%);
}

/* ===== COD CHARGE NOTICE ===== */
.cod-charge-notice {
    background: oklch(0.82 0.15 80 / 8%);
    border: 1px solid oklch(0.82 0.15 80 / 20%);
    color: var(--gold);
}

</style>