/* Core Reset & Typography */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family:"Montserrat", sans-serif; }

/* Layout Wrapper */
.ki-kurzanalyse-embed { max-width:1270px; margin:0 auto; padding:50px 10px; }
.fully-embed { padding:0 !important; }
.ki-kurzanalyse-embed.fully-embed .step-section { margin:0 !important; }

/* Steps */
.ki-kurzanalyse-embed .step-section { display:flex; flex-direction:column; gap:36px; align-items:center; width:1209px; border:1px solid #0000004D; border-radius:50px; margin:36px auto 0; padding:36px 0; }
.ki-kurzanalyse-embed .step-1 .top-description { margin:0 0 10px; font-size:14px; }
.note-passcode { font-size: 12px; color: #000000B2; text-align: left; }

.ki-kurzanalyse-embed .step-1 h2.top-title{
  color: #005B99 !important;
}

/* Form blocks (Step 2 & 3) */

.ki-kurzanalyse-embed .step-2 .content, .ki-kurzanalyse-embed .step-3 .content { display:flex; flex-direction:column; gap:20px; max-width:500px; width:100%; }
.ki-kurzanalyse-embed .step-2 .content > p { font-size:14px; display:flex; align-items:center; gap:10px; margin:0; justify-content:center; }
.ki-kurzanalyse-embed .step-2 .content > p img { width:16px; }
.ki-kurzanalyse-embed .step-2 .content input, .ki-kurzanalyse-embed .step-3 .content input { border:1px solid #0000004D; border-radius:15px; padding:15px; font-size: 16px; letter-spacing:0; text-align:center; width:100%; font-family: "Montserrat", sans-serif;}
.ki-kurzanalyse-embed .step-2 .content select { color: #000000B2;; border:1px solid #0000004D; border-radius:15px; padding:15px; font-size:16px; text-align:center; width:100%; font-family:"Montserrat", sans-serif; background:#fff; }
.ki-kurzanalyse-embed .step-2 .content select option{
  color: #000000B2;
}
.ki-kurzanalyse-embed .step-2 p.note{
  text-align: left !important;
  font-size: 14px !important;
  display: block;
}
.ki-kurzanalyse-embed .step-3 ul.features{
  list-style: none;
  display: flex;
  gap: 20px;
  padding: 0px;
}
.ki-kurzanalyse-embed .step-3 ul.features li{
  display: flex;
  align-items: center;
  gap: 8px;
}
.ki-kurzanalyse-embed .step-3 .content .telephone-group { display:flex; width:100%; }
.ki-kurzanalyse-embed .step-3 .content .telephone-group select { border-radius:15px 0 0 15px; font-size:14px; padding:10px; background:#fff; border: 1px solid #0000004D;}
.ki-kurzanalyse-embed .step-3 .content .telephone-group input { border-radius:0 15px 15px 0; flex:1; }

.ki-kurzanalyse-embed .step-3 .content .checkbox-group{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.ki-kurzanalyse-embed .step-3 .content .checkbox-group span{
  font-size: 14px;
  flex: 1;
  font-weight: 500;
}
.ki-kurzanalyse-embed .step-3 .content .checkbox-group input{
  width: 20px;
  height: 20px;
  margin: 0px;
  padding: 0px;
}

/* Last Step */
.ki-kurzanalyse-embed .step-last { border:0; }
.ki-kurzanalyse-embed .step-last .content { display:flex; flex-direction:column; gap:20px; align-items:center; }
.ki-kurzanalyse-embed .step-last .content > h2 { font-size: 45px; margin:0; color:#000; text-align:center; }
.ki-kurzanalyse-embed .step-last .content > div.result-statements{
  max-width: 600px;
}
.ki-kurzanalyse-embed .step-last .content > div.result-statements p{
  margin:0 0 10px; 
  display: flex; 
  flex-direction: row;
  gap: 10px;
  justify-content: center;
}

.ki-kurzanalyse-embed .step-last .content > div.result-statements button{
  width: 100%;
  margin-top: 20px;
}

/* Buttons & Titles */
.ki-kurzanalyse-embed .step-section .buttons { display:flex; gap:30px; }
.ki-kurzanalyse-embed .step-section .btn-submit { background:#005B99; padding:15px; border-radius:15px; font-size:18px; font-weight: 700; color:#fff; border:0; cursor:pointer; flex:1;     display: block;
    text-align: center;
    text-decoration: none;}
.ki-kurzanalyse-embed .step-section button.btn-back { background:#fff; border:1px solid #005B99; color:#005B99; padding:15px 40px; border-radius:15px; font:700 18px/20px inherit; cursor:pointer; }
.ki-kurzanalyse-embed .step-section button.btn-back:hover { background:#005B99; color:#fff; }
.ki-kurzanalyse-embed .step-section h2.top-title { font-size: 24px; margin:0; color:black; text-align:center; }

/* Portfolio list (Step 1) */
.investment-portfolios { display:flex; gap:32px; list-style:none; margin:0; padding:0; position:relative; }
.investment-portfolios li { display:flex; flex-direction:column; gap:32px; align-items:center; height:150px; width:188px; border-radius:25px; justify-content:center; background:#FBFBFB; cursor:pointer; box-shadow:0 4px 12px #00000026; }
.investment-portfolios li:hover { box-shadow:0 .56px 2.66px #00000004,0 1.29px 5.14px #00000007,0 2.32px 7.43px #0000000A,0 3.85px 9.52px #0000000E,0 6.35px 11.45px #00000013,0 11.1px 13.54px #00000019,0 24px 18px #00000024; }
.investment-portfolios li:hover span { font-weight:700; }
.investment-portfolios li img { width:60px; height:60px; }
.investment-portfolios li span{text-align: center;}
.ki-kurzanalyse-embed .note { display:flex; align-items:center; justify-content:center; gap:10px; font:400 14px/140% inherit; }

/* Utilities */
.hidden { display:none !important; }
.group-inputs { display:flex; gap:20px; }

/* Modal */
.modal-warning { display:flex; position:fixed; inset:0; background:#d5d5d5e0; z-index:99999; justify-content:center; align-items:center; }
.modal-warning .content { background:#fff; padding:20px; border-radius:15px; font-size:15px; border:1px solid #ddd; box-shadow:1px 0 9px 3px #ccc; max-width:600px; }
.modal-warning .content p { padding-bottom:10px; margin:0; }
.modal-warning .content hr { background:#ede6e6; height:1px; border:none; margin:10px 0; }
.modal-warning .content .footer { display:flex; justify-content:flex-end; gap:10px; cursor:pointer; }

/* Spinner */
#c-loading-spinner { position:fixed; inset:0; width:100%; height:100%; z-index:999999; display:none; }
#c-loading-spinner .spinner-backdrop { background:rgba(212,212,212,.87); width:100%; height:100%; display:flex; align-content:center; justify-content:center; flex-wrap:wrap; }
#c-loading-spinner .spinner-box { padding:40px; background:#fff; display:flex; flex-direction:column; align-items:center; gap:10px; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,.15); }
#c-loading-spinner .spinner-box p { font:500 14px/1 inherit; margin:0; }
#c-loading-spinner img { animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
label { -webkit-tap-highlight-color:transparent; }

/* Responsive */
@media (max-width:1208px) { .ki-kurzanalyse-embed .step-section { width:auto; } .investment-portfolios li { width:140px; } }
@media (max-width:767px) {
  .ki-kurzanalyse-embed { padding:40px 20px; max-width:100vw; }
  .ki-kurzanalyse-embed .step-section { width:auto; border:0; margin-top:20px; gap:30px; padding:0; }
  .ki-kurzanalyse-embed .step-section h2.top-title { font-size:18px; line-height:28px; }
  .ki-kurzanalyse-embed .step-section .buttons { gap:15px; }
  .investment-portfolios { flex-direction:column; gap:0; padding:0; width:100%; border:1px solid #cacaca; border-radius:12px; }
  .investment-portfolios li { width:100%; height:auto; padding:16px 0; gap:20px; border-radius:0; flex-direction:row; box-shadow:none; background:#fff; border-bottom:1px solid #cacaca; }
  .investment-portfolios li:first-child { border-radius:12px 12px 0 0; }
  .investment-portfolios li:last-child { border-bottom:0; border-radius:0 0 12px 12px; }
  .investment-portfolios li img { width:30px; height:30px; }
  .investment-portfolios li span { width:160px; text-align: left; }
  .ki-kurzanalyse-embed .note { font-size:14px; gap:6px; }
  .ki-kurzanalyse-embed .step-last .content > h2{
    font-size: 24px;
  }
  .ki-kurzanalyse-embed .step-last .content > div.result-statements p{
    justify-content: flex-start;
  }

  .ki-kurzanalyse-embed .step-last .btn-submit{
    margin-top: 30px;
  }

  .ki-kurzanalyse-embed .step-3 ul.features li{
    font-size: 15px;
  }
}