/*
Theme Name: NamTalent Marketplace
Theme URI: https://talent.nollystudio.co.uk/
Author: Nolly Studio
Description: Modern SaaS recruitment marketplace companion theme for NamTalent.
Version: 0.2.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: namtalent-theme
*/

:root{
  --nt-white:#ffffff;
  --nt-surface:#f3f7f7;
  --nt-surface-2:#eaf1f1;
  --nt-lime:#dcf442;
  --nt-teal:#025e67;
  --nt-teal-hover:#03727d;
  --nt-ink:#1a2428;
  --nt-muted:#5e7478;
  --nt-line:#dce5e5;
  --nt-success:#16a34a;
  --nt-warning:#f59e0b;
  --nt-danger:#dc2626;
  --nt-info:#3b82f6;
  --nt-radius:18px;
  --nt-radius-sm:12px;
  --nt-shadow:0 12px 38px rgba(2,94,103,.07);
  --nt-max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--nt-white);color:var(--nt-ink);font-family:Inter,"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-color:rgba(2,94,103,.25);text-underline-offset:3px}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.site-shell{width:min(calc(100% - 40px),var(--nt-max));margin-inline:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,229,.85)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:30px}
.site-branding{margin-right:auto}
.site-branding a{display:inline-flex;align-items:center;text-decoration:none;font-size:1.15rem;font-weight:850;letter-spacing:-.04em;color:var(--nt-ink)}
.site-branding a::first-letter{color:var(--nt-teal)}
.brand-mark{display:inline-grid;grid-template-columns:repeat(2,7px);gap:3px;margin-right:10px;transform:rotate(45deg)}
.brand-mark i{display:block;width:7px;height:7px;border-radius:2px;background:var(--nt-teal)}
.brand-mark i:last-child{background:var(--nt-lime)}
.main-nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;font-size:.9rem;font-weight:650;color:var(--nt-muted);transition:.2s ease}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--nt-teal)}
.header-actions{display:flex;align-items:center;gap:10px}

