.tddlp-configurator {
	--tddlp-ink: #17202a;
	--tddlp-muted: #637083;
	--tddlp-line: #d9e0e8;
	--tddlp-panel: #ffffff;
	--tddlp-soft: #f5f7fa;
	--tddlp-accent: #0f766e;
	--tddlp-accent-2: #2563eb;
	--tddlp-danger: #b42318;
	--tddlp-warning: #a15c07;
	--tddlp-radius: 8px;
	color: var(--tddlp-ink);
	font-family: inherit;
	max-width: 1180px;
	margin: 0 auto;
}

.tddlp-configurator *,
.tddlp-configurator *::before,
.tddlp-configurator *::after {
	box-sizing: border-box;
	letter-spacing: 0;
}

.tddlp-configurator__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
	gap: 18px;
	align-items: start;
}

.tddlp-configurator__viewer-column,
.tddlp-configurator__options-column {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.tddlp-upload,
.tddlp-viewer-card,
.tddlp-options,
.tddlp-price-box {
	background: var(--tddlp-panel);
	border: 1px solid var(--tddlp-line);
	border-radius: var(--tddlp-radius);
	box-shadow: 0 12px 34px rgba(17, 24, 39, 0.07);
}

.tddlp-upload {
	padding: 14px;
}

.tddlp-upload__dropzone {
	position: relative;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	min-height: 118px;
	padding: 16px;
	background: var(--tddlp-soft);
	border: 1px dashed #aab6c5;
	border-radius: 8px;
	cursor: pointer;
	transition: border-color 0.18s ease, background 0.18s ease;
}

.tddlp-upload__dropzone.is-dragging {
	background: #eef9f7;
	border-color: var(--tddlp-accent);
}

.tddlp-upload__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 8px;
	background: #e0f2f1;
	color: #065f5b;
	font-weight: 800;
}

.tddlp-upload strong,
.tddlp-options h3 {
	font-size: 18px;
	line-height: 1.25;
}

.tddlp-upload p {
	margin: 6px 0 0;
	color: var(--tddlp-muted);
	font-size: 14px;
	line-height: 1.45;
}

.tddlp-upload__input {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

.tddlp-upload__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-top: 10px;
	color: var(--tddlp-muted);
	font-size: 13px;
}

.tddlp-upload__status {
	color: var(--tddlp-ink);
	font-weight: 600;
}

.tddlp-upload__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.tddlp-upload-toggle {
	position: relative;
	display: grid;
	grid-template-columns: 20px 32px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-height: 62px;
	padding: 12px;
	border: 1px solid var(--tddlp-line);
	border-radius: 8px;
	background: #ffffff;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.tddlp-upload-toggle:hover {
	transform: translateY(-1px);
	border-color: #b9c8d8;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.tddlp-upload-toggle input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--tddlp-accent);
}

.tddlp-upload-toggle__icon {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: #eef6ff;
	color: var(--tddlp-accent-2);
}

.tddlp-upload-toggle__icon svg,
.tddlp-icon-button svg {
	display: block;
	width: 18px;
	height: 18px;
}

.tddlp-upload-toggle__body {
	display: grid;
	gap: 2px;
}

.tddlp-upload-toggle__body strong {
	font-size: 14px;
	line-height: 1.2;
}

.tddlp-upload-toggle__body small {
	display: block;
	color: var(--tddlp-muted);
	font-size: 12px;
	line-height: 1.35;
}

.tddlp-upload-toggle:has(input:checked) {
	border-color: rgba(37, 99, 235, 0.38);
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
	background: #f8fbff;
}

.tddlp-progress {
	overflow: hidden;
	height: 8px;
	margin-top: 10px;
	background: #e8edf3;
	border-radius: 999px;
}

.tddlp-progress__bar {
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, var(--tddlp-accent), var(--tddlp-accent-2));
	transition: width 0.2s ease;
}

.tddlp-viewer-card {
	position: relative;
	overflow: hidden;
}

.tddlp-viewer {
	position: relative;
	min-height: 420px;
}

.tddlp-viewer-toolbar {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	padding: 10px;
	border-bottom: 1px solid var(--tddlp-line);
	background: #fbfcfe;
}

.tddlp-icon-button,
.tddlp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: 6px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.tddlp-icon-button {
	width: 36px;
	height: 36px;
	padding: 0;
	background: #ffffff;
	border-color: var(--tddlp-line);
	color: var(--tddlp-ink);
}

.tddlp-icon-button svg {
	width: 16px;
	height: 16px;
}

.tddlp-icon-button.is-active {
	background: #fff4f3;
	border-color: #f59e92;
	color: #c2410c;
}

.tddlp-icon-button:hover,
.tddlp-button:hover {
	transform: translateY(-1px);
}

.tddlp-button {
	min-height: 42px;
	padding: 0 16px;
	white-space: nowrap;
}

.tddlp-button--secondary {
	background: #ffffff;
	border-color: var(--tddlp-line);
	color: var(--tddlp-ink);
}

.tddlp-button--primary {
	width: 100%;
	background: var(--tddlp-accent);
	color: #ffffff;
}

.tddlp-button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
}

.tddlp-help {
	display: block;
	margin-top: 6px;
	color: var(--tddlp-muted);
	font-size: 12px;
	line-height: 1.45;
}

.tddlp-label-row {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}

.tddlp-help-tip {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid rgba(37, 99, 235, 0.22);
	background: #eef4ff;
	color: var(--tddlp-accent-2);
	font-size: 12px;
	font-weight: 800;
	cursor: help;
	outline: none;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}

.tddlp-help-tip::after {
	content: attr(data-tooltip);
	position: absolute;
	right: -8px;
	top: calc(100% + 10px);
	z-index: 12;
	width: min(260px, 72vw);
	padding: 10px 12px;
	border-radius: 8px;
	background: #111827;
	color: #ffffff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
	text-transform: none;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 16px 32px rgba(17, 24, 39, 0.22);
	transform: translateY(-2px);
	transition: opacity 0.16s ease, transform 0.16s ease;
}

.tddlp-help-tip:hover::after,
.tddlp-help-tip:focus::after {
	opacity: 1;
	transform: translateY(0);
}

.tddlp-help-tip::before {
	content: '';
	position: absolute;
	right: 5px;
	top: calc(100% + 4px);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	border-bottom: 6px solid #111827;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.16s ease;
}

.tddlp-help-tip:hover::before,
.tddlp-help-tip:focus::before {
	opacity: 1;
}

