/* Phương án A – bổ sung: trang dịch vụ, sản phẩm, công cụ quản lý */
.sbox{position:relative;flex:1;min-width:220px}
.sbox .ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.sbox input{margin:0;padding-left:46px;border-radius:999px}
.narrow{max-width:860px}
.h2s{font-size:1.5rem;margin:48px 0 18px}
/* nav 8 mục */
@media(max-width:1260px){nav.main a{padding:10px 10px;font-size:.9rem}nav.main a:not(.btn)::after{left:10px;right:10px}}
@media(max-width:1120px){
  .burger{display:block}
  nav.main{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;padding:12px 4% 20px;box-shadow:var(--shadow)}
  nav.main.open{display:block}nav.main ul{flex-direction:column;align-items:stretch}
}
/* service hero */
.svc-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:70px 0 64px}
.svc-hero h1{font-size:clamp(2rem,4vw,3.2rem)}
.svc-hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.svc-hero-img img{border-radius:28px;box-shadow:var(--shadow);width:100%;aspect-ratio:16/10;object-fit:cover}
/* service cards with image */
.svc-img{padding:0;overflow:hidden;display:flex;flex-direction:column}
.svc-img .sim{overflow:hidden;aspect-ratio:16/10;background:var(--soft)}
.svc-img .sim img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc-img:hover .sim img{transform:scale(1.06)}
.svc-img .sb{padding:22px 26px 26px;position:relative;flex:1;display:flex;flex-direction:column}
.svc-img .sb .n{position:absolute;right:22px;top:16px}
.svc-img .sb h3{margin-top:4px}
.svc-img .link-arrow{margin-top:auto;padding-top:14px;font-size:.92rem}
.svc-img:hover .link-arrow{gap:14px}
/* faq + law */
.faq{border:1px solid var(--line);border-radius:16px;padding:0 24px;margin-bottom:12px;background:#fff;transition:.2s}
.faq[open]{box-shadow:var(--shadow-s);border-color:#f3b8bb}
.faq summary{cursor:pointer;list-style:none;padding:20px 28px 20px 0;font-weight:700;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--red);font-weight:400}
.faq[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin:0 0 20px}
.lawbox{display:flex;gap:16px;align-items:flex-start;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:14px;padding:18px 22px;margin-top:26px}
.lawbox .ico{width:26px;height:26px;color:var(--red);margin-top:2px}
.lawbox p{margin:0 0 6px;color:var(--ink2);font-size:.95rem}.lawbox small{color:var(--muted)}
/* catalog */
.toolbar{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.toolbar select{width:auto;min-width:200px;margin:0;border-radius:999px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chip{display:inline-flex;gap:8px;align-items:center;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:.88rem;color:var(--ink2);background:#fff;transition:.2s}
.chip b{font:600 .72rem var(--mono);background:var(--soft);padding:2px 8px;border-radius:999px;color:var(--muted)}
.chip:hover{border-color:var(--red);color:var(--red)}
.chip.on{background:var(--red);border-color:var(--red);color:#fff}.chip.on b{background:rgba(255,255,255,.25);color:#fff}
.chip.zero{opacity:.55}
.catile{display:block;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.3s}
.catile:hover{box-shadow:var(--shadow);transform:translateY(-6px);border-color:transparent}
.catile img{width:100%;aspect-ratio:16/8;object-fit:cover}
.catile>div{padding:18px 22px 22px}.catile h3{margin-bottom:4px}.catile p{color:var(--muted);font-size:.9rem;margin:0 0 8px}
.catile .cnt{font:600 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.list-title{font-size:1.6rem;margin:6px 0 22px}
.pcard{padding:0;overflow:hidden;display:flex;flex-direction:column}
.pim{position:relative;aspect-ratio:4/3;background:var(--soft);overflow:hidden}
.pim img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.pcard:hover .pim img{transform:scale(1.06)}
.bdg{position:absolute;left:12px;top:12px;background:var(--red);color:#fff;font:700 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.bdg.bs{background:var(--ink)}
.pb{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.pb small{font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pb h3{font-size:1.02rem;margin:6px 0 6px;color:var(--ink)}
.pb p{font-size:.88rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px}
.pr{margin-top:auto;font-weight:800;color:var(--red);font-size:1.08rem}.pr s{color:var(--muted);font-weight:500;font-size:.85rem;margin-left:6px}.pr.contact{font-size:.95rem;color:var(--ink2);font-weight:700}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.pd .gal .main{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--soft);aspect-ratio:4/3}.pd .gal .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.thumbs button{width:76px;height:60px;border:2px solid transparent;border-radius:12px;overflow:hidden;padding:0;cursor:pointer;background:var(--soft)}.thumbs button.on{border-color:var(--red)}.thumbs img{width:100%;height:100%;object-fit:cover}
.pd .info h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:8px 0 12px}
.pd .acts{display:flex;gap:10px;flex-wrap:wrap}
.pbig .pr{font-size:1.9rem;display:block;margin:12px 0 14px}.pbig .pr.contact{font-size:1.2rem}
.st{display:inline-block;font:700 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--soft);color:var(--ink2)}.st.ok{background:#e7f8ee;color:#127a3e}
table.spec{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:14px;overflow:hidden}
table.spec th,table.spec td{padding:13px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}table.spec th{width:32%;background:var(--soft);color:var(--ink2)}table.spec tr:last-child th,table.spec tr:last-child td{border:0}
.pdesc p{color:var(--ink2);max-width:820px}
#detail .crumb{margin-bottom:22px}
/* admin */
.admbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.admgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:start}
.tbl{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.tbl table{width:100%;border-collapse:collapse;font-size:.9rem}.tbl th{background:var(--soft);text-align:left;padding:12px 14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tbl td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:middle}.tbl td input,.tbl td select{margin:0;padding:8px 10px;border-radius:10px}.tbl small{color:var(--muted)}
.ta{text-align:right;white-space:nowrap}
.mini{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font:600 .8rem var(--font);cursor:pointer}.mini:hover{border-color:var(--red);color:var(--red)}.mini.del:hover{background:var(--red);color:#fff}
.tag{background:var(--red-l);color:var(--red);font:700 .65rem var(--mono);padding:2px 8px;border-radius:999px;text-transform:uppercase}
.imgs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.imgs>div{position:relative;width:84px;height:66px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.imgs img{width:100%;height:100%;object-fit:cover}.imgs .mini{position:absolute;right:2px;top:2px;padding:0 7px;font-size:1rem;line-height:1.4}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:14px 22px;border-radius:14px;z-index:90;box-shadow:var(--shadow);max-width:90vw}
form.box{position:sticky;top:100px}
@media(max-width:1020px){.svc-hero .wrap,.pd,.admgrid{grid-template-columns:1fr}form.box{position:static}}
.svc-img .sb .n{position:static;display:block;margin-bottom:8px}
.pim img.photo,.pd .gal .main img.photo{object-fit:contain;background:#fff;padding:14px}
.pim{background:#fff;border-bottom:1px solid var(--line)}
.pb h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.thumbs img{object-fit:contain;background:#fff}
