/**
 * New product page design (template-parts/product-page/), loaded on top of
 * product-details.css while Developer Options > "Use the new product page
 * design" is on. product-details.css still styles the gallery, lightbox,
 * auction panel and similar-products carousel; this file adds the new
 * layout. Everything is scoped to `.zpd`.
 *
 * Visual language: the theme's own palette (navy headings, blue actions)
 * and the card style its bespoke account pages already use -- rounded
 * cards, pill chips, round icon badges on the light blue tint, soft
 * shadows, gentle hover/press motion.
 */

.zpd {
	--zpd-ink: #00113A;
	--zpd-text: #303233;
	--zpd-body: #4B5563;
	--zpd-muted: #6B7280;
	--zpd-line: #E3E8EE;
	--zpd-line-hover: #C9E2EF;
	--zpd-soft: #F6F8FA;
	--zpd-tint: #EAF4FA;
	--zpd-blue: #1BA0D7;
	--zpd-blue-dark: #158BBD;
	--zpd-blue-2: #469BC2;
	--zpd-save: #15803D;
	--zpd-save-tint: #E7F7EE;
	--zpd-alert: #B91C1C;
	--zpd-alert-tint: #FDECEC;
	--zpd-warn: #B45309;
	--zpd-warn-tint: #FFF4E0;
	--zpd-radius: 14px;
	--zpd-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
	--zpd-shadow: 0 8px 22px rgba(15, 23, 42, .08);
	--zpd-shadow-lg: 0 14px 32px rgba(0, 17, 58, .16);
	--zpd-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ===========================
   Gallery: share button under the wishlist heart
=========================== */

.zpd .main-img-container .zpd-share-btn {
	top: 1rem;
	right: 1rem;
	border: 0;
	z-index: 2;
	transition: color .2s ease, transform .2s var(--zpd-ease);
}

.zpd .main-img-container .wishlist ~ .zpd-share-btn {
	top: calc(1rem + 48px);
}

.zpd .main-img-container .zpd-share-btn:hover,
.zpd .main-img-container .zpd-share-btn:focus-visible {
	color: var(--zpd-blue);
	transform: scale(1.08);
}

/* ===========================
   Right column
=========================== */

.zpd-summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-left: 2.25rem;
}

/* Soft entrance, one block after another. */
.zpd-reveal {
	animation: zpd-rise .45s var(--zpd-ease) both;
}

.zpd-summary > .zpd-reveal:nth-child(2) { animation-delay: .04s; }
.zpd-summary > .zpd-reveal:nth-child(3) { animation-delay: .08s; }
.zpd-summary > .zpd-reveal:nth-child(4) { animation-delay: .12s; }
.zpd-summary > .zpd-reveal:nth-child(5) { animation-delay: .16s; }
.zpd-summary > .zpd-reveal:nth-child(6) { animation-delay: .2s; }
.zpd-summary > .zpd-reveal:nth-child(n+7) { animation-delay: .24s; }

@keyframes zpd-rise {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Title block */

.zpd-head__brands {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.zpd-head__brand {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--zpd-tint);
	color: var(--zpd-blue-2);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}

a.zpd-head__brand:hover {
	background: var(--zpd-blue-2);
	color: #fff;
}

.zpd-head__title {
	margin: 0 0 8px;
	/* media.css forces every h1 to 28-30px with !important below 992px. */
	font-size: 28px !important;
	line-height: 1.3 !important;
	font-weight: 700;
	letter-spacing: -.2px;
	color: var(--zpd-ink);
	overflow-wrap: anywhere;
}

.zpd-head__rating {
	cursor: pointer;
	width: fit-content;
}

.zpd-head__rating .star-rating {
	margin-bottom: 0;
}

/* Price */

.zpd-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 18px 20px;
	border-radius: var(--zpd-radius);
	background: linear-gradient(135deg, #F4FAFD 0%, #FFFFFF 70%);
	border: 1px solid var(--zpd-line);
}

.zpd-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .3px;
}

.zpd-pill--save {
	background: var(--zpd-save-tint);
	color: var(--zpd-save);
}

.zpd-price__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
}

.zpd-price__current {
	font-size: 36px;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -.5px;
	color: var(--zpd-ink);
}

.zpd-price__current .woocommerce-Price-amount {
	white-space: nowrap;
}

.zpd-price__regular {
	font-size: 18px;
	font-weight: 500;
	color: var(--zpd-muted);
}

.zpd-price__off {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--zpd-save-tint);
	color: var(--zpd-save);
	font-size: 14px;
	font-weight: 800;
}

.zpd-price__off i {
	font-size: 12px;
}

.zpd-price__note {
	margin: 0;
	font-size: 13px;
	color: var(--zpd-muted);
}

.zpd-price__ends {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--zpd-alert);
}

.zpd-price__unavailable {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--zpd-muted);
}

/* Auction: its own price / countdown / bid panel (template-parts/product/
   auction-panel.php), in the same card as a fixed price. */

