/* style-premium.css */

@import url('https://fonts.googleapis.com/css2?family=Chelsea+Market&family=Inconsolata:wght@200..900&display=swap');

:root {
    --color-orange-poppy: #F2994A;
    --color-leaf-green: #4CA84B;
    --color-sun-yellow: #F2C94C;
    --color-bg-light: #fdf8f0;
    /* Very light sand */
    --color-bg-alt: #f4eee1;
    /* Soft sand for section distinction */
    --color-card-bg: #fffcf8;
    /* Off-white sand for cards */
    --font-heading: 'Chelsea Market', cursive;
    --font-body: 'Inconsolata', monospace;
    --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 20px 40px rgba(0, 0, 0, 0.12);
    --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Global Typography */
body {
    font-family: var(--font-body) !important;
    font-weight: 1000 !important;
    color: #1a1a1a;
    background-color: var(--color-bg-light) !important;
}

/* Premium Light Backgrounds */
.bg-premium-light {
    background-color: var(--color-card-bg) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title h1 {
    font-family: var(--font-heading) !important;
    font-weight: 700;
}

/* Base enhancements */
.section-title span {
    color: var(--color-orange-poppy) !important;
    font-weight: 600;
    letter-spacing: 1px;
}

.section-title h1 span {
    color: var(--color-orange-poppy) !important;
}

/* Buttons */
.theme-btn {
    background-color: var(--color-orange-poppy) !important;
    border: none !important;
    border-radius: 50px !important;
    box-shadow: none !important;
    transition: var(--transition) !important;
    font-family: var(--font-body);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.5px;
}

.theme-btn:hover {
    background-color: #e08336 !important;
    box-shadow: none !important;
    transform: translateY(-3px) !important;
    color: white !important;
}

/* Carousel Buttons Animation */
.hero-slider .owl-item.active .single-slide .slide-contents .theme-btn {
    -webkit-animation: 1s 0.4s fadeInUp both !important;
    animation: 1s 0.4s fadeInUp both !important;
}

.theme-btn.minimal-btn {
    background-color: transparent !important;
    border: 2px solid var(--color-orange-poppy) !important;
    color: var(--color-orange-poppy) !important;
    box-shadow: none !important;
}

.theme-btn.minimal-btn:hover {
    background-color: var(--color-orange-poppy) !important;
    color: white !important;
    box-shadow: none !important;
}

/* Custom Hero Slider */
.hero-slider .single-slide {
    position: relative;
    background-size: cover !important;
    background-position: center center !important;
    height: 80vh !important;
    min-height: 600px !important;
    display: flex;
    align-items: center;
}

.hero-slider .sub-title h4 {
    color: var(--color-sun-yellow) !important;
    letter-spacing: 2px;
}

/* Cards (Glassmorphism & Shadows) */
/* Category blocks are now styled in custom-styles.css to handle the inverted hover state */

/* About Section */
.about-section img {
    border-radius: 20px;
}

/* Team Section */
.single-team-member {
    background: var(--color-card-bg);
    border-radius: 20px;
    padding: 30px 15px;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: var(--transition);
}

.single-team-member:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-color: var(--color-sun-yellow);
}

.single-team-member h3 {
    color: var(--color-orange-poppy);
    margin-top: 15px;
}

.team-section .single-team-member {
    padding: 24px 20px 30px;
}

.team-section .single-team-member .member-img.team-photo {
    width: 100%;
    max-width: 320px;
    height: 350px;
    border-radius: 18px;
    margin-bottom: 20px;
    background: var(--color-bg-alt);
}

.team-section .single-team-member .member-img.team-photo::before {
    display: none;
}

.team-section .single-team-member .member-img.team-photo img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 18px;
    object-fit: cover;
    object-position: center top;
}

.team-section .single-team-member .member-img.team-photo-matt img {
    object-position: center 18%;
}

.team-section .single-team-member .member-img.team-photo-musiciens img {
    object-position: center 35%;
}

.team-section .single-team-member .member-img.team-photo-benevoles img {
    object-position: center 25%;
}

@media (max-width: 575px) {
    .team-section .single-team-member .member-img.team-photo {
        height: 300px;
    }
}

