/* styles.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap');

body {
    font-family: 'Inter', sans-serif;
    background-color: #FFFDD0; /* Cream */
    color: #373200; /* Dark Brown/Black */
    overflow-x: hidden;
}

::selection {
    background-color: #A50300;
    color: white;
}

/* Custom Scrollbar for Cart */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
}
::-webkit-scrollbar-thumb {
    background: #A50300;
    border-radius: 4px;
}

/* Utilities not in standard Tailwind CDN */
.tracking-super-tight {
    letter-spacing: -0.05em;
}

/* Toast Notification Animation */
@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
.toast-enter {
    animation: slideIn 0.3s forwards;
}

/* --- SKELETON LOADER (GHOST LOADING) --- */

/* The shimmering animation effect */
@keyframes shimmer {
    0% { background-position: -468px 0; }
    100% { background-position: 468px 0; }
}

.skeleton-card {
    /* Base structure matching the product card */
    padding: 16px; 
    border-radius: 2rem;
    height: 480px; /* Approximate height of a product card */
    background-color: #e9e9e9; /* Light gray base color */
    position: relative;
    overflow: hidden;
}

.skeleton-card::before {
    /* The shimmering gradient overlay */
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Gradient color and direction */
    background: linear-gradient(to right, #e9e9e9 8%, #fbfbfb 18%, #e9e9e9 33%);
    /* Animation settings */
    background-size: 800px 104px;
    animation: shimmer 2s infinite linear;
}

/* Internal layout for the skeleton to resemble an actual card */
.skeleton-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Simulate the image and text blocks */
.skeleton-card::after {
    content: "";
    display: block;
    width: calc(100% - 32px);
    height: calc(100% - 80px); /* Height for image block */
    background-color: #fbfbfb; 
    position: absolute;
    top: 16px;
    left: 16px;
    border-radius: 1rem;
}

/* Simulate the title and price blocks */
.skeleton-card {
    padding-top: calc(100% + 40px); /* Move actual content below the image */
}