/* ==========================================================================
   Flyronix Child Theme — design system ported from the static homepage
   (css/style.css) so every WordPress page matches the dark aurora /
   glassmorphism look.
   ========================================================================== */

:root{
  /* LIGHT default — ported from the static homepage's css/style.css, so a
     first-time visitor with no saved preference and no OS dark preference
     sees the same light theme as the homepage. */
  --bg:#F7F9FC; --glass:rgba(255,255,255,0.72); --line:rgba(16,23,42,0.10); --line-hi:rgba(6,148,168,0.4);
  --text:#12151C; --muted:#5C6472; --cyan:#0891B2; --violet:#7C5CFF; --amber:#B96A00; --red:#D93A4A;
  --font-display:'Space Grotesk',sans-serif; --font-body:'Inter',sans-serif; --font-mono:'JetBrains Mono',monospace;
  --surface-rgb:16,23,42; --nav-glass:rgba(255,255,255,0.68); --dropdown-glass:rgba(255,255,255,0.96);
  --copy:#333B47;
}

/* ===== DARK THEME — the original values this file shipped with ===== */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#10131C; --glass:rgba(255,255,255,0.065); --line:rgba(255,255,255,0.13); --line-hi:rgba(23,227,255,0.4);
    --text:#F2F5FA; --muted:#A6AEC0; --cyan:#17E3FF; --violet:#8C74FF; --amber:#FFB020; --red:#FF5C6C;
    --surface-rgb:255,255,255; --nav-glass:rgba(10,12,18,0.65); --dropdown-glass:rgba(6,7,11,0.96);
    --copy:#C7CEDA;
  }
  :root:not([data-theme="light"]) .aurora .blob{mix-blend-mode:screen;opacity:0.3;}
  :root:not([data-theme="light"]) .brand-mark{opacity:0.035;}
}
[data-theme="dark"]{
  --bg:#10131C; --glass:rgba(255,255,255,0.065); --line:rgba(255,255,255,0.13); --line-hi:rgba(23,227,255,0.4);
  --text:#F2F5FA; --muted:#A6AEC0; --cyan:#17E3FF; --violet:#8C74FF; --amber:#FFB020; --red:#FF5C6C;
  --surface-rgb:255,255,255; --nav-glass:rgba(10,12,18,0.65); --dropdown-glass:rgba(6,7,11,0.96);
  --copy:#C7CEDA;
}
[data-theme="dark"] .aurora .blob{mix-blend-mode:screen;opacity:0.3;}
[data-theme="dark"] .brand-mark{opacity:0.035;}

body{background:var(--bg) !important;color:var(--text);font-family:var(--font-body);overflow-x:hidden;position:relative;}
body a{color:inherit;text-decoration:none;}
body ::selection{background:var(--cyan);color:#000;}
#page{position:relative;z-index:1;}

/* ---------- Brand watermark + Aurora background + noise (identical to homepage) ---------- */
.brand-mark{position:fixed;top:50%;left:50%;width:920px;max-width:140vw;transform:translate(-50%,-50%);opacity:0.05;z-index:0;pointer-events:none;}
.brand-mark img{width:100%;display:block;}

/* ---------- Theme-aware logo swap (light bg needs the dark mark, dark bg needs the white mark) ---------- */
.theme-logo-dark{display:none;}
.theme-logo-light{display:block;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-logo-dark{display:block;}
  :root:not([data-theme="light"]) .theme-logo-light{display:none;}
}
[data-theme="dark"] .theme-logo-dark{display:block;}
[data-theme="dark"] .theme-logo-light{display:none;}

.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.aurora .blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.16;mix-blend-mode:multiply;}
.aurora .b1{width:520px;height:520px;background:#17E3FF;top:-160px;left:-120px;animation:flyronixFloat1 22s ease-in-out infinite;}
.aurora .b2{width:460px;height:460px;background:var(--violet);top:20%;right:-140px;animation:flyronixFloat2 26s ease-in-out infinite;}
.aurora .b3{width:380px;height:380px;background:#0AFFC8;bottom:-140px;left:30%;animation:flyronixFloat3 30s ease-in-out infinite;}
@keyframes flyronixFloat1{0%,100%{transform:translate(0,0);}50%{transform:translate(60px,80px);}}
@keyframes flyronixFloat2{0%,100%{transform:translate(0,0);}50%{transform:translate(-70px,60px);}}
@keyframes flyronixFloat3{0%,100%{transform:translate(0,0);}50%{transform:translate(50px,-60px);}}
.noise{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.site-content, header, footer{position:relative;z-index:2;}

/* ---------- Shared primitives ---------- */
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--cyan);}
.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}

