.addcreditgrid {
	display: inline-grid;
	grid-template: 60px 35px 45px auto 45px 300px/ 100%;
	width: 100%;
	height: 100%;
	border: none;
	background-color: #D0D3D4;
}
.addcreditcontainer {
	grid-area: 4/1/5/2;
	width: 90%;
	min-height: 750px;
	height: 100%;
	display: flex;
	flex-direction: column;
/*	justify-content: space-evenly; */
	margin-left: 5%;
	padding:0;
}
.pagetitle {
	grid-area: 3/1/4/2;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content:center;
	align-items:center;
	font-family: 'Trebuchet MS', sans-serif;
	font-size:24px;
	color: #E6093A;
	font-weight: bold;
}
.addcreditdesc {
	display:flex;
	width:100%;
	height:250px;
	background-color: white;
	box-shadow: 5px 5px #888888;
	flex-direction:column;
}
.creditdesctxt {
	padding:10px;
	font-size:18px;
	font-family: 'Trebuchet MS', sans-serif;
}
.mainbody {
	display:flex;
	width:100%;
	background-color: white;
	box-shadow: 5px 5px #888888;
	flex-direction:column;
	margin-top: 20px;
	min-height:510px;
}
.creditamountcontainer {
	display:flex;
	flex-direction:row;
	justify-content:center;
	align-items: center;
	padding:10px;
	font-size:18px;
	font-family: 'Trebuchet MS', sans-serif;
	gap: 10px;
	margin-bottom: 35px;
}
.creditamountlabel {
	display:flex;
	align-items:center;
	margin-right:5px;
	margin-bottom:15px;
	font-family: 'Trebuchet MS', sans-serif;
	font-weight:bold;
	margin: 0;
}
.creditamountdata {
	width:80px;
	height:20px;
	border:2px solid black;
	padding:3px;
	font-family: 'Trebuchet MS', sans-serif;
	font-size:18px;
}
.checkoption {
	display: block;
	width: 100%;
	max-width: 720px;          /* match PayPal/Stripe width */
	height: 55px;              /* match Stripe button height */
	line-height: 55px;         /* vertical centering of single-line text */
	margin: 10px auto 0 auto;  /* center the box itself */
	border-radius: 4px;
	background-color: #00479D;
	color: white;
	font-family: 'Trebuchet MS', sans-serif;
	font-weight: bold;
	text-align: center;        /* horizontal centering */
	box-sizing: border-box;
	padding: 0;
}
.checkoption:hover {
	background-color: #E60033;
	cursor:pointer;
}
.button-wrappers {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: stretch;
}
.button-wrappers > * {
	width: 100%;
	max-width: 720px;	/* match PayPal/Stripe width */
	margin-bottom: 12px;
}
.checkdetails {
	display: none;
	width: 100%;
	max-width: 380px;
	margin: 15px auto 15px auto;   /* center horizontally + top spacing */
	border: 2px solid black;
	border-radius: 4px;
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 16px;
	padding: 10px;
	box-sizing: border-box;     /* include padding + border in width */
	overflow-wrap: break-word;  /* avoid long text forcing overflow */
}
#paypal-button-container,
#cc-toggle-wrapper,
#stripe-credit-panel {
	width: 100%;
	max-width: 720px;	/* matches your PayPal width */
	margin: 0 auto;
}

/* Make Stripe credit card submit button full width and match PayPal height */
.stripe-cc-button {
	display: block;
	width: 100%;
	height: 55px;	/* similar to PayPal button height */
	font-size: 16px;
	cursor: pointer;
	font-family: 'Trebuchet MS', sans-serif;
	font-weight: bold;
}
.stripe-zip-row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 16px;
}
.stripe-zip-input {
	width: 90px;
	padding: 4px;
	border: 2px solid black;
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 16px;
	box-sizing: border-box;
}

.footer {
	grid-area: 6/1/7/2;
}
.minifooter {
	grid-area: 6/1/7/2;
}

