*{box-sizing:border-box}body{margin:0;background:#faf7f0;color:#33271f;font:17px/1.75 system-ui,sans-serif}a{color:#794735;text-underline-offset:4px}header{padding:20px max(5vw,18px);border-bottom:1px solid #d7c5a5;background:#fffdf7}header strong{font:600 28px Georgia,serif}main{max-width:1160px;margin:auto;padding:35px 22px 120px}h1{font:500 clamp(30px,4vw,48px)/1.2 Georgia,serif;margin:18px 0}h2{font:500 27px/1.35 Georgia,serif;margin-top:38px}h3{font-size:19px}p{margin:16px 0}.eyebrow{font-size:13px;letter-spacing:1px;color:#795c36}.hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.photo{margin:0;background:#eee6d9;border:1px solid #dacdb7;border-radius:16px;overflow:hidden}.photo img{display:block;width:100%;height:500px;object-fit:contain}.photo figcaption{padding:12px 16px;font-size:13px;color:#675748}article{max-width:780px;margin:45px auto}table{width:100%;border-collapse:collapse;font-size:15px}td,th{padding:12px;text-align:left;border-bottom:1px solid #ddcfbb;vertical-align:top;overflow-wrap:anywhere}th{width:32%}.cta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.button,button{display:inline-block;border:1px solid #79503c;border-radius:8px;padding:12px 18px;background:#754632;color:white;text-decoration:none;font:inherit;cursor:pointer}.secondary{background:transparent;color:#754632}.callout{background:#efe6d8;border-radius:12px;padding:24px;margin:25px 0}.contact{border-top:1px solid #cbb692;margin-top:32px;padding-top:18px}.sticky{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:12px;background:#fffaf1f5;padding:10px 16px;border-top:1px solid #d7c5a5;z-index:3}.sticky a{font-size:15px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border:1px solid #dccbb0;border-radius:12px;background:#fffdf9;overflow:hidden}.card img{width:100%;height:280px;object-fit:contain;background:#ede6db}.card .inner{padding:18px}.card h2{font:500 22px/1.4 Georgia,serif;margin:8px 0}.card small{font-size:12px}input,select,textarea{width:100%;padding:12px;border:1px solid #beac8e;background:white;border-radius:6px;font:inherit}textarea{min-height:95px}.filters{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin:25px 0}.review{margin:28px 0;padding:22px;border:1px dashed #97764f;border-radius:10px}.review label{display:block;margin:14px 0 5px}.status{font-size:14px;color:#4e603c}.hint{color:#705e50;font-size:14px}nav{margin:12px 0}.related{display:flex;flex-wrap:wrap;gap:14px}footer{padding:20px;text-align:center}.card[hidden]{display:none}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:20px}.photo img{height:400px}main{padding:22px 18px 110px}.grid{grid-template-columns:1fr 1fr;gap:12px}.card img{height:210px}.card h2{font-size:19px}.card .inner{padding:12px}.filters{grid-template-columns:1fr}.button,button{font-size:15px;padding:11px 14px}}@media(max-width:390px){.grid{grid-template-columns:1fr}.photo img{height:340px}}
.integration-nav{display:flex;gap:14px;flex-wrap:wrap;font:15px/1.6 system-ui,sans-serif;margin:14px 0}.integration-nav a{padding:5px 0}.empty-photo{height:280px;display:grid;place-content:center;text-align:center;background:#eee6da;padding:25px;color:#755641}.hero .empty-photo{height:420px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.chips a{padding:8px 12px;border:1px solid #d3c1a0;border-radius:8px;text-decoration:none}.pager{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:28px 0}.pager a{padding:8px 15px;border:1px solid #cbb692;border-radius:8px}button:focus-visible,a:focus-visible{outline:3px solid #a87b26;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.integration-home{max-width:1160px;margin:45px auto;padding:25px}.integration-home .integration-nav{gap:20px}.gallery-links{display:flex;gap:12px;flex-wrap:wrap}.gallery-links img{width:100px;height:100px;object-fit:contain}.note{font-size:14px;color:#715c48}.integration-teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.integration-teasers img{width:100%;height:220px;object-fit:contain}.integration-teasers a{color:inherit}.integration-teasers>div{border:1px solid #d3c1a0;padding:18px;background:#faf7f0}@media(max-width:700px){.integration-teasers{grid-template-columns:1fr}.integration-nav{gap:12px}.empty-photo{height:210px}.hero .empty-photo{height:340px}}
/* Tâm Linh Việt V83 — photograph presentation. Original pixel files are retained. */
body[data-tlv83] { --photo-paper:#f3eee6; --photo-line:#ded2bf; --photo-radius:12px; }
body[data-tlv83] img[data-tlv83-photo] {
  display:block; max-width:100%; object-fit:contain!important; object-position:center!important;
  transform:none!important; filter:none!important;
}
/* Product and category cards: one frame, a complete object, restrained background. */
body[data-tlv83] :is(.v31-card-image,.photo28-picture,.e53-image) {
  display:flex!important; align-items:center; justify-content:center; overflow:hidden;
  border-radius:var(--photo-radius); background:var(--photo-paper); border:1px solid var(--photo-line);
  box-sizing:border-box; padding:8px!important; position:relative;
}
body[data-tlv83] :is(.v31-card-image,.photo28-picture) { aspect-ratio:4/5!important; height:auto!important; }
body[data-tlv83] .e53-image { aspect-ratio:3/2!important; height:auto!important; }
body[data-tlv83] :is(.v31-card-image,.photo28-picture,.e53-image) > img {
  width:100%!important; height:100%!important; max-height:100%!important; aspect-ratio:auto!important;
  padding:0!important; margin:0!important; border:0!important; border-radius:7px;
}
body[data-tlv83] .v31-card-image > span { bottom:14px;left:14px;border-radius:4px; }
body[data-tlv83] :is(.photo28-card,.e53-card,.v35-idea-card) {
  overflow:hidden; border:1px solid var(--photo-line); border-radius:var(--photo-radius);
  background:#fffcf6; box-shadow:0 5px 18px #4c332009;
}
body[data-tlv83] .photo28-card .photo28-picture,
body[data-tlv83] .e53-card .e53-image { border-width:0 0 1px;border-radius:0; }
body[data-tlv83] .v31-need { min-width:0; }
body[data-tlv83] .v31-need > img {
  width:100%!important; height:auto!important; aspect-ratio:4/5!important;
  background:var(--photo-paper); padding:8px!important; box-sizing:border-box;
  border:1px solid var(--photo-line);border-radius:var(--photo-radius);
}
body[data-tlv83] :is(.grid,.integration-teasers) .card > a:first-child {
  display:block; aspect-ratio:4/5; padding:10px; background:var(--photo-paper);
  border-bottom:1px solid var(--photo-line);box-sizing:border-box;
}
body[data-tlv83] :is(.grid,.integration-teasers) .card > a:first-child > img {
  width:100%!important;height:100%!important;aspect-ratio:auto!important;padding:0!important;
  background:transparent!important;
}
body[data-tlv83] :is(.grid,.integration-teasers) .card { border-radius:var(--photo-radius);overflow:hidden; }
/* Long-form articles retain the actual camera frame; tall images no longer overwhelm the reading column. */
body[data-tlv83] :is(.tlv-reading,.tlv-article-body,.photo28-reading,article[class*="tlv"],.article-body) figure {
  border:1px solid var(--photo-line)!important; border-radius:var(--photo-radius)!important;
  background:var(--photo-paper)!important;overflow:hidden;
}
body[data-tlv83] :is(.tlv-reading,.tlv-article-body,.photo28-reading,article[class*="tlv"],.article-body) figure img[data-tlv83-photo] {
  width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;
  margin:0 auto!important;
}
body[data-tlv83] :is(.tlv-reading,.tlv-article-body,.photo28-reading,article[class*="tlv"],.article-body) figure img[data-tlv83-orientation="portrait"] {
  max-width:min(100%,600px)!important;
}
body[data-tlv83] :is(.tlv-reading,.tlv-article-body,.photo28-reading,article[class*="tlv"],.article-body) figure > :is(a,button) {
  display:block;width:100%;background:transparent;
}
body[data-tlv83] :is(.tlv-reading,.tlv-article-body,.photo28-reading,article[class*="tlv"],.article-body) figcaption {
  padding:14px 18px!important;margin:0!important;background:#fffcf7;color:#645747;
  font-size:14px;line-height:1.65;border-top:1px solid var(--photo-line);
}
body[data-tlv83] .tlv83-original {
  display:inline-flex!important;width:auto!important;min-height:44px;align-items:center;
  padding:2px 0;margin-top:8px;font-weight:600;color:#754638;text-decoration:underline;
  text-underline-offset:4px;
}
body[data-tlv83] .tlv83-original:focus-visible {outline:3px solid #754638;outline-offset:4px;}
body[data-tlv83] .v31-gallery-main {
  background:var(--photo-paper)!important;border:1px solid var(--photo-line);border-radius:var(--photo-radius);
  overflow:hidden;padding:10px!important;box-sizing:border-box;
}
body[data-tlv83] .v31-gallery-main > img {
  width:100%!important;height:auto!important;max-height:80vh!important;aspect-ratio:auto!important;
}
body[data-tlv83] .v31-thumb {border-radius:6px;overflow:hidden;background:var(--photo-paper);}
body[data-tlv83] .v31-thumb img {width:100%;height:100%;object-fit:contain!important;}
body[data-tlv83] :is(.s29-hero-frame,.v38-store-photo) {overflow:hidden;}
body[data-tlv83] :is(.s29-hero-frame,.v38-store-photo) img {width:100%!important;height:auto!important;aspect-ratio:auto!important;}
body[data-tlv83] :is(.v46-curated-card,.v35-idea-card) img {
  width:100%!important;aspect-ratio:4/5!important;height:auto!important;object-fit:contain!important;
  background:var(--photo-paper)!important;padding:8px;box-sizing:border-box;border-radius:8px;
}
@media(max-width:600px){
  body[data-tlv83] :is(.photo28-grid,.v35-idea-grid) {grid-template-columns:1fr!important;gap:24px!important;}
  body[data-tlv83] .photo28-picture {aspect-ratio:1/1!important;}
  body[data-tlv83] .v31-card-image {padding:6px!important;}
  body[data-tlv83] .v31-card-image > span {left:10px;bottom:10px;}
  body[data-tlv83] .e53-image {padding:6px!important;}
  body[data-tlv83] :is(.photo28-reading,.tlv-reading) figcaption {padding:12px 14px!important;}
}
@media(prefers-reduced-motion:reduce){body[data-tlv83] img[data-tlv83-photo]{transition:none!important;animation:none!important;}}

/* Tâm Linh Việt — mobile catalogue */
body[data-tlv84] {--photo-paper:#f5efe6;--photo-line:#e4d8c8;--photo-radius:14px;}
body[data-tlv84] :is(.v31-card-image,.e53-image,.photo28-picture){padding:0!important;border:0;}
body[data-tlv84] .v31-need>img{padding:0!important;border:0!important;}
body[data-tlv84] :is(.v31-card,.e53-card,.photo28-card){border:1px solid #e4d8c8;border-radius:14px;overflow:hidden;background:#fffaf2;}
body[data-tlv84] .v31-card-image img{border-radius:0!important;}
body[data-tlv84] .v31-card-copy{padding:18px!important;}
body[data-tlv84] .v31-card h3{font-size:clamp(22px,2.4vw,28px);line-height:1.3;}
body[data-tlv84] :is(figcaption,.v38-photo-caption){font-size:13px!important;line-height:1.6!important;}
body[data-tlv84] .v31-gallery-main{padding:0!important;}
body[data-tlv84] .v31-gallery-main>img{max-height:72svh!important;}
body[data-tlv84] :is(.v31-card-image,.v31-need):focus-visible{outline:3px solid #754638;outline-offset:4px;}
@media(max-width:600px){
 body[data-tlv84] .v31-grid{grid-template-columns:1fr!important;gap:24px!important;}
 body[data-tlv84] .v31-card-image{aspect-ratio:4/5!important;}
 body[data-tlv84] .v31-need-grid{gap:14px!important;}
 body[data-tlv84] .v31-need h3{font-size:20px!important;line-height:1.3!important;margin:14px 0 8px!important;}
 body[data-tlv84] .v31-need{gap:0!important;}
 body[data-tlv84] .v31-need>span{margin-top:10px!important;}
 body[data-tlv84] .e53-card h3{font-size:28px!important;line-height:1.25!important;}
 body[data-tlv84] :is(.photo28-reading,.tlv-reading,.tlv-article-body) figure{margin-left:0!important;margin-right:0!important;}
 body[data-tlv84] figcaption{padding:10px 14px!important;}
 body[data-tlv84] :is(.v31-card-copy,.e53-body) a{min-height:44px;}
}


body[data-tlv85]{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body[data-tlv85] [hidden]{display:none!important}
body[data-tlv85] img{max-width:100%;}
body[data-tlv85] :is(input,textarea,select){font-size:16px;max-width:100%;}
body[data-tlv85] :is(button,.button){min-height:44px;}
body[data-tlv85] :is(a,button,input,select,textarea):focus-visible{outline:3px solid #936136;outline-offset:3px;}
body[data-tlv85] :is(h1,h2,h3){overflow-wrap:break-word;}
body[data-tlv85] :is(h2,h3,[id]){scroll-margin-top:90px;}
body[data-tlv85] :is(.v31-card-image,.v31-gallery-main) img{object-fit:contain!important;object-position:center!important;}
body[data-tlv85] .v85-mobile-contact{display:none;}
body[data-tlv85] .v85-more{display:block;margin:28px auto;padding:12px 28px;border:1px solid #c8af8c;border-radius:8px;background:#754638;color:#fffaf2;font:inherit;cursor:pointer;}
body[data-tlv85] #search-status{min-height:1.6em;}
body[data-tlv85] .empty-photo{border-radius:12px;}
@media(max-width:600px){
 body[data-tlv85] :is(.v31-grid,.photo28-grid){grid-template-columns:1fr!important;gap:24px!important;}
 body[data-tlv85] :is(.grid,.integration-teasers){gap:16px;}
 body[data-tlv85] .v31-card h3{font-size:25px!important;line-height:1.3!important;}
 body[data-tlv85] :is(.article-body,.tlv-article-body,.tlv-reading,.photo28-reading){font-size:17px;line-height:1.85;}
 body[data-tlv85] .s29-mobilebar,body[data-tlv85] .sticky{padding-bottom:max(10px,env(safe-area-inset-bottom));}
 body[data-v85-contact]{padding-bottom:100px!important;}
 body[data-tlv85] .v85-mobile-contact{display:flex;gap:12px;align-items:center;position:fixed;bottom:0;left:0;right:0;z-index:80;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid #dbcbb6;background:#fffaf2;box-shadow:0 -3px 18px #3c2b1210;}
 body[data-tlv85] .v85-mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:46px;text-decoration:none;border-radius:6px;font-size:16px;}
 body[data-tlv85] .v85-mobile-contact .v85-call{flex:1;color:#754638;border:1px solid #c4ae90;}
 body[data-tlv85] .v85-mobile-contact .v85-zalo{flex:2;color:white;background:#0866ce;font-weight:650;}
 body[data-tlv85] .e53-copy{padding:22px!important;}
 body[data-tlv85] .e53-copy h3{font-size:28px!important;}
}
@media(prefers-reduced-motion:reduce){body[data-tlv85]{scroll-behavior:auto!important;}}
