/* ============================================================
   DP UX FIXES — 2026-11-06
   Scoped storefront fixes for readability, contrast, touch targets,
   mobile header, transport messaging and product-card actions.
   Hand-authored CSS (no SCSS source owns these overrides).
   ============================================================ */

/* ---------- Skip link ---------- */
.dp-skip-link {
	position: absolute;
	left: 12px;
	top: -80px;
	z-index: 10050;
	padding: 12px 18px;
	border-radius: 0 0 10px 10px;
	background: #0d2c53;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: top .15s ease;
}
.dp-skip-link:focus,
.dp-skip-link:focus-visible {
	top: 0;
	color: #fff;
	outline: 3px solid #f2c14e;
	outline-offset: 2px;
}

/* ---------- Transport message ---------- */
.dp-transport-note {
	margin: 8px 0 0;
	padding: 7px 10px;
	border-left: 3px solid #245eae;
	border-radius: 0 6px 6px 0;
	background: #f3f8fe;
	color: #243b53;
	font-size: 12.5px;
	line-height: 1.45;
	font-weight: 600;
}
.dp-transport-note--free {
	border-left-color: #128c54;
	background: #f0faf5;
	color: #0f6b41;
}
.dp-ship__pay {
	margin: 7px 0 0;
	padding: 7px 10px;
	border-left: 3px solid #245eae;
	border-radius: 0 6px 6px 0;
	background: #f3f8fe;
	color: #243b53;
	font-size: 12.5px;
	line-height: 1.45;
}

/* ---------- Product card ---------- */
.dpmp-product-card__title {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
.dpmp-product-card__name {
	display: block;
	font-size: 15px;
	line-height: 1.35;
	color: #112b42;
}
.page--catalog-products .dpmp-product-card__category {
	display: none;
}
/* The category facet duplicates the main menu on catalog pages. */
.page--catalog-products .facet--category {
	display: none;
}
.dpmp-product-card__description {
	font-size: 13px;
	line-height: 1.45;
	color: #4d6478;
}
.dpmp-product-card__stock,
.dpmp-product-card__rating-summary {
	font-size: 12px;
	color: #4d6478;
}
.dpmp-product-card__cart-form {
	display: block;
	margin: 0;
}
.dpmp-product-card__button--cart {
	width: 100%;
	border: 0;
	cursor: pointer;
}

/* ---------- PDP CTA hierarchy ---------- */
.premium-whatsapp-action a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid #cfe6d6;
	border-radius: 10px;
	background: #f4fbf7;
	color: #166534;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
}
.premium-whatsapp-action a:hover,
.premium-whatsapp-action a:focus {
	border-color: #9fd0b0;
	background: #e9f7ef;
	color: #0f5c2f;
}

/* ---------- PDP readability / contrast ---------- */
.product-summary__info--shipping,
.product-summary__info--sku,
.product-summary__info--tax-price-gross {
	font-size: 12.5px;
	line-height: 1.45;
	color: #4d6478;
}
.product-summary__info--old-price-gross,
.product-summary__info--rrp-price-gross {
	color: #5b6f80;
}
.product-summary__info--shipping .dp-transport-note {
	margin: 0;
}
.product-summary__info--shipping:empty {
	display: none;
}
.product-summary__info {
	color: #4d6478;
}
.dpmp-product-card__star {
	font-size: 14px;
	line-height: 1;
}

/* ---------- Shipping / threshold microcopy ---------- */
.dp-ship__disclaimer,
.dp-ship__marker-label,
.dp-cart-threshold__msg {
	font-size: 12px;
	line-height: 1.45;
	color: #52677f;
}
.dp-ship__pay strong,
.dp-ship__disclaimer strong {
	color: #243b53;
}

