/* =====================================================
   FREELANCER DETAIL — GLOBAL DESIGN SYSTEM
   Copy to: /wp-content/themes/exertio/template-parts/
            detail-page/freelancer/fl-global.css
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=DM+Sans:ital,wght@0,400;0,500;1,400&display=swap');

:root{
  --fla:#6C63FF;--fla2:#FF6584;--fla3:#43CBFF;
  --fld:#0D0D1A;--flm:#7b7b9d;--flb:#f5f4ff;
  --flbd:rgba(108,99,255,.11);--flr:20px;--flrs:12px;
  --fsh:0 8px 40px rgba(108,99,255,.10);
  --fshh:0 18px 56px rgba(108,99,255,.18);
  --fhd:'Syne',sans-serif;--fbd:'DM Sans',sans-serif;
}

/* ── Page bg ── */
.fr-product-description{
  background:linear-gradient(155deg,#f5f4ff 0%,#fff 48%,#eef8ff 100%) !important;
  padding-top:52px !important; padding-bottom:100px !important;
  font-family:var(--fbd);
}

/* ── Shared section card ── */
.fl-card{
  background:#fff; border-radius:var(--flr);
  border:1px solid var(--flbd); padding:32px 36px;
  margin-bottom:22px; box-shadow:var(--fsh);
  position:relative; overflow:hidden;
  transition:box-shadow .3s;
  animation:fl-up .55s cubic-bezier(.22,1,.36,1) both;
}
.fl-card:hover{box-shadow:var(--fshh);}
.fl-card::before{
  content:''; position:absolute; top:0;left:0;right:0; height:3px;
  background:linear-gradient(90deg,var(--fla),var(--fla3),var(--fla2));
}
.fl-card:nth-child(1){animation-delay:.04s;}
.fl-card:nth-child(2){animation-delay:.1s;}
.fl-card:nth-child(3){animation-delay:.17s;}
.fl-card:nth-child(4){animation-delay:.24s;}
.fl-card:nth-child(5){animation-delay:.3s;}

@keyframes fl-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ── Section heading ── */
.fl-head{display:flex;align-items:center;gap:12px;margin-bottom:26px;}
.fl-head-ico{
  width:38px;height:38px;border-radius:10px;
  background:linear-gradient(135deg,var(--fla),#9b8fff);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:16px;flex-shrink:0;
}
.fl-head h3{
  font-family:var(--fhd)!important;font-size:1.1rem!important;
  font-weight:700!important;color:var(--fld)!important;
  margin:0!important;letter-spacing:-.25px;
}
.fl-head-line{flex:1;height:1px;background:linear-gradient(90deg,var(--flbd),transparent);}

/* ── Description ── */
.fl-desc{font-size:15px;line-height:1.88;color:#454560;}
.fl-desc p{margin-bottom:14px;}

/* ── Timeline (Experience / Education) ── */
.fl-tl{position:relative;padding-left:22px;}
.fl-tl::before{
  content:'';position:absolute;left:6px;top:8px;bottom:8px;
  width:2px;background:linear-gradient(180deg,var(--fla),transparent);border-radius:2px;
}
.fl-tl-item{
  position:relative;margin-bottom:16px;padding:20px 22px;
  background:#faf9ff;border-radius:var(--flrs);
  border:1px solid var(--flbd);transition:all .25s;
}
.fl-tl-item:hover{background:#f0eeff;border-color:rgba(108,99,255,.25);transform:translateX(4px);}
.fl-tl-item:last-child{margin-bottom:0;}
.fl-tl-dot{
  position:absolute;left:-27px;top:24px;
  width:13px;height:13px;border-radius:50%;
  background:var(--fla);border:3px solid #fff;
  box-shadow:0 0 0 3px rgba(108,99,255,.18);
}
.fl-tl-title{font-family:var(--fhd);font-size:.98rem;font-weight:700;color:var(--fld);margin:0 0 7px;}
.fl-tl-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.fl-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:3px 11px;border-radius:50px;font-weight:500;}
.fl-tag.co{background:rgba(108,99,255,.1);color:var(--fla);}
.fl-tag.dt{background:rgba(67,203,255,.1);color:#1a8fb5;}
.fl-tl-desc{font-size:13.5px;color:var(--flm);line-height:1.72;margin:0;}

/* ── Projects ── */
.fl-proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;}
.fl-proj{border-radius:var(--flrs);overflow:hidden;position:relative;aspect-ratio:4/3;background:#eee;cursor:pointer;}
.fl-proj img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block;}
.fl-proj:hover img{transform:scale(1.08);}
.fl-proj-ov{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 38%,rgba(13,13,26,.86));
  opacity:0;transition:opacity .3s;
  display:flex;align-items:flex-end;padding:13px;
}
.fl-proj:hover .fl-proj-ov{opacity:1;}
.fl-proj-name{font-family:var(--fhd);font-size:12.5px;font-weight:700;color:#fff;line-height:1.3;}
.fl-proj-zoom{
  position:absolute;top:9px;right:9px;width:30px;height:30px;
  border-radius:7px;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;
  opacity:0;transform:scale(.8);transition:all .25s;
}
.fl-proj:hover .fl-proj-zoom{opacity:1;transform:scale(1);}

/* ── Reviews ── */
.fl-rev{
  padding:20px;background:#faf9ff;border-radius:var(--flrs);
  border:1px solid var(--flbd);margin-bottom:14px;transition:all .25s;
}
.fl-rev:hover{border-color:rgba(108,99,255,.28);background:#f0eeff;}
.fl-rev:last-child{margin-bottom:0;}
.fl-rev-hd{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.fl-rev-av{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--flbd);}
.fl-rev-av img{width:100%;height:100%;object-fit:cover;}
.fl-rev-nm{font-family:var(--fhd);font-size:13.5px;font-weight:700;color:var(--fld);margin:0 0 2px;}
.fl-rev-tm{font-size:11.5px;color:var(--flm);}
.fl-rev-sc{
  margin-left:auto;text-align:center;
  background:linear-gradient(135deg,var(--fla),#9b8fff);
  color:#fff;border-radius:10px;padding:5px 13px;
  font-family:var(--fhd);font-size:1.05rem;font-weight:800;line-height:1;
}
.fl-rev-sc small{display:block;font-size:9.5px;font-weight:400;opacity:.8;}
.fl-rev-txt{font-size:13.5px;color:#555;line-height:1.76;margin:0 0 13px;}
.fl-rev-stars{display:flex;flex-wrap:wrap;gap:14px;}
.fl-rev-sg label{display:block;font-size:11px;color:var(--flm);margin-bottom:3px;font-weight:500;}
.fl-rev-sg .fa-star{font-size:11px;color:#ddd;}
.fl-rev-sg .fa-star.colored{color:#f59e0b;}

/* ── SIDEBAR ── */
.fl-sb{
  background:#fff;border-radius:var(--flr);
  border:1px solid var(--flbd);padding:24px 26px;margin-bottom:18px;
  box-shadow:var(--fsh);position:relative;overflow:hidden;
  animation:fl-up .6s .1s cubic-bezier(.22,1,.36,1) both;
}
.fl-sb::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--fla),var(--fla3));
}
.fl-sb-hd{
  font-family:var(--fhd);font-size:.98rem;font-weight:700;color:var(--fld);
  margin:0 0 18px;display:flex;align-items:center;gap:8px;
}
.fl-sb-hd i{color:var(--fla);font-size:14px;}

/* About Me list */
.fl-abt{list-style:none;margin:0;padding:0;}
.fl-abt li{display:flex;align-items:flex-start;gap:13px;padding:12px 0;border-bottom:1px solid rgba(108,99,255,.07);}
.fl-abt li:last-child{border-bottom:none;padding-bottom:0;}
.fl-abt-ico{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(108,99,255,.12),rgba(67,203,255,.09));
  display:flex;align-items:center;justify-content:center;
  color:var(--fla);font-size:14px;
}
.fl-abt-meta label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--flm);margin-bottom:2px;font-weight:500;}
.fl-abt-meta p{margin:0;font-size:13.5px;font-weight:600;color:var(--fld);font-family:var(--fhd);}

/* Skills */
.fl-sk{list-style:none;margin:0;padding:0;}
.fl-sk-item{margin-bottom:15px;}
.fl-sk-item:last-child{margin-bottom:0;}
.fl-sk-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.fl-sk-nm{font-size:13px;font-weight:600;color:var(--fld);}
.fl-sk-pct{font-size:11.5px;color:var(--fla);font-weight:700;}
.fl-sk-bar{height:5px;background:#f0eeff;border-radius:50px;overflow:hidden;}
.fl-sk-fill{
  height:100%;border-radius:50px;width:0;
  background:linear-gradient(90deg,var(--fla),var(--fla3));
  transition:width 1.3s cubic-bezier(.22,1,.36,1);
}

/* Certifications */
.fl-cert{list-style:none;margin:0;padding:0;}
.fl-cert-i{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid rgba(108,99,255,.07);}
.fl-cert-i:last-child{border-bottom:none;padding-bottom:0;}
.fl-cert-img{width:48px;height:48px;border-radius:9px;overflow:hidden;flex-shrink:0;border:1px solid var(--flbd);}
.fl-cert-img img{width:100%;height:100%;object-fit:cover;}
.fl-cert-ico{width:48px;height:48px;border-radius:9px;flex-shrink:0;background:linear-gradient(135deg,rgba(108,99,255,.14),rgba(67,203,255,.1));display:flex;align-items:center;justify-content:center;color:var(--fla);font-size:20px;}
.fl-cert-nm{font-family:var(--fhd);font-size:12.5px;font-weight:700;color:var(--fld);margin:0 0 2px;}
.fl-cert-dt{font-size:11.5px;color:var(--flm);}

/* Services section */
.fr-services-content-2{background:linear-gradient(160deg,#f5f4ff,#fff)!important;}
.fr-top-services.fr-bg-white-2{background:transparent!important;padding:0!important;}
.fl-srv-title-main{
  font-family:var(--fhd)!important;font-size:1.35rem!important;
  font-weight:800!important;color:var(--fld)!important;margin-bottom:22px!important;
}
.fl-srv-title-main::after{content:'';display:block;width:38px;height:3px;background:linear-gradient(90deg,var(--fla),var(--fla3));border-radius:2px;margin-top:6px;}
.fr-top-contents{
  border-radius:var(--flr)!important;overflow:hidden!important;
  border:1px solid var(--flbd)!important;box-shadow:var(--fsh)!important;
  transition:all .3s cubic-bezier(.22,1,.36,1)!important;background:#fff!important;
}
.fr-top-contents:hover{transform:translateY(-6px)!important;box-shadow:var(--fshh)!important;border-color:rgba(108,99,255,.24)!important;}

/* Skill bar animation on scroll */
@media(prefers-reduced-motion:reduce){.fl-sk-fill{transition:none;}}
@media(max-width:768px){
  .fl-card{padding:22px 18px;}
  .fl-sb{padding:20px 16px;}
  .fl-proj-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){.fl-proj-grid{grid-template-columns:1fr;}}
