/* ── RESET & BASE ── */
:root{
  --red:#C8102E; 
  --red-dark:#9B0C22; 
  --red-light:#FDF0F2;
  --navy:#224196; 
  --navy-dark:#1A3278;
  --gray-bg:#F8F8F8; 
  --gray-text:#555; 
  --border:#E0E0E0;
  --white:#fff;
}
html {
	scroll-behavior: smooth; 
}
body {
	overflow-x: hidden;
	padding-bottom: 80px;
}

/* ── FORM SECTION ── */
.form-banner{
	max-width:1140px;
	margin:0 auto;
	min-height:460px;
	position:relative;
	display:flex;
	align-items:stretch;	
	overflow:hidden;
	background: url('../img/bmi-bhsk/bg_hero.png') no-repeat center bottom;
	background-size: cover;
}
.form-girl{
	flex:0 0 46%;
	position:relative;
	min-height:460px;
}
.form-bm-logo{
	position:absolute;
	top:20px;
	left:20px;
	z-index:5;
}
.form-bm-logo img{
	height:38px;
	width:auto;
}
.form-girl img.girl-img{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:bottom center;
}
.form-panel{
	flex:0 0 54%;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:50px 36px 40px;
}
.form-card{
	background:#fff;
	border-radius:10px;
	box-shadow:0 4px 20px rgba(0,0,0,0.10);
	padding:28px 28px 0;
	width:100%;
	max-width:460px;
}
.form-title{
	font-weight:700;
	font-size:16px;
	color:var(--red);
	text-align:center;
	text-transform:uppercase;
	line-height:1.5;
	margin-bottom:18px;
	letter-spacing:0.3px;
}
#form_bao-hiem-bao-minh input[type="text"], #form_bao-hiem-bao-minh input[type="tel"], #form_bao-hiem-bao-minh select{
	padding:10px 14px;
}
#form_bao-hiem-bao-minh input[type="text"]:focus, #form_bao-hiem-bao-minh input[type="tel"]:focus, #form_bao-hiem-bao-minh select:focus{
	border-color:var(--red);
	outline:none;
	box-shadow: none;
}
#form_bao-hiem-bao-minh select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='14' height='10' viewBox='0 0 14 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 10px 10px;
}
.with_frm_style #form_bao-hiem-bao-minh .frm_checkbox label {
	line-height: normal;
}
#form_bao-hiem-bao-minh .frm_checkbox a{
	color:var(--red);
}
#form_bao-hiem-bao-minh .frm_checkbox input[type=checkbox]:not([disabled]):checked {
    background-color: var(--red) !important;
    border-color: var(--red) !important;
}
#form_bao-hiem-bao-minh .frm_checkbox input[type=checkbox]:focus {
	box-shadow: none !important;
}
#form_bao-hiem-bao-minh .frm_error {
    color: var(--red);
}
#form_bao-hiem-bao-minh .frm_button_submit {
	display:block;
	margin:0 auto;
	padding:11px 36px;
	background:var(--red);
	color:#fff;
	border:none;
	border-radius:6px;
	font-weight:700;
	cursor:pointer;
	transition:background 0.2s,transform 0.15s;
	letter-spacing:0.3px;
}
#form_bao-hiem-bao-minh .frm_button_submit:hover{
	background:var(--red-dark);
	transform:translateY(-1px);
}
#form_bao-hiem-bao-minh .form-field {
	margin-bottom: 10px;
}

