/* QC Product Inquiry — structural, neutral styles. Themes restyle the .qcpi-* classes. */
.qcpi [hidden] { display: none !important; }

.qcpi-trigger { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; cursor: pointer; }

.qcpi-drawer { position: fixed; inset: auto 0 0 0; box-sizing: border-box; width: 100%; max-width: none; height: auto; max-height: 92vh; max-height: 92dvh; margin: 0; padding: 0; border: 0; overflow: hidden; background: #fff; color: #1d1d1d; }
.qcpi-drawer[open] { animation: qcpi-up 0.3s cubic-bezier(0.2, 0.7, 0.2, 1); }
.qcpi-drawer::backdrop { background: rgba(0, 0, 0, 0.5); }
.qcpi-drawer *, .qcpi-drawer *::before, .qcpi-drawer *::after { box-sizing: border-box; }
.qcpi-drawer__panel { display: flex; flex-direction: column; max-height: 92vh; max-height: 92dvh; }
.qcpi-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 0 16px; border-bottom: 1px solid #ddd; }
.qcpi-drawer__title { margin: 0; font-size: 18px; }
.qcpi-drawer__close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.qcpi-drawer__body { flex: 1; min-height: 0; overflow: auto; padding: 16px; }
.qcpi-drawer__foot { border-top: 1px solid #ddd; }

.qcpi-product { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #ddd; }
.qcpi-product__image { flex: none; width: 64px; height: 64px; object-fit: contain; }
.qcpi-product__title, .qcpi-product__code { margin: 0; }
.qcpi-product__code { font-size: 13px; opacity: 0.75; }

.qcpi-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.qcpi-field input, .qcpi-field textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #bbb; background: #fff; color: inherit; font: inherit; }
.qcpi-field textarea { min-height: 120px; resize: vertical; }
.qcpi-field [aria-invalid="true"] { border-color: #b3261e; }
.qcpi-field__optional { font-weight: 400; opacity: 0.7; }
.qcpi-field__error { margin: 0; color: #b3261e; font-size: 13px; }
.qcpi-field__counter { margin: 0; font-size: 12px; text-align: right; opacity: 0.7; }
.qcpi-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.qcpi-captcha { margin-bottom: 14px; }
.qcpi-form__consent { margin: 0 0 8px; font-size: 13px; }
.qcpi-form__alert { margin: 8px 0 0; padding: 10px 12px; border: 1px solid #b3261e; color: #b3261e; font-size: 14px; }

.qcpi-submit { width: 100%; min-height: 56px; border: 0; background: #1d1d1d; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.qcpi-submit:disabled { opacity: 0.6; cursor: progress; }

.qcpi-success { padding: 24px 0; }
.qcpi-success__text { margin: 0 0 16px; font-size: 16px; }
.qcpi-success__text:focus { outline: none; }
.qcpi-success__close { min-height: 44px; padding: 0 20px; border: 1px solid currentColor; background: none; color: inherit; font: inherit; cursor: pointer; }

html:has(.qcpi-drawer[open]) { overflow: hidden; }

@media (min-width: 760px) {
	.qcpi-drawer { inset: 0 0 0 auto; width: 400px; height: 100%; max-height: none; }
	.qcpi-drawer[open] { animation-name: qcpi-left; }
	.qcpi-drawer__panel { height: 100%; max-height: none; }
}

@keyframes qcpi-up { from { transform: translateY(100%); } }
@keyframes qcpi-left { from { transform: translateX(100%); } }

@media (prefers-reduced-motion: reduce) {
	.qcpi-drawer[open] { animation: none; }
}
