.sansara-device-picker {
	display: grid;
	gap: 8px;
	margin: 0 0 18px;
	padding: 16px;
	border: 1px solid #c9e4e5;
	border-radius: 16px;
	background: #f4fbfb;
}

.sansara-device-picker label {
	font-weight: 800;
	color: #07383d;
}

.sansara-device-picker input {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid #a9d1d3;
	border-radius: 12px;
	background: #fff;
}

.sansara-device-picker small {
	color: #5d777a;
	line-height: 1.45;
}

.sansara-accessory-tabs {
	display: flex;
	gap: 9px;
	overflow-x: auto;
	margin: 0 0 18px;
	padding: 2px 0 6px;
	scrollbar-width: thin;
}

.sansara-accessory-tabs a {
	flex: 0 0 auto;
	padding: 10px 16px;
	border: 1px solid #d2e4e5;
	border-radius: 999px;
	background: #fff;
	color: #12383d;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.sansara-accessory-tabs a:hover,
.sansara-accessory-tabs a.is-active {
	border-color: #12b8b2;
	background: #e9fafa;
	color: #007f7a;
}

.sansara-extra-product-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.sansara-cart-extras {
	clear: both;
	max-width: 1160px;
	margin: 28px auto 22px;
	padding: 24px;
	border: 1px solid #cde4e5;
	border-radius: 24px;
	background: linear-gradient(135deg, #f7fbfb, #e6f8f7);
}

.sansara-cart-extras > header span {
	color: #008d88;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .13em;
}

.sansara-cart-extras > header h2 {
	margin: 7px 0;
	color: #082f34;
	font-size: clamp(25px, 3.5vw, 34px);
	line-height: 1.05;
}

.sansara-cart-extras__group + .sansara-cart-extras__group {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid rgba(118, 174, 173, .28);
}

.sansara-cart-extras__group-heading {
	margin-bottom: 10px;
}

.sansara-cart-extras__group-heading h3 {
	margin: 0;
	color: #0b3034;
	font-size: 17px;
}

.sansara-cart-extras__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
}

.sansara-cart-extras article {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #dfe8e5;
	border-radius: 19px;
	padding-bottom: 12px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(20, 58, 61, .06);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.sansara-cart-extras article:hover {
	border-color: #a9d8d4;
	box-shadow: 0 18px 40px rgba(20, 78, 75, .10);
	transform: translateY(-2px);
}

.sansara-cart-extras__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 145px;
	overflow: hidden;
	padding: 17px;
	background: linear-gradient(145deg, #f3f7f6, #f9f6f1);
}

.sansara-cart-extras__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .2s ease;
}

.sansara-cart-extras article:hover .sansara-cart-extras__media img {
	transform: scale(1.025);
}

.sansara-cart-extras__copy {
	display: flex;
	min-height: 0;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 0;
}

.sansara-cart-extras__copy small {
	margin: 8px 15px 0;
	color: #178544;
	font-size: 9px;
	font-weight: 800;
}

.sansara-cart-extras__copy h4 {
	min-height: 44px;
	margin: 0;
	padding: 15px 15px 0;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: -.025em;
	line-height: 1.25;
}

.sansara-cart-extras__copy h4 a {
	color: #10282a;
	text-decoration: none;
}

.sansara-cart-extras__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 3px 5px;
	margin: 12px 15px 0;
	color: #10282a;
	font-size: 21px;
	font-weight: 950;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.sansara-cart-extras__price del {
	color: #94a2a2;
	font-size: 11px;
	font-weight: 750;
}

.sansara-cart-extras__price ins {
	text-decoration: none;
}

.sansara-cart-extras__copy form {
	margin: auto 0 0;
	padding: 12px 12px 0;
}

.sansara-cart-extras__copy > .button {
	margin: auto 12px 0;
}

.sansara-cart-extras__copy .button,
.sansara-cart-extras__copy button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	border: 0;
	border-radius: 12px;
	padding: 0 12px;
	background: #16bbb5;
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
}

.sansara-cart-extras__copy form .button {
	width: 100%;
	margin: 0;
}

.sansara-cart-extras__group.is-bundles .sansara-cart-extras__grid {
	padding-top: 8px;
}

.sansara-cart-extras article.is-bundle {
	position: relative;
	overflow: visible;
	border-radius: 24px;
	padding-bottom: 14px;
	box-shadow: 0 16px 42px rgba(14, 57, 54, .1);
}

.sansara-cart-extras article.is-bundle.is-featured {
	border-color: #18c9bd;
	box-shadow: 0 21px 48px rgba(14, 120, 111, .18);
	transform: translateY(-4px);
}

.sansara-cart-extras article.is-bundle:hover {
	border-color: #18c9bd;
	box-shadow: 0 23px 52px rgba(13, 75, 70, .15);
	transform: translateY(-3px);
}

