/*
Theme Name: Warpflow
Theme URI: https://warpflow.pl
Author: Warpflow Automation Innovations
Description: Motyw Warpflow: wspólny nagłówek, stopka, font Inter i paleta kolorów na wszystkich podstronach. Zgodny z Elementorem (strony zbudowane w Elementorze dziedziczą nagłówek, stopkę, font i kolory).
Version: 2.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: warpflow
*/

/* ---------- Font Inter (lokalnie, bez Google Fonts) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Inter-Regular.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/Inter-Medium.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/Inter-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Inter-Bold.woff2") format("woff2")}

/* ---------- Kolory i font (jedno miejsce do zmian) ---------- */
:root{
  --ink:#111318;
  --muted:#667078;
  --line:#dfe7e7;
  --mint:#8ff5e4;
  --mint-strong:#3ed8c2;
  --surface:#f6faf9;
  --white:#ffffff;
  --wf-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --wf-header-h:78px;
}

/* Elementor: globalne fonty i kolory = Warpflow */
body[class*="elementor-kit-"]{
  --e-global-color-primary:#111318;
  --e-global-color-secondary:#667078;
  --e-global-color-text:#111318;
  --e-global-color-accent:#3ed8c2;
  --e-global-typography-primary-font-family:"Inter";
  --e-global-typography-secondary-font-family:"Inter";
  --e-global-typography-text-font-family:"Inter";
  --e-global-typography-accent-font-family:"Inter";
}

