:root {
    --primary-color: #1c422e;
    --hover-color: #f9882c;
    --extra-color: #f2e8da;
    --accent-color: #8abf7f;
    --bg-color: #eaefe6;
    --text-color: #5d8075;
}
/* ==============================
   Playfair Display
   ============================== */
@font-face {
    font-family: "PlayfairDisplay";
    src: url("../css/fonts/PlayfairDisplay-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "PlayfairDisplay";
    src: url("../css/fonts/PlayfairDisplay-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "PlayfairDisplay";
    src: url("../css/fonts/PlayfairDisplay-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "PlayfairDisplay";
    src: url("../css/fonts/PlayfairDisplay-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

/* Convenience classes */
.font-playfair-400 {
    font-family: "PlayfairDisplay", serif;
    font-weight: 400;
}
.font-playfair-500 {
    font-family: "PlayfairDisplay", serif;
    font-weight: 500;
}
.font-playfair-600 {
    font-family: "PlayfairDisplay", serif;
    font-weight: 600;
}
.font-playfair-700 {
    font-family: "PlayfairDisplay", serif;
    font-weight: 700;
}

/* ==============================
   Work Sans
   ============================== */
@font-face {
    font-family: "WorkSans";
    src: url("../css/fonts/WorkSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "WorkSans";
    src: url("../css/fonts/WorkSans-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "WorkSans";
    src: url("../css/fonts/WorkSans-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "WorkSans";
    src: url("../css/fonts/WorkSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

/* Convenience classes */
.font-worksans-400 {
    font-family: "WorkSans", sans-serif;
    font-weight: 400;
}
.font-worksans-500 {
    font-family: "WorkSans", sans-serif;
    font-weight: 500;
}
.font-worksans-600 {
    font-family: "WorkSans", sans-serif;
    font-weight: 600;
}
.font-worksans-700 {
    font-family: "WorkSans", sans-serif;
    font-weight: 700;
}

/* ==============================
   Montserrat Alternates
   ============================== */
@font-face {
    font-family: "MontserratAlternates";
    src: url("../css/fonts/MontserratAlternates-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "MontserratAlternates";
    src: url("../css/fonts/MontserratAlternates-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "MontserratAlternates";
    src: url("../css/fonts/MontserratAlternates-SemiBold.ttf")
        format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "MontserratAlternates";
    src: url("../css/fonts/MontserratAlternates-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

/* Convenience classes */
.font-montserrat-400 {
    font-family: "MontserratAlternates", sans-serif;
    font-weight: 400;
}
.font-montserrat-500 {
    font-family: "MontserratAlternates", sans-serif;
    font-weight: 500;
}
.font-montserrat-600 {
    font-family: "MontserratAlternates", sans-serif;
    font-weight: 600;
}
.font-montserrat-700 {
    font-family: "MontserratAlternates", sans-serif;
    font-weight: 700;
}

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);
}
