:root {
	--tsc-page-width: 1120px;
	--tsc-checkout-width: 980px;
	--tsc-page-gutter: 32px;
	--tsc-motion-fast: 180ms;
	--tsc-motion-base: 320ms;
	--tsc-motion-slow: 440ms;
	--tsc-ease-out: cubic-bezier(.22, 1, .36, 1);
}

.woocommerce-cart,
.woocommerce-checkout {
	background: #f7f4f2;
	color: var(--tsc-ink);
	font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

.woocommerce-cart .page-title,
.woocommerce-checkout .page-title { display: none; }

.tsc-commerce-intro {
	position: relative;
	isolation: isolate;
	width: min(var(--tsc-page-width), calc(100% - var(--tsc-page-gutter)));
	margin: 18px auto 32px;
	padding: clamp(16px, 2.5vw, 28px) 0 4px;
	text-align: center;
}
.tsc-commerce-intro::before {
	position: absolute;
	z-index: -1;
	top: -42px;
	left: 50%;
	width: min(680px, 92vw);
	height: 210px;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(100, 63, 54, .085), rgba(100, 63, 54, 0) 70%);
	content: "";
	pointer-events: none;
}

.tsc-commerce-intro__back {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	color: var(--tsc-muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: color var(--tsc-motion-fast) ease, transform var(--tsc-motion-fast) ease;
}

.tsc-commerce-intro__back:hover { color: var(--tsc-accent); transform: translateX(-3px); }
.tsc-commerce-intro__back:focus-visible { outline: 3px solid rgba(100, 63, 54, .25); outline-offset: 3px; border-radius: 8px; }
.tsc-commerce-intro__back svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tsc-commerce-intro h1 { max-width: 760px; margin: 3px auto 8px; color: var(--tsc-ink); font-size: clamp(38px, 4.2vw, 56px); font-weight: 650; letter-spacing: -.05em; line-height: 1; text-wrap: balance; }
.tsc-commerce-intro > p:not(.tsc-eyebrow) { max-width: 660px; margin: 0 auto; color: var(--tsc-muted); font-size: 16px; line-height: 1.55; text-wrap: balance; }
.tsc-commerce-intro > .tsc-eyebrow { margin-inline: auto; }

.tsc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(650px, 100%); margin: 24px auto 0; padding: 0; list-style: none; text-align: left; }
.tsc-steps li { position: relative; display: flex; align-items: center; gap: 10px; color: #817975; font-size: 13px; font-weight: 650; line-height: 1.3; }
.tsc-steps li:not(:last-child)::after { display: none; content: none; }
.tsc-steps li > span { position: relative; z-index: 1; display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border: 1px solid #d8d0cc; border-radius: 50%; background: #f7f4f2; font-size: 12px; transition: transform var(--tsc-motion-base) var(--tsc-ease-out), background-color var(--tsc-motion-fast) ease, box-shadow var(--tsc-motion-fast) ease; }
.tsc-steps li.is-current { color: var(--tsc-ink); }
.tsc-steps li.is-current > span { border-color: var(--tsc-accent); background: var(--tsc-accent); box-shadow: 0 7px 18px rgba(100, 63, 54, .18); color: #fff; transform: scale(1.05); }
.tsc-steps li.is-complete { color: var(--tsc-accent); }
.tsc-steps li.is-complete > span { background: #ebe3df; color: var(--tsc-accent); }
.tsc-steps svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.tsc-cart-page { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; width: min(var(--tsc-page-width), calc(100% - var(--tsc-page-gutter))); margin: 0 auto 64px; align-items: start; }
.tsc-cart-page--empty {
	grid-template-columns: minmax(0, 760px);
	justify-content: center;
}
.tsc-cart-page--empty .tsc-cart-page__items {
	width: 100%;
	min-height: 390px;
	padding: 18px clamp(20px, 5vw, 56px) 30px;
}
.tsc-cart-page--empty .tsc-empty { min-height: 340px; }
.tsc-cart-page__items,
.tsc-cart-page__summary,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.wc-block-checkout__main,
.wc-block-checkout__sidebar { border: 1px solid rgba(100, 63, 54, .11); border-radius: 24px; background: #fff; box-shadow: 0 15px 42px rgba(70, 49, 42, .07); }
.tsc-cart-page__items { padding: 8px 28px 26px; }
.tsc-cart-page__items .tsc-item { grid-template-columns: 108px minmax(0, 1fr); }
.tsc-cart-page__items .tsc-item__image { height: 132px; }
.tsc-cart-page__items .tsc-empty { min-height: 330px; }
.tsc-cart-page__summary { position: sticky; top: 18px; padding: 28px; }
.tsc-cart-page__summary h2 { margin: 0 0 20px; font-size: 32px; letter-spacing: -.04em; }
.tsc-cart-page__total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 0; border-block: 1px solid var(--tsc-line); }
.tsc-cart-page__total span { color: var(--tsc-muted); font-size: 14px; }
.tsc-cart-page__total strong { font-size: 22px; }
.tsc-cart-page__summary > p:not(.tsc-eyebrow) { margin: 10px 0 18px; color: var(--tsc-muted); font-size: 13px; line-height: 1.5; }
.tsc-cart-page__summary ul { display: grid; gap: 9px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--tsc-line); list-style: none; }
.tsc-cart-page__summary li { position: relative; padding-left: 22px; color: var(--tsc-muted); font-size: 13px; line-height: 1.45; }
.tsc-cart-page__summary li::before { content: "✓"; position: absolute; left: 0; color: var(--tsc-success); font-weight: 800; }
.tsc-cart-busy .tsc-cart-page__items { opacity: .64; pointer-events: none; }

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon { width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))); margin-inline: auto !important; font-size: 14px !important; line-height: 1.55 !important; }
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-block: 8px !important; }