/* ---------- Baza (wszystkie strony) ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:var(--wf-header-h);
  font-family:var(--wf-font);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
[id]{scroll-margin-top:var(--wf-header-h)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{font-family:var(--wf-font);color:var(--ink);letter-spacing:-.03em;font-weight:700}
button,input,select,textarea{font-family:inherit}
.screen-reader-text{position:absolute;left:-9999px}

/* ---------- Nagłówek ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:999;
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(223,231,231,.75);
}
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}}
.nav-inner{
  width:min(1160px,calc(100% - 40px));margin:auto;height:var(--wf-header-h);
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;width:clamp(200px,25vw,440px)}
.brand img,.brand .custom-logo{width:100%;height:auto;display:block}

/* ---------- Stopka ---------- */
.site-footer{
  background:var(--ink);border-top:1px solid rgba(255,255,255,.1);
  color:#7f898d;padding:24px 20px;font-size:13px;
}
.footer-inner{width:min(1160px,100%);margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* ---------- Przyciski (do użycia też w Elementorze: klasy btn btn-primary) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:600;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 12px 30px rgba(17,19,24,.13)}
.btn-secondary{border:1px solid var(--line);background:#fff}
.actions{display:flex;gap:13px;flex-wrap:wrap}

/* ---------- Zwykłe strony i wpisy ---------- */
.wf-page{width:min(820px,calc(100% - 40px));margin:0 auto;padding:70px 0 100px}
.wf-page h1{font-size:clamp(34px,5vw,56px);line-height:1.05;margin:0 0 28px}
.wf-page .entry-content>*{max-width:100%}
.wf-page .entry-content a{color:#1f9e8c;text-decoration:underline}

/* ---------- Strona główna (zakres .wf-home, nie koliduje z Elementorem) ---------- */
.wf-home .hero{min-height: calc(100vh - 78px); padding: 72px 20px 80px; display: grid; place-items: center; position: relative; overflow: hidden; background: radial-gradient(circle at 72% 35%, rgba(143,245,228,.27), transparent 28%), linear-gradient(180deg, #fff 0%, #f9fcfb 100%);}
.wf-home .hero::before{content: ""; position: absolute; width: 560px; height: 560px; border-radius: 50%; border: 1px solid rgba(62,216,194,.16); right: -180px; top: 90px;}
.wf-home .hero-content{width: min(1160px, 100%); display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center;}
.wf-home .eyebrow{display: inline-flex; align-items: center; gap: 9px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #5b666c; margin-bottom: 18px;}
.wf-home .eyebrow::before{content: ""; width: 28px; height: 1px; background: var(--mint-strong);}
.wf-home h1{margin: 0; font-size: clamp(48px, 7vw, 88px); line-height: .98; letter-spacing: -.055em; font-weight: 700; max-width: 760px;}
.wf-home .accent{color: #4acdb9;}
.wf-home .hero-copy{max-width: 650px; margin: 28px 0 34px; font-size: 19px; color: var(--muted);}
.wf-home .visual{min-height: 440px; position: relative; display: grid; place-items: center;}
.wf-home .orb{width: min(390px, 80vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), transparent 17%), radial-gradient(circle at 60% 60%, rgba(143,245,228,.9), transparent 43%), linear-gradient(135deg, #fff, #dffcf7); box-shadow: inset -25px -25px 70px rgba(62,216,194,.15), 0 35px 90px rgba(62,216,194,.14); border: 1px solid rgba(62,216,194,.25);}
.wf-home .orb::after{content: "AUTOMATION"; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%) rotate(-8deg); font-size: 12px; letter-spacing: .38em; color: rgba(17,19,24,.43);}
.wf-home section{padding: 110px 20px;}
.wf-home .container{width: min(1160px, 100%); margin: auto;}
.wf-home .section-kicker{font-size: 12px; text-transform: uppercase; letter-spacing: .18em; color: #6d777c; margin-bottom: 13px;}
.wf-home h2{margin: 0 0 18px; font-size: clamp(35px, 5vw, 56px); line-height: 1.02; letter-spacing: -.04em;}
.wf-home .section-intro{max-width: 680px; color: var(--muted); font-size: 17px;}
.wf-home .services{background: var(--surface);}
.wf-home .grid{margin-top: 52px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.wf-home .card{background: white; border: 1px solid var(--line); border-radius: 24px; padding: 30px; min-height: 270px; transition: transform .25s, box-shadow .25s;}
.wf-home .card:hover{transform: translateY(-5px); box-shadow: 0 18px 50px rgba(17,19,24,.08);}
.wf-home .number{font-size: 12px; color: #7a8589; letter-spacing: .15em;}
.wf-home .card h3{margin: 55px 0 10px; font-size: 22px;}
.wf-home .card p{margin: 0; color: var(--muted);}
.wf-home .split{display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center;}
.wf-home .manifesto{font-size: clamp(28px, 4vw, 44px); line-height: 1.15; letter-spacing: -.035em;}
.wf-home .manifesto strong{font-weight: 700;}
.wf-home .points{display: grid; gap: 18px;}
.wf-home .point{display: grid; grid-template-columns: 38px 1fr; gap: 15px; padding-bottom: 18px; border-bottom: 1px solid var(--line);}
.wf-home .point span{width: 34px; height: 34px; border-radius: 50%; background: #e7fbf7; display: grid; place-items: center; font-size: 13px; font-weight: 700;}
.wf-home .point h3{margin: 0 0 4px; font-size: 17px;}
.wf-home .point p{margin: 0; color: var(--muted); font-size: 15px;}
.wf-home .contact{background: var(--ink); color: white; position: relative; overflow: hidden;}
.wf-home .contact::before{content: ""; position: absolute; width: 500px; height: 500px; border-radius: 50%; border: 1px solid rgba(143,245,228,.18); right: -160px; top: -190px;}
.wf-home .contact h2{max-width: 800px;}
.wf-home .contact p{color: #aeb8bb; max-width: 610px;}
.wf-home .contact .btn-primary{background: var(--mint); color: #0c1515;}
.wf-home .contact .btn-primary{background:var(--mint);color:#0c1515}

@media (max-width:850px){
  .wf-home .hero-content,.wf-home .split{grid-template-columns:1fr}
  .wf-home .visual{min-height:300px}
  .wf-home .grid{grid-template-columns:1fr}
  .wf-home section{padding:80px 20px}
  .wf-home .hero{padding:48px 20px 60px}
}


/* =====================================================================
   Elementor (wersja darmowa): ozdobniki strony głównej jako klasy wfe-*
   Klasy są dodane w Elementor -> Zaawansowane -> Klasy CSS.
   Treść, kolory, rozmiary i odstępy edytujesz normalnie w Elementorze;
   tutaj są tylko rzeczy, których Elementor Free nie potrafi (gradienty,
   pseudo-elementy, hover).
   ===================================================================== */
.wf-accent{color:#4acdb9}
.wfe-inner{width:100%;max-width:1160px;margin-left:auto;margin-right:auto}

/* Hero */
.wfe-hero{
  position:relative;overflow:hidden;
  min-height:calc(100vh - var(--wf-header-h));
  background:radial-gradient(circle at 72% 35%,rgba(143,245,228,.27),transparent 28%),linear-gradient(180deg,#fff 0%,#f9fcfb 100%);
}
.wfe-hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid rgba(62,216,194,.16);right:-180px;top:90px;pointer-events:none}
.wfe-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:9px;letter-spacing:.16em;text-transform:uppercase}
.wfe-eyebrow .elementor-heading-title::before{content:"";width:28px;height:1px;background:var(--mint-strong)}
.wfe-h1 .elementor-heading-title{letter-spacing:-.055em;max-width:760px}
.wfe-hero-copy{max-width:650px}
.wfe-orb{
  aspect-ratio:1;border-radius:50%;position:relative;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),transparent 17%),radial-gradient(circle at 60% 60%,rgba(143,245,228,.9),transparent 43%),linear-gradient(135deg,#fff,#dffcf7);
  box-shadow:inset -25px -25px 70px rgba(62,216,194,.15),0 35px 90px rgba(62,216,194,.14);
  border:1px solid rgba(62,216,194,.25);
}
.wfe-orb::after{content:"AUTOMATION";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);font-size:12px;letter-spacing:.38em;color:rgba(17,19,24,.43)}

/* Wspólne dla sekcji */
.wfe-kicker .elementor-heading-title{letter-spacing:.18em;text-transform:uppercase}
.wfe-h2 .elementor-heading-title{letter-spacing:-.04em}
.wfe-intro{max-width:680px}

/* Karty usług */
.wfe-card{transition:transform .25s,box-shadow .25s}
.wfe-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(17,19,24,.08)}
.wfe-number .elementor-heading-title{letter-spacing:.15em}

/* Podejście */
.wfe-manifesto .elementor-heading-title{letter-spacing:-.035em}
.wfe-manifesto strong{font-weight:700}
.wfe-badge{width:34px!important;height:34px;flex:none;border-radius:50%;background:#e7fbf7;display:grid!important;place-items:center}
.wfe-badge .elementor-heading-title{letter-spacing:0}
.wfe-point-text{flex:1 1 0;min-width:0}

/* Kontakt */
.wfe-contact{position:relative;overflow:hidden}
.wfe-contact::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(143,245,228,.18);right:-160px;top:-190px;pointer-events:none}
.wfe-contact-h2{max-width:800px}
.wfe-contact-copy{max-width:610px}
.wfe-btn .elementor-button{transition:transform .2s,box-shadow .2s}
.wfe-btn .elementor-button:hover{transform:translateY(-2px)}

@media (max-width:850px){
  .wfe-hero{min-height:0}
  .wfe-orb{max-width:80vw}
}

/* ---------- Okienko wyboru poczty (Gmail / Outlook / aplikacja) ---------- */
.wf-mail{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(17,19,24,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.wf-mail[hidden]{display:none}
.wf-mail-box{position:relative;width:min(420px,100%);background:#fff;border-radius:24px;padding:34px 30px 28px;box-shadow:0 30px 90px rgba(17,19,24,.25)}
.wf-mail-box h2{margin:0 0 6px;font-size:26px;line-height:1.1;letter-spacing:-.03em}
.wf-mail-box p{margin:0 0 20px;color:var(--muted);font-size:15px}
.wf-mail-opt{display:flex;align-items:center;justify-content:center;margin-bottom:10px;padding:13px 20px;border-radius:999px;border:1px solid var(--line);font-weight:600;transition:transform .2s,background .2s}
.wf-mail-opt:hover{transform:translateY(-2px);background:var(--mint);border-color:var(--mint)}
.wf-mail-copy{display:block;width:100%;margin-top:6px;padding:8px;border:0;background:none;color:var(--muted);font-size:13px;cursor:pointer}
.wf-mail-copy:hover{color:var(--ink)}
.wf-mail-close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:28px;line-height:1;color:var(--muted);cursor:pointer}
.wf-mail-open{overflow:hidden}
