#ks-calculator-root {
margin: 2rem 0;
border: 1px solid #e8e4e0;
border-radius: 12px;
padding: 1.5rem;
background: #fff;
font-family: inherit;
box-sizing: border-box;
}
.ks-title {
font-size: 15px;
font-weight: 600;
color: #1a1a1a;
margin: 0 0 1.25rem;
display: flex;
align-items: center;
gap: 8px;
}
.ks-title::before {
content: '';
display: inline-block;
width: 4px;
height: 18px;
background: #7F77DD;
border-radius: 2px;
}
.ks-step-label {
font-size: 10px;
font-weight: 600;
color: #999;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 .5rem;
}
.ks-section {
margin-bottom: 1.1rem;
} .ks-cat-tabs {
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.ks-cat-btn {
padding: 7px 14px;
border: 1px solid #ddd;
border-radius: 20px;
background: transparent;
font-size: 13px;
color: #666;
cursor: pointer;
transition: all .15s;
font-family: inherit;
}
.ks-cat-btn:hover { border-color: #7F77DD; color: #7F77DD; }
.ks-cat-btn.active { background: #EEEDFE; border-color: #7F77DD; color: #26215C; font-weight: 600; } .ks-items-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 6px;
}
@media (max-width: 480px) {
.ks-items-grid { grid-template-columns: repeat(2, 1fr); }
}
.ks-item-btn {
padding: 9px 8px;
border: 1px solid #ddd;
border-radius: 10px;
background: transparent;
cursor: pointer;
text-align: center;
transition: all .15s;
font-family: inherit;
}
.ks-item-btn:hover { border-color: #7F77DD; }
.ks-item-btn.active { background: #EEEDFE; border-color: #7F77DD; }
.ks-item-name {
font-size: 12px;
font-weight: 600;
color: #1a1a1a;
display: block;
line-height: 1.3;
}
.ks-item-desc {
font-size: 10px;
color: #aaa;
display: block;
margin-top: 2px;
}
.ks-item-btn.active .ks-item-name { color: #26215C; }
.ks-item-btn.active .ks-item-desc { color: #7F77DD; } .ks-seg {
display: flex;
gap: 5px;
flex-wrap: wrap;
}
.ks-seg-btn {
padding: 7px 13px;
border: 1px solid #ddd;
border-radius: 8px;
background: transparent;
font-size: 13px;
color: #666;
cursor: pointer;
transition: all .15s;
font-family: inherit;
}
.ks-seg-btn:hover { border-color: #7F77DD; }
.ks-seg-btn.active { background: #EEEDFE; border-color: #7F77DD; color: #26215C; font-weight: 600; } .ks-ply-row {
display: flex;
gap: 5px;
flex-wrap: wrap;
}
.ks-ply-btn {
flex: 1;
min-width: 70px;
padding: 8px 4px;
border: 1px solid #ddd;
border-radius: 8px;
background: transparent;
cursor: pointer;
text-align: center;
transition: all .15s;
font-family: inherit;
}
.ks-ply-btn:hover { border-color: #7F77DD; }
.ks-ply-btn.active { background: #EEEDFE; border-color: #7F77DD; }
.ks-ply-n {
font-size: 14px;
font-weight: 600;
color: #1a1a1a;
display: block;
}
.ks-ply-m {
font-size: 10px;
color: #aaa;
display: block;
margin-top: 2px;
}
.ks-ply-btn.active .ks-ply-n { color: #26215C; }
.ks-ply-btn.active .ks-ply-m { color: #7F77DD; } .ks-divider {
border: none;
border-top: 1px solid #f0ede8;
margin: 1.1rem 0;
} .ks-res-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 8px;
margin-bottom: .8rem;
}
@media (max-width: 400px) {
.ks-res-grid { grid-template-columns: 1fr 1fr; }
}
.ks-rc {
background: #f8f6f3;
border-radius: 8px;
padding: .65rem .9rem;
}
.ks-rc-main {
background: #EEEDFE;
border-radius: 8px;
padding: .65rem .9rem;
}
.ks-rl {
font-size: 10px;
color: #aaa;
text-transform: uppercase;
letter-spacing: .05em;
margin: 0 0 3px;
}
.ks-rv {
font-size: 17px;
font-weight: 700;
color: #1a1a1a;
margin: 0;
line-height: 1.2;
}
.ks-ru {
font-size: 10px;
color: #aaa;
margin: 1px 0 0;
}
.ks-rl-m { font-size: 10px; color: #534AB7; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 3px; }
.ks-rv-m { font-size: 20px; font-weight: 700; color: #26215C; margin: 0; line-height: 1.2; }
.ks-ru-m { font-size: 10px; color: #534AB7; margin: 1px 0 0; } .ks-tip {
font-size: 12px;
color: #888;
line-height: 1.6;
margin-bottom: .8rem;
padding: .6rem .9rem;
background: #faf9f7;
border-radius: 8px;
border-left: 3px solid #7F77DD;
} .ks-price-row {
display: flex;
align-items: center;
justify-content: space-between;
background: #EAF3DE;
border-radius: 10px;
padding: .65rem 1.1rem;
}
.ks-pl { font-size: 13px; color: #3B6D11; }
.ks-pv { font-size: 18px; font-weight: 700; color: #27500A; } .ks-disabled {
opacity: .35;
pointer-events: none;
}