/* Travel Survey Pro - frontend */
.kma-ts-wrapper{max-width:680px;margin:0 auto;padding:8px 0}
.kma-ts-logo{text-align:center;margin-bottom:30px}
.kma-ts-logo img{max-height:40px;width:auto}
.kma-ts-steps{margin:8px 0}
.kma-ts-step{margin:8px 0 6px}
.kma-ts-step[hidden]{display:none!important}
.kma-ts-progress{height:8px;background:var(--tsp-progress-track);border-radius:999px;margin-top:30px;overflow:hidden}
.kma-ts-progress-bar{height:100%;background:var(--tsp-primary);width:0%;transition:width .25s ease}
.kma-ts-question{text-align: center;
                margin: 8px 0 14px;
                line-height: 1.2;
                font-weight: 700;
                font-size: clamp(1.6rem, 2.5vw + 1rem, 2.4rem);}
.kma-ts-stars{display:flex;justify-content:center;gap:6px;margin:8px 0}
.kma-ts-star{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.kma-ts-star input{display:none}
.kma-ts-star span{font-size: 44px;
                cursor: pointer;
                line-height: 1;
                color: transparent;
                -webkit-text-stroke: 2px var(--tsp-primary);
                text-stroke: 2px var(--tsp-primary);
                transition: transform .12s ease;
                outline: none;}
.kma-ts-star span.is-on{color:var(--tsp-primary)}
.kma-ts-nav{text-align:center;margin-top:10px}
.kma-ts-nav .button{min-width:110px;border-radius: 100px;
    background: var(--tsp-primary);}
.kma-ts-visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}
.kma-ts-star:focus-visible{outline:2px solid #111;outline-offset:2px;border-radius:6px}

.kma-ts-nav .button[disabled], .kma-ts-nav .button[aria-disabled='true']{opacity:.4;cursor:not-allowed; }
.kma-ts-next {
    border-radius: 100px;
    background: var(--tsp-primary);
}
.kma-ts-nav .button:hover {
    background: var(--tsp-primary-hover);
}

/* feedback */

.form-row { display:flex; gap:10px; text-align:left; }
.form-grid { background:#f7f7f7; padding:15px; border-radius:10px; }
.form-grid input, .form-grid textarea { background:#fff !important; }

.tsp-disclaimer {
    color: #666;
}
