/*
Theme Name: klyro
Theme URI: https://klyro.to/
Author: Novanta9
Description: Tema dark editorial-tech per la landing klyro (analisi visibilita AI nel B2B). Costruito per WPBakery Page Builder con elementi nativi mappati su classi klyro-*.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: klyro
*/

/* ============================================================
   KLYRO — DESIGN TOKENS (da Klyro Design System)
   ============================================================ */
:root {
  /* Brand */
  --lime-300:#e2f29a; --lime-400:#d4ee6e; --lime-500:#c6e948; --lime-600:#aad022; --lime-700:#87a516;
  --ink-900:#1d1d1b; --ink-950:#121211;
  /* Neutral ramp */
  --neutral-0:#ffffff; --neutral-50:#f8f8f6; --neutral-100:#f1f1ee; --neutral-150:#e9e9e4;
  --neutral-200:#deded8; --neutral-300:#c6c6bd; --neutral-400:#a3a399; --neutral-500:#7d7d74;
  --neutral-600:#5c5c55; --neutral-700:#43433e; --neutral-800:#2c2c29; --neutral-900:#1d1d1b;
  /* Semantic */
  --positive-500:#1f9d62; --warning-500:#e0941a; --danger-500:#d8472f; --info-500:#2f6fdb;
  /* Data-viz */
  --viz-you:#1d1d1b; --viz-you-accent:#c6e948; --viz-comp-1:#7d7d74; --viz-comp-2:#a3a399; --viz-comp-3:#c6c6bd; --viz-track:#e9e9e4;
  /* Fonts */
  --font-sans:"Afacad Flux","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-display:"Afacad Flux","Segoe UI",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  /* Radii */
  --radius-sm:6px; --radius-md:10px; --radius-lg:14px; --radius-xl:20px; --radius-pill:999px;
  /* Motion */
  --ease-out:cubic-bezier(0.22,1,0.36,1); --ease-in-out:cubic-bezier(0.65,0,0.35,1);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body.klyro{
  margin:0;background:#000;color:#fff;font-family:var(--font-sans);
  font-weight:400;line-height:1.6;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.klyro a{color:inherit;text-decoration:none;}
::selection{background:var(--lime-500);color:var(--ink-900);}
:focus-visible{outline:2px solid var(--lime-600);outline-offset:2px;}
img{max-width:100%;display:block;}
@keyframes klyroBlink{0%,100%{opacity:.35;}50%{opacity:1;}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* ============================================================
   NEUTRALIZZAZIONE WRAPPER WPBAKERY + SISTEMA SEZIONI
   ============================================================ */
.klyro-page .vc_row{margin:0;}
.klyro-page .wpb_wrapper{line-height:inherit;}
.klyro-page .wpb_content_element,
.klyro-page .wpb_text_column,
.klyro-page .vc_btn3-container{margin-bottom:0;}
.klyro-page .vc_column_container > .vc_column-inner{padding:0;}

/* Ogni sezione = vc_row a tutta larghezza con classe klyro-sec.
   Il contenuto della colonna viene centrato in un contenitore max-width. */
.klyro-sec{position:relative;width:100%;}
.klyro-sec > .vc_column_container,
.klyro-sec > .wpb_column{width:100%;}
.klyro-sec > .vc_column_container > .vc_column-inner,
.klyro-sec > .wpb_column > .vc_column-inner{
  max-width:1180px;margin:0 auto;width:100%;
  padding:clamp(82px,12vh,140px) clamp(20px,4vw,40px);
}
.klyro-sec--black{background:#000;}
.klyro-sec--ink{background:var(--ink-950);border-top:1px solid rgba(255,255,255,0.05);}
.klyro-sec--narrow > .vc_column_container > .vc_column-inner,
.klyro-sec--narrow > .wpb_column > .vc_column-inner{max-width:860px;}
.klyro-sec--center{text-align:center;}
.klyro-sec--center > .vc_column_container > .vc_column-inner,
.klyro-sec--center > .wpb_column > .vc_column-inner{max-width:840px;}

/* Hero: sezione full-bleed (canvas + griglia + report) */
.klyro-hero > .vc_column_container > .vc_column-inner,
.klyro-hero > .wpb_column > .vc_column-inner{max-width:none;padding:0;}
.klyro-hero .wpb_text_column,.klyro-hero .wpb_wrapper{margin:0;}
.klyro-hero-inner{position:relative;}

/* Verbo rotante nell'H1 (transizione nel tema = immune a KSES) */
.klyro-verb{display:inline-block;color:var(--lime-500);transition:opacity .42s var(--ease-out),transform .42s var(--ease-out);will-change:opacity,transform;}

/* ============================================================
   HEADER (chrome del tema)
   ============================================================ */
.klyro-header{
  position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;
  justify-content:space-between;padding:0 clamp(16px,4vw,40px);height:78px;
  border-bottom:1px solid transparent;
  transition:height .35s var(--ease-out),background .35s var(--ease-out),border-color .35s var(--ease-out),backdrop-filter .35s var(--ease-out);
}
.klyro-header__logo img{height:26px;width:auto;display:block;transition:height .35s var(--ease-out);}
.klyro-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  font-family:var(--font-sans);font-weight:600;border:none;border-radius:var(--radius-md);
  background:var(--lime-500);color:var(--ink-900);transition:background .2s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out);
  text-align:center;line-height:1;
}
.klyro-btn:hover{background:var(--lime-400);transform:translateY(-1px);box-shadow:0 6px 20px rgba(198,233,72,0.28);}
.klyro-btn--sm{height:36px;padding:0 16px;font-size:14px;}
.klyro-btn--lg{height:52px;padding:0 26px;font-size:16px;}

/* ============================================================
   ELEMENTI COMUNI (mappati da el_class WPBakery)
   ============================================================ */
.klyro-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;}
.klyro-eyebrow p,.klyro-eyebrow .wpb_wrapper{margin:0;}
.klyro-eyebrow::before{content:"\2039";color:var(--lime-500);font-weight:900;font-size:15px;line-height:1;}
.klyro-eyebrow,.klyro-eyebrow *{
  font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.5);
}

