/* assets/css/calculator.css */

.sc-mt-24 {
    margin-top: 24px !important;
}

.sc-mt-0 {
    margin-top: 0px !important;
}
.sc-mt-10 {
    margin-top: 10px !important;
}

.sc-calculator-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-size: 14px;
    font-family: Montserrat, sans-serif;
    background: white;
    border-radius: 20px;
}

/* Progress bar */
.sc-progress {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    position: relative;
}

.sc-progress::before {
    display: none;
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0e0e0;
    z-index: 0;
}

.sc-progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    flex: 1;
}

.sc-step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #B2B2B2;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.sc-progress-step.completed .sc-step-number {
    background: #FF6600;
    color: white;
}

.sc-progress-step.active .sc-step-number {
    background: #669EFF;
    color: white;
}


.sc-progress-step.completed .sc-step-number {
    position: relative;
    text-indent: -99999px;
}

.sc-progress-step.completed .sc-step-number:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.1042 11.6042L13.9584 5.75C14.2071 5.5 14.5019 5.375 14.8427 5.375C15.1837 5.375 15.4792 5.5 15.7292 5.75C15.9792 6 16.1042 6.29222 16.1042 6.62667C16.1042 6.96111 15.9819 7.25063 15.7373 7.49521L9.00004 14.2292C8.75129 14.4792 8.4565 14.6042 8.11566 14.6042C7.77469 14.6042 7.4792 14.4792 7.2292 14.2292L4.2917 11.2917C4.0417 11.0417 3.91323 10.75 3.90629 10.4167C3.89934 10.0833 4.02087 9.79167 4.27087 9.54167C4.52087 9.29167 4.81372 9.16667 5.14941 9.16667C5.48497 9.16667 5.77545 9.29167 6.02087 9.54167L8.1042 11.6042Z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}



.sc-progress-step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 20px;
    left: calc(50% + 30px);
    width: calc(100% - 60px);
    height: 2px;
    background: transparent;
    border-top: 1px dashed #669EFF;
    z-index: -1;
}

/* Narancs vonal két completed step között */
.sc-progress-step.completed:not(:last-child)::after {
    border-top-color: #FF6600;
}

/* Ha a következő step még nem completed, marad a kék */
.sc-progress-step.completed:not(:last-child):has(+ .sc-progress-step:not(.completed))::after {
    border-top-color: #669EFF;
}

/* Alternatív megoldás, ha a :has() nem támogatott régebbi böngészőkben */
.sc-progress-step.completed + .sc-progress-step.completed {
    position: relative;
}

.sc-progress-step.completed + .sc-progress-step.completed::before {
    /*content: '';*/
    /*position: absolute;*/
    /*top: 20px;*/
    /*right: calc(50% + 25px);*/
    /*width: calc(100% - 50px);*/
    /*height: 2px;*/
    /*background: transparent;*/
    /*border-top: 2px dashed #FF6600;*/
    /*z-index: -1;*/
}

/*.sc-step-number {*/
/*    width: 40px;*/
/*    height: 40px;*/
/*    border-radius: 50%;*/
/*    background: #B2B2B2;*/
/*}*/


.sc-step-title {
    font-size: 12px;
    color: #666;
    text-align: center;
}

.sc-progress-step.active .sc-step-title {
    color: #2196F3;
    font-weight: bold;
}

/* Form */
.sc-form h3 {
    margin: 0;
    color: #4D4D4D;
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;
}

h3.billing::before,
.sc-step[data-step="1"] h3::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    top: -2px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 11.6912C11.0347 11.6912 10.21 11.3492 9.526 10.6652C8.842 9.98133 8.5 9.15666 8.5 8.19116C8.5 7.22583 8.842 6.40116 9.526 5.71716C10.21 5.03316 11.0347 4.69116 12 4.69116C12.9653 4.69116 13.79 5.03316 14.474 5.71716C15.158 6.40116 15.5 7.22583 15.5 8.19116C15.5 9.15666 15.158 9.98133 14.474 10.6652C13.79 11.3492 12.9653 11.6912 12 11.6912ZM4.5 17.7874V17.0834C4.5 16.5937 4.633 16.1402 4.899 15.7229C5.165 15.3056 5.5205 14.9847 5.9655 14.7604C6.95383 14.2759 7.95092 13.9125 8.95675 13.6702C9.96258 13.4278 10.977 13.3067 12 13.3067C13.023 13.3067 14.0374 13.4278 15.0433 13.6702C16.0491 13.9125 17.0462 14.2759 18.0345 14.7604C18.4795 14.9847 18.835 15.3056 19.101 15.7229C19.367 16.1402 19.5 16.5937 19.5 17.0834V17.7874C19.5 18.2091 19.3523 18.5677 19.0568 18.8634C18.7613 19.1589 18.4026 19.3067 17.9808 19.3067H6.01925C5.59742 19.3067 5.23875 19.1589 4.94325 18.8634C4.64775 18.5677 4.5 18.2091 4.5 17.7874Z' fill='%234D4D4D'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

