.pcu-order-options,
.pcu-upload {
  --pcu-blue: #0b4fae;
	--pcu-blue-action: #0b67d9;
	--pcu-blue-soft: #f2f6ff;
  --pcu-orange: #e96516;
  --pcu-green: #15803d;
  --pcu-red: #b42318;
  --pcu-ink: #172033;
  --pcu-muted: #667085;
	--pcu-line: #d7deea;
	--pcu-bg: #f8fafc;
  color: var(--pcu-ink);
  font: inherit;
}

.pcu-order-options {
  width: 100%;
	margin: 10px 0 8px;
	padding: 10px;
  border: 1px solid var(--pcu-line);
  border-radius: 10px;
  background: #fff;
}

.pcu-quantity-row {
  display: grid;
  grid-template-columns: minmax(105px, 1fr) minmax(120px, 1.1fr);
  align-items: center;
	gap: 10px;
  margin: 0;
}

.pcu-quantity-row > span { display: flex; min-width: 0; flex-direction: column; line-height: 1.22; }
.pcu-quantity-row strong { color: var(--pcu-ink); font-size: 12px; font-weight: 650; }
.pcu-quantity-row small { margin-top: 1px; color: #475467; font-size: 10.5px; }

.pcu-quantity-select,
.pcu-custom-quantity {
  width: 100%;
	min-height: 44px;
  margin: 0;
	padding: 7px 34px 7px 10px;
  border: 1px solid var(--pcu-line);
  border-radius: 7px;
  background-color: #fff;
  color: var(--pcu-ink);
  font: inherit;
  font-size: 12px;
  line-height: 1.25;
  box-shadow: none;
}

.pcu-quantity-select {
  background-image: linear-gradient(45deg, transparent 50%, #667085 50%), linear-gradient(135deg, #667085 50%, transparent 50%);
	background-position: calc(100% - 15px) 17px, calc(100% - 11px) 17px;
  background-repeat: no-repeat;
  background-size: 4px 4px, 4px 4px;
  appearance: none;
}

.pcu-custom-quantity { grid-column: 2; padding-right: 9px; }
.pcu-custom-quantity[hidden] { display: none; }
.pcu-quantity-select:focus,
.pcu-custom-quantity:focus { border-color: var(--pcu-blue); outline: 2px solid rgba(11, 79, 174, .16); }

.pcu-offer-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
	gap: 4px;
	margin-top: 8px;
}

.pcu-offer {
  min-width: 0;
	min-height: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	padding: 4px;
  border: 1px solid #e3e8f0;
  border-radius: 6px;
	background: var(--pcu-bg);
  color: #475467;
  font-size: 11px;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}

.pcu-offer strong { color: #1f2937; font-size: 11.5px; }
.pcu-offer.is-active { border-color: #f2aa76; background: #fff5ed; color: #c2410c; }
.pcu-offer.is-active strong { color: #9a3412; }

.pcu-price-summary {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #e8ecf2;
}

.pcu-price-primary,
.pcu-price-meta,
.pcu-price-meta > span { display: flex; }
.pcu-price-primary { min-width: 0; flex-direction: column; line-height: 1.15; }
.pcu-price-primary small { margin-bottom: 2px; color: #475467; font-size: 10.5px; font-weight: 600; }
.pcu-total-price { color: var(--pcu-blue); font-size: 18px; font-weight: 750; line-height: 1.1; }
.pcu-price-meta { min-width: 0; flex-direction: column; align-items: flex-end; gap: 3px; color: #475467; text-align: right; }
.pcu-price-meta > span { align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 7px; }
.pcu-price-meta small,
.pcu-original-total { font-size: 10.5px; line-height: 1.25; }
.pcu-unit-price[hidden] { display: none; }
.pcu-original-total { color: #98a2b3; }
.pcu-discount-label { padding: 2px 5px; border-radius: 999px; background: #fff1e8; color: #c2410c; font-weight: 700; }
.pcu-shipping-note.is-free { color: var(--pcu-green); font-weight: 700; }

.pcu-upload {
  width: 100%;
	margin: 8px 0 14px;
  border: 1px solid var(--pcu-line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

form.cart:has(.pcu-order-options) .quantity,
form.pcu-has-uploader .quantity { display: none !important; }

.pcu-upload-heading {
	min-height: 50px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
	gap: 8px;
	padding: 8px 10px;
}

.pcu-summary-icon,
.pcu-control-icon {
  display: grid;
  place-items: center;
  color: #111827;
  background: #eef1f4;
  border-radius: 7px;
}

.pcu-summary-icon { width: 32px; height: 32px; background: #edf4ff; color: var(--pcu-blue); }
.pcu-summary-icon .dashicons { width: 17px; height: 17px; font-size: 17px; line-height: 1; }

.pcu-summary-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.pcu-summary-copy strong { font-size: 13px; font-weight: 650; color: var(--pcu-ink); }
.pcu-summary-copy small { margin-top: 1px; color: var(--pcu-muted); font-size: 10.5px; }

.pcu-quantity-badge {
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff1e8;
  color: #c2410c;
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
}

.pcu-body {
	padding: 10px;
  border-top: 1px solid #edf0f5;
	background: var(--pcu-bg);
}

.pcu-method-picker {
  display: grid;
  grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	overflow: visible;
}

.pcu-method-button {
	min-height: 48px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
	gap: 7px;
  margin: 0;
	padding: 7px 8px;
	border: 1px solid #d7dde6;
	border-radius: 7px;
  background: #fff;
  color: var(--pcu-ink);
  font: inherit;
  text-align: left;
  box-shadow: none;
  cursor: pointer;
}

.pcu-method-button:hover { background: #f6f8fc; }
.pcu-method-button:focus-visible { outline: 2px solid rgba(11, 79, 174, .2); outline-offset: 2px; }
.pcu-method-button.is-active { border-color: var(--pcu-blue); background: var(--pcu-blue-soft); box-shadow: inset 0 0 0 1px var(--pcu-blue); }
.pcu-method-button > span:last-child { display: flex; min-width: 0; flex-direction: column; line-height: 1.2; }
.pcu-method-button strong { color: var(--pcu-ink); font-size: 11px; font-weight: 700; }
.pcu-method-button small { margin-top: 2px; color: #475467; font-size: 10.5px; }

.pcu-method-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #eef2f7;
  color: #475467;
}

.pcu-method-icon svg { width: 16px; height: 16px; }
.pcu-method-button.is-active .pcu-method-icon { background: var(--pcu-blue); color: #fff; }

form.cart .pcu-method-button.is-active {
	border-color: var(--pcu-blue) !important;
	background: var(--pcu-blue-soft) !important;
	color: var(--pcu-ink) !important;
	box-shadow: inset 0 0 0 1px var(--pcu-blue) !important;
}

form.cart .pcu-method-button.is-active .pcu-method-icon {
	background: var(--pcu-blue) !important;
	color: #fff !important;
}

form.cart .pcu-total-price,
form.cart .pcu-progress-percent,
form.cart .pcu-status {
	color: var(--pcu-blue) !important;
}

form.cart .pcu-status.is-success { color: var(--pcu-green) !important; }
form.cart .pcu-status.is-error { color: var(--pcu-red) !important; }

form.cart .pcu-control-icon {
	background: var(--pcu-blue-action) !important;
	color: #fff !important;
}

form.cart .pcu-file-control.is-complete .pcu-control-icon {
	background: transparent !important;
	color: var(--pcu-green) !important;
}

.pcu-file-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pcu-file-slot {
  min-width: 0;
  border: 1px solid #c9d3df;
  border-radius: 8px;
  background: #f3f5f8;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.pcu-file-slot:focus-within {
  border-color: var(--pcu-blue);
	box-shadow: 0 0 0 2px rgba(11, 79, 174, .14);
}

.pcu-file-control {
  position: relative;
	min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
	gap: 8px;
  margin: 0;
	padding: 10px 48px;
	border: 0;
  border-radius: 0;
  background: #f3f5f8;
  cursor: pointer;
  overflow: hidden;
  box-shadow: none;
  transition: background .15s ease, color .15s ease;
}

.pcu-file-control:hover,
.pcu-file-control:focus-within { background: #edf4fb; }
.pcu-file-control.is-complete { background: #f7fcf8; }
.pcu-file-control.is-error { background: #fff7f6; box-shadow: inset 0 0 0 1px #e59a94; }
.pcu-file-control.is-uploading { background: #edf4fb; }

.pcu-control-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: var(--pcu-blue-action);
  color: #fff;
}
.pcu-control-icon .dashicons { width: 21px; height: 21px; font-size: 21px; line-height: 1; }
.pcu-file-control:hover .pcu-control-icon,
.pcu-file-control:focus-within .pcu-control-icon,
.pcu-file-control.is-uploading .pcu-control-icon { background: var(--pcu-blue); color: #fff; }
.pcu-file-control.is-complete .pcu-control-icon { color: var(--pcu-green); background: transparent; }
.pcu-file-control.is-uploading .pcu-control-icon .dashicons { animation: pcu-pulse .8s ease-in-out infinite alternate; }

.pcu-control-copy {
  min-width: 0;
  display: block;
  line-height: 1.2;
}

.pcu-control-copy strong { overflow: hidden; color: #111827; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.pcu-file-control:hover .pcu-control-copy strong,
.pcu-file-control:focus-within .pcu-control-copy strong,
.pcu-file-control.is-uploading .pcu-control-copy strong { color: #111827; }
.pcu-control-copy small {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pcu-file-count {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  padding: 2px 5px;
  border-radius: 999px;
  background: #f2f4f7;
  color: #344054;
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
}

.pcu-file-control.is-complete .pcu-file-count { background: #e3f5e8; color: var(--pcu-green); }

.pcu-file-control input[type="file"] {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.pcu-uploaded-box {
	margin: 0;
	padding: 8px 10px;
	border: 0;
	border-top: 1px solid #e4e7ec;
	border-radius: 0;
	background: #f8fafc;
}

.pcu-uploaded-box[hidden],
.pcu-progress-row[hidden] { display: none; }

.pcu-progress-row {
	display: grid;
	grid-template-columns: auto minmax(70px, 1fr) 30px;
	align-items: center;
	gap: 7px;
}

.pcu-progress-row > small { color: #344054; font-size: 10.5px; font-weight: 650; }
.pcu-progress-row .pcu-progress-percent { color: var(--pcu-blue); text-align: right; }

.pcu-upload-progress {
	height: 5px;
	margin: 0;
	border-radius: 999px;
	background: #dbe7f4;
	overflow: hidden;
}

.pcu-upload-progress > span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: var(--pcu-blue-action);
	transition: width .18s ease;
}

.pcu-uploaded-files {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	max-height: 154px;
	margin: 0;
	overflow-y: auto;
}

.pcu-progress-row:not([hidden]) + .pcu-uploaded-files { margin-top: 6px; padding-top: 6px; border-top: 1px solid #eceef1; }

.pcu-mode-panel[data-mode="single"] .pcu-uploaded-files { grid-template-columns: 1fr; }

.pcu-uploaded-file {
	min-width: 0;
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) 26px;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 4px 2px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.pcu-uploaded-file + .pcu-uploaded-file { border-top: 1px solid #eceef1; }

.pcu-file-thumbnail {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: 5px;
	background: #eef2f7;
	object-fit: cover;
}

.pcu-file-thumbnail.is-pdf { color: #b42318; font-size: 9.5px; font-weight: 800; letter-spacing: .2px; }
.pcu-uploaded-name { overflow: hidden; color: #344054; font-size: 10.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pcu-remove-file {
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: #fff1f0;
	color: var(--pcu-red);
	font: inherit;
	line-height: 1;
	box-shadow: none;
	cursor: pointer;
}
.pcu-remove-file .dashicons { width: 15px; height: 15px; font-size: 15px; line-height: 1; }
.pcu-remove-file:hover,
.pcu-remove-file:focus-visible { background: #fee4e2; color: #912018; outline: 2px solid rgba(180, 35, 24, .12); }
.pcu-remove-file:disabled { opacity: .45; cursor: wait; }

.pcu-password-list {
  display: grid;
	gap: 8px;
	max-height: 220px;
	margin-top: 8px;
	padding-right: 2px;
	padding-top: 8px;
  border-top: 1px solid #e8ecf2;
	overflow-y: auto;
}

.pcu-password-toggle {
	min-height: 32px;
  display: flex;
  align-items: center;
	gap: 7px;
	margin: 8px 0 0;
	padding: 4px 0;
  color: #344054;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

.pcu-password-toggle[hidden] { display: none; }
.pcu-password-toggle input { width: 16px; height: 16px; margin: 0; accent-color: var(--pcu-blue); }
.pcu-password-toggle small { margin-left: 4px; padding: 2px 5px; border-radius: 999px; background: #eef2f7; color: var(--pcu-muted); font-size: 8.5px; font-weight: 700; }

.pcu-password-list[hidden] { display: none; }
.pcu-password-list label { display: grid; grid-template-columns: minmax(70px, auto) minmax(130px, 220px); align-items: center; justify-content: start; gap: 8px; margin: 0; }
.pcu-password-list label > span { color: #344054; font-size: 10.5px; font-weight: 650; }
.pcu-password-list input {
  width: 100%;
	min-height: 36px;
	max-width: 220px;
  margin: 0;
	padding: 7px 10px;
  border: 1px solid var(--pcu-line);
  border-radius: 7px;
  background: #fff;
  color: var(--pcu-ink);
  font: inherit;
  font-size: 11px;
  box-shadow: none;
}

.pcu-password-list input:focus { border-color: var(--pcu-blue); outline: 2px solid rgba(11, 79, 174, .14); }

.pcu-status,
.pcu-help { margin: 7px 0 0; font-size: 11px; line-height: 1.4; }
.pcu-status:empty { display: none; }
.pcu-status { color: var(--pcu-blue); font-weight: 650; }
.pcu-status.is-success { color: var(--pcu-green); }
.pcu-status.is-error { color: var(--pcu-red); }
.pcu-help { color: #475467; }

.single_add_to_cart_button.pcu-waiting { filter: saturate(.82); }
.pcu-locked-quantity { font-weight: 700; color: #344054; }

@keyframes pcu-pulse {
  from { opacity: .45; transform: translateY(1px); }
  to { opacity: 1; transform: translateY(-1px); }
}

@media (max-width: 520px) {
	.pcu-order-options,
	.pcu-body { padding: 9px; }
  .pcu-file-grid { grid-template-columns: 1fr; }
	.pcu-mode-panel[data-mode="single"] .pcu-uploaded-files { grid-template-columns: 1fr; }
  .pcu-upload-heading { grid-template-columns: 32px minmax(0, 1fr) auto; }
  .pcu-summary-copy small { display: none; }
	.pcu-quantity-row { grid-template-columns: minmax(95px, .85fr) minmax(135px, 1.15fr); gap: 9px; }
	.pcu-offer { padding-inline: 3px; font-size: 11px; }
	.pcu-offer strong { font-size: 11.5px; }
	.pcu-price-summary { align-items: flex-start; }
	.pcu-total-price { font-size: 17px; }
	.pcu-price-meta { max-width: 58%; }
	.pcu-password-list label { grid-template-columns: minmax(70px, auto) minmax(120px, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .pcu-file-control,
  .pcu-file-slot,
  .pcu-file-control.is-uploading .pcu-control-icon .dashicons { transition: none; animation: none; }
}
