/* House of Samida — manual payment confirmation.
 * Scoped to the confirmation UI so it can safely coexist with WooCommerce. */

/* WooCommerce's mobile stylesheet repeats data-title inside the value cell.
 * The real table heading remains visible in this custom two-column summary. */
.woocommerce-cart .cart_totals table.shop_table_responsive tr > td::before {
	display: none !important;
	content: none !important;
}

.samida-payment-confirmation-page .hos-flow {
	padding-top: clamp(32px, 6vw, 72px);
}

.samida-payment-confirmation-page .hos-pagehead {
	margin-bottom: clamp(32px, 6vw, 64px);
	padding-bottom: clamp(20px, 3vw, 32px);
}

.samida-payment-confirmation-page .hos-pagehead__title {
	max-width: 14ch;
	font-size: clamp(2.4rem, 4.8vw, 3.5rem);
	line-height: 1.02;
}

body.samida-payment-confirmation-success .hos-pagehead,
body.samida-payment-confirmation-success .hos-onward {
	display: none;
}

body.samida-payment-confirmation-success .hos-prose {
	width: 100%;
	max-width: 820px !important;
	margin-inline: auto;
}

body.samida-payment-confirmation-success .hos-prose > .samida-payment-form-wrap--success {
	width: 100%;
	max-width: 820px !important;
	margin-inline: auto;
}

body.samida-payment-confirmation-success .hos-flow {
	padding-top: clamp(32px, 5vw, 64px);
}

body.samida-payment-confirmation-page .hos-prose,
body.samida-payment-confirmation-page .hos-prose > .hos-payment-confirmation {
	width: 100%;
	max-width: 1180px;
}

.samida-payment-confirmation-page .hos-payment-confirmation > .wp-block-group__inner-container {
	display: grid;
	gap: 24px;
}

/* The theme already prints the page title directly above this content. */
.samida-payment-confirmation-page .hos-payment-confirmation > .wp-block-group__inner-container > h1 {
	display: none;
}

.samida-payment-confirmation-page .hos-payment-confirmation .hos-eyebrow {
	margin: 0;
	font-family: var(--hos-ui, sans-serif);
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hos-night-resin, #e2d3a0);
}