h3.sender::before,
.sc-step[data-step="2"] h3::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 17px;
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    top: -2px;

    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="17" viewBox="0 0 15 17" fill="none"><path d="M0 14.9423V6.096C0 5.80983 0.0639998 5.53875 0.192 5.28275C0.320166 5.02658 0.497167 4.81567 0.723 4.65L6.4155 0.361501C6.73133 0.120501 7.09233 0 7.4985 0C7.90467 0 8.26667 0.120501 8.5845 0.361501L14.277 4.65C14.5028 4.81567 14.6798 5.02658 14.808 5.28275C14.936 5.53875 15 5.80983 15 6.096V14.9423C15 15.3513 14.8523 15.7035 14.5568 15.999C14.2613 16.2945 13.909 16.4423 13.5 16.4423H10.3077C10.0516 16.4423 9.83692 16.3556 9.66375 16.1823C9.49042 16.0091 9.40375 15.7944 9.40375 15.5383V10.6538C9.40375 10.3978 9.31717 10.1831 9.144 10.0098C8.97083 9.83659 8.75617 9.75 8.5 9.75H6.5C6.24383 9.75 6.02917 9.83659 5.856 10.0098C5.68283 10.1831 5.59625 10.3978 5.59625 10.6538V15.5383C5.59625 15.7944 5.50958 16.0091 5.33625 16.1823C5.16308 16.3556 4.94842 16.4423 4.69225 16.4423H1.5C1.091 16.4423 0.73875 16.2945 0.44325 15.999C0.14775 15.7035 0 15.3513 0 14.9423Z" fill="%234D4D4D"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

h3.package::before,
.sc-step[data-step="3"] h3::before {
    content: "";
    display: inline-block;
    width: 17px;
    height: 19px;
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    top: -2px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='19' viewBox='0 0 17 19'%3E%3Cpath d='M7.59625 18.6578L0.904 14.8057C0.619333 14.6418 0.3975 14.4226 0.2385 14.1483C0.0794998 13.8738 0 13.5724 0 13.2443V5.65975C0 5.33158 0.0794998 5.03025 0.2385 4.75575C0.3975 4.48142 0.619333 4.26225 0.904 4.09825L7.59625 0.246251C7.88075 0.0820842 8.182 0 8.5 0C8.818 0 9.11925 0.0820842 9.40375 0.246251L16.096 4.09825C16.3807 4.26225 16.6025 4.48142 16.7615 4.75575C16.9205 5.03025 17 5.33158 17 5.65975V13.2443C17 13.5724 16.9205 13.8738 16.7615 14.1483C16.6025 14.4226 16.3807 14.6418 16.096 14.8057L9.40375 18.6578C9.11925 18.8219 8.818 18.904 8.5 18.904C8.182 18.904 7.88075 18.8219 7.59625 18.6578ZM7.75 9.88275V17.0213L8.36525 17.375C8.41025 17.4007 8.45517 17.4135 8.5 17.4135C8.54483 17.4135 8.58975 17.4007 8.63475 17.375L9.25 17.0213V9.88275L15.5 6.2635V5.6175C15.5 5.58533 15.492 5.55325 15.476 5.52125C15.46 5.48925 15.4359 5.46358 15.4038 5.44425L14.675 5.02125L8.5 8.5905L2.325 5.02125L1.59625 5.44425C1.56408 5.46358 1.54 5.48925 1.524 5.52125C1.508 5.55325 1.5 5.58533 1.5 5.6175V6.2635L7.75 9.88275Z' fill='%234D4D4D'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}



