/* ================================================================
   KZ_BIA_PREMIUM_VISUAL_V30
   VISUAL ONLY
   No engine / formula / semantic ID changes
   ================================================================ */

.kz-bia-page{
  --kz-ink:#20251d;
  --kz-deep:#143b3a;
  --kz-deep-2:#0b2928;
  --kz-green:#b1c627;
  --kz-green-soft:#eaf0b8;
  --kz-cream:#f6f6f0;
  --kz-line:#e4e7da;
  --kz-muted:#6f766b;

  width:100% !important;
  max-width:1240px !important;
  margin:0 auto 80px !important;
  padding:28px 18px 70px !important;
  color:var(--kz-ink);
}


/* ================================================================
   HERO
   ================================================================ */

.kz-bia-hero{
  position:relative !important;
  min-height:360px;
  margin-bottom:28px !important;
  padding:62px 58px !important;
  overflow:hidden !important;

  display:flex;
  flex-direction:column;
  justify-content:center;

  border:0 !important;
  border-radius:34px !important;

  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(177,198,39,.34),
      transparent 25%
    ),
    radial-gradient(
      circle at 15% 115%,
      rgba(177,198,39,.18),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      #143b3a 0%,
      #0b2827 54%,
      #1a504b 100%
    ) !important;

  color:#fff !important;

  box-shadow:
    0 28px 70px rgba(20,59,58,.20) !important;
}

.kz-bia-hero::before{
  content:"KETOZONA · BODY COMPOSITION";
  position:absolute;
  top:30px;
  right:34px;

  color:rgba(255,255,255,.50);

  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}

.kz-bia-hero::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-125px;

  width:460px;
  height:300px;

  border:
    1px solid rgba(255,255,255,.15);

  border-radius:50%;
  transform:rotate(-17deg);

  pointer-events:none;
}

.kz-bia-kicker{
  position:relative;
  z-index:2;

  width:max-content;

  margin:0 0 18px !important;
  padding:8px 14px !important;

  border:
    1px solid rgba(177,198,39,.48);

  border-radius:999px !important;

  background:
    rgba(177,198,39,.12) !important;

  color:#dce878 !important;

  font-size:10px !important;
  line-height:1 !important;

  font-weight:900 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase;
}

.kz-bia-hero h1{
  position:relative;
  z-index:2;

  max-width:780px;

  margin:0 0 17px !important;

  color:#fff !important;

  font-size:
    clamp(38px,5vw,66px) !important;

  line-height:.97 !important;
  letter-spacing:-.045em !important;
  font-weight:800 !important;
}

.kz-bia-hero p{
  position:relative;
  z-index:2;

  max-width:790px;

  margin:0 !important;

  color:rgba(255,255,255,.78) !important;

  font-size:17px !important;
  line-height:1.65 !important;
}


/* ================================================================
   MAIN WORKSPACE
   ================================================================ */

.kz-bia-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr) !important;
  gap:22px !important;
  align-items:start;
}

.kz-bia-panel{
  position:relative;

  border:
    1px solid var(--kz-line) !important;

  border-radius:26px !important;

  background:#fff !important;

  box-shadow:
    0 16px 42px rgba(32,37,29,.07) !important;
}

.kz-bia-form-panel{
  padding:34px 34px 30px !important;
}

.kz-bia-form-panel::before{
  content:"01  ·  DATI E MISURE";
  display:block;

  margin-bottom:12px;

  color:#8b9c13;

  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}

.kz-bia-panel h2{
  margin:0 0 10px !important;

  color:var(--kz-ink) !important;

  font-size:26px !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
  font-weight:800 !important;
}

.kz-bia-note{
  margin:0 0 28px !important;

  padding:14px 16px !important;

  border-left:
    3px solid var(--kz-green);

  border-radius:0 12px 12px 0;

  background:#f8f9f3;

  color:var(--kz-muted) !important;

  font-size:12px !important;
  line-height:1.55 !important;
}


/* ================================================================
   INPUTS
   ================================================================ */

.kz-bia-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:17px 15px !important;
}

.kz-bia-grid label,
.kz-bia-field label{
  display:block;

  margin:0 !important;

  color:#4d544a !important;

  font-size:11px !important;
  line-height:1.25 !important;

  font-weight:800 !important;
  letter-spacing:.025em;
}

