/* Theme tokens from themes/grupolober/assets/css/_partials/font-colors.css, with fallbacks. */
.trv-local-search {
  --trv-brand: var(--btn-primary, #E31E27);
  --trv-text: var(--text-primary, #1D1D1B);
  --trv-text-light: var(--text-secondary, #9a9a9a);
  --trv-field: var(--bg-primary, #F6F6F6);
  --trv-line: #e5e5e5;
  --trv-radius: var(--border-radius, 40px);
  --trv-gap: 15px;
}
.trv-local-search[hidden], .trv-local-search [hidden] { display: none !important; }
body.trv-search-open { overflow: hidden; }
.trv-local-search { position: fixed; inset: 0; z-index: 1100; font-family: "Montserrat", arial, sans-serif; color: var(--trv-text); }
.trv-search-shade { position: absolute; inset: 0; background: rgba(0,0,0,.4); opacity: 0; transition: opacity .2s ease; }
.trv-search-panel { position: absolute; inset: 0 0 0 auto; width: min(100%, 520px); height: 100%; background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .2s ease; box-shadow: 0 2px 12px rgba(0,0,0,.15); }
.trv-local-search.is-open .trv-search-panel { transform: translateX(0); }
.trv-local-search.is-open .trv-search-shade { opacity: 1; }
.trv-search-header { display: flex; align-items: center; gap: 10px; background: #fff; padding: 10px var(--trv-gap); min-height: 70px; flex-shrink: 0; box-shadow: 0 2px 6px rgba(0,0,0,.08); position: relative; z-index: 1; }
.trv-search-close { background: none; border: 0; color: inherit; padding: .5rem; cursor: pointer; flex-shrink: 0; display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.trv-search-form { display: flex; flex: 1; min-width: 0; margin: 0; border: 0; border-radius: var(--trv-radius); background: var(--trv-field); overflow: hidden; }
.trv-search-form input { width: 100%; min-width: 0; padding: .75rem 1rem; border: 0; outline: none; background: transparent; color: var(--trv-text); font: inherit; font-size: 1rem; }
.trv-search-form button { background: transparent; color: var(--trv-text); border: 0; padding: 0 1rem; cursor: pointer; display: flex; align-items: center; justify-content: center; min-width: 52px; }
.trv-local-search .material-icons { font-size: 24px; line-height: 1; }
.trv-search-status { margin: var(--trv-gap); font-size: .875rem; color: var(--trv-text-light); }
.trv-search-results { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 var(--trv-gap); }
.trv-search-result { display: flex; align-items: center; gap: var(--trv-gap); padding: 10px 0; border-bottom: 1px solid var(--trv-line); color: var(--trv-text); font-size: .875rem; text-decoration: none; }
.trv-search-result:hover, .trv-search-result:focus { color: var(--trv-brand); text-decoration: none; }
.trv-search-name { font-weight: 600; line-height: 1.3; }
.trv-search-reference { font-size: .75rem; color: var(--trv-text-light); }
.trv-search-details { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.trv-search-prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; font-size: .875rem; }
.trv-search-price { font-weight: 700; color: var(--trv-brand); }
.trv-search-regular-price { color: var(--trv-text-light); font-weight: 400; }
.trv-search-name mark { background: rgba(227,30,39,.12); color: inherit; font-weight: inherit; padding: 0 .08em; border-radius: 2px; }
.trv-search-result img { width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
.trv-search-more { margin: var(--trv-gap); padding: .75rem; background: var(--trv-brand); border: 0; border-radius: var(--trv-radius); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.trv-search-more:hover { opacity: .9; }
.trv-local-search a:focus-visible, .trv-local-search button:focus-visible { outline: 2px solid var(--trv-brand); outline-offset: -2px; }
@media (max-width: 991px) {
  .trv-search-panel { width: 100%; padding-bottom: env(safe-area-inset-bottom); }
}
@media (min-width: 992px) {
  .trv-search-inline .trv-search-header { display: none; }
  /* The header field is the panel's input now: no dimming, and clicks reach the page. */
  .trv-search-inline { pointer-events: none; }
  .trv-search-inline .trv-search-panel { pointer-events: auto; }
  .trv-search-inline .trv-search-shade { display: none; }
  .trv-search-panel { inset: var(--trv-search-top, 80px) auto auto var(--trv-search-left, 16px); width: var(--trv-search-width, 600px); height: auto; max-height: var(--trv-search-height, 70vh); border-radius: 8px; overflow: hidden; transform: none; transition: opacity .15s ease; opacity: 0; }
  .trv-local-search.is-open .trv-search-panel { opacity: 1; }
  .trv-search-shade { background: rgba(0,0,0,.2); }
}
@media (prefers-reduced-motion: reduce) { .trv-search-panel, .trv-search-shade { transition: none; } }
