.pp-theme .pp-product-page {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 930px;
	max-width: calc(100vw - 32px);
	margin: 40px auto 64px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--bg);
	color: var(--text);
}

.pp-theme .pp-product-page > .detail-gallery { border-radius: 7px 0 0 7px; overflow: hidden; }
.pp-theme .pp-product-page.pp-product-empty { display: block; width: 520px; }

@media (max-width: 760px) {
	.pp-theme .pp-product-page { display: block; width: 500px; max-width: calc(100vw - 20px); margin: 10px auto 40px; }
	.pp-theme .pp-product-page > .detail-gallery { border-radius: 7px 7px 0 0; }
}

.pp-theme .detail-copy .pp-cal-field input { min-height: 45.5px; }
@media (max-width: 760px) {
	.pp-theme .detail-copy .pp-cal-field input { min-height: 50px; }
}

.pp-theme .detail-copy .availability[hidden],
.pp-theme .detail-copy .wrap-picker[hidden] { display: none; }

.pp-theme .detail-copy .field small.pp-over { color: #be4242; }

.pp-theme .detail-copy .field .pp-limit-note:empty { margin-top: -6px; }

.pp-theme .detail-copy .pp-hide-sender { margin: 12px 0 0; }

.pp-theme .detail-copy .field + .error,
.pp-theme .detail-copy fieldset + .error { margin-top: 8px; }
.pp-theme .detail-copy .check-field + .error { margin-top: -8px; }
.pp-theme .detail-copy [aria-invalid="true"] { border-color: #be4242; }

@media (max-width: 760px) {
	.pp-theme .detail-copy .check-field,
	.pp-theme .detail-copy summary,
	.pp-theme .detail-copy .quantity-stepper button,
	.pp-theme .detail-gallery .gallery-tabs button { position: relative; }
	.pp-theme .detail-copy .check-field::after { content: ''; position: absolute; inset: -9px 0; }
	.pp-theme .detail-copy summary::after { content: ''; position: absolute; inset: -11px 0; }
	.pp-theme .detail-copy .quantity-stepper button::after { content: ''; position: absolute; inset: 0 -2px; }
	.pp-theme .detail-gallery .gallery-tabs button::after { content: ''; position: absolute; inset: -1px; }
	.pp-theme .detail-copy .pp-cal-nav { width: 40px; height: 40px; }
	.pp-theme .detail-copy .pp-cal-clear { min-height: 40px; padding: 0 4px; }
}

.pp-theme .detail-copy[aria-busy="true"] .buy-row .primary { cursor: progress; }

.pp-theme .detail-copy .pp-full-details { margin: -8px 0 14px; }
.pp-theme .detail-copy .pp-full-details .icon { width: 14px; height: 14px; }