/* Branded guest-login area for Shopkeeper and classic WooCommerce checkout. */
.woocommerce-checkout .checkout_login_box {
	display: block !important;
	box-sizing: border-box !important;
	width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))) !important;
	max-width: var(--tsc-checkout-width) !important;
	margin: 12px auto 18px !important;
	padding: 0 !important;
	background: transparent !important;
}
.woocommerce-checkout .shopkeeper_checkout_login,
.woocommerce-checkout .woocommerce-form-login-toggle {
	position: relative !important;
	display: block !important;
	float: none !important;
	clear: both !important;
	overflow: hidden;
	box-sizing: border-box !important;
	width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))) !important;
	max-width: var(--tsc-checkout-width) !important;
	margin: 10px auto 16px !important;
	padding: 17px 20px 17px 24px !important;
	border: 1px solid rgba(100, 63, 54, .15) !important;
	border-radius: 18px !important;
	background: linear-gradient(135deg, #fff, #f7f0ec) !important;
	box-shadow: 0 12px 34px rgba(70, 49, 42, .06) !important;
	color: var(--tsc-ink) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}
.woocommerce-checkout .checkout_login_box .shopkeeper_checkout_login { width: 100% !important; margin: 0 !important; }
.woocommerce-checkout .shopkeeper_checkout_login::before,
.woocommerce-checkout .woocommerce-form-login-toggle::before {
	position: absolute;
	top: 14px;
	bottom: 14px;
	left: 0;
	width: 4px;
	border-radius: 0 99px 99px 0;
	background: var(--tsc-accent);
	content: "";
}
.woocommerce-checkout .shopkeeper_checkout_login .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
}
.woocommerce-checkout .shopkeeper_checkout_login a,
.woocommerce-checkout .woocommerce-form-login-toggle a {
	color: var(--tsc-accent) !important;
	font-weight: 750 !important;
	text-decoration: none !important;
	text-underline-offset: 3px;
}
.woocommerce-checkout .shopkeeper_checkout_login a:hover,
.woocommerce-checkout .woocommerce-form-login-toggle a:hover { text-decoration: underline !important; }

