/**
*  ------------------------------------------------------------------------------------------------
*
*   CHECKOUT DIRETO INFINITEPAY — MODAL
*
*   CSS completo escrito à mão no padrão visual Tailwind/shadcn:
*   sem bibliotecas, sem emojis e sem degradês.
*
*  ------------------------------------------------------------------------------------------------
*/

body.ipd-travado{
	overflow:hidden;
}

.ipd-modal-overlay{
	--ipd-fg:#18181b;
	--ipd-fg-muted:#71717a;
	--ipd-bg:#ffffff;
	--ipd-bg-soft:#f4f4f5;
	--ipd-border:#e4e4e7;
	--ipd-danger:#dc2626;
	--ipd-danger-bg:#fef2f2;
	--ipd-danger-border:#fecaca;
	--ipd-radius:12px;
	--ipd-radius-sm:8px;
	--ipd-shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);
	--ipd-ring:0 0 0 3px rgba(24,24,27,.12);

	position:fixed;
	inset:0;
	background:rgba(9,9,11,.55);
	z-index:999999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:24px;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
	-webkit-font-smoothing:antialiased;
}

.ipd-modal-overlay.ipd-ativo{
	display:flex;
}

.ipd-modal-overlay *,
.ipd-modal-overlay *:before,
.ipd-modal-overlay *:after{
	box-sizing:border-box;
}

.ipd-modal{
	background:var(--ipd-bg);
	border-radius:var(--ipd-radius);
	box-shadow:var(--ipd-shadow-md);
	width:100%;
	max-width:420px;
	max-height:calc(100vh - 48px);
	overflow-y:auto;
	padding:24px;
	animation:ipd-entra .2s ease;
	color:var(--ipd-fg);
}

@keyframes ipd-entra{
	from{ opacity:0; transform:translateY(10px); }
	to{ opacity:1; transform:translateY(0); }
}

/* ---------- CABEÇALHO ---------- */

.ipd-modal-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:4px;
}

.ipd-modal-header h3{
	margin:0;
	font-size:18px;
	font-weight:700;
	letter-spacing:-.02em;
	color:var(--ipd-fg);
	line-height:1.3;
	padding:0;
}

.ipd-modal-fechar{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	padding:0;
	font-size:22px;
	line-height:1;
	color:var(--ipd-fg-muted);
	background:transparent;
	border:1px solid transparent;
	border-radius:var(--ipd-radius-sm);
	cursor:pointer;
	transition:background .15s ease,color .15s ease;
}

.ipd-modal-fechar:hover{
	background:var(--ipd-bg-soft);
	color:var(--ipd-fg);
}

.ipd-modal-sub{
	margin:0 0 18px 0;
	font-size:13px;
	color:var(--ipd-fg-muted);
}

/* ---------- ERRO ---------- */

.ipd-modal-erro{
	background:var(--ipd-danger-bg);
	border:1px solid var(--ipd-danger-border);
	border-radius:var(--ipd-radius-sm);
	color:var(--ipd-danger);
	font-size:13px;
	padding:10px 14px;
	margin-bottom:16px;
}

/* ---------- CAMPOS ---------- */

.ipd-campo{
	display:flex;
	flex-direction:column;
	gap:6px;
	margin-bottom:14px;
}

.ipd-campo label{
	font-size:13px;
	font-weight:600;
	color:var(--ipd-fg);
}

.ipd-campo input{
	width:100%;
	padding:9px 12px;
	font-size:14px;
	line-height:1.5;
	color:var(--ipd-fg);
	background:var(--ipd-bg);
	border:1px solid #d4d4d8;
	border-radius:var(--ipd-radius-sm);
	box-shadow:none;
	transition:border-color .15s ease,box-shadow .15s ease;
}

.ipd-campo input:focus{
	border-color:var(--ipd-fg);
	box-shadow:var(--ipd-ring);
	outline:none;
}

.ipd-campo input::placeholder{
	color:#a1a1aa;
}

/* ---------- BARRA DE PROGRESSO ---------- */

.ipd-progresso{
	display:none;
	height:4px;
	background:var(--ipd-border);
	border-radius:999px;
	overflow:hidden;
	margin-bottom:14px;
}

.ipd-progresso.ipd-ativo{
	display:block;
}

.ipd-progresso-barra{
	height:100%;
	width:40%;
	background:var(--ipd-fg);
	border-radius:999px;
	animation:ipd-progresso-indeterminado 1.1s ease-in-out infinite;
}

@keyframes ipd-progresso-indeterminado{
	0%{ margin-left:-40%; width:40%; }
	100%{ margin-left:100%; width:40%; }
}

/* ---------- BOTÃO ---------- */

.ipd-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	padding:10px 16px;
	font-size:14px;
	font-weight:500;
	line-height:1.5;
	border-radius:var(--ipd-radius-sm);
	border:1px solid transparent;
	cursor:pointer;
	transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.ipd-btn:focus{
	box-shadow:var(--ipd-ring);
	outline:none;
}

.ipd-btn:disabled{
	opacity:.6;
	cursor:not-allowed;
}

.ipd-btn-primario{
	background:var(--ipd-fg);
	color:#fafafa;
	border-color:var(--ipd-fg);
}

.ipd-btn-primario:hover:not(:disabled){
	background:#27272a;
	border-color:#27272a;
	color:#fafafa;
}

.ipd-modal-obs{
	margin:14px 0 0 0;
	font-size:12px;
	text-align:center;
	color:var(--ipd-fg-muted);
}

/* ---------- WIDGETS DO ELEMENTOR ---------- */

.ipd-elementor-checkout,
.ipd-elementor-checkout a{
	cursor:pointer;
}

@media (max-width:480px){
	.ipd-modal{
		padding:20px;
	}
}