/* ── STICKY CTA ── */
.sticky-cta {
	position: fixed; 
	bottom: 0; 
	left: 0; 
	right: 0; 
	z-index: 200;
	box-shadow: 0 -4px 20px rgba(0,0,0,0.15); 
	background: var(--navy);
	transform: translateY(100%); 
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.sticky-cta-inner {
	max-width: 1140px; 
	margin: 0 auto; 
	padding: 16px 20px;
	display: flex; 
	align-items: center; 
	justify-content: space-between;
}
.sticky-cta.show { 
	transform: translateY(0); 
}
.sticky-cta-text { 
	color: #fff; 
	font-size: 15px; 
	font-weight: 600; 
}
.sticky-cta-text span { 
	color: #ffd166; 
	font-size: 18px; 
	font-weight: 800; 
}
.sticky-cta-btn {
	background: var(--red); 
	color: #fff !important; 
	border: none; 
	border-radius: 6px;
	padding: 12px 32px;	
	font-size: 15px; 
	font-weight: 700; 
	cursor: pointer;
	white-space: nowrap; 
	transition: background 0.2s, transform 0.2s; text-decoration: none;
	display: inline-block;
}
.sticky-cta-btn:hover { 
	background: var(--red-dark); 
	transform: scale(1.05);
	text-decoration: none;
}

/* ── TRUST BAR ── */
.trust-bar {
	background: var(--red-dark); 
	padding: 20px;
	display: flex; 
	align-items: center; 
	justify-content: center; 
	gap: 60px; 
	flex-wrap: wrap;
}
.trust-item { 
	display: flex; 
	align-items: center; 
	gap: 16px; 
	color: #fff; 
}
.trust-icon { 
	font-size: 32px; 
}
.trust-text strong { 
	display: block;
	font-weight: 700; 
	color: #fff; 
	line-height: normal; 
}
.trust-text span { 
	font-size: 14px; 
	color: rgba(255,255,255,0.85); 
}

/* ── WHY US ── */
.why-section{
	padding:72px 20px;
	background:#fff;
	text-align:center;
}
.why-eyebrow{
	font-size:13px;
	font-weight:700;
	color:var(--red);
	letter-spacing:1.5px;
	text-transform:uppercase;
	margin-bottom:12px;
}
.why-h2{
	font-size:clamp(28px,3.5vw,42px);
	font-weight:800;
	color:#111;
	margin-bottom:16px;
	line-height:1.2;
}
.why-desc{
	color:#666;
	margin:0 auto 56px;
	line-height:1.7;
}
.why-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	max-width:1140px;
	margin:0 auto;
}
.why-card{
	background:#fafafa;
	border-radius:16px;
	padding:36px 28px 32px;
	text-align:left;
	border:1px solid #f0f0f0;
	transition:box-shadow 0.25s,transform 0.25s,background 0.25s;
}
.why-card:hover{
	box-shadow:0 12px 40px rgba(200,16,46,0.10);
	transform:translateY(-4px);background:#fff;
}
.why-icon{
	width:56px;
	height:56px;
	background:var(--red-light);
	border-radius:14px;
	display:flex;align-items:center;
	justify-content:center;
	font-size:26px;
	margin-bottom:20px;
}
.why-card h3{
	font-size:18px;
	font-weight:700;
	color:#111;
	margin-bottom:10px;
	line-height:1.3;
}
.why-card p{
	color:#666;
	line-height:1.75;
}
.why-card p strong{
	color:#111;
	font-weight:700;
}
@media(max-width:900px){
	.why-grid{
		grid-template-columns:repeat(2,1fr);
	}
}
@media(max-width:600px){
	.why-grid{
		grid-template-columns:1fr;
	}
	.why-icon {
		margin-left: auto;
		margin-right: auto;
	}
}

/* ── QUY TRÌNH ── */
.process-section{
	padding:64px 20px;
	background:var(--gray-bg);
	text-align:center;
}
.process-title{
	font-size:24px;
	font-weight:700;
	color:#222;
	text-transform:uppercase;
	letter-spacing:0.5px;
	margin-bottom:48px;
}
.process-grid{
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:0;
	max-width:1140px;
	margin:0 auto;
	position:relative;
}
.process-line{
	position:absolute;
	top:36px;
	left:calc(12.5% + 20px);
	right:calc(12.5% + 20px);
	height:2px;
	background:#ddd;
	z-index:0;
}
.process-step{
	flex:1;
	text-align:center;
	position:relative;
	z-index:1;
	padding:0 12px;
}
.process-circle{
	width:72px;
	height:72px;
	border-radius:50%;
	background:#fff;
	border:3px solid var(--red);
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 16px;
	font-size:28px;
	box-shadow:0 4px 16px rgba(200,16,46,0.15);
}
.process-step h3{
	font-size:18px;
	font-weight:700;
	color:#222;
	margin-bottom:8px;
}
.process-step p{
	color:var(--gray-text);
	line-height:1.65;
	text-align: justify;
}

/* ── FAQ ── */
.faq-section{
	padding:64px 20px;
	background:#fff;
	max-width:1140px;
	margin:0 auto;
}
.faq-title{
	font-size:18px;
	font-weight:700;
	color:#222;
	text-transform:uppercase;
	text-align:center;
	letter-spacing:0.5px;
	margin-bottom:32px;
}
.faq-item{
	border-bottom:1px solid var(--border);
}
.faq-q{
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:18px 0;
	background:none;
	border:none;
	cursor:pointer;
	font-weight:600;
	color:#222;
	text-align:left;
	gap:12px;
	transition:color 0.2s;
}
.faq-q:hover{
	color:var(--red);
}
.faq-icon{
	width:24px;
	height:24px;
	min-width:24px;
	border-radius:50%;
	background:var(--red-light);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:16px;
	font-weight:700;
	color:var(--red);
	transition:transform 0.3s;
}
.faq-item.open .faq-icon{
	transform:rotate(45deg);
}
.faq-a{
	display:none;
	padding:0 0 16px;
	color:var(--gray-text);
	line-height:1.75;
}
.faq-item.open .faq-a{
	display:block;
}
.faq-item ul { list-style: disc; padding-left:1rem; }

