/* v1.3.0 — live mobile search. Artwork is cropped BEFORE the painted form;
 * the real controls stay in document flow, so they cannot drift or double up. */
.lbn .lbn-mobile-hero-v3 { display: none; }
.lbn .lbn-suggest[hidden] { display: none !important; }
.lbn .lbn-suggest-item.is-active,
.lbn .lbn-suggest-item:focus-visible { background: #eef6ff; outline: 2px solid #0969df; outline-offset: -2px; }
.lbn #lbn-search-results { scroll-margin-top: 90px; outline: none; }
@media (max-width: 680px) {
  .lbn .lbn-mobile-hero-v3 { display: block; position: relative; width: 100%; max-width: 100%; margin: 0; padding: 0; background: #eef9ff; isolation: isolate; }
  .lbn .lbn-mobile-hero-v3 *, .lbn .lbn-mobile-hero-v3 *::before, .lbn .lbn-mobile-hero-v3 *::after { box-sizing: border-box; }
  .lbn .lbn-mobile-artwork { position: relative; display: block; width: 100%; margin: 0; padding: 0; line-height: 0; overflow: hidden; }
  .lbn .lbn-mobile-artwork picture { display: block; margin: 0; }
  .lbn .lbn-mobile-artwork img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 941 / 1338; object-fit: contain; margin: 0; padding: 0; border: 0; border-radius: 0; filter: none; }
  .lbn .lbn-mobile-live-search { position: relative; display: block; z-index: 5; width: 100%; max-width: none; padding: 0 3.5% 16px; margin: 0; border: 0; background: linear-gradient(160deg, #e8f7ff 0%, #fff 53%, #eaf8ff 100%); box-shadow: none; line-height: 1.6; }
  .lbn .lbn-mobile-live-field { position: relative; display: flex; align-items: center; width: 100%; min-width: 0; height: clamp(48px, 14vw, 92px); padding: 0 clamp(12px, 3.5vw, 24px); border: 2px solid #d4ebff; border-radius: 999px; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.75), 0 5px 18px rgba(39,143,222,.18), inset 0 0 0 1px #f6fbff; }
  .lbn .lbn-mobile-live-field:focus-within { border-color: #0a70ed; box-shadow: 0 0 0 3px rgba(10,112,237,.15), 0 6px 20px rgba(39,143,222,.15); }
  .lbn .lbn-mobile-live-icon { display: flex; justify-content: center; align-items: center; flex: 0 0 clamp(23px, 6.2vw, 38px); width: clamp(23px, 6.2vw, 38px); height: 100%; margin-right: clamp(9px, 2.5vw, 16px); color: #006bf0; }
  .lbn .lbn-mobile-live-icon svg { display: block; width: 100%; height: auto; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }
  .lbn .lbn-mobile-live-field input[type="search"] { display: block; flex: 1 1 auto; min-width: 0; width: 100%; max-width: 100%; height: 100%; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; background: transparent; box-shadow: none; color: #142e52; font: inherit; font-size: clamp(16px, 4.2vw, 27px); font-weight: 400; line-height: 1.4; -webkit-appearance: none; appearance: none; }
  .lbn .lbn-mobile-live-field input::placeholder { color: #6b7586; opacity: 1; }
  .lbn .lbn-mobile-live-submit { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; max-width: 100%; min-height: 44px; height: clamp(44px, 12.4vw, 82px); margin: clamp(8px, 2.1vw, 14px) 0 0; padding: 0 13%; border: 0; border-radius: 999px; background: linear-gradient(105deg, #0060e9, #168ef5); box-shadow: none; color: #fff; cursor: pointer; font-family: inherit; font-weight: 800; font-size: clamp(20px, 5.8vw, 36px); letter-spacing: .02em; line-height: 1.2; text-transform: none; touch-action: manipulation; }
  .lbn .lbn-mobile-live-submit span { position: static; color: inherit; font: inherit; transform: none; }
  .lbn .lbn-mobile-live-submit svg { position: absolute; right: 6%; top: 50%; width: clamp(21px, 5.8vw, 34px); height: clamp(21px, 5.8vw, 34px); transform: translateY(-50%); fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
  .lbn .lbn-mobile-live-submit:hover { background: linear-gradient(105deg, #0058d7, #087ddd); }
  .lbn .lbn-mobile-live-submit:focus-visible { outline: 3px solid #052650; outline-offset: 3px; }
  .lbn .lbn-mobile-live-submit:active { transform: translateY(1px); }
  .lbn .lbn-mobile-live-suggest { position: absolute; top: calc(100% + 5px); left: 0; right: 0; z-index: 100; width: auto; max-width: 100%; max-height: min(320px, 44vh); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border-radius: 16px; }
  .lbn .lbn-mobile-live-suggest .lbn-suggest-item { min-height: 48px; gap: 8px; padding: 12px; }
  .lbn .lbn-mobile-live-suggest .lbn-suggest-main { min-width: 0; overflow-wrap: anywhere; }
  .lbn .lbn-mobile-live-suggest .lbn-suggest-type { flex-shrink: 0; font-size: 9px; }
  .lbn .lbn-mobile-live-filters { margin: 15px 3px 0; padding: 0; border: 1px solid #d4e6f7; border-radius: 13px; background: rgba(255,255,255,.84); color: #24476b; }
  .lbn .lbn-mobile-live-filters summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 9px 13px; cursor: pointer; list-style: none; font-size: 13px; font-weight: 700; }
  .lbn .lbn-mobile-live-filters summary::-webkit-details-marker { display: none; }
  .lbn .lbn-mobile-live-filters summary span { font-size: 18px; line-height: 1; }
  .lbn .lbn-mobile-live-filters[open] summary span { transform: rotate(45deg); }
  .lbn .lbn-mobile-live-filters label { display: block; padding: 0 13px; margin-bottom: 6px; font-size: 12px; }
  .lbn .lbn-mobile-live-filters select { display: block; width: calc(100% - 26px); min-width: 0; max-width: calc(100% - 26px); min-height: 46px; margin: 0 13px; padding: 9px 10px; border: 1px solid #adcae5; border-radius: 8px; background: #fff; color: #183956; font-family: inherit; font-size: 16px; line-height: 1.4; }
  .lbn .lbn-mobile-live-filters p { font-size: 11px; margin: 8px 13px 12px; color: #556b80; }
  .lbn .lbn-mobile-live-hint { margin: 11px 4px 0; padding: 0; color: #5e7286; font-size: 11px; line-height: 1.7; }
}

/* v1.4.0: Keep live suggestions below the submit button in normal flow. */
@media (max-width: 680px) {
  .lbn .lbn-mobile-live-suggest { position: relative; top: auto; left: auto; right: auto; width: 100%; margin-top: 10px; }
  .lbn .lbn-mobile-live-submit { scroll-margin-top: 100px; }
}