.woocommerce-checkout form.woocommerce-form-login.login {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 22px;
	box-sizing: border-box !important;
	width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))) !important;
	max-width: var(--tsc-checkout-width) !important;
	margin: 0 auto 22px !important;
	padding: clamp(22px, 3vw, 30px) !important;
	border: 1px solid rgba(100, 63, 54, .14) !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 16px 44px rgba(70, 49, 42, .08) !important;
	color: var(--tsc-ink) !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
	animation: tsc-rise-in var(--tsc-motion-slow) var(--tsc-ease-out) both;
}
.woocommerce-checkout form.woocommerce-form-login.login[hidden],
.woocommerce-checkout form.woocommerce-form-login.login[style*="display: none"],
.woocommerce-checkout form.woocommerce-form-login.login[style*="display:none"] {
	display: none !important;
}
.woocommerce-checkout form.woocommerce-form-login.login > p:first-child:not(.form-row),
.woocommerce-checkout form.woocommerce-form-login.login > .clear,
.woocommerce-checkout form.woocommerce-form-login.login > .lost_password { grid-column: 1 / -1; }
.woocommerce-checkout form.woocommerce-form-login.login > p:first-child:not(.form-row) {
	max-width: 760px;
	margin: 0 0 2px !important;
	color: var(--tsc-muted) !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
}
.woocommerce-checkout form.woocommerce-form-login.login > .clear { display: none !important; }
.woocommerce-checkout form.woocommerce-form-login.login .form-row {
	float: none !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-checkout form.woocommerce-form-login.login .form-row label:not(.woocommerce-form-login__rememberme) {
	display: block;
	margin-bottom: 7px;
	color: var(--tsc-ink) !important;
	font-size: 14px !important;
	font-weight: 650 !important;
	line-height: 1.4 !important;
}
.woocommerce-checkout form.woocommerce-form-login.login input[type="text"],
.woocommerce-checkout form.woocommerce-form-login.login input[type="email"],
.woocommerce-checkout form.woocommerce-form-login.login input[type="password"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 50px 0 15px !important;
	border: 1px solid #d8d0cc !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--tsc-ink) !important;
	font: inherit !important;
	font-size: 16px !important;
	transition: border-color var(--tsc-motion-fast) ease, box-shadow var(--tsc-motion-fast) ease !important;
}
.woocommerce-checkout form.woocommerce-form-login.login input[type="text"],
.woocommerce-checkout form.woocommerce-form-login.login input[type="email"] { padding-right: 15px !important; }
.woocommerce-checkout form.woocommerce-form-login.login input:focus {
	border-color: var(--tsc-accent) !important;
	box-shadow: 0 0 0 3px rgba(100, 63, 54, .11) !important;
	outline: 0 !important;
}
.woocommerce-checkout form.woocommerce-form-login.login .password-input {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}
.woocommerce-checkout form.woocommerce-form-login.login .show-password-input {
	position: absolute !important;
	top: 50% !important;
	right: 5px !important;
	display: grid !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	place-items: center;
	border-radius: 11px;
	color: var(--tsc-muted) !important;
	cursor: pointer;
	transform: translateY(-50%) !important;
	transition: color var(--tsc-motion-fast) ease, background-color var(--tsc-motion-fast) ease;
}
.woocommerce-checkout form.woocommerce-form-login.login .show-password-input:hover { background: var(--tsc-wash); color: var(--tsc-accent) !important; }
.woocommerce-checkout form.woocommerce-form-login.login .form-row:not(.form-row-first):not(.form-row-last) {
	grid-column: 1 / -1;
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 18px;
}
.woocommerce-checkout form.woocommerce-form-login.login .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	min-height: 44px;
	align-items: center;
	gap: 9px;
	margin: 0 !important;
	font-size: 14px !important;
	cursor: pointer;
}
.woocommerce-checkout form.woocommerce-form-login.login .woocommerce-form-login__rememberme input {
	width: 19px !important;
	height: 19px !important;
	margin: 0 !important;
	accent-color: var(--tsc-accent);
}
.woocommerce-checkout form.woocommerce-form-login.login button[type="submit"] {
	min-width: 150px;
	min-height: 50px !important;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--tsc-accent) !important;
	box-shadow: 0 9px 22px rgba(100, 63, 54, .18) !important;
	color: #fff !important;
	font: inherit !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	text-transform: none !important;
	cursor: pointer;
	transition: background-color var(--tsc-motion-fast) ease, box-shadow var(--tsc-motion-fast) ease, transform var(--tsc-motion-fast) ease !important;
}
.woocommerce-checkout form.woocommerce-form-login.login button[type="submit"]:hover { background: var(--tsc-accent-strong) !important; box-shadow: 0 12px 28px rgba(100, 63, 54, .24) !important; transform: translateY(-1px); }
.woocommerce-checkout form.woocommerce-form-login.login button[type="submit"]:active { transform: scale(.985); }
.woocommerce-checkout form.woocommerce-form-login.login .lost_password { margin: -6px 0 0 !important; }
.woocommerce-checkout form.woocommerce-form-login.login .lost_password a { color: var(--tsc-accent) !important; font-size: 14px; font-weight: 650; text-underline-offset: 3px; }
.woocommerce-checkout form.woocommerce-form-login.login .lost_password a:hover { text-decoration: underline; }
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	display: block !important;
	position: static !important;
	float: none !important;
	clear: both !important;
	width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))) !important;
	max-width: var(--tsc-checkout-width) !important;
	margin: 8px auto !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	width: 100% !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	border: 1px solid var(--tsc-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
	color: var(--tsc-ink) !important;
	box-shadow: none !important;
}
.woocommerce-checkout form.checkout_coupon {
	position: static !important;
	float: none !important;
	clear: both !important;
	max-width: var(--tsc-checkout-width) !important;
	padding: 16px !important;
	border: 1px solid var(--tsc-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	font-size: 0 !important;
}
.woocommerce-checkout form.checkout_coupon .form-row {
	display: inline-block !important;
	float: none !important;
	margin: 0 !important;
	vertical-align: top;
	font-size: 14px;
}
.woocommerce-checkout form.checkout_coupon .form-row-first {
	width: calc(100% - 200px) !important;
	padding-right: 10px !important;
}
.woocommerce-checkout form.checkout_coupon .form-row-last { width: 200px !important; }
.woocommerce-checkout form.checkout_coupon .input-text {
	width: 100% !important;
	min-height: 48px !important;
	padding: 0 14px !important;
	border: 1px solid #d8d0cc !important;
	border-radius: 12px !important;
	background: #fff !important;
	font-size: 16px !important;
}
.woocommerce-checkout form.checkout_coupon button {
	width: 100% !important;
	min-height: 48px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--tsc-accent) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

/* Shopkeeper renders its own coupon shell outside WooCommerce's default form. */
.woocommerce-checkout .checkout_coupon_box {
	display: block !important;
	box-sizing: border-box !important;
	width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))) !important;
	max-width: var(--tsc-checkout-width) !important;
	margin: 12px auto 20px !important;
	padding: 0 !important;
	background: transparent !important;
}
.woocommerce-checkout .shopkeeper_checkout_coupon {
	display: block !important;
	position: relative;
	float: none !important;
	clear: both !important;
	overflow: hidden;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: var(--tsc-checkout-width) !important;
	margin: 0 auto !important;
	padding: 18px 20px 18px 24px !important;
	border: 1px solid rgba(100, 63, 54, .16) !important;
	border-radius: 20px !important;
	background: linear-gradient(135deg, #fff 0%, #f7f0ec 100%) !important;
	box-shadow: 0 14px 38px rgba(70, 49, 42, .07) !important;
	color: var(--tsc-ink) !important;
	transition: border-color var(--tsc-motion-fast) ease, box-shadow var(--tsc-motion-base) var(--tsc-ease-out), transform var(--tsc-motion-base) var(--tsc-ease-out);
}
.woocommerce-checkout .shopkeeper_checkout_coupon::before {
	position: absolute;
	top: 16px;
	bottom: 16px;
	left: 0;
	width: 4px;
	border-radius: 0 99px 99px 0;
	background: var(--tsc-accent);
	content: "";
}
.woocommerce-checkout .shopkeeper_checkout_coupon::after {
	position: absolute;
	z-index: 0;
	top: -54px;
	right: -44px;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: rgba(100, 63, 54, .055);
	content: "";
	pointer-events: none;
}
.woocommerce-checkout .shopkeeper_checkout_coupon > * {
	position: relative;
	z-index: 1;
}
.woocommerce-checkout .shopkeeper_checkout_coupon a {
	color: var(--tsc-accent) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-underline-offset: 3px;
}
.woocommerce-checkout .shopkeeper_checkout_coupon a:hover { text-decoration: underline !important; }
.woocommerce-checkout .shopkeeper_checkout_coupon .woocommerce-info {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--tsc-ink) !important;
}
.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 10px;
	width: 100% !important;
	margin: 0 !important;
	padding: 14px 0 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner > * {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner form.checkout_coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 10px;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner input {
	width: 100% !important;
	min-height: 50px !important;
	padding: 0 15px !important;
	border: 1px solid #d8d0cc !important;
	border-radius: 13px !important;
	background: rgba(255, 255, 255, .92) !important;
	color: var(--tsc-ink) !important;
	font: inherit !important;
	font-size: 16px !important;
}
.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner button {
	width: 100% !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 13px !important;
	background: var(--tsc-accent) !important;
	color: #fff !important;
	font: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	box-shadow: 0 8px 20px rgba(100, 63, 54, .14) !important;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce-checkout .shopkeeper_checkout_coupon:hover {
		border-color: rgba(100, 63, 54, .28) !important;
		box-shadow: 0 18px 46px rgba(70, 49, 42, .1) !important;
		transform: translateY(-2px);
	}
}

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))); margin: 18px auto 64px; font-size: 16px; line-height: 1.55; }
.woocommerce-checkout form.checkout > #customer_details,
.woocommerce-checkout form.checkout > #order_review { grid-column: 1; width: 100% !important; max-width: none !important; height: auto !important; min-height: 0 !important; margin: 0 !important; float: none !important; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { padding: clamp(22px, 3vw, 36px); }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100% !important; max-width: none !important; float: none !important; }
.woocommerce-checkout #order_review_heading { display: none; }
.woocommerce-checkout form.checkout h3 { margin: 0 0 22px; font-size: clamp(24px, 2.4vw, 30px) !important; line-height: 1.2 !important; }
.woocommerce-checkout form.checkout p,
.woocommerce-checkout form.checkout li,
.woocommerce-checkout form.checkout td,
.woocommerce-checkout form.checkout th { font-size: 16px; line-height: 1.55; }
.woocommerce-checkout form.checkout .form-row { margin-bottom: 17px; }
.woocommerce-checkout form.checkout .form-row label,
.woocommerce-checkout form.checkout .woocommerce-form__label { font-size: 14px !important; line-height: 1.45 !important; }