.zpd-auction {
	padding: 18px 20px;
	border: 1px solid var(--zpd-line);
	border-radius: var(--zpd-radius);
	background: linear-gradient(135deg, #F4FAFD 0%, #FFFFFF 70%);
}

.zpd-auction > :last-child {
	margin-bottom: 0 !important;
}

.zpd-auction .auction-price-jump {
	margin-bottom: 12px !important;
}

.zpd-auction p.reserve {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--zpd-warn-tint);
	color: var(--zpd-warn);
	font-size: 13px;
	font-weight: 700;
}

.zpd-auction p.reserve::before {
	content: "\f017";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
}

.zpd-auction p.reserve.free {
	background: var(--zpd-save-tint);
	color: var(--zpd-save);
}

.zpd-auction p.reserve.free::before {
	content: "\f058";
	font-weight: 900;
}

/* Stock */

.zpd-stock {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	margin: 0;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
}

.zpd-stock--low {
	background: var(--zpd-alert-tint);
	color: var(--zpd-alert);
}

.zpd-stock--low i {
	animation: zpd-flicker 1.6s ease-in-out infinite;
}

@keyframes zpd-flicker {
	50% {
		transform: scale(1.15);
	}
}

.zpd-stock--backorder {
	background: var(--zpd-warn-tint);
	color: var(--zpd-warn);
}

.zpd-soldout {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--zpd-radius);
	background: var(--zpd-alert-tint);
}

.zpd-soldout__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	color: var(--zpd-alert);
	font-size: 18px;
}

.zpd-soldout__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 14px;
	color: var(--zpd-text);
}

.zpd-soldout__text strong {
	font-size: 18px;
	color: var(--zpd-alert);
}

/* Short description */

.zpd-desc__text {
	font-size: 15px;
	line-height: 1.7;
	color: var(--zpd-body);
}

.zpd-desc__text p {
	margin: 0 0 .5em;
}

.zpd-desc__text > :last-child {
	margin-bottom: 0;
}

.zpd-desc__text.is-clamped {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	overflow: hidden;
}

.zpd-desc__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--zpd-blue);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.zpd-desc__toggle i {
	font-size: 11px;
	transition: transform .25s var(--zpd-ease);
}

.zpd-desc__toggle[aria-expanded="true"] i {
	transform: rotate(180deg);
}

.zpd-desc__toggle:hover span {
	text-decoration: underline;
}

/* Cards (delivery, seller) */

.zpd-card {
	border: 1px solid var(--zpd-line);
	border-radius: var(--zpd-radius);
	background: #fff;
	box-shadow: var(--zpd-shadow-sm);
	overflow: hidden;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.zpd-card:hover {
	border-color: var(--zpd-line-hover);
	box-shadow: var(--zpd-shadow);
}

.zpd-icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--zpd-tint);
	color: var(--zpd-blue-2);
	font-size: 16px;
	transition: background .25s ease, color .25s ease, transform .25s var(--zpd-ease);
}

/* One line of a card: icon, text, optional action. */
.zpd-line {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 16px 18px;
	border: 0;
	background: none;
	text-align: left;
	font: inherit;
	color: var(--zpd-text);
	text-decoration: none;
}

.zpd-line + .zpd-line {
	border-top: 1px dashed var(--zpd-line);
}

.zpd-line--action {
	cursor: pointer;
	transition: background .2s ease;
}

.zpd-line--action:hover,
.zpd-line--action:focus-visible {
	background: var(--zpd-soft);
	color: var(--zpd-text);
}

.zpd-line--action:hover .zpd-icon {
	background: var(--zpd-blue-2);
	color: #fff;
	transform: scale(1.05);
}

.zpd-line--action:focus-visible {
	outline: 2px solid var(--zpd-blue);
	outline-offset: -2px;
}

.zpd-line__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 15px;
	line-height: 1.4;
}

.zpd-line__text strong {
	color: var(--zpd-ink);
	font-weight: 700;
}

.zpd-line__muted {
	font-size: 13px;
	color: var(--zpd-muted);
}

.zpd-line__sub {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--zpd-muted);
}

.zpd-line__sub--save {
	color: var(--zpd-save);
	font-weight: 600;
}

.zpd-chip-btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--zpd-line-hover);
	border-radius: 999px;
	background: #fff;
	color: var(--zpd-blue);
	font-size: 13px;
	font-weight: 700;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.zpd-chip-btn i {
	font-size: 10px;
	transition: transform .2s var(--zpd-ease);
}

.zpd-line--action:hover .zpd-chip-btn {
	background: var(--zpd-blue);
	border-color: var(--zpd-blue);
	color: #fff;
}

.zpd-line--action:hover .zpd-chip-btn i {
	transform: translateX(2px);
}

/* Seller */

.zpd-seller {
	padding: 18px;
}

.zpd-seller__top {
	display: flex;
	align-items: center;
	gap: 14px;
}

.zpd-seller__avatar {
	flex: none;
	display: block;
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--zpd-tint);
	transition: box-shadow .25s ease;
}

.zpd-seller__avatar img {
	display: block;
	width: 52px;
	height: 52px;
	border: 1px solid var(--zpd-line);
	border-radius: 50%;
	object-fit: cover;
	background: #fff;
}

.zpd-seller:hover .zpd-seller__avatar {
	box-shadow: 0 0 0 3px var(--zpd-line-hover);
}

.zpd-seller__who {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.zpd-seller__eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--zpd-muted);
}

