/*
Theme Name: FolioCraft
Theme URI: https://example.com/foliocraft-custom-theme
Author: Rezaul
Author URI: https://example.com
Description: A modern, highly optimized, beautifully animated custom portfolio theme for developers, cloud engineers, designers, and freelancers. Built with Tailwind CSS (CDN, no build step) and AOS. Fully editable via the WordPress Customizer, with categorized Portfolio projects, Testimonials, a filterable work grid, project meta (live URL, repo, tech stack), and a ready-to-use contact page template. This is a self-contained custom theme (not a child theme).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: foliocraft
Tags: portfolio, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template
*/

/* =========================================================
   Base overrides (Tailwind CDN handles most utilities)
   ========================================================= */

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.font-display {
    font-family: 'Poppins', 'Inter', system-ui, sans-serif;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0b1120;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #6366f1, #06b6d4);
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #4f46e5, #0891b2);
}

/* Gradient text helper */
.text-gradient {
    background: linear-gradient(90deg, #6366f1 0%, #06b6d4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Animated gradient background blobs */
@keyframes blob {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33%      { transform: translate(30px, -40px) scale(1.1); }
    66%      { transform: translate(-20px, 20px) scale(0.95); }
}

.animate-blob {
    animation: blob 14s ease-in-out infinite;
}

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

/* Card hover lift */
.card-hover {
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.card-hover:hover {
    transform: translateY(-8px);
}

/* Portfolio image zoom on hover */
.portfolio-card img {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-card:hover img {
    transform: scale(1.08);
}

/* Testimonial horizontal scroll snap */
.testimonial-track {
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.testimonial-track::-webkit-scrollbar {
    display: none;
}

.testimonial-track > * {
    scroll-snap-align: center;
}

/* ---------- Portfolio category filter buttons ---------- */
.filter-btn {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 0.5rem 1.1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #cbd5e1;
    cursor: pointer;
    transition: all 0.25s ease;
}

.filter-btn:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.10);
}

.filter-btn.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(90deg, #6366f1 0%, #06b6d4 100%);
    box-shadow: 0 10px 25px -10px rgba(99, 102, 241, 0.6);
}

/* Portfolio items animate when filtered */
[data-categories] {
    transition: opacity 0.35s ease, transform 0.35s ease;
}

[data-categories].is-hidden {
    display: none;
}

/* ---------- Glass navbar pill ---------- */
.nav-glass {
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow: 0 8px 30px -12px rgba(0, 0, 0, 0.5);
}

/* WordPress core alignment / caption classes for the editor content */
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft   { float: left; margin-right: 1.5rem; }
.alignright  { float: right; margin-left: 1.5rem; }
.wp-caption-text { font-size: 0.875rem; opacity: 0.7; }

/* Sticky header shrink state */
.site-header.scrolled {
    background-color: rgba(11, 17, 32, 0.72);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

/* Make CF7 / WPForms blend with the dark theme on the contact page */
.foliocraft-form-area input[type="text"],
.foliocraft-form-area input[type="email"],
.foliocraft-form-area input[type="tel"],
.foliocraft-form-area input[type="url"],
.foliocraft-form-area textarea,
.foliocraft-form-area select {
    width: 100%;
    border-radius: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(15, 23, 42, 0.6);
    padding: 0.75rem 1rem;
    color: #e2e8f0;
    margin-top: 0.35rem;
}

.foliocraft-form-area input:focus,
.foliocraft-form-area textarea:focus,
.foliocraft-form-area select:focus {
    outline: none;
    border-color: #06b6d4;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.2);
}

.foliocraft-form-area label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #cbd5e1;
    margin-top: 1rem;
}

.foliocraft-form-area input[type="submit"],
.foliocraft-form-area button[type="submit"] {
    margin-top: 1.25rem;
    width: auto;
    cursor: pointer;
    border-radius: 9999px;
    border: none;
    background: linear-gradient(90deg, #6366f1 0%, #06b6d4 100%);
    padding: 0.8rem 2rem;
    font-weight: 600;
    color: #fff;
    transition: transform 0.2s ease;
}

.foliocraft-form-area input[type="submit"]:hover,
.foliocraft-form-area button[type="submit"]:hover {
    transform: scale(1.04);
}