.sansara-cart-extras article.is-bundle.is-featured:hover {
	transform: translateY(-6px);
}

.sansara-cart-extras__bundle-badge {
	position: absolute;
	z-index: 3;
	left: 50%;
	top: -11px;
	display: inline-flex;
	min-height: 23px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 0 11px;
	background: #ff6c5f;
	box-shadow: 0 7px 16px rgba(255, 108, 95, .26);
	color: #fff;
	font-size: 7px;
	font-weight: 950;
	letter-spacing: .07em;
	transform: translateX(-50%);
	white-space: nowrap;
}

.sansara-cart-extras article.is-bundle .sansara-cart-extras__media {
	height: 168px;
	border-radius: 23px 23px 0 0;
	padding: 22px;
	background:
		radial-gradient(circle at 70% 30%, rgba(86, 219, 201, .18), transparent 42%),
		linear-gradient(145deg, #e9f4f1, #f7f7f2);
}

.sansara-cart-extras article.is-bundle.bundle-combo-start .sansara-cart-extras__media {
	background:
		radial-gradient(circle at 72% 28%, rgba(255, 135, 98, .18), transparent 40%),
		linear-gradient(145deg, #f8f0e9, #f4f7f2);
}

.sansara-cart-extras article.is-bundle.bundle-combo-maximum .sansara-cart-extras__media {
	background:
		radial-gradient(circle at 68% 28%, rgba(112, 240, 215, .24), transparent 42%),
		linear-gradient(145deg, #dfeeea, #eef5f1);
}

.sansara-cart-extras article.is-bundle .sansara-cart-extras__copy h4 {
	min-height: 0;
	padding: 14px 16px 0;
	color: #092a2a;
	font-size: 20px;
	font-weight: 950;
	letter-spacing: -.045em;
	line-height: 1.08;
}

.sansara-cart-extras__bundle-details {
	min-height: 112px;
	margin: 13px 16px 0;
	border: 1px solid rgba(17, 139, 130, .18);
	border-radius: 17px;
	padding: 13px;
	background: linear-gradient(145deg, rgba(230, 247, 242, .78), rgba(247, 249, 246, .92));
}

.sansara-cart-extras article.is-bundle.is-featured .sansara-cart-extras__bundle-details {
	border-color: rgba(255, 108, 95, .22);
	background: linear-gradient(145deg, rgba(255, 242, 237, .82), rgba(248, 249, 244, .94));
}

.sansara-cart-extras__bundle-contents {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sansara-cart-extras__bundle-contents li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #4d615f;
	font-size: 10px;
	font-weight: 720;
	line-height: 1.2;
}

.sansara-cart-extras__bundle-contents li + li {
	border-top: 1px solid rgba(108, 148, 143, .18);
	padding-top: 7px;
}

.sansara-cart-extras__bundle-contents i {
	display: inline-grid;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 7px rgba(14, 88, 82, .08);
	color: #118b82;
	font-size: 8px;
	font-style: normal;
	font-weight: 950;
}

.sansara-cart-extras article.is-bundle.is-featured .sansara-cart-extras__bundle-contents i {
	color: #ff6c5f;
}

.sansara-cart-extras__bundle-price {
	margin: 14px 16px 0;
	border-top: 1px solid rgba(108, 148, 143, .22);
	padding-top: 11px;
}

.sansara-cart-extras__bundle-price > span {
	display: block;
	color: #168c84;
	font-size: 7px;
	font-weight: 950;
	letter-spacing: .11em;
}

.sansara-cart-extras article.is-bundle.is-featured .sansara-cart-extras__bundle-price > span {
	color: #e65449;
}

.sansara-cart-extras article.is-bundle .sansara-cart-extras__price {
	margin: 6px 0 0;
	font-size: 26px;
}

.sansara-cart-extras article.is-bundle .sansara-cart-extras__copy form {
	padding: 12px 14px 0;
}

.sansara-cart-extras article.is-bundle .sansara-cart-extras__copy .button {
	min-height: 46px;
	border-radius: 14px;
	background: #062523;
}

.sansara-cart-extras article.is-bundle .sansara-cart-extras__copy .button::after {
	margin-left: 9px;
	content: "→";
	font-size: 15px;
}

.sansara-cart-extras article.is-bundle.is-featured .sansara-cart-extras__copy .button {
	background: #ff6c5f;
}

@media (max-width: 900px) {
	.sansara-cart-extras__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.sansara-cart-extras {
		margin: 20px 12px;
		padding: 18px 12px;
		border-radius: 22px;
	}

	.sansara-cart-extras__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.sansara-cart-extras__media {
		height: 110px;
	}

	.sansara-cart-extras__copy {
		padding: 0;
	}

	.sansara-cart-extras__copy h4 {
		min-height: 38px;
		padding: 12px 10px 0;
		font-size: 13px;
	}

	.sansara-cart-extras__copy small {
		margin: 7px 10px 0;
	}

	.sansara-cart-extras__price {
		margin: 9px 10px 0;
		font-size: 17px;
	}

	.sansara-cart-extras__copy form {
		padding: 10px 10px 0;
	}

	.sansara-cart-extras__group.is-bundles .sansara-cart-extras__grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(236px, 82vw);
		overflow-x: auto;
		padding: 10px 2px 8px;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.sansara-cart-extras__group.is-bundles .sansara-cart-extras__grid::-webkit-scrollbar {
		display: none;
	}

	.sansara-cart-extras article.is-bundle {
		scroll-snap-align: start;
	}

	.sansara-cart-extras article.is-bundle .sansara-cart-extras__media {
		height: 158px;
	}

}
.sansara-selection-summary {
	display: grid;
	gap: 9px;
	margin: 0 0 16px;
	padding: 16px;
	border: 1px solid #c9e4e5;
	border-radius: 16px;
	background: #f7fbfb;
	color: #12383d;
}

.sansara-selection-summary > strong {
	font-size: 16px;
}

.sansara-selection-summary ul {
	display: grid;
	gap: 5px;
	margin: 0;
	padding-left: 20px;
	color: #4e696c;
}

.sansara-selection-summary p,
.sansara-selection-summary small {
	margin: 0;
	line-height: 1.45;
}

.sansara-selection-summary p {
	color: #178544;
	font-weight: 800;
}
.sansara-cart-line-configuration {
	margin-top: 7px;
	color: #5d777a;
	font-size: 11px;
	line-height: 1.4;
}

.sansara-cart-line-configuration dl.variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 2px 6px;
	margin: 0;
}

.sansara-cart-line-configuration dt,
.sansara-cart-line-configuration dd,
.sansara-cart-line-configuration p {
	margin: 0;
}
/* Cart extras: responsive rails instead of cramped two-column cards. */
@media (max-width: 720px) {
	body.woocommerce-cart .sansara-cart-extras {
		width: 100%;
		min-width: 0;
		margin: 18px 0;
		padding: 18px;
		border-radius: 20px;
		overflow: hidden;
	}

	body.woocommerce-cart .sansara-cart-extras > header h2 {
		margin: 6px 0 16px;
		font-size: clamp(24px, 8vw, 31px);
		overflow-wrap: anywhere;
	}

	body.woocommerce-cart .sansara-cart-extras__group + .sansara-cart-extras__group {
		margin-top: 18px;
		padding-top: 16px;
	}

	body.woocommerce-cart .sansara-cart-extras__grid,
	body.woocommerce-cart .sansara-cart-extras article,
	body.woocommerce-cart .sansara-cart-extras__copy {
		min-width: 0;
	}

	body.woocommerce-cart .sansara-cart-extras__copy h4 {
		overflow-wrap: anywhere;
	}

	body.woocommerce-cart .sansara-cart-extras__copy .button,
	body.woocommerce-cart .sansara-cart-extras__copy button.button {
		min-height: 48px;
		touch-action: manipulation;
	}
}

@media (max-width: 600px) {
	body.woocommerce-cart .sansara-cart-extras__grid,
	body.woocommerce-cart .sansara-cart-extras__group.is-bundles .sansara-cart-extras__grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 78vw;
		gap: 10px;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 4px 2px 10px;
		overscroll-behavior-inline: contain;
		scroll-padding-inline: 2px;
		scroll-snap-type: inline mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	body.woocommerce-cart .sansara-cart-extras__grid::-webkit-scrollbar {
		display: none;
	}

	body.woocommerce-cart .sansara-cart-extras article {
		scroll-snap-align: start;
	}

	body.woocommerce-cart .sansara-cart-extras article.is-featured,
	body.woocommerce-cart .sansara-cart-extras article.is-featured:hover,
	body.woocommerce-cart .sansara-cart-extras article:hover {
		transform: none;
	}

	body.woocommerce-cart .sansara-cart-extras__media {
		height: 136px;
	}

	body.woocommerce-cart .sansara-cart-extras article.is-bundle .sansara-cart-extras__media {
		height: 158px;
	}
}

@media (max-width: 380px) {
	body.woocommerce-cart .sansara-cart-extras {
		padding: 15px 12px;
	}

	body.woocommerce-cart .sansara-cart-extras > header span {
		font-size: 10px;
	}

	body.woocommerce-cart .sansara-cart-extras > header h2 {
		font-size: 24px;
	}

	body.woocommerce-cart .sansara-cart-extras__grid,
	body.woocommerce-cart .sansara-cart-extras__group.is-bundles .sansara-cart-extras__grid {
		grid-auto-columns: 82vw;
	}

	body.woocommerce-cart .sansara-cart-extras__group-heading h3 {
		font-size: 16px;
	}
}
