/* BSM Square Gateway — Checkout styles */

#bsm-square-payment-form {
	max-width: 100%;
}

/* Card container (Square iframe) */
#bsm-square-card-container {
	min-height: 90px;
	margin-bottom: 1rem;
}

/* Digital wallet buttons */
.bsm-square-wallet {
	margin-bottom: 0.75rem;
}

/* Separator between wallets and card form */
#bsm-square-separator {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 1.25rem 0;
	color: #666;
	font-size: 0.85rem;
}

#bsm-square-separator::before,
#bsm-square-separator::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ddd;
}

/* Custom Afterpay button (replaces Square's Clearpay widget) */
.bsm-afterpay-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
	padding: 0.85rem 1rem;
	background: #b2fce4;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 500;
	color: #000;
	transition: opacity 0.15s;
}

.bsm-afterpay-btn:hover {
	opacity: 0.85;
}

/* Afterpay text wordmark */
.bsm-afterpay-wordmark {
	font-weight: 700;
	letter-spacing: -0.02em;
}

/* Hide Square's Clearpay iframe — we show our own button instead */
#bsm-square-afterpay-container {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

/* ---------------------------------------------------------------
 * Express checkout (product pages)
 * ------------------------------------------------------------- */

.bsm-square-express-wrap {
	margin-top: 1.25rem;
	max-width: 400px;
	clear: both;
}

.bsm-square-express-separator {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
	color: #999;
	font-size: 0.85rem;
}

.bsm-square-express-separator::before,
.bsm-square-express-separator::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ddd;
}

#bsm-express-errors {
	color: #cc0000;
	background: #fff0f0;
	border: 1px solid #ffcccc;
	border-radius: 4px;
	padding: 0.75rem 1rem;
	margin-top: 0.75rem;
	font-size: 0.9rem;
}

/* Error messages */
#bsm-square-errors {
	color: #cc0000;
	background: #fff0f0;
	border: 1px solid #ffcccc;
	border-radius: 4px;
	padding: 0.75rem 1rem;
	margin-top: 0.75rem;
	font-size: 0.9rem;
}