.klyro-page .klyro-h2,
.klyro-page .klyro-h2 h2,
.klyro-page h2.klyro-h2{
  margin:0;font-family:var(--font-display);font-weight:800;letter-spacing:-0.02em;
  line-height:1.1;color:#fff;font-size:clamp(28px,3.8vw,48px);text-wrap:balance;
}

.klyro-lead p,.klyro-lead{margin:26px 0 0;max-width:760px;font-size:clamp(16px,1.2vw,19px);line-height:1.75;color:rgba(255,255,255,0.62);}
.klyro-lead--white p,.klyro-lead--white{color:rgba(255,255,255,0.66);}
.klyro-lead strong{color:#fff;font-weight:500;}
.klyro-note p,.klyro-note{margin:36px 0 0;max-width:760px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.08);font-size:clamp(15px,1.1vw,17px);line-height:1.75;color:rgba(255,255,255,0.55);}

/* spazi verticali tra elementi nativi nella stessa colonna */
.klyro-page .klyro-h2{margin-top:0;}
.klyro-page .klyro-mt{margin-top:44px;}

/* ============================================================
   CARDS "Cosa ti da Klyro"
   ============================================================ */
.klyro-cards{margin:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.klyro-cards > .vc_column_container,.klyro-cards > .wpb_column{width:100%!important;padding:0;float:none;}
.klyro-card > .vc_column-inner{
  height:100%;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;padding:26px!important;
  transition:border-color .25s var(--ease-out),background .25s var(--ease-out);
}
.klyro-card > .vc_column-inner:hover{border-color:rgba(198,233,72,0.35);background:rgba(255,255,255,0.04);}
.klyro-card .wpb_text_column::before{
  content:"\2039";color:var(--lime-500);font-weight:900;font-size:22px;line-height:0;
  display:inline-block;margin-bottom:16px;
}
.klyro-card .wpb_text_column p,.klyro-card p{margin:0;font-size:16.5px;line-height:1.6;color:rgba(255,255,255,0.82);}

/* ============================================================
   PER CHI E / PER CHI NO
   ============================================================ */
.klyro-forwho{margin:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;align-items:stretch;}
.klyro-forwho > .vc_column_container,.klyro-forwho > .wpb_column{width:100%!important;padding:0;float:none;}
.klyro-yes > .vc_column-inner{height:100%;background:rgba(198,233,72,0.04);border:1px solid rgba(198,233,72,0.22);border-radius:16px;padding:clamp(24px,3vw,36px)!important;}
.klyro-no > .vc_column-inner{height:100%;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.07);border-radius:16px;padding:clamp(24px,3vw,36px)!important;filter:grayscale(0.5);opacity:0.72;transition:filter .35s var(--ease-out),opacity .35s var(--ease-out);}
.klyro-no > .vc_column-inner:hover{filter:grayscale(0);opacity:1;}
.klyro-forwho h3{margin:0 0 22px;font-family:var(--font-display);font-weight:800;letter-spacing:-0.01em;font-size:clamp(20px,2vw,26px);color:#fff;}
.klyro-no h3{color:rgba(255,255,255,0.78);}
.klyro-forwho ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.klyro-forwho li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.55;color:rgba(255,255,255,0.84);}
.klyro-yes li::before{content:"\2039";color:var(--lime-500);font-weight:900;line-height:1.5;flex-shrink:0;}
.klyro-no li{color:rgba(255,255,255,0.62);}
.klyro-no li::before{content:"\2014";color:rgba(255,255,255,0.32);line-height:1.5;flex-shrink:0;}
.klyro-no p{margin:18px 0 0;font-size:15px;line-height:1.65;color:rgba(255,255,255,0.55);}
.klyro-no p strong{color:rgba(255,255,255,0.82);font-weight:400;}

