
html.kbsv .kbapp-svc .kbapp-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:6px 16px 4px!important}
html.kbsv .kbapp-svc .kbapp-sc{position:relative;margin:0!important;padding:0!important;min-height:0!important;height:auto!important;aspect-ratio:4/5;border-radius:16px!important;overflow:hidden;background:#141414!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .2s,border-color .2s}
html.kbsv .kbapp-svc .kbapp-sc.wide{grid-column:1/-1;aspect-ratio:16/10}
html.kbsv .kbapp-svc .kbapp-sc:active{transform:scale(.98)}
html.kbsv .kbapp-svc .kbapp-sc .im{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;max-width:none!important;margin:0!important;border-radius:0!important;background-size:cover!important;background-position:50% 35%!important;transition:transform .5s}
html.kbsv .kbapp-svc .kbapp-sc .bd{position:absolute!important;left:0;right:0;bottom:0;padding:44px 12px 12px!important;margin:0!important;background:linear-gradient(180deg,transparent,rgba(5,6,10,.72) 38%,rgba(5,6,10,.94))!important;pointer-events:none;display:block!important}
html.kbsv .kbapp-svc .kbapp-sc .bd p,html.kbsv .kbapp-svc .kbapp-sc .bd .ft{display:none!important}
html.kbsv .kbapp-svc .kbapp-sc .bd .ct{display:block;font-size:9.5px!important;letter-spacing:.14em;text-transform:uppercase;color:#8fb0ff!important;margin:0 0 3px!important;font-weight:700}
html.kbsv .kbapp-svc .kbapp-sc .bd b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px!important;line-height:1.25!important;font-weight:700;color:#fff!important;margin:0 0 5px!important}
html.kbsv .kbapp-svc .kbapp-sc .bd .pr{display:block;font-size:12.5px!important;font-weight:700;color:#fff!important;opacity:.92;margin:0!important}
html.kbsv .kbapp-svc .kbapp-sc .bd .pr.q{color:#9fb8ff!important}
html.kbsv .kbapp-svc .kbapp-sc .go{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:rgba(10,12,20,.55);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}
html.kbsv .kbapp-svc .kbapp-sc .go svg{width:14px;height:14px}
html.kbsv .kbapp-svc .kbapp-sc.wide .bd b{font-size:19px!important}
html.kbsv .kbapp-svc .kbapp-sc.wide .bd p{display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px!important;color:rgba(255,255,255,.75)!important;margin:0 0 6px!important;line-height:1.4}
@media (hover:hover){html.kbsv .kbapp-svc .kbapp-sc:hover{border-color:rgba(127,160,255,.6)!important}html.kbsv .kbapp-svc .kbapp-sc:hover .im{transform:scale(1.05)}}
@media (min-width:768px){html.kbsv .kbapp-svc .kbapp-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:8px 24px 6px!important}html.kbsv .kbapp-svc .kbapp-sc.wide{grid-column:auto;aspect-ratio:4/5}html.kbsv .kbapp-svc .kbapp-sc.wide .bd p{display:none!important}html.kbsv .kbapp-svc .kbapp-sc.wide .bd b{font-size:16px!important}html.kbsv .kbapp-svc .kbapp-sc .bd b{font-size:16px!important}}
@media (min-width:1100px){html.kbsv .kbapp-svc .kbapp-list{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 0 6px!important}}
/* trang chủ: khối Dịch vụ & bảng giá */
html.kbsv .kbsvh .kbapp-rail{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible!important;padding:2px 16px 0!important;margin:0!important;scroll-snap-type:none!important}
html.kbsv .kbsvh .kbapp-card{position:relative;display:block;flex:none!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#141414;border:1px solid rgba(255,255,255,.08);text-decoration:none!important;-webkit-tap-highlight-color:transparent;transition:transform .2s,border-color .2s}
html.kbsv .kbsvh .kbapp-card.wide{grid-column:1/-1;aspect-ratio:16/9}
html.kbsv .kbsvh .kbapp-card:active{transform:scale(.98)}
html.kbsv .kbsvh .kbapp-card .im{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important;background-size:cover!important;background-position:50% 30%!important;transition:transform .5s}
html.kbsv .kbsvh .kbapp-card .im:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,10,0) 35%,rgba(5,6,10,.9))}
html.kbsv .kbsvh .kbapp-card .im em{position:absolute;top:10px;left:10px;z-index:2;font-style:normal;font-size:11px;font-weight:700;padding:4px 8px;border-radius:99px;background:rgba(10,12,20,.6);border:1px solid rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html.kbsv .kbsvh .kbapp-card .im em.q{color:#9fb8ff}
html.kbsv .kbsvh .kbapp-card b{position:absolute;left:12px;right:12px;bottom:28px;z-index:2;margin:0!important;font-size:14.5px!important;line-height:1.25;font-weight:700;color:#fff!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.kbsv .kbsvh .kbapp-card small{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;margin:0!important;font-size:11px!important;color:rgba(255,255,255,.65)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.kbsv .kbsvh .kbapp-card.wide b{font-size:18px!important;bottom:30px}
html.kbsv .kbsvh .kbapp-card .go{position:absolute;top:10px;right:10px;z-index:2;width:28px;height:28px;border-radius:50%;background:rgba(10,12,20,.55);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html.kbsv .kbsvh .kbapp-card .go svg{width:14px;height:14px}
html.kbsv .kbsvh .kbsv-all{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 16px 0;min-height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.22);color:#fff!important;font-size:14px;font-weight:600;text-decoration:none!important}
@media (hover:hover){html.kbsv .kbsvh .kbapp-card:hover{border-color:rgba(127,160,255,.6)}html.kbsv .kbsvh .kbapp-card:hover .im{transform:scale(1.05)}}
@media (min-width:768px){html.kbsv .kbsvh .kbapp-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:4px 24px 0!important}html.kbsv .kbsvh .kbapp-card.wide{aspect-ratio:21/9}html.kbsv .kbsvh .kbapp-card{aspect-ratio:4/3}html.kbsv .kbsvh .kbsv-all{max-width:360px;margin:16px auto 0}}
@media (min-width:1100px){html.kbsv .kbsvh .kbapp-rail{grid-template-columns:repeat(4,minmax(0,1fr));padding:4px 0 0!important}html.kbsv .kbsvh .kbapp-card.wide{grid-column:span 2;aspect-ratio:auto}html.kbsv .kbsvh .kbapp-card{aspect-ratio:4/3}}
/* bảng chi tiết */
#kbsvM{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s}
#kbsvM.on{opacity:1;pointer-events:auto}
#kbsvS{position:fixed;left:0;right:0;bottom:0;z-index:2147483001;max-height:88vh;max-height:88dvh;overflow:auto;background:#0f1117;color:#fff;border-radius:22px 22px 0 0;border-top:1px solid rgba(255,255,255,.12);transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);font-family:Montserrat,system-ui,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
#kbsvS.on{transform:none}
#kbsvS .gr{width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.3);margin:8px auto 0}
#kbsvS .ph{margin:10px 14px 0;border-radius:16px;aspect-ratio:16/10;background:#1a1a1a center/cover no-repeat}
#kbsvS .in{padding:14px 18px 8px}
#kbsvS .ct{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8fb0ff;font-weight:700}
#kbsvS h3{margin:4px 0 8px;font-size:22px;line-height:1.25;font-weight:700;color:#fff}
#kbsvS p{margin:0 0 12px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.75)}
#kbsvS .pr{display:inline-block;font-size:15px;font-weight:700;padding:7px 12px;border-radius:10px;background:rgba(30,63,160,.22);border:1px solid rgba(127,160,255,.35)}
#kbsvS .bt{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:12px 18px 16px;background:linear-gradient(180deg,rgba(15,17,23,0),#0f1117 30%)}
#kbsvS .bt a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:14px;font-size:15px;font-weight:700;text-decoration:none!important}
#kbsvS .bt .o{border:1px solid rgba(255,255,255,.3);color:#fff!important}
#kbsvS .bt .b{background:#1E3FA0;color:#fff!important;box-shadow:0 10px 24px -10px rgba(30,63,160,.9)}
#kbsvS .x{position:absolute!important;top:30px!important;right:26px!important;left:auto!important;bottom:auto!important;width:34px!important;height:34px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.25)!important;background:rgba(10,12,20,.6)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;font-size:0!important;box-shadow:none!important;cursor:pointer;z-index:3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#kbsvS .x svg{width:14px;height:14px;display:block;flex:none}@media (min-width:768px){#kbsvS .x{top:26px!important;right:26px!important}}
@media (min-width:768px){#kbsvS{left:50%;right:auto;bottom:auto;top:50%;width:min(560px,92vw);border-radius:22px;border:1px solid rgba(255,255,255,.12);transform:translate(-50%,-46%) scale(.96);opacity:0;pointer-events:none;transition:transform .28s,opacity .28s}#kbsvS.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}#kbsvS .gr{display:none}#kbsvS .ph{margin:14px 14px 0}}
html.kbsv-lock,html.kbsv-lock body{overflow:hidden!important}
