/* Showroom additions use the existing walnut, oak and brass palette. */
.social-brand { display: inline-grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 14px; }
.social-brand img { display: block; width: 24px; height: 24px; }
.social-brand--instagram { background: radial-gradient(circle at 28% 105%, #feda75, #fa7e1e 28%, #d62976 56%, #962fbf 78%, #4f5bd5); }
.social-brand--telegram { background: #fff; }
.social-brand--telegram img { width: 34px; height: 34px; }
.social-follow { display: grid; gap: .65rem; }
.social-follow__link { position: relative; display: flex; align-items: center; gap: .7rem; border-radius: var(--radius); }
.social-follow__text { display: grid; gap: .1rem; min-width: 0; }
.social-follow__text strong { font-size: .9rem; }
.social-follow__text small { font-size: .75rem; direction: ltr; text-align: start; }
.social-follow__action { display: inline-flex; align-items: center; gap: .25rem; margin-inline-start: auto; font-size: .7rem; white-space: nowrap; }
.social-follow__action svg { width: 14px; height: 14px; }
.social-follow--footer { margin-block: .8rem 1.25rem; }
.social-follow--footer .social-follow__link { flex-wrap: wrap; padding: .6rem; border: 1px solid rgb(255 255 255 / .16); color: var(--cream); }
.social-follow--footer .social-follow__link:hover { background: rgb(255 255 255 / .06); color: #fff; border-color: var(--oak-400); }
.social-follow--footer .social-follow__action { color: var(--oak-200); }
.social-follow-heading { color: var(--cream); font-size: .85rem; }
.social-follow--floating { position: fixed; z-index: 60; inset-inline-end: max(1rem, env(safe-area-inset-left)); inset-block-end: calc(1rem + env(safe-area-inset-bottom)); padding: .4rem; border: 1px solid var(--line); border-radius: 20px; background: rgb(255 253 250 / .96); box-shadow: var(--shadow); gap: .45rem; }
.social-follow--floating .social-follow__link { width: 44px; height: 44px; }
.social-follow--floating .social-follow__text, .social-follow--floating .social-follow__action { display: none; }
.social-follow--floating .social-follow__link::after { content: attr(data-label); position: absolute; inset-inline-end: calc(100% + .8rem); padding: .4rem .7rem; border-radius: 8px; background: var(--walnut-900); color: var(--cream); font-size: .8rem; white-space: nowrap; opacity: 0; pointer-events: none; }
.social-follow--floating .social-follow__link:hover::after, .social-follow--floating .social-follow__link:focus-visible::after { opacity: 1; }
.social-follow__link:focus-visible { outline: 3px solid var(--brass-500); outline-offset: 3px; }
.contact-item--social { grid-template-columns: 46px minmax(0, 1fr) 18px; }
.contact-item__external { width: 18px; height: 18px; color: var(--muted); }
.showroom-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; width: 100%; padding: 1.25rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.showroom-filters .field { flex: 1 1 140px; margin: 0; }
.showroom-filters .field:first-child { flex: 2 1 220px; }
.showroom-filters .btn { min-height: 46px; }
.filter-pills { width: 100%; }
.favorite-button { position: relative; z-index: 2; display: inline-grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--walnut-800); padding: 0; font: inherit; cursor: pointer; }
.favorite-button svg { width: 21px; height: 23px; }
.favorite-button:hover { background: var(--oak-100); border-color: var(--line-strong); }
.favorite-button[hidden] { display: none; }
.favorite-button[aria-pressed="true"] { background: var(--sage-100); color: var(--sage-600); border-color: var(--sage-600); }
.favorite-button[aria-pressed="true"] svg { fill: currentColor; }
.favorite-button:focus-visible { outline: 3px solid var(--brass-500); outline-offset: 3px; }
.product-card__footer { display: flex; gap: .65rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.product-card__footer .link-arrow { font-size: .8rem; }
.product-info__toolbar { flex-wrap: wrap; gap: .75rem; }
.favorites-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-block: 1.5rem 2rem; }
.consultation-designs { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); margin-block: 1rem 1.5rem; }
.design-choice { display: flex; gap: .7rem; align-items: start; margin-block: .75rem; cursor: pointer; }
.design-choice input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--walnut-700); }
.consultation-dimensions { margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); min-width: 0; }
.consultation-dimensions .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.photo-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.photo-previews figure { margin: 0; min-width: 0; }
.photo-previews img { width: 100%; height: 100px; object-fit: cover; border-radius: var(--radius-sm); }
.photo-previews figcaption { font-size: .7rem; overflow-wrap: anywhere; color: var(--muted); }
.showroom-toast { position: fixed; inset-block-end: 8rem; inset-inline: 1rem; z-index: 1000; margin-inline: auto; width: fit-content; max-width: min(560px, calc(100% - 2rem)); border-radius: var(--radius); background: var(--walnut-900); color: var(--paper); padding: .8rem 1.25rem; box-shadow: var(--shadow); }
.showroom-toast:empty { display: none; }
.workshop-feature { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 3rem; }
.workshop-feature figure { margin: 0; min-width: 0; }
.workshop-feature video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); background: var(--walnut-950); box-shadow: var(--shadow); }
.workshop-feature figcaption, .team-photo figcaption { margin-block-start: .75rem; font-size: .85rem; color: var(--muted); }
.faq-container { max-width: 900px; }
.faq-list { display: grid; gap: .75rem; }
.faq-list details { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.25rem; }
.faq-list summary { cursor: pointer; font-weight: 600; line-height: 1.9; }
.faq-list summary::marker { color: var(--brass-600); }
.faq-list details[open] { border-color: var(--oak-400); }
.faq-list p { color: var(--ink-soft); line-height: 2; margin-block-end: .25rem; }
.material-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; margin-block-end: 3rem; }
.material-intro > img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.material-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.material-card { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--paper); }
.material-card > div:last-child { padding: 1.5rem; }
.material-card h2 { font-size: 1.3rem; margin-block: .5rem; }
.material-photo { aspect-ratio: 16 / 9; overflow: hidden; background: var(--oak-100); }
.material-photo img { width: 100%; height: 100%; object-fit: cover; }
.material-photo--wood img { transform: scale(1.85); transform-origin: 50% 83%; }
.material-photo--surface img { transform: scale(1.7); transform-origin: 44% 56%; }
.hardware-drawing { background: var(--oak-100); aspect-ratio: 16 / 9; display: grid; place-items: center; }
.hardware-drawing svg { width: 75%; max-height: 230px; }
.material-note { padding: 1.5rem; margin-block-start: 2rem; border-inline-start: 3px solid var(--brass-500); background: var(--oak-100); border-radius: var(--radius-sm); }
.trust-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.5rem; align-items: start; }
.trust-panel, .customer-quote { margin: 0; padding: 2rem; background: var(--oak-100); border-radius: var(--radius-lg); }
.customer-quote { background: var(--walnut-900); color: var(--cream); }
.customer-quote blockquote { margin: 1rem 0; }
.customer-quote figcaption { color: var(--oak-300); }
.team-photo { margin: 0; }
.team-photo img { width: 100%; border-radius: var(--radius-lg); }
.inquiry-photos { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-header__inner { gap: clamp(.65rem, 1.4vw, 1.25rem); }
.main-nav__link, .site-header__cta { white-space: nowrap; }
.main-nav__list > li { flex-shrink: 0; }
.main-nav__link--favorites { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-width: 42px; min-height: 42px; }
.main-nav__link--favorites > svg { width: 21px; height: 23px; flex-shrink: 0; }
.favorites-nav-label { display: none; }
.favorites-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding-inline: .2rem; border-radius: 999px; background: var(--walnut-800); color: var(--paper); font-size: .7rem; line-height: 1; }
.favorites-count[hidden] { display: none; }
.instagram-showcase { scroll-margin-top: calc(var(--header-height) + 1rem); }
.instagram-photo { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg, 20px); background: var(--paper); }
.instagram-photo__image { display: block; position: relative; width: 100%; aspect-ratio: 4 / 3; padding: .5rem; border: 0; background: var(--cream); cursor: zoom-in; }
.instagram-photo__image > img { width: 100%; height: 100%; object-fit: contain; }
.instagram-photo__zoom { position: absolute; inset-inline-end: .75rem; inset-block-end: .75rem; background: var(--paper); }
.instagram-photo__body { display: grid; gap: .65rem; padding: 1.2rem; }
.instagram-photo__body h3 { margin: 0; font-size: 1rem; }
.instagram-photo__body > a { display: inline-flex; align-items: center; gap: .4rem; color: var(--muted); font-size: .8rem; }
.instagram-photo__body > a svg { width: 16px; height: 16px; }
.instagram-photo__body > a:hover { color: var(--brass-600); }
@media (min-width: 961px) and (max-width: 1360px) {
    .site-header__phone { display: none; }
    .main-nav__link { padding-inline: .55rem; font-size: .85rem; }
}
@media (max-width: 960px) {
    .main-nav__link--favorites { display: flex; justify-content: flex-start; }
    .favorites-nav-label { display: inline; }
}
@media (max-width: 700px) {
    .workshop-feature, .material-intro, .material-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .showroom-filters { padding: 1rem; gap: .75rem; }
    .showroom-filters .field { flex-basis: calc(50% - .75rem); min-width: 0; }
    .showroom-filters .field:first-child { flex-basis: 100%; }
    .showroom-filters .btn { flex: 1 1 auto; }
    .consultation-dimensions .form-grid { gap: .5rem; }
    .consultation-dimensions label { font-size: .85rem; }
    .consultation-dimensions input { padding-inline: .4rem; }
    .favorites-actions > .btn { width: 100%; }
}
