/**
 * MOW Shop Bridge — front-end styles. Complements the theme's .vp design system
 * (css/vp-system.css + css/wc-product.css); intentionally low-specificity and additive.
 */

/* --- Self-heal safety bar on the landing page --- */
.mow-sb-safety {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	margin: 0;
	padding: 10px 16px;
	background: #1c3a2a;
	color: #fff;
	font: 500 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	text-align: center;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.18);
}
.mow-sb-safety a {
	color: #a9e6be;
	font-weight: 700;
	text-decoration: underline;
	margin-left: 6px;
}
.mow-sb-safety a:hover,
.mow-sb-safety a:focus {
	color: #fff;
}

/* --- Near-CTA external-checkout disclosure --- */
.vp-sb-disclosure {
	margin: 14px 0 4px;
	padding: 12px 14px;
	border: 1px solid #dfe8e1;
	border-left: 4px solid #2f7d4d;
	border-radius: 8px;
	background: #f5faf6;
}
.vp-sb-disclosure p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: #37463d;
}
.vp-sb-disclosure a {
	color: #2f7d4d;
	font-weight: 600;
}

/* --- Related designs + collection links --- */
.vp-sb-related-wrap h2 {
	margin-bottom: 14px;
}
.vp-sb-related {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}
.vp-sb-related__card {
	display: block;
	text-decoration: none;
	color: inherit;
}
.vp-sb-related__card img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 10px;
	background: #eef3ef;
	display: block;
}
.vp-sb-related__title {
	display: block;
	margin-top: 8px;
	font-size: 13.5px;
	line-height: 1.35;
	font-weight: 600;
	color: #26332b;
}
.vp-sb-related__card:hover .vp-sb-related__title,
.vp-sb-related__card:focus .vp-sb-related__title {
	color: #2f7d4d;
}

.vp-sb-collections {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}
.vp-sb-collections a {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid #cfe0d5;
	border-radius: 999px;
	background: #fff;
	color: #2f7d4d;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
}
.vp-sb-collections a:hover,
.vp-sb-collections a:focus {
	background: #2f7d4d;
	color: #fff;
	border-color: #2f7d4d;
}

/* Respect reduced-motion / keep focus visible for a11y */
.vp-sb-related__card:focus-visible,
.vp-sb-collections a:focus-visible,
.mow-sb-safety a:focus-visible {
	outline: 3px solid #7bc79a;
	outline-offset: 2px;
}

/* --- Product-page CTA: native-sized button.
   The theme applies a global svg{width:100%} that inflated the 14px arrow to ~180px,
   turning the button into a huge green square. Constrain the arrow + auto-size the button. --- */
.vp .vp-product-buy {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	padding: 11px 20px !important;
	font-size: 15px !important;
	line-height: 1.15 !important;
	white-space: normal !important;
	align-self: flex-start !important;
}
.vp .vp-product-buy svg {
	width: 13px !important;
	height: 13px !important;
	max-width: 13px !important;
	min-width: 0 !important;
	flex: 0 0 auto !important;
	display: inline-block !important;
	vertical-align: middle !important;
}
@media (max-width: 600px) {
	.vp .vp-product-buy { align-self: stretch !important; }
}
