/* KINETIX SOLUTIONS — shared UI theme (Nurture & Whimsy design system) */

html, body { max-width: 100%; overflow-x: hidden; }

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    line-height: 1;
}

.glass-card {
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0px 10px 30px rgba(180, 101, 74, 0.08);
}

.glass-panel {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.blob { border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; }

.organic-shape { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
.organic-shape-alt { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
.organic-radius { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
.organic-radius-reverse { border-radius: 30% 70% 70% 30% / 50% 60% 40% 50%; }
.organic-blob { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }

.hero-gradient {
    background: radial-gradient(circle at top right, #ffdbcf 0%, transparent 40%),
                radial-gradient(circle at bottom left, #d4e9c4 0%, transparent 40%);
}

.floating-label-group input:focus ~ label,
.floating-label-group input:not(:placeholder-shown) ~ label,
.floating-label-group textarea:focus ~ label,
.floating-label-group textarea:not(:placeholder-shown) ~ label {
    transform: translateY(-24px) scale(0.85);
    color: #8d4d36;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-on-scroll { opacity: 0; }
.animate-on-scroll.visible { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

@keyframes floating {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(15px); }
}
.floating, .animate-float { animation: floating 6s ease-in-out infinite; }

@keyframes ambient-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.float-animation { animation: ambient-float 6s ease-in-out infinite; }

/* Search overlay */
.search-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(253, 249, 243, 0.96);
    backdrop-filter: blur(16px);
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.search-overlay.is-open { display: flex; }
.search-input-wrapper {
    display: flex;
    align-items: center;
    border-bottom: 2px solid #8d4d36;
    width: 100%;
    max-width: 600px;
    margin-bottom: 20px;
}
.search-input-wrapper input {
    width: 100%;
    padding: 15px;
    font-size: 1.25rem;
    background: transparent;
    border: none;
    outline: none;
    color: #1c1c18;
    font-family: 'Literata', serif;
}
.search-close-btn {
    position: absolute;
    top: 40px; right: 40px;
    background: transparent;
    border: none;
    font-size: 2.5rem;
    color: #8d4d36;
    cursor: pointer;
}
.search-results-overlay {
    max-width: 600px;
    width: 100%;
    max-height: 50vh;
    overflow-y: auto;
}
.search-item {
    display: flex;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid rgba(141, 77, 54, 0.1);
    color: #1c1c18;
    text-decoration: none;
}
.search-item img {
    width: 60px; height: 60px;
    object-fit: cover;
    border-radius: 0.5rem;
    margin-right: 15px;
}
