/* Ok2Shop — «Цена по запросу»: подпись вместо цены (каталог, страница товара) и окно заявки «Узнать цену». */
.ok2shop-card__ask { color: #374151; font-size: 15px; font-weight: 600; }
.o2p-price__ask { color: #111827; font-size: 22px; font-weight: 700; line-height: 1.25; }
.o2p-buy--ask { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.o2p-buy__note { margin: 0; color: #6b7280; font-size: 13px; line-height: 1.4; }

html.o2pr-lock { overflow: hidden; }
.o2pr-modal { position: fixed; inset: 0; z-index: 100400; display: flex; align-items: center; justify-content: center; padding: 16px; }
.o2pr-modal *, .o2pr-modal *::before { box-sizing: border-box; }
.o2pr-modal__backdrop { position: absolute; inset: 0; background: rgba(17, 20, 31, .45); }
.o2pr-modal__panel { position: relative; display: flex; flex-direction: column; gap: 10px; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; margin: 0; padding: 24px; border-radius: 16px; background: #fff; color: #1f2328; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); }
button.o2pr-modal__x { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #6b7280; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: none; }
.o2pr-modal__title { font-size: 20px; line-height: 1.25; padding-right: 30px; }
.o2pr-modal__product { margin: 0; color: #4b5563; font-size: 14px; }
.o2pr-modal__lead { margin: 0; padding: 10px 12px; border-radius: 10px; background: #eff6ff; color: #1e3a8a; font-size: 14px; line-height: 1.4; }
.o2pr-modal__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.o2pr-modal__hint { margin-top: -4px; color: #6b7280; font-size: 12px; }
.o2pr-modal label { display: flex; flex-direction: column; gap: 4px; margin: 0; color: #4b5563; font-size: 13px; text-transform: none; letter-spacing: normal; }
.o2pr-modal [hidden] { display: none; }
.o2pr-modal input[type="email"], .o2pr-modal input[type="text"], .o2pr-modal input[type="tel"], .o2pr-modal input[type="number"], .o2pr-modal textarea {
	width: 100%; height: 42px; min-height: 0; margin: 0; padding: 0 12px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; color: #111; font: inherit; font-size: 15px; box-shadow: none;
}
.o2pr-modal input[type="number"] { text-align: left; }
/* Тема задаёт полю текста большую высоту — у окна своя. */
.o2pr-modal .o2pr-modal__panel textarea { height: 64px; min-height: 0; max-height: 200px; padding: 8px 12px; resize: vertical; }
.o2pr-modal input:focus, .o2pr-modal textarea:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); }
.o2pr-modal .o2pr-modal__consent { flex-direction: row; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.4; }
.o2pr-modal__consent input { flex: none; margin-top: 2px; }
.o2pr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.o2pr-modal__msg { margin: 0; padding: 10px 12px; border-radius: 10px; font-size: 14px; line-height: 1.4; }
.o2pr-modal__msg.is-ok { background: #f0fdf4; color: #166534; }
.o2pr-modal__msg.is-bad { background: #fef2f2; color: #991b1b; }
button.o2pr-modal__send { height: 46px; min-height: 0; margin-top: 4px; padding: 0 18px; border: 0; border-radius: 10px; background: #2563eb; color: #fff; font: inherit; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: normal; cursor: pointer; box-shadow: none; }
button.o2pr-modal__send:hover { background: #1d4ed8; color: #fff; }
button.o2pr-modal__send:disabled { opacity: .6; cursor: default; }
@media (max-width: 480px) {
	.o2pr-modal__pair { grid-template-columns: 1fr; }
}
