/* Thiên Phước – giao diện web khách xem */
:root{
  --bg:#FAF6EE;--bg2:#F3EADB;--card:#FFFFFF;--ink:#2B1D14;--ink2:#5A4636;--muted:#6B5440;
  --line:#E3D4BC;--frame:#F1E8D9;--accent:#8E2B1F;--accent-dark:#6E1F15;--gold:#A67C2E;--gold-text:#7A5A1C;
  --dark:#2B1D14;--darker:#1F150E;--zalo:#0068FF;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --head-h:76px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 12px)}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}a:hover{color:var(--accent-dark)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
@media (max-width:560px){.wrap{padding:0 16px}}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;z-index:100}
.skip:focus{left:8px}
.center{text-align:center}
:focus-visible{outline:2px solid #C98B5A;outline-offset:2px}

/* Nút */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;border:1.5px solid var(--accent);background:var(--accent);color:#fff;font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn.alt{background:transparent;color:var(--accent)}
.btn.alt:hover{background:#F6ECE4}
.btn.zalo{background:var(--zalo);border-color:var(--zalo)}
.btn.zalo:hover{background:#0053CC;border-color:#0053CC}
.btnrow{display:flex;flex-wrap:wrap;gap:12px}
.btnrow.center{justify-content:center}
.kicker{font-size:12.5px;letter-spacing:.2em;color:var(--gold-text);font-weight:600;text-transform:uppercase;margin:0}
.kicker.light{color:#D4B06A}
.lead{font-size:17px;color:var(--ink2);margin:0;max-width:640px}

/* Dải thông tin trên cùng */
.topstrip{background:var(--dark);color:#F3E9D7;font-size:13px}
.topstrip a{color:#F3E9D7;text-decoration:none;font-weight:600}
.topstrip-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding-top:7px;padding-bottom:7px}
@media (max-width:760px){.topstrip-addr{display:none}}

/* Đầu trang – dính khi cuộn */
.site-head{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(43,29,20,.06)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--head-h)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:0 0 auto}
.logo-text{display:flex;flex-direction:column;gap:1px}
.logo-sub{font-size:10.5px;letter-spacing:.2em;color:var(--gold-text);font-weight:600}
.logo-name{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.1}
.logo-img img{height:52px;width:auto}
.logo-img.on-dark{background:#FAF6EE;border-radius:8px;padding:6px 10px;display:inline-block}
.head-in{flex-wrap:wrap;row-gap:0;min-height:0}
.brand,.head-acts{min-height:var(--head-h)}
@media (min-width:1061px){html{scroll-padding-top:calc(var(--head-h) + 58px)}}
.mainnav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px;font-size:15px;font-weight:500;order:3;flex:1 0 100%;border-top:1px solid var(--line)}
.navitem{position:relative;display:flex}
.navdrop{display:none;position:absolute;top:100%;left:-16px;z-index:50;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 30px rgba(43,29,20,.14);padding:8px 0}
.navdrop a{display:block;padding:9px 18px!important;border:0!important;font-size:14.5px;white-space:nowrap}
.navdrop a:hover{background:var(--bg2)}
.navexp{display:none}
.navitem:hover .navdrop,.navitem:focus-within .navdrop{display:block}
.callbtn{white-space:nowrap}
.mainnav a{color:var(--ink);text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}
.mainnav a:hover{color:var(--accent)}
.mainnav a.on{color:var(--accent);border-bottom-color:var(--accent)}
.head-acts{display:flex;align-items:center;gap:10px}
.iconbtn{width:44px;height:44px;border:1px solid #D8C6A8;background:transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.callbtn{height:44px;padding:0 18px;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;text-decoration:none;border-radius:999px;font-weight:600;font-size:14px}
.callbtn:hover{background:var(--accent-dark);color:#fff}
.menubtn{display:none}
.searchbar{border-top:1px solid var(--line);background:var(--bg)}
.searchbar-in{display:flex;gap:10px;padding-top:12px;padding-bottom:12px}
.searchbar input,.searchinline input{flex:1;min-width:0;height:50px;border:1px solid #D8C6A8;border-radius:999px;padding:0 20px;font:inherit;background:#fff}
.searchinline{display:flex;gap:10px;margin-top:18px;max-width:560px}
@media (max-width:1060px){
  :root{--head-h:64px}
  .menubtn{display:inline-flex}
  .mainnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;padding:6px 24px 16px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(43,29,20,.12)}
  .mainnav.open{display:flex}
  .mainnav a{padding:13px 0;border-bottom:1px solid #EDE2CF;font-size:16px}
  .mainnav a.on{border-bottom-color:#EDE2CF}
  .mainnav{border-top:0;flex-wrap:nowrap;max-height:calc(100vh - var(--head-h) - 40px);overflow-y:auto}
  .navitem{display:flex;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid #EDE2CF}
  .navitem>a{flex:1;border-bottom:0!important}
  .navexp{display:flex!important;align-items:center;justify-content:center;width:52px;border:0;border-left:1px solid #EDE2CF;background:transparent;color:var(--muted);cursor:pointer}
  .navexp svg{transition:transform .2s}
  .navitem.open .navexp svg{transform:rotate(90deg);color:var(--accent)}
  .navdrop,.navitem:hover .navdrop,.navitem:focus-within .navdrop{display:none;position:static;flex-basis:100%;min-width:0;box-shadow:none;border:0;border-radius:0;background:transparent;padding:0 0 8px 14px}
  .navitem.open .navdrop{display:block}
  .navdrop a{padding:11px 4px!important;font-size:15px;color:var(--ink2);border-bottom:1px dashed #EDE2CF!important}
  .navdrop a:last-child{border-bottom:0!important}
  .logo-name{font-size:22px}
  .logo-mark{width:40px;height:40px}
}
@media (max-width:560px){
  .callbtn span{display:none}
  .callbtn{width:44px;padding:0;justify-content:center}
  .logo-sub{display:none}
  .logo-img img{height:42px}
  .head-acts{gap:8px}
}

/* Trang chủ */
.hero{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:56px;padding-bottom:72px}
.hero-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero h1{font-size:clamp(32px,5vw,54px)}
.hero-media{flex:1 1 420px;min-width:0}
.hero-media img{width:100%;max-height:640px;object-fit:contain;background:var(--frame);border-radius:4px}
.hero-placeholder{aspect-ratio:4/5;max-height:600px;background:var(--frame);border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center}
@media (max-width:560px){.hero{padding-top:28px;padding-bottom:40px;gap:28px}}
.band{background:var(--bg2);padding:72px 0}
.section{padding-top:80px;padding-bottom:80px}
.section-tight{padding-top:8px;padding-bottom:72px}
.sec-head{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.sec-head.center{align-items:center;text-align:center}
.sec-head.split{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end}
.sec-head h2,.sec-title{font-size:clamp(28px,3.4vw,36px)}
.sec-title{margin-bottom:24px}
.more{font-weight:600;text-decoration:none;padding:10px 0}
@media (max-width:560px){.band{padding:48px 0}.section{padding-top:52px;padding-bottom:52px}}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:24px}
.cattile{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:var(--ink);text-align:center}
.catimg{width:100%;aspect-ratio:1/1;border-radius:999px;background:#E9DCC6;border:1px solid #DCCAAC;overflow:hidden;display:block}
.catimg img{width:100%;height:100%;object-fit:cover}
.cattile:hover .catimg{border-color:var(--gold)}
.catname{font-weight:600;font-size:16px;margin-top:6px}
.catcount{font-size:13px;color:var(--muted)}
@media (max-width:560px){.catgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catname{font-size:14px}}
.about{background:var(--dark);color:#E2D3BA}
.about-in{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-top:80px;padding-bottom:80px}
.about-media{flex:1 1 420px;min-width:0}
.about-media img{width:100%;border-radius:4px}
.about-media:empty{display:none}
.about-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.about-text h2{font-size:36px;color:#FAF6EE}
.about-text p{margin:0;line-height:1.75}
.commits{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:12px}
.commits li{display:flex;gap:12px;align-items:flex-start}
.commits svg{flex:0 0 auto;margin-top:2px}
.contactband{background:var(--bg2);border-top:1px solid var(--line)}
.contact-in{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;padding-top:48px;padding-bottom:48px}
.contact-in h2{font-size:28px;margin-bottom:8px}
.contact-in p{margin:0;color:var(--ink2)}

/* Trang danh mục */
.pagehead{padding-top:28px;padding-bottom:20px;display:flex;flex-direction:column;gap:10px}
.pagehead h1{font-size:clamp(30px,4vw,42px)}
.crumbs{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.crumbs [aria-current]{color:var(--ink);font-weight:500}
.catdesc{max-width:820px;color:var(--ink2)}
.catdesc.clamped{max-height:5.2em;overflow:hidden;position:relative}
.catdesc.clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.4em;background:linear-gradient(transparent,var(--bg))}
.readmore{background:none;border:0;padding:6px 0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;align-self:flex-start}
.catlayout{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start;padding-bottom:72px}
.catside{flex:1 1 250px;max-width:280px;position:sticky;top:calc(var(--head-h) + 20px);max-height:calc(100vh - var(--head-h) - 40px);overflow-y:auto}
.catmain{flex:999 1 560px;min-width:0}
.sidelabel{font-size:12.5px;letter-spacing:.18em;color:var(--gold-text);font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--line);margin:0 0 6px}
.tree{list-style:none;margin:0;padding:0}
.tree.sub{padding:4px 0 8px 10px;margin-left:4px;border-left:1px solid var(--line)}
.tree li{margin:0}
.tree a{display:block;padding:10px 8px;min-height:44px;color:var(--ink);text-decoration:none;border-radius:4px;font-size:15px}
.tree > li > a,.tree > li > details > summary > a{font-weight:600}
.tree.sub a{font-weight:400;padding:8px 10px;min-height:40px}
.tree a:hover{color:var(--accent);background:#F6EEE1}
.tree a.cur{background:#F1E4CE;color:var(--accent);font-weight:600}
.tree details > summary{display:flex;align-items:center;list-style:none;cursor:pointer;border-bottom:1px solid #EDE2CF}
.tree details > summary::-webkit-details-marker{display:none}
.tree details > summary > a{flex:1}
.chev{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.chev::before{content:"";width:8px;height:8px;border-right:2px solid var(--gold-text);border-bottom:2px solid var(--gold-text);transform:rotate(-45deg);transition:transform .2s}
details[open] > summary .chev::before{transform:rotate(45deg)}
.sidetoggle{display:none}
@media (max-width:900px){
  .catside{position:static;max-width:none;flex-basis:100%;max-height:none;overflow:visible}
  .sidetoggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 16px;border:1px solid #D8C6A8;border-radius:8px;background:#fff;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
  .cattree{display:none;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-top:8px}
  .cattree.open{display:block}
  .catlayout{gap:20px}
}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chips.center{justify-content:center;margin:18px 0}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid #D8C6A8;border-radius:999px;color:var(--ink);text-decoration:none;font-size:14.5px;background:#fff}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.listbar{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);margin:0 0 24px;color:var(--muted);font-size:14.5px}
.empty{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.empty p{margin:0}

/* Lưới ảnh sản phẩm */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:36px 24px}
.pcard{margin:0;display:flex;flex-direction:column;gap:12px}
.pimg{position:relative;display:block;aspect-ratio:3/4;background:var(--frame);border:1px solid var(--line);border-radius:4px;overflow:hidden;cursor:zoom-in}
.pimg img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.pimg:hover img{transform:scale(1.03)}
.zoomicon{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:999px;background:rgba(43,29,20,.72);color:#fff;display:flex;align-items:center;justify-content:center}
.pcap{display:flex;flex-direction:column;gap:3px}
.pcode{font-size:12.5px;color:var(--gold-text);font-weight:600;letter-spacing:.05em}
.pname{font-size:18.5px;line-height:1.3}
.pmeta{font-size:13.5px;color:var(--muted)}
.pacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.pacts a{height:44px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none}
.b-zalo{background:var(--zalo);color:#fff}
.b-zalo:hover{background:#0053CC;color:#fff}
.b-call{border:1.5px solid var(--accent);color:var(--accent)}
.b-call:hover{background:#F6ECE4}
@media (max-width:560px){
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .pname{font-size:15.5px}
  .pmeta{font-size:12.5px}
  .pacts{gap:6px}
  .pacts a{font-size:13px;height:42px}
  .zoomicon{width:30px;height:30px;right:6px;bottom:6px}
}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:36px}
.pager a,.pager .gap{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #D8C6A8;color:var(--ink);text-decoration:none;padding:0 12px;background:#fff}
.pager a.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.pager .gap{border:0;background:none}

/* Bài viết */
.postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
@media (max-width:560px){.postgrid{grid-template-columns:1fr}}
.postcard{display:flex;flex-direction:column;background:#fff;border:1px solid #E8DCC8;border-radius:4px;overflow:hidden;text-decoration:none;color:var(--ink)}
.postimg{aspect-ratio:16/10;background:var(--frame);display:block}
.postimg img{width:100%;height:100%;object-fit:cover}
.postbody{padding:16px 22px 24px;display:flex;flex-direction:column;gap:8px}
.posttitle{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.35}
.postex{font-size:15px;color:var(--ink2)}
.postcard .more{color:var(--accent);padding:0}
.article{max-width:820px;padding-top:28px;padding-bottom:56px;display:flex;flex-direction:column;gap:14px}
.article h1{font-size:clamp(30px,4.4vw,44px)}
.byline{color:var(--muted);font-size:14px;margin:0}
.cover{width:100%;border-radius:4px;margin:8px 0}
.prose{font-size:17px;line-height:1.8}
.prose h2{font-size:28px;margin:1.6em 0 .5em}
.prose h3{font-size:22px;margin:1.4em 0 .4em}
.prose h1{font-size:30px;margin:1.6em 0 .5em}
.prose table{width:100%;border-collapse:collapse;margin:1em 0;font-size:15px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px;margin:1em 0}
.prose figure{margin:1em 0}.prose figcaption{font-size:14px;color:var(--muted);text-align:center}
.prose p{margin:0 0 1em}
.prose img{border-radius:4px;margin:1em 0}
.prose ul,.prose ol{padding-left:1.4em}
.prose li[data-list="bullet"]{list-style-type:disc}
.prose blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--gold);color:var(--ink2);font-style:italic}
.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}.prose .ql-align-justify{text-align:justify}
.catdesc.prose{font-size:15.5px;line-height:1.7}
.catdesc.prose p{margin:0 0 .6em}
.cta{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:22px 24px;margin-top:24px}
.cta p{margin:6px 0 0;color:var(--ink2)}

/* Liên hệ */
.contactpage{display:flex;flex-wrap:wrap;gap:36px;padding-bottom:72px}
.contactinfo{flex:1 1 360px;display:flex;flex-direction:column;gap:24px}
.contactinfo dl{margin:0;display:grid;grid-template-columns:150px 1fr;gap:12px 16px;font-size:16px}
.contactinfo dt{color:var(--muted)}
.contactinfo dd{margin:0;font-weight:500}
@media (max-width:560px){.contactinfo dl{grid-template-columns:1fr;gap:2px}.contactinfo dd{margin-bottom:10px}}
.mapbox{flex:1 1 460px;min-height:360px}
.mapbox iframe{width:100%;height:100%;min-height:360px;border:0;border-radius:6px}
.mapph{height:100%;min-height:360px;background:var(--frame);border-radius:6px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted)}
.notfound{padding-top:72px;padding-bottom:96px;align-items:center}

/* Chân trang */
.site-foot{background:var(--darker);color:#E2D3BA}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:36px;padding-top:56px;padding-bottom:28px}
.foot-brand{display:flex;flex-direction:column;gap:14px}
.foot-brand .logo-name{color:#FAF6EE}
.foot-brand .logo-sub{color:#D4B06A}
.foot-brand p{margin:0}
.foot-col{display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.foot-col h2{font-family:var(--sans);font-size:15px;color:#FAF6EE;margin-bottom:4px}
.foot-col a{color:#E2D3BA;text-decoration:none;padding:3px 0}
.foot-col a:hover{color:#fff}
.foot-col p{margin:0}
.socials{display:flex;gap:16px}.socials a{color:#E2D3BA}
.foot-bottom{padding-top:18px;padding-bottom:96px;border-top:1px solid #3A2A1D;font-size:13px;color:#BFAE90}
.site-foot .brand,.foot-brand{color:#FAF6EE}
.foot-brand > svg{margin-bottom:-4px}

/* Nút nổi */
.floatbtns{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;z-index:45}
.floatbtns a{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.2);font-weight:700;font-size:13px}
.fzalo{background:var(--zalo)}.fcall{background:var(--accent)}
.fzalo:hover,.fcall:hover{color:#fff;filter:brightness(1.08)}
@media (max-width:560px){.floatbtns{right:12px;bottom:12px}.floatbtns a{width:52px;height:52px}}
/* Trên điện thoại, trang có lưới ảnh đã có nút Zalo/Gọi dưới từng ảnh → ẩn nút nổi cho khỏi che ảnh */
@media (max-width:760px){body:has(.pgrid) .floatbtns,body:has(.product) .floatbtns{display:none}}

/* Thông báo */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:120;width:calc(100% - 32px);max-width:440px;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 10px 32px rgba(0,0,0,.28);padding:16px 18px;display:flex;gap:14px;align-items:flex-start}
.toast[hidden]{display:none}
.toast .tick{flex:0 0 auto;width:36px;height:36px;border-radius:999px;background:var(--zalo);color:#fff;display:flex;align-items:center;justify-content:center}
.toast .tbody{display:flex;flex-direction:column;gap:6px;min-width:0}
.toast strong{font-size:15px}
.toast .thelp{font-size:13.5px;color:var(--ink2)}
.toast .tmsg{font-size:12.5px;color:var(--muted);background:var(--bg2);border-radius:6px;padding:8px 10px;word-break:break-word}

/* Phóng to ảnh */
.lb{position:fixed;inset:0;z-index:110;background:#140D08;display:flex;flex-direction:column;color:#F3E9D7}
.lb[hidden]{display:none}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;flex:0 0 auto}
.lb-count{font-size:14px;color:#D9C8AC}
.lb-btn{width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lb-btn:hover{background:rgba(255,255,255,.12)}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 12px;position:relative;touch-action:pan-y}
.lb-img{max-width:min(100%,1100px);max-height:100%;object-fit:contain;border-radius:2px;user-select:none;-webkit-user-drag:none}
.lb-prev,.lb-next{flex:0 0 auto}
.lb-info{flex:0 0 auto;padding:14px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.lb-code{font-size:13px;color:#D4B06A;font-weight:600;letter-spacing:.06em}
.lb-name{font-family:var(--serif);font-size:22px;font-weight:600;color:#FAF6EE}
.lb-meta{font-size:14px;color:#D9C8AC}
.lb-note{font-size:14px;color:#E2D3BA;max-width:640px}
.lb-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%;max-width:460px;margin-top:10px}
.lb-acts a{flex:1 1 180px;min-height:50px}
@media (max-width:560px){
  .lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px}
  .lb-prev{left:8px}.lb-next{right:8px}
  .lb-stage{padding:0}
  .lb-name{font-size:19px}
  .lb-acts a{min-height:46px;font-size:14px}
}
body.lb-open{overflow:hidden}

/* Khung gợi ý cho chủ web khi mục còn trống (khách không thấy) */
.adminhint{border:2px dashed #C9A774;border-radius:10px;padding:24px;background:rgba(255,255,255,.6);display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:720px}
.adminhint p{margin:0;color:var(--ink2)}
.adminhint .btn{min-height:44px;margin-top:6px}
.ah-tag{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#8A5A00;background:#FFF1D6;border-radius:999px;padding:2px 10px}
.adminhint.dark{background:rgba(255,255,255,.05);border-color:#8C6E45}
.adminhint.dark strong{color:#FAF6EE}.adminhint.dark p{color:#D9C8AC}
.section-tight-top{padding-top:0}
.sec-title-wrap{display:flex;flex-direction:column;gap:8px}
.more-row{margin:28px 0 0}
.center-box{display:flex;justify-content:center}

/* Phần mô tả dưới danh sách ảnh */
.catbody{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);max-width:860px}
.body-kicker{display:inline-block;color:var(--ink);letter-spacing:.12em;font-size:15px;padding-top:10px;border-top:3px solid var(--gold);margin-bottom:18px}
.catbody .prose > h2:first-child,.catbody .prose > h1:first-child{margin-top:0}
.catbody .cta{margin-top:32px}

/* ===== Bản 2.0: lưới sản phẩm chỉ ảnh + tên, trang chi tiết ===== */
a.pcard{text-decoration:none;color:var(--ink);gap:12px}
a.pcard:hover .pname{color:var(--accent)}
a.pcard .pimg{cursor:pointer}
a.pcard .pname{font-size:18px;line-height:1.35;transition:color .15s}
@media (max-width:560px){a.pcard .pname{font-size:15.5px}}

.pagehead.tight{padding-bottom:4px}
.product{padding-top:12px;padding-bottom:40px;display:flex;flex-direction:column;gap:32px}
.ptop.two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:44px;align-items:start}
@media (max-width:900px){.ptop.two{grid-template-columns:1fr;gap:24px}}
.pinfo{display:flex;flex-direction:column;gap:16px}
.pcontact{max-width:640px}
.pinfo h1{font-size:clamp(28px,4vw,44px)}
.facts{margin:0;display:flex;flex-wrap:wrap;gap:10px 28px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{display:flex;flex-direction:column;gap:2px}
.facts dt{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;font-weight:600;font-size:16px}
.pnote{margin:0;color:var(--ink2)}
.pcontact .btn{flex:1 1 220px}
.phelp{margin:0;font-size:14px;color:var(--muted)}
.adminlink{margin:0;font-size:14px}

/* Bộ ảnh sản phẩm */
.gallery.even{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.gallery.even .gcell{aspect-ratio:3/4;background:var(--frame);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:block}
.gallery.even .gcell img{width:100%;height:100%;object-fit:contain}
.gallery.free{columns:3 260px;column-gap:14px}
.gallery.free .gcell{display:block;break-inside:avoid;margin:0 0 14px;border-radius:4px;overflow:hidden;background:var(--frame)}
.gallery.free .gcell img{width:100%;height:auto}
.gallery .gcell{cursor:zoom-in;position:relative}
.gallery .gcell img{transition:transform .35s}
.gallery .gcell:hover img{transform:scale(1.02)}
.gallery .gcell[hidden]{display:none}
@media (max-width:560px){
  .gallery.even{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery.free{columns:2;column-gap:10px}
  .gallery.free .gcell{margin-bottom:10px}
}
.mainview{display:flex;flex-direction:column;gap:12px}
.mainimg{position:relative;display:flex;align-items:center;justify-content:center;background:var(--frame);border:1px solid var(--line);border-radius:4px;overflow:hidden;cursor:zoom-in;min-height:320px}
.mainimg img{width:100%;max-height:78vh;object-fit:contain}
.thumbs{display:flex;flex-wrap:wrap;gap:8px}
.thumbs button{width:76px;height:96px;padding:0;border:1.5px solid var(--line);border-radius:4px;background:var(--frame);cursor:pointer;overflow:hidden}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.thumbs button.on{border-color:var(--accent);box-shadow:0 0 0 2px rgba(142,43,31,.25)}
.pager button{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #D8C6A8;color:var(--ink);padding:0 12px;background:#fff;font:inherit;cursor:pointer}
.pager button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.gpager{padding-top:22px}
.pbody{margin-top:0}
.product .cta{margin-top:0}
.product .catbody{max-width:none}
.related{padding-top:24px}

/* Mã riêng từng ảnh */
.gcode{position:absolute;left:8px;bottom:8px;z-index:1;background:rgba(43,29,20,.78);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.02em;padding:3px 9px;border-radius:999px;pointer-events:none}
.mainimg{position:relative}
.mainimg .gcode{left:12px;bottom:12px;font-size:13.5px}
/* Máy tính: logo đã dẫn về trang chủ nên ẩn mục "Trang chủ" cho menu gọn một hàng */
@media (min-width:1061px){.mainnav > a.navhome{display:none}}

/* Số sản phẩm cạnh tên danh mục */
.cnt{font-size:.82em;font-weight:400;color:var(--muted);margin-left:2px}
.chip .cnt{font-size:.8em}

/* ================= Trang chi tiết sản phẩm: menu trái + mẫu đã xem (2.6) ================= */
.prodlayout{padding-bottom:40px}
.prodlayout .product{padding-top:0}
.prodlayout .related{padding-top:8px}
.prodlayout .related .pgrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px 18px}
.side-recent{margin-top:28px}
.recentlist{display:flex;flex-direction:column;gap:4px}
.rcard{display:flex;gap:12px;align-items:center;padding:6px;border-radius:6px;text-decoration:none;color:var(--ink)}
.rcard:hover{background:#F6EEE1}
.rcard img,.rcard .rph{flex:0 0 52px;width:52px;height:64px;object-fit:cover;border-radius:4px;background:var(--frame);border:1px solid var(--line)}
.rcard span{font-size:14px;line-height:1.35}
.rcard:hover span{color:var(--accent)}
@media (max-width:900px){.side-recent{margin-top:16px}.recentlist{flex-direction:row;overflow-x:auto;gap:10px;padding-bottom:4px}.recentlist .rcard{flex:0 0 120px;flex-direction:column;align-items:flex-start}.recentlist .rcard img{width:120px;height:150px;flex-basis:auto}}
@media (max-width:760px){.prodlayout .catside{order:3}}

/* ================= Dải tiêu đề trang (breadcrumb) ================= */
.pageband{position:relative;overflow:hidden;background:linear-gradient(115deg,#2B1D14 0%,#3E2819 55%,#5A3520 100%);color:#F3E9D7;border-bottom:3px solid #A67C2E}
.pageband::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,rgba(212,176,106,.18),transparent 55%);pointer-events:none}
.band-lotus{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:200px;height:200px;color:#D4B06A;opacity:.22;pointer-events:none}
.pageband-in{position:relative;padding-top:22px;padding-bottom:26px;display:flex;flex-direction:column;gap:10px}
.crumbs2 ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:14px}
.crumbs2 li{display:flex;align-items:center;gap:6px}
.crumbs2 a{display:inline-flex;align-items:center;gap:6px;color:#E2D3BA;text-decoration:none;padding:3px 0}
.crumbs2 a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.crumbs2 .sep{color:#A67C2E}
.crumbs2 [aria-current]{color:#D4B06A;font-weight:600}
.pageband h1{color:#FAF6EE;font-size:clamp(28px,4vw,44px);line-height:1.15;margin:4px 0 0;max-width:900px}
.bandsub{margin:0;color:#D9C9AE;font-size:15px}
@media (max-width:760px){
  .band-lotus{width:130px;height:130px;right:-20px;opacity:.16}
  .pageband-in{padding-top:16px;padding-bottom:20px}
  .crumbs2 ol{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .crumbs2 ol::-webkit-scrollbar{display:none}
}
.pageband + .wrap{padding-top:28px}
.catintro{padding-top:24px}
.catintro + .catlayout{padding-top:20px}
.pageband + .wrap.catlayout{padding-top:28px}
.pageband + .article{padding-top:28px}

/* Hiệu ứng xem ảnh phóng to */
.lb{transition:background-color .32s ease}
.lb.opening,.lb.closing{background-color:rgba(20,13,8,0)}
.lb .lb-top,.lb .lb-info,.lb .lb-prev,.lb .lb-next{transition:opacity .3s ease}
.lb.opening .lb-top,.lb.opening .lb-info,.lb.opening .lb-prev,.lb.opening .lb-next,
.lb.closing .lb-top,.lb.closing .lb-info,.lb.closing .lb-prev,.lb.closing .lb-next{opacity:0}
.lb-stage{overflow:hidden}
.lb-img{cursor:zoom-in;will-change:transform;width:auto;height:auto}
.lb.zoomed .lb-img{cursor:zoom-out}
.lb.zoomed .lb-prev,.lb.zoomed .lb-next{opacity:0;pointer-events:none}
.lb-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-size:12.5px;color:#BFAE90;pointer-events:none;transition:opacity .4s}
.lb.zoomed .lb-hint{opacity:0}
@media (prefers-reduced-motion: reduce){.lb,.lb *{transition:none!important}}

/* Bản đồ cửa hàng */
.mapbox{display:flex;flex-direction:column;gap:8px}
.maplink{font-size:14px;color:var(--accent);text-decoration:none;align-self:flex-end}
.maplink:hover{text-decoration:underline}
.contactinfo .btn svg{margin-right:2px}
.footmap{border-radius:8px;overflow:hidden;border:1px solid rgba(226,211,186,.25);background:#2B1D14;aspect-ratio:4/3}
.footmap iframe{display:block;width:100%;height:100%;border:0;filter:sepia(.25) saturate(.9)}
.foot-col .footdir{display:inline-flex;align-items:center;gap:6px;color:#D4B06A;font-weight:600;margin-top:2px}
.foot-col .footdir:hover{color:#fff}
.mapbox iframe{background:var(--frame)}
.lb-zoom{display:flex;align-items:center;gap:8px}
.lb-zoom .lb-btn{width:40px;height:40px;font-size:22px;line-height:1}
.lb-zlevel{min-width:46px;text-align:center;font-size:13px;color:#D9C8AC;font-variant-numeric:tabular-nums}
.lb-img{touch-action:none}
.lb.zoomed .lb-img{cursor:grab}
.lb.panning .lb-img{cursor:grabbing}
@media (max-width:760px){.lb-zoom .lb-btn{width:36px;height:36px}.lb-hint{font-size:11.5px;width:90%;text-align:center}}

/* Xem ảnh trên điện thoại: nút thành biểu tượng nhỏ ở 2 góc, ảnh to hơn */
.lb-acts .ico-zalo{flex:0 0 auto}
@media (max-width:760px){
  .lb-top{padding:6px 10px}
  .lb-stage{padding:0}
  .lb-img{max-width:100%;max-height:100%}
  .lb-info{position:relative;padding:8px 72px calc(12px + env(safe-area-inset-bottom));gap:1px;min-height:68px;justify-content:center}
  .lb-name{font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .lb-code{font-size:12px}
  .lb-meta,.lb-note{font-size:12px}
  .lb-note{display:none}
  .lb-acts{position:absolute;left:0;right:0;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;max-width:none;padding:0 12px;display:flex;justify-content:space-between;pointer-events:none}
  .lb-acts a{pointer-events:auto;flex:0 0 52px;width:52px;height:52px;min-height:0;padding:0;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.35)}
  .lb-acts .lbl{display:none}
  .lb-acts svg{width:22px;height:22px}
  .lb-hint{bottom:4px}
}

.lb-acts{max-width:600px}
.lb-hint{background:rgba(20,13,8,.72);padding:5px 12px;border-radius:999px;white-space:nowrap;transition:opacity .5s}
.lb.hint-off .lb-hint{opacity:0}
@media (max-width:760px){.lb-hint{white-space:normal;width:auto;max-width:86%;bottom:10px}}
.hint-mb{display:none}
@media (hover:none),(max-width:760px){.hint-pc{display:none}.hint-mb{display:inline}}

/* Danh mục lớn: lưới danh mục con */
.catgrid .pname{margin-bottom:2px}
.catcount{font-size:13.5px;color:var(--muted)}
.catcard .pimg{position:relative}
.listbar .more{margin-left:auto;font-size:14.5px;color:var(--accent);font-weight:600;text-decoration:none}
.listbar{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.directlist{margin-top:44px}
.directlist .sec-title{margin-bottom:18px}
.seeall{margin:32px 0 0;text-align:center}
/* Mẫu đã xem: điện thoại hiện cuối nội dung, máy tính hiện ở menu trái */
.recent-mobile{display:none}
@media (max-width:760px){
  .side-recent{display:none!important}
  .recent-mobile:not([hidden]){display:block;margin-top:36px}
}
/* Nút Zalo trong khung xem ảnh: chữ Zalo trên điện thoại */
.zalo-word{display:none}
@media (max-width:760px){
  .lb-acts .lb-zalo .ico-zalo{display:none}
  .lb-acts .lb-zalo .zalo-word{display:inline;font-size:14px;font-weight:700;letter-spacing:.02em}
}

/* ================= Mẫu yêu thích ================= */
.gcell .gopen{display:block;height:100%;color:inherit;text-decoration:none}
.gallery.free .gcell .gopen{height:auto}
.favbtn{position:absolute;top:8px;right:8px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 10px rgba(43,29,20,.18);transition:transform .15s}
.favbtn:hover{transform:scale(1.08)}
.favbtn.on svg path,.lb-fav.on svg path,.tick.fav svg path{fill:currentColor}
.favbtn.on{color:#C0392B}
.mainview{position:relative}
.favmain{top:12px;right:12px;width:42px;height:42px}
.favlink{position:relative;text-decoration:none}
.favbadge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.favbadge[hidden]{display:none}
.lb-left{display:flex;align-items:center;gap:12px}
.lb-fav.on{color:#F07C6E;border-color:#F07C6E}
.toast .tick.fav{background:var(--accent);color:#fff}
.toast a.thelp{color:var(--accent);font-weight:600;text-decoration:none;display:block;margin-top:2px}
.favwrap{padding-top:28px;padding-bottom:64px}
.favnote{color:var(--ink2);margin:0 0 20px}
.favbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:var(--ink2)}
.favgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:22px 18px}
.favcard{position:relative;display:flex;flex-direction:column;gap:6px;color:var(--ink);text-decoration:none}
.favcard > a{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none}
.favimg{display:block;aspect-ratio:3/4;background:var(--frame);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.favimg img{width:100%;height:100%;object-fit:cover}
.favcode{font-size:13px;font-weight:600;color:var(--gold-text);letter-spacing:.03em}
.favname{font-family:var(--serif);font-size:16px;line-height:1.3}
.favcard.missing{opacity:.55}
.favdel{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:14px}
.favdel:hover{background:var(--accent);color:#fff}
.favsend{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:20px 22px}
.favsend p{margin:6px 0 0;color:var(--ink2)}
.favsend .btn{flex:0 0 auto}
.favacts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.favempty{max-width:520px;margin:20px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink2)}
.favempty svg{color:var(--gold-text)}
@media (max-width:760px){.favgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.favsend .btn{width:100%}}
@media (max-width:420px){
  .head-acts{gap:6px}
  .head-acts .iconbtn,.head-acts .callbtn{width:40px;height:40px}
  .logo-name{font-size:20px}
  .logo-mark{width:36px;height:36px}
}
[hidden]{display:none!important}
.favbar .linkbtn{border:0;background:none;color:var(--accent);font:inherit;font-size:14.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0}

/* ---------- Messenger (2.19) ---------- */
:root{--mess:#7B3FE4}
.btn.mess{background:linear-gradient(135deg,#0A7CFF,#A033FF 60%,#FF5C87);border-color:transparent;color:#fff}
.btn.mess:hover{filter:brightness(1.07);color:#fff}
.fmess{background:linear-gradient(135deg,#0A7CFF,#A033FF 60%,#FF5C87)}
.fmess:hover{color:#fff;filter:brightness(1.08)}
.lb-acts .lb-mess svg{flex:0 0 auto}
@media (max-width:760px){
  .lb-acts{justify-content:flex-start;gap:10px}
  .lb-acts .lb-call{margin-left:auto}
}

/* ---------- Bộ ảnh gửi khách /bo/… (2.19) ---------- */
.albumwrap{padding-bottom:120px}
.albumnote .hearti svg{width:16px;height:16px;vertical-align:-3px;color:var(--accent)}
.albumbar{position:sticky;bottom:12px;z-index:30;margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:0 8px 28px rgba(43,29,20,.16)}
.albumbar.has{border-color:var(--accent)}
.ab-text{font-size:15px}
.ab-text strong{color:var(--accent)}
.ab-btns{display:flex;gap:8px;flex-wrap:wrap}
.ab-btns .btn{min-height:46px}
body:has(.albumbar) .floatbtns{display:none}
@media (max-width:560px){.albumbar{bottom:8px;padding:10px}.ab-btns{width:100%}.ab-btns .btn{flex:1 1 0;padding:0 10px;font-size:14px}}
.ab-btns .ab-alt{font-size:14px;align-self:center;padding:4px 6px}
.albumbar.ch-mess .ab-btns,.albumbar.ch-zalo .ab-btns{align-items:center}
@media (max-width:560px){.albumbar.ch-mess .ab-btns .btn,.albumbar.ch-zalo .ab-btns .btn{flex:1 1 100%}.albumbar .ab-alt{flex:1 1 100%;text-align:center}}

/* ---------- Gửi ảnh cho khách ngay trên web (2.28) ---------- */
.lb-share{margin-left:2px}
.trayadd{position:absolute;left:8px;bottom:8px;z-index:3;border:0;border-radius:999px;padding:6px 10px;font:inherit;font-size:12px;font-weight:700;background:rgba(255,255,255,.94);color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer}
.trayadd.on{background:var(--accent);color:#fff}
.gcell:has(.trayadd) .gcode{bottom:44px}
.traybar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;background:#2B1D14;color:#fff;font:inherit;font-size:15px;box-shadow:0 8px 24px rgba(0,0,0,.3);cursor:pointer;white-space:nowrap}
.traybar[hidden]{display:none}
.traybar b{color:#F0C987}
.tray-imgs{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))!important}
.tray-it{position:relative;border:0;padding:0;background:none;cursor:pointer;border-radius:8px;overflow:hidden}
.tray-it img{aspect-ratio:3/4;object-fit:cover}
.tray-it span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:700;padding:3px}
.tray-title{width:100%;min-height:46px;border:1px solid #D6C4A6;border-radius:10px;padding:0 12px;font:inherit;font-size:16px}
.ab-photos{font-size:14px;padding:4px 0}
body:has(.traybar:not([hidden])) .floatbtns{bottom:84px}
