/* CSS customizado adicional para o tema */
/* Este arquivo pode ser usado para estilos específicos que não estão no Tailwind */

/* Garantir tamanho consistente do logo em todas as páginas */
header .logo img,
header.site-header .logo img,
.site-header .logo img,
#masthead .logo img {
    max-height: 2.5rem !important;
    height: 2.5rem !important;
    width: auto !important;
}

@media (min-width: 768px) {
    header .logo img,
    header.site-header .logo img,
    .site-header .logo img,
    #masthead .logo img {
        max-height: 3rem !important;
        height: 3rem !important;
    }
}

/* Logo do footer */
footer img[src*="logo"] {
    max-height: 2.5rem !important;
    height: 2.5rem !important;
    width: auto !important;
}

@media (min-width: 768px) {
    footer img[src*="logo"] {
        max-height: 3rem !important;
        height: 3rem !important;
    }
}

/* Esconder mensagem padrão do WooCommerce - FORÇADO */
.woocommerce-store-notice,
.demo_store,
p.demo_store,
.woocommerce-info,
.wc-block-store-notice,
a.woocommerce-store-notice__dismiss-link {
    display: none !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

/* Garantir que o header seja sempre consistente */
body header {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px) !important;
}

/* Corrigir espaçamento em páginas WooCommerce */
.woocommerce .woocommerce-notices-wrapper {
    margin-bottom: 2rem;
}

.woocommerce-page main {
    min-height: 60vh;
}

/* Animações personalizadas */
@keyframes blob {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    33% {
        transform: translate(30px, -50px) scale(1.1);
    }
    66% {
        transform: translate(-20px, 20px) scale(0.9);
    }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-200 {
    animation-delay: 0.2s;
}

.animation-delay-400 {
    animation-delay: 0.4s;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

@keyframes gradient {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.animate-gradient {
    background-size: 200% auto;
    animation: gradient 3s linear infinite;
}

/* Ken Burns Animations */
@keyframes kenburns-1 {
    0% { transform: scale(1); transform-origin: 16% 50%; }
    100% { transform: scale(1.15); transform-origin: top left; }
}
@keyframes kenburns-2 {
    0% { transform: scale(1.15); transform-origin: 80% 50%; }
    100% { transform: scale(1); transform-origin: bottom right; }
}
@keyframes kenburns-3 {
    0% { transform: scale(1); transform-origin: 50% 50%; }
    100% { transform: scale(1.15); transform-origin: top center; }
}
@keyframes kenburns-4 {
    0% { transform: scale(1.15); transform-origin: 50% 50%; }
    100% { transform: scale(1); transform-origin: bottom center; }
}

.ken-burns-anim {
    transition: transform 10s ease-out; /* Fallback */
}
.ken-burns-1 { animation: kenburns-1 12s ease-out both; }
.ken-burns-2 { animation: kenburns-2 12s ease-out both; }
.ken-burns-3 { animation: kenburns-3 12s ease-out both; }
.ken-burns-4 { animation: kenburns-4 12s ease-out both; }

/* Slide Transitions */
.memory-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    z-index: 0;
}
.memory-slide.active {
    opacity: 1;
    z-index: 10;
}

/* Text Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out both;
}
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-500 { animation-delay: 0.5s; }

/* Splash Screen Animations */
@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    10%, 30% { transform: scale(0.9); }
    20%, 40% { transform: scale(1.1); }
}
.animate-heartbeat {
    animation: heartbeat 2s ease-in-out infinite;
}

@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}
.animate-shimmer {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    background-size: 1000px 100%;
    animation: shimmer 3s infinite;
}

/* Curtain Effect */
@keyframes curtainOpen {
    0% {
        clip-path: circle(0% at 50% 50%);
    }
    100% {
        clip-path: circle(150% at 50% 50%);
    }
}
.curtain-open {
    animation: curtainOpen 1.5s ease-out forwards;
}

/* Melhorias de scroll suave */
html {
    scroll-behavior: smooth;
}

/* Ajustes de acessibilidade */
@media (prefers-reduced-motion: reduce) {
    .animate-blob,
    .animate-gradient,
    .animate-pulse,
    .animate-bounce,
    .animate-ping,
    .ken-burns-1,
    .ken-burns-2,
    .ken-burns-3,
    .ken-burns-4,
    .animate-fade-in-up {
        animation: none;
    }
}

/* Melhorias de performance */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Ajustes para melhor renderização */
img {
    max-width: 100%;
    height: auto;
}

/* Melhorias de foco para acessibilidade - apenas via teclado */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #9333ea;
    outline-offset: 2px;
}

/* Remover outline em cliques do mouse */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
    outline: none;
}

/* Prevenir overflow horizontal e espaçamentos */
body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

html {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

/* Garantir que elementos não causem scroll horizontal */
* {
    max-width: 100%;
}

/* Remover efeitos problemáticos de hover */
*::before,
*::after {
    pointer-events: none;
}

/* Garantir que links e botões sejam clicáveis */
a,
button,
input,
select,
textarea,
label {
    pointer-events: auto;
}

/* Prevenir transformações que causam overflow */
.container,
.max-w-7xl,
.max-w-6xl,
.max-w-5xl,
.max-w-4xl,
.max-w-3xl,
.max-w-2xl,
.max-w-xl {
    overflow: visible;
}
