/*
Theme Name: Phanesis Landing (Centered Waitlist)
Theme URI: https://phanesis.com/
Author: Phanesis
Description: Custom-coded landing theme with centered waitlist in footer and a customizable hero image.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: phanesis
*/
:root{--bg:#0B1020;--card:#10162A;--txt:#E8ECF8;--muted:#A3B0FF;--line:#1B2440;--ok:#68E991;}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;color:var(--txt);background:radial-gradient(1200px 600px at 75% -10%, #1B2440 0%, var(--bg) 55%);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.55}
a{color:var(--muted);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* Nav */
.nav{position:sticky;top:0;z-index:10;backdrop-filter:saturate(150%) blur(6px);background:rgba(11,16,32,.6);border-bottom:1px solid var(--line)}
.nav .container{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}

/* Buttons */
.btn{appearance:none;border:0;padding:12px 16px;border-radius:12px;font-weight:600;cursor:pointer;transition:transform .04s ease;
  background:linear-gradient(135deg,#7AA2FF 0%,#5C7DF1 100%);color:#0B1020;box-shadow:0 8px 24px rgba(92,125,241,.35)}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:transparent;color:var(--txt);border:1px solid var(--line);box-shadow:none}

/* Hero */
.hero{padding:60px 0 30px;border-bottom:1px solid var(--line)}
.hero__grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
@media(min-width:900px){.hero__grid{grid-template-columns:1.1fr .9fr}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:#C8D0F5;background:rgba(16,22,42,.6)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}
h1{font-size:clamp(32px,4.6vw,60px);margin:16px 0 14px;letter-spacing:.2px}
.lead{max-width:720px;margin:0 0 26px;font-size:clamp(16px,1.6vw,20px);color:#C8D0F5}
.hero__media{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0A0F24;display:grid;place-items:center;min-height:240px}
.hero__placeholder{color:#9AA6D1;padding:24px;text-align:center}

/* Features */
.features{border-bottom:1px solid var(--line);background:linear-gradient(180deg, rgba(16,22,42,.8), rgba(16,22,42,.6))}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:40px 0}
.card{grid-column:span 12;border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(16,22,42,.6)}
.card h3{margin:4px 0 8px}
.card p{margin:0;color:#C8D0F5}
@media(min-width:720px){.card{grid-column:span 4}}
.mini{display:flex;gap:10px;align-items:flex-start}
.mini .icon{width:26px;height:26px;border-radius:8px;background:#141C33;display:grid;place-items:center;border:1px solid var(--line)}

/* Video */
.video{padding:48px 0;border-bottom:1px solid var(--line)}
.video h2{margin:0 0 8px}
.video p{color:#C8D0F5;max-width:760px}
.frame-16x9{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#000}
.frame-16x9 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Deep info */
.deep{padding:60px 0;border-bottom:1px solid var(--line)}
.deep .cols{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:900px){.deep .cols{grid-template-columns:1fr 1fr}}
.deep h3{margin:0 0 8px}

/* Footer with centered waitlist */
.footer{padding:50px 0;border-top:1px solid var(--line);color:#A3ADD8}
.footer .waitlist-block{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;margin:0 auto;max-width:720px}
.footer .signup{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.footer input[type=email]{width:min(460px, 90vw);padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0F1530;color:var(--txt)}
.footer .legal{color:#A3ADD8;font-size:12px;margin-top:4px}
.footer .msg{margin-top:6px}
.foot-bottom{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;margin-top:24px;color:#9AA6D1}
/* === Pilot Partnership Requests (CPT + form + handler) === */

/* 1) Bewaar aanvragen in de WP admin */
add_action('init', function () {
  register_post_type('pilot_request', [
    'label' => 'Pilot Requests',
    'public' => false,
    'show_ui' => true,
    'show_in_menu' => true,
    'menu_icon' => 'dashicons-airplane',
    'supports' => ['title','editor','custom-fields'],
  ]);
});

/* 2) Shortcode voor het formulier: [phanesis_pilot_form] */
add_shortcode('phanesis_pilot_form', function () {
  ob_start(); ?>
  <form class="pilot-form" action="<?php echo esc_url( admin_url('admin-post.php') ); ?>" method="post">
    <input type="hidden" name="action" value="phanesis_pilot_request">
    <?php wp_nonce_field('phanesis_pilot_request'); ?>

    <div class="row">
      <input type="text" name="name" placeholder="Your name" required>
      <input type="email" name="email" placeholder="Work email" required>
    </div>

    <div class="row">
      <input type="text" name="company" placeholder="Company / Organization" required>
      <input type="text" name="location" placeholder="Location (city/country)">
    </div>

    <input type="text" name="use_case" placeholder="Use case (e.g., indoor inspection, search & rescue)" required>
    <input type="text" name="fleet_size" placeholder="Fleet size (approx.)">

    <textarea name="message" rows="6" placeholder="Tell us about your platform, sensors, flight stack (PX4/ArduPilot/etc.), and timeline" required></textarea>

    <!-- Honeypot tegen spam -->
    <input type="text" name="website" style="position:absolute;left:-9999px;top:-9999px" tabindex="-1" autocomplete="off">

    <button class="btn" type="submit">Request a pilot partnership</button>
    <p class="legal">We’ll reply by email. By submitting, you agree to be contacted about pilot opportunities.</p>
  </form>
  <?php
  return ob_get_clean();
});

/* 3) Afhandeling van inzendingen */
function phanesis_handle_pilot_request() {
  if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'phanesis_pilot_request')) {
    wp_die('Invalid nonce.');
  }
  // Honeypot
  if (!empty($_POST['website'])) {
    wp_redirect(add_query_arg('spam','1', wp_get_referer())); exit;
  }

  $fields = [
    'name'       => sanitize_text_field($_POST['name'] ?? ''),
    'email'      => sanitize_email($_POST['email'] ?? ''),
    'company'    => sanitize_text_field($_POST['company'] ?? ''),
    'location'   => sanitize_text_field($_POST['location'] ?? ''),
    'use_case'   => sanitize_text_field($_POST['use_case'] ?? ''),
    'fleet_size' => sanitize_text_field($_POST['fleet_size'] ?? ''),
    'message'    => wp_kses_post($_POST['message'] ?? ''),
  ];

  if (empty($fields['name']) || !is_email($fields['email']) || empty($fields['use_case']) || empty($fields['message'])) {
    wp_redirect(add_query_arg('bad','1', wp_get_referer())); exit;
  }

  // Opslaan in WP
  $post_id = wp_insert_post([
    'post_type'   => 'pilot_request',
    'post_status' => 'publish',
    'post_title'  => ($fields['company'] ? $fields['company'].' — ' : '') . $fields['name'],
    'post_content'=> "Name: {$fields['name']}\nEmail: {$fields['email']}\nCompany: {$fields['company']}\nLocation: {$fields['location']}\nUse case: {$fields['use_case']}\nFleet size: {$fields['fleet_size']}\n\nMessage:\n{$fields['message']}",
  ]);
  if ($post_id && !is_wp_error($post_id)) {
    foreach ($fields as $k => $v) { update_post_meta($post_id, $k, $v); }
  }

  // E-mailmelding (pas e-mailadres aan indien gewenst)
  wp_mail('info@phanesis.com', 'New Pilot Partnership Request',
    "Name: {$fields['name']}\nEmail: {$fields['email']}\nCompany: {$fields['company']}\nLocation: {$fields['location']}\nUse case: {$fields['use_case']}\nFleet size: {$fields['fleet_size']}\n\n{$fields['message']}");

  wp_redirect(add_query_arg('sent','1', wp_get_referer())); exit;
}
add_action('admin_post_nopriv_phanesis_pilot_request', 'phanesis_handle_pilot_request');
add_action('admin_post_phanesis_pilot_request', 'phanesis_handle_pilot_request');

/* 4) Basis-styles zodat het matcht met je thema */
add_action('wp_head', function () { ?>
  <style>
    .pilot-form{display:flex;flex-direction:column;gap:12px;max-width:760px;margin:0 auto}
    .pilot-form .row{display:flex;gap:12px;flex-wrap:wrap}
    .pilot-form input[type=text],
    .pilot-form input[type=email],
    .pilot-form textarea{
      width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line,#1B2440);
      background:#0F1530;color:#E8ECF8
    }
    @media(min-width:720px){ .pilot-form .row > *{flex:1} }
    .pilot-form .legal
