.catalog-hero{padding:78px 0 42px;background:linear-gradient(135deg,#f5eee4,#e7f2ef);border-bottom:1px solid var(--nb-line)}
.catalog-hero h1{max-width:900px;margin:12px 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.7vw,72px);line-height:1.02;letter-spacing:-.035em}
.catalog-tools{position:sticky;top:130px;z-index:30;background:rgba(255,253,249,.97);backdrop-filter:blur(15px);border-bottom:1px solid var(--nb-line);padding:14px 0}
.catalog-tool-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.42fr) auto;gap:12px;align-items:center}
.catalog-input,.catalog-select{width:100%;padding:14px 16px;border:1px solid #cfded9;border-radius:14px;background:#fff;color:#17364a;outline:none}
.catalog-input:focus,.catalog-select:focus{border-color:var(--nb-teal);box-shadow:0 0 0 3px rgba(46,124,115,.1)}
.catalog-count{font-weight:900;color:#0b675c;white-space:nowrap}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:38px 0 20px;align-items:stretch}
.catalog-card{background:#fff;border:1px solid #dce7e3;border-radius:24px;overflow:hidden;box-shadow:0 14px 36px rgba(31,79,70,.08);display:flex;flex-direction:column;min-height:100%;transition:.25s}
.catalog-card:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(31,79,70,.14)}
.catalog-card-media{height:360px;background:linear-gradient(180deg,#fbfaf7,#f0f6f3);overflow:hidden}
.catalog-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.catalog-card-body{padding:22px 23px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.catalog-code{font-size:12px;letter-spacing:.1em;font-weight:900;color:#0b7668}
.catalog-card h3{font-size:23px;line-height:1.2;margin:0;color:var(--nb-ink)}
.catalog-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 11px}
.catalog-card-meta span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:var(--nb-mint);color:var(--nb-teal)}
.catalog-card .btn{margin-top:auto;align-self:flex-start}
.catalog-empty{padding:70px 20px;text-align:center;color:#63767b;display:none}
.catalog-load{display:flex;justify-content:center;padding:24px 0 72px}
.catalog-modal{position:fixed;inset:0;background:rgba(8,26,35,.74);display:none;align-items:center;justify-content:center;z-index:1000;padding:24px}
.catalog-modal.open{display:flex}
.catalog-modal-box{position:relative;background:#fff;border-radius:28px;max-width:1160px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:1.08fr .92fr;box-shadow:0 36px 110px rgba(0,0,0,.33)}
.catalog-modal-media{background:linear-gradient(180deg,#f8f6f1,#edf5f2);padding:26px;display:grid;grid-template-rows:minmax(420px,1fr) auto;gap:16px}
.catalog-modal-main{position:relative;background:#fff;border:1px solid #e2e7e4;border-radius:22px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:500px}
.catalog-modal-main img{width:100%;height:100%;max-height:610px;object-fit:cover}
.catalog-modal-main>span{position:absolute;left:16px;bottom:14px;background:rgba(12,37,48,.78);color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.catalog-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.catalog-thumbs button{appearance:none;border:1px solid #d8e5e1;border-radius:16px;background:#fff;padding:8px;display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;text-align:left;cursor:pointer;color:var(--nb-ink)}
.catalog-thumbs button.active{border-color:var(--nb-teal);box-shadow:0 0 0 3px rgba(46,124,115,.1)}
.catalog-thumbs img{width:70px;height:58px;object-fit:cover;border-radius:10px}
.catalog-thumbs span{font-size:11px;font-weight:900}
.catalog-modal-copy{padding:46px 42px 40px;display:flex;flex-direction:column}
.catalog-modal-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1.08;margin:10px 0 8px}
.catalog-close{position:absolute;right:16px;top:14px;border:0;background:#edf5f2;border-radius:50%;width:44px;height:44px;font-size:24px;cursor:pointer;z-index:3}
.catalog-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}
.catalog-pill{padding:7px 10px;border-radius:999px;background:#e8f6f1;color:#0b675c;font-size:12px;font-weight:900}
.catalog-modal-copy>p{color:var(--nb-muted);font-size:15px}
.catalog-detail-grid{display:grid;gap:12px;margin:18px 0}
.catalog-detail-grid>div{border:1px solid var(--nb-line);border-radius:16px;padding:15px 16px;background:#fbfcfb}
.catalog-detail-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--nb-teal);font-weight:900;margin-bottom:5px}
.catalog-detail-grid strong{display:block;font-size:13px;line-height:1.5}
.catalog-notice{margin-top:8px;padding:14px 15px;background:#fff7e8;border-radius:13px;font-size:12px;color:#69573b}
.catalog-modal-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.category-strip{display:flex;gap:9px;overflow:auto;padding:14px 0 2px;scrollbar-width:thin}
.category-chip{border:1px solid #cfe0db;background:#fff;border-radius:999px;padding:10px 14px;white-space:nowrap;font-weight:800;color:#234b54;cursor:pointer}
.category-chip.active{background:#167c6d;color:#fff;border-color:#167c6d}
.furniture-note{font-size:12px;color:var(--nb-muted);text-align:center;max-width:900px;margin:0 auto 70px}
html[lang="vi"] .catalog-hero h1,html[lang="vi"] .catalog-modal-copy h2{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-feature-settings:"liga" 0,"clig" 0;font-weight:760;letter-spacing:-.02em}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-card-media{height:340px}}
@media(max-width:860px){.catalog-tools{top:130px}.catalog-modal-box{grid-template-columns:1fr}.catalog-modal-media{grid-template-rows:minmax(340px,1fr) auto}.catalog-modal-copy{padding:30px}.catalog-modal-main{min-height:380px}}
@media(max-width:620px){.catalog-tool-row{grid-template-columns:1fr}.catalog-tools{top:130px}.catalog-grid{grid-template-columns:1fr;gap:16px}.catalog-card{display:grid;grid-template-columns:45% 55%}.catalog-card-media{height:auto;min-height:210px}.catalog-card-body{padding:17px}.catalog-card h3{font-size:19px}.catalog-thumbs{grid-template-columns:1fr}.catalog-modal{padding:10px}.catalog-modal-media{padding:16px}.catalog-modal-main{min-height:300px}.catalog-modal-copy h2{font-size:29px}}
.catalog-modal-main img.is-product{object-fit:contain;background:#fff}
.catalog-modal-main img.is-room{object-fit:cover}
