.zw-gift-panel {
	margin: 24px 0;
	padding: 20px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 6px;
	clear: both;
}
.zw-gift-title { margin: 0 0 6px; font-size: 1.15em; }
.zw-gift-intro { margin: 0 0 14px; opacity: 0.8; }
.zw-gift-item { padding: 14px 0; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.zw-gift-item:first-of-type { border-top: 0; padding-top: 0; }
.zw-gift-product { margin: 0 0 8px; }
.zw-gift-date { display: block; font-size: 0.9em; opacity: 0.75; }
.zw-gift-toggle { display: flex; gap: 8px; align-items: center; cursor: pointer; font-weight: 600; }
.zw-gift-toggle input { margin: 0; width: 18px; height: 18px; }
.zw-gift-fields { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.zw-gift-fields[hidden] { display: none; }
.zw-gift-fields p { margin: 0 0 10px; }
.zw-gift-fields label { display: block; margin-bottom: 4px; font-size: 0.95em; }
.zw-gift-fields input { width: 100%; box-sizing: border-box; }
.zw-gift-fields small { display: block; margin-top: 4px; opacity: 0.75; }
.zw-gift-status { margin: 6px 0 0; font-size: 0.9em; min-height: 1.2em; }
.zw-gift-status.is-ok { color: #2e7d32; }
.zw-gift-status.is-error { color: #c62828; }
@media (max-width: 640px) {
	.zw-gift-fields { grid-template-columns: 1fr; }
}
.zw-gift-qty { font-weight: 600; margin-left: 4px; }
.zw-gift-fields { display: block; }
.zw-gift-delivery, .zw-gift-sendto { border: 0; padding: 0; margin: 0 0 12px; }
.zw-gift-delivery legend, .zw-gift-sendto legend { font-weight: 600; margin-bottom: 6px; padding: 0; }
.zw-gift-delivery label, .zw-gift-sendto label { display: flex; gap: 8px; align-items: center; margin: 0 0 4px; cursor: pointer; }
.zw-gift-delivery input, .zw-gift-sendto input { margin: 0; }
.zw-gift-hint { margin: -4px 0 12px; font-size: 0.9em; opacity: 0.8; }
.zw-gift-hint[hidden], .zw-gift-sendto[hidden], .zw-optional[hidden] { display: none; }
.zw-gift-person { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 10px 0 0; }
.zw-gift-person + .zw-gift-person { border-top: 1px dashed rgba(0, 0, 0, 0.12); }
.zw-gift-person-title { grid-column: 1 / -1; margin: 0 0 6px !important; font-weight: 600; font-size: 0.95em; }
.zw-gift-person p { margin: 0 0 10px; }
.zw-gift-person label { display: block; margin-bottom: 4px; font-size: 0.95em; }
.zw-gift-person input { width: 100%; box-sizing: border-box; }
.zw-gift-email-note { display: block; opacity: 0.75; }
.zw-optional { opacity: 0.7; font-weight: normal; }
@media (max-width: 640px) { .zw-gift-person { grid-template-columns: 1fr; } }
/* Wybór biletów */
.zw-picker { margin: 18px 0 24px; }
.zw-picker-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.zw-picker-row:first-child { border-top: 1px solid rgba(0, 0, 0, 0.1); }
.zw-picker-row.is-out { opacity: 0.55; }
.zw-picker-label strong { display: block; font-size: 1.05em; }
.zw-picker-price { font-size: 0.95em; opacity: 0.85; }
.zw-picker-qty { display: flex; align-items: stretch; flex: none; }
.zw-picker-qty button { width: 40px; height: 40px; border: 1px solid rgba(0, 0, 0, 0.25); background: transparent; color: inherit; font-size: 20px; line-height: 1; cursor: pointer; padding: 0; }
.zw-picker-qty button:disabled { opacity: 0.35; cursor: default; }
.zw-picker-qty input { width: 52px; height: 40px; text-align: center; border: 1px solid rgba(0, 0, 0, 0.25); border-left: 0; border-right: 0; margin: 0; padding: 0; -moz-appearance: textfield; }
.zw-picker-qty input::-webkit-outer-spin-button, .zw-picker-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.zw-picker-out { font-size: 0.95em; }
.zw-picker-seats { margin: 10px 0 0; font-size: 0.95em; opacity: 0.8; }
.zw-picker-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.zw-picker-total { font-weight: 600; }
.zw-picker-foot .button:disabled { opacity: 0.5; cursor: not-allowed; }
.zw-picker-rule { margin: 10px 0 0; color: #c62828; font-size: 0.95em; }
.zw-picker-rule[hidden] { display: none; }
.zw-gift-me-label { display: inline-flex; gap: 6px; align-items: center; margin-left: 12px; font-weight: normal; cursor: pointer; }
.zw-gift-me-label input { margin: 0; }
.zw-gift-person.is-me .zw-gift-person-field { display: none; }

/* Odporność na style motywu (np. Neve rozciąga pola wyboru na całą szerokość). */
.zw-gift-panel input[type="radio"],
.zw-gift-panel input[type="checkbox"],
.zw-picker input[type="radio"],
.zw-picker input[type="checkbox"] {
	width: 18px !important; height: 18px !important; min-width: 0 !important; max-width: none !important;
	flex: 0 0 18px !important; margin: 0 !important; padding: 0 !important; float: none !important;
	position: static !important; display: inline-block !important; vertical-align: middle; box-shadow: none;
}
.zw-gift-panel label { text-align: left !important; justify-content: flex-start !important; width: auto !important; float: none !important; }
.zw-gift-delivery label, .zw-gift-toggle, .zw-gift-me-label { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 10px !important; margin: 0 0 6px !important; }
.zw-gift-delivery label span, .zw-gift-toggle span, .zw-gift-me-label span { flex: 1 1 auto; min-width: 0; font-weight: inherit; }
.zw-gift-delivery, .zw-gift-sendto { display: block !important; width: 100% !important; min-width: 0 !important; }
.zw-gift-delivery legend { float: none !important; width: auto !important; font-size: 1em !important; }
.zw-gift-person-title { display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.zw-gift-me-label { margin: 0 !important; font-size: 0.95em; }
.zw-gift-person input[type="text"], .zw-gift-person input[type="email"] { width: 100% !important; }
