/*
Theme Name: WorldPhotoLab
Theme URI: https://worldphotolab.com
Author: WorldPhotoLab
Description: Premium global photographer directory theme.
Version: 1.1.0
Text Domain: worldphotolab
*/

:root{
  --wpl-bg:#0d0d0f;
  --wpl-card:#17171b;
  --wpl-text:#ffffff;
  --wpl-muted:#b7b7c2;
  --wpl-gold:#d4af37;
  --wpl-line:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--wpl-bg);color:var(--wpl-text);}
a{color:inherit;text-decoration:none}
.wpl-container{width:min(1180px,92%);margin:auto}
.wpl-header{position:sticky;top:0;z-index:10;background:rgba(13,13,15,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--wpl-line)}
.wpl-nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.wpl-brand{font-size:24px;font-weight:800;letter-spacing:-.5px}
.wpl-brand span{color:var(--wpl-gold)}
.wpl-menu{display:flex;gap:22px;align-items:center;color:#ddd}
.wpl-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:700;border:1px solid var(--wpl-line)}
.wpl-btn.gold{background:var(--wpl-gold);color:#111;border-color:var(--wpl-gold)}
.wpl-hero{padding:95px 0;background:radial-gradient(circle at top right,rgba(212,175,55,.22),transparent 38%),linear-gradient(135deg,#111,#221d14)}
.wpl-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.wpl-kicker{color:var(--wpl-gold);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.wpl-hero h1{font-size:64px;line-height:1.02;margin:14px 0 20px;letter-spacing:-2px}
.wpl-hero p{font-size:20px;color:var(--wpl-muted);line-height:1.6}
.wpl-search{margin-top:28px;background:#fff;color:#111;border-radius:24px;padding:16px;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.wpl-search input,.wpl-search select{border:1px solid #ddd;border-radius:16px;padding:14px;width:100%;font-size:14px}
.wpl-search button{border:0;border-radius:16px;background:#111;color:#fff;padding:0 22px;font-weight:800}
.wpl-visual{height:500px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),url('https://images.unsplash.com/photo-1516035069371-29a1b244cc32?auto=format&fit=crop&w=1000&q=80') center/cover;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.wpl-section{padding:78px 0}
.wpl-section-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}
.wpl-section-title h2{font-size:38px;margin:0}
.wpl-section-title p{color:var(--wpl-muted);max-width:520px}
.wpl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.wpl-card{background:var(--wpl-card);border:1px solid var(--wpl-line);border-radius:26px;overflow:hidden}
.wpl-card-img{height:230px;background-size:cover;background-position:center}
.wpl-card-body{padding:22px}
.wpl-badge{display:inline-block;background:rgba(212,175,55,.16);color:var(--wpl-gold);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}
.wpl-card h3{margin:14px 0 6px;font-size:22px}
.wpl-muted{color:var(--wpl-muted)}
.wpl-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wpl-category{padding:24px;border-radius:22px;background:var(--wpl-card);border:1px solid var(--wpl-line)}
.wpl-form{background:#fff;color:#111;border-radius:28px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.wpl-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.wpl-form input,.wpl-form textarea,.wpl-form select{width:100%;padding:14px;border:1px solid #ddd;border-radius:14px}
.wpl-form textarea{min-height:120px}
.wpl-form label{font-weight:700;font-size:14px}
.wpl-form .full{grid-column:1/-1}
.wpl-footer{padding:36px 0;border-top:1px solid var(--wpl-line);color:var(--wpl-muted)}
@media(max-width:850px){
  .wpl-hero-grid,.wpl-cards,.wpl-grid-4,.wpl-form-grid{grid-template-columns:1fr}
  .wpl-search{grid-template-columns:1fr}
  .wpl-hero h1{font-size:42px}
  .wpl-menu{display:none}
}
