/* ==========================================================================
   TTW Cart & Checkout - cart page
   0CartWork/Latest Designs/02 Cart Page: Desktop-Cart-v17-Product-Images.png
   and Mobile-Cart-v21-Compact-Gifts.png - cream page, white cards, navy
   futura-pt, purple buttons, lavender and blush accents.
   Mobile first; two columns from 992px. Everything is scoped to .ttwc /
   .ttwc-page so nothing here leaks into the rest of the site.
   ========================================================================== */

/* ---- page ---------------------------------------------------------------- */
/* The site's own header, top bar and menu, exactly as on every other page
   (Peter, 21 Oct 2026) - white behind the header, the cream starts with the
   cart itself, and no breadcrumb. */
body.ttwc-cart #ttw-cartbar,
body.ttwc-cart .stickycheckout,
body.ttwc-cart #ttw-mini-cart-pop { display: none !important; }
body.ttwc-cart .woocommerce,
body.ttwc-cart .row.cart_sm { padding-bottom: 0 !important; } /* the theme pads for its own bar */

.ttwc-page {
	--ttwc-bg: #FAEEE4;
	--ttwc-card: #FFFFFF;
	--ttwc-navy: #0B0E3F;
	--ttwc-ink: #1A1D45;
	--ttwc-muted: #5E6283;
	--ttwc-line: #ECE6E3;
	--ttwc-box: #E5E0E6;
	--ttwc-purple: #7035EC;
	--ttwc-purple-hover: #5C28C9;
	--ttwc-lav: #EEE5FE;
	--ttwc-blush: #FBEEE5;
	--ttwc-cream: #FDF8F4;
	--ttwc-track: #E5E3EC;
	--ttwc-step: #F4F3F7;
	--ttwc-img: #F7F0EA;
	--ttwc-r: 8px;
	--ttwc-shadow: 0 1px 2px rgba(25, 20, 45, .04), 0 2px 10px rgba(25, 20, 45, .035);
	display: block;
	background: var(--ttwc-bg);
	color: var(--ttwc-ink);
	font-family: futura-pt, "Futura PT", Futura, "Century Gothic", "Trebuchet MS", system-ui, sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	padding: 14px 0 calc(var(--ttwc-bar-h, 132px) + 20px);
	min-height: 60vh;
}
.ttwc-page > .woocommerce {
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 12px;
}

/* ---- resets inside the cart (the theme styles some of these classes) ---- */
.ttwc *, .ttwc *::before, .ttwc *::after { box-sizing: border-box; }
.ttwc h1, .ttwc h2, .ttwc p, .ttwc ul, .ttwc ol, .ttwc li { margin: 0; padding: 0; }
.ttwc ul, .ttwc ol { list-style: none; }
.ttwc a { color: inherit; text-decoration: none; }
.ttwc a:hover { text-decoration: none; }
.ttwc button { font-family: inherit; cursor: pointer; text-transform: none; letter-spacing: 0; box-shadow: none; }
.ttwc img { max-width: 100%; height: auto; display: block; border-radius: 0; }
.ttwc .ttwc-i { flex: none; display: block; }
.ttwc .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ttwc form.woocommerce-cart-form,
.ttwc .cart-collaterals,
.ttwc .cart_totals {
	background: transparent;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	width: auto;
	float: none;
	text-align: left;
}
.ttwc .yith-wapo-edit-product-cart,
.ttwc .yith-wapo-edit-addons-link { display: none !important; }
.ttwc .ttwc-lg { display: none; }       /* desktop words */
.ttwc .ttwc-sm { display: inline; }     /* phone words */
.ttwc .ttwc-card { background: var(--ttwc-card); border-radius: var(--ttwc-r); box-shadow: var(--ttwc-shadow); }

/* ---- notices (removed / undo, errors) ------------------------------------ */
.ttwc-page .woocommerce-notices-wrapper:not(:empty) { margin: 0 0 12px; }
.ttwc-page .woocommerce-message,
.ttwc-page .woocommerce-info,
.ttwc-page .woocommerce-error {
	margin: 0 0 10px !important;
	padding: 11px 14px !important;
	border: 0 !important;
	border-radius: 8px;
	background: #fff !important;
	color: var(--ttwc-ink) !important;
	font-size: 14.5px;
	line-height: 1.4;
	box-shadow: var(--ttwc-shadow);
	list-style: none;
	text-align: left;
}
.ttwc-page .woocommerce-message::before,
.ttwc-page .woocommerce-info::before,
.ttwc-page .woocommerce-error::before { display: none !important; }
.ttwc-page .woocommerce-error { color: #9B1C1C !important; }
.ttwc-page .woocommerce-message a,
.ttwc-page .woocommerce-message .restore-item { color: var(--ttwc-purple) !important; font-weight: 500; text-decoration: underline; margin-left: 4px; }

/* ---- title ------------------------------------------------------------------ */
.ttwc .ttwc-title {
	font-family: inherit;
	font-size: 30px;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--ttwc-navy);
	text-transform: none;
	text-align: left;
	margin: 0 0 12px 4px;
}

