.dpip-cost,
.dpip-cost-entry,
.dpip-cost-linked {
	--dpip-cost-blue: #0754a4;
	--dpip-cost-navy: #062f67;
	--dpip-cost-yellow: #ffc515;
	--dpip-cost-orange: #ff6a00;
	--dpip-cost-ink: #10253e;
	--dpip-cost-muted: #60758c;
	--dpip-cost-line: #cbdbea;
	--dpip-cost-soft: #f3f8fd;
	box-sizing: border-box;
}

/* Keep the estimator on the site's 1200px content line without changing any
 * ordinary WordPress page or another DPIP application. */
body.dpip-estimate-page #primary.sdd-standard-page {
	padding-top: clamp(14px, 2vw, 22px);
	padding-bottom: 0;
}

body.dpip-estimate-page #primary.sdd-standard-page .sdd-page-header h1 {
	margin: 0 0 13px;
	color: var(--dpip-cost-ink, #10253e);
	font-size: clamp(30px, 3.2vw, 42px);
	line-height: 1.1;
}

body.dpip-estimate-page #primary.sdd-standard-page .sdd-page-content {
	margin: 0;
	padding: 0;
}

body.dpip-estimate-page .entry-content > .dpip.dpip-cost > .dpip-cost__top.dpip-shell,
body.dpip-estimate-page .entry-content > .dpip.dpip-cost > .dpip-cost-main.dpip-shell {
	max-width: var(--sdd-shell, 1200px);
	padding-right: 0;
	padding-left: 0;
	width: min(calc(100% - 30px), var(--sdd-shell, 1200px));
}

.dpip-cost *,
.dpip-cost-entry *,
.dpip-cost-linked * {
	box-sizing: border-box;
}

/* Theme display rules must never override the native hidden state. */
.dpip-cost [hidden] {
	display: none !important;
}

.dpip-cost__top {
	display: grid;
	gap: 9px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.dpip-cost-nav {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	align-items: stretch;
	gap: 8px;
	padding: 8px;
	border: 1px solid var(--dpip-cost-line);
	border-radius: 15px;
	background: linear-gradient(110deg, #fff 0%, #f7fbff 72%, #fffbea 100%);
	box-shadow: 0 10px 28px rgba(17, 55, 92, .07);
}

.dpip-cost-nav__brand {
	display: grid !important;
	place-items: center;
	align-self: center;
	aspect-ratio: 1;
	min-width: 0;
	min-height: 0;
	padding: 5px;
	border: 1px solid #b9cfe4;
	border-radius: 13px;
	background: #fff;
	box-shadow: inset 0 -4px 0 var(--dpip-cost-yellow), 0 7px 18px rgba(11, 59, 105, .1);
	overflow: hidden;
}

.dpip-cost-nav__brand img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: contain;
	transform: scale(2.1);
	transform-origin: center;
}

.dpip-cost-nav__links {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
}

.dpip-cost-nav__links > a {
	display: grid;
	place-items: center;
	min-height: 44px;
	padding: 6px 7px;
	border: 1px solid #b8cee3;
	border-radius: 10px;
	background: rgba(255, 255, 255, .9);
	color: #164b82;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, transform .2s ease;
}

.dpip-cost-nav__brand:hover,
.dpip-cost-nav__brand:focus-visible,
.dpip-cost-nav__links > a:hover,
.dpip-cost-nav__links > a:focus-visible {
	border-color: var(--dpip-cost-blue);
	outline: 3px solid rgba(7, 84, 164, .16);
	outline-offset: 1px;
	transform: translateY(-1px);
}

.dpip-cost-nav__links > a:hover,
.dpip-cost-nav__links > a:focus-visible {
	background: #edf6ff;
}

.dpip-cost-nav__links > a[aria-current="page"] {
	border-color: #06488f;
	background: linear-gradient(135deg, #06478e, #0870c8);
	box-shadow: inset 0 -3px 0 var(--dpip-cost-yellow), 0 6px 14px rgba(6, 72, 143, .18);
	color: #fff;
}

.dpip-cost-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0;
	border-top: 4px solid var(--dpip-cost-yellow);
	border-bottom: 1px solid rgba(255, 197, 21, .72);
	background: linear-gradient(118deg, #052f69 0%, #0757aa 65%, #126b99 100%);
	color: #fff;
}

.dpip-cost-hero::before {
	position: absolute;
	z-index: -1;
	top: -90px;
	right: -55px;
	width: 360px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 197, 21, .24), rgba(255, 106, 0, .09) 44%, transparent 72%);
	content: "";
}

