/* ============================================================
   LandingPage Vàng — Frontend Styles v6.0
   All modules: benefit-slider, info-cards, process-steps,
   requirements, testimonials, faq, contact-info
   ============================================================ */

/* === BENEFIT SLIDER === */
.bs-section{padding:40px 16px;width:100%;box-sizing:border-box}
.bs-section .bs-title{font-size:28px;font-weight:800;margin:0 0 4px;color:var(--mc-heading);text-align:center}
.bs-section .bs-subtitle{font-size:22px;font-weight:700;margin:0 0 30px;text-align:center}
.bs-card-wrap{border-radius:18px;padding:2px;height:100%;width:100%;box-sizing:border-box}
.bs-card{border-radius:16px;padding:32px 28px;background:#fff;position:relative;overflow:hidden;transition:box-shadow .3s;box-sizing:border-box;height:100%;width:100%;text-align:center}
.bs-section .swiper{overflow:hidden}
.bs-section .swiper-wrapper{align-items:stretch}
.bs-section .swiper-slide{height:auto;padding:8px;box-sizing:border-box;display:flex;flex-direction:column}
.bs-card::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:17px;opacity:0;transition:opacity .4s;z-index:0}
.bs-card:hover::before{opacity:1}
.bs-card>*{position:relative;z-index:1}
.bs-card:hover .bs-card-title,.bs-card:hover .bs-card-desc{color:#fff}
.bs-card:hover .bs-icon{color:#fff!important;background:rgba(255,255,255,.25)!important}
.bs-card[data-hover="none"]::before{display:none}
.bs-card[data-hover="none"]:hover .bs-card-title,.bs-card[data-hover="none"]:hover .bs-card-desc{color:inherit}
.bs-card[data-hover="none"]:hover .bs-icon{color:inherit!important;background:inherit!important}
.bs-icon{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px;transition:color .4s,background .4s}
.bs-card-title{font-size:18px;font-weight:700;color:#222;margin:0 0 10px;transition:color .4s}
.bs-card-desc{font-size:14px;color:#666;line-height:1.6;margin:0;transition:color .4s}
.bs-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px}
.bs-nav button{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:50%!important;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;padding:0;outline:none;line-height:1}
.bs-nav button svg{width:18px;height:18px}
.bs-nav .bs-prev{background:#f0f0f0;color:#999}
.bs-nav .bs-prev:hover{background:#e0e0e0;color:#555}
.bs-nav .bs-next{color:#fff}
@media(max-width:992px){.bs-section .bs-title{font-size:24px}.bs-section .bs-subtitle{font-size:18px;margin-bottom:20px}}
@media(max-width:768px){.bs-section{padding:20px 10px}.bs-section .bs-title,.bs-section .bs-subtitle{padding:0}.bs-section .swiper-slide{padding:6px 0}.bs-card-wrap{border-radius:16px}.bs-card{border-radius:14px;padding:24px 20px}.bs-icon{width:52px;height:52px;font-size:24px}.bs-card-title{font-size:16px}.bs-card-desc{font-size:13px}.bs-nav{padding:0}.bs-nav button{width:38px;height:38px;min-width:38px;min-height:38px}}
@media(max-width:480px){.bs-section{padding:12px 8px}.bs-section .swiper-slide{padding:4px 0}.bs-card{padding:20px 16px}}

/* === INFO CARDS === */
.ic-section{padding:40px 16px;width:100%;box-sizing:border-box}
.ic-section .ic-title{font-size:30px;font-weight:800;text-align:center;margin:0 0 32px;color:var(--mc-heading)}
.ic-card-wrap{border-radius:18px;padding:2px;box-sizing:border-box}
.ic-card{background:#fff;border-radius:16px;padding:28px 24px;box-sizing:border-box;height:100%;text-align:center}
.ic-card .ic-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 16px}
.ic-card .ic-label{font-size:15px;font-weight:600;color:var(--mc-body);margin:0 0 6px}
.ic-card .ic-value{font-size:26px;font-weight:800;color:var(--mc-heading);margin:0;line-height:1.2}
.ic-content{font-size:14px;color:var(--mc-body);line-height:1.8}
.ic-content strong{color:#222}
@media(max-width:768px){.ic-grid{grid-template-columns:1fr!important;gap:10px}.ic-section{padding:20px 10px}.ic-section .ic-title{font-size:24px;margin-bottom:20px}.ic-card-wrap{border-radius:16px}.ic-card{border-radius:14px;padding:24px 20px}.ic-card .ic-value{font-size:22px}}
@media(min-width:769px) and (max-width:992px){.ic-grid{grid-template-columns:repeat(2,1fr)!important}}

/* === PROCESS STEPS === */
.ps-section{padding:50px 16px;width:100%;box-sizing:border-box;text-align:center}
.ps-section *{box-sizing:border-box}
.ps-section .ps-title{font-size:30px;font-weight:800;color:var(--mc-heading);margin:0 0 50px;font-style:italic}
.ps-steps{display:flex;align-items:flex-start;justify-content:center;position:relative;gap:0}
.ps-step{flex:1;max-width:280px;position:relative;padding:0 16px;cursor:pointer}
.ps-step-circle-wrap{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.ps-step-circle-wrap::before{content:'';position:absolute;width:132px;height:132px;border-radius:50%;opacity:0;transition:opacity .5s;z-index:1}
.ps-step.active .ps-step-circle-wrap::before{opacity:1}
.ps-step-circle{width:116px;height:116px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1);z-index:2}
.ps-step.active .ps-step-circle{background:#fff;box-shadow:0 8px 30px rgba(212,160,23,.2);transform:scale(1.05)}
.ps-step-num{font-size:48px;font-weight:800;transition:all .4s;line-height:1}
.ps-step-icon-inner{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5) rotate(-20deg);transition:all .5s cubic-bezier(.34,1.56,.64,1);font-size:36px}
.ps-step.active .ps-step-num{opacity:0;transform:scale(.5)}
.ps-step.active .ps-step-icon-inner{opacity:1;transform:scale(1) rotate(0deg)}
.ps-step-title{font-size:16px;font-weight:700;color:#1a2744;margin:0 0 8px;transition:color .3s}
.ps-step-desc{font-size:13px;color:#777;line-height:1.6;margin:0}
.ps-step-line{position:absolute;top:60px;height:0;z-index:1}
.ps-progress{display:flex;justify-content:center;gap:8px;margin-top:36px}
.ps-dot{width:10px;height:10px;border-radius:50%;background:#ddd;cursor:pointer;transition:all .3s}
@media(max-width:768px){.ps-section{padding:30px 10px}.ps-section .ps-title{font-size:22px;margin-bottom:28px}.ps-steps{flex-direction:column;align-items:stretch;gap:0;max-width:400px;margin:0 auto}.ps-step{max-width:100%;display:flex;align-items:flex-start;gap:18px;text-align:left;padding:16px 0;border-bottom:1px solid #eee}.ps-step:last-child{border-bottom:none}.ps-step-circle-wrap{margin:0;flex-shrink:0}.ps-step-circle-wrap::before{width:84px;height:84px}.ps-step-circle{width:68px;height:68px}.ps-step-num{font-size:30px}.ps-step-icon-inner{font-size:26px}.ps-step-text{flex:1;padding-top:6px}.ps-step-title{font-size:15px;margin-bottom:6px}.ps-step-desc{font-size:13px;line-height:1.5}.ps-step-line{display:none}.ps-progress{margin-top:20px}}
@media(max-width:480px){.ps-step-circle-wrap::before{width:74px;height:74px}.ps-step-circle{width:58px;height:58px}.ps-step-num{font-size:26px}.ps-step-icon-inner{font-size:22px}.ps-step{gap:14px;padding:14px 0}}

/* === REQUIREMENTS === */
.rq-section{padding:60px 16px;position:relative;overflow:hidden}
.rq-section *{box-sizing:border-box}
.rq-inner{width:100%;margin:0 auto;display:flex;align-items:center;gap:40px;position:relative}
.rq-image{flex:0 0 320px;position:relative;z-index:2;overflow:hidden;border-radius:20px}
.rq-image img{width:100%;height:auto;display:block;border-radius:20px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.1))}
.rq-middle{flex:1;position:relative;z-index:2}
.rq-section .rq-title{font-size:32px;font-weight:800;color:var(--mc-heading);margin:0 0 32px;line-height:1.3;font-style:italic}
.rq-list{list-style:none;padding:0;margin:0 0 36px}
.rq-list li{display:flex;align-items:center;gap:16px;padding:12px 0;font-size:16px;color:#333;font-weight:500;transition:transform .2s}
.rq-list li:hover{transform:translateX(6px)}
.rq-list li .rq-check{width:30px;height:30px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.rq-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:50px;color:#fff;font-size:17px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}
.rq-btn:hover{transform:translateY(-2px);color:#fff}
.rq-btn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}
.rq-btn:hover::after{left:100%}
.rq-btn svg{width:18px;height:18px;transition:transform .3s}
.rq-btn:hover svg{transform:translateX(4px)}
.rq-badges{flex:0 0 230px;display:flex;flex-direction:column;gap:14px;position:relative;z-index:2;padding:10px 0}
.rq-badge{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 4px 20px rgba(0,0,0,.07);animation:rqFloat 3.5s ease-in-out infinite;transition:transform .3s,box-shadow .3s;max-width:210px}
.rq-badge:hover{transform:translateY(-3px) scale(1.04)!important;box-shadow:0 8px 30px rgba(0,0,0,.13)}
.rq-badge:nth-child(1){align-self:flex-start;animation-delay:0s}
.rq-badge:nth-child(2){align-self:flex-end;animation-delay:.7s}
.rq-badge:nth-child(3){align-self:center;animation-delay:1.4s}
.rq-badge:nth-child(4){align-self:flex-start;margin-left:24px;animation-delay:2.1s}
.rq-badge:nth-child(5){align-self:flex-end;animation-delay:2.8s}
.rq-badge-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.rq-badge-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.rq-badge-label{font-size:11px;color:#999;font-weight:500;line-height:1}
.rq-badge-value{font-size:14px;font-weight:700;color:#1a2744;line-height:1.3;white-space:nowrap}
@keyframes rqFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:992px){.rq-inner{flex-wrap:wrap}.rq-image{flex:0 0 260px}.rq-badges{flex:0 0 180px;gap:10px}.rq-badge{padding:10px 14px;max-width:180px}.rq-badge-icon{width:32px;height:32px;font-size:14px}.rq-badge-value{font-size:13px}}
@media(max-width:768px){.rq-section{padding:40px 10px}.rq-inner{flex-direction:column;gap:24px}.rq-image{flex:none;max-width:260px;margin:0 auto}.rq-middle{text-align:center}.rq-section .rq-title{font-size:24px;margin-bottom:24px}.rq-list{display:inline-block;text-align:left}.rq-list li{font-size:15px;padding:10px 0;gap:14px}.rq-btn{padding:14px 30px;font-size:15px;display:inline-flex}.rq-badges{flex:none;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;padding:0}.rq-badge{animation:none!important;max-width:none}.rq-badge:nth-child(n){align-self:auto;margin-left:0}.rq-badge{padding:10px 16px;border-radius:12px}.rq-badge-icon{width:32px;height:32px;font-size:14px}.rq-badge-value{font-size:13px}.rq-badge-label{font-size:10px}}

/* === TESTIMONIALS === */
.tm-section{padding:50px 0;width:100%;box-sizing:border-box;text-align:center;overflow:hidden}
.tm-section *{box-sizing:border-box}
.tm-section .tm-title{font-size:30px;font-weight:800;color:var(--mc-heading);margin:0 0 44px;font-style:italic;padding:0 16px}
.tm-track{position:relative;overflow:hidden;padding:30px 0}
.tm-slides{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}
.tm-slide{flex:0 0 33.333%;padding:0 12px;box-sizing:border-box;transition:transform .5s,opacity .5s;transform:scale(.88);opacity:.6;position:relative;z-index:1}
.tm-slide.active{transform:scale(1);opacity:1;z-index:3}
.tm-slide.near{transform:scale(.92);opacity:.75;z-index:2}
.tm-card{background:#e8e8e8;border-radius:20px;padding:30px 26px;min-height:230px;display:flex;flex-direction:column;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}
.tm-slide.active .tm-card{color:#fff;box-shadow:0 16px 50px rgba(0,0,0,.2);transform:translateY(-12px)}
.tm-stars{display:flex;gap:3px;margin-bottom:14px;font-size:15px}
.tm-slide.active .tm-stars{color:#fff}
.tm-card-name{font-size:17px;font-weight:700;margin:0 0 14px;color:#222}
.tm-slide.active .tm-card-name{color:#fff}
.tm-card-text{font-size:14px;line-height:1.75;color:#555;flex:1;margin:0}
.tm-slide.active .tm-card-text{color:rgba(255,255,255,.93)}
.tm-nav{display:flex;justify-content:center;gap:12px;margin-top:24px;padding:0 16px}
.tm-nav button{width:44px;height:44px;border-radius:50%;border:2px solid #ddd;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;padding:0;outline:none;color:#999}
.tm-nav button:hover{border-color:#aaa;color:#555;background:#f5f5f5}
.tm-nav button svg{width:18px;height:18px}
@media(max-width:992px){.tm-slide{flex:0 0 50%;padding:0 8px}}
@media(max-width:600px){.tm-section{padding:30px 0}.tm-section .tm-title{font-size:22px;margin-bottom:28px;padding:0 10px}.tm-track{padding:20px 0}.tm-slide{flex:0 0 88%;padding:0 4px;transform:scale(.92);opacity:.5}.tm-slide.active{transform:scale(1);opacity:1}.tm-slide.near{transform:scale(.95);opacity:.6}.tm-card{padding:24px 20px;min-height:200px;border-radius:16px}.tm-slide.active .tm-card{transform:translateY(-6px)}.tm-card-name{font-size:15px}.tm-card-text{font-size:13px}.tm-nav{padding:0 10px}.tm-nav button{width:40px;height:40px}}

/* === FAQ === */
.fq-section{padding:50px 16px;width:100%;box-sizing:border-box}
.fq-section *{box-sizing:border-box}
.fq-inner{max-width:800px;width:100%;margin:0 auto}
.fq-section .fq-title{font-size:30px;font-weight:800;color:var(--mc-heading);text-align:center;margin:0 0 40px;font-style:italic}
.fq-item{margin-bottom:14px;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden;border-left:4px solid transparent;transition:border-color .3s,box-shadow .3s}
.fq-item:hover,.fq-item.open{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.fq-question{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;gap:16px;user-select:none}
.fq-question-text{font-size:16px;font-weight:600;color:#333;flex:1;margin:0}
.fq-toggle{width:36px;height:36px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s,box-shadow .3s}
.fq-toggle svg{width:16px;height:16px;transition:transform .3s}
.fq-item.open .fq-toggle{transform:rotate(180deg)}
.fq-answer{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.fq-answer-inner{padding:0 20px 20px;font-size:14px;line-height:1.8;color:#666}
@media(max-width:768px){.fq-section{padding:30px 10px}.fq-section .fq-title{font-size:22px;margin-bottom:28px}.fq-question{padding:16px 16px}.fq-question-text{font-size:14px}.fq-toggle{width:32px;height:32px}.fq-toggle svg{width:14px;height:14px}.fq-answer-inner{padding:0 16px 16px;font-size:13px}}