.samida-payment-confirmation-page .hos-payment-confirmation > .wp-block-group__inner-container > .has-large-font-size {
	max-width: 38ch;
	margin: 0 0 16px;
	font-family: var(--hos-display, Georgia, serif);
	font-size: clamp(1.35rem, 3vw, 2rem) !important;
	line-height: 1.4;
	letter-spacing: -.01em;
	color: var(--hos-ink, #faf9dd);
}

.samida-payment-confirmation-page .hos-payment-confirmation hr {
	width: 100%;
	margin: 16px 0;
	border: 0;
	border-top: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
}

.samida-payment-confirmation-page .hos-payment-confirmation h2 {
	margin: 24px 0 0;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.1;
}

.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table {
	margin: 0;
	padding: clamp(18px, 4vw, 28px);
	border: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
	background: var(--hos-paper-2, #10201b);
}

.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table :is(th, td) {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--hos-rule-soft, rgba(161, 172, 144, .18));
	text-align: left;
	vertical-align: top;
}

.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table tr:last-child :is(th, td) {
	border-bottom: 0;
}

.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table th {
	width: 42%;
	padding-right: 16px;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hos-muted, #9faf9f);
}

.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table td {
	color: var(--hos-ink, #faf9dd);
}

.samida-payment-confirmation-page .hos-payment-confirmation ol {
	gap: 12px;
	margin: 0;
	padding-left: 1.4rem;
}

.samida-payment-form-wrap {
	width: 100%;
	margin-top: 4px;
	padding: clamp(20px, 5vw, 40px);
	border: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
	background: var(--hos-paper-2, #10201b);
}

.samida-payment-form-wrap--success {
	width: 100%;
	max-width: 820px;
	padding: 0;
	border: 0;
	background: transparent;
}

.samida-payment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 18px;
}

.samida-payment-form .form-row {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.samida-payment-form .form-row-wide {
	grid-column: 1 / -1;
}

.samida-payment-form label:not(:has(input[type="checkbox"])) {
	display: block;
	margin-bottom: 8px;
	font-size: .82rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .02em;
	color: var(--hos-ink, #faf9dd);
}

.samida-payment-form .required {
	color: var(--hos-night-resin, #e2d3a0);
}

.samida-payment-form :is(input[type="text"], input[type="email"], input[type="number"], input[type="date"], input[type="file"]) {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-height: 52px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #73816f !important;
	border-radius: var(--hos-radius, 2px) !important;
	background: #fff !important;
	box-shadow: none;
	color: #0A2817 !important;
	font-family: var(--hos-ui, sans-serif);
	font-size: 1rem;
	line-height: 1.4;
	color-scheme: light;
}

.samida-payment-form input[readonly] {
	background: #e9ece5 !important;
	cursor: not-allowed;
}

.samida-payment-form input[type="file"] {
	padding: 7px;
	cursor: pointer;
}

.samida-payment-form input[type="file"]::file-selector-button {
	min-height: 36px;
	margin-right: 12px;
	padding: 7px 12px;
	border: 0;
	border-radius: 1px;
	background: #1b3a23;
	color: #fff;
	font-family: var(--hos-ui, sans-serif);
	font-weight: 600;
	cursor: pointer;
}

.samida-payment-form small {
	display: block;
	margin-top: 7px;
	font-size: .78rem;
	line-height: 1.5;
	color: var(--hos-muted, #9faf9f);
}

.samida-payment-form label:has(input[type="checkbox"]) {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--hos-ink-2, #d0d3bf);
	cursor: pointer;
}

.samida-payment-form input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: #e2d3a0;
}

.samida-payment-form button.button.alt,
.samida-payment-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 13px 24px !important;
	border: 1px solid var(--hos-night-resin, #e2d3a0) !important;
	border-radius: var(--hos-radius, 2px) !important;
	background: var(--hos-night-resin, #EDD488) !important;
	color: var(--hos-night, #0A2817) !important;
	font-family: var(--hos-ui, sans-serif);
	font-size: .9rem !important;
	font-weight: 600 !important;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.samida-payment-form button.button.alt:hover,
.samida-payment-cta__button:hover {
	border-color: #fff !important;
	background: #fff !important;
	color: #0A2817 !important;
}

.samida-payment-form-wrap > .woocommerce-error,
.samida-payment-success {
	position: relative;
	width: 100%;
	margin: 0 !important;
	padding: clamp(22px, 5vw, 36px) !important;
	border: 1px solid var(--hos-rule, rgba(161, 172, 144, .33)) !important;
	border-top: 1px solid var(--hos-rule, rgba(161, 172, 144, .33)) !important;
	border-radius: 0;
	background: var(--hos-paper-2, #10201b) !important;
	color: var(--hos-ink-2, #d0d3bf) !important;
	box-shadow: none;
}

.samida-payment-form-wrap > .woocommerce-error {
	border-left: 3px solid var(--hos-night-resin, #e2d3a0) !important;
}

.samida-payment-form-wrap > .woocommerce-error::before,
.samida-payment-success::before {
	display: none !important;
}

.samida-payment-success {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
	gap: clamp(28px, 5vw, 56px);
	align-items: center;
	min-height: 0;
}

.samida-payment-success__art {
	grid-column: 2;
	grid-row: 1;
	width: min(100%, 220px);
	margin: 0 auto;
}

.samida-payment-success__content {
	grid-column: 1;
	grid-row: 1;
	display: grid !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100% !important;
	gap: 14px;
}

.samida-payment-success__eyebrow {
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hos-night-resin, #e2d3a0);
}

.samida-payment-success h3 {
	width: 100%;
	max-width: 28ch !important;
	margin: 0;
	font-family: var(--hos-display, Georgia, serif);
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	font-weight: 400;
	line-height: 1.25;
	color: var(--hos-ink, #faf9dd);
}

.samida-payment-success p {
	width: 100%;
	max-width: 54ch !important;
	margin: 0;
}

.samida-payment-fallback {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
}

.samida-payment-fallback > div {
	display: grid;
	gap: 6px;
}

.samida-payment-fallback h3 {
	margin: 0;
	font-family: var(--hos-display, Georgia, serif);
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--hos-ink, #faf9dd);
}

.samida-payment-fallback p {
	margin: 0;
	font-size: .84rem;
	line-height: 1.55;
	color: var(--hos-muted, #9faf9f);
}

.samida-payment-fallback__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
	border-radius: var(--hos-radius, 2px);
	color: var(--hos-ink, #faf9dd);
	font-size: .82rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}

.samida-payment-fallback__button:hover {
	border-color: var(--hos-night-resin, #e2d3a0);
	color: var(--hos-night-resin, #e2d3a0);
}

.samida-payment-support {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	margin-top: 20px;
	padding: clamp(20px, 4vw, 28px);
	border: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
	background: var(--hos-paper-2, #10201b);
}

.samida-payment-support > div {
	display: grid;
	gap: 7px;
}

.samida-payment-support h3 {
	margin: 0;
	font-family: var(--hos-display, Georgia, serif);
	font-size: clamp(1.25rem, 2.5vw, 1.6rem);
	font-weight: 400;
	color: var(--hos-ink, #faf9dd);
}

.samida-payment-support p {
	margin: 0;
	font-size: .9rem;
	line-height: 1.55;
	color: var(--hos-muted, #9faf9f);
}

.samida-payment-support__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 11px 18px;
	border: 1px solid var(--hos-night-resin, #e2d3a0);
	border-radius: var(--hos-radius, 2px);
	background: transparent;
	color: var(--hos-night-resin, #e2d3a0);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}

.samida-payment-support__button:hover {
	background: var(--hos-night-resin, #EDD488);
	color: var(--hos-night, #0A2817);
}

.samida-payment-cta {
	margin-top: 32px;
	padding: clamp(20px, 4vw, 32px);
	border: 1px solid var(--hos-rule, rgba(161, 172, 144, .33));
	background: var(--hos-paper-2, #10201b);
}

.samida-payment-cta > * + * {
	margin-top: 12px;
}

@media (min-width: 1080px) {
	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container {
		grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr);
		grid-template-rows: auto auto auto auto auto auto auto auto;
		column-gap: clamp(48px, 6vw, 88px);
		row-gap: 22px;
		align-items: start;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > .hos-eyebrow {
		grid-column: 1;
		grid-row: 1;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > .has-large-font-size {
		grid-column: 1;
		grid-row: 2;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > hr:first-of-type {
		grid-column: 1;
		grid-row: 3;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > h2:nth-of-type(1) {
		grid-column: 1;
		grid-row: 4;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > .wp-block-table {
		grid-column: 1;
		grid-row: 5;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > .wp-block-table + p {
		grid-column: 1;
		grid-row: 6;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > h2:nth-of-type(2) {
		grid-column: 1;
		grid-row: 7;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > ol {
		grid-column: 1;
		grid-row: 8;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > h2:nth-of-type(3) {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > .samida-payment-form-wrap {
		grid-column: 2;
		grid-row: 2 / span 7;
	}

	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > hr:last-of-type,
	.samida-payment-confirmation-page:not(.samida-payment-confirmation-success)
		.hos-payment-confirmation > .wp-block-group__inner-container > .has-small-font-size {
		grid-column: 1 / -1;
		max-width: 820px;
	}
}

@media (max-width: 640px) {
	.samida-payment-confirmation-page .hos-flow {
		padding-top: 28px;
	}

	.samida-payment-confirmation-page .hos-pagehead__title {
		font-size: clamp(2rem, 7vw, 2.6rem);
	}

	.samida-payment-confirmation-page .hos-payment-confirmation > .wp-block-group__inner-container {
		gap: 20px;
	}

	.samida-payment-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.samida-payment-form .form-row {
		grid-column: 1;
	}

	.samida-payment-form button.button.alt {
		width: 100%;
	}

	.samida-payment-success {
		display: block !important;
	}

	.samida-payment-success__art {
		width: min(54vw, 156px);
		margin: 0 auto 24px;
	}

	.samida-payment-fallback {
		grid-template-columns: minmax(0, 1fr);
	}

	.samida-payment-fallback__button {
		width: 100%;
	}

	.samida-payment-support {
		grid-template-columns: minmax(0, 1fr);
	}

	.samida-payment-support__button {
		width: 100%;
	}

	.samida-payment-confirmation-page .hos-payment-confirmation .wp-block-table th {
		width: 46%;
		font-size: .75rem;
	}
}
