/* ===== CARDS ===== */
.card {
	background: #ffffff;
	border: 1px solid #f4e5c8;
	border-radius: 15px;
	padding: 0 20px 10px;
	margin-bottom: 20px;
	overflow: hidden;
}
.card-header {
	background: #0d1b2a;
	color: #fefaf6;
	font-family: Inter, Helvetica, Arial, Lucida, sans-serif;
	font-weight: 700;
	font-size: 16px;
	padding: 10px 0 10px 20px;
	margin: 0 -20px 2px;
	border-radius: 15px 15px 0 0;
	letter-spacing: 0.2px;
}
.card-body {
	padding: 6px 0 12px;
}

/* ===== FORM FIELDS ===== */
.field-label {
	display: block;
	font-family: Inter, Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #212121;
	margin: 14px 0 6px;
}
.field-label:first-child {
	margin-top: 4px;
}
.field-input {
	width: 100%;
	background: #f8f8f8;
	border: 1px solid #bbbbbb;
	border-radius: 5px;
	padding: 10px;
	font-size: 16px;
	color: #4e4e4e;
	font-family: 'Open Sans', Arial, sans-serif;
	line-height: 1.4;
}
.field-input::placeholder {
	color: #9a9a9a;
}
.field-help {
	font-family: Inter, Helvetica, Arial, sans-serif;
	font-size: 15px;
	color: #999999;
	font-weight: 500;
	margin: 6px 0 0;
}

/* ===== STEP 2 PAYMENT ===== */
.payment-note {
	color: #999;
	font-family: Inter, Helvetica, Arial, sans-serif;
	font-size: 15px;
	margin: 6px 0 14px;
	font-weight: 500;
}
.payment-image-placeholder {
	width: 100%;
	max-width: 516px;
	height: 338px;
	background: linear-gradient(180deg, #f7f7f7, #ececec);
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	margin: 0 auto 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	font-size: 13px;
	text-align: center;
}

/* ===== TRUSTPILOT + COLLAGE ===== */
.trust-block {
	margin-top: 40px;
	text-align: center;
}
.trustpilot-img {
	width: 100%;
	max-width: 464px;
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	font-size: 12px;
	border-radius: 2px;
}
.collage-img {
	width: 100%;
	max-width: 490px;
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #777;
	font-size: 13px;
	border-radius: 4px;
}
.help-heading {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-weight: 800;
	font-size: 27px;
	color: #0d1b2a;
	margin: 6px 0 12px;
	text-align: center;
	line-height: 1.25;
}
.help-copy {
	color: #212121;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	margin: 0 auto 8px;
}

/* ===== ORDER SUMMARY ===== */
.order-title {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-weight: 800;
	font-size: 27px;
	color: #0d1b2a;
	margin: 4px 0 12px;
	line-height: 1.25;
	letter-spacing: -1px;
	text-align: center;
}
.product-img {
	width: 100%;
	max-width: 464px;
	height: 328px;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #4a6275;
	font-size: 13px;
	border-radius: 4px;
}
.totals {
    border-bottom: 2px solid #e6e6e6;
	border-top: 2px solid #e6e6e6;
	margin-top: 12px;
	font-size: 15px;
	color: #333;
}
.totals .row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
}
.totals .row.total {
	border-top: 1px solid #e6e6e6;
	margin-top: 8px;
	padding-top: 12px;
	font-weight: 700;
	font-size: 16px;
}

/* ===== UPSELLS ===== */
.reco-heading {
	font-family: 'Inter Tight', Helvetica, Arial, sans-serif;
	font-weight: 600;
	font-size: 22px;
    line-height: 1.3;
	color: #212121;
	margin: 30px 0 10px;
}
.upsell {
	border: 1px solid #666666;
	padding: 10px;
	margin-bottom: 15px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #ffffff;
	cursor: pointer;
	user-select: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.upsell:hover {
	border-color: #1ac13d;
}
.upsell.checked {
	border-color: #1ac13d;
}
.upsell.locked {
	cursor: default;
	pointer-events: none;
	opacity: 0.85;
}
.upsell .check {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	border: 2px solid #666;
	border-radius: 3px;
	flex-shrink: 0;
	margin: 2px 0 0;
	padding: 0;
	cursor: pointer;
	background: #fff;
	position: relative;
	display: inline-block;
}
.upsell .check:focus-visible {
	outline: 2px solid #1ac13d;
	outline-offset: 2px;
}
.upsell .check:checked {
	background: #1ac13d;
	border-color: #1ac13d;
}
.upsell .check:checked::after {
	content: '';
	position: absolute;
	left: 6px;
	top: 1px;
	width: 6px;
	height: 12px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.upsell .check:disabled {
	cursor: default;
}
.upsell .body {
	flex: 1;
}
.upsell h4 {
	font-family: Inter, Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #212121;
	margin: 0 0 6px;
	line-height: 1.3;
}
.upsell p {
	font-family: Arial, sans-serif;
	font-size: 17px;
	color: #333;
	margin: 0 0 8px;
	line-height: 1.35;
}
.upsell .price-line {
	font-family: 'Open Sans', Arial, sans-serif;
	font-weight: 700;
	font-size: 18px;
    margin-bottom: 5px;
}
.upsell .price-old {
	color: #c9a127;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
	text-decoration: line-through;
	margin-right: 4px;
}
.upsell .price-new {
	color: #c9a127;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.upsell.best-value {
	background: #f9f5e9;
	border: 3px dashed #c9a127;
}
.upsell.best-value h4 {
	font-weight: 700;
	font-size: 18px;
}
.badge {
	display: inline-block;
	background: #c9a127;
	color: #212121;
	font-family: Inter, Helvetica, Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
    line-height: 1;
	padding: 8px 15px;
	border-radius: 20px;
	margin-bottom: 8px;
	letter-spacing: 0.2px;
}

/* ===== CTA ===== */
.cta-wrap {
	margin-top: 24px;
	padding-top: 0;
	border-top: 2px solid #e6e6e6;
}
.cta-button {
	display: block;
	width: 100%;
	text-align: center;
	background: linear-gradient(#1ac13d 0%, #13912e 100%);
	color: #ffffff !important;
	border: 2px solid #13912e;
	border-radius: 3px;
	padding: 22px 24px;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -1px;
	text-transform: uppercase;
	cursor: pointer;
	line-height: 1.15;
}
.cta-button:hover {
	filter: brightness(1.04);
}

.trust-badges {
	margin: 8px auto 0;
	width: 100%;
	max-width: 320px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	font-size: 12px;
}

/* ===== GUARANTEE ===== */
.guarantee {
	display: flex;
	gap: 18px;
	align-items: flex-start;
    margin-bottom: 24px;
	margin-top: 24px;
}
.guarantee .seal {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}
.guarantee h4 {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-size: 26px;
	font-weight: 700;
	color: #c9a127;
	margin: 0 0 8px;
    letter-spacing: -1px;
	line-height: 1;
}
.guarantee p {
	font-family: 'Open Sans', Arial, sans-serif;
	margin: 0;
	font-size: 15px;
	color: #333;
	line-height: 1.35;
}

@media (max-width: 640px) {
    .badge {
        font-size: 14px;
    }
}