/* Provider rail presentation only. Logos, provider identities and filters stay unchanged. */
:is(.provider-rail,.providers-shell) {
  display:block!important; min-width:0; max-width:100%;
  background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important;
  padding:14px 0 4px!important;
}
:is(.provider-rail,.providers-shell)::before {
  content:"PROVEEDORES"; position:static; display:block; width:auto; height:auto;
  margin:0 8px 5px; padding:0; background:none; border:0; box-shadow:none; transform:none;
  color:#b9adca; font:650 10px/1.4 system-ui,sans-serif; letter-spacing:.16em; text-align:left;
  pointer-events:none;
}
:is(.provider-rail,.providers-shell)::after { content:none!important; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs {
  display:flex; flex-wrap:nowrap; align-items:stretch; gap:18px; width:100%; min-width:0; max-width:100%;
  margin:0; padding:3px 7px 9px; box-sizing:border-box;
  border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
  overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:#b39ac345 transparent;
  scroll-snap-type:x proximity; overscroll-behavior-x:contain; scroll-padding-inline:7px; overflow-anchor:none;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs::-webkit-scrollbar { height:4px; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs::-webkit-scrollbar-track { background:transparent; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs::-webkit-scrollbar-thumb { background:#b39ac345; border-radius:9px; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab {
  appearance:none; box-sizing:border-box; position:relative; isolation:isolate;
  display:grid; grid-template-rows:52px 30px; align-content:start; justify-content:center; justify-items:center; align-items:center;
  flex:0 0 116px; width:116px; min-width:116px; max-width:116px;
  height:104px; min-height:104px; max-height:104px; margin:0; padding:7px 4px 13px; gap:2px!important;
  border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
  color:#e7dfef; font:550 12px/1.25 system-ui,sans-serif; letter-spacing:0; text-align:center; text-transform:none;
  overflow:visible; white-space:normal; scroll-snap-align:start; cursor:pointer;
  transition:color 160ms ease; transform:none!important;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab::before { content:none!important; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab::after {
  content:""; position:absolute; left:29%; right:29%; bottom:6px; height:2px;
  background:var(--pink,var(--gold,#dfb8ff)); border:0; border-radius:2px; box-shadow:none;
  opacity:0; transform:scaleX(.45); transform-origin:center; transition:opacity 160ms ease,transform 160ms ease;
  pointer-events:none;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab.active,
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab[aria-pressed="true"] { color:#fff8e8; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab.active::after,
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab[aria-pressed="true"]::after { opacity:1; transform:scaleX(1); }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab:focus-visible {
  outline:2px solid #f2d6ff!important; outline-offset:2px; border-radius:7px!important;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-logo {
  display:grid!important; place-items:center; box-sizing:border-box; width:108px!important; height:52px!important;
  min-width:0!important; max-width:100%!important; min-height:52px!important; max-height:52px!important;
  margin:0!important; padding:0!important; overflow:visible;
  border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-logo img {
  display:block; width:100%!important; height:100%!important; max-width:100%; max-height:100%;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important;
  object-fit:contain!important; object-position:center; filter:none;
}
/* Only marks already tagged as needing a light plate get a thin contrast halo. */
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-logo-light img {
  filter:drop-shadow(0 0 .8px #fff4db) drop-shadow(0 0 3px #fff4db8c);
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-name {
  display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  width:100%; min-height:30px; max-height:30px; margin:0; padding:0;
  overflow:hidden; overflow-wrap:anywhere; white-space:normal; text-overflow:ellipsis;
  color:inherit; opacity:1; visibility:visible; font:550 12px/15px system-ui,sans-serif; letter-spacing:0; text-transform:none;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-logo-fallback .provider-monogram {
  display:block; color:#e5d0f3; background:none; border:0; border-radius:0; box-shadow:none;
  font:750 23px/1 system-ui,sans-serif; letter-spacing:.04em;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-logo-fallback .provider-wordmark { display:none; }
/* Reuse the application's existing All button and empty-provider reset handler. */
:is(.provider-rail,.providers-shell) .provider-all { display:none!important; }
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab[data-provider=""] {
  display:grid!important; font-weight:650;
}
:is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab[data-provider=""]::before {
  content:""!important; display:block; grid-row:1; align-self:center; width:32px; height:32px;
  margin:0; padding:0; border:0; border-radius:0; box-shadow:none; opacity:.9; pointer-events:none;
  background:radial-gradient(circle at 25% 25%,currentColor 0 3px,transparent 3.5px),
    radial-gradient(circle at 75% 25%,currentColor 0 3px,transparent 3.5px),
    radial-gradient(circle at 25% 75%,currentColor 0 3px,transparent 3.5px),
    radial-gradient(circle at 75% 75%,currentColor 0 3px,transparent 3.5px);
}
@media(hover:hover) and (pointer:fine) {
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab:hover { color:#fff; }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab:hover::after { opacity:.45; transform:scaleX(.72); }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab.active:hover::after,
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab[aria-pressed="true"]:hover::after { opacity:1; transform:scaleX(1); }
}
@media(max-width:600px) {
  :is(.provider-rail,.providers-shell) { padding-top:11px!important; }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs { gap:13px; }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab {
    flex-basis:100px; width:100px; min-width:100px; max-width:100px; height:100px; min-height:100px; max-height:100px;
    grid-template-rows:48px 30px; padding:5px 3px 13px;
  }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab > .provider-logo {
    width:94px!important; height:48px!important; min-height:48px!important; max-height:48px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs { scroll-behavior:auto!important; }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab,
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab::after { transition:none!important; }
}
@media(forced-colors:active) {
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab { color:ButtonText; }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab.active::after,
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab[aria-pressed="true"]::after { background:Highlight; forced-color-adjust:none; }
  :is(.provider-rail,.providers-shell) #providerTabs.provider-tabs > .provider-tab:focus-visible { outline-color:Highlight!important; }
}