.dpip-cost-hero::after {
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 0;
	width: min(34%, 390px);
	height: 5px;
	background: linear-gradient(90deg, transparent, var(--dpip-cost-orange), var(--dpip-cost-yellow));
	content: "";
}

.dpip-cost-hero .dpip-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px clamp(16px, 2.2vw, 26px);
}

.dpip-cost-hero__copy {
	min-width: 0;
}

.dpip.dpip-cost .dpip-cost-hero__title {
	margin: 7px 0 7px;
	color: #fff !important;
	font-size: clamp(27px, 3.5vw, 40px);
	font-weight: 800;
	line-height: 1.08;
	text-shadow: 0 2px 16px rgba(0, 24, 54, .24);
}

.dpip-cost-hero p {
	max-width: 760px;
	margin: 0;
	color: rgba(255, 255, 255, .88);
	font-size: 16px;
}

.dpip-cost-hero__badge {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 8px;
	padding: 12px 17px;
	border: 1px solid rgba(255, 211, 69, .7);
	border-radius: 12px;
	background: rgba(3, 42, 88, .48);
	box-shadow: 0 8px 18px rgba(0, 27, 61, .16);
	font-weight: 700;
	white-space: nowrap;
}

.dpip-cost-hero__badge > span {
	width: 10px;
	height: 10px;
	border: 2px solid rgba(255, 255, 255, .68);
	border-radius: 50%;
	background: var(--dpip-cost-yellow);
	box-shadow: 0 0 0 4px rgba(255, 197, 21, .15);
}

.dpip-cost-main {
	display: grid;
	gap: 12px;
	padding-top: 14px;
	padding-bottom: 18px;
}

.dpip-cost-alert {
	display: grid;
	gap: 4px;
	padding: 15px 17px;
	border: 1px solid #e5bd4a;
	border-left: 5px solid #f3b700;
	border-radius: 12px;
	background: #fff9dc;
	color: #594307;
}

.dpip-cost-alert--error {
	border-color: #efb6b6;
	border-left-color: #c62828;
	background: #fff2f2;
	color: #772121;
}

.dpip-cost-alert a {
	justify-self: start;
	margin-top: 5px;
	font-weight: 700;
}

.dpip-cost-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 12px;
}

.dpip-cost-card {
	position: relative;
	min-width: 0;
	overflow: hidden;
	padding: 14px;
	border: 1px solid var(--dpip-cost-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(17, 55, 92, .06);
}

.dpip-cost-card::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--dpip-cost-blue), var(--dpip-cost-yellow) 72%, var(--dpip-cost-orange));
	content: "";
}

.dpip-cost-card__head {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin-bottom: 12px;
}

.dpip-cost-card__head > span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: linear-gradient(145deg, #063c7c, #0870c8);
	box-shadow: 0 0 0 4px #edf5fd;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.dpip-cost-card h2 {
	margin: 0 0 3px;
	color: var(--dpip-cost-ink);
	font-size: 19px;
	line-height: 1.2;
}

.dpip-cost-card p {
	margin: 0;
	color: var(--dpip-cost-muted);
	font-size: 13px;
	line-height: 1.45;
}

.dpip-cost-card__head p {
	display: inline-block;
	margin-top: 3px;
	padding: 5px 8px;
	border-left: 3px solid var(--dpip-cost-yellow);
	border-radius: 0 7px 7px 0;
	background: #f2f7fc;
	color: #35516d;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.42;
}

