/* fabrico.in/pricing: live price list per store (16 Oct 2026). Loaded on /pricing only.
   The captured Vuetify look stays; these rules only style the store picker, the tools row,
   the loading placeholders and the messages. */
/* doubled class: Vuetify's own .d-flex { display: flex !important } is injected after this sheet, the extra specificity wins */
.fab-pl-hide.fab-pl-hide { display: none !important; }

/* ---- the row under "Select nearest store": picker left, chosen store right ---- */
.fab-pl-top { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px 16px; width: 100%; }
.fab-pl-card.fab-pl-card { flex: 1 1 340px; min-width: 0; margin: 0 !important; padding: 6px 10px !important; background: #fafafa !important; border-radius: 4px !important; }
.fab-pl-card .v-list-item { width: auto !important; min-height: 34px !important; padding: 2px 4px !important; }
.fab-pl-card .v-list-item__content { padding: 6px 0 !important; }
.fab-pl-card .v-list-item__title.subtitle-2 { white-space: normal; line-height: 1.4; }
.fab-pl-card__row .fab-pl-status { font-size: 12.5px !important; color: #616161 !important; }

/* ---- store picker (same box as before: search field + GPS button) ---- */
.fab-pl-picker { border: 1px solid #ccc; max-width: 600px; width: 100%; flex: 1 1 420px; background: #fff; position: relative; align-self: flex-start; }
.fab-pl-search { position: relative; flex: 1 1 auto; display: flex; align-items: center; min-width: 0; height: 64px; padding: 0 6px 0 12px; }
.fab-pl-search > .mdi-magnify { font-size: 24px; margin-right: 8px; flex: 0 0 auto; }
.fab-pl-search input { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; outline: 0; font: inherit; font-size: 16px; background: transparent; color: rgba(0, 0, 0, .87); }
.fab-pl-search input::placeholder { color: rgba(0, 0, 0, .42); }
.fab-pl-clear { border: 0; background: transparent; padding: 6px; cursor: pointer; line-height: 1; display: none; }
.fab-pl-search.has-text .fab-pl-clear { display: inline-flex; }
.fab-pl-menu { position: absolute; left: -1px; right: -1px; top: 100%; z-index: 30; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .18); max-height: 340px; overflow: auto; display: none; text-align: left; border: 1px solid #e0e0e0; }
.fab-pl-menu.is-open { display: block; }
.fab-pl-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #f1f1f1; font-size: 14px; line-height: 1.35; }
.fab-pl-item b { display: block; font-weight: 500; color: #212121; }
.fab-pl-item span { color: #757575; font-size: 12.5px; }
.fab-pl-item.is-active, .fab-pl-item:hover { background: #eefaf5; }
.fab-pl-empty { padding: 12px 14px; color: #757575; font-size: 13px; }
.fab-pl-wait { padding: 8px 14px; font-style: italic; }
.fab-pl-group { padding: 7px 14px 3px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #9e9e9e; background: #fafafa; border-bottom: 1px solid #f1f1f1; }
.fab-pl-item b .mdi { font-size: 15px; color: #33cc99; margin-right: 2px; vertical-align: -1px; }
.fab-pl-item--place b .mdi { color: #e53935; }
.fab-pl-card--click { cursor: pointer; }
/* the chosen store: its name in the dotted box (not the internal code), a little stronger than before */
.fab-pl-card .v-list-item__content { border-color: #33cc99 !important; }
.fab-pl-card .v-list-item__title.subtitle-1 { color: #1c2420 !important; font-weight: 600 !important; white-space: normal; line-height: 1.35; }
.fab-pl-card .mdi-store { color: #33cc99 !important; }
.fab-pl-card:hover .v-list-item__content { background: #f3fbf8 !important; }
.fab-pl-gps { flex: 0 0 auto; }
.fab-pl-gps[disabled] { opacity: .75; cursor: progress; }

/* ---- messages, status ---- */
.fab-pl-msg:empty { display: none; }
.fab-pl-msg { font-size: 14px; }
.fab-pl-retry { margin-left: 8px; border: 1px solid currentColor; background: transparent; color: inherit; border-radius: 4px; padding: 2px 10px; font: inherit; font-size: 13px; cursor: pointer; }

/* ---- tools: category chips, garment search, A to Z ---- */
.fab-pl-tools.fab-pl-tools { margin-top: 0 !important; padding-top: 2px !important; }
.fab-pl-cats { gap: 6px; padding: 4px 8px 2px; }
.fab-pl-cats .v-chip { cursor: pointer; }
.fab-pl-find { display: flex; align-items: center; max-width: 420px; width: calc(100% - 24px); margin: 8px auto 2px; border: 1px solid #ddd; border-radius: 4px; padding: 0 10px; height: 40px; background: #fff; }
.fab-pl-find input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 14px; height: 100%; background: transparent; margin-left: 6px; }
.fab-pl-alpha .v-btn.fab-pl-on { background: #33cc99 !important; color: #fff !important; }

/* ---- list ---- */
.fab-pl-list { min-height: 120px; }
.fab-pl-list .v-chip--clickable { cursor: pointer; }
.fab-pl-catname { font-size: 11.5px; color: #9e9e9e; margin-left: 6px; font-weight: 400; }
.fab-pl-none { text-align: center; color: #757575; padding: 28px 12px; font-size: 14px; }
/* before a store is chosen */
.fab-pl-choose { max-width: 520px; margin: 28px auto 36px; padding: 28px 20px; text-align: center; border: 1px dashed #b9e3d3; border-radius: 6px; background: #f6fbf9; color: #36423d; }
.fab-pl-choose .v-icon { font-size: 40px; color: #33cc99; margin-bottom: 6px; }
.fab-pl-choose__sub { font-size: 13.5px; color: #616161; margin-top: 6px; }
.fab-pl-spin { display: inline-block; animation: fabPlSpin 1.6s linear infinite; }
@keyframes fabPlSpin { to { transform: rotate(360deg); } }
.fab-pl-foot { font-size: 12px; color: #9e9e9e; margin: 10px 0 4px; padding: 0 12px; }
.fab-pl-skel { max-width: 520px; margin: 16px auto; height: 104px; border-radius: 2px; background: linear-gradient(90deg, #f2f2f2 25%, #e4e4e4 37%, #f2f2f2 63%); background-size: 400% 100%; animation: fabPlShimmer 1.3s ease infinite; }
@keyframes fabPlShimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

@media (max-width: 600px) {
  .fab-pl-top { gap: 10px; }
  .fab-pl-picker, .fab-pl-card.fab-pl-card { flex-basis: 100%; max-width: none; }
  .fab-pl-search { height: 56px; padding-left: 8px; }
  .fab-pl-search input { font-size: 15px; }
  .fab-pl-gps { height: 56px !important; padding: 0 10px !important; font-size: 12px; min-width: 0 !important; }
  .fab-pl-gps .v-icon--left { margin-right: 4px; }
  .fab-pl-status { font-size: 12.5px; }
}
