/*
Theme Name: PromoJob Pro
Theme URI: https://example.com
Author: Matthias Schmehl
Description: Squeeze-Page für Promotionagenturen – sammelt Bewerber-Adressen (Promoter/Hostessen), inkl. Lebenslauf-Upload, Affiliate-Versicherungslinks und Selbstständigen-Lexikon. Voll editierbar im WordPress Customizer.
Version: 1.0
Requires PHP: 7.0
Text Domain: promojob-pro
*/

/* ============================
   CSS-VARIABLEN
==============================*/
:root{
  --pj-primary:#e11d48;        /* Promo-Rot */
  --pj-primary-dark:#be123c;
  --pj-accent:#f59e0b;         /* Gold/Amber */
  --pj-dark:#0f172a;
  --pj-darker:#07090f;
  --pj-mid:#1e293b;
  --pj-light:#f8fafc;
  --pj-muted:#64748b;
  --pj-radius:14px;
  --pj-shadow:0 8px 32px rgba(0,0,0,.09);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',Helvetica,Arial,sans-serif;color:#1e293b;background:#fff;line-height:1.65;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
.container{max-width:1160px;margin:0 auto;padding:0 22px;}

/* BUTTONS */
.btn{display:inline-block;padding:16px 36px;border-radius:50px;font-weight:700;font-size:17px;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s;}
.btn-primary{background:var(--pj-primary);color:#fff;box-shadow:0 8px 28px rgba(225,29,72,.4);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(225,29,72,.55);}
.btn-accent{background:var(--pj-accent);color:#1e293b;box-shadow:0 8px 24px rgba(245,158,11,.35);}
.btn-accent:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(245,158,11,.5);}

/* ============================
   TOP-BAR
==============================*/
.pj-topbar{background:var(--pj-darker);color:#94a3b8;font-size:13px;padding:8px 0;text-align:center;}
.pj-topbar span{margin:0 12px;}
.pj-topbar a{color:var(--pj-accent);}

/* ============================
   HERO
==============================*/
.pj-hero{position:relative;min-height:96vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.pj-hero-media{position:absolute;inset:0;z-index:0;}
.pj-hero-media video,.pj-hero-media img{width:100%;height:100%;object-fit:cover;}
.pj-hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(14,20,35,.90) 0%,rgba(225,29,72,.55) 100%);z-index:1;}
.pj-hero-content{position:relative;z-index:2;padding:100px 0 80px;}
.pj-hero-content .eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--pj-accent);margin-bottom:18px;font-weight:700;}
.pj-hero-content h1{font-size:54px;font-weight:900;line-height:1.1;margin-bottom:22px;}
.pj-hero-content h1 em{font-style:normal;color:var(--pj-accent);}
.pj-hero-content p{font-size:20px;max-width:620px;opacity:.95;margin-bottom:36px;}
.pj-hero-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.pj-hero-note{font-size:13px;opacity:.75;margin-top:12px;}
.pj-hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;animation:bounce 2s infinite;}
.pj-hero-scroll svg{fill:rgba(255,255,255,.6);}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}

/* BADGES */
.pj-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.pj-badge{background:rgba(255,255,255,.12);backdrop-filter:blur(6px);padding:9px 18px;border-radius:50px;font-size:13px;font-weight:600;}

