/* GR Pre-Order Isolation + SFL — frontend styles.
 * Brand colors: #b3813c primary gold, #bd994c secondary, #1a1a1a dark band.
 * Typography: matches site (Conv_Poppins-Regular). Mobile-first.
 */

/* ===== Modal =========================================================== */

#gr-pisfl-modal-root[style*="block"] {
	position: fixed;
	inset: 0;
	z-index: 999999;
}

.gr-pisfl-modal-backdrop {
	position: fixed;
	inset: 0;
	background: rgba( 0, 0, 0, 0.62 );
	backdrop-filter: blur( 2px );
	animation: gr-pisfl-fade-in 180ms ease-out;
}

.gr-pisfl-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50% );
	width: 92%;
	max-width: 520px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 12px 48px rgba( 0, 0, 0, 0.32 );
	padding: 32px 32px 28px;
	font-family: 'Conv_Poppins-Regular', 'Poppins', sans-serif;
	animation: gr-pisfl-pop-in 220ms cubic-bezier( 0.16, 1, 0.3, 1 );
}

.gr-pisfl-modal-close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: none;
	border: 0;
	font-size: 26px;
	line-height: 1;
	color: #666;
	cursor: pointer;
	padding: 4px 10px;
}

.gr-pisfl-modal-close:hover {
	color: #1a1a1a;
}

.gr-pisfl-modal h3 {
	font-family: 'Conv_Poppins-Bold', 'Poppins', sans-serif;
	font-size: 20px;
	color: #1a1a1a;
	margin: 0 0 12px;
	padding: 0;
	border-bottom: 2px solid #b3813c;
	padding-bottom: 12px;
}

.gr-pisfl-modal-body {
	font-size: 14px;
	line-height: 1.55;
	color: #4a4a4a;
	margin: 0 0 22px;
}

.gr-pisfl-modal-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gr-pisfl-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 13px 18px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease;
	min-height: 48px;
	width: 100%;
	text-align: center;
}

.gr-pisfl-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.gr-pisfl-btn-label {
	font-weight: 600;
}

.gr-pisfl-btn-sub {
	font-size: 11px;
	color: inherit;
	opacity: 0.78;
	font-weight: 400;
}

.gr-pisfl-btn-primary {
	background: #b3813c;
	color: #fff;
	border-color: #8d6228;
}

.gr-pisfl-btn-primary:hover:not(:disabled) {
	background: #bd994c;
	border-color: #8d6228;
}

.gr-pisfl-btn-secondary {
	background: #fff;
	color: #1a1a1a;
	border-color: #c3c4c7;
}

.gr-pisfl-btn-secondary:hover:not(:disabled) {
	background: #f6f7f7;
	border-color: #1a1a1a;
}

.gr-pisfl-btn-tertiary {
	background: none;
	color: #666;
	border-color: transparent;
	font-size: 13px;
	min-height: 38px;
}

.gr-pisfl-btn-tertiary:hover:not(:disabled) {
	color: #1a1a1a;
	background: #f6f7f7;
}

.gr-pisfl-modal-status {
	margin-top: 14px;
	font-size: 13px;
	color: #2a5c2a;
	text-align: center;
	min-height: 18px;
}

.gr-pisfl-modal-status.is-error {
	color: #b32d2e;
}

body.gr-pisfl-modal-open {
	overflow: hidden;
}

/* Mobile responsive */
@media ( max-width: 480px ) {
	.gr-pisfl-modal {
		padding: 24px 20px 22px;
		width: 94%;
	}
	.gr-pisfl-modal h3 {
		font-size: 18px;
	}
	.gr-pisfl-modal-body {
		font-size: 13px;
	}
	.gr-pisfl-btn {
		padding: 11px 14px;
		min-height: 44px;
	}
}

/* Animations */
@keyframes gr-pisfl-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes gr-pisfl-pop-in {
	from { opacity: 0; transform: translate( -50%, -48% ); }
	to { opacity: 1; transform: translate( -50%, -50% ); }
}

/* ===== Cart page SFL section (Phase 4 placeholder) ====================== */

.gr-pisfl-sfl-section {
	margin: 28px 0 0;
	padding: 22px 24px;
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
}

.gr-pisfl-sfl-section h2 {
	font-size: 16px;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e6e6e6;
}

.gr-pisfl-sfl-section .gr-pisfl-tag-preorder {
	display: inline-block;
	background: #1a4480;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 3px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.gr-pisfl-sfl-section .is-oos {
	opacity: 0.55;
	pointer-events: none;
}