/* ---- rewards --------------------------------------------------------------- */
.ttwc-rw-slot:empty { display: none; }
.ttwc .ttwc-rewards { padding: 12px 14px 10px; margin-bottom: 12px; }
.ttwc .ttwc-rw-main { display: flex; align-items: flex-start; gap: 12px; }
.ttwc .ttwc-rw-icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--ttwc-blush);
	color: var(--ttwc-navy);
}
.ttwc .ttwc-rw-icon .ttwc-i { width: 24px; height: 24px; stroke-width: 1.5; }
.ttwc .ttwc-rw-body { flex: 1 1 auto; min-width: 0; }
.ttwc .ttwc-rw-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.ttwc .ttwc-rw-h { font-size: 16px; line-height: 1.25; font-weight: 600; color: var(--ttwc-navy); }
.ttwc .ttwc-rw-s { font-size: 13.5px; line-height: 1.35; color: var(--ttwc-muted); margin-top: 1px; }
.ttwc .ttwc-rw-of { flex: none; font-size: 14px; line-height: 1.3; color: var(--ttwc-muted); white-space: nowrap; padding-top: 1px; }
.ttwc .ttwc-rw-of b { font-weight: 600; color: var(--ttwc-navy); }
.ttwc .ttwc-rw-of .ttwc-cur { font-size: 1em; font-weight: inherit; }
.ttwc .ttwc-rw-bar { position: relative; height: 8px; margin-top: 8px; border-radius: 4px; background: var(--ttwc-track); overflow: hidden; }
.ttwc .ttwc-rw-bar > span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--ttwc-purple); transition: width .4s ease; }
.ttwc .ttwc-rw-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr));
	margin: 10px 0 0;
}
.ttwc .ttwc-rw-steps::before {   /* the line between the dots */
	content: "";
	position: absolute;
	top: 11px;
	left: calc(100% / var(--n, 3) / 2);
	right: calc(100% / var(--n, 3) / 2);
	height: 2px;
	background: var(--ttwc-track);
}
.ttwc .ttwc-rw-steps li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; padding: 0 2px; }
.ttwc .ttwc-rw-dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid var(--ttwc-navy);
	background: #fff;
	color: var(--ttwc-navy);
	margin-bottom: 3px;
}
.ttwc .ttwc-rw-steps li.is-done .ttwc-rw-dot { background: var(--ttwc-purple); border-color: var(--ttwc-purple); color: #fff; }
.ttwc .ttwc-rw-dot .ttwc-i { width: 14px; height: 14px; stroke-width: 2.6; }
.ttwc .ttwc-rw-steps li.is-gift .ttwc-rw-dot .ttwc-i { stroke-width: 1.6; }
.ttwc .ttwc-rw-steps b { font-size: 14px; line-height: 1.2; font-weight: 600; color: var(--ttwc-navy); }
.ttwc .ttwc-rw-steps b .ttwc-cur { font-size: 1em; font-weight: inherit; }
.ttwc .ttwc-rw-label { font-size: 12.5px; line-height: 1.25; color: var(--ttwc-muted); }

/* ---- the items ------------------------------------------------------------ */
.ttwc .ttwc-bag { padding: 0 12px; }
.ttwc .ttwc-cols { display: none; }
.ttwc .ttwc-items { display: block; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.ttwc .ttwc-item {
	position: relative;
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	/* the price top right, in line with the name, and Remove just under it
	   (Peter, 21 Oct 2026 - it was on its own row under the name) */
	grid-template-areas:
		"thumb info end"
		"thumb edit edit";
	column-gap: 12px;
	row-gap: 8px;
	align-items: center;
	margin: 0;
	padding: 12px 0;
	border: 0;
	background: transparent;
	font-family: inherit;
}
.ttwc .ttwc-item + .ttwc-item { border-top: 1px solid var(--ttwc-line); }
.ttwc .ttwc-thumb {
	grid-area: thumb;
	align-self: start;
	position: relative;
	aspect-ratio: 1.1;
	border-radius: 6px;
	overflow: hidden;
	background: var(--ttwc-img);
	margin: 0;
}
.ttwc .ttwc-thumb > a,
.ttwc .ttwc-thumb > .ttwc-zoom { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.ttwc .ttwc-thumb .ttwc-zoom { border: 0; padding: 0; margin: 0; background: transparent; cursor: zoom-in; border-radius: 0; }
.ttwc .ttwc-thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: center;
	margin: 0;
	border-radius: 0 !important;
	mix-blend-mode: multiply;   /* white product shots sit on the tint */
}
.ttwc .ttwc-thumb img.is-render { object-fit: contain; mix-blend-mode: normal; }   /* the whole design, never cut off */

.ttwc .ttwc-info { grid-area: info; align-self: start; min-width: 0; text-align: left; }
.ttwc .ttwc-end { grid-area: end; align-self: start; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; min-width: 0; }
.ttwc .ttwc-name { font-size: 16px; line-height: 1.25; font-weight: 600; color: var(--ttwc-navy); overflow-wrap: anywhere; }
.ttwc .ttwc-name a:hover { text-decoration: underline; }
.ttwc .ttwc-sub { margin-top: 3px; font-size: 14px; line-height: 1.3; color: var(--ttwc-muted); }
.ttwc .ttwc-meta { margin-top: 6px; font-size: 14px; line-height: 1.42; color: var(--ttwc-muted); }
.ttwc .ttwc-meta li { margin: 0; overflow-wrap: anywhere; }
.ttwc .backorder_notification { margin-top: 6px; font-size: 12.5px; color: var(--ttwc-muted); }
.ttwc .ttw-gift-pick { font-size: 12.5px; }

.ttwc .ttwc-edit {
	grid-area: edit;
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ttwc-purple) !important;
	padding: 6px 0;
}
.ttwc .ttwc-edit span { text-decoration: underline; text-underline-offset: 3px; }
.ttwc .ttwc-edit .ttwc-i { width: 18px; height: 18px; stroke-width: 1.8; }
.ttwc .ttwc-edit:hover { color: var(--ttwc-purple-hover) !important; }

.ttwc .ttwc-qty { grid-area: edit; justify-self: end; margin: 0; padding: 0; }   /* phones: shares the row with Edit design, at the right */
.ttwc .ttwc-stepper {
	display: inline-flex;
	align-items: center;
	height: 42px;
	border-radius: 999px;
	background: var(--ttwc-step);
	border: 1px solid #E8E6EE;
	padding: 0 3px;
	margin: 0;
	width: auto;
	float: none;
}
.ttwc .ttwc-step {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ttwc-navy);
	transition: background-color .15s;
}
.ttwc .ttwc-step:hover:not(:disabled) { background: #E9E6F0; }
.ttwc .ttwc-step:disabled { color: #A8A6B4; cursor: default; }
.ttwc .ttwc-step .ttwc-i { width: 18px; height: 18px; stroke-width: 1.8; }
.ttwc .ttwc-stepper input.qty {
	width: 32px;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	outline: 0;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	line-height: 36px;
	color: var(--ttwc-navy);
	-moz-appearance: textfield;
	appearance: textfield;
}
.ttwc .ttwc-stepper input.qty::-webkit-outer-spin-button,
.ttwc .ttwc-stepper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.ttwc .ttwc-price {
	text-align: right;
	white-space: nowrap;
	font-size: 17px;
	line-height: 1.2;
	font-weight: 600;
	color: var(--ttwc-navy);
	margin: 0;
	padding: 0;
}
.ttwc .ttwc-cur { font-weight: inherit; font-size: 1em; letter-spacing: .01em; }
.ttwc .ttwc-price del { display: block; font-size: 12px; line-height: 1.2; color: var(--ttwc-muted); font-weight: 400; }
.ttwc .ttwc-price ins { text-decoration: none; }

.ttwc .ttwc-remove { margin: 0; padding: 0; width: auto; line-height: 1.2; }
.ttwc .ttwc-remove a.remove,
.woocommerce .ttwc .ttwc-remove a.remove {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 4px 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	color: var(--ttwc-muted) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	text-align: right;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}
.ttwc .ttwc-remove a.remove:hover,
.woocommerce .ttwc .ttwc-remove a.remove:hover { color: var(--ttwc-navy) !important; background: transparent !important; }

.ttwc .ttwc-actions { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* phones: the total and the way on, under the items */
.ttwc .ttwc-quick { border-top: 1px solid var(--ttwc-line); padding: 10px 0 12px; }
.ttwc .ttwc-quick-total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--ttwc-navy); margin-bottom: 8px; }
.ttwc .ttwc-quick-amt { white-space: nowrap; }
.ttwc .ttwc-quick-amt strong { font-weight: 700; }
.ttwc .ttwc-quick-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 8px; font-size: 13.5px; line-height: 1.3; color: var(--ttwc-muted); text-align: center; }