.zpd-seller__name {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--zpd-ink);
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color .2s ease;
}

.zpd-seller__name:hover {
	color: var(--zpd-blue);
}

.zpd-rating-chip {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--zpd-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.zpd-rating-chip i {
	font-size: 11px;
	color: #FBBF24;
}

.zpd-rating-chip--sm {
	padding: 3px 9px;
	font-size: 12px;
}

.zpd-seller__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.zpd-seller__facts li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--zpd-soft);
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-body);
}

.zpd-seller__facts li i {
	color: var(--zpd-blue-2);
}

.zpd-seller__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dashed var(--zpd-line);
}

.zpd .zpd-support-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0; /* third-party-overrides.css adds a top margin to Dokan's support buttons */
	padding: 10px 18px;
	border: 1.5px solid var(--zpd-blue-2);
	border-radius: 10px;
	background: #fff;
	color: var(--zpd-blue-2);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s var(--zpd-ease), box-shadow .2s ease;
}

.zpd .zpd-support-btn::before {
	content: "\f086";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
}

.zpd .zpd-support-btn:hover,
.zpd .zpd-support-btn:focus-visible {
	background: var(--zpd-blue);
	border-color: var(--zpd-blue);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(27, 160, 215, .25);
}

.zpd .zpd-support-btn:active {
	transform: translateY(0) scale(.98);
}

.zpd-seller__visit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--zpd-ink);
	text-decoration: none;
}

.zpd-seller__visit i {
	font-size: 13px;
	transition: transform .2s var(--zpd-ease);
}

.zpd-seller__visit:hover {
	color: var(--zpd-blue);
}

.zpd-seller__visit:hover i {
	transform: translateX(4px);
}

/* ===========================
   Buy buttons (last in the column)
=========================== */

.zpd-buy {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.zpd-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--zpd-warn-tint);
	color: var(--zpd-warn);
	font-size: 14px;
	font-weight: 600;
}

/* The stock message is stock.php; Get Support sits in the seller card. */
.zpd .zpd-actions .stock,
.zpd .dokan-store-support-btn-product:not(.zpd-support-btn) {
	display: none !important;
}

.zpd .zpd-actions form.cart {
	margin-bottom: 0;
}

/* Bar product-page.js builds from the two buttons. Docked: in place in the
   form. Floating: fixed to the bottom of the screen until the visitor
   scrolls to where it belongs. Both buttons carry .btn-buy-now (simple.php
   gives Add to Cart that class too), so Buy Now is matched by its name. */
.zpd-buybar-slot {
	flex: 1 1 100%;
	order: 1;
}

.zpd-buybar {
	display: flex;
	gap: 12px;
}

.zpd .zpd-buybar .single_add_to_cart_button,
.zpd .zpd-buybar button[name="zurgle_buy_now"] {
	flex: 1 1 0;
	min-width: 0;
	min-height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .2px;
	text-transform: none;
	transition: transform .2s var(--zpd-ease), box-shadow .2s ease, background .2s ease, color .2s ease;
}

.zpd .zpd-buybar .single_add_to_cart_button {
	order: 1;
	border: 2px solid var(--zpd-blue-2);
	background: #fff;
	color: var(--zpd-blue-2);
}

.zpd .zpd-buybar button[name="zurgle_buy_now"] {
	order: 2;
	border: 2px solid transparent;
	background: linear-gradient(135deg, #22AEE3 0%, var(--zpd-blue-dark) 100%);
	color: #fff;
	box-shadow: 0 8px 20px rgba(27, 160, 215, .3);
}

.zpd .zpd-buybar .single_add_to_cart_button::before,
.zpd .zpd-buybar button[name="zurgle_buy_now"]::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 17px;
}

.zpd .zpd-buybar .single_add_to_cart_button::before {
	content: "\f07a";
}

.zpd .zpd-buybar button[name="zurgle_buy_now"]::before {
	content: "\f0e7";
}

/* `!important`: product-details.css has `.btn:hover { border: 1px solid transparent !important }`. */
.zpd .zpd-buybar .single_add_to_cart_button:hover,
.zpd .zpd-buybar .single_add_to_cart_button:focus-visible {
	border: 2px solid var(--zpd-blue-2) !important;
	background: var(--zpd-tint);
	color: var(--zpd-ink);
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(70, 155, 194, .22);
}