/* Blog / News / Shop Cards */
.single-blog-card,
.single-cause-item {
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: var(--shadow-soft) !important;
    transition: var(--transition) !important;
    background: var(--color-card-bg);
    border: none !important;
}

.single-blog-card:hover,
.single-cause-item:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover) !important;
}

.single-cause-item .cause-bg.album-cover-card {
    background-position: center 30%;
    background-size: cover;
}

@media (max-width: 767px) {
    .single-cause-item .cause-bg.album-cover-card {
        background-position: center 22%;
    }
}

.single-blog-card .cat-name {
    background-color: var(--color-sun-yellow) !important;
    color: #333 !important;
    border-radius: 20px;
    font-weight: 600;
}

/* Fun Facts Enhancements */
.funfact-wrap .single-fact {
    display: flex !important;
    align-items: flex-start;
    margin-top: 50px !important;
}

.funfact-wrap .single-fact .icon {
    float: none !important;
    margin-right: 25px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0;
}

.funfact-wrap .single-fact .icon i {
    color: var(--color-sun-yellow);
    font-size: 3.5rem !important;
}

.funfact-wrap .single-fact .numbers {
    overflow: visible !important;
    flex-grow: 1;
}

.funfact-wrap .single-fact .numbers .digit {
    margin-top: 0 !important;
    line-height: 1 !important;
    font-family: var(--font-heading);
    margin-bottom: 5px;
}

.funfact-wrap .single-fact .numbers p {
    font-family: var(--font-body);
    font-size: 1.1rem;
    opacity: 0.9;
}

@media (max-width: 767px) {
    .funfact-wrap .single-fact {
        margin-top: 30px !important;
        padding-left: 20px;
    }

    .funfact-wrap .single-fact .icon i {
        font-size: 2.5rem !important;
    }

    .funfact-wrap .single-fact .numbers .digit {
        font-size: 45px !important;
    }
}

/* Premium Section Backgrounds */
.section-bg {
    background-color: var(--color-bg-alt) !important;
    background-image: none !important;
}

/* Premium Compass ScrollUp Button */
#scrollUp {
    background-color: transparent !important;
    border-radius: 50% !important;
    bottom: 30px !important;
    right: 30px !important;
    width: 70px !important;
    height: 70px !important;
    box-shadow: none !important;
    z-index: 9999 !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

#scrollUp .compass-svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 8px 15px rgba(0, 0, 0, 0.25));
    display: block;
}

#scrollUp .compass-bg {
    fill: var(--color-bg-light);
}

#scrollUp .compass-ring {
    stroke: var(--color-sun-yellow);
}

#scrollUp .compass-text {
    fill: #8b4513;
}

#scrollUp .compass-pivot {
    fill: #8b4513;
}

#scrollUp .needle-north {
    fill: var(--color-orange-poppy);
}

#scrollUp .needle-north-alt {
    fill: #d35400;
}

#scrollUp .needle-south {
    fill: #1a1a1a;
}

#scrollUp .needle-south-alt {
    fill: #333333;
}

#scrollUp .needle-group {
    transform-origin: 0 0; /* Center of the SVG viewBox is 0,0 */
    transition: transform 0.1s ease-out;
}

#scrollUp:hover {
    transform: scale(1.15) translateY(-5px) !important;
}

#scrollUp:hover .compass-svg {
    filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.35));
}

/* Partner Banner Premium Effect */
.partner-banner {
    background-color: var(--color-bg-light) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.partner-banner .single-brand img {
    filter: grayscale(100%) opacity(0.5);
    transition: var(--transition);
}

.partner-banner .single-brand:hover img {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.05);
}

/* Premium Footer Social Links */
.special-footer .social-link a {
    background-color: transparent !important;
    color: white !important;
    margin: 0 5px;
    width: 45px;
    height: 45px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: var(--transition) !important;
    font-size: 18px;
    text-decoration: none;
}

.special-footer .social-link a i {
    line-height: 1;
    margin: 0;
}

.special-footer .social-link a:hover {
    background-color: var(--color-orange-poppy) !important;
    border-color: var(--color-orange-poppy) !important;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(242, 153, 74, 0.3) !important;
}