.tkp-app{
  --tkp-text:var(--tkp-primary,#1f1f1f);
  --tkp-red:var(--tkp-accent,#e30613);
  --tkp-red-dark:#bd0010;
  --tkp-muted:#6a6a6a;
  --tkp-bg:#f7f7f7;
  --tkp-border:#e7e7e7;
  font-family:var(--tkp-body-font, inherit);
  color:var(--tkp-text);
  position:relative;
  padding-bottom:110px
}
.tkp-app *{box-sizing:border-box}
.tkp-app h1,.tkp-app h2,.tkp-app h3,.tkp-app h4,.tkp-app h5,.tkp-app h6,.tkp-app .tkp-total strong,.tkp-app .tkp-next,.tkp-app .tkp-back{font-family:var(--tkp-heading-font, inherit)}
.tkp-progress{display:flex;justify-content:center;gap:8px;margin:0 auto 28px;max-width:900px;padding:12px 20px}
.tkp-progress button{appearance:none;border:0;background:transparent;color:#858585;font-weight:800;display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer}
.tkp-progress span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#ececec;color:#555}
.tkp-progress .is-active{color:var(--tkp-text)}
.tkp-progress .is-active span,.tkp-progress .is-done span{background:var(--tkp-red);color:#fff}
.tkp-step{display:none}
.tkp-step.is-active{display:block;animation:tkpFade .25s ease}
.tkp-hero{background:var(--tkp-red);color:#fff;text-align:center;padding:58px 20px 192px;position:relative;overflow:hidden}
.tkp-hero:after{content:"";position:absolute;inset:auto -10% -120px;width:120%;height:180px;background:rgba(255,255,255,.06);transform:rotate(-2deg)}
.tkp-hero h2{color:#fff;font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-.035em;line-height:1.05;margin:0 0 14px;position:relative;z-index:1}
.tkp-hero p{margin:0 auto;max-width:760px;color:#fff;opacity:.92;font-size:17px;position:relative;z-index:1}
.tkp-config-area{max-width:1400px;margin:-145px auto 0;padding:0 24px;position:relative;z-index:2}
.tkp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:24px;align-items:start}
.tkp-card{background:#fff;border:1px solid var(--tkp-border);border-radius:18px;box-shadow:0 14px 38px rgba(0,0,0,.10);min-height:290px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.tkp-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.14);border-color:#d9d9d9}
.tkp-card header{display:flex;justify-content:space-between;align-items:center;padding:25px 22px 13px}
.tkp-card h3{font-size:27px;line-height:1.1;margin:0;color:var(--tkp-text);font-weight:900;letter-spacing:-.02em}
.tkp-info{width:31px;height:31px;border:2px solid var(--tkp-text);border-radius:50%;background:#fff;color:var(--tkp-text);font-weight:900;font-size:18px;cursor:pointer;transition:.2s ease}
.tkp-info:hover{background:var(--tkp-text);color:#fff}
.tkp-choice{display:grid;grid-template-columns:22px 1fr auto;gap:11px;align-items:center;padding:14px 22px;cursor:pointer;border-top:1px solid transparent;transition:background .18s ease,color .18s ease}
.tkp-choice:hover{background:#fafafa}
.tkp-choice:has(input:checked){background:#fff5f5}
.tkp-choice input{position:absolute;opacity:0}
.tkp-radio{width:20px;height:20px;border:2px solid #252525;border-radius:50%;display:block;background:#fff;transition:.18s ease}
.tkp-choice input:checked+.tkp-radio{border:6px solid var(--tkp-red)}
.tkp-choice-label{font-size:17px;color:var(--tkp-text)}
.tkp-price{font-size:17px;font-weight:800;color:var(--tkp-text);white-space:nowrap}
.tkp-form-shell{max-width:1040px;margin:0 auto;padding:42px;background:#fff;border:1px solid var(--tkp-border);border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.08)}
.tkp-form-shell h2{font-size:36px;line-height:1.1;font-weight:900;letter-spacing:-.025em;color:var(--tkp-text);margin-top:0;margin-bottom:28px}
.tkp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tkp-form-grid label>span{display:block;font-weight:800;margin-bottom:7px;color:var(--tkp-text)}
.tkp-form-grid input,.tkp-form-grid select,.tkp-form-grid textarea{width:100%;border:1px solid #d6d6d6;border-radius:10px;padding:14px 15px;font:inherit;background:#fff;color:var(--tkp-text);outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.tkp-form-grid input:focus,.tkp-form-grid select:focus,.tkp-form-grid textarea:focus{border-color:var(--tkp-red);box-shadow:0 0 0 3px rgba(227,6,19,.12)}
.tkp-wide{grid-column:1/-1}
.tkp-bottom-bar{position:sticky;bottom:20px;z-index:50;width:max-content;max-width:calc(100% - 30px);margin:58px auto 0;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #ededed;border-radius:999px;padding:6px;box-shadow:0 12px 34px rgba(0,0,0,.20)}
.tkp-total{padding:5px 22px;min-width:180px;color:var(--tkp-text)}
.tkp-total strong{display:block;font-size:29px;line-height:1;font-weight:900}
.tkp-total strong small{font-size:14px;font-weight:600}
.tkp-total>span{font-size:14px;color:var(--tkp-muted)}
.tkp-next,.tkp-back{border:0;border-radius:999px;padding:18px 35px;font-weight:900;font-size:16px;cursor:pointer;transition:transform .18s ease,background .18s ease,opacity .18s ease}
.tkp-next{background:var(--tkp-red);color:#fff}
.tkp-next:hover{background:var(--tkp-red-dark);transform:translateY(-1px)}
.tkp-back{background:#f0f0f0;color:var(--tkp-text)}
.tkp-back:hover{background:#e4e4e4}
.tkp-next:disabled{opacity:.55;cursor:not-allowed;transform:none}
.tkp-review-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:35px}
.tkp-review-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--tkp-border)}
.tkp-review-list strong{color:var(--tkp-text)}
.tkp-review-list small{display:block;color:var(--tkp-muted)}
.tkp-review-total{margin-top:30px;padding:24px;background:#fff3f4;border-left:5px solid var(--tkp-red);border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:4px}
.tkp-review-total strong{font-size:24px;color:var(--tkp-text)}
.tkp-review-total small{text-align:right;grid-column:2;color:var(--tkp-muted)}
.tkp-consents{margin-top:28px;display:grid;gap:12px;color:var(--tkp-text)}
.tkp-consents a{color:var(--tkp-red);font-weight:700}
.tkp-message{max-width:1040px;margin:25px auto}
.tkp-error{background:#fff0f0;border:1px solid #eba6aa;border-radius:10px;padding:14px 18px;color:#8f1018}
.tkp-success{text-align:center;padding:70px 25px;background:#fff;border:1px solid #dce6df;border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.08)}
.tkp-success>span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--tkp-red);color:#fff;font-size:36px;margin:0 auto 20px}
.tkp-tooltip{position:absolute;z-index:80;width:270px;background:#171717;color:#fff;padding:15px;border-radius:10px;font-size:14px;box-shadow:0 10px 28px rgba(0,0,0,.28)}
@keyframes tkpFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:800px){
  .tkp-progress{overflow:auto;justify-content:flex-start;padding-inline:12px}
  .tkp-progress button{font-size:0;padding-inline:8px}
  .tkp-progress span{font-size:13px}
  .tkp-hero{padding:42px 18px 88px}
  .tkp-config-area{margin:-48px auto 0;padding:0 15px}
  .tkp-cards{grid-template-columns:1fr;gap:16px}
  .tkp-card{min-height:0;border-radius:15px}
  .tkp-card:hover{transform:none}
  .tkp-form-shell{padding:27px 18px;border-radius:15px}
  .tkp-form-shell h2{font-size:29px}
  .tkp-form-grid,.tkp-review-grid{grid-template-columns:1fr}
  .tkp-wide{grid-column:auto}
  .tkp-bottom-bar{bottom:8px;width:calc(100% - 16px);border-radius:20px;flex-wrap:wrap;padding:6px}
  .tkp-total{flex:1;min-width:130px;padding-inline:14px}
  .tkp-next,.tkp-back{padding:15px 20px}
  .tkp-app{padding-bottom:90px}
}
