/* Keep each CTA's label, icon and arrow together at the button's centre.
   Colours, artwork and the existing shine animation remain with their source styles. */
html body :is(a.sl-button, a.sl-v31-support-button, a.slot-rounded-cta),
html body.v6-article.gg-v2 .gg-article a:is(.article-cta, .slot35-hook-action, .slot34-hook-action, .article-line-cta, .gg-line-button, .v6-line-button) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: row !important;
  gap: 10px !important;
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

html body :is(a.sl-button, a.sl-v31-support-button, a.slot-rounded-cta) > span,
html body.v6-article.gg-v2 .gg-article a:is(.article-cta, .slot35-hook-action, .slot34-hook-action, .article-line-cta, .gg-line-button, .v6-line-button) > span {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  text-align: center !important;
  white-space: normal !important;
}

html body :is(a.sl-button, a.sl-v31-support-button, a.slot-rounded-cta) > :is([aria-hidden="true"], svg),
html body.v6-article.gg-v2 .gg-article a:is(.article-cta, .slot35-hook-action, .slot34-hook-action, .article-line-cta, .gg-line-button, .v6-line-button) > :is([aria-hidden="true"], svg, .line-brand-wrap) {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  margin-inline: 0 !important;
}

/* Author styles must not reveal the no-JS hint after the rail replaces it. */
html body.v6-article.gg-v2 .gg-article :is(.step-swipe-hint, .registration-swipe-hint, .step-rail-controls)[hidden] {
  display: none !important;
}

@media (max-width: 359px) {
  html body :is(a.sl-button:not(.sl-header-cta), a.sl-v31-support-button, a.slot-rounded-cta),
  html body.v6-article.gg-v2 .gg-article a:is(.article-cta, .slot35-hook-action, .slot34-hook-action, .article-line-cta, .gg-line-button, .v6-line-button) {
    gap: 8px !important;
    padding-inline: 12px !important;
  }
}

/* Updated text shares the article typeface, including the new 100-spin label. */
@font-face {
  font-family: 'Slot Editorial 45';
  src: url('/assets/fonts/slot-editorial-v46.woff') format('woff');
  font-weight: 400;
  font-display: swap;
}
body.sl-home :is(.sl-v30-start-offer,.sl-v32-bottom-title,.sl-v32-bottom-kicker,.slot46-spin-note,.sl-button) {
  font-family: 'Slot Editorial 45', 'GG Sans', sans-serif !important;
}
body.sl-home .slot46-spin-note {
  display: block;
  margin: 6px 0 0;
  color: #dccfba;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0;
}
body.sl-home .sl-bottom-center > .slot46-spin-note { margin: 6px 0 16px; }
html body.sl-home.sl-v40 :is(.sl-v30-start-offer,.sl-v32-bottom-title,.sl-v32-bottom-kicker,.slot46-spin-note,.sl-button) * {
  font-family: 'Slot Editorial 45', 'GG Sans', sans-serif !important;
}
/* Keep the longer 100-spin offer readable beside its ticket on narrow screens. */
html body.sl-home.sl-v40 .sl-v30-start-offer em { font-size: 44px; }
@media (max-width: 1100px) {
  html body.sl-home.sl-v40 .sl-v30-start-offer em { font-size: 31px; }
}
@media (max-width: 359px) {
  html body.sl-home.sl-v40 .sl-v30-start-offer em { font-size: 26px; }
}
/* Text labels are not arrow glyphs: inherit the button's intended type size. */
html body.sl-home a.sl-button > span:not([aria-hidden="true"]) {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1.4 !important;
}
html body.sl-home :is(.sl-v30-main-cta,.sl-bottom-cta .sl-button) { font-size: 20px !important; }
html body.sl-home .sl-v31-bonus-cta { font-size: 17px !important; }
/* Shared chrome and index pages also need the complete Japanese glyph subset. */
html body :is(.sl-header,.sl-footer,.sl-home main) :is(h1,h2,h3,h4,p,a,span,small,strong,em,b,li,dt,dd,td,th),
html body.v6-article.gg-v2 .gg-article.collection-index-article :is(h1,h2,h3,h4,p,a,span,small,strong,em,b,li,td,th) {
  font-family: 'Slot Editorial 45', 'GG Sans', sans-serif !important;
}
@media (max-width: 359px) {
  html body.sl-home :is(.sl-v30-main-cta,.sl-bottom-cta .sl-button) { font-size: 17px !important; }
  html body.sl-home .sl-v31-bonus-cta { font-size: 15px !important; }
}
