/* CallbackPopup: lightweight, theme-agnostic */
.callbackpopup__overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55);z-index:99999}
.callbackpopup__overlay.is-open{display:flex}
.callbackpopup__modal{
	width:min(460px,100%);
    background: rgba(255, 255, 255, 0.9);
border-radius:3px;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 8px;
padding:18px 18px 16px;
position:relative
}
.callbackpopup__close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:10px;background:rgba(0,0,0,.06);cursor:pointer;font-size:22px;line-height:34px}
.callbackpopup__title{font-size:18px;font-weight:700;margin:0 38px 12px 0;}
.callbackpopup__field{display:block;margin:0 0 10px}
.callbackpopup__label{display:block;font-size:12px;opacity:.8;margin:0 0 6px;    font-size: 14px;}
.callbackpopup__input,.callbackpopup__select,.callbackpopup__textarea{width:100%;border:1px solid rgba(0,0,0,.15);border-radius:5px;padding:10px 12px;font-size:14px}
.callbackpopup__input:hover,
.callbackpopup__select:hover,
.callbackpopup__textarea:hover{
  border-color: rgba(0,0,0,.28);
  box-shadow: 0 6px 14px rgba(0,0,0,.06);
}

.callbackpopup__input:focus,
.callbackpopup__select:focus,
.callbackpopup__textarea:focus{
  outline: none;
  border-color: rgba(227,6,19,.55); /* можно заменить на твой акцент */
  box-shadow: 0 0 0 3px rgba(227,6,19,.15);
  background-color:#fff;
}


.callbackpopup__input,.callbackpopup__select{height:42px}
.callbackpopup__textarea{resize:vertical}
.callbackpopup__note{font-size:14px;opacity:.85;margin:8px 0 12px;    text-align: center;}
.callbackpopup__submit{
    width: 100%;
    height: 44px;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 100;
    background: #E30613;
    color: #fff;
    text-transform: uppercase;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	}
	.callbackpopup__submit:hover{
		box-shadow: none;
		transition:all 0.3s;
	}
.callbackpopup__msg{margin-top:10px;font-size:13px;min-height:18px}
.callbackpopup__policy{display:flex;gap:10px;align-items:flex-start;margin:6px 0 8px;font-size:12px;line-height:1.35}
.callbackpopup__policy input{margin-top:2px}
.callbackpopup__hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* Product button (if injected) */
.callbackpopup__mount{margin-top:10px}
.callbackpopup__trigger{
	    margin-top: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 14px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, .15);
    background: transparent;
    cursor: pointer;
    font-weight: 100;
    text-transform: lowercase;
	  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform;
}
.callbackpopup__trigger:hover{
	  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
	transition:all 0.3s;
}
.callbackpopup__trigger--calc{width:100%}

/* Hidden field blocks toggled by JS */
.callbackpopup__hidden{display:none}


.callbackpopup__input, .callbackpopup__select, .callbackpopup__textarea {
    width: 100%;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 5px;
    padding: 10px 12px;
font-size: 14px;
}

/* Policy: checkbox left of text, whole block centered */
.callbackpopup__policy{display:flex;justify-content:center;align-items:flex-start;gap:10px;width:100%;margin:10px 0 0}
.callbackpopup__policy input{margin-top:2px}
.callbackpopup__policy-text{display:inline;line-height:1.35;text-align:left}


@media (max-width:480px){.callbackpopup__trigger--calc{background-position:12px 50%;padding-left:42px}}
/* Icon + centered content for 'Сделать расчет' */
.callbackpopup__trigger--calc{display:flex;align-items:center;justify-content:center;gap:10px;background-image:none;padding-left:16px;padding-right:16px}
.callbackpopup__trigger--calc:before{content:"";display:block;width:18px;height:18px;background:url(/images/icons/raschet.png) no-repeat 50% 50%/contain;flex:0 0 18px}
@media (max-width:480px){.callbackpopup__trigger--calc{gap:10px}}


/* Success message (text + green check) */
.callbackpopup__msg--success{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:100;font-size:15px;line-height:1.35;color:#424748;margin-top:10px;text-align:center}
.callbackpopup__msg--success:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#3caa3c;font-weight:700;font-size:18px;line-height:1}
.callbackpopup__msg--error{font-size:14px;line-height:1.35;color:#E30613;margin-top:10px}

/* Policy checkbox: checkbox left of text, whole block centered (incl. mobile) */
.callbackpopup__policy{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:10px}
.callbackpopup__policy input[type="checkbox"]{flex:0 0 auto;opacity:1;position:static;width:16px;height:16px;margin:2px 0 0}
.callbackpopup__policy-text{display:inline-block;text-align:left}
@media (max-width:480px){
  .callbackpopup__policy{gap:8px}
}

/* Force policy checkbox visible (MegaShop2 may hide native checkboxes on mobile) */
.callbackpopup__overlay .callbackpopup__policy{display:flex;align-items:flex-start;justify-content:center;gap:8px;width:100%}
.callbackpopup__overlay .callbackpopup__policy>input[type="checkbox"]{display:inline-block!important;visibility:visible;opacity:1;position:static;clip:auto;clip-path:none;width:16px;height:16px;margin:2px 0 0;-webkit-appearance:checkbox;appearance:auto;pointer-events:auto}

/* Calc popup title: icon + 2 lines */
#callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-calc{display:flex;align-items:flex-start;gap:10px}
#callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-icon{width:22px;height:22px;flex:0 0 22px;margin-top:2px;background:url(/images/icons/raschet.png) no-repeat 50% 50%/contain}
#callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-lines{display:flex;flex-direction:column}
#callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-main{font-size:15px;line-height:1.2;font-weight:600}
#callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-sub{margin-top:4px;font-size:14px;font-weight:100;line-height:1.25;color:#424748;white-space:normal;word-break:normal;overflow-wrap:break-word;text-transform: lowercase;}
@media (max-width:480px){
  #callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-main{font-size:17px}
  #callbackpopup-overlay[data-popup-kind="calc"] .callbackpopup__title-sub{font-size:15px}
}
