/*
Theme Name: Yacoub & Co. Executive Partners Custom Theme
Theme URI: https://yacoubco.com
Author: Yacoub & Co.
Author URI: https://yacoubco.com
Description: A premium, highly polished, responsive custom single-page WordPress theme for Yacoub & Co. Built with Cormorant Garamond, Montserrat, and custom Tailwind styling matching the high-fidelity executive partners design.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yacoub-co
*/

/* Reset & custom smooth interactions matching original design */
html {
    scroll-behavior: smooth;
    background-color: #F5F2EF; /* brand-ivory */
    color: #111111; /* brand-charcoal */
    font-family: 'Montserrat', sans-serif;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: 100%;
    overflow-x: hidden;
}

#website-app-wrapper {
    max-width: 100%;
    overflow-x: hidden;
}

/* Custom premium transitions and animation presets */
.fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hover-slide-right {
    transition: transform 0.3s ease;
}
.hover-slide-right:hover {
    transform: translateX(4px);
}

/* Custom interactive custom buttons matching exact React setups */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #111111;
    color: #F5F2EF;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 16px 32px;
    border: 1px solid transparent;
    transition: all 0.35s ease-in-out;
    cursor: pointer;
}

.btn-primary:hover {
    background-color: #A18F7A;
    color: #FFFFFF;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    color: #111111;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 16px 32px;
    border: 1px solid rgba(17, 17, 17, 0.2);
    transition: all 0.35s ease-in-out;
    cursor: pointer;
}

.btn-secondary:hover {
    border-color: #111111;
    background-color: #111111;
    color: #FFFFFF;
}

/* Circular spinning badge in CTA */
@keyframes spinBadge {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.animate-spin-slow {
    animation: spinBadge 25s linear infinite;
    transform-origin: center;
}

#hero-secondary-btn {
    background-color: rgba(255, 255, 255, 0.40) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* Premium Scroll Reveal System */
.scroll-reveal {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), filter 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    filter: blur(4px);
}

.scroll-reveal.reveal-up {
    transform: translateY(32px);
}

.scroll-reveal.reveal-down {
    transform: translateY(-32px);
}

.scroll-reveal.reveal-left {
    transform: translateX(-40px);
}

.scroll-reveal.reveal-right {
    transform: translateX(40px);
}

.scroll-reveal.reveal-scale {
    transform: scale(0.95);
}

.scroll-reveal.reveal-fade {
    transform: none;
}

/* Revealed active state when visible in viewport */
.scroll-reveal.revealed {
    opacity: 1;
    transform: translate(0, 0) scale(1) !important;
    filter: blur(0px) !important;
}

/* Smooth zoom on hover for premium image frames */
.premium-hover-zoom {
    overflow: hidden;
}
.premium-hover-zoom img {
    transition: transform 1.4s cubic-bezier(0.16, 1, 0.3, 1), filter 1.2s ease;
}
.premium-hover-zoom:hover img {
    transform: scale(1.05);
}