.sc-form-row {
    /*margin-bottom: 20px;*/
}

.sc-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.sc-form-row-3 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
}


.sc-form-row-3-equal {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-top: 24px;
}

.sc-form-row-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}


.sc-form-group input,
.sc-form-group select,
.sc-form-group textarea {
    padding: 8px !important;
    border: 1px solid #757575 !important;
    border-radius: 20px !important;
    font-size: 12px;
    transition: border-color 0.3s ease;
    color: #2D2D2D !important;
    outline: none;
    width: 100%;
    font-weight: 500 !important;
}

.sc-form-group select {
    padding: 12px !important;
}

.sc-form-group {
    position: relative;
    margin-top: 2.5rem;
}

.sc-form-group label {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.2s ease;
    pointer-events: none;
    background: #fff;
    padding: 0 6px;
    font-size: 14px;
    color: #757575;
}

/* fókusz VAGY van érték */
.sc-form-group input:focus ~ label,
.sc-form-group input:not(:placeholder-shown) ~ label {
    top: -8px;
    font-size: 12px;
}

/* SELECT – fókusz vagy valid */
.sc-form-group select:focus ~ label,
.sc-form-group select:valid ~ label {
    top: -8px;
    font-size: 12px;
}

.sc-form-group textarea:focus ~ label,
.sc-form-group textarea:not(:placeholder-shown) ~ label {
    top: -8px;
    font-size: 12px;
}

.sc-checkbox-group {
    margin-top: 2.5rem;
}


.sc-checkbox-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #757575;
    gap: 8px; /* távolság a checkbox és a szöveg között */
}

.sc-checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
}

/* jelölés után stílus */
.sc-checkbox-group input[type="checkbox"]:checked + span,
.sc-checkbox-group input[type="checkbox"]:checked {
    color: #2563eb;
    border-color: #2563eb;
}



/*.sc-form-group {*/
/*    position: relative;*/
/*    margin-top: 1.5rem;*/
/*}*/

/*!* input stílus *!*/
/*.sc-form-group input {*/
/*    width: 100%;*/
/*    padding: 14px 10px;*/
/*    font-size: 16px;*/
/*    border: 1px solid #cbd5e1;*/
/*    border-radius: 6px;*/
/*    outline: none;*/
/*}*/

/*!* alap label pozíció *!*/
/*.sc-form-group label {*/
/*    position: absolute;*/
/*    left: 10px;*/
/*    top: 50%;*/
/*    transform: translateY(-50%);*/
/*    transition: 0.2s ease all;*/
/*    pointer-events: none;*/
/*    background: #fff;*/
/*    padding: 0 6px;*/
/*    font-size: 14px;*/
/*    color: #757575;*/
/*}*/

/*!* float label: fókuszban vagy van érték *!*/
/*.sc-form-group:focus-within label,*/
/*.sc-form-group input:not([value=""]) ~ label {*/
/*    top: -8px;*/
/*    font-size: 12px;*/
/*    color: #757575;*/
/*}*/





/*.sc-form-group input:focus,*/
/*.sc-form-group select:focus,*/
/*.sc-form-group textarea:focus {*/
/*    outline: none;*/
/*    border-color: #2196F3;*/
/*    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);*/
/*}*/

/*.sc-form-group input.error,*/
/*.sc-form-group select.error,*/
/*.sc-form-group textarea.error {*/
/*    border-color: #f44336;*/
/*}*/

.sc-error-message {
    color: #f44336;
    font-size: 12px;
    margin-top: 5px;
    min-height: 18px;
    position: absolute;
    left: 10px;
    bottom: -25px;
}

/* Checkbox */
.sc-checkbox-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.sc-checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 10px;
}

.sc-step h2 {
    color: #4D4D4D;
    font-size: 24px;
    font-weight: 500;
    line-height: 36px;
    word-wrap: break-word;
    margin-bottom: 32px;
}

/* Summary */
.sc-summary {
    /*background: #f9f9f9;*/
    /*border-radius: 8px;*/
    /*padding: 20px;*/
    /*margin-bottom: 20px;*/
}



.sc-edit-block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}

.sc-edit-button {
    color: #FF6600;
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    letter-spacing: 0.56px;
    word-wrap: break-word;
    cursor: pointer;
}

