/* Custom Tailwind Additions */
@tailwind base;
@tailwind components;
@tailwind utilities;

.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.aspect-w-4 { position: relative; padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); --tw-aspect-w: 4; }
.aspect-h-3 { --tw-aspect-h: 3; }
.aspect-w-1 { position: relative; padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); --tw-aspect-w: 1; }
.aspect-h-1 { --tw-aspect-h: 1; }
.aspect-w-4 > * { position: absolute; height: 100%; width: 100%; top: 0; right: 0; bottom: 0; left: 0; }
.aspect-w-1 > * { position: absolute; height: 100%; width: 100%; top: 0; right: 0; bottom: 0; left: 0; }

.btn-primary {
    background-color: #4f46e5 !important;
    background-image: linear-gradient(to right, #4f46e5, #6366f1) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.btn-primary:hover {
    background-color: #4338ca !important;
    background-image: linear-gradient(to right, #4338ca, #4f46e5) !important;
    box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.3), 0 4px 6px -4px rgba(79, 70, 229, 0.2) !important;
}