/* the purple button (quick + summary) */
.ttwc a.ttwc-checkout,
.woocommerce .ttwc a.ttwc-checkout,
.woocommerce-cart .ttwc .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	max-width: none;
	height: 48px;
	margin: 0;
	padding: 0 18px;
	border: 0 !important;
	border-radius: 999px;
	background: var(--ttwc-purple) !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .12em;
	text-transform: uppercase !important;
	text-decoration: none !important;
	text-align: center;
	box-shadow: 0 6px 16px rgba(112, 53, 236, .24);
	transition: background-color .15s, transform .1s;
	white-space: nowrap;
}
.ttwc a.ttwc-checkout:hover,
.ttwc a.ttwc-checkout:focus { background: var(--ttwc-purple-hover) !important; color: #fff !important; }
.ttwc a.ttwc-checkout:active { transform: translateY(1px); }
.ttwc a.ttwc-checkout .ttwc-i { width: 20px; height: 20px; stroke-width: 2; }
.ttwc a.ttwc-checkout img:not(.ttwc-hand) { display: none; }
/* the theme's pointing hand on the call to action buttons */
.ttwc img.ttwc-hand { display: block; flex: 0 0 auto; width: 20px; height: auto; max-width: none; margin: 0; }

/* the (i) */
.ttwc .ttwc-tipwrap { position: relative; display: inline-flex; vertical-align: middle; margin-left: 6px; }
.ttwc .ttwc-ibtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: -3px 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ttwc-navy);
}
.ttwc .ttwc-ibtn .ttwc-i { width: 18px; height: 18px; stroke-width: 1.6; }
.ttwc .ttwc-ibtn:hover,
.ttwc .ttwc-ibtn[aria-expanded="true"] { color: var(--ttwc-purple); }
.ttwc .ttwc-tip {
	position: absolute;
	z-index: 20;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(calc(-50% + var(--dx, 0px)));
	width: 240px;
	max-width: calc(100vw - 20px);
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--ttwc-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	box-shadow: 0 8px 24px rgba(11, 14, 63, .25);
}
.ttwc .ttwc-tip[hidden] { display: none; }
.ttwc .ttwc-tip::after { content: ""; position: absolute; top: 100%; left: calc(50% - var(--dx, 0px)); margin-left: -6px; border: 6px solid transparent; border-top-color: var(--ttwc-navy); }
@media (hover: hover) and (pointer: fine) {
	.ttwc .ttwc-tipwrap:hover .ttwc-tip[hidden] { display: block; }
}

/* ---- "Make it a complete gift" ---------------------------------------------- */
.ttwc .ttwc-gift { margin-top: 12px; padding: 14px 12px 14px; }
.ttwc .ttwc-gift-h { font-family: inherit; font-size: 24px; line-height: 1.15; font-weight: 700; color: var(--ttwc-navy); text-transform: none; letter-spacing: 0; margin: 0; }
.ttwc .ttwc-gift-sub { font-size: 15px; line-height: 1.35; color: var(--ttwc-muted); margin-top: 3px; }
.ttwc .ttwc-extras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.ttwc .ttwc-extra { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; margin: 0; }
.ttwc .ttwc-extra-img { position: relative; display: block; width: 100%; aspect-ratio: 1.18; border-radius: 6px; overflow: hidden; background: var(--ttwc-img); }
.ttwc .ttwc-extra-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 4px; margin: 0; mix-blend-mode: multiply; }
.ttwc .ttwc-extra-name { margin-top: 7px; font-size: 14px; line-height: 1.25; color: var(--ttwc-navy); }
.ttwc .ttwc-extra-price { margin-top: 3px; font-size: 15px; line-height: 1.25; font-weight: 600; color: var(--ttwc-navy); white-space: nowrap; }
.ttwc .ttwc-extra-price .ttwc-cur { font-size: 1em; font-weight: inherit; }
.ttwc .ttwc-extra-add,
.ttwc .ttwc-bundle-add {
	display: block;
	width: 100%;
	height: 36px;
	margin: 7px 0 0;
	padding: 0 8px;
	border: 1.5px solid var(--ttwc-purple);
	border-radius: 999px;
	background: #fff;
	color: var(--ttwc-purple);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	transition: background-color .15s, color .15s, opacity .15s;
}
.ttwc .ttwc-extra-add:hover:not(:disabled),
.ttwc .ttwc-bundle-add:hover:not(:disabled) { background: var(--ttwc-purple); color: #fff; }
.ttwc .ttwc-extra-add.is-loading,
.ttwc .ttwc-bundle-add.is-loading { opacity: .6; cursor: progress; }
.ttwc .ttwc-extra-in { display: inline-flex; align-items: center; justify-content: center; gap: 5px; height: 36px; margin-top: 7px; font-size: 14px; color: #1E7A4E; }
.ttwc .ttwc-extra-in .ttwc-i { width: 16px; height: 16px; stroke-width: 2.4; }

.ttwc .ttwc-bundle { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ttwc-line); text-align: center; }
.ttwc .ttwc-bundle-price { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 12px; }
.ttwc .ttwc-bundle-price s { font-size: 15px; color: var(--ttwc-muted); }
.ttwc .ttwc-bundle-price s .ttwc-cur { font-size: 1em; }
.ttwc .ttwc-bundle-now { display: none; }
.ttwc .ttwc-bundle-all { font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--ttwc-navy); }
.ttwc .ttwc-save { display: inline-block; padding: 3px 12px; border-radius: 999px; background: var(--ttwc-lav); color: var(--ttwc-purple); font-size: 14px; font-weight: 500; white-space: nowrap; }
.ttwc .ttwc-bundle-add { height: 44px; margin-top: 10px; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.ttwc .ttwc-bundle-note { display: none; margin-top: 7px; font-size: 12.5px; color: var(--ttwc-muted); }
.ttwc .ttwc-bundle-done { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ttwc-line); font-size: 15px; color: #1E7A4E; }
.ttwc .ttwc-bundle-done .ttwc-i { width: 18px; height: 18px; stroke-width: 2.4; }

/* bunny only */
.ttwc .ttwc-one { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 10px; padding-right: 10px; border-radius: 8px; background: var(--ttwc-blush); overflow: hidden; }
.ttwc .ttwc-one-img { position: relative; display: block; width: 96px; height: 82px; background: var(--ttwc-img); }
.ttwc .ttwc-one-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 3px; margin: 0; mix-blend-mode: multiply; }
.ttwc .ttwc-one-text { display: flex; flex-direction: column; min-width: 0; }
.ttwc .ttwc-one-name { font-size: 16px; font-weight: 600; color: var(--ttwc-navy); }
.ttwc .ttwc-one-price { font-size: 15px; color: var(--ttwc-muted); }
.ttwc .ttwc-one .ttwc-extra-add { width: auto; margin: 0; padding: 0 22px; height: 42px; }

