/* Модалки PCD — глобально (шапка + карточка товара) */
:root{
    --pcd-blue:#3D3DFF;
    --pcd-blue-hover:#2A29E0;
    --pcd-blue-light:#ECECFF;
    --pcd-green:#34C759;
    --pcd-ink:#14151A;
    --pcd-muted:#7A7E8C;
    --pcd-line:#E8E8EE;
    --pcd-red:#FF3B30;
}

.pcd-btn{
    display:inline-flex; align-items:center; justify-content:center;
    height:61px; padding:0 28px;
    border:0; border-radius:8px;
    font-size:22px; font-weight:600; line-height:1;
    font-family:'Onest', Arial, sans-serif;
    cursor:pointer; text-align:center;
    transition:background .15s ease, color .15s ease;
    box-sizing:border-box;
}
.pcd-btn--primary{
    background:var(--pcd-blue); color:#fff;
}
.pcd-btn--primary:hover{ background:var(--pcd-blue-hover); }
.pcd-btn--primary:disabled{
    opacity:.65; cursor:not-allowed;
}

.pcd-modals.is-open{ display:block; }
.pcd-modals[hidden]{ display:none; }
.pcd-modal{
    position:fixed; inset:0; z-index:10050;
    display:flex; align-items:center; justify-content:center;
    padding:20px;
    box-sizing:border-box;
}
.pcd-modal[hidden]{ display:none; }
.pcd-modal.is-open{ display:flex; }
.pcd-modal__backdrop{
    position:absolute; inset:0;
    background:rgba(20,21,26,.48);
    opacity:0;
    transition:opacity .22s ease;
}
.pcd-modal.is-open .pcd-modal__backdrop{ opacity:1; }
.pcd-modal__dialog{
    position:relative; z-index:1;
    width:100%; max-width:480px;
    background:#fff;
    border-radius:24px;
    padding:28px 28px 24px;
    box-shadow:0 24px 60px rgba(20,22,40,.22);
    transform:translateY(12px) scale(.97);
    opacity:0;
    transition:opacity .22s ease, transform .26s cubic-bezier(.18,.82,.25,1.15);
    box-sizing:border-box;
}
.pcd-modal.is-open .pcd-modal__dialog{
    transform:translateY(0) scale(1);
    opacity:1;
}
.pcd-modal__close{
    position:absolute; top:16px; right:16px;
    width:40px; height:40px;
    border:0; border-radius:12px;
    background:#f5f5f7; color:var(--pcd-muted);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; padding:0;
    transition:background .15s ease, color .15s ease;
}
.pcd-modal__close:hover{ background:#ececff; color:var(--pcd-blue); }
.pcd-modal__close svg{ width:20px; height:20px; display:block; }
.pcd-modal__title{
    margin:0 48px 12px 0;
    font-family:'SONGER SemiExpanded','Onest',sans-serif;
    font-size:24px; font-weight:800; line-height:1.2;
    color:var(--pcd-ink);
    text-transform:uppercase;
    letter-spacing:.01em;
}
.pcd-modal__text{
    margin:0 0 20px;
    font-size:15px; line-height:1.5; color:var(--pcd-muted);
}
.pcd-modal__text b{ color:var(--pcd-ink); font-weight:600; }
.pcd-modal__form{ display:flex; flex-direction:column; gap:16px; }
.pcd-modal__field{ display:flex; flex-direction:column; gap:6px; }
.pcd-modal__label{ font-size:14px; font-weight:600; color:var(--pcd-ink); }
.pcd-modal__input{
    width:100%;
    height:52px; padding:0 16px;
    border:1px solid var(--pcd-line); border-radius:14px;
    font-size:16px; color:var(--pcd-ink);
    font-family:'Onest', Arial, sans-serif;
    transition:border-color .15s ease, box-shadow .15s ease;
    box-sizing:border-box;
}
.pcd-modal__input:focus{
    outline:none;
    border-color:var(--pcd-blue);
    box-shadow:0 0 0 3px rgba(61,61,255,.12);
}
.pcd-modal__input.is-invalid{
    border-color:var(--pcd-red);
    box-shadow:0 0 0 3px rgba(255,59,48,.1);
}
input[name="btf_phone"].is-invalid,
input[name="phone"].is-invalid,
#btf_phone.is-invalid,
#phone.is-invalid,
.callback-block__input.is-invalid{
    border-color:var(--pcd-red) !important;
    box-shadow:0 0 0 3px rgba(255,59,48,.1);
}
.pcd-modal__check{
    display:flex; align-items:flex-start; gap:10px;
    font-size:13px; line-height:1.45; color:var(--pcd-muted);
    cursor:pointer;
}
.pcd-modal__check input{ margin-top:3px; flex-shrink:0; }
.pcd-modal__check a{ color:var(--pcd-blue); text-decoration:underline; }
.pcd-modal .pcd-btn.pcd-modal__submit{
    width:100%;
    height:56px;
    min-height:56px;
    flex:none;
    margin-top:4px;
    border-radius:14px;
    font-size:16px;
}
.pcd-modal__message{
    min-height:20px; font-size:14px; line-height:1.4;
}
.pcd-modal__message.is-error{ color:var(--pcd-red); }
.pcd-modal__message.is-success{ color:var(--pcd-green); }
body.pcd-modal-open{ overflow:hidden; }
