/* Independent material asset library. No furniture card/search/cart selectors. */
.material-nav-entry { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 16px; height:36px; border:1px solid #547771; border-radius:6px; background:#42655f; color:#fffaf3; cursor:pointer; white-space:nowrap; }
.material-nav-entry:hover { background:#304f4a; }
.ml-shell { max-width:1280px; margin:auto; padding:30px 24px 84px; }
.ml-breadcrumb { display:flex; gap:12px; align-items:center; font-size:12px; color:#71817b; margin-bottom:28px; }
.ml-text-button { border:0; background:none; color:#43645e; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.ml-hero { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; margin-bottom:30px; }
.ml-eyebrow { color:#a56049; font-size:11px; font-weight:700; letter-spacing:3px; margin-bottom:12px; }
.ml-hero h1 { font-size:clamp(28px,3.1vw,42px); line-height:1.25; font-weight:600; color:#2d4541; margin:0 0 16px; }
.ml-hero p { color:#64756d; max-width:700px; line-height:1.9; }
.ml-hero-art { display:grid; grid-template-columns:repeat(3,58px); gap:8px; transform:rotate(-7deg); padding:12px; }
.ml-hero-art span { width:58px; height:100px; border-radius:32px 32px 8px 8px; box-shadow:0 8px 15px #29473f14; }
.ml-hero-art span:nth-child(1) { background:repeating-linear-gradient(94deg,#c5a987 0 2px,#d5bda1 3px 6px); }
.ml-hero-art span:nth-child(2) { background:#b2bdb2; transform:translateY(-16px); }
.ml-hero-art span:nth-child(3) { background:linear-gradient(120deg,#e1d7c7,#f2e9dc 45%,#c9c5b3 49%,#ede4d9 55%); }
.ml-notice { padding:12px 16px; border-left:3px solid #52776e; background:#edf3ef; color:#526a61; font-size:13px; margin-bottom:20px; border-radius:0 8px 8px 0; overflow-wrap:anywhere; }
.ml-notice[data-mode="demo"] { border-color:#b57823; background:#fff0ca; color:#765013; font-weight:600; }
.ml-controls { padding:20px; background:#fffaf3; border:1px solid #e4d8c9; border-radius:12px; margin-bottom:24px; }
.ml-search { display:flex; gap:10px; margin-bottom:18px; }
.ml-search input { flex:1; min-width:0; padding:11px 14px; border:1px solid #ded8cb; background:#fffefb; border-radius:7px; color:#2b413d; }
.ml-button { padding:10px 18px; border:1px solid #42655f; border-radius:7px; background:#42655f; color:white; cursor:pointer; font-size:13px; }
.ml-button.secondary { background:#fffaf3; border-color:#d5dcd3; color:#42655f; }
.ml-button:disabled { opacity:.5; cursor:not-allowed; }
.ml-filters { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.ml-filter-group { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.ml-filter-label { font-size:12px; color:#68786f; margin-right:8px; }
.ml-surface { border:1px solid transparent; border-radius:20px; background:transparent; color:#58695f; font-size:13px; padding:5px 13px; cursor:pointer; }
.ml-surface[aria-pressed="true"] { border-color:#648277; background:#e8eeE6; color:#33564a; }
.ml-filters select { border:1px solid #ded8cb; padding:6px 25px 6px 10px; border-radius:6px; background:#fffefb; color:#456258; font:inherit; font-size:13px; }
.ml-count { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 16px; color:#6c776c; font-size:12px; }
.ml-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ml-card { text-align:left; background:#fffaf3; border:1px solid #e1d8cc; border-radius:12px; overflow:hidden; box-shadow:0 4px 15px #283e3508; min-width:0; }
.ml-card-open { width:100%; padding:0; border:0; background:none; cursor:pointer; text-align:left; color:inherit; }
.ml-card-open:hover .ml-card-image img { transform:scale(1.025); }
.ml-card-open:focus-visible { outline:3px solid #b87255; outline-offset:-3px; }
.ml-card-image { aspect-ratio:1.65; position:relative; overflow:hidden; background:#eae7dd; display:grid; place-items:center; }
.ml-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.ml-image-status { color:#7c776b; padding:16px; text-align:center; font-size:12px; }
.ml-card-copy { padding:18px 20px; }
.ml-card-meta { color:#8d8170; display:flex; justify-content:space-between; gap:8px; font-size:11px; margin-bottom:9px; }
.ml-card h3 { font-size:17px; font-weight:600; color:#314b44; margin:0 0 9px; overflow-wrap:anywhere; }
.ml-card-surfaces { font-size:12px; color:#718175; margin-bottom:15px; }
.ml-card-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; padding-top:12px; border-top:1px solid #eee4d6; }
.ml-price strong { display:block; font-size:18px; color:#98583f; font-weight:600; }
.ml-price small { display:block; color:#8a8277; font-size:11px; margin-top:4px; }
.ml-card-arrow { color:#617c6c; font-size:18px; }
.ml-state { padding:54px 20px; border:1px dashed #cfd7c9; border-radius:12px; background:#f5f5ec; text-align:center; color:#5d7162; }
.ml-state h2 { font-size:20px; margin-bottom:10px; font-weight:500; }
.ml-state p { margin-bottom:18px; font-size:13px; overflow-wrap:anywhere; }
.ml-state small { display:block; margin-top:12px; color:#8d7866; }
.ml-pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:28px; flex-wrap:wrap; }
.ml-pagination span { font-size:13px; color:#607568; }
.ml-dialog { margin:auto; width:min(1020px,calc(100vw - 40px)); max-height:90dvh; border:1px solid #d8d0c1; padding:0; border-radius:16px; background:#fffcf6; color:#2f4840; overflow:auto; }
.ml-dialog::backdrop { background:#213b35a8; backdrop-filter:blur(3px); }
.ml-dialog-head { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; padding:24px 28px 18px; border-bottom:1px solid #e7e0d3; }
.ml-dialog-head h2 { font-size:24px; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.ml-dialog-head p { color:#7a877b; font-size:12px; margin-top:5px; }
.ml-close { border:1px solid #ddd7cd; border-radius:50%; width:34px; height:34px; flex:0 0 auto; background:#faf7ee; color:#617667; cursor:pointer; font-size:22px; }
.ml-detail-body { padding:24px 28px 28px; }
.ml-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:28px; align-items:start; }
.ml-preview-tabs { display:flex; gap:8px; margin-bottom:14px; }
.ml-preview-tabs button { flex:1; }
.ml-preview-tabs [aria-pressed="true"] { background:#42655f; color:#fff; border-color:#42655f; }
.ml-preview-stage { background:#e9e8df; border:1px solid #dedbce; border-radius:9px; overflow:hidden; display:grid; place-items:center; min-height:180px; }
.ml-preview-stage[data-view="single"] { aspect-ratio:1; }
.ml-preview-stage[data-view="single"] img { width:100%; height:100%; object-fit:contain; min-height:0; }
.ml-preview-stage[data-view="tiles"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:0; min-height:0; }
.ml-preview-stage[data-view="tiles"] img { display:block; width:100%; height:100%; min-height:0; object-fit:fill; }
.ml-preview-note { margin-top:10px; color:#7a8275; font-size:12px; line-height:1.7; }
.ml-detail-price { padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid #e9dfce; }
.ml-detail-price strong { font-size:25px; }
.ml-facts { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin:0 0 18px; }
.ml-facts div { min-width:0; padding-bottom:10px; border-bottom:1px solid #eee7d8; }
.ml-facts dt { color:#7a8679; font-size:11px; margin-bottom:5px; }
.ml-facts dd { margin:0; color:#365244; font-size:13px; overflow-wrap:anywhere; }
.ml-dimension-note { font-size:12px; padding:12px 14px; color:#7c705b; background:#f3eee1; border-radius:8px; }
.ml-inquiry-toggle { margin-top:18px; width:100%; }
.ml-consult { padding:22px 0 0; margin-top:24px; border-top:1px solid #e0dbce; }
.ml-consult h3 { font-size:17px; font-weight:600; margin-bottom:6px; }
.ml-consult p { font-size:12px; color:#738173; margin-bottom:14px; }
.ml-consult-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ml-consult label { display:grid; gap:6px; font-size:12px; color:#5a6f5b; }
.ml-consult input, .ml-consult textarea { width:100%; min-width:0; padding:10px 12px; border:1px solid #d5dccc; border-radius:6px; background:#fffefa; color:#324c3d; font:inherit; }
.ml-consult textarea { resize:vertical; min-height:78px; }
.ml-consult .ml-wide { grid-column:1/-1; }
.ml-consult .ml-button { margin-top:14px; }
.ml-consult-status { margin-top:12px; padding:10px 12px; background:#eef2e6; border-radius:6px; overflow-wrap:anywhere; }
#page-materials [hidden], .ml-dialog [hidden] { display:none !important; }
@media(max-width:900px) { .ml-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ml-hero-art { display:none; } .ml-hero { grid-template-columns:1fr; } }
@media(max-width:640px) {
  .material-nav-entry { flex:1 1 0; min-width:0; padding:0 8px; font-size:12px; }
  .header .search-bar { gap:7px; }
  .ml-shell { padding:22px 16px 76px; }
  .ml-breadcrumb { margin-bottom:18px; }
  .ml-hero { gap:16px; margin-bottom:22px; }
  .ml-hero h1 { font-size:29px; }
  .ml-hero p { font-size:13px; }
  .ml-controls { padding:14px; }
  .ml-search { gap:7px; }
  .ml-search .ml-button { padding:9px 13px; }
  .ml-filters { gap:14px; align-items:stretch; }
  .ml-filter-group { width:100%; gap:4px; }
  .ml-surface { padding:5px 10px; }
  .ml-grid { grid-template-columns:1fr; gap:16px; }
  .ml-card-image { aspect-ratio:1.8; }
  .ml-dialog { width:calc(100vw - 20px); max-height:94dvh; border-radius:12px; }
  .ml-dialog-head { padding:18px; }
  .ml-dialog-head h2 { font-size:21px; }
  .ml-detail-body { padding:18px; }
  .ml-detail-grid { grid-template-columns:1fr; gap:22px; }
  .ml-consult-grid { grid-template-columns:1fr; }
}
