@import url('https://fonts.googleapis.com/css2?family=TikTok+Sans:wght@300;400;500;600;700;900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
    :root {
        --background: 0 0% 100%;
        --foreground: 0 0% 3.9%;

        --card: 0 0% 100%;
        --card-foreground: 0 0% 3.9%;

        --popover: 0 0% 100%;
        --popover-foreground: 0 0% 3.9%;

        --primary: 0 0% 9%;
        --primary-foreground: 0 0% 98%;

        --secondary: 0 0% 96.1%;
        --secondary-foreground: 0 0% 9%;

        --muted: 0 0% 96.1%;
        --muted-foreground: 0 0% 45.1%;

        --accent: 0 0% 98%;
        --accent-foreground: 0 0% 9%;

        --destructive: 0 84.2% 60.2%;
        --destructive-foreground: 0 0% 98%;

        --border: 0 0% 89.8%;
        --input: 0 0% 89.8%;
        --ring: 0 0% 3.9%;

        --radius: 0.5rem;
    }
}

@layer utilities {
    /* Hide elements with x-cloak until Alpine.js initializes */
    [x-cloak] {
        display: none !important;
    }
    
    .step {
        counter-increment: step;
    }

    .step:before {
        @apply absolute w-9 h-9 bg-muted rounded-full font-mono font-medium text-center text-base inline-flex items-center justify-center -indent-px border-4 border-background;
        @apply ml-[-50px] mt-[-4px];
        content: counter(step);
    }

    .popover-content-width-full {
        width: var(--radix-popover-trigger-width);
        max-height: var(--radix-popover-content-available-height);
    }
}

.text-gradient_indigo-purple {
    background: linear-gradient(90deg, #0077b5 0%, #00a0dc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}



html {
    scroll-behavior: smooth;
}

.primary-shadow {
    box-shadow:  0 4px 4px 0 rgba(0,0,0,.25)
}

.primary-gradient {
    background: linear-gradient(267deg,#4402d2 -9.43%,#040218 -9.42%,rgba(63,17,100,.94) 4.63%,rgba(14,14,18,.82) 127.55%);
}

.trix-content img {
    margin: 0 auto;
}

.trix-content iframe {
    margin: 0 auto;
}

/* Added to fix HTML in jspdf where text is rendered at bottom */
@layer base {
    img {
        @apply inline-block;
    }
}

.turbo-progress-bar {
    visibility: hidden;
}


.pagy {
    display: flex;                /* Use flexbox for alignment */
    justify-content: center;      /* Center the pagination items */
    align-items: center;          /* Align items vertically */
    margin: 20px 0;              /* Add margin for spacing */
}

.pagy a {
    text-decoration: none;        /* Remove underline from links */
    color: #007bff;              /* Link color */
    padding: 10px 15px;          /* Padding for clickable area */
    margin: 0 5px;               /* Margin for spacing between items */
    border: 1px solid transparent;/* Transparent border */
    border-radius: 4px;          /* Rounded corners */
    transition: background-color 0.2s, border-color 0.2s; /* Transition effect */
}

.pagy a:hover {
    background-color: #f0f0f0;   /* Light background on hover */
    border-color: #007bff;       /* Border color on hover */
}

.pagy .current {
    background-color: #007bff;   /* Background for the current page */
    color: white;                 /* Text color for the current page */
    border: 1px solid #007bff;   /* Border color for the current page */
    pointer-events: none;         /* Disable clicking on the current page */
}

.pagy a[aria-disabled="true"] {
    color: #ccc;                  /* Color for disabled links */
    pointer-events: none;         /* Disable interaction */
}

@media (max-width: 768px) {
    .pagy {
        flex-wrap: wrap;          /* Allow wrapping on smaller screens */
    }

    .pagy a {
        margin: 5px;              /* Adjust margin for small screens */
        padding: 8px 12px;        /* Adjust padding for small screens */
    }
}

.neobrutalism-card {
    border: 3px solid #000;
    box-shadow: 5px 5px 0px #000;
}

.neobrutalism-card:hover {
    box-shadow: 7px 7px 0px #000;
}

.neobrutalism-button {
    border: 2px solid #000;
    background-color: #ec4899;
    color: #000;
    font-weight: 600;
    box-shadow: 4px 4px 0px #000;
    transition: all 0.1s ease;
}

.neobrutalism-button:hover {
    box-shadow: 6px 6px 0px #000;
    transform: translate(-2px, -2px);
}

.neobrutalism-button:active {
    box-shadow: 0px 0px 0px #000;
    transform: translate(4px, 4px);
}

.neobrutalism-input {
    border: 2px solid #000;
    background-color: #fff;
    box-shadow: 3px 3px 0px #000;
}

.text-shadow {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}

/* Disabled button styles */
.neobrutalism-button:disabled {
    background-color: #d4d4d4;
    cursor: not-allowed;
    box-shadow: 2px 2px 0px #000;
}

/*!* Saving indicator *!*/
@keyframes pulse {
    0% { opacity: 0.6; }
    50% { opacity: 1; }
    100% { opacity: 0.6; }
}

.saving-indicator {
    animation: pulse 1.5s infinite;
}

/*!* Slideshow type option styles *!*/
.slideshow-type-option {
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

.slideshow-type-option:hover,
.slideshow-type-option.selected {
    border-color: #000;
    box-shadow: 3px 3px 0px #000;
    transform: translate(-1px, -1px);
}

/*!* Typewriter effect styles *!*/
.typewriter-cursor::after {
    content: '|';
    animation: blink 1s infinite;
}
@keyframes blink {
    50% {
        opacity: 0;
    }
}
.text-brand-pink {
    color: #E91E63; /* Approximate pink color from image */
}
.bg-brand-pink {
    background-color: #E91E63;
}
.hover-bg-brand-pink-dark:hover {
    background-color: #C2185B; /* Darker pink for hover */
}

/* Typewriter hero styles end */

