/*
Theme Name: Freelancer Directory
Author: Freelancer Directory Team
Description: Production-ready freelancer and professional talent directory theme with native WordPress data, Elementor integration, RTL support, SEO architecture, search, filters, seed content and admin tooling.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: freelancer-directory
Domain Path: /languages
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: directory, portfolio, elementor, rtl-language-support, translation-ready, custom-logo, featured-images
*/

:root {
  --fd-background: #07111F;
  --fd-card: #0D1928;
  --fd-card-secondary: #111F31;
  --fd-primary: #7C3AED;
  --fd-primary-light: #A855F7;
  --fd-blue: #2563EB;
  --fd-whatsapp: #25D366;
  --fd-success: #22C55E;
  --fd-rating: #FBBF24;
  --fd-text: #F8FAFC;
  --fd-text-muted: #94A3B8;
  --fd-border: rgba(255,255,255,.08);
  --fd-border-strong: rgba(255,255,255,.14);
  --fd-radius-sm: 10px;
  --fd-radius-md: 16px;
  --fd-radius-lg: 24px;
  --fd-radius-xl: 32px;
  --fd-container: 1240px;
  --fd-shadow-card: 0 24px 70px rgba(0,0,0,.28);
  --fd-shadow-soft: 0 12px 36px rgba(0,0,0,.2);
  --fd-font-sans: Inter, Manrope, "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fd-space-1: .25rem;
  --fd-space-2: .5rem;
  --fd-space-3: .75rem;
  --fd-space-4: 1rem;
  --fd-space-5: 1.25rem;
  --fd-space-6: 1.5rem;
  --fd-space-8: 2rem;
  --fd-space-10: 2.5rem;
  --fd-space-12: 3rem;
  --fd-space-16: 4rem;
  --fd-transition: 260ms cubic-bezier(.2,.65,.3,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fd-background);color:var(--fd-text);font-family:var(--fd-font-sans);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--fd-primary-light)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid color-mix(in srgb,var(--fd-primary-light) 70%,white);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fd-container{width:min(calc(100% - 32px),var(--fd-container));margin-inline:auto}