.zpd .zpd-buybar button[name="zurgle_buy_now"]:hover,
.zpd .zpd-buybar button[name="zurgle_buy_now"]:focus-visible {
	border: 2px solid transparent !important;
	background: linear-gradient(135deg, #1BA0D7 0%, #127AA6 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(27, 160, 215, .4);
}

.zpd .zpd-buybar .single_add_to_cart_button:active,
.zpd .zpd-buybar button[name="zurgle_buy_now"]:active {
	transform: translateY(0) scale(.98);
}

.zpd-buybar.is-floating {
	position: fixed;
	bottom: 16px;
	z-index: 1030;
	padding: 10px;
	border: 1px solid rgba(227, 232, 238, .9);
	border-radius: 18px;
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: var(--zpd-shadow-lg);
	animation: zpd-bar-in .3s var(--zpd-ease);
}

@keyframes zpd-bar-in {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* ===========================
   Full-width sections: All details / Ratings & Reviews / Q&A
=========================== */

.zpd-sections {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 12px 0 24px;
}

.zpd-section {
	border: 1px solid var(--zpd-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--zpd-shadow-sm);
	scroll-margin-top: 24px;
	transition: box-shadow .25s ease, border-color .25s ease;
}

.zpd-section:hover {
	border-color: var(--zpd-line-hover);
	box-shadow: var(--zpd-shadow);
}

.zpd-section__heading {
	margin: 0;
	/* media.css forces every h2 to 36px with !important below 1500px. */
	font-size: 1rem !important;
	line-height: 1.3 !important;
	letter-spacing: normal;
}

.zpd-section__toggle {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 20px 22px;
	border: 0;
	border-radius: 16px;
	background: none;
	text-align: left;
	color: var(--zpd-ink);
	cursor: pointer;
	transition: background .2s ease;
}

.zpd-section__toggle:not(.collapsed) {
	border-radius: 16px 16px 0 0;
}

.zpd-section__toggle:hover {
	background: #FAFCFD;
}

.zpd-section__toggle:focus-visible {
	outline: 2px solid var(--zpd-blue);
	outline-offset: -2px;
}

.zpd-section__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--zpd-tint);
	color: var(--zpd-blue-2);
	font-size: 18px;
	transition: background .25s ease, color .25s ease, transform .25s var(--zpd-ease);
}

.zpd-section__toggle:hover .zpd-section__icon,
.zpd-section__toggle:not(.collapsed) .zpd-section__icon {
	background: var(--zpd-blue-2);
	color: #fff;
}

.zpd-section__toggle:hover .zpd-section__icon {
	transform: rotate(-6deg) scale(1.04);
}

.zpd-section__titles {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.zpd-section__title {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
}

.zpd-section__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--zpd-muted);
}

.zpd-section__chevron {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--zpd-soft);
	color: var(--zpd-ink);
	font-size: 13px;
	transition: transform .3s var(--zpd-ease), background .2s ease, color .2s ease;
}

.zpd-section__toggle:hover .zpd-section__chevron {
	background: var(--zpd-tint);
}

.zpd-section__toggle:not(.collapsed) .zpd-section__chevron {
	transform: rotate(180deg);
	background: var(--zpd-ink);
	color: #fff;
}

.zpd-section__body {
	padding: 20px 22px 26px;
	border-top: 1px solid var(--zpd-line);
	animation: zpd-fade .35s ease both;
}

@keyframes zpd-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Tabs inside All details: pills (ids shared with the current design's tabs). */

.zpd ul#productDetailTabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0;
	padding: 2px 2px 8px;
	border-bottom: 0 !important;
	overflow-x: auto;
	scrollbar-width: none;
	list-style: none;
}

.zpd ul#productDetailTabs::-webkit-scrollbar {
	display: none;
}

.zpd-tabs .nav-item {
	flex: none;
}

.zpd-tabs .nav-link {
	padding: 9px 18px;
	border: 1px solid var(--zpd-line);
	border-radius: 999px;
	background: #fff;
	color: var(--zpd-body);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.zpd-tabs .nav-link:hover {
	border-color: var(--zpd-line-hover);
	background: var(--zpd-tint);
	color: var(--zpd-ink);
}

.zpd-tabs .nav-link.active,
.zpd-tabs .nav-link.active:hover {
	border-color: var(--zpd-ink);
	background: var(--zpd-ink);
	color: #fff;
	box-shadow: 0 6px 16px rgba(0, 17, 58, .2);
}

.zpd div#productDetailTabsContent {
	padding-top: 18px !important;
}

.zpd #productDetailTabsContent p {
	font-size: 16px;
	line-height: 27px !important;
}

.zpd #productDetailTabsContent img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.zpd #productDetailTabsContent table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
}

.zpd #productDetailTabsContent .tab-pane {
	overflow-x: auto;
}

/* Rating breakdown above the reviews */