.dpip-cost-grid,
.dpip-cost-measures {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.dpip-cost-measures[data-dpip-measure-group="direct"] {
	grid-template-columns: minmax(0, 1fr);
}

.dpip-cost-card--surface .dpip-cost-grid {
	grid-template-columns: minmax(0, 1fr);
}

.dpip-cost-grid__wide {
	grid-column: 1 / -1;
}

.dpip-cost label {
	display: grid;
	align-content: start;
	gap: 6px;
	min-width: 0;
	color: var(--dpip-cost-ink);
	font-size: 13px;
	font-weight: 700;
}

.dpip-cost input,
.dpip-cost select {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	padding: 9px 11px;
	border: 1px solid #b9cde0;
	border-radius: 9px;
	background: #fff;
	color: var(--dpip-cost-ink);
	font: inherit;
	font-size: 16px;
	font-weight: 500;
}

.dpip-cost input:focus,
.dpip-cost select:focus {
	border-color: var(--dpip-cost-blue);
	box-shadow: 0 0 0 3px rgba(7, 84, 164, .14);
	outline: 0;
}

.dpip-cost-form input:not([type="checkbox"]):not([type="radio"]),
.dpip-cost-form select {
	height: 44px;
	min-height: 44px;
	line-height: 1.25;
}

.dpip-cost-price-modes,
.dpip-cost-labor {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	min-width: 0;
	margin: 0 0 12px;
	padding: 12px;
	border: 1px solid #c7d9e9;
	border-radius: 12px;
	background: #f7fbff;
}

.dpip-cost-price-modes legend,
.dpip-cost-labor legend {
	padding: 0 7px;
	color: var(--dpip-cost-navy);
	font-size: 14px;
	font-weight: 800;
}

.dpip-cost-price-modes > label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	padding: 10px;
	border: 1px solid #cbdcea;
	border-radius: 10px;
	background: #fff;
}

.dpip-cost-price-modes input[type="radio"],
.dpip-cost-confirm input[type="checkbox"],
.dpip-cost-save__confirm input[type="checkbox"] {
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
	min-height: 18px;
	margin: 0;
	padding: 0;
	accent-color: var(--dpip-cost-blue);
}

.dpip-cost-price-modes label > span,
.dpip-cost-price-modes label small {
	display: block;
}

.dpip-cost-price-modes label small,
.dpip-cost label small {
	color: var(--dpip-cost-muted);
	font-weight: 500;
	line-height: 1.4;
}

.dpip-cost-price-panel {
	display: grid;
	gap: 10px;
	margin-bottom: 12px;
	padding: 12px;
	border: 1px solid #b8cfe4;
	border-radius: 12px;
	background: #fff;
}

.dpip-cost-process-picker {
	display: grid;
	gap: 5px;
	margin-bottom: 12px;
}

.dpip-cost-process-steps {
	margin-bottom: 12px;
}

.dpip-cost-process-panel {
	display: grid;
	gap: 8px;
	padding: 11px;
	border: 1px solid #c7d9e9;
	border-radius: 12px;
	background: #f7fbff;
}

.dpip-cost-process-step {
	display: grid !important;
	grid-template-columns: 205px minmax(180px, 1fr) minmax(225px, 1.25fr) 78px;
	align-items: start;
	gap: 10px;
	padding: 9px 10px;
	border: 1px solid #d7e4ef;
	border-radius: 9px;
	background: #fff;
}

@media (min-width: 1101px) {
	.dpip-cost-process-step[data-dpip-workflow-step="paint15_1"] .dpip-cost-process-step__copy > strong {
		white-space: nowrap;
	}
}

