/* Custom Styles & Single Viewport Layout */

/* Body & Root Setup */
html, body {
    background-color: #f6efe8;
    background-image: linear-gradient(to bottom, rgba(246, 239, 232, 0.85), rgba(250, 247, 242, 0.95)), url('../img/loja.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-blend-mode: luminosity;
    animation: bodyFadeIn 0.3s ease-out forwards;
}

@keyframes bodyFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

::selection {
    background-color: #EBF2D8;
    color: #849A46;
}

/* Glassmorphism Panel Component */
.glass-panel {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.9);
}

.glass-panel-subtle {
    background: rgba(250, 251, 246, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(228, 232, 215, 0.6);
}

/* View section display & smooth scale-fade transitions */
.view-section {
    display: none;
    opacity: 0;
    transform: translateY(8px) scale(0.99);
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.view-section.active {
    display: flex;
    flex-direction: column;
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Active navigation tab highlight */
.nav-tab.active {
    color: #5C9E31;
    font-weight: 700;
}
.nav-tab {
    position: relative;
}
.nav-tab::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 4px;
    background-color: #5C9E31;
    border-radius: 999px;
    transition: width 0.3s ease;
}
.nav-tab.active::after {
    width: 36px;
}

/* Custom Slim Scrollbars for inner containers on smaller screens */
.custom-scrollbar::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(92, 158, 49, 0.4); /* brand-green with opacity */
    border-radius: 9999px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #5C9E31; /* brand-green solid */
}

/* Background floating glow blobs animation */
@keyframes floatBlob {
    0%, 100% { transform: translate(0px, 0px) scale(1); }
    66% { transform: translate(-20px, 20px) scale(0.94); }
    100% { transform: translate(0, 0) scale(1); }
}

/* Staggered Entrance Animations */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Reset animation when not active to allow replay */
.view-section:not(.active) .stagger-1,
.view-section:not(.active) .stagger-2,
.view-section:not(.active) .stagger-3,
.view-section:not(.active) .stagger-4,
.view-section:not(.active) .stagger-5 {
    animation: none;
    opacity: 0;
}

.view-section.active .stagger-1 { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both; }
.view-section.active .stagger-2 { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both; }
.view-section.active .stagger-3 { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both; }
.view-section.active .stagger-4 { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both; }
.view-section.active .stagger-5 { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both; }

/* Tooltip Interactive Styles */
.tooltip-trigger {
    position: relative;
    cursor: pointer;
}
.tooltip-content {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 12px;
    transform: translateY(-8px);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 50;
    pointer-events: none;
}
.tooltip-trigger:hover .tooltip-content,
.tooltip-trigger:focus-within .tooltip-content {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.animate-blob-slow {
    animation: floatBlob 16s ease-in-out infinite alternate;
}

.animate-blob-reverse {
    animation: floatBlob 20s ease-in-out infinite reverse;
}
