.krapen-form{
  --gold:#8c701b; --white:#fff; --black:#000; --gray-300:#d4d4d4; --gray-600:#525252; --error:#ef4444; --ring:rgba(140,112,27,.35);
}
.krapen-form *{box-sizing:border-box}
.krapen-form .container{width:min(760px,100%);margin:0 auto;padding:10px}
.krapen-form .card{background:var(--white);border:1px solid var(--gray-300);border-radius:0;padding:28px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.krapen-form h1{font-size:clamp(15px,2.2vw,22px);margin:0 0 6px;color:var(--black)}
.krapen-form p.sub{margin:0 0 18px;color:var(--gray-600)}
.krapen-form label{display:block;font-size:.95rem;margin:12px 0 2px;color:var(--black)}
.krapen-form .req::after{content:" *";color:var(--error)}
.krapen-form input[type="text"], .krapen-form input[type="email"], .krapen-form input[type="tel"], .krapen-form textarea{
  width:100%;padding:12px 14px;border-radius:0;border:1px solid var(--gray-300);background:var(--white);color:var(--black)
}
.krapen-form textarea{min-height:120px;resize:vertical}
.krapen-form .actions{margin-top:20px;display:flex;align-items:center;gap:12px}
.krapen-form button{background:var(--white);color:var(--black);border:1px solid var(--gray-300);padding:10px 16px;border-radius:0;font-weight:600;cursor:pointer}
.krapen-form button:hover{background:var(--gold);color:var(--white)}
.krapen-form .progress{font-size:.9rem;color:var(--gray-600)}
.krapen-form .consent{ font-size:.9rem; color:var(--gray-600); margin-top:10px; }
.krapen-form .thanks{text-align:center;padding:30px 8px 14px}
.krapen-form .thanks .big{font-size:clamp(22px,2.2vw,30px);margin:0 0 6px}
.krapen-form .thanks p{color:var(--gray-600);margin:0}
.krapen-form .thanks .icon{font-size:48px;line-height:1;margin-bottom:12px}


/* Mobile optimizations */
.krapen-form input[type="text"], .krapen-form input[type="email"], .krapen-form input[type="tel"], .krapen-form input[type="number"], .krapen-form textarea, .krapen-form select,
.krapen-basic input, .krapen-basic textarea{
  font-size:16px;
}
.krapen-form button, .krapen-basic button{
  min-height:44px;
}

@media (max-width: 768px){
  .krapen-form .container{padding:12px;}
  .krapen-form .card{padding:18px;}
  .krapen-form h1{font-size:clamp(20px,6vw,28px);}
  .krapen-form p.sub{margin-bottom:14px;}
  .krapen-form .tiles{grid-template-columns:1fr;gap:12px;}
  .krapen-form .tile{aspect-ratio:16/9;}
  .krapen-form .tile span{width:100%;padding:10px 12px;font-size:15px;}
  .krapen-form .actions{flex-direction:column;align-items:stretch;}
  .krapen-form .actions > *{width:100%;}
  .krapen-form button{width:100%;padding:14px 16px;}
  .krapen-form .progress{text-align:center;order:-1;}
  .krapen-form .radios{flex-direction:column;gap:10px;}
  .phone-wrapper{flex-direction:column;gap:10px;}
  .phone-wrapper select{flex:1 1 auto;}

  .krapen-basic{padding:0 12px;}
  .krapen-basic__form{padding:16px;border-radius:14px;}
  .krapen-basic input,.krapen-basic textarea,.krapen-basic button{font-size:16px;}
  .krapen-basic button{width:100%;min-height:46px;}
}

@media (max-width: 420px){
  .krapen-form .container{padding:10px;}
  .krapen-form .card{padding:14px;}
  .krapen-form label{font-size:.92rem;}
  .krapen-form input[type="text"], .krapen-form input[type="email"], .krapen-form input[type="tel"], .krapen-form input[type="number"], .krapen-form textarea, .krapen-form select{
    padding:13px 12px;
  }
  .krapen-form .thanks{padding:22px 4px 10px;}
  .krapen-form .thanks .icon{font-size:40px;}
  .krapen-form .tile{min-height:140px;}

  .krapen-basic__form{padding:14px;}
}