@media (max-width: 1225px) {
	.creditdesctxt {
		font-size:16px;
	}
}
@media (max-width: 975px) {
	.creditdesctxt {
		font-size:14px;
	}
}
@media (max-width: 915px) {
	.creditdesctxt {
		font-size:12px;
	}
}
@media (max-width: 625px) {
	.creditdesctxt {
		font-size:11px;
	}
	.addcreditcontainer {
		padding: 0 10px;
	}
	.mainbody {
		min-height: 485px;
		padding: 0;
	}
	.button-wrappers {
		padding: 0 10px;
	}
	.addcreditdesc {
		height:225px;
	}
}
@media (max-width: 370px) {
	.checkoption {
		height: 36px;
		line-height: 36px;     /* keep text vertically centered when shorter */
		font-size: 14px;
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* Stripe + Check + generic buttons inside the wrappers */
.button-wrappers button,
.button-wrappers .checkoption {
	display: block;
	width: 100% !important;
	max-width: 720px !important;
	box-sizing: border-box;
}

/* PayPal container + whatever it renders */
#paypal-button-container,
#paypal-button-container > *,
#paypal-button-container iframe {
	width: 100% !important;
	max-width: 720px !important;
	box-sizing: border-box;
}
/* Add spacing between elements inside the Stripe credit panel */
#stripe-credit-panel > form > * {
    margin-top: 15px;      /* default spacing between rows */
}

/* But keep the card element a little tighter at the top */
#sl-stripe-card-element {
    margin-top: 5px !important;
}

/* ZIP row gets extra clarity */
.stripe-zip-row {
    margin-top: 15px !important;
}

/* Error box spacing */
#sl-stripe-errors {
	color: #E60033;               /* Sportlots Red text */
	border: 2px solid #E60033;    /* Sportlots Red border */
	background-color: #ffe6ea;    /* very light red background for visibility */
	font-size: 17px;              /* slightly larger */
	font-weight: bold;
	padding: 10px 12px;
	border-radius: 6px;
	margin-top: 12px;
	text-align: center;
	display: none;                /* stays hidden until an error appears */
}

/* Submit button spacing */
#cc-submit-btn {
    margin-top: 20px !important;
}

/* Override inline align-items:center on the main body so buttons can stretch */
#addcreditbody {
	align-items: stretch !important;
}

/* 3-section Credit/Debit toggle button */
#cc-toggle-btn {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	overflow: hidden;
	width: 100% !important;
	max-width: 720px !important;   /* match PayPal width */
	height: 55px !important;
	background-color: white !important;
	color: black !important;
	font-family: 'Trebuchet MS', sans-serif;
	font-weight: bold;
	font-size: 18px;
	border-radius: 6px;
	border: 2px solid black;
	cursor: pointer;
	margin: 0 auto;
	padding: 0 0;                 /* sections handle spacing */
	box-sizing: border-box;
}
#cc-toggle-btn:hover {
	background-color: #f2f2f2;
}
/* When Stripe panel is open, turn border red */
#cc-toggle-btn.expanded {
	border-color: #E60033 !important;
}
/* Left spacer section */
.cc-section-left {
	flex: 0 0 35%;
}

/* Center text section */
.cc-section-center {
	flex: 0 0 30%;
	text-align: center;
	display: flex;
	align-items: center;          /* vertical center */
	justify-content: center;      /* horizontal center */
}

/* Right logo section */
.cc-section-right {
	flex: 1 1 35%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 10px;
	min-width: 60px;
	overflow: hidden;
}

/* Logo image */
.cc-toggle-cardlogo {
	height: 28px;
	width: auto;
	min-width: 40px;        /* prevents image from collapsing on small screens */
	flex-shrink: 0;         /* logo cannot be compressed */
}
/* Override global button-wrappers rule for Stripe submit button */
.button-wrappers #cc-submit-btn {
	display: inline-block !important;
	width: auto !important;
	max-width: none !important;
	margin-top: 15px;                /* just top spacing now */
	padding: 10px 20px;
	background-color: #00479D;
	color: white !important;
	border: 2px solid #00479D;
	border-radius: 6px;
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	text-align: center;
}
.button-wrappers #cc-submit-btn:hover {
	background-color: #E60033;
	border-color: #E60033;
}

#stripe-credit-form {
	text-align: center;
}
/* Add spacing under the entire Stripe panel */
#stripe-credit-panel {
    margin-bottom: 30px !important;   /* adjust as needed */
}