.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox input { min-height: 54px !important; padding-inline: 14px !important; border: 1px solid #d8d0cc !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; color: var(--tsc-ink) !important; font: inherit !important; font-size: 16px !important; transition: border-color .18s ease, box-shadow .18s ease !important; }
.woocommerce-checkout form.checkout textarea { min-height: 112px !important; padding-block: 12px !important; resize: vertical; }
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout textarea:focus,
.wc-block-components-text-input input:focus { border-color: var(--tsc-accent) !important; box-shadow: 0 0 0 3px rgba(100, 63, 54, .11) !important; outline: none !important; }

.woocommerce-checkout #order_review table,
.woocommerce-checkout #order_review table thead,
.woocommerce-checkout #order_review table tbody,
.woocommerce-checkout #order_review table tfoot { display: block !important; width: 100% !important; margin: 0 !important; border: 0 !important; }
.woocommerce-checkout #order_review table tr { display: grid !important; grid-template-columns: minmax(0, 1fr) 160px; align-items: start; width: 100% !important; }
.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td { width: auto !important; padding: 15px 10px !important; border-color: var(--tsc-line) !important; font-size: 16px !important; line-height: 1.5 !important; white-space: normal !important; word-break: normal !important; overflow-wrap: break-word; }
.woocommerce-checkout #order_review table .product-total { width: 160px !important; text-align: right; white-space: nowrap !important; }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td { font-size: 22px !important; font-weight: 750 !important; }
.woocommerce-checkout #order_review .order-total td { white-space: nowrap !important; }

.woocommerce-checkout #order_review tr.woocommerce-shipping-totals.shipping { display: grid !important; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; width: 100%; padding: 22px 0; border-bottom: 1px solid var(--tsc-line); }
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals.shipping > th,
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals.shipping > td { display: block !important; width: 100% !important; padding: 0 !important; border: 0 !important; }
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals.shipping > th { padding-top: 15px !important; font-size: 18px !important; font-weight: 700 !important; }
.woocommerce-checkout #shipping_method { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); float: none !important; gap: 14px; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
.woocommerce-checkout #shipping_method > li { display: grid !important; grid-template-columns: 22px minmax(0, 1fr); grid-template-areas: "radio label" "action action" "info info"; box-sizing: border-box; gap: 10px; width: 100% !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 16px !important; border: 1px solid #ded6d2; border-radius: 16px; background: #fff; text-align: left !important; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.woocommerce-checkout #shipping_method > li:has(input:checked) { border-color: var(--tsc-accent); background: #faf6f4; box-shadow: 0 0 0 2px rgba(100, 63, 54, .09); }
.woocommerce-checkout #shipping_method > li > input.shipping_method { grid-area: radio; width: 20px !important; height: 20px !important; margin: 2px 0 0 !important; accent-color: var(--tsc-accent); }
.woocommerce-checkout #shipping_method > li > label { display: block !important; grid-area: label; min-width: 0; margin: 0 !important; color: var(--tsc-ink) !important; font-size: 16px !important; font-weight: 650 !important; line-height: 1.5 !important; text-align: left !important; text-transform: none !important; }
.woocommerce-checkout #shipping_method .amount { display: block; margin: 4px 0 0; color: var(--tsc-accent); font-weight: 750; white-space: nowrap; }
.woocommerce-checkout #shipping_method .open-pvz-btn { grid-area: action; width: 100%; margin: 3px 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.woocommerce-checkout #shipping_method .post5-map-btn-wrapper { display: block !important; grid-area: action; width: 100%; margin-top: 3px !important; }
.woocommerce-checkout #shipping_method .open-pvz-btn > a,
.woocommerce-checkout #shipping_method .fivepost-button-map { display: flex !important; width: 100% !important; min-height: 48px !important; align-items: center; justify-content: center; margin: 0 !important; padding: 10px 14px !important; border: 0 !important; border-radius: 999px !important; background: var(--tsc-accent) !important; box-shadow: none !important; color: #fff !important; font: inherit !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; text-align: center; text-decoration: none !important; text-transform: none !important; cursor: pointer; }
.woocommerce-checkout #shipping_method .open-pvz-btn > a:hover,
.woocommerce-checkout #shipping_method .fivepost-button-map:hover { background: var(--tsc-accent-strong) !important; }
.woocommerce-checkout .cdek-office-info {
	display: block !important;
	position: relative !important;
	grid-area: info;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	min-height: 64px !important;
	padding: 15px 16px 15px 50px !important;
	border: 1px solid rgba(100, 63, 54, .16) !important;
	border-radius: 14px !important;
	background: #f5f0ed !important;
	box-shadow: none !important;
	color: var(--tsc-ink) !important;
	font: inherit !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	text-align: left !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
}
.woocommerce-checkout .cdek-office-info::before {
	position: absolute !important;
	top: 50% !important;
	left: 17px !important;
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	border: 2px solid var(--tsc-accent) !important;
	border-radius: 50% 50% 50% 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	content: "" !important;
	font-family: inherit !important;
	transform: translateY(-58%) rotate(-45deg) !important;
}
.woocommerce-checkout .cdek-office-info::after {
	position: absolute;
	top: 50%;
	left: 23px;
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--tsc-accent);
	content: "";
	transform: translateY(-55%);
}
.woocommerce-checkout .cdek-office-info > i,
.woocommerce-checkout .cdek-office-info > svg,
.woocommerce-checkout .cdek-office-info > .fa,
.woocommerce-checkout .cdek-office-info > [class*="fa-"],
.woocommerce-checkout .cdek-office-info > [class*="icon-"] { display: none !important; }
.woocommerce-checkout .cdek-office-info > *,
.woocommerce-checkout .cdek-office-info p,
.woocommerce-checkout .cdek-office-info div {
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
}
.woocommerce-checkout .cdek-office-info strong,
.woocommerce-checkout .cdek-office-info b {
	display: block;
	margin-bottom: 2px;
	color: var(--tsc-accent) !important;
	font-weight: 750 !important;
}
.woocommerce-checkout .cdek-office-info a {
	color: var(--tsc-accent) !important;
	font-weight: 650;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.woocommerce-checkout .cdek-office-info:empty { display: none !important; }
.woocommerce-checkout #shipping_method .form-row.validate-required[hidden],
.woocommerce-checkout #shipping_method .form-row.validate-required:empty,
.woocommerce-checkout #shipping_method .tsc-empty-shipping-row { display: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }

.woocommerce-checkout #payment { width: 100% !important; margin-top: 22px; border-radius: 18px !important; background: var(--tsc-wash) !important; overflow: hidden; }
.woocommerce-checkout #payment .payment_methods,
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment .place-order { width: 100% !important; max-width: none !important; float: none !important; }
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment .payment_box p { font-size: 14px !important; line-height: 1.6 !important; word-break: normal !important; overflow-wrap: break-word; }
.woocommerce-checkout #payment .payment_method_yookassa img { width: auto !important; max-width: 84px !important; height: auto !important; }
.woocommerce-checkout #payment input[type="text"],
.woocommerce-checkout #payment input[type="number"],
.woocommerce-checkout #payment input[type="email"] {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	padding: 0 14px !important;
	border: 1px solid #d8d0cc !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--tsc-ink) !important;
	font: inherit !important;
	font-size: 16px !important;
}
.woocommerce-checkout #payment .button:not(#place_order),
.woocommerce-checkout #payment input[type="submit"]:not(#place_order) {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--tsc-accent) !important;
	color: #fff !important;
	font: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	margin-top: 8px !important;
}