/* ============================
   SECTION GRUNDLAYOUT
==============================*/
.pj-section{padding:90px 0;}
.pj-section.bg-light{background:var(--pj-light);}
.pj-section.bg-dark{background:var(--pj-dark);color:#fff;}
.pj-section.bg-red{background:var(--pj-primary);color:#fff;}
.pj-section-header{text-align:center;max-width:720px;margin:0 auto 55px;}
.pj-section-header .eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-bottom:12px;opacity:.65;}
.pj-section-header h2{font-size:36px;font-weight:800;margin-bottom:16px;}
.pj-section-header p{font-size:17px;color:var(--pj-muted);}
.bg-dark .pj-section-header p,.bg-red .pj-section-header p{color:rgba(255,255,255,.8);}

/* ============================
   STATISTIK-LEISTE
==============================*/
.pj-stats{background:var(--pj-primary);color:#fff;}
.pj-stats-inner{display:grid;grid-template-columns:repeat(4,1fr);}
.pj-stat{padding:36px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.15);}
.pj-stat:last-child{border:none;}
.pj-stat .num{font-size:42px;font-weight:900;}
.pj-stat .lab{font-size:13px;opacity:.85;margin-top:4px;}

/* ============================
   VORTEILE (3 Kacheln)
==============================*/
.pj-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.pj-card{background:#fff;border-radius:var(--pj-radius);padding:32px;box-shadow:var(--pj-shadow);}
.pj-card .icon{font-size:38px;margin-bottom:16px;}
.pj-card h3{font-size:19px;margin-bottom:10px;font-weight:700;}
.pj-card p{color:var(--pj-muted);font-size:15px;}

/* ============================
   GALERIE
==============================*/
.pj-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.pj-gallery-item{border-radius:var(--pj-radius);overflow:hidden;position:relative;}
.pj-gallery-item img{width:100%;height:240px;object-fit:cover;transition:transform .4s;}
.pj-gallery-item:hover img{transform:scale(1.05);}

/* ============================
   ABLAUF
==============================*/
.pj-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.pj-steps::before{content:'';position:absolute;top:30px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--pj-primary),var(--pj-accent));z-index:0;}
.pj-step{text-align:center;position:relative;z-index:1;}
.pj-step .num{width:60px;height:60px;border-radius:50%;background:var(--pj-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;margin:0 auto 16px;font-size:22px;box-shadow:0 6px 20px rgba(225,29,72,.4);}
.pj-step h4{font-size:16px;font-weight:700;margin-bottom:8px;}
.pj-step p{font-size:14px;color:var(--pj-muted);}

/* ============================
   AFFILIATE-VERSICHERUNGEN
==============================*/
.pj-affiliate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pj-aff-card{background:#fff;border-radius:var(--pj-radius);padding:24px 26px;border:1.5px solid #e2e8f0;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,box-shadow .2s;}
.pj-aff-card:hover{border-color:var(--pj-primary);box-shadow:var(--pj-shadow);}
.pj-aff-card .aff-icon{font-size:30px;}
.pj-aff-card h3{font-size:16px;font-weight:700;margin:0;}
.pj-aff-card p{font-size:13px;color:var(--pj-muted);flex:1;}
.pj-aff-card a{display:inline-block;padding:10px 18px;border-radius:50px;background:var(--pj-primary);color:#fff;font-size:13px;font-weight:700;text-align:center;transition:background .2s;}
.pj-aff-card a:hover{background:var(--pj-primary-dark);}
.pj-aff-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--pj-accent);color:#1e293b;padding:2px 8px;border-radius:20px;margin-bottom:4px;}

/* ============================
   TESTIMONIALS
==============================*/
.pj-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pj-testi{background:#fff;border-radius:var(--pj-radius);padding:28px;box-shadow:var(--pj-shadow);}
.pj-testi .stars{color:var(--pj-accent);font-size:18px;margin-bottom:12px;}
.pj-testi p{font-size:15px;font-style:italic;margin-bottom:16px;color:#374151;}
.pj-testi-meta{display:flex;align-items:center;gap:12px;}
.pj-testi-meta .avi{width:40px;height:40px;border-radius:50%;background:var(--pj-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;}
.pj-testi-meta strong{display:block;font-size:14px;}
.pj-testi-meta span{font-size:12px;color:var(--pj-muted);}

/* ============================
   FAQ / LEXIKON
==============================*/
.pj-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.pj-faq-item{border-radius:var(--pj-radius);border:1.5px solid #e2e8f0;overflow:hidden;}
.pj-faq-q{padding:18px 22px;font-weight:700;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;background:#fff;user-select:none;}
.pj-faq-q .arr{font-size:18px;transition:transform .3s;flex-shrink:0;}
.pj-faq-item.open .arr{transform:rotate(180deg);}
.pj-faq-item.open .pj-faq-q{color:var(--pj-primary);}
.pj-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s;}
.pj-faq-a-inner{padding:0 22px;font-size:14px;color:#374151;line-height:1.75;}
.pj-faq-item.open .pj-faq-a{max-height:500px;}
.pj-faq-item.open .pj-faq-a-inner{padding-bottom:20px;}
.pj-faq-cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;justify-content:center;}
.pj-faq-cat{padding:8px 20px;border-radius:50px;border:1.5px solid #e2e8f0;font-size:13px;font-weight:600;cursor:pointer;transition:.2s;}
.pj-faq-cat.active,.pj-faq-cat:hover{background:var(--pj-primary);color:#fff;border-color:var(--pj-primary);}

/* ============================
   BEWERBUNGSFORMULAR
==============================*/
.pj-form-wrap{background:linear-gradient(135deg,var(--pj-dark) 0%,#1e1040 100%);padding:90px 0;}
.pj-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.pj-form-left{color:#fff;}
.pj-form-left h2{font-size:34px;font-weight:900;margin-bottom:16px;}
.pj-form-left p{font-size:16px;opacity:.85;margin-bottom:28px;}
.pj-form-left ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.pj-form-left ul li{display:flex;align-items:center;gap:10px;font-size:15px;}
.pj-form-left ul li::before{content:'✓';background:var(--pj-primary);color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;flex-shrink:0;}
.pj-form-box{background:#fff;border-radius:var(--pj-radius);padding:40px;box-shadow:0 24px 60px rgba(0,0,0,.4);}
.pj-form-box h3{font-size:22px;font-weight:800;margin-bottom:22px;text-align:center;}
.pj-field{margin-bottom:16px;}
.pj-field label{display:block;font-weight:600;margin-bottom:6px;font-size:13px;color:#374151;}
.pj-field input[type=text],
.pj-field input[type=email],
.pj-field input[type=tel],
.pj-field select,
.pj-field textarea{width:100%;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:inherit;transition:border .2s;}
.pj-field input:focus,.pj-field textarea:focus,.pj-field select:focus{outline:none;border-color:var(--pj-primary);}
.pj-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pj-upload{border:2px dashed #cbd5e1;border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:.2s;position:relative;background:#f8fafc;}
.pj-upload:hover{border-color:var(--pj-primary);background:#fff5f7;}
.pj-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.pj-upload .uicon{font-size:22px;}
.pj-upload .utxt{font-size:12px;color:var(--pj-muted);margin-top:4px;}
.pj-upload .fname{margin-top:6px;font-size:12px;color:var(--pj-primary);font-weight:600;word-break:break-all;}
.pj-consent{font-size:12px;color:var(--pj-muted);display:flex;gap:8px;align-items:flex-start;margin-bottom:14px;}
.pj-consent input{margin-top:2px;flex-shrink:0;}
.pj-submit{width:100%;background:var(--pj-primary);color:#fff;padding:15px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s;}
.pj-submit:hover{background:var(--pj-primary-dark);}
.pj-msg{margin-top:12px;padding:12px 16px;border-radius:8px;font-size:13px;display:none;}
.pj-msg.success{display:block;background:#dcfce7;color:#166534;}
.pj-msg.error{display:block;background:#fee2e2;color:#991b1b;}

/* ============================
   JOBS OVERVIEW
==============================*/
.pj-jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pj-job-card{border-radius:var(--pj-radius);overflow:hidden;box-shadow:var(--pj-shadow);}
.pj-job-card img{width:100%;height:180px;object-fit:cover;}
.pj-job-card-body{padding:20px;}
.pj-job-card-body h3{font-size:16px;font-weight:700;margin-bottom:8px;}
.pj-job-card-body p{font-size:13px;color:var(--pj-muted);}
.pj-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 10px;border-radius:20px;margin-bottom:8px;}
.pj-tag-red{background:#fee2e2;color:var(--pj-primary);}
.pj-tag-amber{background:#fef3c7;color:#92400e;}
.pj-tag-blue{background:#dbeafe;color:#1e40af;}

/* ============================
   FOOTER
==============================*/
.pj-footer{background:var(--pj-darker);color:#64748b;padding:50px 0 30px;}
.pj-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.pj-footer h4{color:#fff;font-size:14px;font-weight:700;margin-bottom:16px;letter-spacing:1px;text-transform:uppercase;}
.pj-footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.pj-footer ul li a{font-size:13px;transition:color .2s;}
.pj-footer ul li a:hover{color:#fff;}
.pj-footer-logo{font-size:22px;font-weight:900;color:#fff;margin-bottom:12px;}
.pj-footer-logo span{color:var(--pj-primary);}
.pj-footer-desc{font-size:13px;line-height:1.7;margin-bottom:16px;}
.pj-footer-bottom{border-top:1px solid #1e293b;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;}
.pj-footer-bottom a{color:#94a3b8;margin-left:18px;}
.pj-footer-bottom a:hover{color:#fff;}
.pj-aff-disclaimer{background:#0d1729;color:#475569;font-size:11px;padding:14px 0;text-align:center;}

/* ============================
   RESPONSIVE
==============================*/
@media(max-width:1024px){
  .pj-footer-grid{grid-template-columns:1fr 1fr;}
  .pj-affiliate-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:880px){
  .pj-hero-content h1{font-size:36px;}
  .pj-grid-3,.pj-testi-grid,.pj-jobs-grid,.pj-gallery,.pj-steps{grid-template-columns:1fr 1fr;}
  .pj-form-grid{grid-template-columns:1fr;}
  .pj-stats-inner{grid-template-columns:1fr 1fr;}
  .pj-faq-grid{grid-template-columns:1fr;}
  .pj-steps::before{display:none;}
}
@media(max-width:600px){
  .pj-hero-content h1{font-size:28px;}
  .pj-grid-3,.pj-testi-grid,.pj-affiliate-grid,.pj-jobs-grid,.pj-gallery,.pj-steps{grid-template-columns:1fr;}
  .pj-row-2{grid-template-columns:1fr;}
  .pj-footer-grid{grid-template-columns:1fr;}
  .pj-stats-inner{grid-template-columns:1fr 1fr;}
  .btn{padding:14px 24px;font-size:15px;}
  .pj-section{padding:60px 0;}
}