.tddlp-viewer {
	position: relative;
	min-height: 460px;
	background: #f7f8fb;
}

.tddlp-viewer canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 460px;
}

.tddlp-viewer-legend {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-top: 1px solid var(--tddlp-line);
	background: #fff8f7;
	color: #9a3412;
	font-size: 12px;
	line-height: 1.45;
}

.tddlp-viewer-legend[hidden] {
	display: none;
}

.tddlp-viewer-legend__swatch {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	border-radius: 999px;
	background: rgba(220, 38, 38, 0.92);
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.14);
}

.tddlp-viewer__placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 20px;
	color: var(--tddlp-muted);
	text-align: center;
	z-index: 1;
}

.tddlp-viewcube {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 136px;
	height: 122px;
	pointer-events: none;
	z-index: 3;
	filter: drop-shadow(0 12px 18px rgba(15, 23, 42, 0.16));
}

.tddlp-viewcube__svg {
	position: absolute;
	inset: 2px 0 0 2px;
	width: 134px;
	height: 120px;
	overflow: visible;
	pointer-events: none;
}

.tddlp-viewcube__svg-face {
	pointer-events: auto;
	cursor: pointer;
	outline: none;
}

.tddlp-viewcube__svg-face polygon {
	stroke: rgba(64, 76, 94, 0.95);
	stroke-width: 1.4;
	vector-effect: non-scaling-stroke;
	transition: fill 0.15s ease, stroke 0.15s ease, filter 0.15s ease;
}