.kz-bia-grid input,
.kz-bia-grid select,
.kz-bia-field input{
  width:100% !important;
  height:54px !important;

  margin-top:7px !important;
  padding:0 15px !important;

  border:
    1px solid #dfe3d5 !important;

  border-radius:13px !important;

  outline:none !important;

  background:#fbfbf8 !important;

  color:#21261f !important;

  font-size:14px !important;
  font-weight:700 !important;

  box-shadow:none !important;

  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.kz-bia-grid input:focus,
.kz-bia-grid select:focus,
.kz-bia-field input:focus{
  border-color:
    var(--kz-green) !important;

  background:#fff !important;

  box-shadow:
    0 0 0 4px rgba(177,198,39,.13)
    !important;
}


/* ================================================================
   SYMPTOMS
   ================================================================ */

.kz-symptoms-panel{
  margin-top:27px !important;
  padding:22px !important;

  border:
    1px solid #e7eadb !important;

  border-radius:19px !important;

  background:
    linear-gradient(
      145deg,
      #f7f8f2,
      #fbfbf8
    ) !important;
}

.kz-symptoms-panel h3{
  margin:0 0 5px !important;

  color:#293027 !important;

  font-size:16px !important;
  font-weight:800 !important;
}

.kz-symptoms-panel > p{
  margin:0 0 16px !important;

  color:#757b70 !important;

  font-size:11px !important;
  line-height:1.5 !important;
}

.kz-symptoms-grid{
  display:grid !important;
  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:8px !important;
}

.kz-symptoms-grid label{
  display:flex !important;
  align-items:flex-start;
  gap:9px;

  min-height:45px;

  margin:0 !important;
  padding:10px 11px !important;

  border:
    1px solid #e4e7dc;

  border-radius:11px;

  background:#fff;

  color:#555d51 !important;

  font-size:10.5px !important;
  line-height:1.32 !important;

  cursor:pointer;

  transition:
    border-color .16s ease,
    transform .16s ease,
    box-shadow .16s ease;
}

.kz-symptoms-grid label:hover{
  border-color:
    rgba(177,198,39,.75);

  transform:translateY(-1px);

  box-shadow:
    0 5px 14px rgba(32,37,29,.05);
}

.kz-symptoms-grid input[type="checkbox"]{
  flex:0 0 auto;

  width:15px !important;
  height:15px !important;

  margin:0 !important;

  accent-color:var(--kz-green);
}


/* ================================================================
   CALCULATE CTA
   ================================================================ */

.kz-bia-button{
  position:relative;

  width:100% !important;
  min-height:58px !important;

  margin-top:24px !important;
  padding:15px 56px 15px 22px !important;

  border:0 !important;
  border-radius:15px !important;

  background:
    var(--kz-ink) !important;

  color:#fff !important;

  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.02em;

  box-shadow:
    0 13px 26px rgba(32,37,29,.16) !important;

  cursor:pointer;

  transition:
    transform .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.kz-bia-button::after{
  content:"→";

  position:absolute;
  top:50%;
  right:21px;

  transform:translateY(-52%);

  color:var(--kz-green);

  font-size:25px;
  line-height:1;
}

.kz-bia-button:hover{
  transform:translateY(-2px);

  background:#30372c !important;

  box-shadow:
    0 16px 30px rgba(32,37,29,.22)
    !important;
}


/* ================================================================
   BODY PROFILE PANEL
   ================================================================ */

.kz-bia-preview-panel{
  position:sticky;
  top:20px;

  padding:31px 27px !important;

  overflow:hidden;

  border-color:
    rgba(255,255,255,.06) !important;

  background:
    radial-gradient(
      circle at 50% 35%,
      rgba(177,198,39,.15),
      transparent 36%
    ),
    linear-gradient(
      165deg,
      #183e3c,
      #0c2928
    ) !important;

  color:#fff !important;
}

.kz-bia-preview-panel::before{
  content:"02  ·  PROFILO CORPOREO";
  display:block;

  margin-bottom:18px;

  color:#c9d957;

  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}

.kz-bia-preview-panel h2{
  margin-top:24px !important;

  color:#fff !important;

  text-align:center;
}

.kz-bia-helper{
  margin-bottom:18px !important;
  padding:13px 14px !important;

  border:
    1px solid rgba(177,198,39,.25);

  border-radius:12px !important;

  background:
    rgba(255,255,255,.055) !important;

  color:
    rgba(255,255,255,.73) !important;

  font-size:10.5px !important;
  line-height:1.5 !important;
}

.kz-bia-preview-panel .kz-bia-field{
  margin-bottom:12px;
}

.kz-bia-preview-panel .kz-bia-field label{
  color:
    rgba(255,255,255,.72) !important;
}

.kz-bia-preview-panel .kz-bia-field small{
  display:block;

  margin-top:5px;

  color:
    rgba(255,255,255,.46) !important;

  font-size:9px !important;
  line-height:1.35 !important;
}

.kz-bia-preview-panel .kz-bia-field input{
  border-color:
    rgba(255,255,255,.13) !important;

  background:
    rgba(255,255,255,.08) !important;

  color:#fff !important;
}

.kz-bia-preview-panel
.kz-bia-field input::placeholder{
  color:
    rgba(255,255,255,.38) !important;
}


/* ================================================================
   BODY SILHOUETTE
   ================================================================ */

.kz-body-preview{
  position:relative;

  width:190px !important;
  height:285px !important;

  margin:20px auto 17px !important;

  border:
    1px solid rgba(255,255,255,.08);

  border-radius:100px !important;

  background:
    linear-gradient(
      90deg,
      transparent 49.6%,
      rgba(255,255,255,.07) 50%,
      transparent 50.4%
    ),
    radial-gradient(
      circle at 50% 42%,
      rgba(177,198,39,.13),
      transparent 55%
    ) !important;

  box-shadow:
    inset 0 0 45px rgba(0,0,0,.16);
}

.kz-body-head,
.kz-body-shoulders,
.kz-body-torso,
.kz-body-hips,
.kz-body-legs{
  background:
    linear-gradient(
      135deg,
      #cfdf55,
      #9fb317
    ) !important;

  box-shadow:
    0 4px 20px rgba(177,198,39,.16);
}

.kz-bia-preview-text{
  max-width:280px;

  margin:0 auto !important;

  color:
    rgba(255,255,255,.55) !important;

  text-align:center;

  font-size:10px !important;
  line-height:1.5 !important;
}


/* ================================================================
   REPORT
   ================================================================ */

.kz-bia-report{
  position:relative;

  margin-top:28px !important;
  padding:36px !important;

  border:
    1px solid var(--kz-line) !important;

  border-radius:29px !important;

  background:
    linear-gradient(
      180deg,
      #fafbf6,
      #f4f5ee
    ) !important;

  box-shadow:
    0 22px 55px rgba(32,37,29,.10)
    !important;
}

.kz-bia-report::before{
  content:"03  ·  IL TUO REPORT";
  display:block;

  margin-bottom:18px;

  color:#879811;

  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}

.kz-print-brand{
  padding-bottom:18px !important;
  margin-bottom:21px !important;

  border-bottom:
    1px solid #e3e6d9 !important;
}

.kz-report-header{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:20px !important;

  margin-bottom:23px !important;
}

.kz-report-header h2{
  margin:4px 0 0 !important;

  color:var(--kz-ink) !important;

  font-size:34px !important;
  letter-spacing:-.035em !important;
}

.kz-bia-print{
  border:
    1px solid #daddd2 !important;

  border-radius:999px !important;

  background:#fff !important;

  color:#4c5349 !important;

  font-size:10px !important;
  font-weight:800 !important;
}


/* ================================================================
   METRICS
   ================================================================ */

.kz-report-grid{
  display:grid !important;
  grid-template-columns:
    repeat(4,minmax(0,1fr)) !important;

  gap:12px !important;

  margin-bottom:17px !important;
}

.kz-report-card{
  min-height:158px;

  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;

  padding:21px !important;

  border:
    1px solid #e0e3d7 !important;

  border-radius:19px !important;

  background:#fff !important;

  box-shadow:none !important;
}

.kz-report-card > span{
  margin-bottom:auto;

  color:#838a7e !important;

  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.kz-report-card strong{
  margin:15px 0 6px !important;

  color:#242a22 !important;

  font-size:31px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:-.035em;
}

.kz-report-card small{
  color:#7b8177 !important;

  font-size:9.5px !important;
  line-height:1.35 !important;
}


/* massa grassa = protagonista */

.kz-report-card:nth-child(2){
  border-color:
    var(--kz-deep) !important;

  background:
    radial-gradient(
      circle at 80% 15%,
      rgba(177,198,39,.25),
      transparent 31%
    ),
    linear-gradient(
      145deg,
      var(--kz-deep),
      var(--kz-deep-2)
    ) !important;

  box-shadow:
    0 13px 28px rgba(20,59,58,.16)
    !important;
}

.kz-report-card:nth-child(2) > span{
  color:#c8d758 !important;
}

.kz-report-card:nth-child(2) strong{
  color:#fff !important;

  font-size:40px !important;
}

.kz-report-card:nth-child(2) small{
  color:
    rgba(255,255,255,.58) !important;
}


/* ================================================================
   INTERPRETATION
   ================================================================ */

.kz-report-two{
  display:grid !important;
  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:12px !important;

  margin:0 0 15px !important;
}

.kz-report-section{
  padding:23px !important;

  border:
    1px solid #e0e3d7 !important;

  border-radius:18px !important;

  background:#fff !important;
}

.kz-report-section h3{
  margin:0 0 11px !important;

  color:#282e25 !important;

  font-size:15px !important;
  font-weight:850 !important;
}

.kz-report-section p,
.kz-report-section li{
  color:#666d62 !important;

  font-size:11px !important;
  line-height:1.62 !important;
}


/* ================================================================
   KETOZONA SOLUTION
   ================================================================ */

.kz-solution-box{
  margin-top:14px !important;
  padding:27px !important;

  border:0 !important;
  border-radius:21px !important;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(177,198,39,.22),
      transparent 27%
    ),
    linear-gradient(
      145deg,
      #20251d,
      #131812
    ) !important;

  color:#fff !important;

  box-shadow:
    0 18px 40px rgba(32,37,29,.18)
    !important;
}

.kz-solution-label{
  color:#c7d653 !important;

  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.kz-solution-box h3,
.kz-solution-box h4,
.kz-solution-box p{
  color:#fff !important;
}

.kz-solution-top{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:20px !important;
}

.kz-solution-top h3{
  margin:6px 0 0 !important;

  font-size:25px !important;
  line-height:1.1 !important;
  letter-spacing:-.025em !important;
}

.kz-solution-level{
  min-width:82px;

  padding:11px 14px !important;

  border:
    1px solid rgba(177,198,39,.35);

  border-radius:13px !important;

  background:
    rgba(177,198,39,.10) !important;

  text-align:center;
}

.kz-solution-level span{
  display:block;

  color:
    rgba(255,255,255,.55) !important;

  font-size:8px !important;
  text-transform:uppercase;
}

.kz-solution-level strong{
  color:#cfe05d !important;

  font-size:20px !important;
}

.kz-solution-grid{
  display:grid !important;
  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:12px !important;

  margin-top:20px !important;
}

.kz-solution-grid > div{
  padding:17px !important;

  border:
    1px solid rgba(255,255,255,.09);

  border-radius:14px;

  background:
    rgba(255,255,255,.045);
}

.kz-solution-grid h4{
  margin:0 0 6px !important;

  color:#c7d653 !important;

  font-size:10px !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.kz-solution-grid p{
  margin:0 !important;

  color:
    rgba(255,255,255,.71) !important;

  font-size:10.5px !important;
  line-height:1.55 !important;
}

.kz-solution-cta{
  margin-top:18px !important;
  padding:15px 18px !important;

  border-radius:13px !important;

  background:
    var(--kz-green) !important;

  color:#1e241a !important;
}

.kz-solution-cta strong{
  color:#1e241a !important;

  font-size:11px !important;
  font-weight:900 !important;
}


/* ================================================================
   REPORT FOOTER
   ================================================================ */

.kz-report-footer{
  margin-top:15px !important;
  padding:14px 17px !important;

  border-radius:13px !important;

  background:
    rgba(32,37,29,.045) !important;
}

.kz-report-footer p{
  margin:0 !important;

  color:#858b80 !important;

  font-size:9px !important;
  line-height:1.5 !important;
}


/* ================================================================
   RESPONSIVE
   ================================================================ */

@media(max-width:1000px){

  .kz-bia-layout{
    grid-template-columns:1fr !important;
  }

  .kz-bia-preview-panel{
    position:relative;
    top:auto;
  }

  .kz-report-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }
}


@media(max-width:720px){

  .kz-bia-page{
    padding:
      16px 11px 50px !important;
  }

  .kz-bia-hero{
    min-height:320px;

    padding:
      48px 25px 38px !important;

    border-radius:
      24px !important;
  }

  .kz-bia-hero::before{
    top:20px;
    right:20px;

    font-size:7px;
  }

  .kz-bia-hero h1{
    font-size:
      clamp(36px,12vw,50px) !important;
  }

  .kz-bia-hero p{
    font-size:14px !important;
  }

  .kz-bia-form-panel,
  .kz-bia-preview-panel,
  .kz-bia-report{
    padding:
      24px 18px !important;

    border-radius:
      21px !important;
  }

  .kz-bia-grid,
  .kz-symptoms-grid,
  .kz-report-two,
  .kz-solution-grid{
    grid-template-columns:
      1fr !important;
  }

  .kz-report-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  .kz-report-card{
    min-height:135px;
    padding:17px !important;
  }

  .kz-report-card strong{
    font-size:26px !important;
  }

  .kz-report-card:nth-child(2) strong{
    font-size:33px !important;
  }

  .kz-report-header{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .kz-solution-top{
    flex-direction:column !important;
  }

  .kz-solution-level{
    width:100%;
  }
}


@media(max-width:430px){

  .kz-report-grid{
    grid-template-columns:1fr !important;
  }

  .kz-report-card{
    min-height:118px;
  }

  .kz-body-preview{
    width:165px !important;
    height:260px !important;
  }
}


/* KZ_BIA_PREMIUM_VISUAL_V30_END */
