/* Custom Furniture: a white product gallery, based on the original display. */
@font-face{font-family:Nano;src:url('/assets/ref-fonts/nano-body.ttf') format('truetype');font-display:swap}
.custom-catalog{background:#fff;color:#242426;padding-bottom:0}
.custom-catalog:has(.selection-dock:not([hidden])){padding-bottom:96px}
.business-nav{display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding:20px 5%;background:#f7f7f7;font-size:14px;color:#67676b}
.business-nav [aria-current]{color:#242426;text-decoration:underline;text-underline-offset:7px}
.custom-intro{text-align:center;padding:28px 24px 14px}
.custom-intro h1{font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.08;letter-spacing:-.04em}
.custom-intro h1 span{color:#747478}
.custom-intro p{margin:10px auto 0;font-size:16px;line-height:1.7;color:#606065}
.category-jumps{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:0 24px 12px;font-size:14px}
.category-jumps a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid #c8c8cb}
.category-jumps a:hover{border-color:#242426}
.display-section{max-width:1520px;margin:auto;padding:30px 5% 48px;scroll-margin-top:24px}
.display-section+.display-section{border-top:1px solid #e8e8e8}
.display-heading{text-align:center;margin-bottom:34px}
.display-heading h2{font-size:24px;letter-spacing:.04em;text-transform:uppercase;font-weight:650}
.display-heading p{font-size:14px;color:#69696d;margin:10px auto 0}
.piece-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 16px}
.piece-grid--booths{grid-template-columns:repeat(4,minmax(0,1fr))}
.piece-tile{position:relative;min-width:0}
.piece-pick{display:flex;flex-direction:column;align-items:center;width:100%;border:1px solid transparent;border-radius:8px;background:white;padding:14px 8px 12px;color:inherit;text-align:center;cursor:pointer}
.piece-pick:hover{background:#f7f7f7}
.piece-pick:has(input:checked){border-color:#77716b;background:#faf9f7}
.piece-picture{height:190px;display:flex;align-items:center;justify-content:center;width:100%;position:relative}
.piece-picture img{width:100%;height:100%;object-fit:contain;transition:transform .22s ease-out}
.piece-pick:hover img{transform:translateY(-4px)}
.piece-grid--booths .piece-picture{height:205px}
.piece-name{font-size:12px;line-height:1.5;margin:14px 0 8px;min-height:36px;max-width:25ch;overflow-wrap:anywhere}
.piece-check{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;min-height:28px;color:#626267}
.piece-check input{width:17px;height:17px;margin:0;accent-color:#4f443a;cursor:pointer}
.piece-pick:has(input:focus-visible){outline:2px solid #6b6156;outline-offset:3px}
.piece-pick:has(input:checked) .piece-check{color:#242426}
.piece-edit{display:block;margin:0 auto;border:0;background:none;color:#5e534b;text-decoration:underline;text-underline-offset:3px;font-size:12px;min-height:32px}
.image-unavailable{position:absolute;inset:0;display:grid;place-items:center;background:#f7f7f7;color:#626267;font-size:13px}
.load-state{text-align:center;padding:60px 24px;margin:auto;max-width:none;color:#626267}
.load-state button{margin:20px auto;display:block}
.selection-section{background:#f5f5f5;padding:52px max(5%,calc((100vw - 1368px)/2));scroll-margin-top:24px}
.selection-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
.selection-title h2,.project-contact h2,.inquiry-success h2{font-size:clamp(28px,3vw,42px)}
.selection-title p{margin-top:12px;font-size:14px;color:#606065}
.selection-title a{font-size:14px;flex:none}
.selected-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px 0;border-top:1px solid #d7d7db}
.selected-row img{width:90px;height:90px;object-fit:contain}
.selected-row h3{font-size:16px;font-weight:600;text-wrap:wrap}
.selected-row p{font-size:13px;color:#626267;margin-top:8px;white-space:pre-line;overflow-wrap:anywhere}
.selected-tools{display:flex;gap:12px}.selected-tools button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;min-height:44px;font-size:13px;padding:6px}
.project-contact{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;border-top:1px solid #d7d7db;padding-top:48px;margin-top:24px}
.project-contact>div>p{margin:20px 0;font-size:15px;color:#606065;max-width:38ch}
.project-contact>div>p.contact-quiet{font-size:13px;margin-top:30px}
.project-contact .form-grid{gap:20px}.project-contact input,.project-contact textarea,.project-contact select{font-size:16px}
.form-explainer{font-size:13px;margin:24px 0 16px;color:#606065}
.send-project{width:100%;border-radius:8px;min-height:52px}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.selection-dock{position:fixed;z-index:80;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 14px 12px 24px;width:min(560px,calc(100% - 32px));border-radius:12px;background:#fff;box-shadow:0 6px 34px #00000026}
.selection-dock p{font-size:14px}.selection-dock strong{font-weight:700}.selection-dock .btn{border-radius:8px;white-space:nowrap}
#piece-dialog{width:min(940px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:24px 32px 32px;border:0;border-radius:12px;background:#fff;color:#242426;overscroll-behavior:contain}
#piece-dialog::backdrop{background:#24242666}
.piece-dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.piece-dialog-header>p{font-size:20px;font-weight:600;letter-spacing:-.025em}
.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:inherit}
.piece-dialog-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.piece-preview{position:sticky;top:0;text-align:center}.piece-preview img{width:100%;height:240px;object-fit:contain}.piece-preview h2{font-size:20px;margin:24px 0 16px;text-wrap:wrap}.piece-preview p{font-size:13px;color:#626267}
#piece-fields{gap:16px}#piece-fields input,#piece-fields select,#piece-fields textarea{font-size:16px}
.preference-note{margin:20px 0;font-size:12px;color:#626267}.piece-actions{display:flex;justify-content:flex-end;gap:10px}.piece-actions .btn{border-radius:8px}
.inquiry-success{padding:70px 5%;text-align:center;background:#f5f5f5}.inquiry-success p{margin:18px auto}.inquiry-success .btn{margin-top:16px}
@media(min-width:1800px){.piece-picture{height:225px}.piece-grid--booths .piece-picture{height:260px}.piece-name,.piece-check{font-size:14px}}
@media(max-width:1100px){.piece-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.piece-grid--booths{grid-template-columns:repeat(4,minmax(0,1fr))}.project-contact{gap:40px}.piece-picture{height:180px}}
@media(max-width:700px){.business-nav{gap:22px;font-size:12px;padding:16px 5%}.custom-intro{padding:24px 20px 10px}.custom-intro p{font-size:14px}.category-jumps{gap:20px;padding-bottom:12px;font-size:12px}.display-section{padding-top:32px;padding-bottom:36px}.display-heading{margin-bottom:22px}.display-heading h2{font-size:20px}.display-heading p{font-size:13px}.piece-grid,.piece-grid--booths{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.piece-picture,.piece-grid--booths .piece-picture{height:175px}.piece-name{font-size:12px}.piece-check{min-height:32px}.selection-section{padding:36px 5%}.selection-title{align-items:start}.selection-title a{font-size:12px}.selected-row{grid-template-columns:64px minmax(0,1fr);gap:16px}.selected-row img{width:64px;height:76px}.selected-tools{grid-column:2}.project-contact{grid-template-columns:1fr;gap:16px;padding-top:30px}.project-contact h2 br{display:none}.project-contact>div>p{max-width:none}.project-contact>div>p.contact-quiet{margin-top:16px}.selection-dock{bottom:12px;gap:12px;padding:10px 12px}.selection-dock p,.selection-dock .btn{font-size:12px}.selection-dock .btn{padding:10px 12px}.selection-dock svg{width:16px}#piece-dialog{padding:18px;max-height:calc(100dvh - 24px)}.piece-dialog-layout{grid-template-columns:1fr;gap:24px}.piece-preview{position:static;display:grid;grid-template-columns:90px 1fr;gap:12px;text-align:left;align-items:center}.piece-preview img{height:110px;grid-row:1/3}.piece-preview h2{font-size:17px;margin:0}.piece-preview p{font-size:12px}.piece-dialog-header{margin-bottom:12px}.piece-actions{position:sticky;bottom:-18px;background:#fff;padding:12px 0;margin-bottom:-12px}.piece-actions .btn{flex:1;padding:10px}.custom-catalog:has(.selection-dock:not([hidden])){padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.piece-picture img{transition:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Match the homepage footer without importing its page layout. */
.custom-site-footer{padding:50px 4.5% 20px;background:#fafafa;color:#1d1d1f;font:15px/1.6 Manrope,sans-serif}
.custom-site-footer .footer-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start;max-width:1440px;margin:auto;padding-bottom:45px}
.custom-site-footer .brand:not(.brand-lockup){display:block;width:170px;flex-shrink:0}
.custom-site-footer .brand img{width:100%;height:auto}
.custom-site-footer .footer-top p{font-family:Nano,sans-serif;font-size:24px;line-height:1.2}
.custom-site-footer .footer-top nav{display:grid;grid-template-columns:1fr 1fr;font-size:12px}
.custom-site-footer .footer-top nav a{min-height:44px}
.custom-site-footer .footer-top a:hover{text-decoration:underline}
.custom-site-footer .footer-socials{display:flex;gap:22px;grid-column:2/-1;font-size:12px}
.custom-site-footer .footer-socials a{display:flex;align-items:center;min-height:44px}
.custom-site-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;max-width:1440px;margin:auto;border-top:1px solid #d5d5d9;padding-top:20px;font-size:10px;color:#626267}
.custom-site-footer .footer-admin{margin-left:auto;white-space:nowrap;padding:6px 0}
.custom-site-footer .footer-admin:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){
 .custom-site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .custom-site-footer .footer-top p{font-size:21px}
 .custom-site-footer .footer-top nav{grid-column:1/-1}
 .custom-site-footer .footer-socials{grid-column:1/-1;flex-wrap:wrap}
 .custom-site-footer .footer-bottom{flex-wrap:wrap;gap:12px;font-size:9px}
}

/* Overview previews stay at two rows; category views expose every piece. */
.category-jumps a[aria-current="page"]{color:#242426;border-color:#242426;font-weight:600}
.display-heading h2 a{color:inherit;text-decoration:underline;text-decoration-color:#c8c8cb;text-underline-offset:7px;text-decoration-thickness:1px}
.display-heading h2 a:hover{ text-decoration-color:currentColor }
.custom-catalog.is-overview .piece-grid--preview{grid-template-columns:repeat(4,minmax(0,1fr))}
.custom-catalog.is-overview .piece-grid--preview .piece-tile:nth-child(n+9){display:none}
.category-more{display:table;margin:22px auto 0;font-size:14px;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:12px}
.custom-catalog:not(.is-overview) .category-more{display:none}
@media(max-width:700px){
 .custom-catalog.is-overview .piece-grid--preview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .custom-catalog.is-overview .piece-grid--preview .piece-tile:nth-child(n+5){display:none}
 .category-jumps{gap:8px 20px}
}
