@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Medium.woff2) format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: "Roboto";
    src: url(../fonts/Roboto-Regular.woff2) format('woff2');
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

/* Remove tap highlight on mobile */
button,
a,
input,
select,
textarea,
.btn,
.btn-primary,
.btn-secondary,
[role="button"] {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

/* Keep focus visible for accessibility (keyboard users) */
button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

html, body {
    overflow: -moz-scrollbars-none;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

html::-webkit-scrollbar, 
body::-webkit-scrollbar {
    width: 0 !important;
    display: none;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

:root {
    --green: #10C36C;
    --yellow: #FFDB25;
    --blue: #3498db;
    --transition: 0.22s ease;
    --font-heading: "Montserrat", sans-serif;
    --font-body: "Roboto", sans-serif;
    --text-primary: #2d3748;
    --text-secondary: #4a5568;
    --shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    --border-radius: 12px;
}

body {
    background-color: white;
    font-family: var(--font-body);
    font-weight: 400;
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    font-weight: 500;
}

.sign-in, .register {
    font-family: var(--font-body);
    font-weight: 400;
}

.load-more-container {
    text-align: center;
    margin: 40px 0;
    padding-bottom: 20px;
}

.load-more-btn {
    padding: 14px 36px;
    background: white;
    color: var(--green);
    border: 2px solid var(--green);
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.load-more-btn:hover {
    background: var(--green);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 195, 108, 0.2);
}

.load-more-btn:disabled {
    opacity: 0.7;
    cursor: wait;
}

/* ==================== NOTIFICATION ANIMATIONS ==================== */

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOutRight {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100px);
    }
}

/* Favorite button active state */
.btn-favorite.active {
    background: #ff4757 !important;
    border-color: #ff4757 !important;
    color: white !important;
}

.btn-favorite.active:hover {
    background: #ff6b7a !important;
    border-color: #ff6b7a !important;
}

.btn-favorite.active i {
    animation: heartBeat 0.6s ease;
}

@keyframes heartBeat {
    0% { transform: scale(1); }
    25% { transform: scale(1.3); }
    50% { transform: scale(1); }
    75% { transform: scale(1.2); }
    100% { transform: scale(1); }
}