.calc-rollup {
    max-width: 850px;
    margin: auto;
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
    font-family: Arial;
	  margin-top: 40px;
    margin-bottom: 60px;
}

.calc-rollup .calc-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.calc-rollup .field {
    flex: 1;
    min-width: 250px;
}

.calc-rollup .field label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
}

.calc-rollup .field select, .calc-rollup .field input {
    width: 100%;
    height: 45px;
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 0 12px;
    font-size: 15px;
}

.calc-rollup .radio {
    display: block;
    margin: 8px 0;
    font-weight: normal!important;
}

.calc-rollup .result {
    margin-top: 20px;
    padding: 20px;
    background: #01519d;
	  color: #e8e8e8;
    border-radius: 10px;
    text-align: center;
}

.calc-rollup #price {
    margin-top: 20px;
    font-size: 32px;
    color: #f9fbfd;
    font-weight: bold;
}

.calc-rollup label.radio {
    border: 2px solid #f4f5f8;
	  background: #f4f5f8;
    border-radius: 5px;
    padding: 20px;
}

label.radio:has(input:checked) {
	  border: 2px solid #01519d;
}

.calc-rollup label.radio input {
/* 	  display: none; */
}
.calc-rollup label.radio input {
    /* display: none; */
    width: 19px;
    height: 19px;
    border: 2px solid #01519d;
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.calc-rollup label.radio {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 10px;
}
label.radio input:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg fill='%23000000' version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24' xml:space='preserve'%3e%3cg id='SVGRepo_bgCarrier' stroke-width='0'%3e%3c/g%3e%3cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3e%3c/g%3e%3cg id='SVGRepo_iconCarrier'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;%7d %3c/style%3e%3cpath d='M19.3,5.3L9,15.6l-4.3-4.3l-1.4,1.4l5,5L9,18.4l0.7-0.7l11-11L19.3,5.3z'%3e%3c/path%3e%3crect class='st0' width='24' height='24'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.calc-rollup .field-flex {
	  display: flex;
	  width: 100%;
    justify-content: space-between;
}

.calc-rollup .field-flex label.radio {
    width: 49%;
}

.preresult {
    margin: auto;
    text-align: center;
    font-size: 16px;
    margin-bottom: -10px;
    color: #939393;
}