.fd-section{padding-block:clamp(56px,7vw,104px)}
.fd-grid{display:grid;gap:24px}
.fd-card{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),var(--fd-card);border:1px solid var(--fd-border);border-radius:var(--fd-radius-lg);box-shadow:var(--fd-shadow-soft)}
.fd-muted{color:var(--fd-text-muted)}
.fd-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#c4b5fd;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.fd-title{margin:0;font-size:clamp(2rem,5vw,4.6rem);line-height:1.03;letter-spacing:-.045em;text-wrap:balance}
.fd-section-title{margin:0;font-size:clamp(1.7rem,3vw,3rem);line-height:1.1;letter-spacing:-.035em}
.fd-lead{font-size:clamp(1rem,1.7vw,1.2rem);color:var(--fd-text-muted);max-width:760px}
.fd-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:14px;font-weight:800;transition:transform var(--fd-transition),border-color var(--fd-transition),background var(--fd-transition),box-shadow var(--fd-transition);text-align:center}
.fd-button:hover{transform:translateY(-2px);color:#fff}
.fd-button--primary{background:linear-gradient(135deg,var(--fd-primary),#4F46E5);box-shadow:0 12px 34px rgba(124,58,237,.28)}
.fd-button--ghost{background:rgba(255,255,255,.04);border-color:var(--fd-border-strong)}
.fd-button--whatsapp{background:var(--fd-whatsapp);color:#04160b}
.fd-chip{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--fd-border);border-radius:999px;background:rgba(255,255,255,.035);font-size:.82rem;color:#d8e0eb}

.site-header{position:relative;z-index:30;border-bottom:1px solid var(--fd-border);background:rgba(7,17,31,.82);backdrop-filter:blur(18px)}
.site-header__inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-branding{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.025em}
.site-branding img{max-height:42px;width:auto}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav ul{list-style:none;display:flex;align-items:center;gap:24px;padding:0;margin:0}
.site-nav a{color:#dce5f0;font-weight:700;font-size:.94rem}
.site-header__actions{display:flex;align-items:center;gap:10px}
.fd-menu-toggle{display:none;background:transparent;border:1px solid var(--fd-border);border-radius:12px;color:var(--fd-text);width:44px;height:44px}

.fd-hero{position:relative;overflow:clip;padding-block:clamp(72px,9vw,138px);isolation:isolate}
.fd-hero::before{content:"";position:absolute;inset:-30% -20% auto auto;width:680px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.28),transparent 68%);z-index:-1;filter:blur(10px)}
.fd-hero::after{content:"";position:absolute;inset:auto auto -48% -18%;width:540px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.18),transparent 68%);z-index:-1}
.fd-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:64px}
.fd-hero__copy{max-width:770px}
.fd-hero__copy .fd-lead{margin-block:24px 30px}
.fd-hero__visual{position:relative;min-height:520px}
.fd-orb{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(124,58,237,.2) 24%,rgba(7,17,31,.1) 62%);box-shadow:inset 0 0 60px rgba(255,255,255,.04),0 40px 90px rgba(0,0,0,.35)}
.fd-orb--one{width:330px;aspect-ratio:1;inset:40px 40px auto auto}
.fd-orb--two{width:120px;aspect-ratio:1;inset:auto auto 55px 25px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.2),rgba(37,99,235,.28),rgba(7,17,31,.2) 70%)}
.fd-hero-card{position:absolute;inset:auto 0 20px 56px;padding:26px;background:rgba(13,25,40,.78);border:1px solid rgba(255,255,255,.13);border-radius:28px;backdrop-filter:blur(20px);box-shadow:var(--fd-shadow-card)}
.fd-hero-card__head{display:flex;align-items:center;gap:16px}.fd-hero-card__avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.12)}
.fd-search-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;gap:10px;padding:10px;background:rgba(255,255,255,.04);border:1px solid var(--fd-border);border-radius:18px;max-width:900px}
.fd-search-panel input,.fd-search-panel select,.fd-form-control{width:100%;min-height:50px;padding:12px 14px;color:var(--fd-text);background:#0b1726;border:1px solid var(--fd-border);border-radius:12px}
.fd-search-panel option,.fd-form-control option{background:#0b1726;color:var(--fd-text)}

.fd-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fd-three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.fd-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.86rem;margin-bottom:18px}
.fd-profile-card{position:relative;overflow:hidden;padding:18px;transition:transform var(--fd-transition),border-color var(--fd-transition),box-shadow var(--fd-transition)}
.fd-profile-card:hover{transform:translateY(-5px);border-color:rgba(168,85,247,.45);box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 0 1px rgba(124,58,237,.12)}
.fd-profile-card__cover{height:124px;margin:-18px -18px 0;border-radius:24px 24px 16px 16px;overflow:hidden;background:linear-gradient(135deg,#18284a,#331b5f)}
.fd-profile-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--fd-transition)}
.fd-profile-card:hover .fd-profile-card__cover img{transform:scale(1.035)}
.fd-profile-card__avatar{width:82px;height:82px;object-fit:cover;border-radius:50%;border:4px solid var(--fd-card);margin-top:-42px;background:#172235}
.fd-profile-card__name{display:flex;align-items:center;gap:7px;margin:12px 0 2px;font-size:1.18rem}.fd-verified{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--fd-blue);font-size:11px;color:#fff}
.fd-profile-card__title{color:#c4b5fd;font-weight:750}.fd-profile-card__meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;color:var(--fd-text-muted);font-size:.85rem}.fd-profile-card__skills{display:flex;flex-wrap:wrap;gap:7px;margin-block:16px}.fd-profile-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--fd-border);padding-top:15px}
.fd-availability{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:#b9f9cf}.fd-availability::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--fd-success);box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.fd-rating{color:var(--fd-rating);font-weight:800}.fd-rating span{color:var(--fd-text-muted);font-weight:600}

.fd-profile-hero{position:relative;padding-block:44px 26px}.fd-profile-cover{height:clamp(260px,35vw,470px);border-radius:30px;overflow:hidden;border:1px solid var(--fd-border);background:radial-gradient(circle at 80% 20%,rgba(124,58,237,.35),transparent 40%),linear-gradient(135deg,#0e1e31,#10152c)}.fd-profile-cover img{width:100%;height:100%;object-fit:cover}
.fd-profile-summary{position:relative;margin:-118px 38px 0;padding:28px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:26px;background:rgba(13,25,40,.88);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.13);border-radius:28px;box-shadow:var(--fd-shadow-card)}
.fd-profile-avatar{width:154px;height:154px;border-radius:50%;object-fit:cover;border:6px solid #0e1928;background:#172235}.fd-profile-name{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;letter-spacing:-.035em}.fd-profile-job{margin-top:8px;color:#c4b5fd;font-weight:800;font-size:1.12rem}.fd-profile-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:var(--fd-text-muted)}.fd-profile-actions{display:flex;flex-direction:column;gap:10px;min-width:190px}
.fd-socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.fd-socials a{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--fd-border);font-size:.8rem;font-weight:800}
.fd-profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:26px;padding-block:32px 90px}.fd-profile-main,.fd-profile-sidebar{display:grid;align-content:start;gap:24px}.fd-panel{padding:28px}.fd-panel h2{margin-top:0;font-size:1.45rem}.fd-skill-list{display:flex;flex-wrap:wrap;gap:9px}.fd-timeline{display:grid;gap:20px}.fd-timeline__item{position:relative;padding-inline-start:24px}.fd-timeline__item::before{content:"";position:absolute;inset-inline-start:0;top:.45rem;width:10px;height:10px;border-radius:50%;background:var(--fd-primary-light);box-shadow:0 0 0 5px rgba(168,85,247,.12)}.fd-timeline__item::after{content:"";position:absolute;inset-inline-start:4px;top:1.35rem;bottom:-1.7rem;width:1px;background:var(--fd-border)}.fd-timeline__item:last-child::after{display:none}.fd-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fd-portfolio-item{overflow:hidden;border-radius:18px;border:1px solid var(--fd-border);background:var(--fd-card-secondary)}.fd-portfolio-item img{width:100%;aspect-ratio:16/10;object-fit:cover}.fd-portfolio-item__body{padding:16px}.fd-detail-list{display:grid}.fd-detail-row{display:flex;justify-content:space-between;gap:18px;padding-block:12px;border-bottom:1px solid var(--fd-border)}.fd-detail-row:last-child{border-bottom:0}.fd-detail-row span:first-child{color:var(--fd-text-muted)}
.fd-sticky-contact{display:none}

.fd-archive-head{padding-block:60px 28px}.fd-archive-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;padding-bottom:80px}.fd-filter-panel{padding:20px;position:sticky;top:100px;align-self:start}.fd-filter-grid{display:grid;gap:14px}.fd-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.fd-pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.fd-pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--fd-border);border-radius:11px}.fd-pagination .current{background:var(--fd-primary);border-color:var(--fd-primary)}
.fd-empty{padding:46px;text-align:center}.fd-skeleton{animation:fd-pulse 1.2s ease-in-out infinite alternate;background:rgba(255,255,255,.055);border-radius:12px}@keyframes fd-pulse{to{opacity:.45}}

.site-footer{border-top:1px solid var(--fd-border);background:#050c16}.site-footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px;padding-block:58px}.site-footer h3{font-size:.92rem}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.site-footer a{color:var(--fd-text-muted)}.site-footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid var(--fd-border);color:var(--fd-text-muted);font-size:.88rem}

@media (max-width:1024px){.fd-three-col{grid-template-columns:1fr 1fr}.site-nav{display:none}.fd-menu-toggle{display:grid;place-items:center}.fd-hero__grid{grid-template-columns:1fr;gap:36px}.fd-hero__visual{min-height:420px}.fd-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-profile-summary{grid-template-columns:auto 1fr;align-items:center}.fd-profile-actions{grid-column:1/-1;flex-direction:row}.fd-profile-layout{grid-template-columns:1fr}.fd-archive-layout{grid-template-columns:1fr}.fd-filter-panel{position:relative;top:auto}.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.fd-three-col,.fd-two-col{grid-template-columns:1fr}.fd-container{width:min(calc(100% - 24px),var(--fd-container))}.site-header__inner{min-height:68px}.site-header__actions .fd-button{display:none}.site-nav.is-open{display:block;position:absolute;inset:68px 12px auto 12px;background:#0c1828;border:1px solid var(--fd-border);border-radius:18px;padding:16px;box-shadow:var(--fd-shadow-card)}.site-nav.is-open ul{display:grid;gap:4px}.site-nav.is-open a{display:block;padding:12px}.fd-hero{padding-block:56px 74px}.fd-hero__visual{min-height:340px}.fd-orb--one{width:250px;inset:18px 8px auto auto}.fd-orb--two{width:84px;inset:auto auto 24px 4px}.fd-hero-card{inset:auto 0 0 26px;padding:18px}.fd-search-panel{grid-template-columns:1fr}.fd-card-grid{grid-template-columns:1fr}.fd-profile-cover{height:250px;border-radius:20px}.fd-profile-summary{margin:-54px 12px 0;padding:20px;display:block;text-align:center}.fd-profile-avatar{width:112px;height:112px;margin-top:-76px}.fd-profile-meta,.fd-socials{justify-content:center}.fd-profile-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr}.fd-profile-actions .fd-share-button{grid-column:1/-1}.fd-profile-layout{padding-bottom:110px}.fd-panel{padding:20px}.fd-portfolio-grid{grid-template-columns:1fr}.fd-sticky-contact{position:fixed;z-index:50;inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;background:rgba(7,17,31,.92);border:1px solid var(--fd-border-strong);border-radius:18px;backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.4)}.fd-sticky-contact .fd-button{min-height:46px;padding:8px;font-size:.84rem}.fd-archive-head{padding-block:40px 20px}.fd-filter-panel{display:none}.fd-filter-panel.is-open{display:block}.fd-results-head{align-items:flex-start;flex-direction:column}.site-footer__grid{grid-template-columns:1fr}.site-footer__bottom{flex-direction:column}.fd-title{font-size:clamp(2.45rem,12vw,4rem)}}
@media (max-width:380px){.fd-profile-actions{grid-template-columns:1fr}.fd-profile-actions .fd-share-button{grid-column:auto}.fd-sticky-contact .fd-button{font-size:.76rem}.fd-hero-card{inset:auto 0 0 12px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
