/* --- Калькулятор -------------------------------------------------------------------------------- */

    #kalkul {
        color: #1d1d1f;
        box-sizing: border-box;
        margin: 0 auto;
    }

    #kalkul * {
        box-sizing: border-box;
        outline: none;
    }

    /* --- 2. СЕТКА --- */
    .calk-row {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
    }

    .blok-vid, .blok-parametry, .blok-stoimost, .blok-contakts-form {
        background: #FFFFFF;
        border-radius: 20px !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
        border: 1px solid rgba(0,0,0,0.05);
        padding: 20px !important;
        margin: 0 !important;
        width: calc(25% - 15px);
        max-width: none !important;
        display: flex;
        flex-direction: column;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }


    /* --- 3. ЗАГОЛОВКИ --- */
    .calc-header-blok { 
        background: transparent !important;
        color: #1d1d1f !important;
        font-size: 1.3rem !important;
        font-weight: 700;
        padding: 0 0 15px 0 !important;
        border: none !important;
        text-align: left;
        letter-spacing: -0.01em;
        margin-bottom: 5px;
    }

    .calc-body-blok { 
        padding: 0 !important;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    /* --- 4. РАДИО-КНОПКИ --- */
    .inputGroup {
        background-color: transparent !important;
        margin: 0 0 10px 0 !important;
        border-radius: 12px !important;
    }
    .inputGroup input { display: none; }
    .inputGroup label {
        background: #F5F5F7;
        border-radius: 12px !important;
        padding: 14px 15px !important;
    /*  font-size: 0.95rem; */
        color: #1d1d1f !important;
        border: 2px solid transparent;
        transition: all 0.2s ease;
        font-weight: 500;
        cursor: pointer !important;
        width: 100%;
        display: block;
        position: relative;
    }
    .inputGroup label:before, .inputGroup label:after { display: none !important; }

    .inputGroup input:checked + label {
        background: #fff !important;
        border-color: #c79f4a;
        color: #c79f4a !important;
		font-weight: 800;
    }

    #blok_vid .calc-body-blok hr + div {
        background-color: #e3f2fd !important;
        color: #c79f4a !important;
        padding: 12px 15px !important;
        border-radius: 12px !important;
        text-align: center !important;
        font-weight: 600 !important;
        margin-top: 5px !important;
        font-size: 1rem !important;
 /*     border: 1px solid rgba(0,122,255,0.1); */
        width: 100%;
        display: block;
    }

    /* --- 5. ПОЛЯ ВВОДА --- */
    #vvod_nomergims, #vvod_firstname, #vvod_telefon, #blok_kolvo, #vvod_cvet {
        font-size: 0.85rem;
		color: #666666;
        margin-bottom: 15px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }
    input[type="text"] {
        width: 100% !important;
/*        padding: 12px 15px !important; */
        border: 1px solid #e5e5ea !important;
        border-radius: 12px !important;
        font-size: 1rem !important;
        margin-top: 5px !important;
        background: #F5F5F7 !important;
        transition: 0.3s;
        color: #1d1d1f !important;
        height: auto !important;
        box-shadow: none !important;
    }
    input[type="text"]:focus {
        background: #fff !important;
        border-color: #c79f4a !important;
    }

    

    /* --- 7. ЧЕКБОКС ДОСТАВКИ --- */
    #blok_dostavka {
        margin-top: 20px !important;
        width: 100%;
    }
    #blok_dostavka label {
        display: flex !important;
        justify-content: flex-start !important; /* Прижимаем влево */
        align-items: center !important;
        background: #F5F5F7 !important;
        padding: 12px 15px !important;
        border-radius: 12px !important;
        cursor: pointer;
        transition: all 0.2s;
        border: 2px solid transparent !important;
        font-weight: 500 !important;
        color: #1d1d1f !important;
        width: 100% !important;
    }
    #blok_dostavka input[type="checkbox"] { display: none; } 

    #blok_dostavka label::before {
        content: '' !important;
        display: inline-block !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        border: 2px solid #d1d1d6 !important;
        border-radius: 6px !important;
        background: #fff !important;
        margin-right: 12px !important;
        order: -1 !important;
        transition: 0.2s;
        flex-shrink: 0;
    }
    #blok_dostavka label::after {
        content: '0 руб' !important;
        display: inline-block !important;
        font-weight: 700 !important;
        color: #c79f4a !important;
        background: #e3f2fd !important;
        padding: 4px 8px !important;
        border-radius: 6px !important;
        font-size: 0.85rem !important;
        margin-left: auto !important;
        flex-shrink: 0;
    }

    #blok_dostavka input[type="checkbox"]:checked + label {
        background: #fff !important;
        border-color: #c79f4a !important;
        box-shadow: 0 4px 15px rgba(52, 199, 89, 0.15) !important;
    }
    #blok_dostavka input[type="checkbox"]:checked + label::before {
        background-color: #c79f4a !important;
        border-color: #c79f4a !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='14px' height='14px'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    /* --- 8. ЦЕНА --- */
    #blok_cena {
        margin-top: 10px !important; /* Убрал auto, поставил фиксированный отступ */
        display: flex;
        align-items: baseline;
        justify-content: flex-end;
        font-size: 2rem;
        color: #666;
    }
    #cena {
        background: transparent !important;
        border: none !important;
        font-size: 2rem !important;
        font-weight: 800 !important;
        color: #c79f4a !important;
        width: auto !important;
        max-width: 150px !important;
        padding: 0 !important;
        margin: 0 5px 0 0 !important;
        height: auto !important;
        box-shadow: none !important;
        text-align: right;
		min-height: 60px;
    	line-height: 60px;
    }

    /* --- 9. КНОПКА ЗАКАЗАТЬ --- */
    #calc_enter {
        background: #c79f4a !important;
        color: #fff !important;
        border: none !important;
        border-radius: 6px !important;
        padding: 16px 20px !important;
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        cursor: pointer;
        transition: 0.3s;
        width: 100%;
        margin-top: 20px !important;
        box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    }
    #calc_enter:hover {
        transform: translateY(-5px);
    }

    /* --- ПРОЧЕЕ --- */
    hr {
        border: 0;
        height: 1px;
        background: #e5e5ea;
        margin: 15px 0;
        width: 100%;
    }
    .calc-soglasie {
        font-size: 12px !important;
		color: #555;
        margin-top: 10px;
        line-height: 1.4;
    }
	.calc-soglasie a {
        border-bottom-style: dotted;
		border-bottom-width: 1px;
		color: inherit;
    }
	.calc-soglasie a:hover {
		color: #c79f4a;
    }
    #blok_stoimost div[style*="font-size: 14px"] {
        font-size: 0.75rem !important;
        color: #666 !important;
        margin-top: 8px;
        text-align: center;
        width: 100%;
    }
	
	
	/* --- Сообщение после отправки  --- */
	#calc_finalresult {
		margin-top: 1rem;
		text-align: right;
	}

    /* --- АДАПТИВНОСТЬ --- */
    @media (max-width: 992px) {
        .blok-vid, .blok-parametry, .blok-stoimost, .blok-contakts-form {
            width: calc(50% - 10px);
        }
    }
    @media (max-width: 600px) {
        .blok-vid, .blok-parametry, .blok-stoimost, .blok-contakts-form {
            width: 100%;
            margin-bottom: 20px !important;
        }
		#vvod_nomergims, #vvod_firstname, #vvod_telefon, #blok_kolvo, #vvod_cvet {
			font-size: 0.95rem;
}
        #blok_cena { /* justify-content: center; */ }
        .blok-cvet { justify-content: flex-start; }
    }