/* 
 * Checkout Cuidar Assist - Custom Styles
 * Baseado em Bootstrap 5 + PrimeFaces 7
 */
:root {
	--primary-color: #8cc63f;
	--primary-hover: #7ab334;
	--secondary-color: #2c5cc5;
	--text-main: #333333;
	--text-muted: #6c757d;
	--bg-light: #f8f9fa;
	--border-color: #eeeeee;
	--white: #ffffff;
}

body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, Helvetica, Arial, sans-serif;
	background-color: var(--bg-light);
	color: var(--text-main);
	-webkit-font-smoothing: antialiased;
}

/* --- Header & Navbar --- */
.navbar-brand {
	font-weight: 700;
	color: var(--primary-color) !important;
	display: flex;
	align-items: center;
}

.brand-circle {
	background-color: var(--primary-color);
	color: var(--white);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
	font-size: 14px;
	font-weight: bold;
}

.secure-badge {
	font-size: 12px;
	color: var(--text-muted);
	display: flex;
	align-items: center;
}

/* --- Summary Column (Left) --- */
.summary-card {
	border: none;
	border-radius: 12px;
	background: var(--white);
	padding: 2rem !important;
}

.summary-header {
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
}

.summary-title {
	color: var(--secondary-color);
	font-size: 0.9rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 0.5rem;
}

.benefit-list {
	padding-left: 0;
	list-style: none;
	margin-bottom: 1.5rem;
}

.benefit-list li {
	margin-bottom: 12px;
	font-size: 0.85rem;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #444;
	line-height: 1.4;
}

.benefit-list li i {
	color: var(--primary-color);
	font-size: 1rem;
	margin-top: 2px;
}

.testimonial-box {
	background-color: #f9fdf4;
	border-radius: 8px;
	padding: 20px;
	margin-top: 25px;
	font-style: italic;
	font-size: 0.85rem;
	position: relative;
	border: 1px solid #eef7e0;
}

.testimonial-box::after {
	content: '"';
	position: absolute;
	right: 15px;
	bottom: 5px;
	font-size: 2.5rem;
	color: #e0f0c0;
	line-height: 1;
	font-family: serif;
}

/* --- Main Content (Right) --- */
.main-title {
	font-weight: 700;
	font-size: 1.85rem;
	color: #1a1a1a;
	margin-bottom: 8px;
}

/* --- Step Indicator --- */
.step-indicator {
	display: flex;
	align-items: center;
	margin: 30px 0;
	position: relative;
}

.step-indicator::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: #e0e0e0;
	z-index: 1;
}

.step-dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--white);
	border: 1px solid #dee2e6;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	z-index: 2;
	position: relative;
	color: #999;
}

.step-dot.active {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: var(--white);
}

/* --- Form Section --- */
.form-section-card {
	border: 1px solid #f0f0f0;
	border-radius: 12px;
	padding: 30px;
	background: var(--white);
}

.form-section-title {
	font-weight: 600;
	font-size: 1.05rem;
	margin-bottom: 5px;
}

.form-section-subtitle {
	font-size: 0.85rem;
	color: var(--text-muted);
	margin-bottom: 25px;
}

/* --- PrimeFaces Input Overrides --- */
.ui-inputfield {
	width: 100% !important;
	padding: 12px 15px !important;
	border-radius: 8px !important;
	border: 1px solid #dce0e4 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	font-size: 0.9rem !important;
}

.ui-inputfield:focus {
	border-color: var(--primary-color) !important;
	box-shadow: 0 0 0 3px rgba(140, 198, 63, 0.1) !important;
}

.input-group-custom {
	position: relative;
}

.input-group-custom i {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #adb5bd;
	z-index: 10;
	font-size: 1.1rem;
}

.input-group-custom .ui-inputfield {
	padding-left: 42px !important;
}

.form-label {
	margin-bottom: 8px;
	font-weight: 500;
	color: #444;
}

/* --- Button Styles --- */
.btn-continue {
	background: var(--primary-color) !important;
	border: none !important;
	color: var(--white) !important;
	font-weight: 600 !important;
	padding: 14px 32px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(140, 198, 63, 0.25) !important;
	transition: all 0.3s ease !important;
	text-transform: none !important;
	font-size: 0.95rem !important;
}

.btn-continue:hover {
	background: var(--primary-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(140, 198, 63, 0.35) !important;
}

.btn-continue:active {
	transform: translateY(0);
}

.bootstrap-toast {
	position: fixed !important;
	top: 20px !important;
	right: 20px !important;
	z-index: 99999 !important;
}

.bootstrap-toast .ui-growl-item {
	background: #dc3545 !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	margin-bottom: 10px !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .25) !important;
	font-family: Inter, sans-serif !important;
	font-size: 0.95rem !important;
}

/* fundo escuro da tela */
body .ui-blockui{
    background: rgba(0,0,0,0.35) !important;
    backdrop-filter: blur(4px);
}

/* card da modal */
body .ui-blockui-content{
    background: #ffffff !important;
    border-radius: 14px !important;
    border: none !important;
    padding: 40px 50px !important;
    text-align: center !important;
    min-width: 280px !important;

    box-shadow: 0 25px 70px rgba(0,0,0,0.35) !important;

    animation: fadeScale .25s ease;
}

/* spinner */
body .ui-blockui-content .spinner-border{
    width:3rem !important;
    height:3rem !important;
    color:#8cc63f !important;
}

/* texto */
body .ui-blockui-content .loading-title{
    font-weight:600;
    font-size:1rem;
    margin-top:15px;
}

body .ui-blockui-content .loading-subtitle{
    font-size:0.85rem;
    color:#6c757d;
}

@keyframes fadeScale{
    from{
        opacity:0;
        transform:scale(.9);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

@keyframes fadeScale{
    from{
        opacity:0;
        transform:scale(.9);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

@keyframes fadeScale{
    from{
        opacity:0;
        transform:scale(.9);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

/* Severidades */
.bootstrap-toast .ui-growl-item-error {
	background: #dc3545;
}

.bootstrap-toast .ui-growl-item-warn {
	background: #ffc107;
	color: #212529;
}

.bootstrap-toast .ui-growl-item-info {
	background: #0d6efd;
}

.bootstrap-toast .ui-growl-item-success {
	background: #198754;
}

/* Ícones */
.ui-growl-item-error .ui-growl-message::before {
	content: "❌ ";
}

.ui-growl-item-success .ui-growl-message::before {
	content: "✅ ";
}

.ui-growl-item-info .ui-growl-message::before {
	content: "ℹ️ ";
}

.ui-growl-item-warn .ui-growl-message::before {
	content: "⚠️ ";
}

@
keyframes slideIn {to { right:20px;
	
}

}

/* --- Footer --- */
.footer-text {
	font-size: 0.75rem;
	color: #999;
	text-align: center;
	margin-top: 50px;
	padding-bottom: 40px;
	line-height: 1.6;
}

/* --- Responsive Adjustments --- */
@media ( max-width : 991.98px) {
	.summary-card {
		margin-bottom: 30px;
	}
	.pe-lg-5 {
		padding-right: 1.5rem !important;
	}
}