.zpd-rating-summary {
	display: grid;
	grid-template-columns: 190px minmax(0, 420px);
	gap: 32px;
	align-items: center;
	padding: 22px 24px;
	margin-bottom: 26px;
	border-radius: var(--zpd-radius);
	background: linear-gradient(135deg, var(--zpd-soft) 0%, #FFFFFF 100%);
	border: 1px solid var(--zpd-line);
}

.zpd-rating-summary__score {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.zpd-rating-summary__value {
	font-size: 44px;
	font-weight: 800;
	line-height: 1.05;
	color: var(--zpd-ink);
}

.zpd-rating-summary__value i {
	font-size: 26px;
	color: #F59E0B;
}

.zpd-rating-summary__count {
	margin-top: 6px;
	font-size: 14px;
	font-weight: 500;
	color: var(--zpd-muted);
}

.zpd-rating-summary__bars {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zpd-rating-summary__bar {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 40px;
	gap: 12px;
	align-items: center;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-text);
}

.zpd-rating-summary__bar:last-child {
	margin-bottom: 0;
}

.zpd-rating-summary__label i {
	font-size: 10px;
	color: #F59E0B;
}

.zpd-rating-summary__track {
	height: 8px;
	border-radius: 999px;
	background: #E9EEF3;
	overflow: hidden;
}

/* Grows from empty each time the section opens. */
.zpd-rating-summary__fill {
	display: block;
	width: var(--zpd-fill, 0%);
	height: 100%;
	border-radius: 999px;
	background: var(--zpd-save);
	animation: zpd-grow .9s var(--zpd-ease) both;
}

@keyframes zpd-grow {
	from {
		width: 0;
	}
}

.zpd-rating-summary__bar--3 .zpd-rating-summary__fill { background: var(--zpd-blue); }
.zpd-rating-summary__bar--2 .zpd-rating-summary__fill { background: #F59E0B; }
.zpd-rating-summary__bar--1 .zpd-rating-summary__fill { background: #EF4444; }

.zpd-rating-summary__num {
	color: var(--zpd-muted);
}

.zpd #zpd-reviews .reviews-heading {
	font-size: 18px;
}

/* Review form button: WooCommerce's own `#respond input#submit` grey otherwise wins over the theme class. */
.zpd #review_form #respond input#submit {
	padding: 12px 30px;
	border: 0;
	border-radius: 10px;
	background: var(--zpd-blue);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	box-shadow: 0 8px 18px rgba(27, 160, 215, .25);
	transition: background .2s ease, transform .2s var(--zpd-ease), box-shadow .2s ease;
}

.zpd #review_form #respond input#submit:hover {
	background: var(--zpd-blue-dark);
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(27, 160, 215, .32);
}

/* Q&A items, rounded to match */

.zpd .qa-item {
	border-color: var(--zpd-line);
	border-radius: 12px;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.zpd .qa-item:hover {
	border-color: var(--zpd-line-hover);
}

.zpd .qa-item.is-open {
	border-color: var(--zpd-blue-2);
	box-shadow: 0 6px 16px rgba(70, 155, 194, .14);
}

.zpd .qa-item:last-child {
	margin-bottom: 0;
}

/* ===========================
   Slide-in panels (share, delivery address)
=========================== */

.zpd-drawer.offcanvas {
	--bs-offcanvas-width: 420px;
	border-left: 0;
	box-shadow: -12px 0 40px rgba(0, 17, 58, .16);
	color: var(--zpd-text);
}

.zpd-drawer__header {
	padding: 20px 22px;
	border-bottom: 1px solid var(--zpd-line);
}

.zpd-drawer__title {
	margin: 0;
	font-size: 20px !important; /* see .zpd-section__heading */
	line-height: 1.3 !important;
	font-weight: 800;
	letter-spacing: normal;
	color: var(--zpd-ink);
}

.zpd-drawer__body {
	padding: 22px;
}

/* Share */

.zpd-share-product {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px;
	margin-bottom: 24px;
	border-radius: var(--zpd-radius);
	background: var(--zpd-soft);
}

.zpd-share-product img {
	flex: none;
	width: 64px;
	height: 64px;
	padding: 4px;
	border-radius: 10px;
	background: #fff;
	object-fit: contain;
}

.zpd-share-product__name {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--zpd-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.zpd-share-product__price {
	margin: 2px 0 0;
	font-size: 15px;
	font-weight: 800;
	color: var(--zpd-ink);
}

.zpd-share-product__price del {
	font-weight: 500;
	color: var(--zpd-muted);
}

.zpd-share-options {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px 8px;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.zpd-share-options [hidden] {
	display: none;
}

.zpd-share-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	color: var(--zpd-text);
	text-decoration: none;
	cursor: pointer;
}

.zpd-share-option__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	font-size: 22px;
	color: #fff;
	background: var(--zpd-blue-2);
	transition: transform .2s var(--zpd-ease), box-shadow .2s ease;
}

.zpd-share-option:hover .zpd-share-option__icon,
.zpd-share-option:focus-visible .zpd-share-option__icon {
	transform: translateY(-3px);
	box-shadow: 0 10px 18px rgba(0, 17, 58, .2);
}

.zpd-share-option:active .zpd-share-option__icon {
	transform: scale(.95);
}

.zpd-share-option__icon--whatsapp { background: #25D366; }
.zpd-share-option__icon--facebook { background: #1877F2; }
.zpd-share-option__icon--x { background: #000; }
.zpd-share-option__icon--telegram { background: #229ED9; }
.zpd-share-option__icon--pinterest { background: #E60023; }
.zpd-share-option__icon--email { background: var(--zpd-ink); }
.zpd-share-option__icon--native { background: var(--zpd-muted); }

.zpd-share-option__label {
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

.zpd-share-copy {
	display: flex;
	padding: 5px;
	border: 1px solid var(--zpd-line);
	border-radius: 12px;
	background: var(--zpd-soft);
}

.zpd-share-copy__input {
	flex: 1;
	min-width: 0;
	padding: 8px 10px;
	border: 0;
	background: transparent;
	font-size: 13px;
	color: var(--zpd-muted);
}

.zpd-share-copy__input:focus {
	outline: none;
}

.zpd-share-copy__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	border: 0;
	border-radius: 9px;
	background: var(--zpd-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: background .2s ease, transform .15s ease;
}

.zpd-share-copy__btn:hover {
	background: var(--zpd-blue-dark);
}

.zpd-share-copy__btn:active {
	transform: scale(.97);
}

.zpd-share-copy__btn.is-copied {
	background: var(--zpd-save);
}

.zpd-share-copy__status {
	min-height: 20px;
	margin: 8px 0 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-save);
}

.zpd-share-copy__status.is-error {
	color: var(--zpd-alert);
}

/* Delivery location: search, current location, results */

.zpd-loc-search {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 14px;
}

.zpd-loc-search__icon {
	position: absolute;
	left: 16px;
	color: var(--zpd-muted);
	pointer-events: none;
}

.zpd-loc-search__input {
	width: 100%;
	height: 50px;
	padding: 0 44px 0 44px;
	border: 1.5px solid var(--zpd-line);
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	color: var(--zpd-text);
	transition: border-color .2s ease, box-shadow .2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.zpd-loc-search__input::-webkit-search-cancel-button {
	display: none;
}

.zpd-loc-search__input::placeholder {
	color: #9CA3AF;
}

.zpd-loc-search__input:focus {
	outline: none;
	border-color: var(--zpd-blue);
	box-shadow: 0 0 0 4px rgba(27, 160, 215, .15);
}

.zpd-loc-search__clear {
	position: absolute;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: var(--zpd-soft);
	color: var(--zpd-muted);
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

.zpd-loc-search__clear:hover {
	background: var(--zpd-tint);
	color: var(--zpd-ink);
}

.zpd-loc-search__clear[hidden] {
	display: none;
}

.zpd-loc-gps {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 1.5px solid var(--zpd-line-hover);
	border-radius: 12px;
	background: var(--zpd-tint);
	text-align: left;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.zpd-loc-gps:hover,
.zpd-loc-gps:focus-visible {
	border-color: var(--zpd-blue);
	background: #E1F1FA;
	box-shadow: var(--zpd-shadow);
}

.zpd-loc-gps:disabled {
	cursor: progress;
}

.zpd-loc-gps__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--zpd-blue);
	color: #fff;
	font-size: 17px;
}

.zpd-loc-gps.is-busy .zpd-loc-gps__icon i {
	animation: zpd-spin 1s linear infinite;
}

@keyframes zpd-spin {
	to {
		transform: rotate(360deg);
	}
}

.zpd-loc-gps__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.zpd-loc-gps__text strong {
	font-size: 15px;
	font-weight: 700;
	color: var(--zpd-blue-dark);
}

.zpd-loc-gps__text span {
	font-size: 13px;
	color: var(--zpd-muted);
}

.zpd-loc-gps__arrow {
	color: var(--zpd-blue-dark);
	font-size: 12px;
	transition: transform .2s var(--zpd-ease);
}

.zpd-loc-gps:hover .zpd-loc-gps__arrow {
	transform: translateX(3px);
}

.zpd-loc-status {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--zpd-soft);
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-body);
}

.zpd-loc-status[hidden] {
	display: none;
}

.zpd-loc-status.is-busy::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	border: 2px solid var(--zpd-line-hover);
	border-top-color: var(--zpd-blue);
	border-radius: 50%;
	animation: zpd-spin .8s linear infinite;
}

.zpd-loc-status.is-error {
	background: var(--zpd-alert-tint);
	color: var(--zpd-alert);
}

.zpd-loc-results {
	margin-bottom: 18px;
}

.zpd-loc-results__list {
	margin: 0;
	padding: 6px;
	border: 1px solid var(--zpd-line);
	border-radius: 12px;
	list-style: none;
	box-shadow: var(--zpd-shadow);
}

.zpd-loc-result {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 9px;
	cursor: pointer;
	transition: background .15s ease;
}

.zpd-loc-result:hover,
.zpd-loc-result.is-active {
	background: var(--zpd-tint);
}

.zpd-loc-result__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--zpd-soft);
	color: var(--zpd-blue-2);
	font-size: 13px;
}

.zpd-loc-result.is-active .zpd-loc-result__icon,
.zpd-loc-result:hover .zpd-loc-result__icon {
	background: #fff;
}

.zpd-loc-result__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.zpd-loc-result__text strong {
	font-size: 14px;
	font-weight: 600;
	color: var(--zpd-text);
	overflow-wrap: anywhere;
}

.zpd-loc-result__text mark {
	padding: 0;
	background: none;
	font-weight: 800;
	color: var(--zpd-ink);
}

.zpd-loc-result__text span {
	font-size: 12px;
	line-height: 1.45;
	color: var(--zpd-muted);
}

.zpd-loc-results__credit {
	margin: 8px 4px 0;
	font-size: 11px;
	color: #9CA3AF;
	text-align: right;
}

.zpd-addr-place {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	margin-bottom: 18px;
	border: 1.5px solid var(--zpd-blue);
	border-radius: 12px;
	background: #F2FAFE;
}

.zpd-addr-place[hidden] {
	display: none;
}

.zpd-addr-place__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.zpd-addr-place__text strong {
	font-size: 15px;
	color: var(--zpd-ink);
	overflow-wrap: anywhere;
}

.zpd-addr-place__text span {
	font-size: 13px;
	line-height: 1.45;
	color: var(--zpd-body);
}

.zpd-addr-place .zpd-chip-btn {
	cursor: pointer;
}

.zpd-addr-place .zpd-chip-btn:hover {
	background: var(--zpd-blue);
	border-color: var(--zpd-blue);
	color: #fff;
}

.zpd-loc-saved[hidden] {
	display: none;
}

.zpd-loc-heading {
	margin: 4px 0 12px;
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--zpd-muted);
}

/* Delivery address */

/* A saved address with its Edit button in the top corner. */
.zpd-address-item {
	position: relative;
}

.zpd-address-item .zpd-address {
	padding-right: 86px;
}

.zpd-address__edit {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border: 1px solid var(--zpd-line-hover);
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	font-weight: 700;
	color: var(--zpd-blue);
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.zpd-address__edit i {
	font-size: 10px;
}

.zpd-address__edit:hover,
.zpd-address__edit:focus-visible {
	border-color: var(--zpd-blue);
	background: var(--zpd-blue);
	color: #fff;
}

.zpd-addresses {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.zpd-address {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border: 1.5px solid var(--zpd-line);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.zpd-address:hover {
	border-color: var(--zpd-line-hover);
	box-shadow: var(--zpd-shadow);
}

.zpd-address:has(input:checked) {
	border-color: var(--zpd-blue);
	background: #F2FAFE;
}

.zpd-address .form-check-input {
	flex: none;
	margin-top: 3px;
}

.zpd-address .form-check-input:checked {
	border-color: var(--zpd-blue);
	background-color: var(--zpd-blue);
}

.zpd-address__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.zpd-address__name {
	font-weight: 700;
	color: var(--zpd-ink);
}

.zpd-address__tag {
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--zpd-tint);
	font-size: 11px;
	font-weight: 700;
	color: var(--zpd-blue-2);
	text-transform: uppercase;
	vertical-align: middle;
}

.zpd-address__lines {
	font-size: 14px;
	line-height: 1.5;
	color: var(--zpd-body);
}

.zpd-add-address {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 13px 16px;
	margin-bottom: 14px;
	border: 1.5px dashed var(--zpd-line-hover);
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	font-weight: 700;
	color: var(--zpd-blue);
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.zpd-add-address:hover,
.zpd-add-address:focus-visible {
	border-color: var(--zpd-blue);
	background: var(--zpd-tint);
	color: var(--zpd-blue-dark);
}

.zpd-drawer__manage {
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: var(--zpd-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.zpd-drawer__manage:hover {
	color: var(--zpd-ink);
}

/* Panel header: back arrow in the form view */

.zpd-drawer__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-right: 8px;
	border: 0;
	border-radius: 50%;
	background: var(--zpd-soft);
	color: var(--zpd-ink);
	cursor: pointer;
	transition: background .2s ease;
}

.zpd-drawer__back:hover {
	background: var(--zpd-tint);
}

.zpd-drawer__back[hidden] {
	display: none;
}

.zpd-drawer__header .zpd-drawer__title {
	flex: 1;
}

.zpd-view[hidden] {
	display: none;
}

.zpd-view:not([hidden]) {
	animation: zpd-fade .25s ease both;
}

/* Add delivery address form: WooCommerce's own fields (woocommerce_form_field()).
   Prefixed with `.zpd .zpd-addr-form` to beat WooCommerce's own
   `.woocommerce form .form-row ...` rules on this page. */

.zpd-addr-form__error {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--zpd-alert-tint);
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-alert);
}

.zpd-addr-form__error[hidden] {
	display: none;
}

.zpd-addr-form__fields {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 12px;
	transition: opacity .2s ease;
}

.zpd-addr-form__fields.is-loading {
	opacity: .45;
	pointer-events: none;
}

.zpd .zpd-addr-form .zpd-addr-form__fields .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
}

.zpd .zpd-addr-form .zpd-addr-form__fields .form-row-wide,
.zpd .zpd-addr-form .zpd-addr-form__fields .form-row:not(.form-row-first):not(.form-row-last) {
	grid-column: 1 / -1;
}

.zpd .zpd-addr-form .zpd-addr-form__fields label {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-text);
}

.zpd .zpd-addr-form .zpd-addr-form__fields label .required {
	color: var(--zpd-alert);
	text-decoration: none;
	border: 0;
}

.zpd .zpd-addr-form .zpd-addr-form__fields label .optional {
	font-weight: 500;
	color: var(--zpd-muted);
}

.zpd .zpd-addr-form .zpd-addr-form__fields .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.zpd .zpd-addr-form .zpd-addr-form__fields input.input-text,
.zpd .zpd-addr-form .zpd-addr-form__fields select {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1.5px solid var(--zpd-line);
	border-radius: 10px;
	background: #fff;
	font-size: 15px;
	color: var(--zpd-text);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.zpd .zpd-addr-form .zpd-addr-form__fields select {
	padding-right: 36px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2300113A' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px;
}

.zpd .zpd-addr-form .zpd-addr-form__fields input.input-text::placeholder {
	color: #9CA3AF;
}

.zpd .zpd-addr-form .zpd-addr-form__fields input.input-text:focus,
.zpd .zpd-addr-form .zpd-addr-form__fields select:focus {
	outline: none;
	border-color: var(--zpd-blue);
	box-shadow: 0 0 0 4px rgba(27, 160, 215, .15);
}

/* A single allowed country shows as text (WooCommerce's own markup). */
.zpd .zpd-addr-form .zpd-addr-form__fields .woocommerce-input-wrapper strong {
	display: block;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--zpd-soft);
	font-size: 15px;
}

.zpd .zpd-addr-form .zpd-addr-form__fields .woocommerce-invalid input.input-text,
.zpd .zpd-addr-form .zpd-addr-form__fields .woocommerce-invalid select {
	border-color: var(--zpd-alert);
	box-shadow: 0 0 0 4px rgba(185, 28, 28, .1);
}

.zpd-field-error {
	font-size: 12px;
	font-weight: 600;
	color: var(--zpd-alert);
}

.zpd-addr-kind {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	border: 0;
}

/* Label above the options, like the other fields' labels. */
.zpd-addr-kind legend {
	float: none;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--zpd-text);
}

.zpd-addr-kind__option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.zpd-addr-kind__option span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border: 1.5px solid var(--zpd-line);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	color: var(--zpd-body);
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.zpd-addr-kind__option:hover span {
	border-color: var(--zpd-line-hover);
	background: var(--zpd-tint);
}

.zpd-addr-kind__option input:checked + span {
	border-color: var(--zpd-ink);
	background: var(--zpd-ink);
	color: #fff;
}

.zpd-addr-kind__option input:focus-visible + span {
	outline: 2px solid var(--zpd-blue);
	outline-offset: 2px;
}

.zpd-addr-form__actions {
	display: flex;
	gap: 12px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px dashed var(--zpd-line);
}

.zpd-addr-form__save {
	flex: 1;
	min-height: 50px;
	padding: 10px 16px;
	border: 0;
	border-radius: 12px;
	background: linear-gradient(135deg, #22AEE3 0%, var(--zpd-blue-dark) 100%);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	box-shadow: 0 8px 20px rgba(27, 160, 215, .3);
	cursor: pointer;
	transition: transform .2s var(--zpd-ease), box-shadow .2s ease;
}

.zpd-addr-form__save:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(27, 160, 215, .38);
}

.zpd-addr-form__save:disabled {
	cursor: progress;
	opacity: .75;
	transform: none;
}

.zpd-addr-form__save.is-busy::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 8px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	vertical-align: -2px;
	animation: zpd-spin .8s linear infinite;
}