/* ---------- Touch targets ---------- */
@media (pointer: coarse) {
	.header__action,
	.header__cart,
	.product-summary__quantity button,
	.quantity__button,
	.dp-purchase-quantity button {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.dpmp-product-card__star {
		min-width: 28px;
		min-height: 28px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* ---------- Mobile header ---------- */
@media (max-width: 767.98px) {
	html:root {
		--dpc-top: 72px;
		--dpc-nav: 48px;
		--dpc-total: 120px;
		--dp-m-header-total: 120px;
	}
	html body {
		padding-top: 120px !important;
	}
	html body #dp-phone-clean {
		height: 120px !important;
	}
	html body #dp-phone-clean .dpc-top {
		grid-template-rows: 32px 36px !important;
		gap: 2px !important;
		height: 72px !important;
		padding: 2px 8px !important;
	}
	html body #dp-phone-clean .dpc-brand {
		height: 32px !important;
	}
	html body #dp-phone-clean .dpc-brand img {
		max-height: 26px !important;
		max-width: 104px !important;
	}
	html body #dp-phone-clean .dpc-search {
		height: 36px !important;
		border-radius: 9px !important;
	}
	html body #dp-phone-clean .dpc-search input {
		height: 30px !important;
		font-size: 13px !important;
	}
	html body #dp-phone-clean .dpc-nav {
		height: 48px !important;
		padding: 2px 4px !important;
	}
	html body #dp-phone-clean .dpc-nav button,
	html body #dp-phone-clean .dpc-nav a {
		height: 44px !important;
		padding: 3px 1px !important;
		gap: 2px !important;
		font-size: 11px !important;
		letter-spacing: -.15px;
	}
	html body #dp-phone-clean .dpc-nav .dpc-ico {
		height: 20px !important;
		font-size: 16px !important;
		line-height: 20px !important;
	}
	html {
		scroll-padding-top: 128px;
	}
}

/* ---------- Calculator readability ---------- */
.dp-calc-page__eyebrow {
	font-size: 12px;
}

/* ---------- Calculator dimension guard ---------- */
.dp-pc-error {
	margin: 4px 0 10px;
	padding: 10px 12px;
	border: 1px solid #e7b4b4;
	border-radius: 9px;
	background: #fff5f5;
	color: #8a1f1f;
	font-size: 13px;
	line-height: 1.45;
}
.dp-pc-error[hidden] {
	display: none !important;
}

/* ---------- Guest checkout note ---------- */
.dp-checkout-guest-note {
	margin: 0 0 14px;
	padding: 10px 13px;
	border: 1px solid #d7e6f5;
	border-radius: 11px;
	background: #f7fbff;
	color: #243b53;
	font-size: 13px;
	line-height: 1.5;
}

/* ---------- Cart threshold legend ---------- */
.dp-ship__legend {
	margin: 6px 0 10px;
	font-size: 12px;
	line-height: 1.4;
	color: #52677f;
}

/* ---------- Checkout transport note ---------- */
.dp-checkout-ship-note {
	margin: 0 0 16px;
	padding: 11px 14px;
	border: 1px solid #d7e6f5;
	border-radius: 12px;
	background: #f7fbff;
	color: #243b53;
	font-size: 13px;
	line-height: 1.5;
}
.dp-checkout-ship-note--free {
	border-color: #c9e8d8;
	background: #f0faf5;
	color: #0f6b41;
}

/* ---------- Branded 404 ---------- */
.dp-404 {
	padding: 48px 16px 64px;
}
.dp-404__inner {
	max-width: 760px;
	margin: 0 auto;
	padding: 34px 28px;
	border: 1px solid #dfe9f4;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(17, 43, 66, .08);
	text-align: center;
}
.dp-404__kicker {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #245eae;
}
.dp-404__title {
	margin: 0 0 12px;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.15;
	color: #112b42;
}
.dp-404__text {
	margin: 0 auto 22px;
	max-width: 560px;
	font-size: 15px;
	line-height: 1.6;
	color: #52677f;
}
.dp-404__search {
	max-width: 520px;
	margin: 0 auto 22px;
}
.dp-404__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 10px;
	margin: 0 0 24px;
}
.dp-404__links a {
	padding: 9px 13px;
	border: 1px solid #dbe6f2;
	border-radius: 999px;
	background: #f7fbff;
	color: #1f4f8a;
	font-size: 13px;
	text-decoration: none;
}
.dp-404__links a:hover,
.dp-404__links a:focus {
	border-color: #245eae;
	background: #eef6ff;
}
.dp-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

/* ---------- Footer readability ---------- */
@media (max-width: 767.98px) {
	#dp-lux-footer .dp-lux-footer__menu-content a,
	#dp-lux-footer .dp-lux-footer__contact,
	#dp-lux-footer .dp-lux-footer__company {
		font-size: 13px;
		line-height: 1.5;
	}
}