.wc-block-components-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce .checkout-button { width: 100% !important; min-height: 58px !important; border: 0 !important; border-radius: 999px !important; background: var(--tsc-accent) !important; box-shadow: 0 11px 26px rgba(100, 63, 54, .2) !important; color: #fff !important; font: inherit !important; font-size: 15px !important; font-weight: 700 !important; text-transform: none !important; }
.woocommerce #payment #place_order:hover,
.wc-block-components-button:hover { background: var(--tsc-accent-strong) !important; transform: translateY(-1px); }
.woocommerce #payment #place_order:focus-visible,
.wc-block-components-button:focus-visible { outline: 3px solid rgba(100, 63, 54, .28) !important; outline-offset: 3px !important; }

.woocommerce-checkout form.checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid select {
	border-color: #b42318 !important;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, .09) !important;
}
.woocommerce-checkout form.checkout .form-row.woocommerce-validated .input-text,
.woocommerce-checkout form.checkout .form-row.woocommerce-validated select { border-color: rgba(35, 122, 75, .48) !important; }

@keyframes tsc-rise-in {
	from { opacity: 0; transform: translate3d(0, 14px, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes tsc-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}
.tsc-commerce-intro__back,
.tsc-commerce-intro > .tsc-eyebrow,
.tsc-commerce-intro > h1,
.tsc-commerce-intro > p:not(.tsc-eyebrow),
.tsc-commerce-intro > .tsc-steps {
	animation: tsc-rise-in var(--tsc-motion-slow) var(--tsc-ease-out) both;
}
.tsc-commerce-intro__back { animation-delay: 30ms; }
.tsc-commerce-intro > .tsc-eyebrow { animation-delay: 80ms; }
.tsc-commerce-intro > h1 { animation-delay: 130ms; }
.tsc-commerce-intro > p:not(.tsc-eyebrow) { animation-delay: 180ms; }
.tsc-commerce-intro > .tsc-steps { animation-delay: 230ms; }
.tsc-cart-page__items,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .shopkeeper_checkout_coupon,
.woocommerce-checkout form.checkout_coupon { animation: tsc-rise-in var(--tsc-motion-slow) var(--tsc-ease-out) 220ms both; }
.tsc-cart-page__summary { animation: tsc-rise-in var(--tsc-motion-slow) var(--tsc-ease-out) 300ms both; }
.woocommerce-checkout #customer_details > *,
.woocommerce-checkout #order_review > * { animation: tsc-fade-in var(--tsc-motion-base) ease both; }
.woocommerce-checkout .cdek-office-info { animation: tsc-rise-in var(--tsc-motion-base) var(--tsc-ease-out) both; }

.tsc-cart-page__items,
.tsc-cart-page__summary,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #shipping_method > li {
	transition: border-color var(--tsc-motion-fast) ease, box-shadow var(--tsc-motion-base) var(--tsc-ease-out), background-color var(--tsc-motion-fast) ease, transform var(--tsc-motion-base) var(--tsc-ease-out);
}
.woocommerce-checkout #shipping_method > li:active { transform: scale(.992); }
.woocommerce-checkout #shipping_method > li:has(input:focus-visible) {
	outline: 3px solid rgba(100, 63, 54, .22);
	outline-offset: 3px;
}
.woocommerce-checkout #shipping_method .open-pvz-btn > a,
.woocommerce-checkout #shipping_method .fivepost-button-map,
.woocommerce #payment #place_order,
.wc-block-components-button {
	transition: background-color var(--tsc-motion-fast) ease, box-shadow var(--tsc-motion-fast) ease, transform var(--tsc-motion-fast) ease !important;
}
.woocommerce-checkout #shipping_method .open-pvz-btn > a:active,
.woocommerce-checkout #shipping_method .fivepost-button-map:active,
.woocommerce #payment #place_order:active,
.wc-block-components-button:active { transform: scale(.985) !important; }

@media (hover: hover) and (pointer: fine) {
	.tsc-cart-page__items:hover,
	.tsc-cart-page__summary:hover { border-color: rgba(100, 63, 54, .2); box-shadow: 0 18px 48px rgba(70, 49, 42, .1); transform: translateY(-2px); }
	.woocommerce-checkout #shipping_method > li:hover { border-color: rgba(100, 63, 54, .38); box-shadow: 0 10px 25px rgba(70, 49, 42, .07); transform: translateY(-2px); }
}

.tsc-production-note { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; width: 100%; margin-top: 18px; padding: 16px; border: 1px solid #dfd3cd; border-radius: 18px; background: #f6f1ee; color: var(--tsc-ink); text-align: left; }
.tsc-production-note__icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; background: #fff; color: var(--tsc-accent); box-shadow: 0 7px 18px rgba(100, 63, 54, .1); }
.tsc-production-note__icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tsc-production-note__body { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.tsc-production-note__eyebrow { color: var(--tsc-accent); font-size: 12px !important; font-weight: 750; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.tsc-production-note__body strong { font-size: 17px !important; line-height: 1.35; }
.tsc-production-note__body > span:last-child { color: var(--tsc-muted); font-size: 14px !important; line-height: 1.5; }
.tsc-production-note--wide { width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))); margin: -44px auto 64px; }

.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wc-block-checkout { width: min(var(--tsc-checkout-width), calc(100% - var(--tsc-page-gutter))) !important; max-width: none !important; margin: 18px auto 64px !important; font-family: inherit; }
.wc-block-checkout__main,
.wc-block-checkout__sidebar { padding: clamp(20px, 3vw, 34px) !important; }
.wc-block-components-checkout-step__title,
.wc-block-components-title { font: 650 clamp(21px, 2vw, 28px)/1.2 inherit !important; letter-spacing: -.03em; }

@media (max-width: 900px) {
	:root { --tsc-page-gutter: 28px; }
	.tsc-commerce-intro { margin-top: 10px; }
	.tsc-cart-page { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.tsc-cart-page__summary { position: static; }
	.woocommerce-checkout form.checkout { width: 100%; max-width: var(--tsc-checkout-width); margin-top: 12px; }
	.woocommerce-checkout #shipping_method { grid-template-columns: minmax(0, 1fr); }
	.tsc-production-note--wide { margin-top: -42px; }
}

@media (max-width: 520px) {
	:root { --tsc-page-gutter: 24px; }
	.tsc-commerce-intro h1 { font-size: 34px; }
	.tsc-commerce-intro > p:not(.tsc-eyebrow) { font-size: 15px; }
	.tsc-steps { gap: 8px; }
	.tsc-steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 6px; font-size: 11px; }
	.tsc-steps li > span { width: 32px; height: 32px; flex-basis: 32px; }
	.tsc-steps li:not(:last-child)::after { display: none; }
	.woocommerce-checkout form.checkout_coupon .form-row-first,
	.woocommerce-checkout form.checkout_coupon .form-row-last { display: block !important; width: 100% !important; padding-right: 0 !important; }
	.woocommerce-checkout form.checkout_coupon .form-row-last { margin-top: 8px !important; }
	.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout .shopkeeper_checkout_coupon .checkout_coupon_inner form.checkout_coupon { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout .shopkeeper_checkout_login,
	.woocommerce-checkout .woocommerce-form-login-toggle { padding: 16px 16px 16px 20px !important; }
	.woocommerce-checkout form.woocommerce-form-login.login {
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
		padding: 20px 16px !important;
		border-radius: 20px !important;
	}
	.woocommerce-checkout form.woocommerce-form-login.login .form-row-first,
	.woocommerce-checkout form.woocommerce-form-login.login .form-row-last,
	.woocommerce-checkout form.woocommerce-form-login.login > p:first-child:not(.form-row),
	.woocommerce-checkout form.woocommerce-form-login.login > .lost_password { grid-column: 1 / -1; }
	.woocommerce-checkout form.woocommerce-form-login.login .form-row:not(.form-row-first):not(.form-row-last) {
		align-items: stretch;
		flex-direction: column;
	}
	.woocommerce-checkout form.woocommerce-form-login.login button[type="submit"] { width: 100% !important; }
	.tsc-cart-page__items { padding-inline: 16px; }
	.tsc-cart-page__items .tsc-item { grid-template-columns: 82px minmax(0, 1fr); }
	.tsc-cart-page__items .tsc-item__image { height: 108px; }
	.tsc-cart-page__summary,
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review { padding: 20px 16px; border-radius: 20px; }
	.woocommerce-checkout #order_review table .product-total { width: 140px !important; }
	.woocommerce-checkout #order_review table tr { grid-template-columns: minmax(0, 1fr) 140px; }
	.woocommerce-checkout #order_review .order-total th,
	.woocommerce-checkout #order_review .order-total td { font-size: 20px !important; }
	.woocommerce-checkout #order_review tr.woocommerce-shipping-totals.shipping { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.woocommerce-checkout #order_review tr.woocommerce-shipping-totals.shipping > th { padding-top: 0 !important; }
	.tsc-production-note { grid-template-columns: 44px minmax(0, 1fr); padding: 14px; }
	.tsc-production-note__icon { width: 44px; height: 44px; border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart *,
	.woocommerce-checkout * { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