/* ── BẢNG GÓI ── */
.plans-section{ padding:80px 20px; background:#fff; }
.plans-title{ font-size:32px; font-weight:800; color:#222; text-align:center; margin-bottom:10px; }
.plans-sub{ text-align:center; color:#666; margin-bottom:40px; font-size: 16px;}
.plans-table{ max-width:1140px; margin:0 auto; overflow-x:auto; -webkit-overflow-scrolling: touch; background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.05);}
.swipe-hint { display: none; text-align: center; font-size: 13px; color: var(--red); font-style: italic; margin-bottom: 10px;}
.plans-table table{ width:100%; border-collapse:collapse; min-width: 800px;}
.plans-table th{ padding:16px 12px; text-align:center; font-weight:700; font-size:15px; background:var(--navy); color:#fff; border-right: 1px solid rgba(255,255,255,0.1); vertical-align: bottom;}
.plans-table th:first-child{ text-align:left; background:#1a1a2e; width: 30%;}
.plans-table th.highlight{ background:var(--red); border-right: none;}
.plans-table td{ padding:14px 12px; border-bottom:1px solid #eee; border-right: 1px solid #eee; vertical-align:middle; font-size: 14px;}
.plans-table td:first-child{ font-weight:600; color:#333; background:#fafafa; text-align: left; line-height: 1.4;}
.plans-table td:not(:first-child){ text-align:center; }
.plans-table tr:hover td{ background:#fdf8f8; }
.plans-table td.highlight-col{ background:#fff5f5; font-weight:700; color:var(--red); border-right: 1px solid #ffebeb;}
.badge-popular{ display:inline-block; background:#fff; color:var(--red); font-size:11px; font-weight:800; padding:4px 10px; border-radius:12px; margin-bottom:6px; }
.plans-cta{text-align:center;margin-top:32px;}
.plans-cta a{display:inline-block;background:var(--red);color:#fff;padding:14px 40px;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;transition:background 0.2s,transform 0.15s;}
.plans-cta a:hover{color: #fff;background:var(--red-dark);transform:translateY(-2px);}

/* ── QUYỀN LỢI CHI TIẾT ── */
.benefits-section{ padding:80px 20px; background:#f9f9fb; }
.benefits-inner{ max-width:1140px; margin:0 auto; }
.benefits-title{ font-size:32px; font-weight:800; text-align:center; margin-bottom:40px; line-height: normal;}
.benefits-tabs{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.tab-btn{ padding:12px 28px; border:2px solid var(--border); border-radius:30px; background:#fff; font-size:15px; font-weight:700; color:#666; cursor:pointer; transition:all 0.2s; }
.tab-btn.active, .tab-btn:hover{ background:var(--red); color:#fff; border-color:var(--red); }
.tab-content{ display:none; grid-template-columns:repeat(auto-fit, minmax(400px, 1fr)); gap:24px; animation: fadeIn 0.4s ease;}
.tab-content.active{ display:grid; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.benefit-item{ display:flex; gap:20px; background:#fff; border-radius:12px; padding:24px; border:1px solid #eee; transition: transform 0.2s, box-shadow 0.2s; }
.benefit-item:hover{ transform: translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,0.06); border-color: #ddd;}
.benefit-dot{ width:48px; height:48px; min-width:48px; border-radius:50%; background:var(--red-light); display:flex; align-items:center; justify-content:center; font-size:24px; }
.benefit-item h4{ font-weight:700; font-size: 18px; color:#222; margin-bottom:8px; line-height: 1.3;}
.benefit-item p{ color:#666; line-height:1.6; font-size: 14.5px; margin-bottom: 12px;}
.benefit-limit{ display:inline-block; background:rgba(200,16,46,0.1); color:var(--red); font-size:13px; font-weight:700; padding:6px 12px; border-radius:6px; }

/* ── CONDITION ── */
.condition-section { background: var(--navy-dark); padding: 80px 20px; }
.condition-inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; color: #fff; }
.condition-inner h2 { font-size: 28px; font-weight: 800; margin-bottom: 24px; color: white; line-height: normal;}
.condition-inner ul { list-style: none; }
.condition-inner li { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.1); display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.5; color: #e2e8f0;}
.condition-inner li:last-child { border-bottom: none; }
.condition-inner .accept li::before { content: '✅'; font-size: 20px; margin-top: 2px;}
.condition-inner .warning { background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 32px; }
.condition-inner .warning h2 { color: #fca5a5; }
.condition-inner .warning li::before { content: '❌'; font-size: 14px; margin-top: 2px;}

/* RESPONSIVE */
@media(max-width: 992px) {
	body{padding-bottom: 139px;}
	.condition-inner { grid-template-columns: 1fr; }
	.form-banner{flex-direction:column;}
	.form-girl{min-height:300px;flex:0 0 300px;}
	.form-panel{padding:32px 20px;}
	.process-grid{display: grid;gap: 1rem;}
	.process-line{display:none;}
}
@media(max-width: 768px) {
	.swipe-hint { display: block; }
	.tab-content { grid-template-columns: 1fr; padding: 0;}
	.sticky-cta-inner { flex-direction: column; gap: 10px; text-align: center; }
	.sticky-cta-btn { width: 100%; text-align: center; }
	.trust-bar { gap: 20px; justify-content: flex-start;}
	.trust-item { width: 45%;}	
	.why-h2, .plans-title, .benefits-title, .faq-title { font-size: 26px;}
}
@media(max-width: 480px) {
	.trust-item { width: 100%;}
	.plans-table th { font-size: 13px; padding: 10px;}
	.plans-table td { font-size: 12px; padding: 10px;}
}