.zpd-addr-form__cancel {
	padding: 10px 20px;
	border: 1.5px solid var(--zpd-line);
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	font-weight: 700;
	color: var(--zpd-body);
	cursor: pointer;
	transition: border-color .2s ease, color .2s ease;
}

.zpd-addr-form__cancel:hover {
	border-color: var(--zpd-ink);
	color: var(--zpd-ink);
}

/* Delivery card: a short glow when the delivery address changes. */
.zpd-delivery.is-updated {
	animation: zpd-updated 1.6s ease;
}

@keyframes zpd-updated {
	0%,
	100% {
		box-shadow: var(--zpd-shadow-sm);
	}
	25% {
		border-color: var(--zpd-save);
		box-shadow: 0 0 0 4px rgba(21, 128, 61, .15);
	}
}

/* ===========================
   Responsive
=========================== */

@media (max-width: 991.98px) {
	.zpd-summary {
		padding-left: calc(var(--bs-gutter-x) * .5);
	}

	.zpd-buybar.is-floating {
		left: 0;
		right: 0;
		bottom: 0;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		border-width: 1px 0 0;
		border-radius: 18px 18px 0 0;
	}
}

@media (max-width: 575.98px) {
	.zpd-summary {
		gap: 14px;
	}

	.zpd-head__title {
		font-size: 21px !important;
	}

	.zpd-price {
		padding: 14px 16px;
	}

	.zpd-price__current {
		font-size: 30px;
	}

	.zpd-line {
		padding: 14px;
		gap: 12px;
	}

	.zpd-seller {
		padding: 16px 14px;
	}

	.zpd-seller__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.zpd .zpd-support-btn {
		justify-content: center;
	}

	.zpd-seller__visit {
		justify-content: center;
	}

	.zpd-buybar {
		gap: 10px;
	}

	.zpd .zpd-buybar .single_add_to_cart_button,
	.zpd .zpd-buybar button[name="zurgle_buy_now"] {
		min-height: 50px;
		padding: 8px 10px;
		font-size: 15px;
		gap: 8px;
	}

	.zpd-section__toggle {
		gap: 12px;
		padding: 16px;
	}

	.zpd-section__icon {
		width: 40px;
		height: 40px;
		border-radius: 12px;
		font-size: 16px;
	}

	.zpd-section__title {
		font-size: 18px;
	}

	.zpd-section__body {
		padding: 16px 16px 22px;
	}

	.zpd-rating-summary {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 18px;
	}

	.zpd-drawer.offcanvas {
		--bs-offcanvas-width: 100%;
	}

	.zpd-addr-form__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.zpd .zpd-addr-form .zpd-addr-form__fields .form-row-first,
	.zpd .zpd-addr-form .zpd-addr-form__fields .form-row-last {
		grid-column: 1 / -1;
	}

	.zpd-share-options {
		gap: 18px 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.zpd *,
	.zpd *::before {
		animation: none !important;
		transition: none !important;
	}
}
