:root {
  --bg-color-grey3: #e8eaed;
}

button { font: inherit; }
:focus-visible { outline: 2px solid #01875f; outline-offset: 3px; }

#root > .root-main .banner-container .banner-main .banner-main-action .banner-main-action-info button {
  border: 0;
  background: transparent;
}

#root > .root-main .content-container .content-main .content-main-slider .slide-list {
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.slide-list::-webkit-scrollbar { display: none; }
.slide-list .slide-item {
  flex: none;
  padding: 0;
  border: 0;
  background: transparent;
  scroll-snap-align: start;
}
.slide-list .slide-item:focus-visible { outline-offset: -3px; }
.slide-btn {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #5f6368;
  font-size: 32px;
}
.slide-btn img { display: block; width: 100%; height: 100%; }
.slide-btn:disabled { visibility: hidden; }

.local-stars { display: inline-flex; }
.tips-tag { background: white; }
.tips-tag[aria-pressed="true"] { background: #e6f3ef; }
.reference-credit { margin-top: 16px; color: #5f6368; font-size: 12px; line-height: 1.4; }

.status-message {
  position: fixed;
  z-index: 30;
  inset: auto 16px 22px;
  width: fit-content;
  max-width: calc(100% - 64px);
  margin-inline: auto;
  padding: 12px 16px;
  border-radius: 8px;
  background: #303134;
  color: #fff;
  line-height: 1.4;
}

dialog { border: 0; border-radius: 10px; color: #202124; }
dialog::backdrop { background: #000b; }
#image-dialog { padding: 0; width: min(1050px, calc(100% - 32px)); }
#image-dialog img { display: block; width: 100%; max-height: 82vh; object-fit: contain; }
.dialog-close {
  position: absolute;
  z-index: 1;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #202124;
  font-size: 23px;
  cursor: pointer;
}
#details-dialog { box-sizing: border-box; width: min(640px, calc(100% - 32px)); padding: 24px; }
#details-title { padding-right: 28px; margin-bottom: 16px; font-size: 22px; font-weight: 600; }
#details-content .card-item { display: flex; align-items: flex-start; gap: 12px; margin-top: 14px; line-height: 1.4; }
#details-content .card-item-icon { width: 20px; height: 20px; object-fit: contain; }
#details-content .card-item-content-desc { color: #5f6368; }

@media (max-width: 840px) { .status-message { bottom: 72px; } }
@media (prefers-reduced-motion: reduce) {
  #root > .root-main .content-container .content-main .content-main-slider .slide-list { scroll-behavior: auto; }
}
