/* Panda Prints Quote Form — popup modal + inline form.
   Brand: teal #00BBC8 · navy #1A1A2E. */

/* ── Popup overlay + modal ─────────────────────────────────────────────── */
.ppw-quote-overlay {
	position: fixed; inset: 0; z-index: 100000;
	background: rgba(26,26,46,.55);
	display: none; align-items: center; justify-content: center;
	padding: 24px 16px; opacity: 0;
	transition: opacity .28s ease;
}
.ppw-quote-overlay.ppw-show { opacity: 1; }
.ppw-quote-modal {
	position: relative; width: 100%; max-width: 680px;
	max-height: calc(100vh - 48px); overflow-y: auto;
	background: #fff; border-radius: 16px; padding: 32px 36px;
	box-shadow: 0 24px 70px rgba(0,0,0,.30); box-sizing: border-box;
	transform: translateY(12px); transition: transform .28s ease;
}
/* roomier two-up rows on wider screens so the form is shorter (less scrolling) */
@media (min-width: 640px) {
	.ppw-quote-modal .ppw-form-row { gap: 18px; }
}
.ppw-quote-overlay.ppw-show .ppw-quote-modal { transform: translateY(0); }
.ppw-quote-modal h2 { margin: 0 0 6px; font-size: 1.55rem; color: #1A1A2E; }
.ppw-quote-sub { margin: 0 0 20px; color: #5a5a6a; font-size: .98rem; }
.ppw-quote-close {
	position: absolute; top: 14px; right: 16px; width: 36px; height: 36px;
	border: none; background: #f2f2f5; border-radius: 8px; font-size: 22px; line-height: 1;
	color: #555; cursor: pointer; transition: background .2s, color .2s;
}
.ppw-quote-close:hover { background: #e6e6ea; color: #00BBC8; }

/* ── Inline form (shortcode) ───────────────────────────────────────────── */
.ppw-quote-inline { max-width: 720px; margin: 0 auto; }

/* ── Fields ────────────────────────────────────────────────────────────── */
.ppw-quote-form .ppw-form-row { display: flex; gap: 16px; margin: 0 0 14px; flex-wrap: wrap; }
.ppw-quote-form .ppw-form-col { flex: 1 1 0; min-width: 0; }
.ppw-quote-form .ppw-form-col.ppw-full { flex-basis: 100%; }
.ppw-quote-form label { display: block; font-weight: 600; font-size: .85rem; color: #1A1A2E; margin: 0 0 5px; }
.ppw-quote-form input,
.ppw-quote-form select,
.ppw-quote-form textarea {
	width: 100%; box-sizing: border-box; padding: 11px 13px; font-size: 15px;
	font-family: inherit; line-height: 1.4; color: #1A1A2E;
	border: 1.5px solid #dcdce3; border-radius: 8px; background: #fff;
	transition: border-color .18s, box-shadow .18s;
}
.ppw-quote-form textarea { resize: vertical; min-height: 96px; }
.ppw-quote-form input:focus,
.ppw-quote-form select:focus,
.ppw-quote-form textarea:focus {
	outline: none; border-color: #00BBC8; box-shadow: 0 0 0 3px rgba(0,187,200,.14);
}

/* ── Item blocks ───────────────────────────────────────────────────────── */
.ppw-item-block { padding: 16px; border: 1px solid #ececf1; border-radius: 10px; margin: 0 0 12px; background: #fafafb; }
.ppw-item-header { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; }
.ppw-item-label { font-weight: 700; font-size: .82rem; letter-spacing: .03em; text-transform: uppercase; color: #00a0ab; }
.ppw-remove-item { border: none; background: none; color: #b34; font-size: .82rem; cursor: pointer; padding: 2px 4px; }
.ppw-remove-item:hover { text-decoration: underline; }
.ppw-qty-col { max-width: 200px; }

/* ── Buttons ───────────────────────────────────────────────────────────── */
.ppw-add-item-btn {
	display: block; width: 100%; margin: 0 0 16px; padding: 11px;
	background: #eef9fa; color: #00838c; border: 1.5px dashed #9bdfe4; border-radius: 8px;
	font-weight: 600; font-size: .92rem; cursor: pointer; transition: background .18s, border-color .18s;
}
.ppw-add-item-btn:hover { background: #e2f5f6; border-color: #00BBC8; }
.ppw-quote-submit {
	display: block; width: 100%; padding: 14px; margin-top: 4px;
	background: #00BBC8; color: #fff; border: none; border-radius: 8px;
	font-weight: 700; font-size: 1.02rem; cursor: pointer; transition: background .18s, transform .15s;
}
.ppw-quote-submit:hover { background: #009aa6; }
.ppw-quote-submit:active { transform: translateY(1px); }
.ppw-quote-submit:disabled { opacity: .65; cursor: default; }

/* ── Messages ──────────────────────────────────────────────────────────── */
.ppw-form-msg { margin: 14px 0 0; padding: 12px 14px; border-radius: 8px; font-size: .95rem; }
.ppw-form-msg.ppw-success { background: #e7f8ec; color: #1c7a3e; border: 1px solid #b6e6c4; }
.ppw-form-msg.ppw-error { background: #fdecec; color: #b3261e; border: 1px solid #f3c2c0; }

/* ── Mobile ────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
	.ppw-quote-overlay { padding: 16px 10px; }
	.ppw-quote-modal { padding: 26px 20px; }
	.ppw-quote-form .ppw-form-row { gap: 12px; }
	.ppw-quote-form .ppw-form-col { flex-basis: 100%; }
	.ppw-qty-col { max-width: none; }
}