.btn,a.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:100px;background:var(--cyan);color:#04141A !important;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease;border:1px solid transparent;cursor:pointer;}
.btn::before,.btn::after,a.btn::before,a.btn::after{content:'';position:absolute;width:9px;height:9px;border:2px solid var(--cyan);opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none;}
.btn::before,a.btn::before{top:-5px;left:-5px;border-right:none;border-bottom:none;transform:translate(3px,3px);}
.btn::after,a.btn::after{bottom:-5px;right:-5px;border-left:none;border-top:none;transform:translate(-3px,-3px);}
.btn:hover,a.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(23,227,255,0.5);}
.btn:hover::before,.btn:hover::after,a.btn:hover::before,a.btn:hover::after{opacity:0.9;transform:translate(0,0);}
.btn.outline,a.btn.outline{background:transparent;border:1px solid var(--line);color:var(--text) !important;}
.btn.outline:hover,a.btn.outline:hover{border-color:var(--line-hi);background:rgba(var(--surface-rgb),0.04);}

/* ---------- Theme toggle ---------- */
.theme-toggle{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s,color .25s,background .25s;}
.theme-toggle:hover{border-color:var(--line-hi);color:var(--cyan);background:rgba(23,227,255,0.06);}
.theme-toggle svg{display:block;}
.theme-toggle .icon-sun{display:none;}
.theme-toggle .icon-moon{display:block;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .icon-sun{display:block;}
  :root:not([data-theme="light"]) .theme-toggle .icon-moon{display:none;}
}
[data-theme="dark"] .theme-toggle .icon-sun{display:block;}
[data-theme="dark"] .theme-toggle .icon-moon{display:none;}

/* ---------- Page hero + content card wrapper (non-homepage pages) ---------- */
.page-main{padding-top:130px;}
.page-hero{padding:0 6% 50px;}
/* Restrained echo of the homepage hero's HUD language — a small reticle mark next to the
   eyebrow, not the full corner-bracket frame (that stays reserved for the homepage hero
   and the CTA close, per the "spend boldness in one place" rule). Consistent identity
   touch across every content page without turning prose pages into HUD panels. */
.eyebrow-hud .reticle{color:var(--cyan);opacity:0.8;flex-shrink:0;}
.page-hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,5vw,58px);letter-spacing:-0.01em;margin-top:14px;color:var(--text);
  /* Cheap, load-only entrance (no JS/IntersectionObserver needed — this sits above the
     fold on every content page) so first paint on About/Kontakt/etc. feels considered
     rather than the content just appearing static. Respects reduced-motion via the
     shared `*{animation:none!important}` rule at the bottom of this file. */
  animation:pageHeroIn .7s cubic-bezier(.22,1,.36,1) both;
}
@keyframes pageHeroIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.page-body{padding:0 6% 70px;}
.page-card{border-radius:28px;padding:56px;max-width:1080px;margin:0 auto;position:relative;overflow:hidden;}
.page-card > *:first-child{margin-top:0;}
/* Thin gradient "power rail" across the top edge — the one subtle tech-surface cue these
   prose cards get; deliberately a static line, not another animated flourish, so pages
   full of legal/reference text stay calm and readable. */
.page-card::before{content:'';position:absolute;top:0;left:44px;right:44px;height:1px;background:linear-gradient(90deg,transparent,var(--line-hi) 50%,transparent);opacity:0.6;}

