/* ==============================
GOOGLE FONTS IMPORT
============================== */
@import url("https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800&display=swap");

/* ==============================
FONT CLASSES
============================== */

/* Montserrat – Sans-serif */
.font-montserrat-400 {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

.font-montserrat-500 {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
}

.font-montserrat-600 {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
}

.font-montserrat-700 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
}

/* Lora – Serif */
.font-lora-400 {
    font-family: "Lora", serif;
    font-weight: 400;
}

.font-lora-500 {
    font-family: "Lora", serif;
    font-weight: 500;
}

.font-lora-600 {
    font-family: "Lora", serif;
    font-weight: 600;
}

.font-lora-700 {
    font-family: "Lora", serif;
    font-weight: 700;
}

/* ==============================
FONT CLASSES
============================== */

body {
    overflow-x: hidden;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

/* Scrollbar for Webkit browsers (Chrome, Edge, Safari) */
::-webkit-scrollbar {
    width: 20px;
}

::-webkit-scrollbar-track {
    background: var(--bg-color);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--hover-color);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color) var(--bg-color);
}

/* Custom Swiper Navigation Buttons */
.swiper-button-next,
.swiper-button-prev {
    width: 48px !important;
    height: 48px !important;
    background-color: white !important;
    border-radius: 50% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    color: var(--primary-color) !important; /* Icon color */
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 1.25rem !important; /* Icon size */
    color: var(--primary-color) !important;
}

.swiper-button-next {
    right: 1rem !important;
}

.swiper-button-prev {
    left: 1rem !important;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    transform: translateY(-50%) scale(1.1) !important;
    transition: transform 0.3s ease !important;
}

/* Custom animated underline class */
.animated-underline {
    position: relative;
    display: inline-block; /* required for absolute span positioning */
}

.animated-underline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px; /* thickness of underline */
    background-color: currentColor; /* inherits text color */
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
}

.animated-underline:hover::after {
    transform: scaleX(1);
}

@keyframes marquee {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

.animate-marquee {
    display: inline-flex;
    animation: marquee 5s linear infinite;
}