.sc-edit-button:before {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.33359 16C2.06092 16 1.82609 15.9026 1.62909 15.7077C1.43209 15.5128 1.33359 15.2769 1.33359 15C1.33359 14.7274 1.43209 14.4925 1.62909 14.2955C1.82609 14.0985 2.06092 14 2.33359 14H13.6669C13.9396 14 14.1744 14.0975 14.3714 14.2924C14.5684 14.4873 14.6669 14.7231 14.6669 15C14.6669 15.2727 14.5684 15.5075 14.3714 15.7045C14.1744 15.9015 13.9396 16 13.6669 16H2.33359ZM3.00025 11.3397V9.9437C3.00025 9.86337 3.0137 9.78687 3.04059 9.7142C3.06759 9.64154 3.11225 9.57398 3.17459 9.51154L10.4734 2.22954C10.57 2.13298 10.6796 2.05992 10.8023 2.01037C10.9248 1.96081 11.0515 1.93604 11.1823 1.93604C11.3174 1.93604 11.4458 1.96081 11.5676 2.01037C11.6894 2.05992 11.802 2.13642 11.9054 2.23987L12.7066 3.05137C12.81 3.14792 12.8848 3.25815 12.9309 3.38204C12.9771 3.50604 13.0003 3.63554 13.0003 3.77054C13.0003 3.89454 12.9771 4.01781 12.9309 4.14037C12.8848 4.26304 12.81 4.37609 12.7066 4.47954L5.42459 11.7615C5.36214 11.824 5.29464 11.8697 5.22209 11.8987C5.14942 11.9278 5.07292 11.9424 4.99259 11.9424H3.60292C3.43103 11.9424 3.28764 11.8849 3.17275 11.7699C3.05775 11.655 3.00025 11.5116 3.00025 11.3397ZM11.0606 4.70654L12.0066 3.76037L11.1823 2.93604L10.2361 3.88204L11.0606 4.70654Z' fill='%23FF6600'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    position: relative;
    top: 3px;
}