.page-card h2{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,3vw,34px);letter-spacing:-0.01em;margin:44px 0 18px;color:var(--text);}
.page-card h2:first-child{margin-top:0;}
.page-card h3{font-family:var(--font-display);font-weight:600;font-size:22px;margin:32px 0 14px;color:var(--text);}
.page-card h3 strong{color:var(--cyan);}
.page-card h4{font-family:var(--font-display);font-weight:600;font-size:18px;margin:24px 0 10px;color:var(--text);}
.page-card p{font-size:16px;line-height:1.85;color:var(--copy);margin-bottom:18px;}
.page-card p strong{color:var(--cyan);font-weight:500;}
.page-card ul,.page-card ol{color:var(--copy);font-size:15.5px;line-height:1.8;margin:0 0 18px 22px;}
.page-card li{margin-bottom:8px;}
.page-card a:not(.btn){color:var(--cyan);border-bottom:1px solid rgba(23,227,255,0.35);}
.page-card a:not(.btn):hover{border-color:var(--cyan);}
.page-card blockquote{border-left:2px solid var(--cyan);padding:6px 0 6px 22px;color:var(--muted);font-style:italic;margin:24px 0;}
.page-card img{max-width:100%;height:auto;border-radius:16px;}
.page-card figure{margin:24px 0;}
.page-card figcaption{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-top:8px;}
.page-card hr{border:none;border-top:1px solid var(--line);margin:36px 0;}
.page-card table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:14.5px;}
.page-card table th,.page-card table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;}
.page-card table th{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cyan);}
.page-card .wp-block-column{color:var(--copy);}
.page-card .wp-block-columns{gap:32px;}

/* Contact map — Google Maps embed re-tinted to match the dark theme */
.contact-map{border-radius:20px;overflow:hidden;border:1px solid var(--line);}
.contact-map iframe{display:block;filter:invert(92%) hue-rotate(180deg) brightness(0.85) contrast(0.9);transition:filter .4s;}
.contact-map:hover iframe{filter:invert(85%) hue-rotate(180deg) brightness(0.95) contrast(0.95);}

/* Fact / info cards used inside page content (drone links, FPV infos, etc.) */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:28px 0;}
.info-card{border-radius:20px;padding:26px;background:var(--glass);border:1px solid var(--line);}
.info-card h4{margin-top:0;}
.info-card p{margin-bottom:0;font-size:14.5px;}