.tddlp-viewcube__svg-face text {
	pointer-events: none;
	text-anchor: middle;
	dominant-baseline: middle;
	fill: #111827;
	stroke: rgba(255, 255, 255, 0.96);
	stroke-width: 2.8px;
	paint-order: stroke fill;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.tddlp-viewcube__text--front {
	transform-box: fill-box;
	transform-origin: center;
	transform: rotate(29deg);
}

.tddlp-viewcube__text--right {
	font-size: 10.5px;
	transform-box: fill-box;
	transform-origin: center;
	transform: rotate(-29deg);
}

.tddlp-viewcube__svg-face--top polygon {
	fill: url("#tddlp-vc-top");
}

.tddlp-viewcube__svg-face--front polygon {
	fill: url("#tddlp-vc-front");
}

.tddlp-viewcube__svg-face--right polygon {
	fill: url("#tddlp-vc-right");
}

.tddlp-viewcube__svg-face:hover polygon,
.tddlp-viewcube__svg-face:focus-visible polygon {
	stroke: var(--tddlp-primary);
	filter: brightness(1.06);
}

.tddlp-analysis {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid var(--tddlp-line);
	background: #ffffff;
}

.tddlp-analysis div {
	padding: 10px;
	border-right: 1px solid var(--tddlp-line);
}

.tddlp-analysis div:last-child {
	border-right: 0;
}

.tddlp-analysis span,
.tddlp-price-box span,
.tddlp-field__label,
.tddlp-options label > span {
	display: block;
	color: var(--tddlp-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.tddlp-analysis strong {
	display: block;
	margin-top: 3px;
	font-size: 14px;
}

.tddlp-options {
	display: grid;
	gap: 14px;
	padding: 18px;
}

.tddlp-options h3 {
	margin: 0 0 2px;
}

.tddlp-options__intro {
	margin: -2px 0 2px;
	color: var(--tddlp-muted);
	font-size: 14px;
	line-height: 1.5;
}

.tddlp-step {
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid #e6ebf2;
	border-radius: 8px;
	background: #fbfcfe;
}

.tddlp-step__eyebrow {
	color: var(--tddlp-accent-2);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.tddlp-step__title {
	margin: -6px 0 0;
	font-size: 17px;
	line-height: 1.3;
}

.tddlp-options label,
.tddlp-field {
	display: grid;
	gap: 7px;
}

.tddlp-options select,
.tddlp-options input[type='number'],
.tddlp-options textarea {
	width: 100%;
	min-height: 42px;
	padding: 9px 11px;
	border: 1px solid var(--tddlp-line);
	border-radius: 6px;
	background: #ffffff;
	color: var(--tddlp-ink);
	font: inherit;
}

.tddlp-options textarea {
	min-height: 84px;
	resize: vertical;
}

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

.tddlp-hidden-field {
	display: none !important;
}

.tddlp-custom-scale {
	display: none !important;
}

.tddlp-custom-scale[hidden] {
	display: none !important;
}

.tddlp-dimension-scale {
	display: none;
	gap: 10px;
	padding: 12px;
	border: 1px solid #dbeafe;
	border-radius: 8px;
	background: #f8fbff;
}

.tddlp-dimension-scale[hidden] {
	display: none !important;
}

.tddlp-options:has([data-tddlp-scale-select] option[value='dimensions']:checked) .tddlp-dimension-scale,
.tddlp-configurator.is-dimension-scale .tddlp-dimension-scale,
.tddlp-options:has([data-tddlp-scale-select] option[value='dimensions']:checked) .tddlp-dimension-scale[hidden] {
	display: grid !important;
}

.tddlp-options:has([data-tddlp-scale-select] option[value='dimensions']:checked) .tddlp-custom-scale,
.tddlp-configurator.is-dimension-scale .tddlp-custom-scale,
.tddlp-options:not(:has([data-tddlp-scale-select] option[value='custom']:checked)) .tddlp-custom-scale {
	display: none !important;
}

.tddlp-configurator.is-custom-scale .tddlp-custom-scale,
.tddlp-options:has([data-tddlp-scale-select] option[value='custom']:checked) .tddlp-custom-scale {
	display: grid !important;
}

.tddlp-dimension-scale__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.tddlp-dimension-scale__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tddlp-mini-label {
	color: var(--tddlp-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.tddlp-checkline {
	display: inline-flex !important;
	align-items: center;
	gap: 8px !important;
	min-width: max-content;
	color: var(--tddlp-ink);
	font-size: 13px;
	font-weight: 700;
}

.tddlp-checkline input {
	width: 16px;
	height: 16px;
	margin: 0;
}

.tddlp-scale-assist {
	display: grid;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid #fed7aa;
	border-radius: 8px;
	background: #fff7ed;
	color: #9a3412;
	font-size: 13px;
	line-height: 1.45;
}

.tddlp-scale-assist[hidden] {
	display: none !important;
}

.tddlp-inline-action {
	justify-self: start;
	min-height: 34px;
	padding: 7px 12px;
	border: 1px solid var(--tddlp-accent);
	border-radius: 6px;
	background: #ffffff;
	color: var(--tddlp-accent);
	font-weight: 800;
	cursor: pointer;
}

.tddlp-inline-action:hover,
.tddlp-inline-action:focus {
	background: var(--tddlp-accent);
	color: #ffffff;
	outline: none;
}

.tddlp-material-card {
	display: grid;
	gap: 6px;
	padding: 12px 14px;
	border: 1px solid #dbe5f0;
	border-radius: 8px;
	background: #ffffff;
}

.tddlp-material-card strong {
	font-size: 15px;
	line-height: 1.35;
}

.tddlp-material-card p {
	margin: 0;
	color: var(--tddlp-ink);
	font-size: 13px;
	line-height: 1.5;
}

.tddlp-material-card span {
	color: var(--tddlp-muted);
	font-size: 12px;
	line-height: 1.45;
}

.tddlp-color-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.tddlp-color-swatch {
	position: relative;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 7px;
	align-items: center;
	min-height: 38px;
	padding: 7px;
	border: 1px solid var(--tddlp-line);
	border-radius: 6px;
	cursor: pointer;
}

.tddlp-color-swatch input {
	position: absolute;
	opacity: 0;
}

.tddlp-color-swatch span {
	display: block;
	width: 22px;
	height: 22px;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 50%;
	background: var(--tddlp-swatch);
}

.tddlp-color-swatch em {
	overflow: hidden;
	color: var(--tddlp-ink);
	font-size: 12px;
	font-style: normal;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tddlp-color-swatch:has(input:checked) {
	border-color: var(--tddlp-accent);
	box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.16);
}

.tddlp-extras {
	display: grid;
	gap: 8px;
	padding: 12px;
	background: var(--tddlp-soft);
	border-radius: 8px;
}

.tddlp-extras label {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	color: var(--tddlp-ink);
	font-size: 14px;
}

.tddlp-price-box {
	position: sticky;
	top: 24px;
	display: grid;
	gap: 14px;
	padding: 18px;
}

.tddlp-price-box__top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--tddlp-line);
}

.tddlp-price-box__top strong {
	font-size: 28px;
	line-height: 1.1;
}

.tddlp-price-box__details {
	display: grid;
	gap: 8px;
}

.tddlp-price-box__details div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.tddlp-price-box__details strong {
	text-align: right;
}

.tddlp-price-box__notice {
	margin: 0;
	padding: 12px;
	background: #fff8e6;
	border: 1px solid #f0d58b;
	border-radius: 8px;
	color: #6f4b00;
	font-size: 13px;
	line-height: 1.45;
}

.tddlp-configurator__messages {
	margin-bottom: 12px;
}

.tddlp-message {
	padding: 11px 13px;
	border-radius: 8px;
	border: 1px solid var(--tddlp-line);
	background: #eef4ff;
	color: #1d4f91;
}

.tddlp-message--success {
	background: #edf8f1;
	border-color: #badfc6;
	color: #176339;
}

.tddlp-message--error {
	background: #fff1f0;
	border-color: #f4b9b4;
	color: var(--tddlp-danger);
}

.tddlp-message--warning {
	background: #fff8e6;
	border-color: #f0d58b;
	color: var(--tddlp-warning);
}

body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-checkout .entry-content > .woocommerce,
body.woocommerce-cart main .woocommerce,
body.woocommerce-checkout main .woocommerce,
body.woocommerce-cart div.woocommerce,
body.woocommerce-checkout div.woocommerce {
	--tddlp-cart-ink: #111827;
	--tddlp-cart-muted: #64748b;
	--tddlp-cart-line: #d9e2ec;
	--tddlp-cart-soft: #f6f8fb;
	--tddlp-cart-panel: #ffffff;
	--tddlp-cart-accent: #ff5a00;
	--tddlp-cart-accent-dark: #db4200;
	width: min(1180px, calc(100vw - 32px));
	margin: 0 auto;
	padding: 34px 0 64px;
	color: var(--tddlp-cart-ink);
	font-family: inherit;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper {
	margin-bottom: 18px;
}

body.woocommerce-cart .cart-empty,
body.woocommerce-cart .return-to-shop {
	text-align: center;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
	margin: 0 0 18px;
	padding: 14px 18px;
	border: 1px solid var(--tddlp-cart-line);
	border-left: 4px solid #0f766e;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
	color: var(--tddlp-cart-ink);
	line-height: 1.45;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
	border-left-color: #d92d20;
}

body.woocommerce-cart table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 12px;
	background: transparent;
}

body.woocommerce-cart table.shop_table thead th {
	padding: 13px 16px;
	border: 0;
	background: #edf2f7;
	color: var(--tddlp-cart-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

body.woocommerce-cart table.shop_table thead th:first-child {
	border-radius: 10px 0 0 10px;
}

body.woocommerce-cart table.shop_table thead th:last-child {
	border-radius: 0 10px 10px 0;
}

body.woocommerce-cart table.cart tr.cart_item td {
	padding: 18px 16px;
	border-top: 1px solid var(--tddlp-cart-line);
	border-bottom: 1px solid var(--tddlp-cart-line);
	background: #ffffff;
	vertical-align: middle;
}

body.woocommerce-cart table.cart tr.cart_item td:first-child {
	border-left: 1px solid var(--tddlp-cart-line);
	border-radius: 12px 0 0 12px;
}

body.woocommerce-cart table.cart tr.cart_item td:last-child {
	border-right: 1px solid var(--tddlp-cart-line);
	border-radius: 0 12px 12px 0;
}

body.woocommerce-cart table.cart .product-remove {
	width: 54px;
	text-align: center;
}

body.woocommerce-cart table.cart a.remove {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0 auto;
	border-radius: 50%;
	background: #fff1ed;
	color: #d93614 !important;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

body.woocommerce-cart table.cart a.remove:hover,
body.woocommerce-cart table.cart a.remove:focus {
	background: #d93614;
	color: #ffffff !important;
	transform: translateY(-1px);
}

body.woocommerce-cart table.cart .product-thumbnail {
	width: 86px;
}

body.woocommerce-cart .tddlp-cart-thumb {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 1px solid #b9d7d4;
	border-radius: 12px;
	background: linear-gradient(135deg, #e7f7f5 0%, #fff7ed 100%);
	color: #0f766e;
	font-weight: 900;
	font-size: 17px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.85);
}

body.woocommerce-cart .tddlp-cart-product-title,
body.woocommerce-checkout .tddlp-cart-product-title {
	display: block;
	color: var(--tddlp-cart-ink, #111827);
	font-size: 17px;
	font-weight: 850;
	line-height: 1.25;
}

body.woocommerce-cart .tddlp-cart-product-file,
body.woocommerce-checkout .tddlp-cart-product-file {
	display: inline-flex;
	max-width: 100%;
	margin-top: 5px;
	padding: 4px 8px;
	border: 1px solid #dce6ef;
	border-radius: 999px;
	background: #f8fafc;
	color: var(--tddlp-cart-muted, #64748b);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	word-break: break-word;
}

body.woocommerce-cart table.cart .product-name {
	min-width: 310px;
}

body.woocommerce-cart table.cart .product-name > a {
	color: var(--tddlp-cart-ink);
	font-weight: 850;
	text-decoration: none;
}

body.woocommerce-cart table.cart .product-name dl.variation,
body.woocommerce-checkout table.shop_table dl.variation {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
	gap: 8px;
	margin: 13px 0 0;
	padding: 0;
}

body.woocommerce-cart table.cart .product-name dl.variation dt,
body.woocommerce-checkout table.shop_table dl.variation dt {
	float: none;
	clear: none;
	display: block;
	margin: 0;
	padding: 0;
	color: var(--tddlp-cart-muted, #64748b);
	font-size: 10px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

body.woocommerce-cart table.cart .product-name dl.variation dd,
body.woocommerce-checkout table.shop_table dl.variation dd {
	display: block;
	margin: 2px 0 0;
	padding: 0;
	color: var(--tddlp-cart-ink, #111827);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.25;
}

body.woocommerce-cart table.cart .product-name dl.variation p,
body.woocommerce-checkout table.shop_table dl.variation p {
	margin: 0;
}

body.woocommerce-cart table.cart .product-price,
body.woocommerce-cart table.cart .product-subtotal {
	color: var(--tddlp-cart-ink);
	font-weight: 850;
	white-space: nowrap;
}

body.woocommerce-cart table.cart .quantity .qty {
	width: 74px;
	min-height: 42px;
	padding: 8px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #ffffff;
	color: var(--tddlp-cart-ink);
	font-weight: 800;
	text-align: center;
}

body.woocommerce-cart table.cart td.actions {
	padding: 16px;
	border: 1px solid var(--tddlp-cart-line);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

body.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

body.woocommerce-cart table.cart td.actions .coupon label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.woocommerce-cart #coupon_code {
	width: min(240px, 100%);
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	color: var(--tddlp-cart-ink);
}

body.woocommerce-cart .button,
body.woocommerce-checkout .button,
body.woocommerce-cart button.button,
body.woocommerce-checkout button.button {
	min-height: 44px;
	padding: 11px 18px;
	border: 0;
	border-radius: 8px;
	background: #111827;
	color: #ffffff;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

body.woocommerce-cart .button:hover,
body.woocommerce-checkout .button:hover,
body.woocommerce-cart button.button:hover,
body.woocommerce-checkout button.button:hover,
body.woocommerce-cart .button:focus,
body.woocommerce-checkout .button:focus,
body.woocommerce-cart button.button:focus,
body.woocommerce-checkout button.button:focus {
	background: #263241;
	color: #ffffff;
	box-shadow: 0 12px 24px rgba(15, 23, 42, 0.18);
	transform: translateY(-1px);
}

body.woocommerce-cart .button[disabled],
body.woocommerce-cart button.button[disabled] {
	opacity: 1;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] {
	min-width: 220px;
	background: linear-gradient(135deg, #ff5a00 0%, #db4200 100%);
	color: #ffffff !important;
}

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"][disabled],
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled {
	background: #e5eaf1 !important;
	color: #475569 !important;
	border: 1px solid #d2dae6;
	box-shadow: none;
}

body.woocommerce-cart .cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: min(100%, 500px);
	padding: 24px;
	border: 1px solid var(--tddlp-cart-line);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 16px;
	color: var(--tddlp-cart-ink);
	font-size: 24px;
	font-weight: 850;
	line-height: 1.2;
}

body.woocommerce-cart .cart_totals table.shop_table {
	margin: 0;
	border-spacing: 0;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	padding: 14px 0;
	border-top: 1px solid #e2e8f0;
	background: transparent;
	color: var(--tddlp-cart-ink);
}

body.woocommerce-cart .cart_totals table.shop_table th {
	font-weight: 800;
}

body.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	font-size: 18px;
}

body.woocommerce-cart .wc-proceed-to-checkout {
	padding: 18px 0 0;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	margin: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--tddlp-cart-accent) 0%, var(--tddlp-cart-accent-dark) 100%);
	box-shadow: 0 14px 28px rgba(255, 90, 0, 0.22);
	color: #ffffff !important;
	font-size: 16px;
	font-weight: 900;
	text-decoration: none;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus {
	background: linear-gradient(135deg, #f97316 0%, #c53a00 100%);
	box-shadow: 0 16px 34px rgba(255, 90, 0, 0.28);
}

body.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
	gap: 24px;
	align-items: start;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
	padding: 22px;
	border: 1px solid var(--tddlp-cart-line);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 16px 38px rgba(15, 23, 42, 0.07);
}

body.woocommerce-checkout #order_review_heading {
	margin: 0 0 12px;
	font-size: 24px;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single {
	min-height: 44px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #ffffff;
}

body.woocommerce-checkout #cfw,
body.woocommerce-checkout .cfw-container,
body.woocommerce-checkout .cfw-main-container {
	width: min(1180px, calc(100vw - 32px)) !important;
	max-width: 1180px !important;
	margin-inline: auto !important;
}

body.woocommerce-checkout #cfw-logo-container,
body.woocommerce-checkout .cfw-logo-container {
	width: min(1180px, calc(100vw - 32px)) !important;
	max-width: 1180px !important;
	margin: 0 auto 26px !important;
	padding-top: 28px;
}

body.woocommerce-checkout #cfw-logo-container img,
body.woocommerce-checkout .cfw-logo-container img {
	max-width: 240px;
	height: auto;
}

body.woocommerce-checkout #cfw-main,
body.woocommerce-checkout .cfw-main,
body.woocommerce-checkout .cfw-checkout-main,
body.woocommerce-checkout .cfw-layout {
	display: grid !important;
	grid-template-columns: minmax(520px, 1fr) minmax(390px, 440px) !important;
	gap: clamp(38px, 6vw, 92px) !important;
	align-items: start !important;
}

body.woocommerce-checkout #cfw-customer-info,
body.woocommerce-checkout #cfw-billing-methods,
body.woocommerce-checkout #cfw-payment-method,
body.woocommerce-checkout #cfw-shipping-method,
body.woocommerce-checkout .cfw-panel,
body.woocommerce-checkout .cfw-step {
	border: 1px solid #dce6ef !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07) !important;
}

body.woocommerce-checkout #cfw-cart-summary,
body.woocommerce-checkout .cfw-cart-summary,
body.woocommerce-checkout .cfw-order-review,
body.woocommerce-checkout #order_review {
	width: 100% !important;
	max-width: 440px !important;
	padding: 24px !important;
	border: 1px solid #dce6ef !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08) !important;
}

body.woocommerce-checkout #cfw-cart-summary *,
body.woocommerce-checkout .cfw-cart-summary *,
body.woocommerce-checkout .cfw-order-review * {
	letter-spacing: 0 !important;
}

body.woocommerce-checkout #cfw-cart-summary table,
body.woocommerce-checkout .cfw-cart-summary table,
body.woocommerce-checkout .cfw-order-review table {
	width: 100%;
	border-collapse: collapse;
}

body.woocommerce-checkout #cfw-cart-summary td,
body.woocommerce-checkout #cfw-cart-summary th,
body.woocommerce-checkout .cfw-cart-summary td,
body.woocommerce-checkout .cfw-cart-summary th,
body.woocommerce-checkout .cfw-order-review td,
body.woocommerce-checkout .cfw-order-review th {
	padding: 10px 0;
	border-color: #e2e8f0;
	vertical-align: top;
}

body.woocommerce-checkout .cfw-cart-item,
body.woocommerce-checkout .cart_item {
	gap: 14px !important;
	min-width: 0;
}

body.woocommerce-checkout .cfw-cart-item-title,
body.woocommerce-checkout .product-name {
	min-width: 0 !important;
	max-width: none !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .tddlp-cart-product-title {
	display: block;
	max-width: 100%;
	color: #111827 !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	white-space: normal !important;
	word-break: normal !important;
}

body.woocommerce-checkout .tddlp-cart-product-file {
	max-width: 100%;
	margin: 7px 0 4px;
	padding: 4px 9px;
	font-size: 11px;
	line-height: 1.2;
}

body.woocommerce-checkout dl.variation,
body.woocommerce-checkout .variation,
body.woocommerce-checkout .cfw-cart-item-data {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 6px !important;
	min-width: 0 !important;
	margin: 10px 0 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

body.woocommerce-checkout dl.variation dt,
body.woocommerce-checkout .variation dt {
	float: none !important;
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #64748b !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

body.woocommerce-checkout dl.variation dd,
body.woocommerce-checkout .variation dd {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #111827 !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	line-height: 1.35 !important;
}

body.woocommerce-checkout dl.variation p,
body.woocommerce-checkout .variation p {
	display: inline;
	margin: 0 !important;
}

body.woocommerce-checkout .product-total,
body.woocommerce-checkout .cfw-cart-item-subtotal,
body.woocommerce-checkout .woocommerce-Price-amount {
	white-space: nowrap !important;
	color: #111827;
	font-weight: 850;
}

body.woocommerce-checkout .cart-subtotal,
body.woocommerce-checkout .order-total,
body.woocommerce-checkout .cfw-totals-list tr,
body.woocommerce-checkout .cfw-totals-list .cfw-totals-item {
	color: #111827;
	font-size: 14px;
	line-height: 1.35;
}

body.woocommerce-checkout .order-total strong,
body.woocommerce-checkout .order-total .woocommerce-Price-amount {
	font-size: 18px;
	font-weight: 950;
}

body.woocommerce-checkout .cart-subtotal small,
body.woocommerce-checkout .order-total small,
body.woocommerce-checkout .cfw-totals-list small,
body.woocommerce-checkout .includes_tax {
	display: block !important;
	max-width: 100%;
	margin-top: 8px;
	color: #475569 !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	line-height: 1.45 !important;
	text-align: left !important;
}

body.woocommerce-checkout #cfw-coupons,
body.woocommerce-checkout .cfw-coupon-module,
body.woocommerce-checkout .woocommerce-form-coupon {
	padding: 14px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #f8fafc;
}

body.woocommerce-checkout #cfw-coupons a,
body.woocommerce-checkout .cfw-coupon-module a,
body.woocommerce-checkout .showcoupon {
	color: #0f766e !important;
	font-weight: 850;
	line-height: 1.35;
}

body.woocommerce-checkout #cfw-payment-method .wc_payment_method,
body.woocommerce-checkout .wc_payment_methods .wc_payment_method {
	border-color: #dce6ef !important;
	background: #ffffff !important;
}

body.woocommerce-checkout #cfw-payment-method .payment_box,
body.woocommerce-checkout .payment_box {
	background: #f8fafc !important;
	color: #334155 !important;
	font-size: 13px;
	line-height: 1.5;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout .cfw-primary-btn,
body.woocommerce-checkout .cfw-next-tab,
body.woocommerce-checkout button[type="submit"] {
	min-height: 54px !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #ff5a00 0%, #db4200 100%) !important;
	color: #ffffff !important;
	font-weight: 900 !important;
	box-shadow: 0 14px 28px rgba(255, 90, 0, 0.22) !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout .cfw-primary-btn:hover,
body.woocommerce-checkout .cfw-next-tab:hover,
body.woocommerce-checkout button[type="submit"]:hover {
	background: linear-gradient(135deg, #f97316 0%, #c53a00 100%) !important;
}

body.woocommerce-cart,
body.woocommerce-checkout {
	background: #f6f8fb;
}

body.woocommerce-cart .elementor-location-header,
body.woocommerce-cart .elementor-location-footer,
body.woocommerce-checkout .elementor-location-header,
body.woocommerce-checkout .elementor-location-footer {
	display: none !important;
}

body.woocommerce-cart .dlab-container,
body.woocommerce-checkout .dlab-container {
	width: min(1180px, calc(100vw - 40px));
	margin: 0 auto;
}

body.woocommerce-cart .dlab-top,
body.woocommerce-checkout .dlab-top {
	position: sticky;
	top: 0;
	z-index: 120;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid rgba(216, 227, 236, 0.95);
	box-shadow: 0 8px 28px rgba(16, 24, 32, 0.06);
	backdrop-filter: blur(14px);
}

body.admin-bar.woocommerce-cart .dlab-top,
body.admin-bar.woocommerce-checkout .dlab-top {
	top: 32px;
}

body.woocommerce-cart .dlab-top__inner,
body.woocommerce-checkout .dlab-top__inner {
	display: flex;
	gap: 18px;
	align-items: center;
	min-height: 74px;
}

body.woocommerce-cart .dlab-logo,
body.woocommerce-checkout .dlab-logo {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	text-decoration: none !important;
}

body.woocommerce-cart .dlab-logo img,
body.woocommerce-checkout .dlab-logo img {
	display: block;
	width: 188px;
	height: auto;
}

body.woocommerce-cart .dlab-logo span,
body.woocommerce-checkout .dlab-logo span {
	color: #f06414;
	font-size: 28px;
	font-weight: 950;
}

body.woocommerce-cart .dlab-nav,
body.woocommerce-checkout .dlab-nav {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
}

body.woocommerce-cart .dlab-nav a,
body.woocommerce-checkout .dlab-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 2px;
	border-bottom: 2px solid transparent;
	color: #172434 !important;
	font-size: 15px;
	font-weight: 850;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
}

body.woocommerce-cart .dlab-nav a:hover,
body.woocommerce-cart .dlab-nav a:focus,
body.woocommerce-checkout .dlab-nav a:hover,
body.woocommerce-checkout .dlab-nav a:focus {
	border-color: #f06414;
	color: #000000 !important;
}

body.woocommerce-cart .dlab-top__actions,
body.woocommerce-checkout .dlab-top__actions {
	display: flex;
	gap: 10px;
	align-items: center;
}

body.woocommerce-cart .dlab-pillbtn,
body.woocommerce-checkout .dlab-pillbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 15px;
	border-radius: 6px;
	font-weight: 950;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
}

body.woocommerce-cart .dlab-pillbtn--primary,
body.woocommerce-checkout .dlab-pillbtn--primary {
	background: #f06414;
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(240, 100, 20, 0.22);
}

body.woocommerce-cart .dlab-pillbtn--primary:hover,
body.woocommerce-cart .dlab-pillbtn--primary:focus,
body.woocommerce-checkout .dlab-pillbtn--primary:hover,
body.woocommerce-checkout .dlab-pillbtn--primary:focus {
	background: #bd420e;
}

body.woocommerce-cart .dlab-pillbtn--ghost,
body.woocommerce-checkout .dlab-pillbtn--ghost {
	border: 1px solid #d8e3ec;
	background: #ffffff;
	color: #172434 !important;
}

body.woocommerce-cart .dlab-footer,
body.woocommerce-checkout .dlab-footer {
	position: relative;
	z-index: 20;
	margin-top: 72px;
	padding: 50px 0 0;
	background: #0f1c29;
	color: #d8e2ec;
}

body.woocommerce-cart .dlab-footer *,
body.woocommerce-checkout .dlab-footer * {
	box-sizing: border-box;
}

body.woocommerce-cart .dlab-footer a,
body.woocommerce-checkout .dlab-footer a {
	position: relative;
	z-index: 3;
	color: #ffffff !important;
	text-decoration: none !important;
	pointer-events: auto !important;
}

body.woocommerce-cart .dlab-footer a:hover,
body.woocommerce-cart .dlab-footer a:focus,
body.woocommerce-checkout .dlab-footer a:hover,
body.woocommerce-checkout .dlab-footer a:focus {
	color: #ffb07a !important;
}

body.woocommerce-cart .dlab-footer__grid,
body.woocommerce-checkout .dlab-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 0.8fr 0.8fr;
	gap: 28px;
}

body.woocommerce-cart .dlab-footer strong,
body.woocommerce-checkout .dlab-footer strong {
	display: block;
	margin-bottom: 12px;
	color: #ffffff;
	font-size: 21px;
	font-weight: 950;
}

body.woocommerce-cart .dlab-footer p,
body.woocommerce-checkout .dlab-footer p {
	margin: 0;
	color: #b8c8d8;
	line-height: 1.6;
}

body.woocommerce-cart .dlab-footer ul,
body.woocommerce-checkout .dlab-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-cart .dlab-footer li,
body.woocommerce-checkout .dlab-footer li {
	margin: 9px 0;
}

body.woocommerce-cart .dlab-footer__bar,
body.woocommerce-checkout .dlab-footer__bar {
	margin-top: 38px;
	padding: 16px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body.woocommerce-cart .dlab-footer__meta,
body.woocommerce-checkout .dlab-footer__meta {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	color: #b8c8d8;
	font-size: 14px;
}

body.woocommerce-cart .dlab-social,
body.woocommerce-checkout .dlab-social {
	display: flex;
	gap: 14px;
	align-items: center;
}

.tddlp-cart-shell-header {
	position: relative;
	z-index: 20;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
	color: #0f172a;
}

.tddlp-cart-shell-header a {
	text-decoration: none;
}

.tddlp-cart-shell-top {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	min-height: 36px;
	padding: 8px max(18px, calc((100vw - 1180px) / 2));
	background: #ff5a00;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
}

.tddlp-cart-shell-top div {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
}

.tddlp-cart-shell-top a {
	color: #ffffff;
}

.tddlp-cart-shell-main {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	width: min(1180px, calc(100vw - 32px));
	min-height: 92px;
	margin: 0 auto;
}

.tddlp-cart-shell-brand {
	display: inline-flex;
	align-items: center;
	min-width: 190px;
}

.tddlp-cart-shell-brand img {
	width: min(220px, 32vw);
	height: auto;
}

.tddlp-cart-shell-brand span {
	color: #ff5a00;
	font-size: 30px;
	font-weight: 950;
	letter-spacing: 0;
}

.tddlp-cart-shell-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 24px;
}

.tddlp-cart-shell-nav a {
	color: #0f172a;
	font-size: 14px;
	font-weight: 800;
}

.tddlp-cart-shell-nav a:hover,
.tddlp-cart-shell-nav a:focus {
	color: #ff5a00;
}

.tddlp-cart-shell-account {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 18px;
	border-radius: 8px;
	background: #ff5a00;
	color: #ffffff !important;
	font-weight: 850;
	white-space: nowrap;
}

.tddlp-cart-shell-account:hover,
.tddlp-cart-shell-account:focus {
	background: #db4200;
}

.tddlp-cart-shell-footer {
	margin-top: 72px;
	padding: 48px 0 24px;
	background: #0b1220 !important;
	color: #dbe5f0;
}

.tddlp-cart-shell-footer__grid,
.tddlp-cart-shell-footer__bottom {
	width: min(1180px, calc(100vw - 32px));
	margin: 0 auto;
}

.tddlp-cart-shell-footer__grid {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(160px, 1fr));
	gap: 28px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(219, 229, 240, 0.14);
}

.tddlp-cart-shell-footer h2,
.tddlp-cart-shell-footer h3 {
	margin: 0 0 12px;
	color: #ffffff;
	line-height: 1.2;
}

.tddlp-cart-shell-footer h2 {
	font-size: 28px;
	font-weight: 950;
}

.tddlp-cart-shell-footer h3 {
	font-size: 16px;
	font-weight: 900;
	text-transform: uppercase;
}

.tddlp-cart-shell-footer p {
	max-width: 360px;
	margin: 0;
	color: #cbd5e1;
	line-height: 1.6;
}

.tddlp-cart-shell-footer section {
	display: grid;
	align-content: start;
	gap: 8px;
}

.tddlp-cart-shell-footer a,
.tddlp-cart-shell-footer span {
	color: #dbe5f0;
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
}

.tddlp-cart-shell-footer a:hover,
.tddlp-cart-shell-footer a:focus {
	color: #ffb07a;
}

.tddlp-cart-shell-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: center;
	padding-top: 18px;
}

.tddlp-cart-shell-footer__bottom nav {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

body.woocommerce-cart .elementor-location-footer *,
body.woocommerce-checkout .elementor-location-footer * {
	border-color: rgba(219, 229, 240, 0.14) !important;
}

body.woocommerce-cart .elementor-location-footer .e-con,
body.woocommerce-cart .elementor-location-footer .elementor-section,
body.woocommerce-cart .elementor-location-footer .elementor-column,
body.woocommerce-cart .elementor-location-footer .elementor-widget-wrap,
body.woocommerce-checkout .elementor-location-footer .e-con,
body.woocommerce-checkout .elementor-location-footer .elementor-section,
body.woocommerce-checkout .elementor-location-footer .elementor-column,
body.woocommerce-checkout .elementor-location-footer .elementor-widget-wrap {
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart .elementor-location-footer .elementor-heading-title,
body.woocommerce-cart .elementor-location-footer h1,
body.woocommerce-cart .elementor-location-footer h2,
body.woocommerce-cart .elementor-location-footer h3,
body.woocommerce-checkout .elementor-location-footer .elementor-heading-title,
body.woocommerce-checkout .elementor-location-footer h1,
body.woocommerce-checkout .elementor-location-footer h2,
body.woocommerce-checkout .elementor-location-footer h3 {
	color: #ffffff !important;
	font-size: clamp(18px, 1.5vw, 24px) !important;
	line-height: 1.2;
}

body.woocommerce-cart .elementor-location-footer,
body.woocommerce-cart .elementor-location-footer p,
body.woocommerce-cart .elementor-location-footer li,
body.woocommerce-cart .elementor-location-footer span,
body.woocommerce-checkout .elementor-location-footer,
body.woocommerce-checkout .elementor-location-footer p,
body.woocommerce-checkout .elementor-location-footer li,
body.woocommerce-checkout .elementor-location-footer span {
	color: #dbe5f0 !important;
}

body.woocommerce-cart .elementor-location-footer a,
body.woocommerce-checkout .elementor-location-footer a {
	color: #ffffff !important;
	text-decoration-color: rgba(255, 90, 0, 0.55);
	text-underline-offset: 3px;
}

body.woocommerce-cart .elementor-location-footer a:hover,
body.woocommerce-cart .elementor-location-footer a:focus,
body.woocommerce-checkout .elementor-location-footer a:hover,
body.woocommerce-checkout .elementor-location-footer a:focus {
	color: #ffb07a !important;
}

body.woocommerce-cart .elementor-location-footer .elementor-icon-list-icon i,
body.woocommerce-checkout .elementor-location-footer .elementor-icon-list-icon i {
	color: #ff5a00 !important;
}

body.woocommerce-cart .elementor-location-footer img,
body.woocommerce-checkout .elementor-location-footer img {
	max-width: min(260px, 80vw);
	height: auto;
}

@media (max-width: 920px) {
	.tddlp-configurator__layout {
		grid-template-columns: 1fr;
	}

	.tddlp-price-box {
		position: static;
	}

	body.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	body.woocommerce-checkout #cfw-main,
	body.woocommerce-checkout .cfw-main,
	body.woocommerce-checkout .cfw-checkout-main,
	body.woocommerce-checkout .cfw-layout {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	body.woocommerce-checkout #cfw-cart-summary,
	body.woocommerce-checkout .cfw-cart-summary,
	body.woocommerce-checkout .cfw-order-review,
	body.woocommerce-checkout #order_review {
		max-width: none !important;
	}

	body.woocommerce-cart .dlab-nav,
	body.woocommerce-checkout .dlab-nav {
		gap: 12px;
	}

	body.woocommerce-cart .dlab-footer__grid,
	body.woocommerce-checkout .dlab-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.tddlp-cart-shell-main {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 18px 0;
		text-align: center;
	}

	.tddlp-cart-shell-brand,
	.tddlp-cart-shell-nav,
	.tddlp-cart-shell-account {
		justify-self: center;
	}

	.tddlp-cart-shell-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tddlp-cart-shell-footer__bottom {
		display: grid;
		justify-items: start;
	}
}

@media (max-width: 640px) {
	.tddlp-upload__dropzone {
		grid-template-columns: 44px minmax(0, 1fr);
	}

	.tddlp-upload__dropzone .tddlp-button {
		grid-column: 1 / -1;
	}

	.tddlp-upload__actions {
		grid-template-columns: 1fr;
	}

	.tddlp-viewer,
	.tddlp-viewer canvas {
		min-height: 340px;
	}

	.tddlp-viewcube {
		width: 132px;
		height: 116px;
		right: 10px;
		bottom: 10px;
		transform: scale(0.82);
		transform-origin: right bottom;
	}

	.tddlp-analysis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tddlp-options__grid,
	.tddlp-color-grid {
		grid-template-columns: 1fr;
	}

	.tddlp-step {
		padding: 12px;
	}

	.tddlp-price-box__top {
		display: grid;
	}

	body.woocommerce-cart .entry-content > .woocommerce,
	body.woocommerce-checkout .entry-content > .woocommerce,
	body.woocommerce-cart main .woocommerce,
	body.woocommerce-checkout main .woocommerce,
	body.woocommerce-cart div.woocommerce,
	body.woocommerce-checkout div.woocommerce {
		width: min(100%, calc(100vw - 24px));
		padding: 22px 0 48px;
	}

	body.woocommerce-cart table.cart {
		display: block;
		border-spacing: 0;
	}

	body.woocommerce-cart table.cart thead {
		display: none;
	}

	body.woocommerce-cart table.cart tbody,
	body.woocommerce-cart table.cart tr,
	body.woocommerce-cart table.cart td {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart table.cart tr.cart_item {
		position: relative;
		margin-bottom: 14px;
		padding: 16px;
		border: 1px solid var(--tddlp-cart-line);
		border-radius: 14px;
		background: #ffffff;
		box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
	}

	body.woocommerce-cart table.cart tr.cart_item td {
		padding: 8px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	body.woocommerce-cart table.cart tr.cart_item td:first-child,
	body.woocommerce-cart table.cart tr.cart_item td:last-child {
		border: 0;
		border-radius: 0;
	}

	body.woocommerce-cart table.cart .product-remove {
		position: absolute;
		top: 12px;
		right: 12px;
		width: auto;
		padding: 0;
	}

	body.woocommerce-cart table.cart .product-thumbnail {
		width: auto;
		padding-bottom: 6px;
	}

	body.woocommerce-cart table.cart .product-name {
		min-width: 0;
		padding-right: 42px;
	}

	body.woocommerce-cart table.cart .product-price,
	body.woocommerce-cart table.cart .product-quantity,
	body.woocommerce-cart table.cart .product-subtotal {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		border-top: 1px solid #eef2f7;
	}

	body.woocommerce-cart table.cart .product-price::before,
	body.woocommerce-cart table.cart .product-quantity::before,
	body.woocommerce-cart table.cart .product-subtotal::before {
		content: attr(data-title);
		color: var(--tddlp-cart-muted);
		font-size: 12px;
		font-weight: 850;
		text-transform: uppercase;
	}

	body.woocommerce-cart table.cart .product-name dl.variation,
	body.woocommerce-checkout table.shop_table dl.variation {
		grid-template-columns: 1fr 1fr;
	}

	body.woocommerce-cart table.cart td.actions {
		padding: 14px;
	}

	body.woocommerce-cart table.cart td.actions .coupon,
	body.woocommerce-cart table.cart td.actions .coupon .button,
	body.woocommerce-cart table.cart td.actions > .button {
		width: 100%;
	}

	body.woocommerce-cart #coupon_code {
		width: 100%;
	}

	body.woocommerce-cart .cart-collaterals {
		display: block;
		margin-top: 12px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		width: 100%;
		padding: 18px;
	}

	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout #order_review_heading {
		padding: 16px;
	}

	body.woocommerce-checkout #cfw,
	body.woocommerce-checkout .cfw-container,
	body.woocommerce-checkout .cfw-main-container,
	body.woocommerce-checkout #cfw-logo-container,
	body.woocommerce-checkout .cfw-logo-container {
		width: min(100%, calc(100vw - 24px)) !important;
	}

	body.woocommerce-checkout #cfw-cart-summary,
	body.woocommerce-checkout .cfw-cart-summary,
	body.woocommerce-checkout .cfw-order-review,
	body.woocommerce-checkout #order_review {
		padding: 16px !important;
	}

	body.woocommerce-checkout .tddlp-cart-product-title {
		font-size: 15px !important;
	}

	body.admin-bar.woocommerce-cart .dlab-top,
	body.admin-bar.woocommerce-checkout .dlab-top {
		top: 0;
	}

	body.woocommerce-cart .dlab-top__inner,
	body.woocommerce-checkout .dlab-top__inner {
		flex-wrap: wrap;
		gap: 10px;
		min-height: auto;
		padding: 10px 0;
	}

	body.woocommerce-cart .dlab-logo img,
	body.woocommerce-checkout .dlab-logo img {
		width: 166px;
	}

	body.woocommerce-cart .dlab-nav,
	body.woocommerce-checkout .dlab-nav {
		order: 3;
		justify-content: flex-start;
		width: 100%;
		margin: 0;
		gap: 9px;
		overflow-x: auto;
		padding: 4px 0 2px;
		scrollbar-width: none;
	}

	body.woocommerce-cart .dlab-nav::-webkit-scrollbar,
	body.woocommerce-checkout .dlab-nav::-webkit-scrollbar {
		display: none;
	}

	body.woocommerce-cart .dlab-nav a,
	body.woocommerce-checkout .dlab-nav a {
		min-height: 38px;
		padding: 8px 11px;
		border: 1px solid #dbe5ee;
		border-radius: 999px;
		background: #f2f6f9;
		font-size: 14px;
	}

	body.woocommerce-cart .dlab-top__actions,
	body.woocommerce-checkout .dlab-top__actions {
		margin-left: auto;
	}

	body.woocommerce-cart .dlab-pillbtn,
	body.woocommerce-checkout .dlab-pillbtn {
		min-height: 38px;
		padding: 8px 10px;
		font-size: 14px;
	}

	.tddlp-cart-shell-top {
		display: grid;
		justify-items: center;
		text-align: center;
	}

	.tddlp-cart-shell-top div {
		justify-content: center;
	}

	.tddlp-cart-shell-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.tddlp-cart-shell-nav a {
		padding: 9px 10px;
		border: 1px solid #e2e8f0;
		border-radius: 8px;
		background: #ffffff;
	}

	.tddlp-cart-shell-account {
		width: 100%;
	}

	.tddlp-cart-shell-footer {
		padding-top: 34px;
	}

	.tddlp-cart-shell-footer__grid {
		grid-template-columns: 1fr;
	}

	.tddlp-cart-shell-footer__bottom nav {
		display: grid;
		gap: 8px;
	}

	body.woocommerce-cart .dlab-container,
	body.woocommerce-checkout .dlab-container {
		width: min(100% - 24px, 1180px);
	}

	body.woocommerce-cart .dlab-top__actions,
	body.woocommerce-checkout .dlab-top__actions {
		display: none;
	}

	body.woocommerce-cart .dlab-nav,
	body.woocommerce-checkout .dlab-nav {
		flex-wrap: wrap;
		overflow-x: visible;
		row-gap: 7px;
	}

	body.woocommerce-cart .dlab-nav a,
	body.woocommerce-checkout .dlab-nav a {
		min-height: 34px;
		padding: 7px 10px;
		font-size: 13px;
	}

	body.woocommerce-cart .dlab-footer__grid,
	body.woocommerce-checkout .dlab-footer__grid {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .dlab-footer__meta,
	body.woocommerce-checkout .dlab-footer__meta {
		align-items: flex-start;
		flex-direction: column;
	}
}