/* Core buttons */
.button,.nt-button,.wp-element-button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--nt-teal);border-radius:12px;background:var(--nt-teal);color:#fff;text-decoration:none;font-weight:750;font-size:.91rem;cursor:pointer;box-shadow:none;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.button:hover,.nt-button:hover,.wp-element-button:hover,input[type=submit]:hover{background:var(--nt-teal-hover);border-color:var(--nt-teal-hover);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(2,94,103,.15)}
.button.secondary{background:#fff;color:var(--nt-teal);border-color:var(--nt-line)}
.button.secondary:hover{background:var(--nt-surface);border-color:var(--nt-teal);color:var(--nt-teal)}
.button.lime{background:var(--nt-lime);border-color:var(--nt-lime);color:var(--nt-teal)}
.button.lime:hover{background:#d2ea32;border-color:#d2ea32;color:var(--nt-teal)}

.site-main{min-height:65vh;padding:0 0 86px}

/* Homepage */
.nt-home-hero{position:relative;overflow:hidden;padding:84px 0 38px}
.nt-home-hero::before{content:"";position:absolute;right:-130px;top:-170px;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(220,244,66,.17),rgba(243,247,247,.35) 45%,transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:65px;align-items:center}
.hero-copy{position:relative;z-index:2;padding:35px 0}
.eyebrow,.nt-kicker{margin:0 0 14px;color:var(--nt-teal);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.hero-copy h1{max-width:690px;margin:0;font-size:clamp(3.5rem,7.6vw,6.8rem);line-height:.92;letter-spacing:-.075em;font-weight:790}
.hero-copy h1 span{color:var(--nt-teal)}
.hero-copy>p:not(.eyebrow){max-width:590px;margin:28px 0 0;color:var(--nt-muted);font-size:1.08rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.trusted-row{margin-top:52px}
.trusted-row>span{display:block;margin-bottom:16px;color:#8ba0a3;font-size:.76rem;font-weight:650}
.trusted-logos{display:flex;align-items:center;gap:30px;flex-wrap:wrap;color:#829497;font-weight:800;font-size:.77rem;letter-spacing:.02em}

.hero-visual{position:relative;min-height:500px;display:grid;place-items:center}
.map-orbit{position:relative;width:min(100%,500px);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#f8fbfb,#eaf2f2);border:1px solid #edf3f3;box-shadow:0 28px 70px rgba(2,94,103,.08);display:grid;place-items:center}
.map-orbit::before,.map-orbit::after{content:"";position:absolute;border:1px solid rgba(2,94,103,.09);border-radius:50%}
.map-orbit::before{inset:-28px}.map-orbit::after{inset:-58px}
.map-shape{width:68%;height:68%;border-radius:49% 51% 45% 55%/52% 45% 55% 48%;background:linear-gradient(145deg,#dce9e8,#f7fbfb);position:relative;overflow:hidden}
.map-shape::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 25px,rgba(2,94,103,.055) 26px 27px),repeating-linear-gradient(105deg,transparent 0 39px,rgba(2,94,103,.045) 40px 41px)}
.map-pin{position:absolute;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--nt-teal);transform:rotate(-45deg);box-shadow:0 7px 16px rgba(2,94,103,.2)}
.map-pin::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.pin-one{top:24%;right:27%}.pin-two{bottom:23%;left:29%;background:var(--nt-lime)}
.location-card{position:absolute;left:0;top:46%;z-index:3;width:190px;padding:18px;background:#fff;border:1px solid var(--nt-line);border-radius:15px;box-shadow:var(--nt-shadow)}
.location-card strong{display:block;margin-bottom:3px}.location-card small{display:block;color:var(--nt-muted)}.location-card b{display:block;margin-top:12px;color:var(--nt-teal)}
.orbit-badge{position:absolute;z-index:4;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;border:1px solid var(--nt-line);box-shadow:var(--nt-shadow);color:var(--nt-teal);font-size:1.4rem}
.orbit-badge.one{right:2%;top:18%}.orbit-badge.two{right:8%;bottom:14%;background:var(--nt-lime);border-color:var(--nt-lime)}

/* Search bar */
.hero-search-wrap{position:relative;z-index:5;margin-top:38px}
.nt-hero-search,.nt-search{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:0;padding:12px;background:#fff;border:1px solid var(--nt-line);border-radius:16px;box-shadow:var(--nt-shadow)}
.search-field{padding:6px 18px;border-right:1px solid var(--nt-line)}
.search-field:last-of-type{border-right:0}
.search-field label{display:block;color:var(--nt-ink);font-size:.7rem;font-weight:750}
.search-field input,.search-field select,.nt-search input,.nt-search select{width:100%;min-height:32px;padding:0;border:0;background:transparent;color:var(--nt-muted);outline:0;font-size:.82rem}
.nt-hero-search .button,.nt-search .nt-button{align-self:center;min-width:135px}
.job-type-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:15px 12px 0;color:var(--nt-muted);font-size:.78rem}
.job-type-row label{display:flex;align-items:center;gap:7px;cursor:pointer}.job-type-row input{accent-color:var(--nt-teal)}

/* Sections */
.home-section{padding:76px 0 0}
.section-head,.nt-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.section-head h2,.nt-section-head h2{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.04;letter-spacing:-.045em}
.section-head p{margin:8px 0 0;color:var(--nt-muted)}
.section-link,.nt-text-link{color:var(--nt-teal);font-weight:750;text-decoration:none}

/* Plugin marketplace / cards */
.nt-marketplace{margin-top:15px}
.nt-marketplace>.nt-search{margin-bottom:26px;grid-template-columns:1fr 1fr auto}
.nt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nt-job-grid{display:block;border:1px solid var(--nt-line);border-radius:18px;overflow:hidden;background:#fff}
.nt-card{background:var(--nt-surface);border:1px solid transparent;border-radius:var(--nt-radius);padding:26px;box-shadow:none}
.nt-job-card{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.75fr) auto;align-items:center;gap:24px;padding:24px 28px;background:#fff;border:0;border-bottom:1px solid var(--nt-line);border-radius:0;transition:background .18s ease}
.nt-job-card:last-child{border-bottom:0}.nt-job-card:hover{background:#fbfdfd}
.nt-job-card h3{margin:2px 0 5px;font-size:1.05rem;letter-spacing:-.02em}.nt-job-card h3 a{text-decoration:none}
.nt-job-card .nt-kicker{margin:0;color:var(--nt-muted);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:600}
.nt-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--nt-muted);font-size:.79rem}.nt-meta span:not(:empty)::before{content:"•";margin-right:7px;color:#aac0c2}.nt-meta span:first-child::before{content:"⌖"}
.nt-salary{margin:0;color:var(--nt-ink);font-size:.82rem;font-weight:650}
.nt-job-card .nt-text-link{justify-self:end;white-space:nowrap;font-size:.82rem}
.nt-job-card::after{content:"OPEN";position:absolute;right:27px;top:15px;padding:4px 9px;border-radius:999px;background:rgba(220,244,66,.35);color:var(--nt-teal);font-size:.58rem;font-weight:850;letter-spacing:.08em}

/* General pages */
.entry-header{padding:72px 0 32px}.entry-header p{color:var(--nt-teal);font-weight:750}.entry-header h1{max-width:850px;margin:0;font-size:clamp(2.7rem,6vw,5.5rem);line-height:.98;letter-spacing:-.06em}
article:not(.nt-job-card)>p,article:not(.nt-job-card)>ul{max-width:800px}
.content-card{margin-top:50px;background:#fff;border:1px solid var(--nt-line);border-radius:24px;padding:clamp(26px,5vw,62px);box-shadow:var(--nt-shadow)}
.single-nt_job .content-card{box-shadow:none;border:0;padding-left:0;padding-right:0}
.nt-job-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 34px}.nt-job-summary span{padding:8px 12px;border-radius:999px;background:var(--nt-surface);color:var(--nt-muted);font-size:.79rem;font-weight:650}

/* Forms */
.nt-form{display:grid;gap:18px}.nt-form label{display:grid;gap:8px;color:var(--nt-ink);font-size:.83rem;font-weight:750}.nt-form input,.nt-form select,.nt-form textarea,.nt-pipeline-form input,.nt-pipeline-form select{width:100%;min-height:52px;padding:13px 15px;border:1px solid var(--nt-line);border-radius:12px;background:#fff;color:var(--nt-ink);outline:none;transition:.18s ease}.nt-form textarea{resize:vertical;min-height:130px}.nt-form input:focus,.nt-form select:focus,.nt-form textarea:focus,.nt-pipeline-form input:focus,.nt-pipeline-form select:focus{border-color:var(--nt-lime);box-shadow:0 0 0 3px rgba(220,244,66,.28)}
.nt-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.nt-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.nt-check input{width:auto;min-height:auto;accent-color:var(--nt-teal)}
.nt-inline-form{grid-template-columns:1fr 1fr 1fr auto;align-items:end}

/* Dashboards */
.nt-dashboard{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding-top:55px}
.nt-sidebar{position:sticky;top:110px;align-self:start;padding:22px;background:var(--nt-surface);border-radius:18px}.nt-sidebar h3{margin:0 0 18px;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--nt-teal)}.nt-sidebar a{display:block;padding:11px 12px;margin:3px 0;border-radius:10px;color:var(--nt-muted);text-decoration:none;font-size:.88rem;font-weight:650}.nt-sidebar a:hover{background:#fff;color:var(--nt-teal)}
.nt-main{display:grid;gap:24px}.nt-main>.nt-card{background:#fff;border-color:var(--nt-line);box-shadow:var(--nt-shadow)}
.nt-main h2{margin-top:0;font-size:1.55rem;letter-spacing:-.035em}
.nt-list{display:grid;gap:8px}.nt-list a{display:flex;justify-content:space-between;gap:20px;padding:16px;border-radius:12px;background:var(--nt-surface);text-decoration:none}.nt-list span{color:var(--nt-muted);font-size:.8rem;text-transform:capitalize}
.nt-table-wrap{overflow:auto;border:1px solid var(--nt-line);border-radius:14px}.nt-table{width:100%;border-collapse:collapse;background:#fff}.nt-table th,.nt-table td{padding:15px 14px;text-align:left;border-bottom:1px solid var(--nt-line);font-size:.8rem;vertical-align:middle}.nt-table th{background:var(--nt-surface);color:var(--nt-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.nt-table tr:last-child td{border-bottom:0}.nt-pipeline-form{display:grid;grid-template-columns:minmax(130px,1fr) 72px auto;gap:7px}.nt-pipeline-form input,.nt-pipeline-form select{min-height:38px;padding:7px 9px}.nt-small-button{border:0;border-radius:9px;background:var(--nt-lime);color:var(--nt-teal);font-weight:800;padding:8px 11px;cursor:pointer}
.nt-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.nt-tags span{padding:5px 9px;border-radius:999px;background:#fff;color:var(--nt-teal);font-size:.71rem;font-weight:700}

/* Footer */
.site-footer{margin-top:70px;padding:40px 0;background:var(--nt-surface);border-top:1px solid var(--nt-line);color:var(--nt-muted)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner strong{color:var(--nt-ink)}
.screen-reader-text{position:absolute;left:-9999px}

@media(max-width:980px){
  .main-nav{display:none}.hero-grid{grid-template-columns:1fr}.hero-visual{min-height:410px}.map-orbit{width:390px}.nt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nt-dashboard{grid-template-columns:1fr}.nt-sidebar{position:static;display:flex;align-items:center;gap:6px;overflow:auto}.nt-sidebar h3{margin:0 10px 0 0}.nt-sidebar a{white-space:nowrap}.nt-hero-search,.nt-search{grid-template-columns:1fr 1fr}.nt-hero-search .button,.nt-search .nt-button{grid-column:1/-1}.search-field:nth-child(2){border-right:0}.nt-job-card{grid-template-columns:1fr auto}.nt-job-card .nt-meta{grid-column:1}.nt-job-card .nt-text-link{grid-column:2;grid-row:1/3}
}
@media(max-width:680px){
  .site-shell{width:min(calc(100% - 24px),var(--nt-max))}.header-inner{min-height:70px}.header-actions .secondary{display:none}.button{min-height:44px;padding:0 15px}.nt-home-hero{padding-top:45px}.hero-copy h1{font-size:3.35rem}.hero-visual{min-height:330px}.map-orbit{width:280px}.location-card{left:-3px;top:50%;width:155px;padding:14px}.orbit-badge{width:48px;height:48px}.nt-hero-search,.nt-search,.nt-marketplace>.nt-search{grid-template-columns:1fr;padding:8px}.search-field{border-right:0;border-bottom:1px solid var(--nt-line);padding:10px 12px}.search-field:last-of-type{border-bottom:0}.job-type-row{gap:13px}.section-head{align-items:start;flex-direction:column}.nt-grid{grid-template-columns:1fr}.nt-job-card{display:block;padding:23px 20px}.nt-job-card .nt-meta{margin:12px 0}.nt-job-card .nt-text-link{display:inline-block;margin-top:10px}.nt-job-card::after{right:18px;top:17px}.nt-two,.nt-inline-form{grid-template-columns:1fr}.nt-dashboard{padding-top:30px}.nt-pipeline-form{grid-template-columns:1fr}.footer-inner{display:block}.footer-inner span{display:block;margin-top:7px}
}