.sc-summary-section {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.sc-summary-section:last-child {
    /*margin-bottom: 0;*/
    /*padding-bottom: 0;*/
    /*border-bottom: none;*/
}

.sc-summary-section h4 {
    margin: 0 0 10px 0;
    color: #2196F3;
    font-size: 14px;
    text-transform: uppercase;
}

.sc-summary-content {
    color: #666;
    line-height: 1.6;
}

.sc-summary-cost {
    background: #ffd0b1;
    padding: 20px;
    border-radius:20px;
}

.sc-cost-breakdown {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sc-cost-line {
    display: flex;
    justify-content: space-between;
}

.sc-cost-total {
    font-weight: 500;
    font-size: 16px;
    color: #4d4d4d;
    display: flex;
    justify-content: space-between;

}


.sc-cost-price {
    font-size: 20px;
}

/* Navigation */
.sc-navigation {
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
    gap: 15px;
}

.sc-navigation:has(button:nth-child(2)) {
    justify-content: space-between;
}


.sc-btn {
    background-color: #000000;
    border-radius: 40px;
    padding: 0px 40px;
    font-weight: 700;
    font-size: 16px;
    color: #f7f5f2;
    text-transform: uppercase;
    line-height: 44px;
    letter-spacing: 1.60px;
    height: 44px;
    display: inline-block;
    border: none;
    outline: none;
    position: relative;
    cursor: pointer;
}

.sc-btn-prev {
    background: #e0e0e0;
    color: #333;
}

.sc-btn-prev:hover {
    background: #bdbdbd;
}

.sc-btn-next,
.sc-btn-submit {

}



.sc-btn-next:after {
    content: '';
    position: relative;
    top: 6px;
    width: 24px;
    height: 24px;
    display: inline-block;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><mask id="mask0_307_1373" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_307_1373)"><path d="M12.6 11.9998L8.70005 8.0998C8.51672 7.91647 8.42505 7.68314 8.42505 7.3998C8.42505 7.11647 8.51672 6.88314 8.70005 6.6998C8.88338 6.51647 9.11672 6.4248 9.40005 6.4248C9.68338 6.4248 9.91672 6.51647 10.1 6.6998L14.7 11.2998C14.8 11.3998 14.8709 11.5081 14.9125 11.6248C14.9542 11.7415 14.975 11.8665 14.975 11.9998C14.975 12.1331 14.9542 12.2581 14.9125 12.3748C14.8709 12.4915 14.8 12.5998 14.7 12.6998L10.1 17.2998C9.91672 17.4831 9.68338 17.5748 9.40005 17.5748C9.11672 17.5748 8.88338 17.4831 8.70005 17.2998C8.51672 17.1165 8.42505 16.8831 8.42505 16.5998C8.42505 16.3165 8.51672 16.0831 8.70005 15.8998L12.6 11.9998Z" fill="%23F7F5F2"/></g></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

.sc-btn-next:hover,
.sc-btn-submit:hover {

}

.sc-btn-submit {
    background: #4CAF50;
}

.sc-btn-submit:hover {
    background: #388E3C;
}

.sc-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.sc-btn-dummy {
 background-color: transparent;
    border: none;
    outline: none;

}

/* Loading */
.sc-loading {
    text-align: center;
    padding: 20px;
    color: #666;
}

.sc-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #e0e0e0;
    border-top-color: #2196F3;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 10px;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Success message */
.sc-success-message {
    text-align: center;
    padding: 40px;
}

.sc-success-icon {
    width: 80px;
    height: 80px;
    background: #4CAF50;
    color: white;
    font-size: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.sc-success-message h3 {
    color: #4CAF50;
    border: none;
}

.sc-order-id {
    font-size: 18px;
    color: #333;
    font-weight: bold;
}

.sc-label-dynamic {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Szolgáltatások csoport */
.sc-services-group {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.sc-service-option {
    margin: 0 !important;
}

.sc-service-option:last-child {
    margin-bottom: 0;
}

.sc-service-option label {
    display: flex;
    align-items: flex-start;
    padding: 6px 12px;
    background: white;
    border: 1px solid #757575;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sc-service-option input {
    margin-top: 2px !important;
}

.sc-service-option label:hover {
    border-color: #2196F3;
    box-shadow: 0 2px 8px rgba(33, 150, 243, 0.1);
}

.sc-service-option input[type="checkbox"] {
    margin-top: 3px;
    margin-right: 12px;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.sc-service-option input[type="checkbox"]:checked + .sc-service-label {
    color: #2196F3;
}

.sc-service-option input[type="checkbox"]:checked ~ * {
    border-color: #2196F3;
}

.sc-service-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sc-service-label strong {
    font-size: 15px;
    color: #333;
}

.sc-service-label small {
    font-size: 13px;
    color: #666;
    font-weight: normal;
}

/* Info text */
.sc-info-text {
    color: #666;
    font-size: 14px;
    margin: -5px 0 15px 0;
    font-style: italic;
}

/* Help text */
.sc-help-text {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 5px;
}

/* Services error */
#services-error {
    display: block;
    margin-top: 10px;
}

/* Cég mezők animáció */
.sc-company-fields {
    overflow: hidden;


}

/* Alcím a formon belül */
.sc-form h4 {
    margin: 0;
    padding: 25px 0 0 0;
    color: #555;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sc-form h5 {
    margin: 0;
    padding: 0;
    color: #555;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}

/* Cím megjelenítés az összefoglalásnál */
.sc-summary .sc-address {
    background: #f5f5f5;
    padding: 10px;
    border-radius: 4px;
    margin-top: 10px;
}

/* reCAPTCHA badge elrejtése (kötelező feltüntetni a használatot!) */
.grecaptcha-badge {
    visibility: hidden;
    opacity: 0;
}

/* reCAPTCHA notice */
.sc-recaptcha-notice {
    font-size: 12px;
    color: #666;
    margin-top: 15px;
    text-align: center;
}

.sc-recaptcha-notice a {
    color: #2196F3;
}

/* Ár sikeres megjelenítés */
.sc-cost-success {
    background: #f1f8f4;
    border: 2px solid #4CAF50;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
}

/* Ár kiemelés */
.sc-price-highlight {
    font-size: 32px;
    font-weight: bold;
    color: #4CAF50;
    margin: 10px 0;
}

.sc-price-note {
    color: #666;
    font-size: 14px;
    margin-top: 10px;
}

/* Hiba megjelenítés */
.sc-cost-error {
    background: #fff3cd;
    border: 2px solid #ff9800;
    border-radius: 8px;
    padding: 20px;
    color: #856404;
    text-align: center;
}

.sc-cost-error strong {
    color: #d32f2f;
    font-size: 16px;
    display: block;
    margin-bottom: 10px;
}

.sc-cost-error p {
    margin: 8px 0;
}

.sc-error-hint {
    color: #999 !important;
    font-style: italic;
}

/* Info text */
.sc-info-text {
    text-align: center;
    color: #666;
    font-style: italic;
}

/*calculator */

.calculator-frame {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    text-align: left;
    font-size: 12px;
    color: #757575;
    font-family: Montserrat;
}
.calculator-group {
    align-self: stretch;
    display: flex;
    align-items: flex-start;
    gap: 60px;
}
.calculator-wrapper {
    display: flex;
    align-items: flex-start;
}
.calculator-text-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}
.calculator-head {
    position: relative;
    letter-spacing: 0.02em;
    line-height: 150%;
    font-weight: 500;
}
.calculator-text {
    position: relative;
    font-size: 14px;
    line-height: 150%;
    font-weight: 500;
    color: #4d4d4d;
}
.calculator-wrapper2 {
    align-self: stretch;
    display: flex;
    align-items: flex-start;
}



.calculator-tudnivalok {
    width: 100%;
    position: relative;
    border-radius: 20px;
    background-color: #e7e7e7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    gap: 20px;
    text-align: left;
    font-size: 12px;
    color: #4d4d4d;
}


/* ... existing code ... */

/* ================================
   Quick Calculator Styles
   ================================ */

.sc-quick-calculator-wrapper {
    max-width: 600px;
    margin: 0 auto;
    padding: 30px;
    font-size: 14px;
    font-family: Montserrat, sans-serif;
    background: white;
    border-radius: 20px;
}

.sc-quick-input-area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.sc-quick-section {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sc-quick-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.sc-quick-title b {
    font-size: 16px;
    color: #4D4D4D;
}

.sc-mapicon {
    width: 17px;
    height: 17px;
}

.sc-quick-form-group {
    position: relative;
    margin-bottom: 25px;
}

.sc-quick-form-group input,
.sc-quick-form-group select {
    width: 100%;
    padding: 12px !important;
    border: 1px solid #757575 !important;
    border-radius: 20px !important;
    font-size: 14px;
    color: #2D2D2D !important;
    outline: none;
    font-weight: 500 !important;
    box-sizing: border-box;
}

.sc-quick-form-group label {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.2s ease;
    pointer-events: none;
    background: #fff;
    padding: 0 6px;
    font-size: 14px;
    color: #757575;
}

.sc-quick-form-group input:focus ~ label,
.sc-quick-form-group input:not(:placeholder-shown) ~ label,
.sc-quick-form-group select:focus ~ label,
.sc-quick-form-group select:valid ~ label {
    top: -8px;
    font-size: 12px;
}

.sc-quick-form-group input.error,
.sc-quick-form-group select.error {
    border-color: #f44336 !important;
}

.sc-quick-error-message {
    position: absolute;
    color: #f44336;
    font-size: 12px;
    margin-top: 5px;
    min-height: 18px;
    left: 18px;
    bottom: -22px;
}

.sc-quick-info {
    margin: 20px 0;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 10px;
    font-size: 13px;
    color: #666;
    text-align: center;
    line-height: 1.5;
}

.sc-quick-submit {
    text-align: center;
    margin-top: 20px;
}

.sc-btn-calculate {
    background-color: #FF6600;
    border-radius: 40px;
    padding: 0 50px;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    text-transform: uppercase;
    line-height: 50px;
    height: 50px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.sc-btn-calculate:hover {
    background-color: #e55c00;
}

.sc-btn-calculate:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.sc-quick-loading {
    text-align: center;
    padding: 20px;
    color: #666;
}

.sc-quick-result {
    margin-top: 25px;
    padding: 21px 110px;

}

.sc-quick-result-content {
    border-radius: 15px;
    text-align: center;
    background-color: #ffffff;
    padding: 60px;
}

.sc-quick-result-success {

}

.sc-quick-result-error {
    background: #fff3cd;
    border: 2px solid #ff9800;
}

.sc-quick-price-success {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sc-quick-price-success strong {
    font-size: 14px;
    color: #666;
}

.sc-quick-price {
    font-size: 32px;
    font-weight: bold;
    color: #4CAF50;
}

.sc-quick-price-error {
    color: #856404;
}

.sc-quick-price-error strong {
    color: #d32f2f;
}

.sc-quick-price-success-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap:20px;
}

.sc-quick-price-net {
    line-height: 125%;
    text-align: left;
    font-weight: 800;

    font-size: 22px;
    color: #4d4d4d;
}

.sc-quick-price-gross {
    line-height: 125%;
    text-align: left;
    font-weight: 800;
    font-size: 36px;
    color: #FF6600;
}

.sc-quick-result-text {

    color: #000;
    text-align: center;
    margin-bottom: 20px;
    font-size: 16px;
}





.service-select {
    width: 100%;
    border-radius: 20px;
    background: #fff;
    padding: 8px;
    position: relative;
}

.service-header {
    width: 100%;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #757575;
    font-size: 15px;
    font-weight: 400;
    padding: 0 10px;
}

.arrow {
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%232D2D2D' d='M12.0008 11.4L8.10079 15.3C7.91745 15.4833 7.68412 15.575 7.40079 15.575C7.11745 15.575 6.88412 15.4833 6.70079 15.3C6.51745 15.1166 6.42579 14.8833 6.42579 14.6C6.42579 14.3166 6.51745 14.0833 6.70079 13.9L11.3008 9.29996C11.4008 9.19996 11.5091 9.12912 11.6258 9.08746C11.7425 9.04579 11.8675 9.02496 12.0008 9.02496C12.1341 9.02495 12.2591 9.04579 12.3758 9.08745C12.4925 9.12912 12.6008 9.19996 12.7008 9.29995L17.3008 13.9C17.4841 14.0833 17.5758 14.3166 17.5758 14.6C17.5758 14.8833 17.4841 15.1166 17.3008 15.3C17.1175 15.4833 16.8841 15.575 16.6008 15.575C16.3175 15.575 16.0841 15.4833 15.9008 15.3L12.0008 11.4Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(180deg);
    transition: transform 0.2s ease;
    display: inline-block;
    position: relative;
    top: 6px;

}

.service-options {
    margin-top: 20px;
    display: none;
    position: absolute;
    background: white;
    top: 15px;
    z-index: 10;
    left: 0;
    padding: 20px;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}

.service-options .option {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    cursor: pointer;
    align-items: flex-start;

}

.service-options .option input[type="radio"] {
    width: 12px !important;
    accent-color: #2d2d2d;
    margin-top: -9px;
}

.option-content .title {
    margin-bottom: 4px;
    font-size: 15px;
    font-weight: 600;
    line-height: 150%;
    color: #2d2d2d;

}

.option-content .desc {
    font-size: 14px;
    color: #6b7280;
}

.sc-base-block {
    padding: 21px 110px;
}

.sc-base-block .sc-base-service {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 40px;
    font-size: 14px;
    color: #000;
}


.service-header {
    position: relative;
}

.clear-service {
    margin-left: 8px;
    cursor: pointer;
    font-size: 18px;
    color: #666;
    transition: color 0.2s;
}

.clear-service:hover {
    color: #000;
}


/* Responsive */
@media (max-width: 600px) {

    .sc-quick-input-area {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sc-quick-calculator-wrapper {
        padding: 20px;
    }

    .sc-form-row-2,
    .sc-form-row-3,
    .sc-form-row-4 {
        grid-template-columns: 1fr;
    }

    .sc-progress-step .sc-step-title {
        display: none;
    }

    .sc-navigation {
        flex-direction: column;
    }

    .sc-btn {
        width: 100%;
    }

    .sc-btn-next,
    .sc-btn-submit {
        margin-left: 0;
    }

    .sc-base-block {
        padding: 21px 0px;
    }

    .sc-quick-result {
        padding: 21px 0px;
    }

    .sc-quick-price-success-container {
        align-items: center;
        gap: 30px;
    }

    .sc-quick-price-net {
        font-size: 20px;
    }

    .sc-quick-price-gross {
        font-size: 32px;
    }

    .sc-quick-desktop-btn {
        display: none;
    }

    .sc-quick-result-content {
        padding: 20px;
    }

    #sc-order-mobile-button {
        display: block !important;
        margin-top: 20px;
        width: 100%;
    }

    #sc-order-mobile-button button {
        width: 100%;
    }



}