/* Team cards (reused from homepage on the About page) */
.page-card .team{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:28px 0;}
.page-card .team-card{border-radius:24px;padding:36px;display:flex;gap:22px;transition:border-color .3s;}
.page-card .team-card:hover{border-color:var(--line-hi);}
.page-card .avatar-orb{flex-shrink:0;width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:22px;color:#04141A;}
.page-card .avatar-orb.a1{background:conic-gradient(from 120deg,var(--cyan),var(--violet),var(--cyan));}
.page-card .avatar-orb.a2{background:conic-gradient(from 40deg,var(--violet),#0AFFC8,var(--violet));}
.page-card .team-role{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;}
.page-card .team-card h4{font-family:var(--font-display);font-size:22px;margin:0 0 10px;}
.page-card .team-card p{color:var(--muted);font-size:13.5px;line-height:1.7;margin-bottom:14px;}
.page-card .team-card a{font-family:var(--font-mono);font-size:12px;color:var(--text);border-bottom:1px solid var(--line-hi);padding-bottom:2px;}
@media (max-width:700px){.page-card .team{grid-template-columns:1fr;}}

/* ---------- Blog grid ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.blog-card{display:block;border-radius:24px;overflow:hidden;transition:border-color .3s,transform .3s;}
.blog-card:hover{border-color:var(--line-hi);transform:translateY(-4px);}
.blog-card-thumb img{width:100%;height:200px;object-fit:cover;display:block;}
.blog-card-body{padding:26px;}
.blog-card-body h3{font-family:var(--font-display);font-size:19px;margin:12px 0 10px;color:var(--text);}
.blog-card-body p{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:14px;}
.blog-pagination{margin-top:40px;display:flex;justify-content:center;gap:10px;font-family:var(--font-mono);}
.blog-pagination a,.blog-pagination span{padding:8px 16px;border-radius:100px;border:1px solid var(--line);color:var(--muted);}
.blog-pagination .current{color:var(--cyan);border-color:var(--line-hi);}
.single-post-thumb{margin-bottom:28px;}
.single-post-thumb img{width:100%;border-radius:20px;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ---------- Flyronix custom contact form ([flyronix_contact_form]) ---------- */
.flyronix-form-wrap{max-width:640px;}
.flyronix-form{font-family:var(--font-body);}

.fcf-notice{border-radius:16px;padding:18px 22px;margin-bottom:26px;font-size:14.5px;line-height:1.6;border:1px solid var(--line);}
.fcf-notice strong{font-family:var(--font-display);}
.fcf-notice--success{background:rgba(23,227,255,0.08);border-color:var(--line-hi);color:var(--text);}
.fcf-notice--success strong{color:var(--cyan);}
.fcf-notice--error{background:rgba(255,92,108,0.08);border-color:rgba(255,92,108,0.4);color:var(--text);}
.fcf-notice--error strong{color:var(--red);}

/* Honeypot — off-screen, not display:none, so it's ignored by assistive tech
   but still "visible" enough in the DOM for simple bots to fill in. */
.fcf-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

.fcf-grid{display:grid;gap:20px;}
.fcf-grid--2{grid-template-columns:1fr 1fr;}
.fcf-grid--3{grid-template-columns:1.6fr 1fr 1.4fr;}
.fcf-field{margin-bottom:20px;}
.fcf-field label{display:block;color:var(--text);font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.03em;text-transform:uppercase;margin-bottom:8px;}
.fcf-req{color:var(--cyan);}
.fcf-optional{color:var(--muted);text-transform:none;font-family:var(--font-body);letter-spacing:0;font-size:12px;}

/* ---------- Service-type toggle (Reparaturen form) ---------- */
.fcf-service-toggle{display:flex;flex-wrap:wrap;gap:10px;}
.fcf-service-option{position:relative;flex:1 1 160px;}
.fcf-service-option input{position:absolute;opacity:0;width:1px;height:1px;}
.fcf-service-option-label{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 12px;border-radius:16px;background:var(--glass);border:1px solid var(--line);color:var(--copy);font-family:var(--font-mono);font-size:13px;letter-spacing:0.02em;cursor:pointer;transition:border-color .2s,color .2s,background .2s;}
.fcf-service-option input:hover + .fcf-service-option-label{border-color:var(--line-hi);}
.fcf-service-option input:checked + .fcf-service-option-label{border-color:var(--cyan);color:var(--cyan);background:rgba(23,227,255,0.08);}
.fcf-service-option input:focus-visible + .fcf-service-option-label{outline:2px solid var(--cyan);outline-offset:2px;}

.fcf-service-section{margin-top:8px;padding-top:8px;}
.fcf-service-note{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0 0 20px;}

.fcf-field--checkbox label{display:flex;align-items:flex-start;gap:10px;text-transform:none;font-family:var(--font-body);font-size:14px;color:var(--copy);letter-spacing:0;}
.fcf-field--checkbox input[type="checkbox"]{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--cyan);}
.fcf-field--checkbox a{color:var(--cyan);border-bottom:1px solid rgba(23,227,255,0.35);}
.fcf-field--checkbox a:hover{border-color:var(--cyan);}

.fcf-field input[type="text"],
.fcf-field input[type="email"],
.fcf-field input[type="tel"],
.fcf-field input[type="datetime-local"],
.fcf-field textarea{
  width:100%;background:rgba(var(--surface-rgb),0.03);border:1px solid var(--line);color:var(--text);
  border-radius:12px;padding:13px 16px;font-family:var(--font-body);font-size:15px;transition:border-color .2s,box-shadow .2s;
}
.fcf-field textarea{resize:vertical;min-height:120px;}
.fcf-field input:focus,.fcf-field textarea:focus{border-color:var(--line-hi);outline:none;box-shadow:0 0 0 3px rgba(23,227,255,0.12);}
.fcf-field ::placeholder{color:var(--muted);opacity:1;}
.fcf-field input:invalid:not(:placeholder-shown){border-color:var(--red);}

/* datetime-local's native calendar/clock icon, recolored to match the theme */
.fcf-field input[type="datetime-local"]::-webkit-calendar-picker-indicator{filter:invert(60%) sepia(60%) saturate(2000%) hue-rotate(150deg);cursor:pointer;}

.fcf-submit{width:100%;justify-content:center;margin-top:8px;}
.fcf-submit.is-loading{opacity:0.7;cursor:progress;}

/* ---- File dropzone ("Futuristic uploader" concept: dashed glass panel with
   a cyan glow that activates on drag, vanilla-JS driven) ---- */
.fcf-dropzone{
  position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
  border:1.5px dashed var(--line);border-radius:18px;padding:32px 20px;cursor:pointer;
  background:rgba(var(--surface-rgb),0.02);transition:border-color .25s,background .25s,box-shadow .25s;
}
.fcf-dropzone:hover,.fcf-dropzone:focus-visible{border-color:var(--line-hi);background:rgba(23,227,255,0.04);}
.fcf-dropzone:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}
.fcf-dropzone--drag{border-color:var(--cyan);background:rgba(23,227,255,0.08);box-shadow:0 0 0 4px rgba(23,227,255,0.1),0 0 30px -6px rgba(23,227,255,0.45);}
.fcf-dropzone-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.fcf-dropzone-content{pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px;}
.fcf-dropzone-icon{color:var(--cyan);}
.fcf-dropzone-title{font-size:14.5px;color:var(--text);margin:0;}
.fcf-dropzone-title strong{color:var(--cyan);font-weight:600;}
.fcf-dropzone-hint{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.02em;color:var(--muted);margin:0;}
.fcf-dropzone-error{color:var(--red);font-size:13px;margin:10px 0 0;}

.fcf-file-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.fcf-file-chip{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;
  background:var(--glass);border:1px solid var(--line);font-family:var(--font-mono);font-size:12.5px;color:var(--copy);
}
.fcf-file-chip-icon{display:flex;color:var(--violet);flex-shrink:0;}
.fcf-file-chip-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
.fcf-file-chip-size{color:var(--muted);flex-shrink:0;}
.fcf-file-chip-remove{
  display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;
  border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s;
}
.fcf-file-chip-remove:hover{color:var(--red);border-color:var(--red);background:rgba(255,92,108,0.08);}

@media (max-width:700px){
  .fcf-grid--2{grid-template-columns:1fr;}
  .fcf-grid--3{grid-template-columns:1fr;}
}

/* ---------- WooCommerce dark theme override ---------- */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:20px;}
.woocommerce span.price,.woocommerce-page span.price{color:var(--cyan);}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  background:linear-gradient(90deg,var(--cyan),#00b3d1);color:#04141A;border-radius:100px;border:none;font-family:var(--font-mono);letter-spacing:0.05em;text-transform:uppercase;padding:12px 24px;
}
.woocommerce table.shop_table{border-color:var(--line);color:var(--text);}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-page form .form-row select{
  background:rgba(var(--surface-rgb),0.03);border:1px solid var(--line);color:var(--text);border-radius:10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:10px;}
.woocommerce-account .woocommerce-MyAccount-navigation a{color:var(--muted);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--cyan);}

/* ---------- Comments ---------- */
.comment-form input,.comment-form textarea{background:rgba(var(--surface-rgb),0.03);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 14px;}
.comment-form label{font-family:var(--font-mono);font-size:12px;color:var(--muted);}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .page-card{padding:32px 24px;}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}