/* ============================================================
   SEZIONE ONESTA (watermark ‹)
   ============================================================ */
.klyro-honesty{overflow:hidden;}
.klyro-honesty > .vc_column_container > .vc_column-inner,
.klyro-honesty > .wpb_column > .vc_column-inner{padding-top:clamp(96px,15vh,168px);padding-bottom:clamp(96px,15vh,168px);}
.klyro-honesty::after{content:"\2039";position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-weight:900;font-size:clamp(280px,40vw,560px);line-height:0;color:rgba(198,233,72,0.035);pointer-events:none;user-select:none;z-index:0;}
.klyro-honesty .wpb_wrapper{position:relative;z-index:1;}
.klyro-honesty h2,.klyro-honesty .klyro-h2 h2{font-size:clamp(30px,4.4vw,56px)!important;}
.klyro-honesty .klyro-lead{margin-left:auto;margin-right:auto;max-width:660px;}
.klyro-accent{color:var(--lime-500);}

/* ============================================================
   FORM CTA (CF7 → look del design)
   ============================================================ */
.klyro-cta .klyro-lead{margin-left:auto;margin-right:auto;}
.klyro-form-wrap{margin:34px auto 0;max-width:560px;}
.klyro-form-wrap .wpcf7-form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:flex-start;}
.klyro-form-wrap .wpcf7-form p{margin:0;flex:1;min-width:240px;}
.klyro-form-wrap input[type=email]{
  width:100%;height:52px;border-radius:10px;background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.16);color:#fff;font-size:16px;padding:0 16px;outline:none;
  font-family:var(--font-sans);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out);
}
.klyro-form-wrap input[type=email]::placeholder{color:rgba(255,255,255,0.4);}
.klyro-form-wrap input[type=email]:focus{border-color:var(--lime-500);box-shadow:0 0 0 3px rgba(198,233,72,0.18);}
.klyro-form-wrap input[type=submit]{
  height:52px;padding:0 26px;font-size:16px;font-weight:600;cursor:pointer;border:none;
  border-radius:var(--radius-md);background:var(--lime-500);color:var(--ink-900);
  font-family:var(--font-sans);transition:background .2s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out);
}
.klyro-form-wrap input[type=submit]:hover{background:var(--lime-400);transform:translateY(-1px);box-shadow:0 6px 20px rgba(198,233,72,0.28);}
.klyro-form-wrap .wpcf7-spinner{margin:0;align-self:center;}
.klyro-form-wrap .wpcf7-response-output{flex-basis:100%;margin:6px 0 0!important;border-radius:8px;font-size:14px;color:#fff;text-align:center;}
.klyro-form-wrap .wpcf7-not-valid-tip{color:var(--danger-500);font-size:13px;}
.klyro-disclaimer p,.klyro-disclaimer{margin:14px 0 0;font-size:13px;color:rgba(255,255,255,0.42);text-align:center;}

/* ============================================================
   FAQ ACCORDION (HTML custom dentro vc_column_text)
   ============================================================ */
.klyro-faq-list{margin-top:18px;border-bottom:1px solid rgba(255,255,255,0.09);}
.klyro-faq-item{border-top:1px solid rgba(255,255,255,0.09);}
.klyro-faq-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;cursor:pointer;padding:22px 0;text-align:left;color:#fff;font-family:var(--font-display);font-size:clamp(17px,1.6vw,21px);font-weight:600;transition:color .2s var(--ease-out);}
.klyro-faq-icon{color:var(--lime-500);flex-shrink:0;transition:transform .3s var(--ease-out);}
/* Chevron FAQ disegnato in CSS (niente <svg> → immune a KSES) */
.klyro-faq-btn::after{content:"";flex-shrink:0;width:11px;height:11px;margin:0 4px 5px 0;border-right:2.2px solid var(--lime-500);border-bottom:2.2px solid var(--lime-500);transform:rotate(45deg);transition:transform .3s var(--ease-out);}
.klyro-faq-item[data-open="1"] .klyro-faq-btn::after{transform:rotate(225deg);}
.klyro-faq-panel{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s var(--ease-out),opacity .3s var(--ease-out);}
.klyro-faq-panel p{margin:0 0 24px;font-size:16px;line-height:1.7;color:rgba(255,255,255,0.62);max-width:680px;}

/* ============================================================
   FOOTER (chrome del tema)
   ============================================================ */
.klyro-footer{background:#000;border-top:1px solid rgba(255,255,255,0.08);padding:38px 0;}
.klyro-footer__inner{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;}
.klyro-footer img{height:22px;width:auto;opacity:0.9;}
.klyro-footer span{font-size:13px;color:rgba(255,255,255,0.35);}

/* ============================================================
   REVEAL (animazione scroll) — applicata via classe klyro-reveal
   ============================================================ */
.klyro-reveal{will-change:opacity,transform;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:782px){
  .klyro-header .klyro-btn--sm{display:none;}
}