.dpip-cost-process-step__copy,
.dpip-cost-process-step__formula,
.dpip-cost-process-step__system {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.dpip-cost-process-step__coats {
	display: grid;
	gap: 4px;
	white-space: nowrap;
}

.dpip-cost-process-step > label > span {
	display: flex;
	align-items: flex-end;
	min-height: 2.8em;
	font-size: 13px;
	line-height: 1.4;
}

.dpip-cost-workflow-prices {
	grid-template-columns: 1fr;
	color: var(--dpip-cost-muted);
}

.dpip-cost-workflow-prices p {
	margin: 0;
}

.dpip-cost-grid--formula,
.dpip-cost-labor {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dpip-cost-manual-prices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: 10px;
}

.dpip-cost-manual-prices > label > span {
	display: flex;
	align-items: flex-end;
	min-height: 2.8em;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.dpip-cost-confirm,
.dpip-cost-save__confirm {
	display: flex !important;
	align-items: flex-start !important;
	gap: 9px !important;
	padding: 10px 11px;
	border: 1px solid #e0bd45;
	border-radius: 9px;
	background: #fff9dc;
	color: #514008 !important;
	font-size: 13px !important;
	line-height: 1.4;
}

.dpip-cost .dpip-cost-confirm,
.dpip-cost .dpip-cost-confirm > span {
	color: #b42318 !important;
}

.dpip-cost .dpip-cost-confirm > input[type="checkbox"] {
	align-self: flex-start;
	display: block;
	height: 18px !important;
	margin: 0 !important;
	min-height: 18px !important;
	width: 18px !important;
}

.dpip-cost .dpip-cost-confirm > span {
	display: block;
	line-height: 18px;
}

.dpip-cost-labor {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 12px;
}

.dpip-cost-form__actions {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 10px 11px;
	border: 1px solid #dda800;
	border-radius: 14px;
	background: linear-gradient(100deg, #fff5be, #fffdf2 60%, #fff);
	box-shadow: 0 10px 28px rgba(126, 83, 0, .1);
}

.dpip-cost-form__disclaimer {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	margin: 0;
	color: #4e3d08;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.dpip-cost-form__disclaimer > span {
	display: grid;
	flex: 0 0 28px;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #f0b900;
	color: #092f62;
	font-size: 15px;
	font-weight: 900;
}

.dpip-cost-form__submit {
	gap: 9px;
	min-width: 270px;
	min-height: 56px !important;
	padding-right: 24px !important;
	padding-left: 24px !important;
	border-color: #07376c !important;
	background: var(--dpip-cost-blue) !important;
	box-shadow: 0 10px 22px rgba(7, 84, 164, .28), inset 0 1px 0 rgba(255, 255, 255, .2);
	color: #fff !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .01em;
}

.dpip-cost-form__submit:hover,
.dpip-cost-form__submit:focus-visible {
	background: #063f7e !important;
	border-color: #052f5f !important;
	color: #fff !important;
}

.dpip-cost .dpip-btn,
.dpip-cost-entry .dpip-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 17px;
	border: 1px solid var(--dpip-cost-blue);
	border-radius: 10px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease, filter .2s ease, transform .2s ease;
}

.dpip-cost .dpip-btn--yellow {
	border-color: #e5ac00;
	background: var(--dpip-cost-yellow);
	color: #083a76;
}

.dpip-cost .dpip-btn--blue {
	border-color: var(--dpip-cost-blue);
	background: var(--dpip-cost-blue);
	color: #fff;
}

.dpip-cost .dpip-btn--outline,
.dpip-cost-entry .dpip-btn--outline {
	background: #fff;
	color: var(--dpip-cost-blue);
}

.dpip-cost .dpip-btn:hover,
.dpip-cost .dpip-btn:focus-visible,
.dpip-cost-entry .dpip-btn:hover,
.dpip-cost-entry .dpip-btn:focus-visible {
	filter: brightness(1.02);
	outline: 3px solid rgba(7, 84, 164, .18);
	outline-offset: 2px;
	transform: translateY(-2px);
}

@media (min-width: 981px) {
	.dpip-cost-card--product .dpip-cost-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: end;
	}

	.dpip-cost-card--product .dpip-cost-grid__wide {
		grid-column: auto;
	}
}

.dpip-cost .dpip-btn:disabled {
	border-color: #c7d1dc !important;
	background: #e6edf4 !important;
	color: #758698 !important;
	cursor: not-allowed;
	box-shadow: none;
	filter: none;
	transform: none;
}

.dpip-cost-result {
	overflow: hidden;
	border: 1px solid #9bbcdc;
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 15px 38px rgba(9, 52, 96, .12);
}

.dpip-cost-result__status {
	margin: 0;
	padding: 22px;
	color: var(--dpip-cost-muted);
	font-weight: 700;
	text-align: center;
}

.dpip-cost-result__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	background: linear-gradient(112deg, #062f69, #0862b6);
	color: #fff;
}

.dpip-cost-result__head span {
	color: var(--dpip-cost-yellow);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.dpip-cost-result__head h2 {
	margin: 5px 0 3px;
	color: #fff;
	font-size: 23px;
}

.dpip-cost-result__head p {
	margin: 0;
	color: rgba(255, 255, 255, .78);
}

.dpip-cost-result__total {
	font-size: clamp(24px, 4vw, 38px);
	white-space: nowrap;
}

.dpip-cost-result__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 12px;
	gap: 6px;
}

.dpip-cost-result__metrics > div {
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid #dbe6f0;
	border-radius: 10px;
	background: #f7fafe;
}

.dpip-cost-result__metrics > div.is-total {
	border-color: #e8bd37;
	background: #fff8d6;
}

.dpip-cost-result__metrics dt {
	color: var(--dpip-cost-muted);
	font-size: 12px;
}

.dpip-cost-result__metrics dd {
	margin: 4px 0 0;
	color: var(--dpip-cost-ink);
	font-size: 16px;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.dpip-cost-result__notes {
	margin: 0 12px;
	padding: 8px 10px;
	border-left: 4px solid var(--dpip-cost-blue);
	background: var(--dpip-cost-soft);
	color: #415a73;
}

.dpip-cost-result__notes p {
	margin: 4px 0;
}

.dpip-cost-result__materials,
.dpip-cost-result__steps {
	display: grid;
	gap: 6px;
	margin: 0 12px 10px;
}

.dpip-cost-result__materials h3,
.dpip-cost-result__steps h3 {
	margin: 0;
	color: var(--dpip-cost-ink);
	font-size: 17px;
}

.dpip-cost-result__step {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 10px;
	border: 1px solid #d9e5ef;
	border-radius: 10px;
	background: #fbfdff;
}

.dpip-cost-result__step div {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.dpip-cost-result__material small,
.dpip-cost-result__step span {
	color: var(--dpip-cost-muted);
	font-size: 13px;
}

.dpip-cost-result__step b {
	color: var(--dpip-cost-navy);
	white-space: nowrap;
}

.dpip-cost-result__table-wrap {
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid #d9e5ef;
	border-radius: 8px;
}

.dpip-cost .dpip-cost-result__table {
	width: 100%;
	min-width: 590px;
	margin: 0;
	border-collapse: collapse;
	font-size: 13px;
	line-height: 1.4;
}

.dpip-cost .dpip-cost-result__table :is(th, td) {
	padding: 7px 8px;
	border: 0;
	border-bottom: 1px solid #e0e9f2;
	text-align: left;
	vertical-align: top;
}

.dpip-cost .dpip-cost-result__table thead th {
	background: #edf4fc;
	color: #174f98;
	font-weight: 700;
	white-space: nowrap;
}

.dpip-cost .dpip-cost-result__table tbody th {
	width: 34%;
	font-weight: 600;
}

.dpip-cost .dpip-cost-result__table small {
	display: block;
	margin-top: 3px;
	font-weight: 400;
}

.dpip-cost .dpip-cost-result__table .dpip-cost-result__amount {
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

.dpip-cost-result__company,
.dpip-cost-print-root {
	display: none;
}

.dpip-cost-email__login {
	margin: 0;
	padding: 0 12px 12px;
	font-size: 13px;
}

.dpip-cost-result__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding: 12px;
}

.dpip-cost-save {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-width: min(100%, 620px);
}

.dpip-cost-save__confirm {
	margin: 0;
}

.dpip-cost-email {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	align-items: end;
	gap: 10px;
	padding: 12px;
	border-top: 1px solid #e0e9f2;
	background: #fbfdff;
}

.dpip-cost-email__status {
	grid-column: 1 / -1;
	min-height: 1.4em;
	margin: 0;
	color: var(--dpip-cost-muted);
	font-size: 13px;
}

.dpip-cost-email__copy-note {
	display: block;
	margin-top: 4px;
	color: var(--dpip-cost-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

.dpip-cost-explain {
	padding: 16px;
	border: 1px solid #c9deee;
	border-top: 4px solid var(--dpip-cost-blue);
	border-radius: 15px;
	background: #edf5fc;
}

.dpip-cost-explain h2 {
	margin: 0 0 12px;
	font-size: 20px;
}

.dpip-cost-explain > div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.dpip-cost-explain article {
	display: grid;
	gap: 4px;
	padding: 13px;
	border: 1px solid #cfdfed;
	border-radius: 10px;
	background: #fff;
}

.dpip-cost-explain article span {
	color: var(--dpip-cost-muted);
	font-size: 13px;
}

.dpip-cost-entry {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 14px;
	padding: 16px 18px;
	border: 1px solid #bad0e5;
	border-left: 5px solid var(--dpip-cost-yellow);
	border-radius: 13px;
	background: linear-gradient(105deg, #f4f9ff, #fffdf2);
}

.dpip-cost-entry.is-linked {
	border-left-color: #11965a;
	background: #f2fcf6;
}

.dpip-cost-entry span {
	color: var(--dpip-cost-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
}

.dpip-cost-entry h2 {
	margin: 3px 0;
	font-size: 19px;
}

.dpip-cost-entry p {
	margin: 0;
	color: var(--dpip-cost-muted);
	font-size: 13px;
}

.dpip-cost-linked {
	display: grid;
	gap: 4px;
	margin-top: 12px;
	padding: 13px 14px;
	border: 1px solid #9bd1b4;
	border-radius: 10px;
	background: #effbf4;
	color: #185b3a;
}

.dpip-cost-linked small {
	color: #537666;
}

@media (max-width: 1100px) {
	.dpip-cost-nav__links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dpip-cost-nav__links > a:last-child:nth-child(3n + 1) {
		grid-column: 1 / -1;
	}

	.dpip-cost-process-step {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-cost-process-step__copy {
		grid-column: 1 / -1;
	}
}

@media (max-width: 980px) {
	.dpip-cost-result__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-cost-manual-prices,
	.dpip-cost-workflow-prices,
	.dpip-cost-grid--formula,
	.dpip-cost-labor {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	body.dpip-estimate-page #primary.sdd-standard-page {
		padding-top: 12px;
	}

	body.dpip-estimate-page #primary.sdd-standard-page .sdd-page-header h1 {
		margin-bottom: 9px;
		font-size: clamp(27px, 8.2vw, 34px);
	}

	body.dpip-estimate-page .entry-content > .dpip.dpip-cost > .dpip-cost__top.dpip-shell,
	body.dpip-estimate-page .entry-content > .dpip.dpip-cost > .dpip-cost-main.dpip-shell {
		width: calc(100% - 20px);
	}

	.dpip-cost__top {
		gap: 8px;
		padding: 7px 0 9px;
	}

	.dpip-cost-nav {
		grid-template-columns: 66px minmax(0, 1fr);
		align-items: start;
		gap: 5px;
		padding: 6px;
	}

	.dpip-cost-nav__brand {
		padding: 3px;
		border-radius: 10px;
	}

	.dpip-cost-nav__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
	}

	.dpip-cost-nav__links > a {
		min-height: 44px;
		padding: 5px 4px;
		font-size: 11.5px;
		line-height: 1.2;
	}

	.dpip-cost-nav__links > a:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.dpip-cost-hero .dpip-shell {
		align-items: flex-start;
		padding: 16px 14px 17px;
	}

	.dpip-cost-hero__title {
		margin: 5px 0;
		font-size: 27px;
	}

	.dpip-cost-hero p {
		font-size: 14px;
		line-height: 1.45;
	}

	.dpip-cost-hero__badge {
		display: none;
	}

	.dpip-cost-main {
		gap: 10px;
		padding: 10px 0 14px;
	}

	.dpip-cost-card {
		padding: 12px;
		border-radius: 12px;
	}

	.dpip-cost-card__head {
		grid-template-columns: 30px minmax(0, 1fr);
		gap: 8px;
		margin-bottom: 10px;
	}

	.dpip-cost-card__head > span {
		width: 30px;
		height: 30px;
		font-size: 12px;
	}

	.dpip-cost-card h2 {
		font-size: 18px;
	}

	.dpip-cost-card p {
		font-size: 13px;
		line-height: 1.4;
	}

	.dpip-cost-card__head p {
		padding: 5px 7px;
		font-weight: 700;
	}

	.dpip-cost-grid,
	.dpip-cost-measures {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.dpip-cost-measures[data-dpip-measure-group="direct"] {
		grid-template-columns: 1fr;
	}

	.dpip-cost-form__actions {
		align-items: stretch;
		grid-template-columns: 1fr;
		gap: 9px;
		padding: 10px;
	}

	.dpip-cost-form__disclaimer {
		align-items: flex-start;
		font-size: 13px;
	}

	.dpip-cost-form__submit {
		width: 100%;
		min-width: 0;
	}

	.dpip-cost-result__head {
		align-items: flex-start;
		flex-direction: column;
		padding: 16px;
	}

	.dpip-cost-result__total {
		white-space: normal;
	}

	.dpip-cost-result__metrics {
		grid-template-columns: 1fr 1fr;
		padding: 10px;
	}

	.dpip-cost-result__metrics > div {
		padding: 10px;
	}

	.dpip-cost-result__notes {
		margin: 0 10px;
	}

	.dpip-cost-result__actions,
	.dpip-cost-email {
		grid-template-columns: 1fr;
		align-items: stretch;
		padding: 10px;
	}

	.dpip-cost-result__actions .dpip-btn,
	.dpip-cost-email .dpip-btn {
		width: 100%;
	}

	.dpip-cost-price-modes,
	.dpip-cost-manual-prices,
	.dpip-cost-workflow-prices,
	.dpip-cost-grid--formula,
	.dpip-cost-labor,
	.dpip-cost-save {
		grid-template-columns: 1fr;
	}

	.dpip-cost-process-step,
	.dpip-cost-result__material,
	.dpip-cost-result__step {
		align-items: flex-start;
		flex-direction: column;
	}

	.dpip-cost-process-step {
		grid-template-columns: 1fr;
	}

	.dpip-cost-process-step__coats {
		width: 100%;
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-cost-process-step > label > span,
	.dpip-cost-manual-prices > label > span {
		min-height: 1.4em;
	}

	.dpip-cost-explain {
		padding: 14px;
	}

	.dpip-cost-explain > div {
		grid-template-columns: 1fr;
	}

	.dpip-cost-entry {
		align-items: stretch;
		flex-direction: column;
		margin: 0 0 10px;
		padding: 13px;
	}
}

@media (max-width: 370px) {
	.dpip-cost-nav {
		grid-template-columns: 58px minmax(0, 1fr);
	}

}

@media (max-width: 390px) {
	.dpip-cost-result__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-cost-result__metrics > div {
		padding: 7px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dpip-cost *,
	.dpip-cost-entry * {
		scroll-behavior: auto !important;
		transition: none !important;
		transform: none !important;
	}

	.dpip-cost .dpip-cost-nav__brand img {
		transform: scale(2.1) !important;
	}
}

@page dpip-estimate {
	size: A4;
	margin: 11mm;
}

@media print {
	body[data-dpip-cost-printing] {
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	body[data-dpip-cost-printing] > :not(.dpip-cost-print-root) {
		display: none !important;
	}

	body[data-dpip-cost-printing] .dpip-cost-print-root {
		display: block !important;
		page: dpip-estimate;
		width: 100%;
		margin: 0;
		padding: 0;
		font-family: "DPIP Be Vietnam Pro", Arial, sans-serif;
		font-size: 13px;
		line-height: 1.4;
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	.dpip-cost-print-root .dpip-cost-result {
		overflow: visible;
		border: 1px solid #b9cfe5;
		border-radius: 0;
		box-shadow: none;
	}

	.dpip-cost-print-root .dpip-cost-result__head {
		padding: 10px 12px;
	}

	.dpip-cost-print-root .dpip-cost-result__head h2 {
		font-size: 18px;
		line-height: 1.35;
	}

	.dpip-cost-print-root .dpip-cost-result__total {
		font-size: 23px;
	}

	.dpip-cost-print-root .dpip-cost-result__metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: 8px;
		gap: 4px;
	}

	.dpip-cost-print-root .dpip-cost-result__metrics > div {
		padding: 5px 7px;
	}

	.dpip-cost-print-root .dpip-cost-result__metrics dd {
		font-size: 14px;
		margin-top: 2px;
	}

	.dpip-cost-print-root .dpip-cost-result__steps,
	.dpip-cost-print-root .dpip-cost-result__materials {
		margin: 0 8px 8px;
		gap: 4px;
	}

	.dpip-cost-print-root .dpip-cost-result__table-wrap {
		overflow: visible;
	}

	.dpip-cost-print-root .dpip-cost-result__table {
		min-width: 0;
		font-size: 12px;
	}

	.dpip-cost-print-root .dpip-cost-result__table :is(th, td) {
		padding: 5px 6px;
	}

	.dpip-cost-print-root .dpip-cost-result__table small,
	.dpip-cost-print-root .dpip-cost-result__step span {
		font-size: 12px;
	}

	.dpip-cost-print-root :is(tr, .dpip-cost-result__step, .dpip-cost-result__head, .dpip-cost-result__company) {
		break-inside: avoid;
	}

	.dpip-cost-print-root h3 {
		font-size: 15px;
		break-after: avoid;
	}

	.dpip-cost-print-root .dpip-cost-result__notes {
		margin: 0 8px 8px;
		padding: 5px 8px;
		font-size: 12px;
	}

	.dpip-cost-print-root .dpip-cost-result__company {
		display: block;
		padding: 8px 10px;
		border-top: 3px solid #ffc501;
		background: #edf4fc;
		color: #174f98;
		font-size: 12px;
	}

	.dpip-cost-print-root .dpip-cost-result__company p {
		margin: 3px 0;
	}
}