/* ---- order summary --------------------------------------------------------------- */
.ttwc .ttwc-side { margin-top: 12px; }
.ttwc .ttwc-summary { padding: 14px 12px 14px; }
.ttwc .ttwc-sum-title { font-family: inherit; font-size: 24px; line-height: 1.15; font-weight: 700; color: var(--ttwc-navy); text-transform: none; letter-spacing: 0; margin: 0 0 10px; }

/* where it goes */
.ttwc .ttwc-dest {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	padding: 9px 12px;
	border: 1px solid var(--ttwc-box);
	border-radius: 6px;
}
.ttwc .ttwc-dest-pin { width: 22px; height: 22px; color: var(--ttwc-navy); fill: var(--ttwc-navy); stroke: none; }
.ttwc .ttwc-dest-pin circle { fill: #fff; }
.ttwc .ttwc-dest-text { flex: 1 1 0; min-width: 0; font-size: 15px; line-height: 1.3; color: var(--ttwc-ink); }
/* "Change": opens the address dialog (address.js / address.css) */
.ttwc .ttwc-dest-change {
	order: 3;
	flex: none;
	display: inline-block;
	margin: 0;
	padding: 2px 0;
	border: 0;
	background: none !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--ttwc-purple) !important;
	text-transform: none !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	letter-spacing: 0;
	cursor: pointer;
}
.ttwc .ttwc-dest-change:hover { color: var(--ttwc-purple-hover) !important; }
/* how it gets there */
.ttwc .ttwc-ship-h { display: none; font-size: 17px; line-height: 1.3; font-weight: 700; color: var(--ttwc-navy); margin: 14px 0 4px; }
.ttwc .ttwc-pkg-name { font-size: 14px; font-weight: 600; margin-top: 10px; }
.ttwc .ttwc-rates { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.ttwc .ttwc-rate { display: block; position: relative; margin: 0; padding: 0; list-style: none; line-height: 1.3; }
.ttwc .ttwc-rate input.shipping_method { position: absolute; top: 0; left: 0; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.ttwc .ttwc-rate label {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 12px;
	padding: 11px 12px;
	margin: 0;
	border: 1px solid var(--ttwc-box);
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	font-weight: 400;
	width: 100%;
	text-align: left;
	transition: border-color .15s, box-shadow .15s;
}
.ttwc .ttwc-rate.is-on label,
.ttwc .ttwc-rate input:checked + label { border-color: var(--ttwc-purple); box-shadow: inset 0 0 0 1px var(--ttwc-purple); }
.ttwc .ttwc-radio {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1.5px solid #8C8AA0;
	background: #fff;
	position: relative;
	transition: border-color .15s;
}
.ttwc .ttwc-rate input:checked + label .ttwc-radio { border: 2px solid var(--ttwc-purple); }
.ttwc .ttwc-rate input:checked + label .ttwc-radio::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: var(--ttwc-purple);
}
.ttwc .ttwc-rate input:focus-visible + label { box-shadow: 0 0 0 3px rgba(112, 53, 236, .25); }
.ttwc .ttwc-rate-text { display: flex; flex-direction: column; min-width: 0; }
.ttwc .ttwc-rate-name { font-size: 15.5px; line-height: 1.3; font-weight: 500; color: var(--ttwc-navy); }
.ttwc .ttwc-rate-dash { display: none; }
.ttwc .ttwc-rate-eta { font-size: 14px; line-height: 1.35; color: var(--ttwc-muted); margin-top: 2px; }
.ttwc .ttwc-rate-price { align-self: start; font-size: 15.5px; font-weight: 500; color: var(--ttwc-navy); white-space: nowrap; text-align: right; }
.ttwc .ttwc-rate-price .ttwc-cur,
.ttwc .ttwc-rate-dash .ttwc-cur { font-size: 1em; font-weight: inherit; }
.ttwc .ttwc-rates--pickup { display: none; }
.ttwc .ttwc-rates--pickup.is-open { display: grid; }
.ttwc .ttwc-pickup-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 2px;
	padding: 4px 2px;
	border: 0;
	background: transparent;
	color: var(--ttwc-purple);
	font-size: 15px;
	line-height: 1.3;
}
.ttwc .ttwc-pickup-link span { text-decoration: underline; text-underline-offset: 3px; }
.ttwc .ttwc-pickup-link .ttwc-i { width: 22px; height: 22px; color: var(--ttwc-navy); stroke-width: 1.5; }
.ttwc .ttwc-pickup-link[aria-expanded="true"] { display: none; }
.ttwc .ttwc-ship-empty { font-size: 14px; color: var(--ttwc-muted); padding: 10px 0; }
.ttwc .ttwc-ship-note { margin: 8px 0 0; font-size: 12.5px; color: var(--ttwc-muted); line-height: 1.4; }
.ttwc .ttwc-ship-note table.ttwc-legacy, .ttwc .ttwc-ship-note td { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; }
.ttwc .ttwc-ship-note br { display: none; }
.ttwc .ttwc-ship-note div, .ttwc .ttwc-ship-note strong { font-size: 12.5px !important; color: var(--ttwc-muted) !important; font-weight: 400 !important; }
.ttwc table.ttwc-legacy { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.ttwc table.ttwc-legacy td, .ttwc table.ttwc-legacy th { border: 0; padding: 0; font-size: 13px; background: none; }

/* the breakdown */
.ttwc .ttwc-rows { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--ttwc-line); }
.ttwc .ttwc-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 15.5px;
	line-height: 1.35;
	color: var(--ttwc-muted);
	padding: 2px 0;
	margin: 0;
}
.ttwc .ttwc-row > span:last-child { color: var(--ttwc-navy); text-align: right; white-space: nowrap; }
.ttwc .ttwc-row .ttwc-cur { font-size: 1em; font-weight: inherit; }
.ttwc .ttwc-row-adj.cart-discount > span:last-child { color: #1E7A4E; }
.ttwc .ttwc-row a.woocommerce-remove-coupon { margin-left: 6px; font-size: 13px; color: var(--ttwc-muted) !important; text-decoration: underline; }
.ttwc .ttwc-row-ins > span:first-child { display: inline-flex; align-items: center; }
.ttwc .ttwc-row-total {
	margin-top: 8px;
	padding: 10px 0 0;
	border-top: 1px solid var(--ttwc-line);
	font-size: 20px;
	font-weight: 700;
	color: var(--ttwc-navy);
}
.ttwc .ttwc-row-total > span:last-child { font-weight: 700; }
.ttwc .ttwc-grand strong { font-weight: 700; }
.ttwc .ttwc-total-note { font-size: 12.5px; color: var(--ttwc-muted); text-align: right; margin-top: 1px; }

/* the pay bar - pinned to the bottom of the screen on phones */
.ttwc .ttwc-pay {
	position: fixed;
	z-index: 9990;
	left: 0;
	right: 0;
	bottom: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas:
		"total btn"
		"exp   exp";
	align-items: center;
	column-gap: 12px;
	row-gap: 8px;
	margin: 0;
	padding: 8px 14px calc(10px + env(safe-area-inset-bottom, 0px));
	background: #fff;
	box-shadow: 0 -4px 22px rgba(25, 20, 45, .10);
	border-radius: 0;
	text-align: left;
}
.ttwc .ttwc-totals.processing .ttwc-pay { opacity: .75; }
.ttwc .ttwc-total { grid-area: total; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; text-align: left; margin: 0; padding: 0; border: 0; }
.ttwc .ttwc-total-label { font-size: 13px; line-height: 1.2; color: var(--ttwc-muted); }
.ttwc .ttwc-total-amt { font-size: 22px; line-height: 1.15; font-weight: 700; color: var(--ttwc-navy); white-space: nowrap; }
.ttwc .ttwc-total-amt strong { font-weight: 700; }
.ttwc .ttwc-pay a.ttwc-checkout { grid-area: btn; height: 44px; font-size: 17px; letter-spacing: 0; text-transform: none !important; box-shadow: 0 4px 12px rgba(112, 53, 236, .22); }

.ttwc .ttwc-express { grid-area: exp; min-width: 0; }
.ttwc .ttwc-express:not(.has-wallets) { display: none; }
.ttwc .ttwc-or { display: none; }
.ttwc .ttwc-express-btns { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 !important; margin: 0 !important; text-align: left; }
.ttwc .ttwc-express-btns > * { flex: 1 1 0; min-width: 150px; }   /* PayPal's narrowest; on a 320px phone they stack */
.ttwc .ttwc-express-btns > .ttwc-x-empty { display: none !important; }
/* the wallet first, PayPal second */
.ttwc .ttwc-express-btns > .wc-ppcp-cart-payments__container { order: 2; }
.ttwc .ttwc-express-btns ul.wc-ppcp-cart-payment__methods { margin: 0 !important; padding: 0 !important; list-style: none; }
.ttwc .ttwc-express-btns li.wc-ppcp-cart-payment-method { margin: 0 !important; padding: 0 !important; list-style: none; }
.ttwc .ttwc-express-btns .paypal-buttons { margin: 0 !important; }   /* level with Apple Pay / Google Pay */
.ttwc .ttwc-express-btns li.wc-ppcp-cart-payment-method.or,
.ttwc .ttwc-express-btns [id^="wc-ppcp-paylater-msg"] { display: none !important; }   /* the row is buttons only */
/* Google Pay on Android only, Apple Pay everywhere else (classes set on <html> by the plugin) */
.ttwc-no-applepay .ttwc .ttwc-express-btns li.payment_method_stripe_applepay,
.ttwc-no-applepay .ttwc .ttwc-express-btns li.payment_method_ppcp_applepay,
.ttwc-no-gpay .ttwc .ttwc-express-btns li.payment_method_stripe_googlepay,
.ttwc-no-gpay .ttwc .ttwc-express-btns li.payment_method_ppcp_googlepay { display: none !important; }
.ttwc .ttwc-express-btns .wc-stripe-cart-checkout-container { margin: 0 !important; padding: 0 !important; }
.ttwc .ttwc-express-btns ul.wc_stripe_cart_payment_methods {
	display: flex !important;
	flex-wrap: wrap;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.ttwc .ttwc-express-btns ul.wc_stripe_cart_payment_methods > li { flex: 1 1 0; margin: 0 !important; padding: 0 !important; min-width: 120px; list-style: none; }
.ttwc .ttwc-express-btns ul.wc_stripe_cart_payment_methods > li.or,
.ttwc .ttwc-express-btns ul.wc_stripe_cart_payment_methods > li.ttwc-x-empty,
.ttwc .ttwc-express-btns .wc-stripe-cart-or { display: none !important; }
.ttwc .ttwc-express-btns .payment-box { margin: 0 !important; padding: 0 !important; }
.ttwc .ttwc-express-btns .gpay-button-container,
.ttwc .ttwc-express-btns .gpay-card-info-container,
.ttwc .ttwc-express-btns button.gpay-button,
.ttwc .ttwc-express-btns .gpay-card-info-container-fill { width: 100% !important; min-width: 0 !important; }
.ttwc .ttwc-express-btns .StripeElement,
.ttwc .ttwc-express-btns iframe { min-width: 0 !important; }
.ttwc .ttwc-express-btns wc-order-attribution-inputs { display: none; }
/* a little lower than the checkout button (PayPal's height is set to match in TTWC_Cart::paypal_height) */
.ttwc { --ttwc-wallet-h: 40px; }
.ttwc .ttwc-express-btns .apple-pay-button,
.ttwc .ttwc-express-btns .gpay-button-fill,
.ttwc .ttwc-express-btns button.gpay-button,
.ttwc .ttwc-express-btns .gpay-card-info-container-fill,
.ttwc .ttwc-express-btns .gpay-card-info-container { height: var(--ttwc-wallet-h) !important; min-height: 0 !important; max-height: var(--ttwc-wallet-h) !important; }
.ttwc .ttwc-express-btns .apple-pay-button { min-width: 0 !important; }

/* pay-later messages belong to the summary, not the pinned bar */
.ttwc .ttwc-pay afterpay-placement,
.ttwc .ttwc-pay .afterpay-paragraph,
.ttwc .ttwc-pay [class*="afterpay-cart-msg"],
.ttwc .ttwc-pay [id*="affirm-cart-msg"] { display: none !important; }
.ttwc .ttwc-express-btns .afterpay-express-button,
.ttwc .ttwc-express-btns [id*="afterpay-express"] { flex: 1 1 0; min-width: 120px; width: 100%; height: var(--ttwc-wallet-h, 40px); border-radius: 6px; }

.ttwc .ttwc-trustline { display: none; }
.ttwc .ttwc-after-total { padding: 10px 0 0; font-size: 13px; color: var(--ttwc-muted); }
.ttwc .ttwc-after-total:empty { display: none; }

/* promo code */
.ttwc .ttwc-promo { margin-top: 12px; border: 1px solid var(--ttwc-box); border-radius: 6px; }
.ttwc .ttwc-promo-toggle {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 44px;
	padding: 6px 12px;
	border: 0;
	background: transparent;
	color: var(--ttwc-navy);
	font-size: 15px;
	line-height: 1.3;
	text-align: left;
}
.ttwc .ttwc-promo-toggle > span { flex: 1 1 auto; }
.ttwc .ttwc-promo-toggle .ttwc-i { width: 22px; height: 22px; stroke-width: 1.5; }
.ttwc .ttwc-promo-chev { width: 18px !important; height: 18px !important; transition: transform .2s; }
.ttwc .ttwc-promo-toggle[aria-expanded="true"] .ttwc-promo-chev { transform: rotate(180deg); }
.ttwc .ttwc-promo-box { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 12px 12px; }
.ttwc .ttwc-promo-box[hidden] { display: none; }
.ttwc .ttwc-promo-in {
	flex: 1 1 140px;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #D5D0DA;
	border-radius: 6px;
	background: #fff;
	font-family: inherit;
	font-size: 16px;
	color: var(--ttwc-ink);
	text-transform: uppercase;
	box-shadow: none;
}
.ttwc .ttwc-promo-in:focus { outline: 0; border-color: var(--ttwc-purple); box-shadow: 0 0 0 3px rgba(112, 53, 236, .15); }
.ttwc .ttwc-promo-apply {
	flex: none;
	height: 44px;
	padding: 0 20px;
	border: 1.5px solid var(--ttwc-purple);
	border-radius: 6px;
	background: #fff;
	color: var(--ttwc-purple);
	font-size: 15px;
	font-weight: 500;
}
.ttwc .ttwc-promo-apply:hover { background: var(--ttwc-purple); color: #fff; }
.ttwc .ttwc-promo-apply.is-loading { opacity: .6; cursor: progress; }
.ttwc .ttwc-promo-msg { flex: 1 1 100%; font-size: 13.5px; line-height: 1.35; }
.ttwc .ttwc-promo-msg:empty { display: none; }
.ttwc .ttwc-promo-msg.is-bad { color: #9B1C1C; }
.ttwc .ttwc-promo-msg.is-ok { color: #1E7A4E; }

/* beautifully packaged */
.ttwc .ttwc-pack {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) 76px;
	column-gap: 14px;
	align-items: center;
	margin-top: 12px;
	padding: 10px 12px 10px 14px;
	border-radius: 8px;
	background: var(--ttwc-blush);
	overflow: hidden;
}
.ttwc .ttwc-pack-icon { width: 32px; height: 32px; color: var(--ttwc-navy); stroke-width: 1.3; }
.ttwc .ttwc-pack-title { font-size: 16px; font-weight: 600; color: var(--ttwc-navy); margin-bottom: 2px; }
.ttwc .ttwc-pack-text p:not(.ttwc-pack-title) { font-size: 14px; line-height: 1.35; color: var(--ttwc-muted); }
.ttwc .ttwc-pack-text .ttwc-sm { display: block; }
.ttwc .ttwc-pack-img { width: 76px; height: auto; margin: -4px 0 -14px; mix-blend-mode: multiply; }

/* reassurance - three under the summary on phones, four across the bottom on desktop */
.ttwc .ttwc-reassure { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.ttwc .ttwc-reassure li { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 12.5px; line-height: 1.25; color: var(--ttwc-navy); }
.ttwc .ttwc-reassure .ttwc-i { width: 24px; height: 24px; stroke-width: 1.5; }
.ttwc .ttwc-reassure + .ttwc-reassure { display: none; }
.ttwc .ttwc-reassure--desktop { display: none; }

/* ---- working / done states ---------------------------------------------- */
.ttwc .ttwc-item.is-busy .ttwc-price,
.ttwc .ttwc-totals.is-busy .ttwc-grand,
.ttwc .ttwc-totals.is-busy .ttwc-total-amt,
.ttwc .ttwc-totals.is-busy .ttwc-rows,
.ttwc.is-busy .ttwc-quick-amt { opacity: .4; transition: opacity .2s; }
.ttwc .ttwc-item.is-removing { opacity: .35; pointer-events: none; transition: opacity .2s; }
.ttwc .ttwc-item.is-new { animation: ttwc-flash 2.2s ease-out; }
@keyframes ttwc-flash { 0%, 30% { background-color: #EEE6FE; } 100% { background-color: rgba(255, 255, 255, 0); } }
.ttwc-toast {
	position: fixed;
	z-index: 9995;
	left: 16px;
	right: 16px;
	bottom: calc(var(--ttwc-bar-h, 0px) + 12px);
	padding: 12px 16px;
	border-radius: 10px;
	background: #0B0E3F;
	color: #fff;
	font-family: futura-pt, "Futura PT", Futura, system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.35;
	box-shadow: 0 8px 28px rgba(11, 14, 63, .28);
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity .2s, transform .2s;
}
.ttwc-toast.is-on { opacity: 1; transform: none; pointer-events: auto; }
.ttwc-toast a { color: #C9B6FF !important; font-weight: 600; text-decoration: underline; margin-left: 6px; }
.ttwc-toast .ttwc-toast-ok { color: #8CF0C8; font-weight: 700; margin-right: 2px; }

/* ---- photo of the design, full size -------------------------------------- */
.ttwc-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 56px 16px 24px;
	background: rgba(14, 10, 24, .94);
}
.ttwc-lightbox[hidden] { display: none; }
.ttwc-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; }
.ttwc-lightbox-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}
body.ttwc-lightbox-open { overflow: hidden; }

/* ---- empty cart -------------------------------------------------------------- */
.ttwc.ttwc-is-empty { max-width: 640px; margin: 0 auto; }
.ttwc .ttwc-head { margin: 0 0 12px; }
.ttwc .ttwc-count { font-size: 18px; font-weight: 400; }
.ttwc .ttwc-empty { text-align: center; padding: 40px 24px; }
.ttwc .ttwc-empty-icon { width: 48px; height: 48px; margin: 0 auto 14px; color: var(--ttwc-purple); stroke-width: 1.4; }
.ttwc .ttwc-empty h2 { font-family: inherit; font-size: 24px; font-weight: 600; margin-bottom: 6px; color: var(--ttwc-navy); text-transform: none; }
.ttwc .ttwc-empty p { font-size: 16px; color: var(--ttwc-muted); margin-bottom: 22px; }
.ttwc .ttwc-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 50px;
	padding: 0 28px;
	border-radius: 999px;
	background: var(--ttwc-purple);
	color: #fff !important;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ttwc .ttwc-btn:hover { background: var(--ttwc-purple-hover); }
body.ttwc-cart .ttwc-page:has(.ttwc-is-empty) { padding-bottom: 48px; }

/* ==========================================================================
   Small phones
   ========================================================================== */
@media (max-width: 374px) {
	.ttwc .ttwc-item { grid-template-columns: 92px minmax(0, 1fr) auto; column-gap: 10px; }
	.ttwc .ttwc-name { font-size: 15px; }
	.ttwc .ttwc-sub, .ttwc .ttwc-meta { font-size: 13px; }
	.ttwc .ttwc-step { width: 32px; height: 32px; }
	.ttwc .ttwc-stepper { height: 38px; }
	.ttwc .ttwc-stepper input.qty { width: 26px; font-size: 16px; }
	.ttwc .ttwc-extras { gap: 6px; }
	.ttwc .ttwc-extra-add { font-size: 14px; }
	.ttwc .ttwc-extra-name { font-size: 13px; }
	.ttwc .ttwc-extra-price { font-size: 14px; }
	.ttwc a.ttwc-checkout { letter-spacing: .08em; font-size: 14px; }
	.ttwc .ttwc-total-amt { font-size: 20px; }
	.ttwc .ttwc-reassure li { font-size: 11.5px; gap: 5px; }
	.ttwc .ttwc-reassure .ttwc-i { width: 20px; height: 20px; }
}

/* ==========================================================================
   Tablet
   ========================================================================== */
@media (min-width: 768px) {
	.ttwc-page > .woocommerce { padding: 0 24px; max-width: 760px; }
	.ttwc .ttwc-pay { padding-left: max(24px, calc((100vw - 712px) / 2)); padding-right: max(24px, calc((100vw - 712px) / 2)); }
	.ttwc .ttwc-toast { left: 50%; right: auto; width: max-content; max-width: 560px; transform: translate(-50%, 12px); }
	.ttwc-toast { left: 50%; right: auto; width: max-content; max-width: 560px; transform: translate(-50%, 12px); }
	.ttwc-toast.is-on { transform: translate(-50%, 0); }
}

/* ==========================================================================
   Desktop - Desktop-Cart-v17: rewards across the top, items and gifts on
   the left, the order summary on the right, reassurance along the bottom
   ========================================================================== */
@media (min-width: 992px) {
	.ttwc .ttwc-lg { display: inline; }
	.ttwc .ttwc-sm { display: none !important; }
	.ttwc-page { padding: 28px 0 40px; }
	.ttwc-page > .woocommerce { max-width: 1300px; padding: 0 28px; }

	.ttwc .ttwc-title { font-size: 34px; margin: 0 0 16px 3px; }

	/* rewards: the bar on the left, the levels on the right */
	.ttwc .ttwc-rewards { display: flex; align-items: center; gap: 0; padding: 16px 0 14px 16px; margin-bottom: 16px; }
	.ttwc .ttwc-rw-main { flex: 1 1 auto; align-items: center; gap: 22px; padding-right: 30px; }
	.ttwc .ttwc-rw-icon { width: 62px; height: 62px; }
	.ttwc .ttwc-rw-icon .ttwc-i { width: 30px; height: 30px; }
	.ttwc .ttwc-rw-top { align-items: center; }
	.ttwc .ttwc-rw-h { font-size: 20px; }
	.ttwc .ttwc-rw-s { font-size: 16px; }
	.ttwc .ttwc-rw-of { font-size: 16px; color: var(--ttwc-navy); }
	.ttwc .ttwc-rw-of b, .ttwc .ttwc-rw-of span { font-weight: 600; }
	.ttwc .ttwc-rw-bar { margin-top: 10px; height: 10px; border-radius: 5px; }
	.ttwc .ttwc-rw-steps { flex: 0 0 auto; width: clamp(360px, 33%, 440px); margin: 0; padding: 4px 20px 2px; border-left: 1px solid var(--ttwc-line); align-self: stretch; align-content: center; }
	.ttwc .ttwc-rw-steps::before { top: 19px; }
	.ttwc .ttwc-rw-dot { width: 32px; height: 32px; margin-bottom: 4px; }
	.ttwc .ttwc-rw-dot .ttwc-i { width: 18px; height: 18px; }
	.ttwc .ttwc-rw-steps b { font-size: 15px; }
	.ttwc .ttwc-rw-label { font-size: 14px; }

	.ttwc .ttwc-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) clamp(380px, 36%, 452px);
		column-gap: 16px;
		align-items: start;
	}

	/* items */
	.ttwc .ttwc-bag { padding: 0 18px 4px; }
	.ttwc .ttwc-cols {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 150px 140px;
		column-gap: 20px;
		padding: 18px 0 10px;
		border-bottom: 1px solid var(--ttwc-line);
		font-size: 13.5px;
		font-weight: 500;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: var(--ttwc-muted);
	}
	.ttwc .ttwc-cols span:nth-child(2) { text-align: center; }
	.ttwc .ttwc-cols span:nth-child(3) { text-align: right; }
	.ttwc .ttwc-item {
		grid-template-columns: 136px minmax(0, 1fr) 150px 140px;
		grid-template-rows: auto auto;
		grid-template-areas:
			"thumb info qty end"
			"thumb edit qty end";
		column-gap: 20px;
		row-gap: 2px;
		padding: 14px 0;
	}
	.ttwc .ttwc-end { grid-area: end; align-self: center; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; margin-top: -8px; }
	.ttwc .ttwc-thumb { aspect-ratio: 1.08; }
	.ttwc .ttwc-name { font-size: 16px; }
	.ttwc .ttwc-sub { font-size: 14.5px; }
	.ttwc .ttwc-meta { font-size: 14.5px; margin-top: 8px; }
	.ttwc .ttwc-edit { align-self: start; font-size: 16px; padding: 4px 0; }
	.ttwc .ttwc-qty { grid-area: qty; justify-self: center; align-self: center; }
	.ttwc .ttwc-stepper { height: 44px; }
	.ttwc .ttwc-step { width: 40px; height: 40px; }
	.ttwc .ttwc-price { text-align: right; font-size: 19px; font-weight: 500; }
	.ttwc .ttwc-remove { padding-top: 0; }
	.ttwc .ttwc-quick { display: none; }

	/* gifts */
	.ttwc .ttwc-gift { margin-top: 16px; padding: 22px 22px 18px; background: var(--ttwc-cream); }
	.ttwc .ttwc-gift-h { font-size: 32px; }
	.ttwc .ttwc-gift-sub { font-size: 19px; margin-top: 2px; }
	.ttwc .ttwc-extras { gap: 20px; margin-top: 14px; }
	.ttwc .ttwc-extra-img { aspect-ratio: 1.37; }
	.ttwc .ttwc-extra-name { margin-top: 12px; font-size: 16px; }
	.ttwc .ttwc-extra-price { margin-top: 10px; font-size: 16px; }
	.ttwc .ttwc-extra-add { width: 145px; max-width: 100%; margin-top: 6px; height: 36px; }
	.ttwc .ttwc-extra-in { height: 36px; margin-top: 6px; }
	.ttwc .ttwc-bundle { margin: 18px -10px 0; padding: 16px 10px 12px; border: 0; border-radius: 8px; background: #fff; }
	.ttwc .ttwc-bundle-now { display: inline; font-size: 24px; line-height: 1.2; font-weight: 700; color: var(--ttwc-navy); }
	.ttwc .ttwc-bundle-now .ttwc-cur { font-size: 1em; font-weight: inherit; }
	.ttwc .ttwc-bundle-all { display: none; }
	.ttwc .ttwc-bundle-price s { font-size: 16px; }
	.ttwc .ttwc-save { font-size: 15px; padding: 4px 18px; }
	.ttwc .ttwc-bundle-add { height: 42px; margin-top: 12px; font-size: 15px; }
	.ttwc .ttwc-bundle-note { display: block; }
	.ttwc .ttwc-one { grid-template-columns: 120px minmax(0, 1fr) auto; }
	.ttwc .ttwc-one-img { width: 120px; height: 96px; }

	/* summary */
	.ttwc .ttwc-side { margin-top: 0; }
	.ttwc .ttwc-summary { padding: 18px 16px 16px; }
	.ttwc .ttwc-sum-title { font-size: 26px; margin-bottom: 12px; }
	.ttwc .ttwc-ship-h { display: block; }
	.ttwc .ttwc-rates { gap: 0; margin-top: 4px; }
	.ttwc .ttwc-rate label { grid-template-columns: 28px minmax(0, 1fr); column-gap: 16px; padding: 7px 2px; border: 0; border-radius: 0; background: transparent; box-shadow: none !important; }
	.ttwc .ttwc-radio { width: 26px; height: 26px; }
	.ttwc .ttwc-rate-name { font-size: 16px; }
	.ttwc .ttwc-rate-dash { display: inline; }
	.ttwc .ttwc-rate-price { display: none; }
	.ttwc .ttwc-rate-eta { font-size: 14px; }
	.ttwc .ttwc-rates--pickup { display: grid; }
	.ttwc .ttwc-pickup-link { display: none; }
	.ttwc .ttwc-rows { margin-top: 12px; padding-top: 12px; }
	.ttwc .ttwc-row { font-size: 16px; padding: 3px 0; }
	.ttwc .ttwc-row-total { font-size: 21px; padding-top: 10px; }

	.ttwc .ttwc-pay {
		position: static;
		display: block;
		padding: 12px 0 0;
		box-shadow: none;
		background: transparent;
	}
	.ttwc .ttwc-total { display: none; }
	.ttwc .ttwc-pay a.ttwc-checkout { height: 50px; font-size: 16px; letter-spacing: .12em; text-transform: uppercase !important; }
	.ttwc .ttwc-or { display: block; text-align: center; font-size: 14px; color: var(--ttwc-muted); margin: 8px 0 6px; }
	.ttwc .ttwc-express-btns ul.wc_stripe_cart_payment_methods { gap: 10px; }
	.ttwc .ttwc-pay afterpay-placement,
	.ttwc .ttwc-pay .afterpay-paragraph,
	.ttwc .ttwc-pay [class*="afterpay-cart-msg"],
	.ttwc .ttwc-pay [id*="affirm-cart-msg"] { display: block !important; }

	.ttwc .ttwc-trustline { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 9px; margin-top: 10px; font-size: 11.5px; font-weight: 600; line-height: 1.3; color: var(--ttwc-navy); }
	.ttwc .ttwc-trust-g { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
	.ttwc .ttwc-stars { color: #F6B400; letter-spacing: 0; font-size: 13px; }
	.ttwc .ttwc-trust-sep { display: none; width: 1px; height: 18px; background: #CFCBD6; }
	.ttwc .ttwc-trust-heart { width: 18px; height: 18px; color: #E0263A; stroke-width: 2; }

	.ttwc .ttwc-pack { grid-template-columns: 36px minmax(0, 1fr) 104px; padding: 12px 14px 12px 16px; }
	.ttwc .ttwc-pack-icon { width: 36px; height: 36px; }
	.ttwc .ttwc-pack-title { font-size: 18px; }
	.ttwc .ttwc-pack-text p:not(.ttwc-pack-title) { font-size: 15px; }
	.ttwc .ttwc-pack-text .ttwc-lg { display: block; }
	.ttwc .ttwc-pack-img { width: 104px; margin: -6px 0 -18px; }

	.ttwc .ttwc-reassure--mobile { display: none; }
	.ttwc .ttwc-reassure--desktop {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
		margin-top: 16px;
		padding: 12px 0;
		border-radius: 8px;
		background: #FFF8F3;
		box-shadow: var(--ttwc-shadow);
	}
	.ttwc .ttwc-reassure--desktop li { justify-content: center; gap: 16px; font-size: 14px; padding: 2px 14px; }
	.ttwc .ttwc-reassure--desktop li + li { border-left: 1px solid var(--ttwc-line); }
	.ttwc .ttwc-reassure--desktop .ttwc-i { width: 30px; height: 30px; }

	.ttwc-toast { bottom: 28px; }
}

@media (min-width: 1200px) {
	.ttwc .ttwc-trust-sep { display: block; }   /* both halves fit on one line from here */
	.ttwc .ttwc-item { grid-template-columns: 136px minmax(0, 1fr) 160px 140px; }
	.ttwc .ttwc-cols { grid-template-columns: minmax(0, 1fr) 160px 140px; }
}

@media (prefers-reduced-motion: reduce) {
	.ttwc .ttwc-rw-bar > span, .ttwc .ttwc-item.is-new { transition: none; animation: none; }
}
