.loto-site.loto-sub-hero {
  --loto-blue: #3b82f6;
  --loto-blue-dark: #1d4ed8;
  --loto-blue-soft: #eff6ff;
  --loto-text: #1f2937;
  --loto-heading: #111827;
  --loto-muted: #6b7280;
  --loto-border: #e5e7eb;
  --loto-border-strong: #d1d5db;
  --loto-white: #ffffff;
  --loto-radius-md: 18px;
  --loto-radius-xl: 32px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --loto-shadow-md: 0 16px 36px rgba(15, 23, 42, .08);
  --game-color: var(--loto-main-color, #3b82f6);
  --game-color-dark: var(--loto-accent-color, #1d4ed8);
  --game-soft: var(--loto-sub-color, #eff6ff);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0 0 52px;
  padding: 48px 28px 34px;
  border-radius: var(--loto-radius-xl);
  border: 1px solid var(--loto-border);
  color: var(--loto-text);
  font-feature-settings: "palt";
}

.loto-site.loto-sub-hero *,
.loto-site.loto-sub-hero *::before,
.loto-site.loto-sub-hero *::after {
  box-sizing: border-box;
}

.loto-site.loto-sub-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -120px;
  width: 250px;
  height: 250px;
  border-radius: 999px;
  background: rgba(59, 130, 246, .07);
  pointer-events: none;
}

.loto-site.loto-sub-hero .loto-container {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  margin-inline: auto;
}

.loto-site.loto-sub-hero .loto-sub-hero__content {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.loto-site.loto-sub-hero .loto-sub-hero__title {
  margin: 0;
  color: var(--loto-heading);
  font-size: clamp(1.95rem, 3.6vw, 2.8rem);
  font-weight: 800;
  line-height: 1.34;
  letter-spacing: .03em;
}

.loto-site.loto-sub-hero .loto-numbers-block-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 24px auto 0;
}

.loto-site.loto-sub-hero .loto-numbers-block-hero__inner > * + * {
  margin-top: 18px;
}

.loto-site.loto-sub-hero .loto-sub-hero__specs {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
}

.loto-site.loto-sub-hero .loto-analyzer.loto-game-specs-wrap,
.loto-site.loto-sub-hero .loto-analyzer.loto-game-menu-wrap {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.loto-site.loto-sub-hero .loto-game-specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(860px, 100%);
  margin: 0 auto;
}

.loto-site.loto-sub-hero .loto-game-spec-card {
  padding: 18px 20px;
  border-radius: var(--loto-radius-md);
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
  text-align: center;
}

.loto-site.loto-sub-hero .loto-game-spec-card__label {
  display: inline-flex;
  margin: 0 0 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--game-soft);
  color: var(--game-color-dark);
  font-size: .74rem;
  font-weight: 900;
  line-height: 1;
}

.loto-site.loto-sub-hero .loto-game-spec-card strong {
  display: block;
  margin: 0 0 5px;
  color: var(--loto-heading);
  font-size: 1.5rem;
  line-height: 1.2;
}

.loto-site.loto-sub-hero .loto-game-spec-card p {
  margin: 0;
  color: var(--loto-muted);
  font-size: .9rem;
  line-height: 1.6;
}

.loto-site.loto-sub-hero .loto-hero-quicknav {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
}

.loto-site.loto-sub-hero .loto-hero-quicknav__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--game-color-dark);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.4;
}

.loto-site.loto-sub-hero .loto-hero-quicknav__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--game-color);
}

.loto-site.loto-sub-hero .loto-game-menu__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.loto-site.loto-sub-hero .loto-game-menu-card {
  position: relative;
  display: block;
  min-height: 92px;
  padding: 14px 10px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--loto-border);
  box-shadow: none;
  text-align: center;
  overflow: hidden;
  color: var(--loto-text);
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.loto-site.loto-sub-hero .loto-game-menu-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--game-color);
}

.loto-site.loto-sub-hero .loto-game-menu-card:hover {
  transform: translateY(-3px);
  border-color: var(--game-color);
  box-shadow: var(--loto-shadow-sm);
  background: #ffffff;
  color: var(--loto-text);
  text-decoration: none;
}

.loto-site.loto-sub-hero .loto-game-menu-card__label {
  display: none;
}

.loto-site.loto-sub-hero .loto-game-menu-card__title {
  position: relative;
  z-index: 1;
  display: block;
  margin: 4px 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--loto-heading);
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.35;
}

.loto-site.loto-sub-hero .loto-game-menu-card__title::before,
.loto-site.loto-sub-hero .loto-game-menu-card__title::after {
  content: none !important;
  display: none !important;
}

.loto-site.loto-sub-hero .loto-game-menu-card__text {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0;
  color: var(--loto-muted);
  font-size: .76rem;
  line-height: 1.5;
}

@media (max-width: 960px) {
  .loto-site.loto-sub-hero .loto-game-specs {
    grid-template-columns: 1fr;
  }

  .loto-site.loto-sub-hero .loto-game-menu__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .loto-site.loto-sub-hero {
    margin-bottom: 36px;
    padding: 34px 18px 26px;
    border-radius: 24px;
  }

  .loto-site.loto-sub-hero .loto-sub-hero__content {
    text-align: left;
  }

  .loto-site.loto-sub-hero .loto-sub-hero__title {
    font-size: clamp(1.72rem, 7.5vw, 2.25rem);
  }

  .loto-site.loto-sub-hero .loto-hero-quicknav {
    padding: 16px;
  }

  .loto-site.loto-sub-hero .loto-game-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .loto-site.loto-sub-hero .loto-game-menu-card {
    min-height: 86px;
    padding: 13px 9px;
  }

  .loto-site.loto-sub-hero .loto-game-menu-card__title {
    font-size: .9rem;
  }

  .loto-site.loto-sub-hero .loto-game-menu-card__text {
    font-size: .74rem;
  }
}

.loto-numbers-block-section,
.loto-numbers-game-intro-cards,
.loto-numbers-quick-menu {
  --loto-text: #1f2937;
  --loto-heading: #111827;
  --loto-muted: #6b7280;
  --loto-border: #e5e7eb;
  --loto-border-strong: #d1d5db;
  --loto-white: #ffffff;
  --loto-radius-md: 18px;
  --loto-radius-xl: 32px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --loto-shadow-md: 0 16px 36px rgba(15, 23, 42, .08);
  --game-color: var(--loto-main-color, #3b82f6);
  --game-color-dark: var(--loto-accent-color, #1d4ed8);
  --game-soft: var(--loto-sub-color, #eff6ff);
  box-sizing: border-box;
  color: var(--loto-text);
  font-feature-settings: "palt";
}

.loto-numbers-block-section *,
.loto-numbers-block-section *::before,
.loto-numbers-block-section *::after,
.loto-numbers-game-intro-cards *,
.loto-numbers-game-intro-cards *::before,
.loto-numbers-game-intro-cards *::after,
.loto-numbers-quick-menu *,
.loto-numbers-quick-menu *::before,
.loto-numbers-quick-menu *::after {
  box-sizing: border-box;
}

.loto-numbers-block-section {
  margin: 52px 0;
}

.loto-numbers-block-section.loto-section--soft {
  padding: 48px 28px;
  border-radius: var(--loto-radius-xl);
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, var(--game-soft) 100%);
  border: 1px solid var(--loto-border);
}

.loto-numbers-block-section > .loto-container {
  width: min(1120px, 100%);
  margin-inline: auto;
}

.loto-numbers-block-section .loto-heading-block {
  max-width: 860px;
  margin: 0 auto 24px;
  text-align: center;
}

.loto-numbers-block-section .loto-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--game-color-dark);
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .12em;
}

.loto-numbers-block-section .loto-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--game-color);
}

.loto-numbers-block-section .loto-heading-block h2 {
  margin: 0;
  color: var(--loto-heading);
  font-size: clamp(1.45rem, 2.7vw, 2.15rem);
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: .02em;
}

.loto-numbers-block-section .loto-heading-block p:not(.loto-kicker) {
  margin: 12px 0 0;
  color: var(--loto-muted);
  font-size: .98rem;
  line-height: 1.8;
}

.loto-numbers-block-section__inner {
  max-width: 980px;
  margin: 0 auto;
}

.loto-numbers-block-section__inner > * + * {
  margin-top: 18px;
}

.loto-numbers-block-section__inner.loto-shortcode-panel {
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
}

.loto-numbers-game-intro-cards .loto-analyzer.loto-game-specs-wrap,
.loto-numbers-quick-menu .loto-analyzer.loto-game-menu-wrap {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.loto-numbers-game-intro-cards .loto-game-specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(860px, 100%);
  margin: 0 auto;
}

.loto-numbers-game-intro-cards .loto-game-spec-card {
  padding: 18px 20px;
  border-radius: var(--loto-radius-md);
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
  text-align: center;
}

.loto-numbers-game-intro-cards .loto-game-spec-card__label {
  display: inline-flex;
  margin: 0 0 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--game-soft);
  color: var(--game-color-dark);
  font-size: .74rem;
  font-weight: 900;
  line-height: 1;
}

.loto-numbers-game-intro-cards .loto-game-spec-card strong {
  display: block;
  margin: 0 0 5px;
  color: var(--loto-heading);
  font-size: 1.5rem;
  line-height: 1.2;
}

.loto-numbers-game-intro-cards .loto-game-spec-card p {
  margin: 0;
  color: var(--loto-muted);
  font-size: .9rem;
  line-height: 1.6;
}

.loto-numbers-quick-menu.loto-hero-quicknav {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
}

.loto-numbers-quick-menu .loto-hero-quicknav__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--game-color-dark);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.4;
}

.loto-numbers-quick-menu .loto-hero-quicknav__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--game-color);
}

.loto-numbers-quick-menu .loto-game-menu__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.loto-numbers-quick-menu .loto-game-menu-card {
  position: relative;
  display: block;
  min-height: 92px;
  padding: 14px 10px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--loto-border);
  text-align: center;
  overflow: hidden;
  color: var(--loto-text);
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.loto-numbers-quick-menu .loto-game-menu-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--game-color);
}

.loto-numbers-quick-menu .loto-game-menu-card:hover {
  transform: translateY(-3px);
  border-color: var(--game-color);
  box-shadow: var(--loto-shadow-sm);
  background: #ffffff;
  color: var(--loto-text);
  text-decoration: none;
}

.loto-numbers-quick-menu .loto-game-menu-card__label {
  display: none;
}

.loto-numbers-quick-menu .loto-game-menu-card__title {
  position: relative;
  z-index: 1;
  display: block;
  margin: 4px 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--loto-heading);
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.35;
}

.loto-numbers-quick-menu .loto-game-menu-card__text {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0;
  color: var(--loto-muted);
  font-size: .76rem;
  line-height: 1.5;
}

@media (max-width: 960px) {
  .loto-numbers-game-intro-cards .loto-game-specs {
    grid-template-columns: 1fr;
  }

  .loto-numbers-quick-menu .loto-game-menu__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .loto-numbers-block-section {
    margin: 36px 0;
  }

  .loto-numbers-block-section.loto-section--soft {
    padding: 34px 18px;
    border-radius: 24px;
  }

  .loto-numbers-block-section .loto-heading-block {
    text-align: left;
  }

  .loto-numbers-block-section__inner.loto-shortcode-panel {
    padding: 16px;
    border-radius: 20px;
  }

  .loto-numbers-quick-menu .loto-game-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
}


/* v1.0.3: reusable editor blocks */
.loto-numbers-lead,
.loto-site.loto-sub-hero .loto-numbers-lead,
.loto-numbers-block-section .loto-numbers-lead {
  max-width: 780px;
  margin: 0 auto;
  color: var(--loto-muted, #6b7280);
  font-size: 1rem;
  line-height: 1.85;
  text-align: center;
}

.loto-numbers-lead--left {
  text-align: left;
  margin-inline: 0 auto;
}


/* v1.0.16: lead block should behave as text only, without inherited frames */
.loto-numbers-lead,
.loto-site.loto-sub-hero .loto-numbers-lead,
.loto-numbers-block-section .loto-numbers-lead {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.loto-numbers-panel-block,
.loto-numbers-cta-panel,
.loto-numbers-basic-panel,
.loto-numbers-data-source-block,
.loto-numbers-container-block {
  --loto-text: #1f2937;
  --loto-heading: #111827;
  --loto-muted: #6b7280;
  --loto-border: #e5e7eb;
  --loto-white: #ffffff;
  --loto-radius-md: 18px;
  --loto-radius-lg: 24px;
  --loto-radius-xl: 32px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --game-color: var(--loto-main-color, #3b82f6);
  --game-color-dark: var(--loto-accent-color, #1d4ed8);
  --game-soft: var(--loto-sub-color, #eff6ff);
  box-sizing: border-box;
  color: var(--loto-text);
  font-feature-settings: "palt";
}

.loto-numbers-panel-block *,
.loto-numbers-panel-block *::before,
.loto-numbers-panel-block *::after,
.loto-numbers-cta-panel *,
.loto-numbers-cta-panel *::before,
.loto-numbers-cta-panel *::after,
.loto-numbers-basic-panel *,
.loto-numbers-basic-panel *::before,
.loto-numbers-basic-panel *::after,
.loto-numbers-data-source-block *,
.loto-numbers-data-source-block *::before,
.loto-numbers-data-source-block *::after,
.loto-numbers-container-block *,
.loto-numbers-container-block *::before,
.loto-numbers-container-block *::after {
  box-sizing: border-box;
}



/* v1.0.16: generic loto-panel block */
.loto-panel.loto-numbers-panel-block {
  padding: 28px;
  border-radius: var(--loto-radius-lg, 24px);
  background: var(--loto-white, #ffffff);
  border: 1px solid var(--loto-border, #e5e7eb);
  box-shadow: var(--loto-shadow-sm, 0 14px 30px rgba(15, 23, 42, .07));
  color: var(--loto-text, #1f2937);
}

.loto-panel.loto-panel--accent.loto-numbers-panel-block {
  background:
    radial-gradient(circle at 100% 0%, var(--game-soft, #eff6ff) 0%, transparent 34%),
    linear-gradient(135deg, #ffffff 0%, var(--game-soft, #eff6ff) 100%);
  border-color: var(--game-soft, #eff6ff);
}

.loto-panel.loto-numbers-panel-block--plain {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.loto-numbers-panel-block .loto-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--game-color-dark, #1d4ed8);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.4;
}

.loto-numbers-panel-block .loto-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--game-color, #3b82f6);
}

.loto-numbers-panel-block .loto-panel__title {
  margin: 0;
  color: var(--loto-heading, #111827);
  font-size: clamp(1.25rem, 2.3vw, 1.75rem);
  font-weight: 850;
  line-height: 1.38;
}

.loto-numbers-panel-block .loto-panel__text {
  margin: 12px 0 0;
  color: var(--loto-muted, #6b7280);
  font-size: .98rem;
  line-height: 1.8;
}

.loto-numbers-panel-block__inner {
  margin-top: 0;
}

.loto-numbers-panel-block .loto-panel__title + .loto-numbers-panel-block__inner,
.loto-numbers-panel-block .loto-panel__text + .loto-numbers-panel-block__inner,
.loto-numbers-panel-block .loto-kicker + .loto-numbers-panel-block__inner {
  margin-top: 18px;
}

.loto-numbers-panel-block__inner > :first-child {
  margin-top: 0;
}

.loto-numbers-panel-block__inner > :last-child {
  margin-bottom: 0;
}

.loto-panel.loto-numbers-cta-panel {
  padding: 28px;
  border-radius: var(--loto-radius-lg);
  background: var(--loto-white);
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
}

.loto-panel.loto-panel--accent.loto-numbers-cta-panel {
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color) 10%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, var(--game-soft) 100%);
}

.loto-numbers-cta-panel .loto-kicker,
.loto-numbers-data-source-block .loto-box-title {
  color: var(--game-color-dark);
}

.loto-numbers-cta-panel h2,
.loto-numbers-cta-panel h3 {
  margin: 0;
  color: var(--loto-heading);
  font-size: clamp(1.25rem, 2.3vw, 1.75rem);
  font-weight: 850;
  line-height: 1.38;
}

.loto-numbers-cta-panel .loto-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.4;
}

.loto-numbers-cta-panel .loto-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--game-color);
}

.loto-numbers-cta-panel p:not(.loto-kicker) {
  margin: 12px 0 0;
  color: var(--loto-muted);
  font-size: .98rem;
  line-height: 1.8;
}

.loto-numbers-cta-panel .loto-panel-link {
  display: inline-flex;
  margin: 18px 0 0;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border-radius: 999px;
  background: var(--game-color);
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
}

.loto-numbers-cta-panel .loto-panel-link:hover {
  background: var(--game-color-dark);
  color: #ffffff;
  text-decoration: none;
}

.loto-numbers-data-source-block {
  margin: 0;
}

.loto-numbers-data-source-block .loto-box.loto-data-source {
  padding: 22px 24px;
  border-radius: var(--loto-radius-md);
  border: 1px solid var(--game-soft);
  background: linear-gradient(135deg, #ffffff 0%, var(--game-soft) 100%);
  box-shadow: inset 4px 0 0 var(--game-color), 0 10px 26px rgba(15, 23, 42, .04);
}

.loto-numbers-data-source-block .loto-box-title {
  margin: 0 0 12px;
  padding-left: 10px;
  border-left: 4px solid var(--game-color);
  font-weight: 900;
  line-height: 1.4;
}

.loto-numbers-data-source-block p {
  margin: 8px 0 0;
  color: var(--loto-text);
  font-size: .95rem;
  line-height: 1.75;
}

.loto-numbers-data-source-block strong,
.loto-numbers-data-source-block a {
  color: var(--game-color-dark);
}

.loto-numbers-data-source-block a {
  text-decoration-color: var(--game-color);
  text-underline-offset: 3px;
}

.loto-numbers-container-block > .loto-container {
  width: min(1120px, 100%);
  margin-inline: auto;
}

.loto-numbers-container-block.loto-section {
  margin: 52px 0;
}

.loto-numbers-container-block.loto-section--soft {
  padding: 48px 28px;
  border-radius: var(--loto-radius-xl);
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, var(--game-soft) 100%);
  border: 1px solid var(--loto-border);
}

.loto-numbers-container-block .loto-container > * + * {
  margin-top: 18px;
}

/* v1.0.4: home hero, game cards and family latest cards */
.loto-numbers-home-hero,
.loto-numbers-game-card-block,
.loto-numbers-family-latest-card-block {
  --loto-blue: #3b82f6;
  --loto-blue-dark: #1d4ed8;
  --loto-blue-soft: #eff6ff;
  --loto-text: #1f2937;
  --loto-heading: #111827;
  --loto-muted: #64748b;
  --loto-border: #e5e7eb;
  --loto-border-strong: #cbd5e1;
  --loto-white: #ffffff;
  --loto-radius-xl: 32px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --loto-shadow-md: 0 16px 36px rgba(15, 23, 42, .08);
  --game-color: var(--loto-main-color, #3b82f6);
  --game-color-dark: var(--loto-accent-color, #1d4ed8);
  --game-soft: var(--loto-sub-color, #eff6ff);
  box-sizing: border-box;
}

.loto-numbers-home-hero *,
.loto-numbers-home-hero *::before,
.loto-numbers-home-hero *::after,
.loto-numbers-game-card-block *,
.loto-numbers-game-card-block *::before,
.loto-numbers-game-card-block *::after,
.loto-numbers-family-latest-card-block *,
.loto-numbers-family-latest-card-block *::before,
.loto-numbers-family-latest-card-block *::after {
  box-sizing: border-box;
}

.loto-numbers-home-hero.loto-home-hero {
  position: relative;
  overflow: hidden;
  margin: 0 0 52px;
  padding: clamp(36px, 5vw, 58px) clamp(18px, 4vw, 44px) clamp(28px, 4vw, 42px);
  border-radius: var(--loto-radius-xl);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--game-color) 16%, transparent), transparent 30%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--game-color) 10%, transparent), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, var(--game-soft) 100%);
  border: 1px solid var(--loto-border);
  box-shadow: 0 20px 56px rgba(15, 23, 42, .07);
  color: var(--loto-text);
  font-feature-settings: "palt";
}

.loto-numbers-home-hero.loto-home-hero::after {
  content: "";
  position: absolute;
  inset: auto -70px -120px auto;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--game-color) 8%, transparent);
  pointer-events: none;
}

.loto-numbers-home-hero > .loto-container {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 1080px;
  margin-inline: auto;
}

.loto-numbers-home-hero .loto-hero__content {
  max-width: 860px;
  margin: 0 auto 26px;
  text-align: center;
}

.loto-numbers-home-hero .loto-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--game-color-dark);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.4;
}

.loto-numbers-home-hero .loto-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--game-color);
}

.loto-numbers-home-hero .loto-hero__title {
  margin: 0;
  color: var(--loto-heading);
  font-size: clamp(2rem, 4.8vw, 3.2rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .02em;
}

.loto-numbers-home-hero .loto-hero__lead {
  max-width: 780px;
  margin: 18px auto 0;
  color: var(--loto-muted);
  font-size: clamp(1rem, 2vw, 1.12rem);
  line-height: 1.9;
}

.loto-numbers-home-hero .loto-home-hero__note {
  width: fit-content;
  max-width: 100%;
  margin: 18px auto 0;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid var(--loto-border);
  color: var(--loto-muted);
  font-size: .9rem;
  line-height: 1.6;
  text-align: center;
}

.loto-numbers-home-hero .loto-hero-quicknav {
  max-width: 980px;
  margin: 26px auto 0;
  padding: 18px;
  border-radius: 26px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(226, 232, 240, .94);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .06);
}

.loto-numbers-home-hero .loto-game-grid,
.loto-numbers-home-hero .loto-home-game-grid,
.loto-family-latest-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  align-items: stretch;
}

.loto-game-card.loto-numbers-game-card-block {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .95);
  color: var(--loto-text);
  border: 1px solid var(--loto-border);
  box-shadow: var(--loto-shadow-sm);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.loto-game-card.loto-numbers-game-card-block::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--game-color);
}

.loto-game-card.loto-numbers-game-card-block::after {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 104px;
  height: 104px;
  border-radius: 999px;
  background: var(--game-soft);
  opacity: .72;
  pointer-events: none;
}

.loto-game-card.loto-numbers-game-card-block:hover {
  transform: translateY(-4px);
  box-shadow: var(--loto-shadow-md);
  border-color: var(--game-color);
  background: #fff;
}

.loto-numbers-game-card-block .loto-game-card__badge,
.loto-numbers-game-card-block .loto-game-card__title,
.loto-numbers-game-card-block .loto-game-card__text,
.loto-numbers-game-card-block .loto-game-card__meta,
.loto-numbers-game-card-block .loto-game-card__button {
  position: relative;
  z-index: 1;
}

.loto-numbers-game-card-block .loto-game-card__badge {
  align-self: flex-start;
  margin: 0 0 5px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--game-soft);
  color: var(--game-color-dark);
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.loto-numbers-game-card-block .loto-game-card__title {
  display: block;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--loto-heading);
  font-size: 1.46rem;
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: .03em;
}

.loto-numbers-game-card-block .loto-game-card__text {
  margin: 0 0 12px;
  color: var(--loto-muted);
  font-size: .92rem;
  line-height: 1.66;
}

.loto-numbers-game-card-block .loto-game-card__meta {
  margin: auto 0 11px;
  padding: 9px 0 0;
  border-top: 1px dashed var(--loto-border-strong);
  color: var(--loto-text);
  font-size: .85rem;
  font-weight: 800;
  line-height: 1.4;
}

.loto-numbers-game-card-block .loto-game-card__button {
  display: flex;
  min-height: 39px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 13px;
  background: var(--game-color);
  color: #fff !important;
  font-size: .91rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-decoration: none !important;
}

.loto-numbers-game-card-block .loto-game-card__button::after,
.loto-numbers-family-latest-card-block .loto-family-latest-card__button::after {
  content: " →";
  margin-left: 4px;
}

.loto-family-latest-card.loto-numbers-family-latest-card-block {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
  border-radius: 26px;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, .95) 100%);
  border: 1px solid rgba(226, 232, 240, .95);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
  overflow: hidden;
}

.loto-family-latest-card.loto-numbers-family-latest-card-block::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, var(--game-color), var(--game-soft));
}

.loto-family-latest-card.loto-numbers-family-latest-card-block::after {
  content: "";
  position: absolute;
  right: -56px;
  top: -56px;
  width: 132px;
  height: 132px;
  border-radius: 999px;
  background: var(--game-soft);
  opacity: .65;
  pointer-events: none;
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__head,
.loto-numbers-family-latest-card-block .loto-family-latest-card__draw,
.loto-numbers-family-latest-card-block .loto-family-latest-card__numbers,
.loto-numbers-family-latest-card-block .loto-family-latest-card__button {
  position: relative;
  z-index: 1;
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(203, 213, 225, .95);
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--game-soft);
  color: var(--game-color-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.loto-numbers-family-latest-card-block h3 {
  margin: 0;
  color: var(--loto-heading);
  font-size: 1.22rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: left;
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__draw {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--game-soft);
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__draw strong {
  color: var(--game-color-dark);
  font-size: 1.15rem;
  font-weight: 900;
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__draw span {
  color: var(--loto-heading);
  font-size: .9rem;
  font-weight: 800;
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__numbers {
  padding: 14px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, .95);
}

.loto-numbers-family-latest-card-block .loto-result-number-row {
  display: grid;
  gap: 8px;
}

.loto-numbers-family-latest-card-block .loto-result-number-row + .loto-result-number-row {
  margin-top: 12px;
}

.loto-numbers-family-latest-card-block .loto-result-number-row__label {
  color: var(--loto-heading);
  font-size: .9rem;
  font-weight: 800;
}

.loto-numbers-family-latest-card-block .loto-balls {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.loto-numbers-family-latest-card-block .loto-ball {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 999px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
}

.loto-numbers-family-latest-card-block .loto-ball-main {
  background: var(--game-color);
  color: #fff;
}

.loto-numbers-family-latest-card-block .loto-ball-bonus {
  background: #fff;
  color: var(--game-color-dark);
  border: 2px solid var(--game-color);
}

.loto-numbers-family-latest-card-block .loto-family-latest-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: auto;
  padding: 9px 15px;
  border-radius: 999px;
  background: var(--game-color);
  color: #fff !important;
  font-weight: 900;
  text-decoration: none !important;
}

@media (max-width: 640px) {
  .loto-numbers-home-hero.loto-home-hero {
    padding: 34px 16px 26px;
    border-radius: 26px;
  }
  .loto-numbers-home-hero .loto-hero-quicknav {
    padding: 14px;
    border-radius: 22px;
  }
  .loto-numbers-home-hero .loto-game-grid,
  .loto-numbers-home-hero .loto-home-game-grid,
  .loto-family-latest-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.0.5: article cards, notes, index groups, guide/term cards, tabs, FAQ items */
.loto-numbers-article-link-card-block,
.loto-numbers-analysis-note-block,
.loto-numbers-section-index-group-block,
.loto-numbers-guide-term-card-block,
.loto-numbers-tabs-block,
.loto-numbers-faq-item-block {
  --loto-heading: #111827;
  --loto-text: #1f2937;
  --loto-muted: #6b7280;
  --loto-border: #e5e7eb;
  --loto-white: #ffffff;
  --loto-radius-md: 18px;
  --loto-radius-lg: 24px;
  --loto-radius-xl: 32px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --loto-shadow-md: 0 16px 36px rgba(15, 23, 42, .08);
  --article-accent: var(--game-color, #2563eb);
  --article-accent-dark: var(--game-color-dark, #1d4ed8);
  --article-accent-soft: var(--game-soft, #eff6ff);
  box-sizing: border-box;
}

.loto-numbers-article-link-card-block *,
.loto-numbers-analysis-note-block *,
.loto-numbers-section-index-group-block *,
.loto-numbers-guide-term-card-block *,
.loto-numbers-tabs-block *,
.loto-numbers-faq-item-block * {
  box-sizing: border-box;
}

.loto-article-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.loto-article-link-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 24px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .07);
}

.loto-article-link-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--article-accent, var(--game-color, #2563eb)), var(--article-accent-dark, var(--game-color-dark, #1d4ed8)));
}

.loto-article-link-card__label {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 12px;
  color: var(--article-accent-dark, var(--game-color-dark, #1d4ed8));
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  background: var(--article-accent-soft, var(--game-soft, #eff6ff));
  border-radius: 999px;
}

.loto-article-link-card h2,
.loto-article-link-card h3,
.loto-article-link-card h4 {
  margin: 0;
  color: var(--loto-heading, #111827);
  font-size: 1.08rem;
  line-height: 1.55;
}

.loto-article-link-card p {
  flex: 1;
  margin: 0;
  color: var(--loto-muted, #6b7280);
  font-size: .94rem;
  line-height: 1.8;
}

.loto-article-link-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  color: #fff !important;
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none !important;
  background: var(--article-accent, var(--game-color, #2563eb));
  border: 1px solid var(--article-accent, var(--game-color, #2563eb));
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.loto-article-link-card__button:hover,
.loto-article-link-card__button:focus-visible {
  color: #fff !important;
  background: var(--article-accent-dark, var(--game-color-dark, #1d4ed8));
  border-color: var(--article-accent-dark, var(--game-color-dark, #1d4ed8));
  box-shadow: 0 16px 30px rgba(15, 23, 42, .16);
  transform: translateY(-1px);
}

.loto-site .loto-analysis-note {
  --note-color: var(--game-color, #2563eb);
  --note-color-dark: var(--game-color-dark, #1d4ed8);
  --note-soft: var(--game-soft, #eff6ff);
  position: relative;
  max-width: 980px;
  margin: 22px auto 0;
  padding: 16px 18px 16px 42px;
  border: 1px solid color-mix(in srgb, var(--note-color) 18%, var(--loto-border, #e5e7eb));
  border-left: 5px solid var(--note-color);
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--note-soft) 62%, #ffffff) 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
  color: var(--loto-text, #1f2937) !important;
  font-size: .93rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: left;
}

.loto-site .loto-analysis-note::before {
  content: "";
  position: absolute;
  top: calc(var(--loto-box-inner-padding, 26px) + .675em);
  left: 18px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--note-color);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--note-color) 14%, transparent);
}

.loto-site .loto-analysis-note strong {
  display: block;
  margin: 0 0 4px;
  color: var(--note-color-dark) !important;
  font-size: .95rem;
  font-weight: 900;
  letter-spacing: .02em;
}

.loto-section-index-groups {
  display: grid;
  gap: 28px;
}

.loto-section-index-group {
  padding: clamp(18px, 3vw, 26px);
  border-radius: 28px;
  border: 1px solid var(--loto-border, #e5e7eb);
  background: #fff;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .05);
}

.loto-section-index-group--loto {
  background: linear-gradient(135deg, #fff 0%, var(--game-soft, #eff6ff) 100%);
}

.loto-section-index-group--numbers {
  background: linear-gradient(135deg, #fff 0%, var(--game-soft, #f5f3ff) 100%);
}

.loto-section-index-group--site-info {
  background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
}

.loto-section-index-group--loto7,
.loto-section-index-group--loto6,
.loto-section-index-group--miniloto,
.loto-section-index-group--numbers3,
.loto-section-index-group--numbers4,
.loto-section-index-group--theme-loto7,
.loto-section-index-group--theme-loto6,
.loto-section-index-group--theme-miniloto,
.loto-section-index-group--theme-numbers3,
.loto-section-index-group--theme-numbers4 {
  background: linear-gradient(135deg, #fff 0%, var(--game-soft, #eff6ff) 100%);
}

.loto-section-index-group__head span {
  color: var(--game-color-dark, #1d4ed8);
}

.loto-section-index-group__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.loto-section-index-group__head span {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.loto-section-index-group__head > :last-child {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--loto-heading, #111827);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.35;
}

.loto-section-index-group__head > :last-child::before,
.loto-section-index-group__head > :last-child::after {
  content: none !important;
  display: none !important;
}

.loto-section-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.loto-section-index-grid--stack {
  grid-template-columns: minmax(0, 1fr);
}

.loto-guide-card,
.loto-term-card {
  position: relative;
  padding: 22px;
  border-radius: var(--loto-radius-md, 18px);
  background: var(--loto-white, #fff);
  border: 1px solid var(--loto-border, #e5e7eb);
  box-shadow: var(--loto-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
  overflow: hidden;
}

.loto-term-card {
  border-color: color-mix(in srgb, var(--game-color, #2563eb) 14%, var(--loto-border, #e5e7eb));
}

.loto-term-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--game-color, #2563eb);
}

.loto-guide-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
}

.loto-guide-card__number {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--game-color, #2563eb);
  color: #fff;
  font-size: .88rem;
  font-weight: 900;
  flex: 0 0 auto;
}

.loto-guide-card__label,
.loto-term-card__tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--game-soft, #eff6ff);
  color: var(--game-color-dark, #1d4ed8);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
}

.loto-guide-card h2,
.loto-guide-card h3,
.loto-guide-card h4,
.loto-term-card h2,
.loto-term-card h3,
.loto-term-card h4 {
  margin: 0 0 8px;
  color: var(--loto-heading, #111827);
  font-size: 1.05rem;
  line-height: 1.45;
}

.loto-term-card .loto-term-card__tag + h2,
.loto-term-card .loto-term-card__tag + h3,
.loto-term-card .loto-term-card__tag + h4 {
  margin-top: 12px;
}

.loto-guide-card p,
.loto-term-card p {
  margin: 0;
  color: var(--loto-muted, #6b7280);
  font-size: .94rem;
  line-height: 1.75;
}

.loto-game-glossary-tabs,
.loto-game-faq-tabs {
  --glossary-loto-color: #2563eb;
  --glossary-loto-color-dark: #1d4ed8;
  --glossary-loto-soft: #eff6ff;
  --glossary-numbers-color: #ec4899;
  --glossary-numbers-color-dark: #be185d;
  --glossary-numbers-soft: #fdf2f8;
  --faq-loto-color: #2563eb;
  --faq-loto-color-dark: #1d4ed8;
  --faq-loto-soft: #eff6ff;
  --faq-numbers-color: #ec4899;
  --faq-numbers-color-dark: #be185d;
  --faq-numbers-soft: #fdf2f8;
  --faq-active-color: var(--game-color, #2563eb);
  --faq-active-color-dark: var(--game-color-dark, #1d4ed8);
  --faq-active-soft: var(--game-soft, #eff6ff);
}

.loto-glossary-tabs,
.loto-faq-tabs {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--game-color, #2563eb) 16%, var(--loto-border, #e5e7eb));
  border-radius: var(--loto-radius-xl, 32px);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
  padding: clamp(18px, 3vw, 30px);
  overflow: hidden;
}

.loto-glossary-tab-radio,
.loto-faq-tab-radio {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.loto-glossary-tab-nav,
.loto-faq-tab-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 8px;
  margin: 0 0 18px;
  background: #f8fafc;
  border: 1px solid var(--loto-border, #e5e7eb);
  border-radius: 999px;
}

.loto-glossary-tab-button,
.loto-faq-tab-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: 999px;
  color: #334155;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
  user-select: none;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.loto-glossary-tab-panel,
.loto-faq-tab-panel {
  display: none;
  padding-top: 4px;
}

.loto-glossary-tab-radio:first-of-type:checked ~ .loto-glossary-tab-nav .loto-glossary-tab-button--loto,
.loto-faq-tab-radio:first-of-type:checked ~ .loto-faq-tab-nav .loto-faq-tab-button--loto {
  background: linear-gradient(135deg, var(--glossary-loto-color, #2563eb) 0%, var(--glossary-loto-color-dark, #1d4ed8) 100%);
  color: #fff;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--glossary-loto-color, #2563eb) 26%, transparent);
}

.loto-glossary-tab-radio:nth-of-type(2):checked ~ .loto-glossary-tab-nav .loto-glossary-tab-button--numbers,
.loto-faq-tab-radio:nth-of-type(2):checked ~ .loto-faq-tab-nav .loto-faq-tab-button--numbers {
  background: linear-gradient(135deg, var(--glossary-numbers-color, #ec4899) 0%, var(--glossary-numbers-color-dark, #be185d) 100%);
  color: #fff;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--glossary-numbers-color, #ec4899) 26%, transparent);
}

.loto-glossary-tab-radio:first-of-type:checked ~ .loto-glossary-tab-panel--loto,
.loto-glossary-tab-radio:nth-of-type(2):checked ~ .loto-glossary-tab-panel--numbers,
.loto-faq-tab-radio:first-of-type:checked ~ .loto-faq-tab-panel--loto,
.loto-faq-tab-radio:nth-of-type(2):checked ~ .loto-faq-tab-panel--numbers {
  display: block;
}

.loto-glossary-tabs__lead,
.loto-faq-tabs__lead {
  margin: 0 0 18px;
  color: var(--loto-muted, #6b7280);
  line-height: 1.8;
}

.loto-glossary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.loto-numbers-tab-panel__inner,
.loto-faq-list {
  display: grid;
  gap: 14px;
}

.loto-faq-category {
  margin-bottom: 18px;
}

.loto-faq-category h2 {
  color: #111827;
  font-size: clamp(22px, 3vw, 30px);
  margin: 6px 0 0;
}

.loto-faq-item {
  position: relative;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid color-mix(in srgb, var(--game-color, #2563eb) 16%, var(--loto-border, #e5e7eb));
  box-shadow: var(--loto-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
  overflow: hidden;
}

.loto-faq-item[open] {
  border-color: color-mix(in srgb, var(--game-color, #2563eb) 32%, var(--loto-border, #e5e7eb));
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.loto-faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 18px 58px 18px 22px;
  color: var(--loto-heading, #111827);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.55;
  cursor: pointer;
  list-style: none;
}

.loto-faq-item summary::-webkit-details-marker {
  display: none;
}

.loto-faq-item summary::before {
  content: "Q";
  display: inline-flex;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--game-color, #2563eb);
  color: #fff;
  font-size: .84rem;
  font-weight: 900;
  line-height: 1;
}

.loto-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 999px;
  background: var(--game-soft, #eff6ff);
  color: var(--game-color-dark, #1d4ed8);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
}

.loto-faq-item[open] summary::after {
  content: "−";
}

.loto-faq-answer {
  padding: 0 22px 22px 66px;
}

.loto-faq-answer p {
  margin: 0;
  color: var(--loto-muted, #6b7280);
  font-size: .96rem;
  line-height: 1.85;
}

.loto-faq-link {
  display: inline-flex;
  margin-top: 14px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--game-color, #2563eb);
  color: #fff !important;
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none !important;
}

.loto-faq-link:hover,
.loto-faq-link:focus-visible {
  background: var(--game-color-dark, #1d4ed8);
  color: #fff !important;
}

.loto-faq-link::after {
  content: " →";
  margin-left: 4px;
}

@media (max-width: 780px) {
  .loto-glossary-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .loto-article-link-grid,
  .loto-section-index-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .loto-article-link-card,
  .loto-guide-card,
  .loto-term-card {
    padding: 20px;
    border-radius: 20px;
  }
  .loto-article-link-card__button {
    width: 100%;
  }
  .loto-glossary-tabs,
  .loto-faq-tabs {
    padding: 16px;
    border-radius: 22px;
  }
  .loto-glossary-tab-nav,
  .loto-faq-tab-nav {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }
  .loto-faq-item summary {
    min-height: 56px;
    padding: 16px 50px 16px 18px;
    gap: 10px;
    font-size: .95rem;
  }
  .loto-faq-answer {
    padding: 0 18px 18px 56px;
  }
}

/* v1.0.6 fixes */
.loto-numbers-guide-term-card-block .loto-guide-card__head {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
}

.loto-numbers-guide-term-card-block .loto-guide-card__title,
.loto-numbers-guide-term-card-block .loto-term-card__title {
  display: block;
}

.loto-glossary-tab-radio:checked ~ .loto-glossary-tab-nav .loto-glossary-tab-button,
.loto-faq-tab-radio:checked ~ .loto-faq-tab-nav .loto-faq-tab-button {
  border-color: transparent;
}


/* v1.0.7 fixes: front-end tab active state, guide labels, and section index group parity */
.loto-numbers-tabs-block {
  --glossary-loto-color: var(--loto-blue, #2563eb);
  --glossary-loto-color-dark: var(--loto-blue-dark, #1d4ed8);
  --glossary-loto-soft: var(--loto-blue-soft, #eff6ff);
  --glossary-numbers-color: var(--numbers4-color, #ec4899);
  --glossary-numbers-color-dark: var(--numbers4-color-dark, #be185d);
  --glossary-numbers-soft: var(--numbers4-soft, #fdf2f8);
  --faq-loto-color: var(--loto-blue, #2563eb);
  --faq-loto-color-dark: var(--loto-blue-dark, #1d4ed8);
  --faq-loto-soft: var(--loto-blue-soft, #eff6ff);
  --faq-numbers-color: var(--numbers4-color, #ec4899);
  --faq-numbers-color-dark: var(--numbers4-color-dark, #be185d);
  --faq-numbers-soft: var(--numbers4-soft, #fdf2f8);
}

.loto-numbers-tabs-block .loto-glossary-tab-button,
.loto-numbers-tabs-block .loto-faq-tab-button {
  background: transparent !important;
  color: #334155 !important;
  border: 0 !important;
}

/* Default to the first tab visually active even when older saved markup lacks a checked attribute. */
.loto-numbers-tabs-block .loto-glossary-tab-nav .loto-glossary-tab-button--loto,
.loto-numbers-tabs-block .loto-faq-tab-nav .loto-faq-tab-button--loto,
.loto-numbers-tabs-block .loto-glossary-tab-button.is-active,
.loto-numbers-tabs-block .loto-faq-tab-button.is-active,
.loto-numbers-tabs-block .loto-glossary-tab-radio:first-of-type:checked ~ .loto-glossary-tab-nav .loto-glossary-tab-button--loto,
.loto-numbers-tabs-block .loto-faq-tab-radio:first-of-type:checked ~ .loto-faq-tab-nav .loto-faq-tab-button--loto {
  background: linear-gradient(135deg, var(--glossary-loto-color, #2563eb) 0%, var(--glossary-loto-color-dark, #1d4ed8) 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, .22) !important;
}

.loto-numbers-tabs-block .loto-glossary-tab-radio:nth-of-type(2):checked ~ .loto-glossary-tab-nav .loto-glossary-tab-button--loto,
.loto-numbers-tabs-block .loto-faq-tab-radio:nth-of-type(2):checked ~ .loto-faq-tab-nav .loto-faq-tab-button--loto {
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
}

.loto-numbers-tabs-block .loto-glossary-tab-radio:nth-of-type(2):checked ~ .loto-glossary-tab-nav .loto-glossary-tab-button--numbers,
.loto-numbers-tabs-block .loto-faq-tab-radio:nth-of-type(2):checked ~ .loto-faq-tab-nav .loto-faq-tab-button--numbers,
.loto-numbers-tabs-block .loto-glossary-tab-button--numbers.is-active,
.loto-numbers-tabs-block .loto-faq-tab-button--numbers.is-active {
  background: linear-gradient(135deg, var(--glossary-numbers-color, #ec4899) 0%, var(--glossary-numbers-color-dark, #be185d) 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(236, 72, 153, .22) !important;
}

.loto-numbers-guide-term-card-block .loto-guide-card__head {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.loto-numbers-guide-term-card-block .loto-guide-card__head::before,
.loto-numbers-guide-term-card-block .loto-guide-card__head::after {
  content: none !important;
}

.loto-numbers-guide-term-card-block .loto-guide-card__number {
  display: inline-flex !important;
  width: 32px !important;
  height: 32px !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: var(--game-color, #2563eb) !important;
  color: #fff !important;
  font-size: .88rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.loto-numbers-guide-term-card-block .loto-guide-card__label,
.loto-numbers-guide-term-card-block .loto-term-card__tag {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: var(--game-soft, #eff6ff) !important;
  color: var(--game-color-dark, #1d4ed8) !important;
  border: 1px solid color-mix(in srgb, var(--game-color, #2563eb) 16%, transparent) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.loto-numbers-section-index-group-block {
  --section-group-color: var(--game-color, #2563eb);
  --section-group-color-dark: var(--game-color-dark, #1d4ed8);
  --section-group-soft: var(--game-soft, #eff6ff);
  padding: clamp(20px, 3vw, 28px) !important;
  border-radius: 28px !important;
  border: 1px solid var(--loto-border, #e5e7eb) !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .05) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--section-group-color) 9%, transparent), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, .96) 0%, color-mix(in srgb, var(--section-group-soft) 62%, #ffffff) 100%) !important;
}

.loto-numbers-section-index-group-block.loto-section-index-group--loto {
  --section-group-color: var(--loto-blue, #3b82f6);
  --section-group-color-dark: var(--loto-blue-dark, #1d4ed8);
  --section-group-soft: var(--loto-blue-soft, #eff6ff);
}

.loto-numbers-section-index-group-block.loto-section-index-group--numbers {
  --section-group-color: var(--numbers4-color, #ec4899);
  --section-group-color-dark: var(--numbers4-color-dark, #be185d);
  --section-group-soft: var(--numbers4-soft, #fdf2f8);
}

.loto-numbers-section-index-group-block.loto-section-index-group--site-info,
.loto-numbers-section-index-group-block.loto-section-index-group--default {
  --section-group-color: #8b5cf6;
  --section-group-color-dark: #6d28d9;
  --section-group-soft: #f5f3ff;
}

.loto-numbers-section-index-group-block > .loto-section-index-group__head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 14px !important;
  row-gap: 4px !important;
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid rgba(148, 163, 184, .22) !important;
}

.loto-numbers-section-index-group-block > .loto-section-index-group__head::before {
  content: "" !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 6px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, var(--section-group-color), color-mix(in srgb, var(--section-group-color) 34%, #ffffff)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--section-group-color) 18%, transparent) !important;
}

.loto-numbers-section-index-group-block > .loto-section-index-group__head span {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  padding: 4px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--section-group-color-dark) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .14em !important;
}

.loto-numbers-section-index-group-block > .loto-section-index-group__head > :last-child {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--loto-heading, #0f172a) !important;
  font-size: clamp(1.22rem, 1.8vw, 1.52rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
}

.loto-numbers-section-index-group-block > .loto-section-index-group__head > :last-child::before,
.loto-numbers-section-index-group-block > .loto-section-index-group__head > :last-child::after {
  content: none !important;
  display: none !important;
}

.loto-numbers-section-index-group-block > .loto-section-index-grid:not(.loto-section-index-grid--stack) {
  grid-template-columns: repeat(auto-fit, minmax(250px, 280px)) !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 16px !important;
}

.loto-numbers-section-index-group-block > .loto-section-index-grid.loto-section-index-grid--stack {
  grid-template-columns: minmax(0, 1fr) !important;
}

.loto-numbers-section-index-group-block .loto-section-index-card,
.loto-numbers-section-index-group-block .loto-article-link-card,
.loto-numbers-section-index-group-block .loto-guide-card,
.loto-numbers-section-index-group-block .loto-term-card,
.loto-numbers-section-index-group-block .loto-game-card {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 640px) {
  .loto-numbers-section-index-group-block {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  .loto-numbers-section-index-group-block > .loto-section-index-group__head {
    column-gap: 11px !important;
    row-gap: 3px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
  }

  .loto-numbers-section-index-group-block > .loto-section-index-group__head::before {
    width: 5px !important;
    height: 34px !important;
  }

  .loto-numbers-section-index-group-block > .loto-section-index-group__head span {
    font-size: .66rem !important;
    letter-spacing: .12em !important;
  }

  .loto-numbers-section-index-group-block > .loto-section-index-group__head > :last-child {
    font-size: 1.12rem !important;
    line-height: 1.35 !important;
  }

  .loto-numbers-section-index-group-block > .loto-section-index-grid:not(.loto-section-index-grid--stack) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
}

/* v1.0.8: disclaimer, container backgrounds and result shortcode modules */
.loto-numbers-disclaimer-block,
.loto-results-module-panel,
.loto-numbers-results-module-placeholder {
  --loto-text: #1f2937;
  --loto-heading: #111827;
  --loto-muted: #64748b;
  --loto-border: #e5e7eb;
  --loto-white: #ffffff;
  --loto-radius-md: 18px;
  --loto-radius-lg: 24px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --game-color: var(--loto-main-color, #3b82f6);
  --game-color-dark: var(--loto-accent-color, #1d4ed8);
  --game-soft: var(--loto-sub-color, #eff6ff);
  box-sizing: border-box;
  color: var(--loto-text);
}

.loto-numbers-disclaimer-block *,
.loto-numbers-disclaimer-block *::before,
.loto-numbers-disclaimer-block *::after,
.loto-results-module-panel *,
.loto-results-module-panel *::before,
.loto-results-module-panel *::after {
  box-sizing: border-box;
}

.loto-numbers-disclaimer-block .loto-box.loto-disclaimer {
  margin: 0;
  padding: 22px 24px;
  border: 1px solid var(--game-soft);
  border-radius: var(--loto-radius-md);
  background: linear-gradient(135deg, var(--game-soft) 0%, #ffffff 100%);
  box-shadow: inset 4px 0 0 var(--game-color), 0 10px 26px rgba(15, 23, 42, .04);
  font-size: .95rem;
}

.loto-numbers-disclaimer-block .loto-box-title {
  margin: 0 0 12px;
  color: var(--game-color-dark);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.45;
}

.loto-numbers-disclaimer-block p {
  margin: .6em 0 0;
  color: #334155;
  font-size: .95rem;
  line-height: 1.8;
}

.loto-numbers-disclaimer-block .loto-disclaimer-plain {
  margin: 12px 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--loto-muted);
}

.loto-numbers-container-block.loto-container-bg--white,
.loto-numbers-container-block.loto-container-bg--theme,
.loto-numbers-container-block.loto-container-bg--yellow,
.loto-numbers-container-block.loto-container-bg--gray {
  padding: 48px 28px;
  border: 1px solid var(--loto-border, #e5e7eb);
  border-radius: var(--loto-radius-xl, 32px);
}

.loto-numbers-container-block.loto-container-bg--white {
  background: #ffffff;
}

.loto-numbers-container-block.loto-container-bg--theme {
  border-color: var(--game-soft, #eff6ff);
  background:
    radial-gradient(circle at 100% 0%, var(--game-soft, #eff6ff) 0%, transparent 34%),
    linear-gradient(135deg, #ffffff 0%, var(--game-soft, #eff6ff) 100%);
}

.loto-numbers-container-block.loto-container-bg--yellow {
  border-color: #fde68a;
  background:
    radial-gradient(circle at 100% 0%, rgba(245, 158, 11, .18) 0%, transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #fffbeb 48%, #fef3c7 100%);
}

.loto-numbers-container-block.loto-container-bg--gray {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.loto-results-module-panel {
  width: 100%;
}

.loto-results-module-panel > .loto-box-title {
  margin: 0 0 14px;
  color: var(--game-color-dark);
  font-size: 1rem;
  font-weight: 900;
}

.loto-numbers-results-module-placeholder {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--loto-border);
  border-radius: var(--loto-radius-md);
  background: #ffffff;
}

.loto-numbers-results-module-placeholder code {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  background: #f8fafc;
  color: var(--game-color-dark);
  font-size: .86rem;
}

@media (max-width: 640px) {
  .loto-numbers-container-block.loto-container-bg--white,
  .loto-numbers-container-block.loto-container-bg--theme,
  .loto-numbers-container-block.loto-container-bg--yellow,
  .loto-numbers-container-block.loto-container-bg--gray {
    padding: 32px 16px;
    border-radius: 24px;
  }

  .loto-numbers-disclaimer-block .loto-box.loto-disclaimer {
    padding: 18px;
    border-radius: 16px;
  }
}

/* v1.0.10: home theme, link buttons and section index card blocks */
.loto-numbers-game-card-block .loto-game-card__extra,
.loto-numbers-section-index-card-block .loto-section-index-card__extra {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  margin-top: 12px;
}

.loto-numbers-game-card-block .loto-game-card__extra:empty,
.loto-numbers-section-index-card-block .loto-section-index-card__extra:empty {
  display: none;
}

.loto-numbers-game-card-block .loto-game-card__button--outline,
.loto-game-card__extra .loto-game-card__button--outline {
  background: #fff;
  color: var(--game-color-dark) !important;
  border: 1px solid var(--game-color);
  box-shadow: none;
}

.loto-link-button-block {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, .95);
  background: #fff;
  color: var(--game-color-dark, #1d4ed8) !important;
  font-size: .9rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.loto-link-button-block:hover,
.loto-link-button-block:focus-visible {
  transform: translateY(-1px);
  border-color: var(--game-color, #2563eb);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--game-color, #2563eb) 16%, transparent);
}

.loto-link-button-block--pill {
  background: #fff;
  color: var(--game-color-dark, #1d4ed8) !important;
}

.loto-link-button-block--full {
  width: 100%;
}

.loto-link-button-block.loto-section-index-card__button,
.loto-link-button-block.loto-game-card__button {
  text-decoration: none !important;
}

.loto-section-index-card,
.loto-numbers-section-index-card-block {
  --game-color: var(--loto-main-color, #3b82f6);
  --game-color-dark: var(--loto-accent-color, #1d4ed8);
  --game-soft: var(--loto-sub-color, #eff6ff);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 22px;
  border-radius: 24px;
  background: radial-gradient(circle at 100% 0%, var(--game-soft), transparent 42%), #fff;
  border: 1px solid rgba(226, 232, 240, .95);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

.loto-section-index-card::before,
.loto-numbers-section-index-card-block::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 5px;
  background: var(--game-color);
}

.loto-section-index-card--loto7 { --game-color: #3b82f6; --game-color-dark: #1d4ed8; --game-soft: #eff6ff; }
.loto-section-index-card--loto6 { --game-color: #22c55e; --game-color-dark: #15803d; --game-soft: #f0fdf4; }
.loto-section-index-card--miniloto { --game-color: #f97316; --game-color-dark: #c2410c; --game-soft: #fff7ed; }
.loto-section-index-card--numbers3 { --game-color: #8b5cf6; --game-color-dark: #6d28d9; --game-soft: #f5f3ff; }
.loto-section-index-card--numbers4 { --game-color: #ec4899; --game-color-dark: #be185d; --game-soft: #fdf2f8; }
.loto-section-index-card--home { --game-color: #3b82f6; --game-color-dark: #1d4ed8; --game-soft: #fff7ed; }
.loto-section-index-card--notice { --game-color: #2563eb; --game-color-dark: #1d4ed8; --game-soft: #eff6ff; }
.loto-section-index-card--updates { --game-color: #14b8a6; --game-color-dark: #0f766e; --game-soft: #ecfdf5; }
.loto-section-index-card--data-updates { --game-color: #8b5cf6; --game-color-dark: #6d28d9; --game-soft: #f5f3ff; }
.loto-section-index-card--about { --game-color: #2563eb; --game-color-dark: #1d4ed8; --game-soft: #eff6ff; }
.loto-section-index-card--data-policy { --game-color: #14b8a6; --game-color-dark: #0f766e; --game-soft: #ecfdf5; }
.loto-section-index-card--operator { --game-color: #0f766e; --game-color-dark: #115e59; --game-soft: #f0fdfa; }
.loto-section-index-card--sitemap { --game-color: #3b82f6; --game-color-dark: #1d4ed8; --game-soft: #eff6ff; }
.loto-section-index-card--contact { --game-color: #22c55e; --game-color-dark: #15803d; --game-soft: #f0fdf4; }
.loto-section-index-card--privacy { --game-color: #8b5cf6; --game-color-dark: #6d28d9; --game-soft: #f5f3ff; }
.loto-section-index-card--disclaimer { --game-color: #f97316; --game-color-dark: #ea580c; --game-soft: #fff7ed; }

.loto-section-index-card__badge,
.loto-numbers-section-index-card-block .loto-section-index-card__badge {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--game-soft);
  color: var(--game-color-dark);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
}

.loto-section-index-card h2,
.loto-section-index-card h3,
.loto-numbers-section-index-card-block h2,
.loto-numbers-section-index-card-block h3 {
  position: relative;
  z-index: 1;
  margin: 12px 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--loto-heading, #0f172a) !important;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.35;
}

.loto-section-index-card p,
.loto-numbers-section-index-card-block p {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  margin: 0 0 16px;
  color: var(--loto-text, #1f2937);
  line-height: 1.8;
}

.loto-section-index-card__actions,
.loto-numbers-section-index-card-block .loto-section-index-card__actions {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: auto;
}

.loto-section-index-card__button,
.loto-numbers-section-index-card-block .loto-section-index-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--game-color);
  border: 1px solid var(--game-color);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900;
  line-height: 1.25;
  white-space: normal;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--game-color) 18%, transparent);
}

.loto-section-index-card__button--outline,
.loto-numbers-section-index-card-block .loto-section-index-card__button--outline {
  background: #fff;
  color: var(--game-color-dark) !important;
  box-shadow: none;
}

@media (max-width: 640px) {
  .loto-section-index-card,
  .loto-numbers-section-index-card-block {
    min-height: 0;
  }

  .loto-section-index-card__actions,
  .loto-section-index-card__button,
  .loto-numbers-section-index-card-block .loto-section-index-card__actions,
  .loto-numbers-section-index-card-block .loto-section-index-card__button {
    width: 100%;
  }
}

/* v1.0.10: home top theme follows the original loto-home-hero gradient */
.loto-numbers-home-hero.loto-home-hero.loto-numbers-home-hero--home,
.loto-numbers-home-hero.loto-home-hero.loto-family-hero--home {
  --game-color: #3b82f6;
  --game-color-dark: #1d4ed8;
  --game-soft: #fff7ed;
  background:
    radial-gradient(circle at 8% 0%, rgba(59, 130, 246, .13), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(249, 115, 22, .11), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #fff7ed 100%) !important;
}

.loto-numbers-home-hero.loto-home-hero.loto-numbers-home-hero--home::after,
.loto-numbers-home-hero.loto-home-hero.loto-family-hero--home::after {
  background: rgba(59, 130, 246, .06) !important;
}


/* v1.0.12: home game block heading and darker home hero text */
.loto-numbers-home-hero .loto-kicker,
.loto-numbers-home-hero .loto-hero__title,
.loto-numbers-home-hero .loto-hero__lead,
.loto-numbers-home-hero .loto-home-hero__note {
  color: #020617;
}

.loto-numbers-home-hero .loto-hero__lead,
.loto-numbers-home-hero .loto-home-hero__note {
  font-weight: 500;
}

.loto-numbers-home-hero .loto-kicker {
  font-weight: 950;
}

.loto-numbers-home-game-block-head {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 2px;
}

.loto-numbers-home-game-block-head + .loto-numbers-home-game-block-head {
  margin-top: 28px;
}

.loto-numbers-home-game-block-head .loto-home-game-block__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 12px;
  margin: 0 0 14px;
  text-align: center;
}

.loto-numbers-home-game-block-head .loto-home-game-block__label {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--game-soft, #eff6ff);
  color: var(--game-color-dark, #1d4ed8);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1;
}

.loto-numbers-home-game-block-head .loto-home-game-block__head h2,
.loto-numbers-home-game-block-head .loto-home-game-block__head h3 {
  margin: 0;
  padding: 0;
  color: #020617;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .03em;
}

@media (max-width: 600px) {
  .loto-numbers-home-game-block-head .loto-home-game-block__head {
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 8px;
    text-align: left;
  }
}

/* v1.0.13: remove outer frame from home game heading block and allow full-width hero layout blocks */
.loto-numbers-home-game-block-head,
.loto-numbers-home-game-block-head.loto-home-game-block {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 0 0 2px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.loto-numbers-home-game-block-head::before,
.loto-numbers-home-game-block-head::after,
.loto-numbers-home-game-block-head.loto-home-game-block::before,
.loto-numbers-home-game-block-head.loto-home-game-block::after {
  display: none !important;
  content: none !important;
}

.loto-numbers-home-hero .loto-home-game-grid > .loto-numbers-container-block,
.loto-numbers-home-hero .loto-home-game-grid > .wp-block-columns,
.loto-numbers-home-hero .loto-home-game-grid > .wp-block-group {
  grid-column: 1 / -1;
  width: 100%;
}

/* v1.0.15: Home Hero free block area */
.loto-numbers-home-hero .loto-home-hero__blocks,
.loto-numbers-home-hero .loto-numbers-home-hero__blocks {
  max-width: 1080px;
  margin: 26px auto 0;
  width: 100%;
}

.loto-numbers-home-hero .loto-home-hero__blocks > * + *,
.loto-numbers-home-hero .loto-numbers-home-hero__blocks > * + * {
  margin-top: 18px;
}


/* v1.0.18: point style for guide/term card and legacy panel block hidden from inserter. */
.loto-guide-card.loto-guide-card--point {
  padding: clamp(24px, 3vw, 34px);
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--game-color, #8b5cf6) 18%, var(--loto-border, #e5e7eb));
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color, #8b5cf6) 12%, transparent) 0%, transparent 38%),
    linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--game-soft, #f5f3ff) 72%, #ffffff) 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}

.loto-guide-card--point .loto-guide-card__point {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--game-color-dark, #7c3aed);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.loto-guide-card--point .loto-guide-card__point-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--game-color, #8b5cf6);
  flex: 0 0 auto;
}

.loto-guide-card--point .loto-guide-card__point-label,
.loto-guide-card--point .loto-guide-card__point-number {
  display: inline;
}

.loto-guide-card--point .loto-guide-card__title {
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 3px solid color-mix(in srgb, var(--game-color, #8b5cf6) 65%, #c4b5fd);
  color: var(--loto-heading, #020617);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 900;
  line-height: 1.45;
}

.loto-guide-card--point p {
  color: #020617;
  font-size: 1rem;
  line-height: 1.9;
}


/* v1.0.20: responsive card grid block */
.loto-numbers-grid {
  --loto-grid-gap: 18px;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: var(--loto-grid-gap);
  width: 100%;
}

.loto-numbers-grid.loto-article-link-grid {
  margin-top: 26px;
}

.loto-numbers-grid > * {
  box-sizing: border-box;
  min-width: 0;
}

.loto-numbers-grid--desktop-1 > * { flex: 0 1 100%; max-width: 100%; }
.loto-numbers-grid--desktop-2 > * { flex: 0 1 calc((100% - var(--loto-grid-gap)) / 2); max-width: calc((100% - var(--loto-grid-gap)) / 2); }
.loto-numbers-grid--desktop-3 > * { flex: 0 1 calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap)) / 3); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap)) / 3); }
.loto-numbers-grid--desktop-4 > * { flex: 0 1 calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 4); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 4); }
.loto-numbers-grid--desktop-5 > * { flex: 0 1 calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 5); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 5); }

@media (max-width: 960px) {
  .loto-numbers-grid--tablet-1 > * { flex-basis: 100%; max-width: 100%; }
  .loto-numbers-grid--tablet-2 > * { flex-basis: calc((100% - var(--loto-grid-gap)) / 2); max-width: calc((100% - var(--loto-grid-gap)) / 2); }
  .loto-numbers-grid--tablet-3 > * { flex-basis: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap)) / 3); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap)) / 3); }
  .loto-numbers-grid--tablet-4 > * { flex-basis: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 4); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 4); }
  .loto-numbers-grid--tablet-5 > * { flex-basis: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 5); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 5); }
}

@media (max-width: 600px) {
  .loto-numbers-grid--mobile-1 > * { flex-basis: 100%; max-width: 100%; }
  .loto-numbers-grid--mobile-2 > * { flex-basis: calc((100% - var(--loto-grid-gap)) / 2); max-width: calc((100% - var(--loto-grid-gap)) / 2); }
  .loto-numbers-grid--mobile-3 > * { flex-basis: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap)) / 3); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap)) / 3); }
  .loto-numbers-grid--mobile-4 > * { flex-basis: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 4); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 4); }
  .loto-numbers-grid--mobile-5 > * { flex-basis: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 5); max-width: calc((100% - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap) - var(--loto-grid-gap)) / 5); }
}

/* v1.0.21: keep card grid items readable and centered without shrinking into narrow columns */
.loto-numbers-grid {
  --loto-grid-card-min: 240px;
}

.loto-numbers-grid--desktop-1 { --loto-grid-card-min: 100%; }
.loto-numbers-grid--desktop-2 { --loto-grid-card-min: 260px; }
.loto-numbers-grid--desktop-3 { --loto-grid-card-min: 240px; }
.loto-numbers-grid--desktop-4 { --loto-grid-card-min: 200px; }
.loto-numbers-grid--desktop-5 { --loto-grid-card-min: 160px; }

.loto-numbers-grid > * {
  width: 100%;
  min-width: min(100%, var(--loto-grid-card-min)) !important;
}

@media (max-width: 960px) {
  .loto-numbers-grid--tablet-1 { --loto-grid-card-min: 100%; }
  .loto-numbers-grid--tablet-2 { --loto-grid-card-min: 220px; }
  .loto-numbers-grid--tablet-3 { --loto-grid-card-min: 180px; }
  .loto-numbers-grid--tablet-4 { --loto-grid-card-min: 150px; }
  .loto-numbers-grid--tablet-5 { --loto-grid-card-min: 130px; }
}

@media (max-width: 600px) {
  .loto-numbers-grid--mobile-1 { --loto-grid-card-min: 100%; }
  .loto-numbers-grid--mobile-2 { --loto-grid-card-min: 150px; }
  .loto-numbers-grid--mobile-3 { --loto-grid-card-min: 110px; }
  .loto-numbers-grid--mobile-4 { --loto-grid-card-min: 90px; }
  .loto-numbers-grid--mobile-5 { --loto-grid-card-min: 72px; }
}


/* v1.0.23: keep Card Grid items as wide as the available grid width allows. */
.loto-numbers-grid {
  width: 100%;
  max-width: 100%;
}

.loto-numbers-grid > * {
  min-width: 0 !important;
  box-sizing: border-box;
}

.loto-numbers-grid--desktop-1 > * { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
.loto-numbers-grid--desktop-2 > * { flex: 0 0 calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; width: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; max-width: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; }
.loto-numbers-grid--desktop-3 > * { flex: 0 0 calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; }
.loto-numbers-grid--desktop-4 > * { flex: 0 0 calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; }
.loto-numbers-grid--desktop-5 > * { flex: 0 0 calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; }

@media (max-width: 960px) {
  .loto-numbers-grid--tablet-1 > * { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
  .loto-numbers-grid--tablet-2 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; width: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; max-width: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; }
  .loto-numbers-grid--tablet-3 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; }
  .loto-numbers-grid--tablet-4 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; }
  .loto-numbers-grid--tablet-5 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; }
}

@media (max-width: 600px) {
  .loto-numbers-grid--mobile-1 > * { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
  .loto-numbers-grid--mobile-2 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; width: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; max-width: calc((100% - var(--loto-grid-gap, 18px)) / 2) !important; }
  .loto-numbers-grid--mobile-3 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 3) !important; }
  .loto-numbers-grid--mobile-4 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 4) !important; }
  .loto-numbers-grid--mobile-5 > * { flex-basis: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; max-width: calc((100% - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px) - var(--loto-grid-gap, 18px)) / 5) !important; }
}

/* v1.0.24: loto-notice block */
.loto-notice.loto-numbers-notice-block {
  box-sizing: border-box;
  width: 100%;
  padding: clamp(24px, 3vw, 32px);
  border-radius: var(--loto-radius-lg, 28px);
  border: 1px solid color-mix(in srgb, var(--game-color, #3b82f6) 20%, var(--loto-border, #e5e7eb));
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color, #3b82f6) 9%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--game-soft, #eff6ff) 78%, #ffffff) 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
  color: var(--loto-text, #0f172a);
}

.loto-notice.loto-numbers-notice-block > h2,
.loto-notice.loto-numbers-notice-block > h3 {
  margin: 0 0 14px;
  color: var(--loto-heading, #020617);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.45;
}

.loto-notice.loto-numbers-notice-block > h2 { font-size: clamp(1.25rem, 2.4vw, 1.55rem); }
.loto-notice.loto-numbers-notice-block > h3 { font-size: clamp(1.12rem, 2vw, 1.32rem); }

.loto-notice.loto-numbers-notice-block > p {
  margin: 0;
  color: var(--loto-text, #0f172a);
  line-height: 1.9;
}

.loto-notice.loto-numbers-notice-block > * + * {
  margin-top: 16px;
}

.loto-notice.loto-numbers-notice-block .loto-data-source-wrap,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap {
  margin-top: 18px;
}

.loto-notice.loto-numbers-notice-block .loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-disclaimer {
  background: rgba(255, 255, 255, .82);
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 16%, var(--loto-border, #e5e7eb));
}

/* v1.0.24: make Card Grid use the full available preview/front width. */
.loto-numbers-grid.loto-numbers-grid-block,
.loto-numbers-grid {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.loto-numbers-home-hero .loto-home-hero__blocks .loto-numbers-grid,
.loto-numbers-home-hero .loto-numbers-home-hero__blocks .loto-numbers-grid,
.loto-notice.loto-numbers-notice-block .loto-numbers-grid,
.loto-numbers-container-block .loto-numbers-grid {
  width: 100% !important;
  max-width: 100% !important;
}

.loto-numbers-grid > * {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* v1.0.27: make disclaimer block borders more visible on the front end. */
.loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-disclaimer,
.loto-disclaimer-wrap .loto-box.loto-disclaimer {
  border: 1px solid rgba(37, 99, 235, .42);
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 46%, #ffffff);
}

.loto-numbers-disclaimer-block .loto-disclaimer-plain {
  border: 1px solid rgba(37, 99, 235, .36);
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 40%, #ffffff);
  border-radius: var(--loto-radius-md, 18px);
  padding: 18px 20px;
  background: #ffffff;
}

/* v1.0.29: keep disclaimer borders visible but not overly thick. */
.loto-analyzer .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-analyzer .loto-numbers-disclaimer-block .loto-disclaimer-plain,
.loto-analyzer.loto-disclaimer-wrap .loto-box.loto-disclaimer,
.loto-analyzer.loto-disclaimer-wrap .loto-disclaimer-plain,
.loto-notice.loto-numbers-notice-block .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-numbers-disclaimer-block .loto-disclaimer-plain,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap .loto-disclaimer-plain,
.loto-notice.loto-numbers-notice-block .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-disclaimer {
  border: 1px solid #60a5fa !important;
  border-color: color-mix(in srgb, var(--game-color, #2563eb) 62%, #ffffff) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .04) !important;
}

.loto-analyzer .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-analyzer.loto-disclaimer-wrap .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap .loto-box.loto-disclaimer {
  background-clip: padding-box;
}


/* v1.0.30: center blocks placed immediately below the game-card button */
.loto-numbers-game-card-block .loto-game-card__extra {
  justify-content: center;
  align-items: center;
  text-align: center;
}

.loto-numbers-game-card-block .loto-game-card__extra > * {
  margin-left: auto;
  margin-right: auto;
}

.loto-numbers-game-card-block .loto-game-card__extra .wp-block-buttons {
  justify-content: center;
}

.loto-numbers-game-card-block .loto-game-card__extra .wp-block-button,
.loto-numbers-game-card-block .loto-game-card__extra .loto-link-button-block {
  margin-left: auto;
  margin-right: auto;
}

/* v1.0.31: container free inner blocks and content alignment */
.loto-numbers-container-block.loto-numbers-container-align--left > .loto-container {
  text-align: left;
}

.loto-numbers-container-block.loto-numbers-container-align--center > .loto-container {
  text-align: center;
}

.loto-numbers-container-block.loto-numbers-container-align--right > .loto-container {
  text-align: right;
}

.loto-numbers-container-block.loto-numbers-container-align--center > .loto-container > .wp-block-buttons {
  justify-content: center;
}

.loto-numbers-container-block.loto-numbers-container-align--right > .loto-container > .wp-block-buttons {
  justify-content: flex-end;
}

.loto-numbers-container-block.loto-numbers-container-align--left > .loto-container > .wp-block-buttons {
  justify-content: flex-start;
}

.loto-numbers-container-block.loto-numbers-container-align--center > .loto-container > :where(.wp-block-button, .loto-numbers-link-button-block) {
  margin-left: auto;
  margin-right: auto;
}

.loto-numbers-container-block.loto-numbers-container-align--right > .loto-container > :where(.wp-block-button, .loto-numbers-link-button-block) {
  margin-left: auto;
  margin-right: 0;
}

.loto-numbers-container-block.loto-numbers-container-align--left > .loto-container > :where(.wp-block-button, .loto-numbers-link-button-block) {
  margin-left: 0;
  margin-right: auto;
}

/* v1.0.32: center the blocks inserted immediately below the game-card button like small action pills */
.loto-numbers-game-card-block .loto-game-card__extra {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 12px auto 0 !important;
  text-align: center !important;
}

.loto-numbers-game-card-block .loto-game-card__extra > * {
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.loto-numbers-game-card-block .loto-game-card__extra > .wp-block-buttons,
.loto-numbers-game-card-block .loto-game-card__extra .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.loto-numbers-game-card-block .loto-game-card__extra .wp-block-button,
.loto-numbers-game-card-block .loto-game-card__extra .loto-link-button-block {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.loto-numbers-game-card-block .loto-game-card__extra .loto-link-button-block:not(.loto-link-button-block--full) {
  width: auto !important;
  min-width: 0 !important;
}

.loto-numbers-game-card-block .loto-game-card__extra .loto-link-button-block--pill,
.loto-numbers-game-card-block .loto-game-card__extra .loto-link-button-block--game-outline {
  min-height: 34px;
  padding: 8px 14px;
  border-radius: 999px;
}

.loto-numbers-game-card-block .loto-game-card__extra p,
.loto-numbers-game-card-block .loto-game-card__extra .wp-block-paragraph {
  flex-basis: 100% !important;
  text-align: center !important;
}

/* v1.0.33: notice theme colors must switch per selected game/theme. */
.loto-notice.loto-numbers-notice-block.loto-game-home { --game-color:#3b82f6; --game-color-dark:#1d4ed8; --game-soft:#fff7ed; }
.loto-notice.loto-numbers-notice-block.loto-game-loto7 { --game-color:#3b82f6; --game-color-dark:#1d4ed8; --game-soft:#eff6ff; }
.loto-notice.loto-numbers-notice-block.loto-game-loto6 { --game-color:#22c55e; --game-color-dark:#15803d; --game-soft:#f0fdf4; }
.loto-notice.loto-numbers-notice-block.loto-game-miniloto { --game-color:#f97316; --game-color-dark:#c2410c; --game-soft:#fff7ed; }
.loto-notice.loto-numbers-notice-block.loto-game-numbers3 { --game-color:#8b5cf6; --game-color-dark:#6d28d9; --game-soft:#f5f3ff; }
.loto-notice.loto-numbers-notice-block.loto-game-numbers4 { --game-color:#ec4899; --game-color-dark:#be185d; --game-soft:#fdf2f8; }
.loto-notice.loto-numbers-notice-block {
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 28%, #e2e8f0) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color, #3b82f6) 11%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--game-soft, #eff6ff) 84%, #ffffff) 100%) !important;
}
.loto-notice.loto-numbers-notice-block > h2,
.loto-notice.loto-numbers-notice-block > h3,
.loto-notice.loto-numbers-notice-block .loto-box-title {
  color: var(--game-color-dark, #1d4ed8);
}

/* v1.0.33: site news digest block */
.loto-site-news-digest {
  --news-accent: var(--game-color, #2563eb);
  --news-soft: color-mix(in srgb, var(--news-accent) 10%, #ffffff);
  --news-border: color-mix(in srgb, var(--news-accent) 18%, #e2e8f0);
}
.loto-site-news-digest--home { --news-accent:#3b82f6; --news-soft:#eff6ff; --news-border:#bfdbfe; }
.loto-site-news-digest--loto,
.loto-site-news-digest--loto7 { --news-accent:#2563eb; --news-soft:#eff6ff; --news-border:#bfdbfe; }
.loto-site-news-digest--loto6 { --news-accent:#22c55e; --news-soft:#f0fdf4; --news-border:#bbf7d0; }
.loto-site-news-digest--miniloto { --news-accent:#f97316; --news-soft:#fff7ed; --news-border:#fed7aa; }
.loto-site-news-digest--numbers,
.loto-site-news-digest--numbers3 { --news-accent:#8b5cf6; --news-soft:#f5f3ff; --news-border:#ddd6fe; }
.loto-site-news-digest--numbers4 { --news-accent:#ec4899; --news-soft:#fdf2f8; --news-border:#fbcfe8; }
.loto-site-news-digest__inner {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--news-border);
  border-radius: clamp(22px, 3vw, 32px);
  padding: clamp(22px, 3vw, 34px);
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--news-accent) 12%, transparent) 0, transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .98), var(--news-soft));
  box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
}
.loto-site-news-digest__inner::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--news-accent), color-mix(in srgb, var(--news-accent) 24%, #ffffff));
}
.loto-site-news-digest__head {
  display: flex;
  gap: 18px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: clamp(18px, 2.4vw, 26px);
}
.loto-site-news-digest__head .loto-kicker {
  color: var(--news-accent);
}
.loto-site-news-digest__head h2 {
  margin: 4px 0 0;
  font-size: clamp(1.28rem, 2.3vw, 1.7rem);
  line-height: 1.35;
  letter-spacing: .02em;
  color: #020617;
}
.loto-site-news-digest__head p:not(.loto-kicker) {
  margin: 10px 0 0;
  color: #475569;
  line-height: 1.8;
}
.loto-site-news-digest__more,
.loto-site-news-digest__panel-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35em;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid var(--news-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: var(--news-accent);
  font-weight: 800;
  font-size: .88rem;
  text-decoration: none;
  white-space: nowrap;
}
.loto-site-news-digest__more:hover,
.loto-site-news-digest__panel-link:hover {
  transform: translateY(-1px);
  background: var(--news-soft);
}
.loto-site-news-digest__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.4vw, 22px);
}
.loto-site-news-digest__panel {
  border: 1px solid var(--news-border);
  border-radius: 22px;
  padding: clamp(18px, 2.4vw, 24px);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}
.loto-site-news-digest__panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.loto-site-news-digest__panel-head span,
.loto-site-news-digest__meta span,
.loto-site-news-digest__meta time {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--news-soft);
  color: var(--news-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.loto-site-news-digest__panel-head h3 {
  margin: 0;
  color: #020617;
  font-size: 1.08rem;
}
.loto-site-news-digest__list {
  display: grid;
  gap: 14px;
}
.loto-site-news-digest__item {
  padding-bottom: 14px;
  border-bottom: 1px dashed color-mix(in srgb, var(--news-accent) 20%, #e2e8f0);
}
.loto-site-news-digest__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.loto-site-news-digest__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 8px;
}
.loto-site-news-digest__item h4 {
  margin: 0;
  color: #0f172a;
  font-size: .98rem;
  line-height: 1.55;
}
.loto-site-news-digest__item p {
  margin: 8px 0 0;
  color: #475569;
  font-size: .92rem;
  line-height: 1.8;
}
.loto-site-news-digest__panel-link {
  margin-top: 16px;
}
.loto-site-news-digest__empty {
  margin: 0;
  color: #64748b;
  line-height: 1.8;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__inner {
  padding: clamp(18px, 2.6vw, 26px);
}
.loto-site-news-digest--updates-only .loto-site-news-digest__head {
  margin-bottom: 14px;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__head p:not(.loto-kicker),
.loto-site-news-digest--updates-only .loto-site-news-digest__more,
.loto-site-news-digest--updates-only .loto-site-news-digest__panel-link {
  display: none;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__grid {
  display: block;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__panel {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__panel-head {
  display: none;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__list {
  gap: 10px;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 12px;
  align-items: start;
  padding: 10px 0;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__meta {
  margin: 0;
}
.loto-site-news-digest--updates-only .loto-site-news-digest__item h4 {
  font-size: .95rem;
}
@media (max-width: 720px) {
  .loto-site-news-digest__head {
    display: grid;
  }
  .loto-site-news-digest__more {
    width: 100%;
  }
  .loto-site-news-digest__grid {
    grid-template-columns: 1fr;
  }
  .loto-site-news-digest__inner {
    padding: 22px 18px;
  }
  .loto-site-news-digest--updates-only .loto-site-news-digest__item {
    grid-template-columns: 1fr;
  }
}


/* v1.0.34: make Notice block use the selected theme color exactly, matching original loto-game-notice styling. */
.loto-notice.loto-numbers-notice-block[data-game="home"],
.loto-notice.loto-numbers-notice-block.loto-game-home {
  --game-color: #3b82f6;
  --game-color-dark: #1d4ed8;
  --game-soft: #fff7ed;
  --loto-main-color: #3b82f6;
  --loto-accent-color: #1d4ed8;
  --loto-sub-color: #fff7ed;
}
.loto-notice.loto-numbers-notice-block[data-game="loto7"],
.loto-notice.loto-numbers-notice-block.loto-game-loto7 {
  --game-color: #3b82f6;
  --game-color-dark: #1d4ed8;
  --game-soft: #eff6ff;
  --loto-main-color: #3b82f6;
  --loto-accent-color: #1d4ed8;
  --loto-sub-color: #eff6ff;
}
.loto-notice.loto-numbers-notice-block[data-game="loto6"],
.loto-notice.loto-numbers-notice-block.loto-game-loto6 {
  --game-color: #22c55e;
  --game-color-dark: #15803d;
  --game-soft: #f0fdf4;
  --loto-main-color: #22c55e;
  --loto-accent-color: #15803d;
  --loto-sub-color: #f0fdf4;
}
.loto-notice.loto-numbers-notice-block[data-game="miniloto"],
.loto-notice.loto-numbers-notice-block.loto-game-miniloto {
  --game-color: #f97316;
  --game-color-dark: #c2410c;
  --game-soft: #fff7ed;
  --loto-main-color: #f97316;
  --loto-accent-color: #c2410c;
  --loto-sub-color: #fff7ed;
}
.loto-notice.loto-numbers-notice-block[data-game="numbers3"],
.loto-notice.loto-numbers-notice-block.loto-game-numbers3 {
  --game-color: #8b5cf6;
  --game-color-dark: #6d28d9;
  --game-soft: #f5f3ff;
  --loto-main-color: #8b5cf6;
  --loto-accent-color: #6d28d9;
  --loto-sub-color: #f5f3ff;
}
.loto-notice.loto-numbers-notice-block[data-game="numbers4"],
.loto-notice.loto-numbers-notice-block.loto-game-numbers4 {
  --game-color: #ec4899;
  --game-color-dark: #be185d;
  --game-soft: #fdf2f8;
  --loto-main-color: #ec4899;
  --loto-accent-color: #be185d;
  --loto-sub-color: #fdf2f8;
}
.loto-notice.loto-numbers-notice-block {
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color, #3b82f6) 9%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, var(--game-soft, #eff6ff) 100%) !important;
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 20%, var(--loto-border, #e5e7eb)) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06) !important;
}
.loto-notice.loto-numbers-notice-block > h2,
.loto-notice.loto-numbers-notice-block > h3 {
  color: #111827 !important;
}
.loto-notice.loto-numbers-notice-block > p,
.loto-notice.loto-numbers-notice-block :where(p, li) {
  color: #1f2937;
}
.loto-notice.loto-numbers-notice-block .loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-box {
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 16%, var(--loto-border, #e5e7eb));
}

/* v1.0.35: Notice block must derive its tint from the selected theme main color, not from a separate soft color. */
.loto-notice.loto-numbers-notice-block {
  --loto-notice-main: var(--loto-main-color, var(--las-game-color, var(--game-color, #3b82f6)));
  --loto-notice-border: color-mix(in srgb, var(--loto-notice-main) 20%, var(--loto-border, #e5e7eb));
  --loto-notice-soft: color-mix(in srgb, var(--loto-notice-main) 8%, #ffffff);
  border-color: var(--loto-notice-border) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--loto-notice-main) 9%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, var(--loto-notice-soft) 100%) !important;
}

.loto-notice.loto-numbers-notice-block .loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-box {
  border-color: color-mix(in srgb, var(--loto-notice-main) 16%, var(--loto-border, #e5e7eb)) !important;
}

/* v1.0.35: Site news digest block now outputs the inner block only. */
.loto-site-news-digest__inner.loto-numbers-site-news-digest-block {
  --news-accent: var(--news-accent, var(--game-color, #2563eb));
  --news-soft: var(--news-soft, color-mix(in srgb, var(--news-accent) 10%, #ffffff));
  --news-border: var(--news-border, color-mix(in srgb, var(--news-accent) 18%, #e2e8f0));
  width: 100%;
  box-sizing: border-box;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only {
  padding: clamp(18px, 2.6vw, 26px);
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__head {
  margin-bottom: 14px;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__head p:not(.loto-kicker),
.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__more,
.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__panel-link {
  display: none;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__grid {
  display: block;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__panel {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__panel-head {
  display: none;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__list {
  gap: 10px;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 12px;
  align-items: start;
  padding: 10px 0;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__meta {
  margin: 0;
}

.loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__item h4 {
  font-size: .95rem;
}

@media (max-width: 720px) {
  .loto-site-news-digest__inner.loto-site-news-digest--updates-only .loto-site-news-digest__item {
    grid-template-columns: 1fr;
  }
}

/* v1.0.35 fix: avoid self-referencing news color variables when the inner block is rendered without an outer wrapper. */
.loto-site-news-digest__inner.loto-numbers-site-news-digest-block {
  --news-accent: var(--game-color, #2563eb);
  --news-soft: color-mix(in srgb, var(--news-accent) 10%, #ffffff);
  --news-border: color-mix(in srgb, var(--news-accent) 18%, #e2e8f0);
}

/* v1.0.36: Quick menu follows the original shortcode item counts. */
.loto-numbers-quick-menu .loto-game-menu-wrap.loto-game-menu-columns-1 .loto-game-menu__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.loto-numbers-quick-menu .loto-game-menu-wrap.loto-game-menu-columns-2 .loto-game-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.loto-numbers-quick-menu .loto-game-menu-wrap.loto-game-menu-columns-3 .loto-game-menu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.loto-numbers-quick-menu .loto-game-menu-wrap.loto-game-menu-columns-4 .loto-game-menu__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.loto-numbers-quick-menu .loto-game-menu-wrap.loto-game-menu-columns-5 .loto-game-menu__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.loto-numbers-quick-menu .loto-game-menu-wrap.loto-game-menu-columns-6 .loto-game-menu__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.loto-numbers-quick-menu .loto-game-menu-card__button {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: transparent !important;
  border: 0 !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  z-index: 2;
}
.loto-numbers-quick-menu .loto-game-menu-card__title,
.loto-numbers-quick-menu .loto-game-menu-card__text,
.loto-numbers-quick-menu .loto-game-menu-card__label { position: relative; z-index: 1; }
@media (max-width: 960px) {
  .loto-numbers-quick-menu .loto-game-menu-wrap[class*="loto-game-menu-columns-"] .loto-game-menu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .loto-numbers-quick-menu .loto-game-menu-wrap[class*="loto-game-menu-columns-"] .loto-game-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.loto-numbers-analysis-dashboard-editor,
.loto-analysis-dashboard-module-panel {
  width: 100%;
  box-sizing: border-box;
}


/* v1.0.39: keep disclaimer background white while preserving theme-colored borders. */
.loto-analyzer .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-analyzer .loto-numbers-disclaimer-block .loto-disclaimer-plain,
.loto-analyzer.loto-disclaimer-wrap .loto-box.loto-disclaimer,
.loto-analyzer.loto-disclaimer-wrap .loto-disclaimer-plain,
.loto-notice.loto-numbers-notice-block .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-numbers-disclaimer-block .loto-disclaimer-plain,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap .loto-disclaimer-plain,
.loto-notice.loto-numbers-notice-block .loto-box.loto-disclaimer,
.loto-notice.loto-numbers-notice-block .loto-disclaimer {
  background: #ffffff !important;
  background-image: none !important;
}



/* v1.0.40: keep data source background white while preserving theme-colored borders. */
.loto-analyzer .loto-numbers-data-source-block .loto-box.loto-data-source,
.loto-analyzer.loto-data-source-wrap .loto-box.loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-numbers-data-source-block .loto-box.loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-data-source-wrap .loto-box.loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-box.loto-data-source,
.loto-notice.loto-numbers-notice-block .loto-data-source {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #60a5fa !important;
  border-color: color-mix(in srgb, var(--game-color, #2563eb) 62%, #ffffff) !important;
  box-shadow: inset 4px 0 0 var(--game-color, #2563eb), 0 8px 20px rgba(15, 23, 42, .04) !important;
}

/* v1.0.41: match original hero/heading sizes and improve low-contrast text */
.loto-numbers-home-hero,
.loto-site.loto-sub-hero,
.loto-numbers-block-section,
.loto-numbers-game-card-block,
.loto-numbers-family-latest-card-block,
.loto-article-link-card,
.loto-guide-card,
.loto-term-card,
.loto-point-card,
.loto-section-index-card,
.loto-notice,
.loto-data-source,
.loto-disclaimer {
  --loto-muted: #334155;
  --las-menu-muted: #334155;
  --loto-text: #111827;
}

.loto-numbers-home-hero .loto-hero__title,
.loto-site.loto-sub-hero .loto-sub-hero__title,
.loto-site.loto-sub-hero .loto-hero__title {
  font-size: clamp(1.95rem, 3.6vw, 2.8rem) !important;
  line-height: 1.34 !important;
  letter-spacing: .03em !important;
}

.loto-numbers-block-section .loto-heading-block h2,
.loto-numbers-container-block .loto-heading-block h2,
.loto-notice h2,
.loto-panel h2,
.loto-guide-intro h2 {
  font-size: clamp(1.42rem, 3vw, 1.95rem) !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
}

.loto-numbers-home-hero .loto-kicker,
.loto-numbers-block-section .loto-kicker,
.loto-site.loto-sub-hero .loto-kicker {
  font-size: .76rem !important;
}

.loto-numbers-home-hero .loto-hero__lead,
.loto-site.loto-sub-hero .loto-sub-hero__lead,
.loto-site.loto-sub-hero .loto-hero__lead,
.loto-numbers-lead,
.loto-numbers-block-section .loto-heading-block p:not(.loto-kicker),
.loto-game-card__text,
.loto-game-card__meta,
.loto-game-menu-card__text,
.loto-article-link-card__text,
.loto-guide-card__text,
.loto-term-card__body,
.loto-section-index-card__text,
.loto-analysis-note p,
.loto-family-latest-card__draw span,
.loto-notice p,
.loto-data-source p,
.loto-disclaimer p {
  color: #334155 !important;
}

.loto-numbers-home-hero .loto-home-hero__note {
  color: #334155 !important;
}

@media (max-width: 600px) {
  .loto-numbers-home-hero .loto-hero__title,
  .loto-site.loto-sub-hero .loto-sub-hero__title,
  .loto-site.loto-sub-hero .loto-hero__title {
    font-size: clamp(1.72rem, 7.5vw, 2.25rem) !important;
    line-height: 1.28 !important;
  }
}

.loto-quickpick-module-panel {
  max-width: 100%;
}

.loto-numbers-quickpick-placeholder {
  background: #fff;
  border: 1px solid var(--game-color, #3b82f6);
}

/* v1.0.42: darken muted/body text across all loto-numbers blocks */
.loto-site.loto-sub-hero,
.loto-numbers-home-hero,
.loto-numbers-block-section,
.loto-numbers-container-block,
.loto-numbers-game-card-block,
.loto-numbers-family-latest-card-block,
.loto-article-link-card,
.loto-guide-card,
.loto-term-card,
.loto-point-card,
.loto-section-index-card,
.loto-section-index-group,
.loto-notice,
.loto-data-source,
.loto-disclaimer,
.loto-analysis-note,
.loto-game-menu-card,
.loto-shortcode-panel,
.loto-quickpick-module-panel {
  --loto-muted: #1f2937;
  --las-menu-muted: #1f2937;
  --loto-text: #111827;
}

.loto-site.loto-sub-hero :where(p, li),
.loto-numbers-home-hero :where(p, li),
.loto-numbers-block-section :where(p, li),
.loto-numbers-container-block :where(p, li),
.loto-numbers-game-card-block :where(p, li),
.loto-numbers-family-latest-card-block :where(p, li),
.loto-article-link-card :where(p, li),
.loto-guide-card :where(p, li),
.loto-term-card :where(p, li),
.loto-point-card :where(p, li),
.loto-section-index-card :where(p, li),
.loto-section-index-group :where(p, li),
.loto-notice :where(p, li),
.loto-data-source :where(p, li),
.loto-disclaimer :where(p, li),
.loto-analysis-note :where(p, li),
.loto-game-menu-card :where(p, li),
.loto-shortcode-panel :where(p, li),
.loto-quickpick-module-panel :where(p, li),
.loto-numbers-lead,
.loto-hero__lead,
.loto-sub-hero__lead,
.loto-game-card__text,
.loto-game-card__meta,
.loto-game-menu-card__text,
.loto-article-link-card__text,
.loto-guide-card__text,
.loto-term-card__body,
.loto-section-index-card__text,
.loto-family-latest-card__draw,
.loto-family-latest-card__draw span,
.loto-site-news-digest__item p,
.loto-site-news-digest__meta,
.loto-site-news-digest__empty {
  color: #1f2937 !important;
}

.loto-data-source strong,
.loto-disclaimer strong,
.loto-notice strong,
.loto-analysis-note strong {
  color: #111827 !important;
}


/* v1.0.43: make quickpick empty/help block follow the selected game theme. */
.loto-quickpick-module-panel--loto7,
.loto7-quickpick,
.loto-game-quickpick-page[data-game="loto7"],
.loto-game-quickpick-tool-panel[data-game="loto7"] {
  --game-color: #3b82f6;
  --game-color-dark: #1d4ed8;
  --game-soft: #eff6ff;
}
.loto-quickpick-module-panel--loto6,
.loto6-quickpick,
.loto-game-quickpick-page[data-game="loto6"],
.loto-game-quickpick-tool-panel[data-game="loto6"] {
  --game-color: #22c55e;
  --game-color-dark: #15803d;
  --game-soft: #f0fdf4;
}
.loto-quickpick-module-panel--miniloto,
.miniloto-quickpick,
.loto-game-quickpick-page[data-game="miniloto"],
.loto-game-quickpick-tool-panel[data-game="miniloto"] {
  --game-color: #f97316;
  --game-color-dark: #c2410c;
  --game-soft: #fff7ed;
}
.loto-quickpick-module-panel--numbers3,
.numbers3-quickpick,
.loto-game-quickpick-page[data-game="numbers3"],
.loto-game-quickpick-tool-panel[data-game="numbers3"] {
  --game-color: #8b5cf6;
  --game-color-dark: #6d28d9;
  --game-soft: #f5f3ff;
}
.loto-quickpick-module-panel--numbers4,
.numbers4-quickpick,
.loto-game-quickpick-page[data-game="numbers4"],
.loto-game-quickpick-tool-panel[data-game="numbers4"] {
  --game-color: #ec4899;
  --game-color-dark: #be185d;
  --game-soft: #fdf2f8;
}

.loto-quickpick-module-panel .loto-quickpick-output .loto-quickpick-empty,
.loto-quickpick-module-panel .loto-quickpick-output .numbers-quickpick-empty,
.loto7-quickpick .loto-quickpick-output .loto-quickpick-empty,
.loto6-quickpick .loto-quickpick-output .loto-quickpick-empty,
.miniloto-quickpick .loto-quickpick-output .loto-quickpick-empty,
.numbers3-quickpick .numbers-quickpick-output .numbers-quickpick-empty,
.numbers4-quickpick .numbers-quickpick-output .numbers-quickpick-empty,
.loto-game-quickpick-page .loto-quickpick-output .loto-quickpick-empty,
.loto-game-quickpick-page .numbers-quickpick-output .numbers-quickpick-empty,
.loto-game-quickpick-tool-panel .loto-quickpick-output .loto-quickpick-empty,
.loto-game-quickpick-tool-panel .numbers-quickpick-output .numbers-quickpick-empty {
  background: var(--game-soft, #eff6ff) !important;
  border-color: color-mix(in srgb, var(--game-color, #3b82f6) 32%, #ffffff) !important;
  box-shadow: inset 4px 0 0 var(--game-color, #3b82f6), 0 8px 20px rgba(15, 23, 42, .04) !important;
  color: var(--game-color-dark, #1d4ed8) !important;
}

.loto-quickpick-module-panel .loto-quickpick-output .loto-quickpick-empty strong,
.loto-quickpick-module-panel .loto-quickpick-output .numbers-quickpick-empty strong,
.loto7-quickpick .loto-quickpick-output .loto-quickpick-empty strong,
.loto6-quickpick .loto-quickpick-output .loto-quickpick-empty strong,
.miniloto-quickpick .loto-quickpick-output .loto-quickpick-empty strong,
.numbers3-quickpick .numbers-quickpick-output .numbers-quickpick-empty strong,
.numbers4-quickpick .numbers-quickpick-output .numbers-quickpick-empty strong,
.loto-game-quickpick-page .loto-quickpick-output .loto-quickpick-empty strong,
.loto-game-quickpick-page .numbers-quickpick-output .numbers-quickpick-empty strong,
.loto-game-quickpick-tool-panel .loto-quickpick-output .loto-quickpick-empty strong,
.loto-game-quickpick-tool-panel .numbers-quickpick-output .numbers-quickpick-empty strong {
  color: var(--game-color-dark, #1d4ed8) !important;
}

.loto-quickpick-module-panel .loto-quickpick-output .loto-quickpick-empty p,
.loto-quickpick-module-panel .loto-quickpick-output .numbers-quickpick-empty p,
.loto7-quickpick .loto-quickpick-output .loto-quickpick-empty p,
.loto6-quickpick .loto-quickpick-output .loto-quickpick-empty p,
.miniloto-quickpick .loto-quickpick-output .loto-quickpick-empty p,
.numbers3-quickpick .numbers-quickpick-output .numbers-quickpick-empty p,
.numbers4-quickpick .numbers-quickpick-output .numbers-quickpick-empty p,
.loto-game-quickpick-page .loto-quickpick-output .loto-quickpick-empty p,
.loto-game-quickpick-page .numbers-quickpick-output .numbers-quickpick-empty p,
.loto-game-quickpick-tool-panel .loto-quickpick-output .loto-quickpick-empty p,
.loto-game-quickpick-tool-panel .numbers-quickpick-output .numbers-quickpick-empty p {
  color: #1f2937 !important;
}

/* Guide / term card chips */
.loto-numbers-guide-term-card-block .loto-guide-card__chips,
.loto-guide-card .loto-guide-card__chips,
.loto-term-card .loto-guide-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
  margin-top: 16px;
}

.loto-numbers-guide-term-card-block .loto-guide-card__chip,
.loto-guide-card .loto-guide-card__chip,
.loto-term-card .loto-guide-card__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--game-color, #3b82f6) 10%, #fff 90%);
  color: var(--game-color-dark, #1d4ed8);
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}

@supports not (background: color-mix(in srgb, #000 10%, #fff 90%)) {
  .loto-numbers-guide-term-card-block .loto-guide-card__chip,
  .loto-guide-card .loto-guide-card__chip,
  .loto-term-card .loto-guide-card__chip {
    background: var(--game-soft, #eff6ff);
  }
}

/* Analysis tabs block */
.loto-numbers-analysis-tabs-editor,
.loto-analysis-tabs-module-panel {
  width: 100%;
}

.loto-analysis-tabs .loto-tabs-box {
  background: #fff;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  padding: clamp(18px, 3vw, 28px);
}

.loto-analysis-tabs .loto-box-title {
  color: #0f172a;
  font-weight: 800;
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  margin: 0 0 8px;
}

.loto-analysis-tabs .loto-note {
  color: #334155;
  margin: 0 0 16px;
  line-height: 1.8;
}

.loto-analysis-tabs .loto-tabs-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px;
}

.loto-analysis-tabs .loto-tab-button {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--game-color, #2563eb) 24%, #fff);
  background: color-mix(in srgb, var(--game-color, #2563eb) 8%, #fff);
  color: var(--game-dark, #1d4ed8);
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  line-height: 1.3;
  padding: 9px 14px;
}

.loto-analysis-tabs .loto-tab-button:hover,
.loto-analysis-tabs .loto-tab-button.is-active,
.loto-analysis-tabs .loto-tab-button[aria-selected="true"] {
  background: var(--game-color, #2563eb);
  border-color: var(--game-color, #2563eb);
  color: #fff;
}

.loto-analysis-tabs .loto-tab-panel {
  display: none;
}

.loto-analysis-tabs .loto-tab-panel.is-active {
  display: block;
}

@media (max-width: 640px) {
  .loto-analysis-tabs .loto-tabs-box {
    padding: 16px;
    border-radius: 18px;
  }
  .loto-analysis-tabs .loto-tab-button {
    padding: 8px 12px;
    font-size: 0.9rem;
  }
}

/* Buy flow block */
.loto-numbers-buy-flow-block.loto-buy-flow,
.loto-buy-flow.loto-numbers-buy-flow-block {
  max-width: 920px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.loto-numbers-buy-flow-block .loto-buy-step,
.loto-buy-flow.loto-numbers-buy-flow-block .loto-buy-step {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 24px !important;
  border-radius: var(--loto-radius-lg, 22px);
  background: #ffffff;
  border: 1px solid var(--loto-border, rgba(148, 163, 184, .28));
  box-shadow: var(--loto-shadow-sm, 0 10px 24px rgba(15, 23, 42, .06));
  text-align: left !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.loto-numbers-buy-flow-block .loto-buy-step,
.loto-numbers-buy-flow-block .loto-buy-step * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.loto-numbers-buy-flow-block .loto-buy-step__top {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  text-align: left !important;
}

.loto-numbers-buy-flow-block .loto-buy-step__number {
  display: inline-flex !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--game-color, #2563eb);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

.loto-numbers-buy-flow-block .loto-buy-step__title {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--loto-heading, #020617);
  font-size: 1.18rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .01em;
  text-align: left !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.loto-numbers-buy-flow-block .loto-buy-step__text {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 0 62px !important;
  color: #1f2937 !important;
  font-size: .96rem !important;
  font-weight: 500 !important;
  line-height: 1.85 !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.loto-numbers-buy-flow-note.loto-guide-note {
  max-width: 920px;
  margin: 20px auto 0;
  padding: 14px 18px;
  border-radius: 16px;
  background: var(--game-soft, #eff6ff);
  color: var(--game-color-dark, #1d4ed8);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}

.loto-numbers-buy-flow-note.loto-guide-note strong {
  font-weight: 900;
}

@media (max-width: 640px) {
  .loto-numbers-buy-flow-block .loto-buy-step {
    padding: 18px !important;
    border-radius: 18px;
  }
  .loto-numbers-buy-flow-block .loto-buy-step__top {
    gap: 12px;
  }
  .loto-numbers-buy-flow-block .loto-buy-step__number {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
  }
  .loto-numbers-buy-flow-block .loto-buy-step__text {
    padding-left: 54px !important;
  }
}


/* v1.0.50: Make buy-flow steps fill the available content area like the original module. */
.loto-numbers-buy-flow-block.loto-buy-flow,
.loto-buy-flow.loto-numbers-buy-flow-block {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  box-sizing: border-box !important;
}

.loto-numbers-buy-flow-block .loto-buy-step,
.loto-buy-flow.loto-numbers-buy-flow-block .loto-buy-step {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* v1.0.51: Numbers4 winning condition table block */
.loto-winning-conditions-block,
.loto-winning-conditions-block-editor {
  --n4bga-color: var(--game-color, #ec4899);
  --n4bga-color-dark: var(--game-color-dark, #be185d);
  --n4bga-color-soft: var(--game-soft, #fdf2f8);
  --n4bga-heading: #0f172a;
  --n4bga-muted: #334155;
  --n4bga-border: color-mix(in srgb, var(--n4bga-color) 24%, #e5e7eb);
  --n4bga-radius-lg: 24px;
  --n4bga-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  width: 100%;
  max-width: 100%;
}

.loto-winning-conditions-block .n4bga-table-wrap,
.loto-winning-conditions-block-editor .n4bga-table-wrap,
.loto-winning-conditions-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--n4bga-border);
  border-radius: var(--n4bga-radius-lg);
  background: #ffffff;
  box-shadow: var(--n4bga-shadow-sm);
  width: 100%;
  max-width: 100%;
}

.loto-winning-conditions-block .n4bga-table,
.loto-winning-conditions-block-editor .n4bga-table,
.loto-winning-conditions-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
  margin: 0;
}

.loto-winning-conditions-block .n4bga-table th,
.loto-winning-conditions-block .n4bga-table td,
.loto-winning-conditions-block-editor .n4bga-table th,
.loto-winning-conditions-block-editor .n4bga-table td,
.loto-winning-conditions-table th,
.loto-winning-conditions-table td {
  padding: 15px 16px;
  border-bottom: 1px solid var(--n4bga-border);
  text-align: left;
  vertical-align: top;
  line-height: 1.7;
  color: var(--n4bga-muted);
  font-size: .95rem;
}

.loto-winning-conditions-block .n4bga-table thead th,
.loto-winning-conditions-block-editor .n4bga-table thead th,
.loto-winning-conditions-table thead th {
  background: var(--n4bga-color-soft);
  color: var(--n4bga-color-dark);
  font-weight: 900;
}

.loto-winning-conditions-block .n4bga-table tbody th,
.loto-winning-conditions-block-editor .n4bga-table tbody th,
.loto-winning-conditions-table tbody th {
  width: 88px;
  color: var(--n4bga-heading);
  font-weight: 900;
  white-space: nowrap;
}

.loto-winning-conditions-block .n4bga-table tr:last-child th,
.loto-winning-conditions-block .n4bga-table tr:last-child td,
.loto-winning-conditions-block-editor .n4bga-table tr:last-child th,
.loto-winning-conditions-block-editor .n4bga-table tr:last-child td,
.loto-winning-conditions-table tr:last-child th,
.loto-winning-conditions-table tr:last-child td {
  border-bottom: 0;
}

.loto-winning-conditions--loto7 { --game-color: #3b82f6; --game-color-dark: #1d4ed8; --game-soft: #eff6ff; }
.loto-winning-conditions--loto6 { --game-color: #22c55e; --game-color-dark: #16a34a; --game-soft: #f0fdf4; }
.loto-winning-conditions--miniloto { --game-color: #f97316; --game-color-dark: #ea580c; --game-soft: #fff7ed; }
.loto-winning-conditions--numbers3 { --game-color: #a855f7; --game-color-dark: #7e22ce; --game-soft: #faf5ff; }
.loto-winning-conditions--numbers4 { --game-color: #ec4899; --game-color-dark: #be185d; --game-soft: #fdf2f8; }

@media (max-width: 640px) {
  .loto-winning-conditions-block .n4bga-table,
  .loto-winning-conditions-block-editor .n4bga-table,
  .loto-winning-conditions-table {
    min-width: 660px;
  }

  .loto-winning-conditions-block .n4bga-table th,
  .loto-winning-conditions-block .n4bga-table td,
  .loto-winning-conditions-block-editor .n4bga-table th,
  .loto-winning-conditions-block-editor .n4bga-table td,
  .loto-winning-conditions-table th,
  .loto-winning-conditions-table td {
    padding: 13px 12px;
  }
}

/* v1.0.52: restore original loto-condition-table design */
.loto-winning-conditions-block,
.loto-winning-conditions-block-editor {
  --condition-color: var(--game-color, #ec4899);
  --condition-color-dark: var(--game-color-dark, #be185d);
  --condition-soft: var(--game-soft, #fdf2f8);
  --condition-border: color-mix(in srgb, var(--condition-color) 28%, #e5e7eb);
  width: 100%;
  max-width: 100%;
}

.loto-condition-table-wrap,
.loto-winning-conditions-block .loto-condition-table-wrap,
.loto-winning-conditions-block-editor .loto-condition-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--condition-border) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

.loto-condition-table,
.loto-winning-conditions-block .loto-condition-table,
.loto-winning-conditions-block-editor .loto-condition-table {
  width: 100%;
  min-width: 720px;
  margin: 0;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto;
  background: #fff;
}

.loto-condition-table th,
.loto-condition-table td,
.loto-winning-conditions-block .loto-condition-table th,
.loto-winning-conditions-block .loto-condition-table td,
.loto-winning-conditions-block-editor .loto-condition-table th,
.loto-winning-conditions-block-editor .loto-condition-table td {
  padding: 16px 16px !important;
  border-right: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: #fff;
  color: #0f172a !important;
  text-align: left;
  vertical-align: middle;
  line-height: 1.7;
  font-size: .95rem;
}

.loto-condition-table thead th,
.loto-winning-conditions-block .loto-condition-table thead th,
.loto-winning-conditions-block-editor .loto-condition-table thead th {
  background: var(--condition-soft) !important;
  color: var(--condition-color-dark) !important;
  font-weight: 900 !important;
  white-space: nowrap;
}

.loto-condition-table tbody th,
.loto-winning-conditions-block .loto-condition-table tbody th,
.loto-winning-conditions-block-editor .loto-condition-table tbody th {
  width: 160px;
  min-width: 140px;
  background: #fff !important;
  font-weight: 900 !important;
  white-space: nowrap;
}

.loto-condition-table tbody td:nth-child(2),
.loto-winning-conditions-block .loto-condition-table tbody td:nth-child(2),
.loto-winning-conditions-block-editor .loto-condition-table tbody td:nth-child(2) {
  width: 220px;
}

.loto-condition-table tbody th .loto-winning-conditions-cell,
.loto-condition-table tbody th .loto-winning-conditions-cell-edit,
.loto-winning-conditions-block .loto-condition-table tbody th .loto-winning-conditions-cell,
.loto-winning-conditions-block-editor .loto-condition-table tbody th .loto-winning-conditions-cell-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: .45rem .72rem;
  border-radius: 999px;
  background: var(--condition-color) !important;
  color: #fff !important;
  font-weight: 900;
  font-size: .88rem;
  line-height: 1.25;
  white-space: nowrap;
}

.loto-condition-table tr > *:last-child,
.loto-winning-conditions-block .loto-condition-table tr > *:last-child,
.loto-winning-conditions-block-editor .loto-condition-table tr > *:last-child {
  border-right: 0 !important;
}

.loto-condition-table tbody tr:last-child > *,
.loto-winning-conditions-block .loto-condition-table tbody tr:last-child > *,
.loto-winning-conditions-block-editor .loto-condition-table tbody tr:last-child > * {
  border-bottom: 0 !important;
}

@media (max-width: 640px) {
  .loto-condition-table,
  .loto-winning-conditions-block .loto-condition-table,
  .loto-winning-conditions-block-editor .loto-condition-table {
    min-width: 700px;
  }

  .loto-condition-table th,
  .loto-condition-table td,
  .loto-winning-conditions-block .loto-condition-table th,
  .loto-winning-conditions-block .loto-condition-table td,
  .loto-winning-conditions-block-editor .loto-condition-table th,
  .loto-winning-conditions-block-editor .loto-condition-table td {
    padding: 14px 12px !important;
  }
}


/* v1.0.53: editable condition table rows and columns */
.loto-winning-conditions-table {
  min-width: max(720px, calc(var(--loto-condition-column-count, 3) * 220px));
}
.loto-winning-conditions-table th,
.loto-winning-conditions-table td {
  min-width: 180px;
}
.loto-winning-conditions-table tbody th {
  min-width: 140px;
}


/* v1.0.54: numbers/loto aggregate home hero themes and multiple CTA buttons */
.loto-numbers-home-hero.loto-home-hero.loto-numbers-home-hero--numbers,
.loto-numbers-home-hero.loto-home-hero.loto-family-hero--numbers[data-family="numbers"] {
  --game-color: #ec4899;
  --game-color-dark: #be185d;
  --game-soft: #fdf2f8;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--game-color) 16%, transparent), transparent 30%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--game-color) 10%, transparent), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, var(--game-soft) 100%) !important;
  border-color: color-mix(in srgb, var(--game-color) 28%, #ffffff) !important;
}

.loto-numbers-home-hero.loto-home-hero.loto-numbers-home-hero--loto,
.loto-numbers-home-hero.loto-home-hero.loto-family-hero--loto[data-family="loto"] {
  --game-color: #2563eb;
  --game-color-dark: #1d4ed8;
  --game-soft: #dbeafe;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--game-color) 16%, transparent), transparent 30%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--game-color) 10%, transparent), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, var(--game-soft) 100%) !important;
  border-color: color-mix(in srgb, var(--game-color) 28%, #ffffff) !important;
}

.loto-numbers-home-hero.loto-home-hero.loto-numbers-home-hero--numbers3,
.loto-numbers-home-hero.loto-home-hero.loto-numbers-home-hero--numbers4 {
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--game-color) 16%, transparent), transparent 30%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--game-color) 10%, transparent), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, var(--game-soft) 100%) !important;
  border-color: color-mix(in srgb, var(--game-color) 28%, #ffffff) !important;
}

.loto-numbers-cta-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
}

.loto-numbers-cta-panel__actions .loto-panel-link {
  margin-top: 0;
}

/* v1.0.55: guide/term card inner blocks and prize/carryover no-heading modules */
.loto-numbers-guide-term-card-block > .wp-block:not(:first-child),
.loto-numbers-guide-term-card-block > .wp-block-group,
.loto-numbers-guide-term-card-block > .wp-block-buttons,
.loto-numbers-guide-term-card-block > .wp-block-columns {
    margin-top: 14px;
}
.loto-results-module-panel--no-heading .loto-numbers-results-module-editor__head,
.loto-results-module-panel--no-heading > .loto-box-title {
    display: none !important;
}

/* v1.0.56: prize/carryover modules without headings, original summary styling and numeric history alignment */
.loto-results-module-panel--prize .loto-heading-block,
.loto-results-module-panel--prize > .loto-box-title,
.loto-results-module-panel--prize .loto-prize-summary-box > .loto-box-title,
.loto-results-module-panel--prize .loto-box-title {
  display: none !important;
}

.loto-results-module-panel--prize,
.loto-game-prize-trends-summary[data-game],
.loto-game-prize-trends-history[data-game],
.loto-game-prize-trends-carryover[data-game],
.loto-game-prize-trends-charts[data-game],
.loto-game-prize-trends-mechanism[data-game] {
  --las-game-color: var(--game-color) !important;
  --las-game-color-dark: var(--game-color-dark) !important;
  --las-game-soft: var(--game-soft) !important;
  --loto-main-color: var(--game-color) !important;
  --loto-sub-color: var(--game-soft) !important;
  --loto-accent-color: var(--game-color-dark) !important;
}

.loto-results-module-panel--prize .loto-shortcode-panel,
.loto-results-module-panel--prize .loto-game-prize-panel,
.loto-results-module-panel--prize .loto-prize-summary-panel,
.loto-game-prize-trends-summary[data-game] .loto-shortcode-panel,
.loto-game-prize-trends-summary[data-game] .loto-game-prize-panel {
  padding: clamp(18px, 3vw, 28px) !important;
  border: 1px solid color-mix(in srgb, var(--game-color) 18%, var(--loto-border, #e5e7eb)) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color) 6%, transparent), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--game-soft) 34%, #ffffff) 100%) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .06) !important;
}

.loto-results-module-panel--prize .loto-prize-summary-box,
.loto-results-module-panel--prize .loto-carryover-summary .loto-box,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-box,
.loto-game-prize-trends-summary[data-game] .loto-carryover-summary .loto-box {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.loto-results-module-panel--prize .loto-note,
.loto-game-prize-trends-summary[data-game] .loto-note {
  margin: 0 0 16px !important;
  color: #1f2937 !important;
  font-size: .95rem !important;
  line-height: 1.8 !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid,
.loto-results-module-panel--prize .loto-summary-grid,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid > div,
.loto-results-module-panel--prize .loto-summary-grid > div,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid > div,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid > div {
  position: relative !important;
  min-width: 0 !important;
  padding: 18px 18px 16px !important;
  border: 1px solid color-mix(in srgb, var(--game-color) 16%, var(--loto-border, #e5e7eb)) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
  overflow: hidden !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid > div::before,
.loto-results-module-panel--prize .loto-summary-grid > div::before,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid > div::before,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid > div::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--game-color);
}

.loto-results-module-panel--prize .loto-prize-summary-grid span,
.loto-results-module-panel--prize .loto-summary-grid span,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid span,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid span {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--game-color-dark) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid strong,
.loto-results-module-panel--prize .loto-summary-grid strong,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid strong,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid strong {
  display: block !important;
  color: #0f172a !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.loto-results-module-panel--prize .loto-table-wrap,
.loto-results-module-panel--prize .loto-prize-trend-table-wrap,
.loto-game-prize-trends-history[data-game] .loto-table-wrap,
.loto-game-prize-trends-history[data-game] .loto-prize-trend-table-wrap {
  border-radius: 20px !important;
  background: #fff !important;
  border-color: color-mix(in srgb, var(--game-color) 16%, var(--loto-border, #e5e7eb)) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .045) !important;
}

.loto-results-module-panel--prize table.loto-prize-trend-table th:nth-child(3),
.loto-results-module-panel--prize table.loto-prize-trend-table th:nth-child(4),
.loto-results-module-panel--prize table.loto-prize-trend-table th:nth-child(5),
.loto-results-module-panel--prize table.loto-prize-trend-table td:nth-child(3),
.loto-results-module-panel--prize table.loto-prize-trend-table td:nth-child(4),
.loto-results-module-panel--prize table.loto-prize-trend-table td:nth-child(5),
.loto-game-prize-trends-history table.loto-prize-trend-table th:nth-child(3),
.loto-game-prize-trends-history table.loto-prize-trend-table th:nth-child(4),
.loto-game-prize-trends-history table.loto-prize-trend-table th:nth-child(5),
.loto-game-prize-trends-history table.loto-prize-trend-table td:nth-child(3),
.loto-game-prize-trends-history table.loto-prize-trend-table td:nth-child(4),
.loto-game-prize-trends-history table.loto-prize-trend-table td:nth-child(5) {
  text-align: right !important;
}

.loto-results-module-panel--prize table.loto-prize-trend-table td:nth-child(3) > span,
.loto-results-module-panel--prize table.loto-prize-trend-table td:nth-child(4) > span,
.loto-results-module-panel--prize table.loto-prize-trend-table td:nth-child(5) > span,
.loto-game-prize-trends-history table.loto-prize-trend-table td:nth-child(3) > span,
.loto-game-prize-trends-history table.loto-prize-trend-table td:nth-child(4) > span,
.loto-game-prize-trends-history table.loto-prize-trend-table td:nth-child(5) > span {
  display: inline-flex !important;
  justify-content: flex-end !important;
  max-width: 100% !important;
  text-align: right !important;
}

@media (max-width: 900px) {
  .loto-results-module-panel--prize .loto-prize-summary-grid,
  .loto-results-module-panel--prize .loto-summary-grid,
  .loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid,
  .loto-game-prize-trends-summary[data-game] .loto-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .loto-results-module-panel--prize .loto-prize-summary-grid,
  .loto-results-module-panel--prize .loto-summary-grid,
  .loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid,
  .loto-game-prize-trends-summary[data-game] .loto-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.0.57: restore original prize summary grid and split desktop/mobile prize-history alignment. */
.loto-results-module-panel--prize .loto-prize-summary-box,
.loto-results-module-panel--prize .loto-carryover-summary .loto-box,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-box,
.loto-game-prize-trends-summary[data-game] .loto-carryover-summary .loto-box {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid,
.loto-results-module-panel--prize .loto-summary-grid,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 12px 0 16px !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid > div,
.loto-results-module-panel--prize .loto-summary-grid > div,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid > div,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid > div,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid > div {
  position: static !important;
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--loto-border-color, var(--loto-border, #e5e7eb)) !important;
  border-radius: 12px !important;
  background: var(--loto-soft-bg, #f8fafc) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid > div::before,
.loto-results-module-panel--prize .loto-summary-grid > div::before,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid > div::before,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid > div::before,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid > div::before {
  content: none !important;
  display: none !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid span,
.loto-results-module-panel--prize .loto-summary-grid span,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid span,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid span,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid span {
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--loto-muted-color, #475569) !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.loto-results-module-panel--prize .loto-prize-summary-grid strong,
.loto-results-module-panel--prize .loto-summary-grid strong,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid strong,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid strong,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid strong {
  display: block !important;
  color: var(--loto-accent-color, var(--game-color, #2563eb)) !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(3),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(4),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(5),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(3),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(4),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(5),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) {
  text-align: right !important;
}

.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3) > span,
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4) > span,
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) > span,
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3) > span,
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4) > span,
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) > span {
  display: inline-flex !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

@media (max-width: 768px) {
  .loto-results-module-panel--prize .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(1) dd,
  .loto-results-module-panel--prize .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(2) dd,
  .loto-results-module-panel--prize .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
  .loto-game-prize-trends-history .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(1) dd,
  .loto-game-prize-trends-history .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(2) dd,
  .loto-game-prize-trends-history .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd {
    justify-self: start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }
}


/* v1.0.58: prize/carryover blocks - force original summary grid and direct shortcode table alignment. */
.loto-analyzer.loto-prize-summary .loto-summary-grid.loto-prize-summary-grid,
.loto-analyzer.loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid,
.loto-results-module-panel--prize .loto-prize-summary-grid,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid.loto-prize-summary-grid,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 12px 0 16px !important;
}

.loto-analyzer.loto-prize-summary .loto-summary-grid.loto-prize-summary-grid > div,
.loto-analyzer.loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid > div,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid > div,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid > div,
.loto-results-module-panel--prize .loto-prize-summary-grid > div,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid.loto-prize-summary-grid > div,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid > div {
  position: static !important;
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--loto-border-color, var(--loto-border, #e5e7eb)) !important;
  border-radius: 12px !important;
  background: var(--loto-soft-bg, #f8fafc) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.loto-analyzer.loto-prize-summary .loto-summary-grid.loto-prize-summary-grid > div::before,
.loto-analyzer.loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid > div::before,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid > div::before,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid > div::before,
.loto-results-module-panel--prize .loto-prize-summary-grid > div::before,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid.loto-prize-summary-grid > div::before,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid > div::before {
  content: none !important;
  display: none !important;
}

.loto-analyzer.loto-prize-summary .loto-summary-grid.loto-prize-summary-grid span,
.loto-analyzer.loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid span,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid span,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid span,
.loto-results-module-panel--prize .loto-prize-summary-grid span,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid.loto-prize-summary-grid span,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid span {
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--loto-muted-color, #475569) !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

.loto-analyzer.loto-prize-summary .loto-summary-grid.loto-prize-summary-grid strong,
.loto-analyzer.loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid strong,
.loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid strong,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid strong,
.loto-results-module-panel--prize .loto-prize-summary-grid strong,
.loto-game-prize-trends-summary[data-game] .loto-summary-grid.loto-prize-summary-grid strong,
.loto-game-prize-trends-summary[data-game] .loto-prize-summary-grid strong {
  display: block !important;
  color: var(--loto-accent-color, var(--game-color, #2563eb)) !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* Direct prize-history shortcode output and wrapped result modules: desktop table amount columns. */
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(3),
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(4),
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(5),
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3),
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4),
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5),
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(3),
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(4),
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(5),
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3),
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4),
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(3),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(4),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(5),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4),
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(3),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(4),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table th:nth-child(5),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4),
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) {
  text-align: right !important;
}

.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3) > span,
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4) > span,
.loto-analyzer.loto-prize-trend-table .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) > span,
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3) > span,
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4) > span,
.loto-prize-trend-box .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) > span,
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3) > span,
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4) > span,
.loto-results-module-panel--prize .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) > span,
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(3) > span,
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(4) > span,
.loto-game-prize-trends-history .loto-prize-desktop-table-wrap table.loto-prize-trend-table td:nth-child(5) > span {
  display: inline-flex !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

/* Mobile card amount rows should stay left-aligned. */
.loto-analyzer.loto-prize-trend-table .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(1) dd,
.loto-analyzer.loto-prize-trend-table .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(2) dd,
.loto-analyzer.loto-prize-trend-table .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-prize-trend-box .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(1) dd,
.loto-prize-trend-box .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(2) dd,
.loto-prize-trend-box .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-results-module-panel--prize .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(1) dd,
.loto-results-module-panel--prize .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(2) dd,
.loto-results-module-panel--prize .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-game-prize-trends-history .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(1) dd,
.loto-game-prize-trends-history .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(2) dd,
.loto-game-prize-trends-history .loto-prize-history-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd {
  justify-self: start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}


/* v1.0.59: prize/carryover summary and mobile prize-history alignment: match original suite selectors. */
.loto-analyzer .loto-prize-summary-box .loto-summary-grid,
.loto-analyzer .loto-carryover-summary .loto-summary-grid,
.loto-analyzer.loto-prize-summary .loto-summary-grid,
.loto-analyzer.loto-carryover-summary .loto-summary-grid,
.loto-game-prize-trends-summary .loto-summary-grid,
.loto-game-prize-trends-summary .loto-prize-summary-grid,
.loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid,
.loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid,
.loto-results-module-panel--prize .loto-prize-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
}

.loto-analyzer .loto-prize-summary-box .loto-summary-grid > *,
.loto-analyzer .loto-carryover-summary .loto-summary-grid > *,
.loto-analyzer.loto-prize-summary .loto-summary-grid > *,
.loto-analyzer.loto-carryover-summary .loto-summary-grid > *,
.loto-game-prize-trends-summary .loto-summary-grid > *,
.loto-game-prize-trends-summary .loto-prize-summary-grid > *,
.loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid > *,
.loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid > *,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid > *,
.loto-results-module-panel--prize .loto-prize-summary-grid > * {
  position: static !important;
  min-width: 0 !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  border: 1px solid var(--loto-border, var(--loto-border-color, #e5e7eb)) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.loto-analyzer .loto-prize-summary-box .loto-summary-grid > *::before,
.loto-analyzer .loto-carryover-summary .loto-summary-grid > *::before,
.loto-analyzer.loto-prize-summary .loto-summary-grid > *::before,
.loto-analyzer.loto-carryover-summary .loto-summary-grid > *::before,
.loto-game-prize-trends-summary .loto-summary-grid > *::before,
.loto-game-prize-trends-summary .loto-prize-summary-grid > *::before,
.loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid > *::before,
.loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid > *::before,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid > *::before,
.loto-results-module-panel--prize .loto-prize-summary-grid > *::before {
  content: none !important;
  display: none !important;
}

.loto-analyzer .loto-prize-summary-box .loto-summary-grid span,
.loto-analyzer .loto-carryover-summary .loto-summary-grid span,
.loto-analyzer.loto-prize-summary .loto-summary-grid span,
.loto-analyzer.loto-carryover-summary .loto-summary-grid span,
.loto-game-prize-trends-summary .loto-summary-grid span,
.loto-game-prize-trends-summary .loto-prize-summary-grid span,
.loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid span,
.loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid span,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid span,
.loto-results-module-panel--prize .loto-prize-summary-grid span {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--loto-muted, var(--loto-muted-color, #475569)) !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}

.loto-analyzer .loto-prize-summary-box .loto-summary-grid strong,
.loto-analyzer .loto-carryover-summary .loto-summary-grid strong,
.loto-analyzer.loto-prize-summary .loto-summary-grid strong,
.loto-analyzer.loto-carryover-summary .loto-summary-grid strong,
.loto-game-prize-trends-summary .loto-summary-grid strong,
.loto-game-prize-trends-summary .loto-prize-summary-grid strong,
.loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid strong,
.loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid strong,
.loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid strong,
.loto-results-module-panel--prize .loto-prize-summary-grid strong {
  display: block !important;
  color: var(--loto-heading, #020617) !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

@media (max-width: 900px) {
  .loto-analyzer .loto-prize-summary-box .loto-summary-grid,
  .loto-analyzer .loto-carryover-summary .loto-summary-grid,
  .loto-analyzer.loto-prize-summary .loto-summary-grid,
  .loto-analyzer.loto-carryover-summary .loto-summary-grid,
  .loto-game-prize-trends-summary .loto-summary-grid,
  .loto-game-prize-trends-summary .loto-prize-summary-grid,
  .loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid,
  .loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid,
  .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid,
  .loto-results-module-panel--prize .loto-prize-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .loto-analyzer .loto-prize-summary-box .loto-summary-grid,
  .loto-analyzer .loto-carryover-summary .loto-summary-grid,
  .loto-analyzer.loto-prize-summary .loto-summary-grid,
  .loto-analyzer.loto-carryover-summary .loto-summary-grid,
  .loto-game-prize-trends-summary .loto-summary-grid,
  .loto-game-prize-trends-summary .loto-prize-summary-grid,
  .loto-results-module-panel--prize .loto-prize-summary-box .loto-summary-grid,
  .loto-results-module-panel--prize .loto-carryover-summary .loto-summary-grid,
  .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid,
  .loto-results-module-panel--prize .loto-prize-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile prize-history cards: amount labels/values should be left aligned, while the desktop table keeps amount columns right aligned. */
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3),
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4),
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5),
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3),
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4),
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5),
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3),
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4),
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5),
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3),
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4),
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) {
  text-align: left !important;
  justify-items: start !important;
}

.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dt,
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dt,
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dt,
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dd,
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-analyzer.loto-prize-trend-table .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dd,
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dt,
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dt,
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dt,
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dd,
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-prize-trend-box .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dd,
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dt,
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dt,
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dt,
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dd,
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-results-module-panel--prize .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dd,
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dt,
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dt,
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dt,
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(3) dd,
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(4) dd,
.loto-game-prize-trends-history .loto-prize-mobile-card-list .loto-prize-mobile-card__row:nth-child(5) dd {
  display: block !important;
  width: 100% !important;
  justify-content: flex-start !important;
  justify-self: start !important;
  text-align: left !important;
}


/* v1.0.61: prize/carryover summary grid final original-design override. */
html body .loto-summary-grid.loto-prize-summary-grid,
html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid,
html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid,
html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid,
html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid,
html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}
html body .loto-summary-grid.loto-prize-summary-grid > div,
html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid > div,
html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid > div,
html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid > div,
html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid > div,
html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid > div {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: 18px 18px 16px !important;
  border: 1px solid color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 20%, var(--loto-border, #e5e7eb)) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
html body .loto-summary-grid.loto-prize-summary-grid > div::before,
html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid > div::before,
html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid > div::before,
html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid > div::before,
html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid > div::before,
html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid > div::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 4px !important;
  background: var(--game-color, var(--loto-main-color, #2563eb)) !important;
}
html body .loto-summary-grid.loto-prize-summary-grid span,
html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid span,
html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid span,
html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid span,
html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid span,
html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid span {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--game-color-dark, var(--loto-accent-color, #1d4ed8)) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .01em !important;
}
html body .loto-summary-grid.loto-prize-summary-grid strong,
html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid strong,
html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid strong,
html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid strong,
html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid strong,
html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid strong {
  display: block !important;
  color: #020617 !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 960px) {
  html body .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  html body .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-prize-summary-box .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-prize-summary .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-carryover-summary .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-game-prize-trends-summary .loto-summary-grid.loto-prize-summary-grid,
  html body .loto-results-module-panel--prize .loto-summary-grid.loto-prize-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.0.62: dedicated styling for the Result Module option "当せん金・キャリーオーバー概要". */
.loto-numbers-prize-output--summary .loto-numbers-prize-summary-module,
.loto-results-module-panel--prize-summary .loto-numbers-prize-summary-module,
.loto-numbers-prize-summary-module {
  display: block !important;
  width: 100% !important;
}
.loto-numbers-prize-summary-module .loto-box-title,
.loto-numbers-prize-summary-module .loto-heading-block {
  display: none !important;
}
.loto-numbers-prize-summary-module .loto-prize-summary-box {
  margin: 0 !important;
  padding: clamp(18px, 3vw, 28px) !important;
  border: 1px solid color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 18%, var(--loto-border, #e5e7eb)) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 6%, transparent), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--game-soft, var(--loto-sub-color, #eff6ff)) 34%, #ffffff) 100%) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .06) !important;
}
.loto-numbers-prize-summary-module .loto-note {
  margin: 0 0 16px !important;
  color: #0f172a !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
}
.loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}
.loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid > div {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: 18px 18px 16px !important;
  border: 1px solid color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 20%, var(--loto-border, #e5e7eb)) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid > div::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 4px !important;
  background: var(--game-color, var(--loto-main-color, #2563eb)) !important;
}
.loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid span {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--game-color-dark, var(--loto-accent-color, #1d4ed8)) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .01em !important;
}
.loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid strong {
  display: block !important;
  color: #020617 !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 960px) {
  .loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  .loto-numbers-prize-summary-module .loto-summary-grid.loto-prize-summary-grid {
    grid-template-columns: 1fr !important;
  }
}



/* v1.0.65: restore original Loto numeric search layout. */
.loto-analyzer.loto-search,
.loto-search-module-panel .loto-analyzer.loto-search {
  --loto-main-color: var(--game-color, var(--loto-main-color, #2563eb));
  --loto-accent-color: var(--game-color-dark, var(--loto-accent-color, #1d4ed8));
  --loto-sub-color: var(--game-soft, var(--loto-sub-color, #eff6ff));
}
.loto-analyzer.loto-search .loto-checkbox-grid,
.loto-search-module-panel .loto-checkbox-grid,
.loto-search-page .loto-checkbox-grid,
.loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid {
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}
.loto-analyzer.loto-search .loto-checkbox-grid label,
.loto-search-module-panel .loto-checkbox-grid label,
.loto-search-page .loto-checkbox-grid label,
.loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid label {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  width: auto !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--loto-border, #e5e7eb) !important;
  background: #f8fafc !important;
  color: var(--loto-heading, #0f172a) !important;
  font-size: .92rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease !important;
}
.loto-analyzer.loto-search .loto-checkbox-grid label:hover,
.loto-search-module-panel .loto-checkbox-grid label:hover,
.loto-search-page .loto-checkbox-grid label:hover,
.loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid label:hover {
  transform: translateY(-1px) !important;
  border-color: var(--game-color, var(--loto-main-color, #2563eb)) !important;
  color: var(--game-color-dark, var(--loto-accent-color, #1d4ed8)) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 12%, transparent) !important;
}
.loto-analyzer.loto-search .loto-checkbox-grid input,
.loto-search-module-panel .loto-checkbox-grid input,
.loto-search-page .loto-checkbox-grid input,
.loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid input {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  appearance: none !important;
}
.loto-analyzer.loto-search .loto-checkbox-grid label:has(input:checked),
.loto-search-module-panel .loto-checkbox-grid label:has(input:checked),
.loto-search-page .loto-checkbox-grid label:has(input:checked),
.loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid label:has(input:checked) {
  background: var(--game-color, var(--loto-main-color, #2563eb)) !important;
  border-color: var(--game-color, var(--loto-main-color, #2563eb)) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 24%, transparent) !important;
}
.loto-analyzer.loto-search .loto-search-actions,
.loto-search-module-panel .loto-search-actions,
.loto-search-page .loto-search-actions,
.loto-game-search-page:not(.numbers-search-page) .loto-search-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 4px 0 0 !important;
}
.loto-analyzer.loto-search .loto-search-actions .loto-button,
.loto-search-module-panel .loto-search-actions .loto-button,
.loto-search-page .loto-search-actions .loto-button,
.loto-game-search-page:not(.numbers-search-page) .loto-search-actions .loto-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  background: var(--game-color, var(--loto-main-color, #2563eb)) !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.loto-analyzer.loto-search .loto-search-actions .loto-button-secondary,
.loto-search-module-panel .loto-search-actions .loto-button-secondary,
.loto-search-page .loto-search-actions .loto-button-secondary,
.loto-game-search-page:not(.numbers-search-page) .loto-search-actions .loto-button-secondary {
  background: #fff !important;
  color: var(--game-color-dark, var(--loto-accent-color, #1d4ed8)) !important;
  border: 1px solid color-mix(in srgb, var(--game-color, var(--loto-main-color, #2563eb)) 25%, #e5e7eb) !important;
}
@media (max-width: 960px) {
  .loto-analyzer.loto-search .loto-checkbox-grid,
  .loto-search-module-panel .loto-checkbox-grid,
  .loto-search-page .loto-checkbox-grid,
  .loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  .loto-analyzer.loto-search .loto-checkbox-grid,
  .loto-search-module-panel .loto-checkbox-grid,
  .loto-search-page .loto-checkbox-grid,
  .loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .loto-analyzer.loto-search .loto-checkbox-grid label,
  .loto-search-module-panel .loto-checkbox-grid label,
  .loto-search-page .loto-checkbox-grid label,
  .loto-game-search-page:not(.numbers-search-page) .loto-checkbox-grid label {
    min-height: 40px !important;
    font-size: .86rem !important;
    padding: 0 8px !important;
  }
}


/* v1.0.66: restore original-like body/lead sizing, unify vertical block spacing, and support inner blocks in disclaimer. */
:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero,
  .loto-numbers-block-section,
  .loto-numbers-container-block,
  .loto-numbers-game-card-block,
  .loto-numbers-family-latest-card-block,
  .loto-article-link-card,
  .loto-guide-card,
  .loto-term-card,
  .loto-point-card,
  .loto-section-index-card,
  .loto-section-index-group,
  .loto-notice,
  .loto-data-source,
  .loto-disclaimer,
  .loto-analysis-note,
  .loto-game-menu-card,
  .loto-shortcode-panel,
  .loto-quickpick-module-panel,
  .loto-numbers-basic-panel,
  .loto-numbers-cta-panel,
  .loto-buy-flow,
  .loto-condition-table-wrap,
  .loto-numbers-grid-block
) {
  --loto-text: #111827;
  --loto-muted: #1f2937;
  --las-menu-muted: #1f2937;
  color: var(--loto-text, #111827);
}

:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero,
  .loto-numbers-block-section,
  .loto-numbers-container-block,
  .loto-notice,
  .loto-data-source,
  .loto-disclaimer,
  .loto-analysis-note,
  .loto-shortcode-panel,
  .loto-quickpick-module-panel,
  .loto-numbers-basic-panel,
  .loto-numbers-cta-panel,
  .loto-buy-flow
) :where(p, li, dd, td, th) {
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: #111827 !important;
}

:where(
  .loto-game-card__text,
  .loto-game-card__meta,
  .loto-game-menu-card__text,
  .loto-article-link-card__text,
  .loto-guide-card__text,
  .loto-term-card__body,
  .loto-section-index-card__text,
  .loto-family-latest-card__draw,
  .loto-site-news-digest__item p,
  .loto-site-news-digest__meta,
  .loto-site-news-digest__empty,
  .loto-analysis-note p,
  .loto-data-source p,
  .loto-disclaimer p
) {
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: #111827 !important;
}

:where(.loto-numbers-lead, .loto-hero__lead, .loto-sub-hero__lead, .loto-numbers-home-hero .loto-hero__lead) {
  font-size: clamp(1rem, 1.45vw, 1.08rem) !important;
  line-height: 1.9 !important;
  color: #111827 !important;
  font-weight: 500 !important;
}

@media (max-width: 600px) {
  :where(.loto-numbers-lead, .loto-hero__lead, .loto-sub-hero__lead, .loto-numbers-home-hero .loto-hero__lead),
  :where(
    .loto-site.loto-sub-hero,
    .loto-numbers-home-hero,
    .loto-numbers-block-section,
    .loto-numbers-container-block,
    .loto-notice,
    .loto-data-source,
    .loto-disclaimer,
    .loto-analysis-note,
    .loto-shortcode-panel,
    .loto-quickpick-module-panel,
    .loto-numbers-basic-panel,
    .loto-numbers-cta-panel,
    .loto-buy-flow
  ) :where(p, li, dd, td, th) {
    font-size: .96rem !important;
    line-height: 1.82 !important;
  }
}

:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero,
  .loto-numbers-block-section,
  .loto-numbers-container-block,
  .loto-notice.loto-numbers-notice-block,
  .loto-numbers-data-source-block,
  .loto-numbers-disclaimer-block,
  .loto-numbers-cta-panel,
  .loto-numbers-basic-panel,
  .loto-analysis-note,
  .loto-shortcode-panel,
  .loto-quickpick-module-panel,
  .loto-buy-flow,
  .loto-condition-table-wrap,
  .loto-section-index-group,
  .loto-numbers-grid-block
) + :where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero,
  .loto-numbers-block-section,
  .loto-numbers-container-block,
  .loto-notice.loto-numbers-notice-block,
  .loto-numbers-data-source-block,
  .loto-numbers-disclaimer-block,
  .loto-numbers-cta-panel,
  .loto-numbers-basic-panel,
  .loto-analysis-note,
  .loto-shortcode-panel,
  .loto-quickpick-module-panel,
  .loto-buy-flow,
  .loto-condition-table-wrap,
  .loto-section-index-group,
  .loto-numbers-grid-block
) {
  margin-top: 32px !important;
}

:where(.loto-notice, .loto-numbers-container-block, .loto-numbers-block-section, .loto-numbers-disclaimer-block) > :where(* + *),
:where(.loto-notice, .loto-numbers-container-block, .loto-numbers-block-section) .loto-container > :where(* + *) {
  margin-top: 24px;
}

.loto-numbers-disclaimer-block .loto-disclaimer__body,
.loto-numbers-disclaimer-block .loto-numbers-disclaimer-block__body {
  margin-top: 12px;
}

.loto-numbers-disclaimer-block .loto-disclaimer__body > *:first-child,
.loto-numbers-disclaimer-block .loto-numbers-disclaimer-block__body > *:first-child {
  margin-top: 0;
}

.loto-numbers-disclaimer-block .loto-disclaimer__body > * + *,
.loto-numbers-disclaimer-block .loto-numbers-disclaimer-block__body > * + * {
  margin-top: 14px;
}

/* v1.0.72: equal-height Card Grid items only on desktop public views.
   Tablet/mobile keep natural card height to prevent long cards from overlapping following rows. */
@media (min-width: 961px) {
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) {
    align-items: stretch !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: stretch !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ),
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) :where(
    .loto-article-link-card__button,
    .loto-game-card__button,
    .loto-family-latest-card__button,
    .loto-section-index-card__actions
  ) {
    margin-top: auto !important;
  }
}

@media (max-width: 960px) {
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) {
    align-items: start !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * {
    align-self: start !important;
    height: auto !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ),
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    align-self: start !important;
    height: auto !important;
  }
}

/* v1.0.71: shared card typography scale.
   Body text is 16px on desktop/tablet and clamp(16px, 4vw, 17px) on phones.
   Selectors are grouped to keep card typography maintenance in one place without changing card layout/design. */
:where(
  .loto-article-link-card,
  .loto-guide-card,
  .loto-term-card,
  .loto-point-card,
  .loto-section-index-card,
  .loto-numbers-section-index-card-block
) {
  --loto-card-label-font-size: 12px;
  --loto-card-title-font-size: clamp(20px, 1.8vw, 22px);
  --loto-card-body-font-size: 16px;
  --loto-card-button-font-size: 15px;
}

:where(
  .loto-article-link-card__label,
  .loto-guide-card__label,
  .loto-term-card__tag,
  .loto-guide-card--point .loto-guide-card__point,
  .loto-section-index-card__badge,
  .loto-numbers-section-index-card-block .loto-section-index-card__badge
) {
  font-size: var(--loto-card-label-font-size) !important;
  line-height: 1.3 !important;
}

:where(
  .loto-article-link-card h2,
  .loto-article-link-card h3,
  .loto-article-link-card h4,
  .loto-guide-card h2,
  .loto-guide-card h3,
  .loto-guide-card h4,
  .loto-guide-card__title,
  .loto-term-card h2,
  .loto-term-card h3,
  .loto-term-card h4,
  .loto-term-card__title,
  .loto-section-index-card h2,
  .loto-section-index-card h3,
  .loto-numbers-section-index-card-block h2,
  .loto-numbers-section-index-card-block h3
) {
  font-size: var(--loto-card-title-font-size) !important;
  line-height: 1.45 !important;
}

:where(
  .loto-article-link-card p,
  .loto-article-link-card__text,
  .loto-guide-card p,
  .loto-guide-card :where(li),
  .loto-guide-card__text,
  .loto-term-card p,
  .loto-term-card :where(li),
  .loto-term-card__body,
  .loto-point-card p,
  .loto-point-card :where(li),
  .loto-section-index-card p,
  .loto-section-index-card :where(li),
  .loto-section-index-card__text,
  .loto-numbers-section-index-card-block p,
  .loto-numbers-section-index-card-block :where(li)
) {
  font-size: var(--loto-card-body-font-size) !important;
  line-height: 1.85 !important;
}

:where(
  .loto-article-link-card__button,
  .loto-section-index-card__button,
  .loto-numbers-section-index-card-block .loto-section-index-card__button
) {
  font-size: var(--loto-card-button-font-size) !important;
  line-height: 1.5 !important;
}

@media (max-width: 600px) {
  :where(
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    --loto-card-label-font-size: clamp(12px, 3.2vw, 13px);
    --loto-card-title-font-size: clamp(18px, 5vw, 21px);
    --loto-card-body-font-size: clamp(16px, 4vw, 17px);
    --loto-card-button-font-size: 15px;
  }
}


/* v1.0.73: Card Grid equal height on PC/tablet only.
   Height is controlled by CSS stretch plus row-aware JS, so wrapped rows do not overlap. */
@media (min-width: 601px) {
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) {
    align-items: stretch !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * {
    align-self: stretch !important;
    height: auto !important;
    min-width: 0 !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ),
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    align-self: stretch !important;
    width: 100% !important;
    height: 100% !important;
  }
}

@media (max-width: 600px) {
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) {
    align-items: flex-start !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > *,
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ),
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) :where(.loto-numbers-grid, .loto-game-grid, .loto-article-link-grid) > * > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    align-self: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
  }
}


/* v1.0.74: Section index groups can be used as free-flow containers.
   Site-info groups no longer force their direct inner area into a grid; add a Card Grid block inside when grid layout is needed. */
.loto-numbers-section-index-group-block.loto-section-index-group--site-info > .loto-section-index-grid,
.loto-numbers-section-index-group-block > .loto-section-index-grid.loto-section-index-grid--free {
  display: block !important;
  grid-template-columns: none !important;
  align-items: initial !important;
  justify-content: initial !important;
}

.loto-numbers-section-index-group-block.loto-section-index-group--site-info > .loto-section-index-grid > *,
.loto-numbers-section-index-group-block > .loto-section-index-grid.loto-section-index-grid--free > * {
  width: 100%;
  max-width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0;
  margin-bottom: 0;
}

.loto-numbers-section-index-group-block.loto-section-index-group--site-info > .loto-section-index-grid > * + *,
.loto-numbers-section-index-group-block > .loto-section-index-grid.loto-section-index-grid--free > * + * {
  margin-top: var(--loto-section-index-flow-gap, 16px) !important;
}


/* v1.0.75: stabilize equal-height Guide/Term cards inside explicit Card Grid blocks.
   The free-flow section-index container remains untouched; equalization applies only to Card Grid blocks. */
@media (min-width: 601px) {
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block {
    align-items: stretch !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block > * {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    min-width: 0 !important;
    min-height: var(--loto-card-grid-row-height, auto) !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-numbers-guide-term-card-block,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ),
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block > * > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-numbers-guide-term-card-block,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: var(--loto-card-grid-card-height, 100%) !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block :where(
    .loto-article-link-card__button,
    .loto-game-card__button,
    .loto-family-latest-card__button,
    .loto-section-index-card__actions
  ) {
    margin-top: auto !important;
  }
}

@media (max-width: 600px) {
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block > *,
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-numbers-guide-term-card-block,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ),
  html body:not(.wp-admin):not(.block-editor-page):not(.editor-styles-wrapper) .loto-numbers-grid.loto-numbers-grid-block > * > :where(
    .loto-numbers-game-card-block,
    .loto-game-card,
    .loto-numbers-family-latest-card-block,
    .loto-family-latest-card,
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-numbers-guide-term-card-block,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    height: auto !important;
    min-height: 0 !important;
    --loto-card-grid-row-height: auto;
    --loto-card-grid-card-height: auto;
  }
}


/* v1.0.76: shared explanatory text scale and top-level block spacing.
   Keep visuals unchanged while making lead, notice, disclaimer and explanatory text at least 16px. */
:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-block-section,
  .loto-numbers-container-block.loto-section,
  .loto-numbers-home-hero.loto-home-hero
) {
  --loto-editor-block-gap: 52px;
  --loto-editor-block-gap-mobile: 36px;
  --loto-editor-text-size: 16px;
  --loto-editor-text-size-mobile: clamp(16px, 4vw, 17px);
}

:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero.loto-home-hero
) {
  margin-block-start: 0 !important;
  margin-block-end: var(--loto-editor-block-gap, 52px) !important;
}

:where(
  .loto-numbers-block-section,
  .loto-numbers-container-block.loto-section
) {
  margin-block-start: var(--loto-editor-block-gap, 52px) !important;
  margin-block-end: var(--loto-editor-block-gap, 52px) !important;
}

:where(
  .loto-numbers-lead,
  .loto-site.loto-sub-hero .loto-sub-hero__lead,
  .loto-site.loto-sub-hero .loto-numbers-lead,
  .loto-numbers-home-hero .loto-hero__lead,
  .loto-numbers-home-hero .loto-home-hero__note,
  .loto-numbers-block-section .loto-heading-block p:not(.loto-kicker),
  .loto-numbers-data-source-block p,
  .loto-numbers-data-source-block :where(li),
  .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
  .loto-numbers-disclaimer-block .loto-disclaimer-plain,
  .loto-numbers-disclaimer-block :where(p, li),
  .loto-notice :where(p, li),
  .loto-notice.loto-numbers-notice-block > p,
  .loto-site .loto-analysis-note,
  .loto-site .loto-analysis-note :where(p, li),
  .loto-glossary-tabs__lead,
  .loto-faq-tabs__lead,
  .loto-faq-answer p,
  .loto-numbers-cta-panel p:not(.loto-kicker),
  .loto-numbers-basic-panel p:not(.loto-kicker),
  .loto-numbers-container-block p,
  .loto-numbers-container-block :where(li),
  .loto-results-module-panel :where(p, li),
  .loto-results-module-panel .loto-note,
  .loto-numbers-prize-output .loto-note
) {
  font-size: var(--loto-editor-text-size, 16px) !important;
}

@media (max-width: 600px) {
  :where(
    .loto-site.loto-sub-hero,
    .loto-numbers-home-hero.loto-home-hero
  ) {
    margin-block-end: var(--loto-editor-block-gap-mobile, 36px) !important;
  }

  :where(
    .loto-numbers-block-section,
    .loto-numbers-container-block.loto-section
  ) {
    margin-block-start: var(--loto-editor-block-gap-mobile, 36px) !important;
    margin-block-end: var(--loto-editor-block-gap-mobile, 36px) !important;
  }

  :where(
    .loto-numbers-lead,
    .loto-site.loto-sub-hero .loto-sub-hero__lead,
    .loto-site.loto-sub-hero .loto-numbers-lead,
    .loto-numbers-home-hero .loto-hero__lead,
    .loto-numbers-home-hero .loto-home-hero__note,
    .loto-numbers-block-section .loto-heading-block p:not(.loto-kicker),
    .loto-numbers-data-source-block p,
    .loto-numbers-data-source-block :where(li),
    .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
    .loto-numbers-disclaimer-block .loto-disclaimer-plain,
    .loto-numbers-disclaimer-block :where(p, li),
    .loto-notice :where(p, li),
    .loto-notice.loto-numbers-notice-block > p,
    .loto-site .loto-analysis-note,
    .loto-site .loto-analysis-note :where(p, li),
    .loto-glossary-tabs__lead,
    .loto-faq-tabs__lead,
    .loto-faq-answer p,
    .loto-numbers-cta-panel p:not(.loto-kicker),
    .loto-numbers-basic-panel p:not(.loto-kicker),
    .loto-numbers-container-block p,
    .loto-numbers-container-block :where(li),
    .loto-results-module-panel :where(p, li),
    .loto-results-module-panel .loto-note,
    .loto-numbers-prize-output .loto-note
  ) {
    font-size: var(--loto-editor-text-size-mobile, clamp(16px, 4vw, 17px)) !important;
  }
}


/* v1.0.77: normalize inner spacing for hero, sections, cards and note boxes. */
:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero,
  .loto-numbers-block-section,
  .loto-numbers-container-block,
  .loto-article-link-card,
  .loto-guide-card,
  .loto-term-card,
  .loto-point-card,
  .loto-section-index-card,
  .loto-numbers-section-index-card-block,
  .loto-notice,
  .loto-data-source,
  .loto-disclaimer,
  .loto-analysis-note
) {
  --loto-inner-space-xs: 8px;
  --loto-inner-space-sm: 12px;
  --loto-inner-space-md: 16px;
  --loto-inner-space-lg: 20px;
  --loto-inner-space-xl: 24px;
  --loto-inner-space-2xl: 32px;
  --loto-card-inner-padding: 32px;
  --loto-card-inner-padding-mobile: 24px;
  --loto-card-label-gap: 14px;
  --loto-card-title-gap: 20px;
  --loto-card-paragraph-gap: 12px;
  --loto-card-action-gap: 24px;
  --loto-section-head-gap: 14px;
  --loto-section-content-gap: 32px;
  --loto-box-inner-padding: 26px;
  --loto-box-inner-padding-mobile: 22px;
}

:where(
  .loto-article-link-card,
  .loto-guide-card,
  .loto-term-card,
  .loto-point-card,
  .loto-section-index-card,
  .loto-numbers-section-index-card-block
) {
  padding: var(--loto-card-inner-padding, 32px) !important;
}

.loto-article-link-card {
  gap: 0 !important;
}

:where(
  .loto-article-link-card__label,
  .loto-term-card__tag,
  .loto-section-index-card__badge,
  .loto-numbers-section-index-card-block .loto-section-index-card__badge,
  .loto-guide-card--point .loto-guide-card__point
) {
  margin-block-start: 0 !important;
  margin-block-end: var(--loto-card-label-gap, 14px) !important;
}

.loto-term-card__tag {
  display: flex !important;
  width: fit-content;
}

.loto-guide-card__head,
.loto-numbers-guide-term-card-block .loto-guide-card__head {
  margin-block-start: 0 !important;
  margin-block-end: var(--loto-card-label-gap, 14px) !important;
}

:where(
  .loto-article-link-card h2,
  .loto-article-link-card h3,
  .loto-article-link-card h4,
  .loto-guide-card h2,
  .loto-guide-card h3,
  .loto-guide-card h4,
  .loto-guide-card__title,
  .loto-term-card h2,
  .loto-term-card h3,
  .loto-term-card h4,
  .loto-term-card__title,
  .loto-section-index-card h2,
  .loto-section-index-card h3,
  .loto-numbers-section-index-card-block h2,
  .loto-numbers-section-index-card-block h3
) {
  margin-block-start: 0 !important;
  margin-block-end: var(--loto-card-title-gap, 20px) !important;
}

.loto-guide-card--point .loto-guide-card__title {
  padding-block-end: var(--loto-inner-space-sm, 12px) !important;
}

:where(
  .loto-article-link-card p,
  .loto-guide-card p,
  .loto-term-card p,
  .loto-point-card p,
  .loto-section-index-card p,
  .loto-numbers-section-index-card-block p
) {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

:where(
  .loto-article-link-card p + p,
  .loto-guide-card p + p,
  .loto-term-card p + p,
  .loto-point-card p + p,
  .loto-section-index-card p + p,
  .loto-numbers-section-index-card-block p + p
) {
  margin-block-start: var(--loto-card-paragraph-gap, 12px) !important;
}

.loto-article-link-card__button {
  margin-block-start: var(--loto-card-action-gap, 24px) !important;
}

.loto-numbers-block-section .loto-heading-block {
  margin-block-end: var(--loto-section-content-gap, 32px) !important;
}

.loto-numbers-block-section .loto-heading-block p:not(.loto-kicker) {
  margin-block-start: var(--loto-section-head-gap, 14px) !important;
}

.loto-numbers-block-section__inner > * + *,
.loto-numbers-container-block > * + *,
.loto-numbers-container-block .loto-container > * + *,
.loto-numbers-home-hero .loto-home-hero__blocks > * + *,
.loto-numbers-home-hero .loto-numbers-home-hero__blocks > * + * {
  margin-block-start: var(--loto-inner-space-xl, 24px) !important;
}

.loto-numbers-home-hero .loto-kicker {
  margin-block-end: var(--loto-inner-space-md, 16px) !important;
}

.loto-numbers-home-hero .loto-hero__lead,
.loto-numbers-home-hero .loto-home-hero__note {
  margin-block-start: var(--loto-inner-space-lg, 20px) !important;
}

.loto-numbers-home-hero .loto-hero-quicknav,
.loto-numbers-home-hero .loto-home-hero__blocks,
.loto-numbers-home-hero .loto-numbers-home-hero__blocks,
.loto-site.loto-sub-hero .loto-hero-quicknav {
  margin-block-start: var(--loto-inner-space-2xl, 32px) !important;
}

.loto-site.loto-sub-hero .loto-numbers-block-hero__inner > * + * {
  margin-block-start: var(--loto-inner-space-xl, 24px) !important;
}

:where(
  .loto-numbers-data-source-block .loto-box.loto-data-source,
  .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
  .loto-notice.loto-numbers-notice-block,
  .loto-site .loto-analysis-note
) {
  padding: var(--loto-box-inner-padding, 26px) !important;
}

:where(
  .loto-numbers-data-source-block .loto-box-title,
  .loto-numbers-disclaimer-block .loto-box-title,
  .loto-notice.loto-numbers-notice-block > h2,
  .loto-notice.loto-numbers-notice-block > h3,
  .loto-site .loto-analysis-note strong
) {
  margin-block-start: 0 !important;
  margin-block-end: var(--loto-inner-space-md, 16px) !important;
}

:where(
  .loto-numbers-data-source-block p,
  .loto-numbers-disclaimer-block p,
  .loto-notice.loto-numbers-notice-block > p,
  .loto-site .loto-analysis-note p
) {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

:where(
  .loto-numbers-data-source-block p + p,
  .loto-numbers-disclaimer-block p + p,
  .loto-notice.loto-numbers-notice-block > p + p,
  .loto-site .loto-analysis-note p + p
) {
  margin-block-start: var(--loto-inner-space-sm, 12px) !important;
}

.loto-notice.loto-numbers-notice-block > * + * {
  margin-block-start: var(--loto-inner-space-md, 16px) !important;
}

.loto-notice.loto-numbers-notice-block .loto-data-source-wrap,
.loto-notice.loto-numbers-notice-block .loto-disclaimer-wrap {
  margin-block-start: var(--loto-inner-space-xl, 24px) !important;
}

.loto-numbers-disclaimer-block .loto-disclaimer__body,
.loto-numbers-disclaimer-block .loto-numbers-disclaimer-block__body {
  margin-block-start: var(--loto-inner-space-md, 16px) !important;
}

.loto-numbers-disclaimer-block .loto-disclaimer__body > * + *,
.loto-numbers-disclaimer-block .loto-numbers-disclaimer-block__body > * + * {
  margin-block-start: var(--loto-inner-space-sm, 12px) !important;
}

@media (max-width: 600px) {
  :where(
    .loto-article-link-card,
    .loto-guide-card,
    .loto-term-card,
    .loto-point-card,
    .loto-section-index-card,
    .loto-numbers-section-index-card-block
  ) {
    padding: var(--loto-card-inner-padding-mobile, 24px) !important;
  }

  :where(
    .loto-numbers-data-source-block .loto-box.loto-data-source,
    .loto-numbers-disclaimer-block .loto-box.loto-disclaimer,
    .loto-notice.loto-numbers-notice-block,
    .loto-site .loto-analysis-note
  ) {
    padding: var(--loto-box-inner-padding-mobile, 22px) !important;
  }

  :where(
    .loto-article-link-card__label,
    .loto-term-card__tag,
    .loto-section-index-card__badge,
    .loto-numbers-section-index-card-block .loto-section-index-card__badge,
    .loto-guide-card--point .loto-guide-card__point,
    .loto-guide-card__head,
    .loto-numbers-guide-term-card-block .loto-guide-card__head
  ) {
    margin-block-end: var(--loto-inner-space-sm, 12px) !important;
  }

  :where(
    .loto-article-link-card h2,
    .loto-article-link-card h3,
    .loto-article-link-card h4,
    .loto-guide-card h2,
    .loto-guide-card h3,
    .loto-guide-card h4,
    .loto-guide-card__title,
    .loto-term-card h2,
    .loto-term-card h3,
    .loto-term-card h4,
    .loto-term-card__title,
    .loto-section-index-card h2,
    .loto-section-index-card h3,
    .loto-numbers-section-index-card-block h2,
    .loto-numbers-section-index-card-block h3
  ) {
    margin-block-end: var(--loto-inner-space-lg, 20px) !important;
  }

  .loto-numbers-block-section .loto-heading-block {
    margin-block-end: 28px !important;
  }

  .loto-numbers-block-section__inner > * + *,
  .loto-numbers-container-block > * + *,
  .loto-numbers-container-block .loto-container > * + *,
  .loto-numbers-home-hero .loto-home-hero__blocks > * + *,
  .loto-numbers-home-hero .loto-numbers-home-hero__blocks > * + * {
    margin-block-start: var(--loto-inner-space-lg, 20px) !important;
  }

  .loto-numbers-home-hero .loto-hero-quicknav,
  .loto-numbers-home-hero .loto-home-hero__blocks,
  .loto-numbers-home-hero .loto-numbers-home-hero__blocks,
  .loto-site.loto-sub-hero .loto-hero-quicknav {
    margin-block-start: 28px !important;
  }
}

/* v1.0.78: Generic article element blocks and focused fixes */

/* v1.0.80: game theme fallbacks for generic article blocks. */
.loto-spec-grid--loto7,
.loto-article-quicknav--loto7,
.loto-point-panel--loto7,
.loto-mini-card--loto7,
.loto-check-grid--loto7,
.loto-step-list--loto7,
.loto-step--loto7,
.loto-decision-list--loto7,
.loto-set-formula--loto7,
.loto-set-example--loto7 {
  --game-color: #3b82f6;
  --game-color-dark: #1d4ed8;
  --game-soft: #eff6ff;
  --loto-main-color: #3b82f6;
  --loto-accent-color: #1d4ed8;
  --loto-sub-color: #eff6ff;
}
.loto-spec-grid--loto6,
.loto-article-quicknav--loto6,
.loto-point-panel--loto6,
.loto-mini-card--loto6,
.loto-check-grid--loto6,
.loto-step-list--loto6,
.loto-step--loto6,
.loto-decision-list--loto6,
.loto-set-formula--loto6,
.loto-set-example--loto6 {
  --game-color: #22c55e;
  --game-color-dark: #15803d;
  --game-soft: #f0fdf4;
  --loto-main-color: #22c55e;
  --loto-accent-color: #15803d;
  --loto-sub-color: #f0fdf4;
}
.loto-spec-grid--miniloto,
.loto-article-quicknav--miniloto,
.loto-point-panel--miniloto,
.loto-mini-card--miniloto,
.loto-check-grid--miniloto,
.loto-step-list--miniloto,
.loto-step--miniloto,
.loto-decision-list--miniloto,
.loto-set-formula--miniloto,
.loto-set-example--miniloto {
  --game-color: #f97316;
  --game-color-dark: #c2410c;
  --game-soft: #fff7ed;
  --loto-main-color: #f97316;
  --loto-accent-color: #c2410c;
  --loto-sub-color: #fff7ed;
}
.loto-spec-grid--numbers3,
.loto-article-quicknav--numbers3,
.loto-point-panel--numbers3,
.loto-mini-card--numbers3,
.loto-check-grid--numbers3,
.loto-step-list--numbers3,
.loto-step--numbers3,
.loto-decision-list--numbers3,
.loto-set-formula--numbers3,
.loto-set-example--numbers3 {
  --game-color: #8b5cf6;
  --game-color-dark: #6d28d9;
  --game-soft: #f5f3ff;
  --loto-main-color: #8b5cf6;
  --loto-accent-color: #6d28d9;
  --loto-sub-color: #f5f3ff;
}
.loto-spec-grid--numbers4,
.loto-article-quicknav--numbers4,
.loto-point-panel--numbers4,
.loto-mini-card--numbers4,
.loto-check-grid--numbers4,
.loto-step-list--numbers4,
.loto-step--numbers4,
.loto-decision-list--numbers4,
.loto-set-formula--numbers4,
.loto-set-example--numbers4 {
  --game-color: #ec4899;
  --game-color-dark: #be185d;
  --game-soft: #fdf2f8;
  --loto-main-color: #ec4899;
  --loto-accent-color: #be185d;
  --loto-sub-color: #fdf2f8;
}
.loto-spec-grid--home,
.loto-article-quicknav--home,
.loto-point-panel--home,
.loto-mini-card--home,
.loto-check-grid--home,
.loto-step-list--home,
.loto-step--home,
.loto-decision-list--home,
.loto-set-formula--home,
.loto-set-example--home {
  --game-color: #3b82f6;
  --game-color-dark: #1d4ed8;
  --game-soft: #fff7ed;
  --loto-main-color: #3b82f6;
  --loto-accent-color: #1d4ed8;
  --loto-sub-color: #fff7ed;
}
.loto-generic-article-block {
  --loto-generic-color: var(--game-color, var(--loto-main-color, #2563eb));
  --loto-generic-color-dark: var(--game-color-dark, var(--loto-accent-color, #1d4ed8));
  --loto-generic-soft: var(--game-soft, var(--loto-sub-color, #eff6ff));
  --loto-generic-soft-2: color-mix(in srgb, var(--loto-generic-soft) 72%, #ffffff);
  --loto-generic-border: color-mix(in srgb, var(--loto-generic-color) 18%, #e5e7eb);
  --loto-generic-heading: var(--loto-heading, #111827);
  --loto-generic-muted: var(--loto-muted, #4b5563);
  --loto-generic-shadow-sm: var(--loto-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
  --loto-generic-shadow-md: var(--loto-shadow-md, 0 16px 36px rgba(15, 23, 42, .08));
  --loto-generic-radius-sm: 14px;
  --loto-generic-radius-md: 18px;
  --loto-generic-radius-lg: 22px;
  --l6ga-color: var(--loto-generic-color);
  --l6ga-color-dark: var(--loto-generic-color-dark);
  --l6ga-color-soft: var(--loto-generic-soft);
  --l6ga-color-soft-2: var(--loto-generic-soft-2);
  --l6ga-border: var(--loto-generic-border);
  --l6ga-heading: var(--loto-generic-heading);
  --l6ga-muted: var(--loto-generic-muted);
  --l6ga-shadow-sm: var(--loto-generic-shadow-sm);
  --l6ga-shadow-md: var(--loto-generic-shadow-md);
  --l6ga-radius-sm: var(--loto-generic-radius-sm);
  --l6ga-radius-md: var(--loto-generic-radius-md);
  --l6ga-radius-lg: var(--loto-generic-radius-lg);
  --l76ca-color: var(--loto-generic-color);
  --l76ca-color-dark: var(--loto-generic-color-dark);
  --l76ca-color-soft: var(--loto-generic-soft);
  --l76ca-border: var(--loto-generic-border);
  --l76ca-heading: var(--loto-generic-heading);
  --l76ca-muted: var(--loto-generic-muted);
  --l76ca-shadow-sm: var(--loto-generic-shadow-sm);
  --l76ca-radius-lg: var(--loto-generic-radius-lg);
  --n34ca-color: var(--loto-generic-color);
  --n34ca-color-dark: var(--loto-generic-color-dark);
  --n34ca-color-soft: var(--loto-generic-soft);
  --n34ca-border: var(--loto-generic-border);
  --n34ca-heading: var(--loto-generic-heading);
  --n34ca-muted: var(--loto-generic-muted);
  --n34ca-shadow-sm: var(--loto-generic-shadow-sm);
  --n34ca-radius-md: var(--loto-generic-radius-md);
  --nsbsa-color: var(--loto-generic-color);
  --nsbsa-color-dark: var(--loto-generic-color-dark);
  --nsbsa-color-soft: var(--loto-generic-soft);
  --nsbsa-color-soft-2: var(--loto-generic-soft-2);
  --nsbsa-border: var(--loto-generic-border);
  --nsbsa-heading: var(--loto-generic-heading);
  --nsbsa-muted: var(--loto-generic-muted);
  --nsbsa-shadow-sm: var(--loto-generic-shadow-sm);
  --nsbsa-radius-sm: var(--loto-generic-radius-sm);
  --nsbsa-radius-lg: var(--loto-generic-radius-lg);
}

.loto-spec-grid.l6ga-spec-grid {
  display: grid;
  grid-template-columns: repeat(var(--loto-spec-grid-columns, 4), minmax(0, 1fr));
  gap: 14px;
  max-width: 980px;
  margin: 0 auto;
}
.loto-spec-card.l6ga-spec-card {
  min-width: 0;
  padding: 18px 16px;
  border-radius: var(--loto-generic-radius-md);
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--loto-generic-border);
  box-shadow: var(--loto-generic-shadow-sm);
  text-align: center;
}
.loto-spec-card.l6ga-spec-card span {
  display: inline-flex;
  margin: 0 0 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--loto-generic-soft);
  color: var(--loto-generic-color-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}
.loto-spec-card.l6ga-spec-card strong {
  display: block;
  margin: 0 0 6px;
  color: var(--loto-generic-heading);
  font-size: clamp(20px, 2.4vw, 25px);
  line-height: 1.2;
}
.loto-spec-card.l6ga-spec-card p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.65;
}

.loto-article-quicknav.l6ga-quicknav {
  max-width: 980px;
  margin: 22px auto 0;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .88);
  border: 1px solid var(--loto-generic-border);
  box-shadow: var(--loto-generic-shadow-sm);
}
.loto-article-quicknav .l6ga-quicknav__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--loto-generic-color-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
}
.loto-article-quicknav .l6ga-quicknav__label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--loto-generic-color);
}
.loto-article-quicknav .l6ga-quicknav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.loto-article-quicknav .l6ga-quicknav__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--loto-generic-border);
  color: var(--loto-generic-heading);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.loto-article-quicknav .l6ga-quicknav__links a:hover,
.loto-article-quicknav .l6ga-quicknav__links a:focus {
  transform: translateY(-2px);
  border-color: var(--loto-generic-color);
  color: var(--loto-generic-color-dark);
  box-shadow: var(--loto-generic-shadow-sm);
}

.loto-point-panel.l6ga-point-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr);
  gap: 18px;
  align-items: stretch;
}
.loto-point-panel .l6ga-point-panel__main,
.loto-mini-card.l6ga-mini-card,
.loto-check-item.l6ga-check-item,
.loto-step.l76ca-step,
.loto-decision-item.n34ca-decision-item,
.loto-set-formula.nsbsa-set-formula {
  position: relative;
  min-width: 0;
  border: 1px solid var(--loto-generic-border);
  background: #ffffff;
  box-shadow: var(--loto-generic-shadow-sm);
  overflow: hidden;
}
.loto-point-panel .l6ga-point-panel__main,
.loto-mini-card.l6ga-mini-card,
.loto-step.l76ca-step,
.loto-set-formula.nsbsa-set-formula {
  border-radius: var(--loto-generic-radius-lg);
}
.loto-check-item.l6ga-check-item,
.loto-decision-item.n34ca-decision-item {
  border-radius: var(--loto-generic-radius-md);
}
.loto-point-panel .l6ga-point-panel__main,
.loto-mini-card.l6ga-mini-card {
  padding: 24px;
}
.loto-point-panel .l6ga-point-panel__main::before,
.loto-mini-card.l6ga-mini-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--loto-generic-color);
}
.loto-point-panel .l6ga-point-panel__main > *,
.loto-mini-card.l6ga-mini-card > * {
  position: relative;
  z-index: 1;
}
.loto-point-panel .l6ga-point-panel__main h3 {
  margin: 0 0 12px;
  color: var(--loto-generic-heading);
  font-size: clamp(20px, 1.8vw, 22px);
  font-weight: 900;
  line-height: 1.45;
}
.loto-point-panel .l6ga-point-panel__main ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.loto-point-panel .l6ga-point-panel__main li {
  position: relative;
  margin: 0;
  padding-left: 28px;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.85;
}
.loto-point-panel .l6ga-point-panel__main li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: .1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--loto-generic-soft);
  color: var(--loto-generic-color-dark);
  font-size: 12px;
  font-weight: 900;
}
.loto-mini-card.l6ga-mini-card {
  background: linear-gradient(135deg, #ffffff 0%, var(--loto-generic-soft-2) 100%);
}
.loto-mini-card.l6ga-mini-card span {
  display: inline-flex;
  margin: 0 0 10px;
  color: var(--loto-generic-color-dark);
  font-size: 13px;
  font-weight: 900;
}
.loto-mini-card.l6ga-mini-card p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.85;
}
.loto-mini-card.l6ga-mini-card a {
  display: inline-flex;
  margin-top: 14px;
  color: var(--loto-generic-color-dark);
  font-size: 15px;
  font-weight: 900;
}

.loto-check-grid.l6ga-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}
.loto-check-item.l6ga-check-item {
  display: block;
  min-height: 0;
  padding: 18px 18px 18px 56px;
  text-align: left;
  color: var(--loto-generic-heading);
  font-weight: 500;
  line-height: 1.7;
}
.loto-check-item.l6ga-check-item::before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--loto-generic-color);
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
}
.loto-check-item.l6ga-check-item strong {
  display: block;
  margin: 0 0 6px;
  color: var(--loto-generic-heading);
  font-weight: 900;
  line-height: 1.55;
}
.loto-check-item.l6ga-check-item p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.75;
}

.loto-step-list.l76ca-step-list {
  display: grid;
  gap: 14px;
}
.loto-step.l76ca-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 20px;
}
.loto-step__num.l76ca-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  width: auto;
  height: 42px;
  padding: 0 10px;
  border-radius: 14px;
  background: var(--loto-generic-color);
  color: #ffffff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}
.loto-step.l76ca-step h3 {
  margin: 0 0 6px;
  color: var(--loto-generic-heading);
  font-size: clamp(20px, 1.8vw, 22px);
  font-weight: 900;
  line-height: 1.45;
}
.loto-step.l76ca-step p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.85;
}

.loto-decision-list.n34ca-decision-list {
  display: grid;
  gap: 14px;
}
.loto-decision-item.n34ca-decision-item {
  display: grid;
  grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px;
}
.loto-decision-item.n34ca-decision-item strong {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  background: var(--loto-generic-soft);
  color: var(--loto-generic-color-dark);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}
.loto-decision-item.n34ca-decision-item p {
  min-width: 0;
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.8;
}

.loto-set-formula.nsbsa-set-formula {
  padding: 22px 24px;
  background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--loto-generic-color) 12%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #fbfbff 54%, var(--loto-generic-soft-2) 100%);
}
.loto-set-formula .nsbsa-set-formula__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 12px;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--loto-generic-color);
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
}
.loto-set-formula .nsbsa-set-formula__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 12px;
}
.loto-set-formula .nsbsa-set-formula__main,
.loto-set-formula .nsbsa-set-formula__piece {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  font-weight: 900;
  line-height: 1.3;
  white-space: nowrap;
}
.loto-set-formula .nsbsa-set-formula__main {
  padding: 10px 18px;
  background: var(--loto-generic-color);
  color: #ffffff;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--loto-generic-color) 20%, transparent);
}
.loto-set-formula .nsbsa-set-formula__piece {
  padding: 10px 16px;
  border: 1px solid var(--loto-generic-border);
  background: rgba(255, 255, 255, .88);
  color: var(--loto-generic-color-dark);
}
.loto-set-formula .nsbsa-set-formula__symbol {
  color: var(--loto-generic-color-dark);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}
.loto-set-formula.nsbsa-set-formula p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.85;
}
.loto-set-example.nsbsa-set-example {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: var(--loto-generic-radius-sm);
  background: var(--loto-generic-soft);
  color: var(--loto-generic-color-dark);
}
.loto-set-example.nsbsa-set-example span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--loto-generic-color-dark);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}
.loto-set-example.nsbsa-set-example strong {
  min-width: 0;
  color: var(--loto-generic-color-dark);
  font-size: 15px;
  line-height: 1.55;
}

.loto-winning-conditions--first-col-text .loto-condition-table tbody th {
  white-space: normal;
}
.loto-winning-conditions--first-col-text .loto-condition-table tbody th .loto-winning-conditions-cell,
.loto-winning-conditions--first-col-text .loto-condition-table tbody th .loto-winning-conditions-cell-edit {
  display: block;
  width: auto;
  max-width: none;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  color: #0f172a !important;
  font-size: inherit;
  line-height: 1.7;
  white-space: normal;
  text-align: left;
}
.loto-winning-conditions--first-col-text .loto-condition-table tbody th .loto-winning-conditions-cell strong,
.loto-winning-conditions--first-col-text .loto-condition-table tbody th .loto-winning-conditions-cell-edit strong {
  color: var(--condition-color-dark, var(--game-color-dark, #1d4ed8));
}

.loto-faq-item summary,
.loto-faq-item .loto-faq-item__editable-question,
.loto-faq-item .loto-faq-answer,
.loto-numbers-faq-item-block summary,
.loto-numbers-faq-item-block .loto-faq-answer {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.loto-faq-item summary + .loto-faq-answer,
.loto-numbers-faq-item-block summary + .loto-faq-answer {
  border-top: 0 !important;
}

@media (max-width: 960px) {
  .loto-spec-grid.l6ga-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .loto-point-panel.l6ga-point-panel {
    grid-template-columns: 1fr;
  }
  .loto-decision-item.n34ca-decision-item {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .loto-spec-grid.l6ga-spec-grid,
  .loto-check-grid.l6ga-check-grid {
    grid-template-columns: 1fr;
  }
  .loto-spec-card.l6ga-spec-card p,
  .loto-point-panel .l6ga-point-panel__main li,
  .loto-mini-card.l6ga-mini-card p,
  .loto-check-item.l6ga-check-item p,
  .loto-step.l76ca-step p,
  .loto-decision-item.n34ca-decision-item p,
  .loto-set-formula.nsbsa-set-formula p {
    font-size: clamp(16px, 4vw, 17px);
  }
  .loto-point-panel .l6ga-point-panel__main,
  .loto-mini-card.l6ga-mini-card,
  .loto-set-formula.nsbsa-set-formula {
    padding: 24px;
  }
  .loto-step.l76ca-step {
    grid-template-columns: 1fr;
  }
  .loto-set-formula .nsbsa-set-formula__row {
    align-items: stretch;
  }
  .loto-set-formula .nsbsa-set-formula__main,
  .loto-set-formula .nsbsa-set-formula__piece,
  .loto-set-formula .nsbsa-set-formula__symbol {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* v1.0.79: normalize readable text sizes across every block type.
   Body/explanatory text is at least 16px, mobile uses clamp(16px, 4vw, 17px).
   Labels and meta text stay intentionally smaller. */
:where(
  .loto-site.loto-sub-hero,
  .loto-numbers-home-hero,
  .loto-numbers-block-section,
  .loto-numbers-game-intro-cards,
  .loto-numbers-quick-menu,
  .loto-numbers-panel-block,
  .loto-numbers-cta-panel,
  .loto-numbers-basic-panel,
  .loto-numbers-data-source-block,
  .loto-numbers-disclaimer-block,
  .loto-numbers-container-block,
  .loto-numbers-grid-block,
  .loto-numbers-game-card-block,
  .loto-numbers-family-latest-card-block,
  .loto-article-link-card,
  .loto-guide-card,
  .loto-term-card,
  .loto-point-card,
  .loto-section-index-card,
  .loto-numbers-section-index-card-block,
  .loto-glossary-tabs,
  .loto-faq-tabs,
  .loto-faq-item,
  .loto-site-news-digest,
  .loto-buy-flow,
  .loto-condition-table-wrap,
  .loto-winning-conditions-block,
  .loto-spec-grid,
  .loto-article-quicknav,
  .loto-point-panel,
  .loto-check-grid,
  .loto-step-list,
  .loto-decision-list,
  .loto-set-formula,
  .loto-set-example,
  .loto-notice,
  .loto-data-source,
  .loto-disclaimer,
  .loto-analysis-note
) {
  --loto-readable-text-size: 16px;
  --loto-readable-text-size-mobile: clamp(16px, 4vw, 17px);
  --loto-hero-lead-text-size: clamp(17px, 1.45vw, 18px);
  --loto-label-text-size: 12px;
  --loto-label-text-size-mobile: clamp(12px, 3.2vw, 13px);
  --loto-meta-text-size: 14px;
  --loto-meta-text-size-mobile: 15px;
  --loto-small-card-title-size: clamp(16px, 1.5vw, 18px);
  --loto-button-text-size: 15px;
}

:where(
  .loto-numbers-lead,
  .loto-site.loto-sub-hero .loto-numbers-lead,
  .loto-numbers-block-section .loto-numbers-lead,
  .loto-numbers-home-hero .loto-home-hero__note,
  .loto-numbers-block-section .loto-heading-block p:not(.loto-kicker),
  .loto-numbers-panel-block .loto-panel__text,
  .loto-numbers-cta-panel p:not(.loto-kicker),
  .loto-numbers-basic-panel p:not(.loto-kicker),
  .loto-numbers-container-block :where(p, li, dd),
  .loto-numbers-data-source-block :where(p, li),
  .loto-numbers-disclaimer-block :where(p, li),
  .loto-notice :where(p, li),
  .loto-data-source :where(p, li),
  .loto-disclaimer :where(p, li),
  .loto-site .loto-analysis-note,
  .loto-site .loto-analysis-note :where(p, li),
  .loto-numbers-game-intro-cards .loto-game-spec-card p,
  .loto-site.loto-sub-hero .loto-game-spec-card p,
  .loto-game-card__text,
  .loto-family-latest-card :where(p, li),
  .loto-family-latest-card__draw,
  .loto-article-link-card p,
  .loto-guide-card p,
  .loto-term-card p,
  .loto-point-card p,
  .loto-section-index-card p,
  .loto-numbers-section-index-card-block p,
  .loto-glossary-tabs__lead,
  .loto-faq-tabs__lead,
  .loto-faq-answer p,
  .loto-site-news-digest__head p:not(.loto-kicker),
  .loto-site-news-digest__item p,
  .loto-site-news-digest__empty,
  .loto-numbers-buy-flow-block .loto-buy-step__text,
  .loto-numbers-buy-flow-note.loto-guide-note,
  .loto-condition-table :where(th, td),
  .loto-winning-conditions-block .loto-condition-table :where(th, td),
  .loto-winning-conditions-block-editor .loto-condition-table :where(th, td),
  .loto-spec-card.l6ga-spec-card p,
  .loto-point-panel .l6ga-point-panel__main li,
  .loto-mini-card.l6ga-mini-card p,
  .loto-check-item.l6ga-check-item p,
  .loto-step.l76ca-step p,
  .loto-decision-item.n34ca-decision-item p,
  .loto-set-formula.nsbsa-set-formula p,
  .loto-set-example.nsbsa-set-example strong
) {
  font-size: var(--loto-readable-text-size, 16px) !important;
  line-height: 1.85 !important;
}

:where(
  .loto-site.loto-sub-hero .loto-sub-hero__lead,
  .loto-site.loto-sub-hero .loto-numbers-lead.loto-sub-hero__lead,
  .loto-numbers-home-hero .loto-hero__lead
) {
  font-size: var(--loto-hero-lead-text-size, clamp(17px, 1.45vw, 18px)) !important;
  line-height: 1.9 !important;
}

:where(
  .loto-site.loto-sub-hero .loto-game-menu-card__title,
  .loto-numbers-quick-menu .loto-game-menu-card__title,
  .loto-site-news-digest__item h4,
  .loto-site-news-digest__panel-head h3
) {
  font-size: var(--loto-small-card-title-size, clamp(16px, 1.5vw, 18px)) !important;
  line-height: 1.5 !important;
}

:where(
  .loto-site.loto-sub-hero .loto-game-menu-card__text,
  .loto-numbers-quick-menu .loto-game-menu-card__text
) {
  font-size: var(--loto-readable-text-size, 16px) !important;
  line-height: 1.62 !important;
}

:where(
  .loto-kicker,
  .loto-site.loto-sub-hero .loto-game-spec-card__label,
  .loto-numbers-game-intro-cards .loto-game-spec-card__label,
  .loto-site.loto-sub-hero .loto-hero-quicknav__label,
  .loto-numbers-quick-menu .loto-hero-quicknav__label,
  .loto-numbers-game-card-block .loto-game-card__badge,
  .loto-numbers-family-latest-card-block .loto-family-latest-card__badge,
  .loto-article-link-card__label,
  .loto-guide-card__label,
  .loto-term-card__tag,
  .loto-guide-card--point .loto-guide-card__point,
  .loto-section-index-card__badge,
  .loto-numbers-section-index-card-block .loto-section-index-card__badge,
  .loto-site-news-digest__panel-head span,
  .loto-site-news-digest__meta span,
  .loto-site-news-digest__meta time,
  .loto-spec-card.l6ga-spec-card span,
  .loto-article-quicknav .l6ga-quicknav__label,
  .loto-mini-card.l6ga-mini-card span,
  .loto-set-formula .nsbsa-set-formula__label,
  .loto-set-example.nsbsa-set-example span,
  .loto-condition-table tbody th .loto-winning-conditions-cell,
  .loto-condition-table tbody th .loto-winning-conditions-cell-edit
) {
  font-size: var(--loto-label-text-size, 12px) !important;
  line-height: 1.35 !important;
}

:where(
  .loto-game-card__meta,
  .loto-numbers-game-card-block .loto-game-card__meta,
  .loto-site-news-digest__meta,
  .loto-family-latest-card__draw,
  .loto-result-number-row__label
) {
  font-size: var(--loto-meta-text-size, 14px) !important;
  line-height: 1.55 !important;
}

:where(
  .loto-game-card__button,
  .loto-numbers-game-card-block .loto-game-card__button,
  .loto-family-latest-card__button,
  .loto-article-link-card__button,
  .loto-section-index-card__actions a,
  .loto-site-news-digest__more,
  .loto-site-news-digest__panel-link,
  .loto-article-quicknav .l6ga-quicknav__links a,
  .loto-mini-card.l6ga-mini-card a,
  .loto-faq-link
) {
  font-size: var(--loto-button-text-size, 15px) !important;
  line-height: 1.5 !important;
}

@media (max-width: 600px) {
  :where(
    .loto-numbers-lead,
    .loto-site.loto-sub-hero .loto-numbers-lead,
    .loto-numbers-block-section .loto-numbers-lead,
    .loto-site.loto-sub-hero .loto-sub-hero__lead,
    .loto-numbers-home-hero .loto-hero__lead,
    .loto-numbers-home-hero .loto-home-hero__note,
    .loto-numbers-block-section .loto-heading-block p:not(.loto-kicker),
    .loto-numbers-panel-block .loto-panel__text,
    .loto-numbers-cta-panel p:not(.loto-kicker),
    .loto-numbers-basic-panel p:not(.loto-kicker),
    .loto-numbers-container-block :where(p, li, dd),
    .loto-numbers-data-source-block :where(p, li),
    .loto-numbers-disclaimer-block :where(p, li),
    .loto-notice :where(p, li),
    .loto-data-source :where(p, li),
    .loto-disclaimer :where(p, li),
    .loto-site .loto-analysis-note,
    .loto-site .loto-analysis-note :where(p, li),
    .loto-numbers-game-intro-cards .loto-game-spec-card p,
    .loto-site.loto-sub-hero .loto-game-spec-card p,
    .loto-game-card__text,
    .loto-family-latest-card :where(p, li),
    .loto-article-link-card p,
    .loto-guide-card p,
    .loto-term-card p,
    .loto-point-card p,
    .loto-section-index-card p,
    .loto-numbers-section-index-card-block p,
    .loto-glossary-tabs__lead,
    .loto-faq-tabs__lead,
    .loto-faq-answer p,
    .loto-site-news-digest__head p:not(.loto-kicker),
    .loto-site-news-digest__item p,
    .loto-site-news-digest__empty,
    .loto-numbers-buy-flow-block .loto-buy-step__text,
    .loto-numbers-buy-flow-note.loto-guide-note,
    .loto-condition-table :where(th, td),
    .loto-winning-conditions-block .loto-condition-table :where(th, td),
    .loto-winning-conditions-block-editor .loto-condition-table :where(th, td),
    .loto-spec-card.l6ga-spec-card p,
    .loto-point-panel .l6ga-point-panel__main li,
    .loto-mini-card.l6ga-mini-card p,
    .loto-check-item.l6ga-check-item p,
    .loto-step.l76ca-step p,
    .loto-decision-item.n34ca-decision-item p,
    .loto-set-formula.nsbsa-set-formula p,
    .loto-set-example.nsbsa-set-example strong,
    .loto-site.loto-sub-hero .loto-game-menu-card__text,
    .loto-numbers-quick-menu .loto-game-menu-card__text
  ) {
    font-size: var(--loto-readable-text-size-mobile, clamp(16px, 4vw, 17px)) !important;
  }

  :where(
    .loto-kicker,
    .loto-site.loto-sub-hero .loto-game-spec-card__label,
    .loto-numbers-game-intro-cards .loto-game-spec-card__label,
    .loto-site.loto-sub-hero .loto-hero-quicknav__label,
    .loto-numbers-quick-menu .loto-hero-quicknav__label,
    .loto-numbers-game-card-block .loto-game-card__badge,
    .loto-numbers-family-latest-card-block .loto-family-latest-card__badge,
    .loto-article-link-card__label,
    .loto-guide-card__label,
    .loto-term-card__tag,
    .loto-guide-card--point .loto-guide-card__point,
    .loto-section-index-card__badge,
    .loto-numbers-section-index-card-block .loto-section-index-card__badge,
    .loto-site-news-digest__panel-head span,
    .loto-site-news-digest__meta span,
    .loto-site-news-digest__meta time,
    .loto-spec-card.l6ga-spec-card span,
    .loto-article-quicknav .l6ga-quicknav__label,
    .loto-mini-card.l6ga-mini-card span,
    .loto-set-formula .nsbsa-set-formula__label,
    .loto-set-example.nsbsa-set-example span,
    .loto-condition-table tbody th .loto-winning-conditions-cell,
    .loto-condition-table tbody th .loto-winning-conditions-cell-edit
  ) {
    font-size: var(--loto-label-text-size-mobile, clamp(12px, 3.2vw, 13px)) !important;
  }

  :where(
    .loto-game-card__meta,
    .loto-numbers-game-card-block .loto-game-card__meta,
    .loto-site-news-digest__meta,
    .loto-family-latest-card__draw,
    .loto-result-number-row__label
  ) {
    font-size: var(--loto-meta-text-size-mobile, 15px) !important;
  }
}

/* v1.0.82/v1.0.85: generic article section block, replacing article-specific l6ga-section prefixes. */
.loto-article-section.l6ga-section {
  margin: 0 0 var(--loto-article-section-gap, 52px);
  color: var(--loto-text, #334155);
  scroll-margin-top: 90px;
  word-break: normal;
  overflow-wrap: break-word;
  line-break: strict;
  --loto-section-head-gap: 14px;
  --loto-section-content-gap: 32px;
}

.loto-article-section.l6ga-section:last-child {
  margin-bottom: 0;
}

.loto-article-section.l6ga-section > .loto-article-heading.l6ga-heading {
  margin: 0 0 var(--loto-section-head-gap, 14px);
}

.loto-article-section.l6ga-section > .loto-article-heading.l6ga-heading:has(.loto-article-heading__lead) {
  margin-bottom: var(--loto-section-content-gap, 32px);
}

.loto-article-heading.l6ga-heading .loto-article-heading__label,
.loto-article-heading.l6ga-heading .l6ga-heading__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 12px;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--loto-generic-color, var(--l6ga-color, var(--loto-main-color, #2563eb)));
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
}

.loto-article-heading.l6ga-heading :where(h2, h3, h4) {
  margin: 0;
  color: var(--loto-generic-heading, var(--l6ga-heading, #111827));
  font-size: clamp(20px, 3vw, 32px);
  line-height: 1.45;
  letter-spacing: .02em;
}

.loto-article-heading.l6ga-heading p {
  margin: var(--loto-section-head-gap, 14px) 0 0;
  color: var(--loto-generic-muted, var(--l6ga-muted, #4b5563));
  font-size: 16px;
  line-height: 1.9;
}

.loto-article-section__body > * {
  margin-top: 0;
  margin-bottom: 0;
}

.loto-article-section__body > * + * {
  margin-top: var(--loto-article-section-inner-gap, 24px);
}

.loto-article-section__body > p,
.loto-article-section__body > .loto-article-section__lead {
  color: var(--loto-generic-muted, var(--l6ga-muted, #4b5563));
  font-size: var(--loto-body-text-size, 16px);
  line-height: 1.9;
}

.loto-article-section.loto-article-section--soft {
  padding: 32px;
  border: 1px solid var(--loto-generic-border, var(--l6ga-border, #e5e7eb));
  border-radius: var(--loto-generic-radius-lg, 22px);
  background: linear-gradient(135deg, rgba(255, 255, 255, .94), var(--loto-generic-soft, var(--l6ga-color-soft, #eff6ff)));
  box-shadow: var(--loto-generic-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
}

@media (max-width: 600px) {
  .loto-article-section.l6ga-section {
    margin-bottom: var(--loto-article-section-gap-mobile, 36px);
    --loto-section-head-gap: 12px;
    --loto-section-content-gap: 28px;
  }

  .loto-article-section.loto-article-section--soft {
    padding: 24px;
  }

  .loto-article-heading.l6ga-heading .loto-article-heading__label,
  .loto-article-heading.l6ga-heading .l6ga-heading__label {
    font-size: clamp(12px, 3.2vw, 13px);
  }

  .loto-article-heading.l6ga-heading :where(h2, h3, h4) {
    font-size: clamp(18px, 5vw, 24px);
  }

  .loto-article-heading.l6ga-heading p {
    font-size: clamp(16px, 4vw, 17px);
  }


  .loto-article-section__body > p,
  .loto-article-section__body > .loto-article-section__lead {
    font-size: clamp(16px, 4vw, 17px);
  }
}


/* v1.0.84: guide/term card description is fully managed by inner blocks */
.loto-numbers-guide-term-card-block .loto-guide-card__description,
.loto-numbers-guide-term-card-block .loto-term-card__description,
.loto-numbers-guide-term-card-block__description {
  display: block;
  margin: 0;
  color: var(--loto-text, #1f2937);
  font-size: var(--loto-block-body-size, 16px);
  line-height: 1.85;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description > .loto-guide-card__text,
.loto-numbers-guide-term-card-block .loto-term-card__description > .loto-term-card__text,
.loto-numbers-guide-term-card-block__description > .loto-guide-card__text,
.loto-numbers-guide-term-card-block__description > .loto-term-card__text {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description > .loto-guide-card__text:empty,
.loto-numbers-guide-term-card-block .loto-term-card__description > .loto-term-card__text:empty,
.loto-numbers-guide-term-card-block__description > .loto-guide-card__text:empty,
.loto-numbers-guide-term-card-block__description > .loto-term-card__text:empty {
  display: none;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description-blocks,
.loto-numbers-guide-term-card-block__inner {
  display: block;
  margin-top: 0;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description-blocks:empty,
.loto-numbers-guide-term-card-block__inner:empty {
  display: none;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description-blocks > *:first-child,
.loto-numbers-guide-term-card-block__inner > *:first-child {
  margin-top: 0;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description-blocks > * + *,
.loto-numbers-guide-term-card-block__inner > * + * {
  margin-top: 12px;
}

.loto-numbers-guide-term-card-block .loto-guide-card__description-blocks p,
.loto-numbers-guide-term-card-block .loto-guide-card__description-blocks li,
.loto-numbers-guide-term-card-block__inner p,
.loto-numbers-guide-term-card-block__inner li {
  font-size: var(--loto-block-body-size, 16px);
  line-height: 1.85;
}

.loto-numbers-guide-term-card-block .loto-guide-card__chips {
  margin-top: 14px;
}

@media (max-width: 600px) {
  .loto-numbers-guide-term-card-block .loto-guide-card__description,
  .loto-numbers-guide-term-card-block .loto-term-card__description,
  .loto-numbers-guide-term-card-block__description,
  .loto-numbers-guide-term-card-block .loto-guide-card__description-blocks p,
  .loto-numbers-guide-term-card-block .loto-guide-card__description-blocks li,
  .loto-numbers-guide-term-card-block__inner p,
  .loto-numbers-guide-term-card-block__inner li {
    font-size: var(--loto-block-body-size-mobile, clamp(16px, 4vw, 17px));
  }
}


/* v1.0.86: align the analysis-note dot with the title line after padding normalization. */
.loto-site .loto-analysis-note {
  --loto-analysis-note-dot-size: 10px;
}
.loto-site .loto-analysis-note::before {
  top: calc(var(--loto-box-inner-padding, 26px) + .675em) !important;
  transform: translateY(-50%) !important;
}
@media (max-width: 600px) {
  .loto-site .loto-analysis-note::before {
    top: calc(var(--loto-box-inner-padding-mobile, 22px) + .675em) !important;
  }
}


/* v1.0.89: remove the analysis-note dot and normalize the reserved left spacing. */
.loto-site .loto-analysis-note {
  padding-left: var(--loto-box-inner-padding, 26px) !important;
}
.loto-site .loto-analysis-note::before,
.loto-site .loto-analysis-note strong::before {
  content: none !important;
  display: none !important;
}
.loto-site .loto-analysis-note strong {
  position: static;
  display: block !important;
  margin: 0 0 4px;
  line-height: 1.4;
}
@media (max-width: 600px) {
  .loto-site .loto-analysis-note {
    padding-left: var(--loto-box-inner-padding-mobile, 22px) !important;
  }
}

/* v1.0.90: description areas can contain arbitrary inner blocks. */
.loto-block-description {
  margin-top: var(--loto-space-md, 16px);
}
.loto-block-description > :first-child {
  margin-top: 0 !important;
}
.loto-block-description > :last-child {
  margin-bottom: 0 !important;
}
.loto-block-description > * + * {
  margin-top: 12px;
}
.loto-block-description :where(p, ul, ol) {
  font-size: var(--loto-body-text-size, 16px);
  line-height: 1.85;
}
.loto-panel__description,
.loto-step__description,
.loto-spec-card__description,
.loto-check-item__description,
.loto-decision-item__description,
.loto-mini-card__description,
.loto-set-formula__description,
.loto-faq-answer__description {
  width: 100%;
}
.loto-step__description,
.loto-check-item__description,
.loto-decision-item__description,
.loto-spec-card__description {
  margin-top: 12px;
}
.loto-panel__description {
  margin-top: 18px;
}
.loto-set-formula__description {
  margin-top: 16px;
}
.loto-faq-answer__description {
  margin-top: 0;
}
@media (max-width: 600px) {
  .loto-block-description :where(p, ul, ol) {
    font-size: var(--loto-body-text-size-mobile, clamp(16px, 4vw, 17px));
  }
}


/* v1.0.92: optional lcoga-mini-card design for the point panel supplementary card. */
.loto-point-panel .loto-mini-card--lcoga,
.loto-point-panel .lcoga-mini-card {
  border-color: color-mix(in srgb, var(--loto-generic-color) 18%, var(--loto-generic-border));
  background: linear-gradient(135deg, #ffffff 0%, var(--loto-generic-soft-2) 100%);
}
.loto-point-panel .loto-mini-card--lcoga::before,
.loto-point-panel .lcoga-mini-card::before {
  height: 5px;
  background: var(--loto-generic-color);
}
.loto-point-panel .loto-mini-card--lcoga span,
.loto-point-panel .lcoga-mini-card span {
  display: inline-flex;
  margin: 0 0 10px;
  color: var(--loto-generic-color-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
}
.loto-point-panel .loto-mini-card--lcoga p,
.loto-point-panel .lcoga-mini-card p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  line-height: 1.85;
}
.loto-point-panel .loto-mini-card--lcoga a,
.loto-point-panel .lcoga-mini-card a {
  display: inline-flex;
  margin-top: 14px;
  color: var(--loto-generic-color-dark);
  font-size: 15px;
  font-weight: 900;
}
@media (max-width: 600px) {
  .loto-point-panel .loto-mini-card--lcoga p,
  .loto-point-panel .lcoga-mini-card p {
    font-size: clamp(16px, 4vw, 17px);
  }
}


/* v1.0.93: point panel supplementary card can use the lcoga-mini-card article design. */
.loto-point-panel .loto-mini-card--lcoga,
.loto-point-panel .lcoga-mini-card {
  padding: 28px 24px 26px;
  border: 1px solid color-mix(in srgb, var(--loto-generic-color) 18%, var(--loto-generic-border));
  border-top: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--loto-generic-soft) 62%, #ffffff) 100%);
  box-shadow: var(--loto-generic-shadow-sm);
}
.loto-point-panel .loto-mini-card--lcoga::before,
.loto-point-panel .lcoga-mini-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  border-radius: 22px 22px 0 0;
  background: var(--loto-generic-color);
}
.loto-point-panel .loto-mini-card--lcoga span,
.loto-point-panel .lcoga-mini-card span {
  display: inline-flex;
  margin: 0 0 14px;
  color: var(--loto-generic-color-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
}
.loto-point-panel .loto-mini-card--lcoga h3,
.loto-point-panel .lcoga-mini-card h3 {
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid color-mix(in srgb, var(--loto-generic-color) 24%, #dbeafe);
  color: var(--loto-generic-heading);
  font-size: clamp(20px, 1.8vw, 22px);
  font-weight: 900;
  line-height: 1.45;
}
.loto-point-panel .loto-mini-card--lcoga p,
.loto-point-panel .lcoga-mini-card p {
  margin: 0;
  color: var(--loto-generic-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
}
.loto-point-panel .loto-mini-card--lcoga a,
.loto-point-panel .lcoga-mini-card a {
  display: inline-flex;
  margin-top: 14px;
  color: var(--loto-generic-color-dark);
  font-size: 15px;
  font-weight: 900;
}
@media (max-width: 600px) {
  .loto-point-panel .loto-mini-card--lcoga,
  .loto-point-panel .lcoga-mini-card {
    padding: 24px;
  }
  .loto-point-panel .loto-mini-card--lcoga h3,
  .loto-point-panel .lcoga-mini-card h3 {
    font-size: clamp(18px, 5vw, 21px);
  }
  .loto-point-panel .loto-mini-card--lcoga p,
  .loto-point-panel .lcoga-mini-card p {
    font-size: clamp(16px, 4vw, 17px);
  }
}


/* v1.0.94: generic nsbsa-note block. */
.loto-article-note.nsbsa-note {
  position: relative;
  min-width: 0;
  margin: 18px 0 0;
  padding: 24px;
  border: 1px solid var(--loto-generic-border, #e5e7eb);
  border-radius: var(--loto-generic-radius-lg, 22px);
  background: #ffffff;
  box-shadow: var(--loto-generic-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
  overflow: hidden;
  color: var(--loto-generic-text, #334155);
}
.loto-article-note.nsbsa-note::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--loto-generic-color, var(--game-color, #2563eb));
}
.loto-article-note.nsbsa-note > * {
  position: relative;
  z-index: 1;
}
.loto-article-note.nsbsa-note--safe,
.loto-article-note.nsbsa-note.nsbsa-note--safe {
  background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--loto-generic-color, var(--game-color, #2563eb)) 12%, transparent), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 56%, var(--loto-generic-soft-2, var(--game-soft, #eff6ff)) 100%);
}
.loto-article-note.nsbsa-note h3 {
  margin: 0 0 10px;
  color: var(--loto-generic-heading, #111827);
  font-size: clamp(20px, 1.8vw, 22px);
  font-weight: 900;
  line-height: 1.45;
}
.loto-article-note__body,
.nsbsa-note__body {
  display: block;
}
.loto-article-note__body > :where(p, ul, ol, div, figure, blockquote):first-child,
.nsbsa-note__body > :where(p, ul, ol, div, figure, blockquote):first-child {
  margin-top: 0;
}
.loto-article-note__body > :where(p, ul, ol, div, figure, blockquote):last-child,
.nsbsa-note__body > :where(p, ul, ol, div, figure, blockquote):last-child {
  margin-bottom: 0;
}
.loto-article-note.nsbsa-note :where(p, li),
.loto-article-note__paragraph,
.nsbsa-note__paragraph {
  color: var(--loto-generic-muted, #475569);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
}
.loto-article-note.nsbsa-note p {
  margin: 0;
}
.loto-article-note.nsbsa-note p + p {
  margin-top: 12px;
}
.loto-article-note.nsbsa-note a {
  color: var(--loto-generic-color-dark, var(--game-color-dark, #1d4ed8));
  font-weight: 900;
}
@media (max-width: 600px) {
  .loto-article-note.nsbsa-note {
    padding: 20px;
    border-radius: 20px;
  }
  .loto-article-note.nsbsa-note h3 {
    font-size: clamp(18px, 5vw, 21px);
  }
  .loto-article-note.nsbsa-note :where(p, li),
  .loto-article-note__paragraph,
  .nsbsa-note__paragraph {
    font-size: clamp(16px, 4vw, 17px);
  }
}


/* v1.0.95: make the generic nsbsa-note match the original long note design. */
.loto-article-note.nsbsa-note {
  margin: 18px 0 0;
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--loto-generic-color, var(--game-color, #8b5cf6)) 16%, var(--loto-generic-border, #e5e7eb));
  border-top: 0;
  border-radius: 22px;
  background:
    radial-gradient(circle at 96% 10%, color-mix(in srgb, var(--loto-generic-color, var(--game-color, #8b5cf6)) 12%, transparent), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 56%, var(--loto-generic-soft-2, var(--game-soft, #f5f3ff)) 100%);
  box-shadow: var(--loto-generic-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
}
.loto-article-note.nsbsa-note::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  border-radius: 22px 22px 0 0;
  background: var(--loto-generic-color, var(--game-color, #8b5cf6));
}
.loto-article-note.nsbsa-note h3 {
  margin: 0 0 12px;
  color: var(--loto-generic-heading, #111827);
  font-size: clamp(20px, 1.8vw, 22px);
  font-weight: 900;
  line-height: 1.45;
}
.loto-article-note.nsbsa-note :where(p, li),
.loto-article-note__paragraph,
.nsbsa-note__paragraph {
  color: var(--loto-generic-text, #334155);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
}
.loto-article-note.nsbsa-note p {
  margin: 0;
}
.loto-article-note.nsbsa-note p + p {
  margin-top: 12px;
}
.loto-article-note.nsbsa-note.nsbsa-note--safe,
.loto-article-note.nsbsa-note.loto-article-note--safe {
  background:
    radial-gradient(circle at 96% 10%, color-mix(in srgb, var(--loto-generic-color, var(--game-color, #8b5cf6)) 16%, transparent), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, var(--loto-generic-soft-2, var(--game-soft, #f5f3ff)) 100%);
}
@media (max-width: 600px) {
  .loto-article-note.nsbsa-note {
    padding: 20px;
    border-radius: 20px;
  }
  .loto-article-note.nsbsa-note::before {
    border-radius: 20px 20px 0 0;
  }
  .loto-article-note.nsbsa-note :where(p, li),
  .loto-article-note__paragraph,
  .nsbsa-note__paragraph {
    font-size: clamp(16px, 4vw, 17px);
  }
}


/* v1.0.96: generic qpga-related-grid blocks. */
:where(.loto-related-grid, .qpga-related-grid) {
  --qpga-border: var(--loto-generic-border, #e5e7eb);
  --qpga-heading: var(--loto-generic-heading, #111827);
  --qpga-muted: var(--loto-generic-muted, #475569);
  --qpga-radius-lg: var(--loto-generic-radius-lg, 22px);
  --qpga-shadow-sm: var(--loto-generic-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
  display: grid;
  grid-template-columns: repeat(var(--loto-related-grid-columns, 4), minmax(0, 1fr));
  gap: var(--loto-related-grid-gap, 14px);
  min-width: 0;
}
:where(.loto-related-card, .qpga-related-card, .qpga-related-grid a) {
  position: relative;
  display: block;
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--qpga-border, #e5e7eb);
  border-radius: var(--qpga-radius-lg, 22px);
  background: #ffffff;
  box-shadow: var(--qpga-shadow-sm, 0 8px 22px rgba(15, 23, 42, .05));
  color: inherit;
  text-decoration: none !important;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
:where(.loto-related-card, .qpga-related-card, .qpga-related-grid a)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--qpga-color, var(--game-color, #2563eb));
}
:where(.loto-related-card, .qpga-related-card, .qpga-related-grid a) > * {
  position: relative;
  z-index: 1;
}
:where(.loto-related-card:hover, .loto-related-card:focus, .qpga-related-card:hover, .qpga-related-card:focus, .qpga-related-grid a:hover, .qpga-related-grid a:focus) {
  transform: translateY(-2px);
  border-color: var(--qpga-color, var(--game-color, #2563eb));
  box-shadow: 0 14px 30px rgba(15, 23, 42, .09);
}
:where(.loto-related-card__label, .qpga-related-grid span) {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--qpga-color-soft, var(--game-soft, #eff6ff));
  color: var(--qpga-color-dark, var(--game-color-dark, #1d4ed8));
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
}
:where(.loto-related-card__title, .qpga-related-grid strong) {
  display: block;
  color: var(--qpga-heading, #111827);
  font-size: 1.04rem;
  font-weight: 900;
  line-height: 1.55;
}
@media (max-width: 960px) {
  :where(.loto-related-grid, .qpga-related-grid) {
    grid-template-columns: repeat(var(--loto-related-grid-tablet-columns, 2), minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  :where(.loto-related-grid, .qpga-related-grid) {
    grid-template-columns: repeat(var(--loto-related-grid-mobile-columns, 1), minmax(0, 1fr));
  }
  :where(.loto-related-card, .qpga-related-card, .qpga-related-grid a) {
    padding: 20px;
    border-radius: 20px;
  }
}


/* v1.0.97: configurable columns for the generic check grid block. */
.loto-check-grid.l6ga-check-grid.loto-check-grid--has-columns {
  grid-template-columns: repeat(var(--loto-check-grid-columns), minmax(0, 1fr));
}
@media (max-width: 960px) {
  .loto-check-grid.l6ga-check-grid.loto-check-grid--has-tablet-columns {
    grid-template-columns: repeat(var(--loto-check-grid-tablet-columns), minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .loto-check-grid.l6ga-check-grid.loto-check-grid--has-tablet-columns {
    grid-template-columns: 1fr;
  }
  .loto-check-grid.l6ga-check-grid.loto-check-grid--has-mobile-columns {
    grid-template-columns: repeat(var(--loto-check-grid-mobile-columns), minmax(0, 1fr));
  }
}


/* v1.0.98: fixed information page blocks imported from loto-analyzer-suite. */
:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) {
  --loto-blue: #3b82f6;
  --loto-blue-dark: #1d4ed8;
  --loto-blue-soft: #eff6ff;
  --loto-green: #22c55e;
  --loto-green-dark: #15803d;
  --loto-green-soft: #f0fdf4;
  --loto-orange: #f97316;
  --loto-orange-dark: #c2410c;
  --loto-orange-soft: #fff7ed;
  --loto-text: #1f2937;
  --loto-heading: #111827;
  --loto-muted: #6b7280;
  --loto-border: #e5e7eb;
  --loto-border-strong: #d1d5db;
  --loto-white: #ffffff;
  --loto-radius-sm: 12px;
  --loto-radius-md: 18px;
  --loto-radius-lg: 24px;
  --loto-radius-xl: 32px;
  --loto-shadow-sm: 0 8px 22px rgba(15, 23, 42, .05);
  --loto-shadow-md: 0 16px 36px rgba(15, 23, 42, .08);
  --game-color: var(--loto-blue);
  --game-color-dark: var(--loto-blue-dark);
  --game-soft: var(--loto-blue-soft);
  color: var(--loto-text);
  font-feature-settings: "palt";
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) *,
:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) *::before,
:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) *::after {
  box-sizing: border-box;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-container {
  width: min(1120px, calc(100% - 32px));
  margin-inline: auto;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-section {
  margin: 58px 0;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-section--soft {
  padding: 40px 24px;
  border-radius: var(--loto-radius-xl);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid var(--loto-border);
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--game-color-dark);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  opacity: .65;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-home-hero {
  position: relative;
  overflow: hidden;
  margin: 0 0 52px;
  padding: 48px 28px 32px;
  border-radius: var(--loto-radius-xl);
  background: radial-gradient(circle at 8% 0%, rgba(59, 130, 246, .13), transparent 30%), radial-gradient(circle at 92% 12%, rgba(249, 115, 22, .11), transparent 28%), linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #fff7ed 100%);
  border: 1px solid var(--loto-border);
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-home-hero::after {
  content: "";
  position: absolute;
  inset: auto -70px -120px auto;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: rgba(59, 130, 246, .06);
  pointer-events: none;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-hero__content {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto 26px;
  text-align: center;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-hero__title {
  margin: 0;
  color: var(--loto-heading);
  font-size: clamp(1.95rem, 3.6vw, 2.8rem);
  line-height: 1.34;
  letter-spacing: .03em;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-hero__lead {
  max-width: 760px;
  margin: 16px auto 0;
  color: var(--loto-muted);
  font-size: 1rem;
  line-height: 1.85;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-heading-block {
  max-width: 820px;
  margin: 0 auto 26px;
  text-align: center;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-heading-block h2 {
  margin: 0 0 10px;
  color: var(--loto-heading);
  font-size: clamp(1.42rem, 3vw, 1.95rem);
  line-height: 1.45;
  letter-spacing: .02em;
}

:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-heading-block p {
  margin: 0;
  color: var(--loto-muted);
  line-height: 1.85;
}

@media (max-width: 600px) {
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-container {
    width: min(100% - 24px, 1120px);
  }
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-section {
    margin: 44px 0;
  }
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-section--soft {
    padding: 28px 16px;
    border-radius: 24px;
  }
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-home-hero {
    margin-bottom: 44px;
    padding: 36px 18px 26px;
    border-radius: 24px;
  }
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-hero__content {
    text-align: left;
    margin-bottom: 24px;
  }
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-hero__title {
    font-size: clamp(1.72rem, 7.5vw, 2.25rem);
  }
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-hero__lead {
    font-size: .96rem;
    line-height: 1.85;
  }
}


   Privacy policy page shortcode
   Shortcodes: [loto_privacy_policy_page], [loto_privacy_policy_hero], [loto_privacy_policy_content]
   ========================================================== */
.loto-privacy-page {
    color: #0f172a;
}

.loto-privacy-hero .loto-hero__content {
    max-width: 860px;
}

.loto-privacy-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 18px;
}

.loto-privacy-hero__meta span,
.loto-privacy-meta-card span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}

.loto-privacy-points {
    padding-top: 32px;
    padding-bottom: 10px;
}

.loto-privacy-point-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.loto-privacy-point-card {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

.loto-privacy-point-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, #2563eb 0%, #38bdf8 100%);
}

.loto-privacy-point-card span {
    display: inline-flex;
    align-items: center;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.loto-privacy-point-card h2 {
    margin: 0 0 8px;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.45;
}

.loto-privacy-point-card p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.8;
}

.loto-privacy-body {
    padding-top: 30px;
}

.loto-privacy-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.loto-privacy-toc,
.loto-privacy-content-card {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.loto-privacy-toc {
    position: sticky;
    top: 24px;
    padding: 20px;
}

.loto-privacy-toc__label {
    display: inline-block;
    margin-bottom: 6px;
    color: #2563eb;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.loto-privacy-toc h2 {
    margin: 0 0 12px;
    font-size: 18px;
}

.loto-privacy-toc ol {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 1.2em;
}

.loto-privacy-toc li {
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

.loto-privacy-toc a {
    color: #334155;
    text-decoration: none;
}

.loto-privacy-toc a:hover {
    color: #2563eb;
}

.loto-privacy-content-card {
    overflow: hidden;
    padding: 26px;
}

.loto-privacy-section {
    padding: 0 0 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    scroll-margin-top: 24px;
}

.loto-privacy-section:last-of-type {
    margin-bottom: 0;
}

/* Shared heading style for fixed information pages.
   The title markup is generated by PHP so numbered headings remain readable. */
.loto-privacy-section h2,
.loto-fixed-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 21px;
    line-height: 1.45;
}

.loto-privacy-section h2::before {
    content: none;
}

.loto-fixed-section-number {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    min-width: 38px;
    height: 38px;
    padding: 0 9px;
    border-radius: 14px;
    background: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
}

.loto-fixed-section-title {
    display: block;
    min-width: 0;
}

.loto-privacy-section p,
.loto-privacy-section li {
    color: #334155;
    font-size: 15px;
    line-height: 1.9;
}

.loto-privacy-section p {
    margin: 0 0 12px;
}

.loto-privacy-section p:last-child {
    margin-bottom: 0;
}

.loto-privacy-section ul {
    display: grid;
    gap: 8px;
    margin: 12px 0;
    padding: 16px 18px 16px 34px;
    border-radius: 18px;
    background: #f8fafc;
}

.loto-privacy-note {
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 18px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 14px;
    line-height: 1.8;
}

.loto-privacy-table-wrap {
    margin-top: 16px;
}

.loto-privacy-table th,
.loto-privacy-table td {
    vertical-align: top;
    line-height: 1.75;
}

.loto-privacy-meta-card {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.loto-privacy-related {
    margin-top: 24px;
}

@media (max-width: 900px) {
    .loto-privacy-layout {
        grid-template-columns: 1fr;
    }

    .loto-privacy-toc {
        position: relative;
        top: auto;
    }

    .loto-privacy-point-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .loto-privacy-hero .loto-hero__content {
        text-align: left;
    }

    .loto-privacy-hero__meta {
        gap: 6px;
        margin-top: 14px;
    }

    .loto-privacy-hero__meta span,
    .loto-privacy-meta-card span {
        min-height: 28px;
        padding: 5px 10px;
        font-size: 11px;
    }

    .loto-privacy-points {
        padding-top: 22px;
    }

    .loto-privacy-point-grid {
        gap: 12px;
    }

    .loto-privacy-point-card {
        padding: 16px 16px 16px 18px;
        border-radius: 18px;
    }

    .loto-privacy-point-card h2 {
        font-size: 16px;
    }

    .loto-privacy-point-card p {
        font-size: 13px;
    }

    .loto-privacy-body {
        padding-top: 20px;
    }

    .loto-privacy-layout {
        gap: 16px;
    }

    .loto-privacy-toc,
    .loto-privacy-content-card {
        border-radius: 20px;
    }

    .loto-privacy-toc {
        padding: 16px;
    }

    .loto-privacy-toc ol {
        grid-template-columns: 1fr 1fr;
        gap: 8px 14px;
        padding-left: 1.1em;
    }

    .loto-privacy-toc li {
        font-size: 12px;
    }

    .loto-privacy-content-card {
        padding: 18px 16px;
    }

    .loto-privacy-section {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .loto-privacy-section h2,
    .loto-fixed-section-heading {
        gap: 10px;
        margin-bottom: 12px;
        font-size: 17px;
        line-height: 1.45;
    }

    .loto-fixed-section-number {
        min-width: 32px;
        height: 32px;
        padding: 0 7px;
        border-radius: 12px;
        font-size: 11px;
    }

    .loto-privacy-section p,
    .loto-privacy-section li {
        font-size: 14px;
    }

    .loto-privacy-section ul {
        padding: 14px 14px 14px 28px;
        border-radius: 16px;
    }

    .loto-privacy-table-wrap {
        overflow: visible;
    }

    .loto-privacy-table,
    .loto-privacy-table thead,
    .loto-privacy-table tbody,
    .loto-privacy-table tr,
    .loto-privacy-table th,
    .loto-privacy-table td {
        display: block;
        width: 100%;
    }

    .loto-privacy-table thead {
        display: none;
    }

    .loto-privacy-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 16px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .loto-privacy-table td {
        position: relative;
        padding: 8px 0 8px 7.6em;
        border: 0;
        font-size: 13px;
    }

    .loto-privacy-table td::before {
        position: absolute;
        left: 0;
        top: 8px;
        width: 7em;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        line-height: 1.4;
    }

    .loto-privacy-table td:nth-child(1)::before { content: "サービス"; }
    .loto-privacy-table td:nth-child(2)::before { content: "送信先"; }
    .loto-privacy-table td:nth-child(3)::before { content: "情報の例"; }
    .loto-privacy-table td:nth-child(4)::before { content: "利用目的"; }

    .loto-privacy-related-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 380px) {
    .loto-privacy-toc ol {
        grid-template-columns: 1fr;
    }

    .loto-privacy-table td {
        padding-left: 0;
        padding-top: 28px;
    }

    .loto-privacy-table td::before {
        width: auto;
    }
}

/* =========================================================
   Disclaimer page shortcode
   Shortcodes: [loto_disclaimer_page], [loto_disclaimer_hero], [loto_disclaimer_content]
   Note: the disclaimer page intentionally reuses privacy page card/body styles
   to keep site information pages visually consistent.
   ========================================================= */
.loto-disclaimer-page {
  color: #0f172a;
}

/* =========================================================
   Contact page / Contact Form 7 integration
   Shortcodes: [loto_contact_page], [loto_contact_hero], [loto_contact_content]
   ========================================================= */
.loto-contact-page {
  overflow: hidden;
}

.loto-contact-hero .loto-hero__content {
  margin-bottom: 0;
}

.loto-contact-points {
  padding-top: 28px;
}

.loto-contact-point-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.loto-contact-point-card {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid var(--loto-border);
  border-radius: var(--loto-radius-lg);
  background: var(--loto-white);
  box-shadow: var(--loto-shadow-sm);
}

.loto-contact-point-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--loto-blue), var(--loto-green));
}

.loto-contact-point-card span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--loto-blue-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.loto-contact-point-card h2 {
  margin: 0 0 8px;
  color: var(--loto-heading);
  font-size: 1.05rem;
  line-height: 1.45;
}

.loto-contact-point-card p {
  margin: 0;
  color: var(--loto-muted);
  font-size: .92rem;
  line-height: 1.75;
}

.loto-contact-body {
  padding-top: 32px;
}

.loto-contact-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.loto-contact-aside,
.loto-contact-form-card {
  border: 1px solid var(--loto-border);
  border-radius: var(--loto-radius-lg);
  background: var(--loto-white);
  box-shadow: var(--loto-shadow-sm);
}

.loto-contact-aside {
  position: sticky;
  top: 20px;
  padding: 22px;
}

.loto-contact-aside__label {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--loto-blue-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.loto-contact-aside h2 {
  margin: 0 0 12px;
  color: var(--loto-heading);
  font-size: 1.08rem;
  line-height: 1.45;
}

.loto-contact-aside ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.loto-contact-aside li {
  position: relative;
  padding-left: 18px;
  color: var(--loto-muted);
  font-size: .92rem;
  line-height: 1.75;
}

.loto-contact-aside li::before {
  content: "";
  position: absolute;
  top: .72em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--loto-blue);
}

.loto-contact-form-card {
  overflow: hidden;
}

.loto-contact-form-card__head {
  padding: 24px 26px 18px;
  border-bottom: 1px solid var(--loto-border);
  background: linear-gradient(135deg, rgba(239, 246, 255, .95), rgba(255, 255, 255, .95));
}

.loto-contact-form-card__head h2 {
  margin: 0 0 8px;
  color: var(--loto-heading);
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  line-height: 1.45;
}

.loto-contact-form-card__head p:not(.loto-kicker) {
  margin: 0;
  color: var(--loto-muted);
  line-height: 1.8;
}

.loto-contact-form-wrap {
  padding: 26px;
}

.loto-contact-empty {
  padding: 18px;
  border: 1px dashed var(--loto-border-strong);
  border-radius: var(--loto-radius-md);
  background: var(--loto-blue-soft);
  color: var(--loto-text);
  font-size: .94rem;
  line-height: 1.75;
}

.loto-contact-empty code {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .8);
  color: var(--loto-blue-dark);
  font-weight: 800;
}

.loto-contact-page .wpcf7 form {
  display: grid;
  gap: 18px;
  margin: 0;
}

.loto-contact-page .wpcf7 p {
  margin: 0;
}

.loto-contact-page .wpcf7 label,
.loto-contact-field label {
  display: grid;
  gap: 8px;
  color: var(--loto-heading);
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.55;
}

.loto-contact-required,
.loto-contact-page .wpcf7 label .required {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #fee2e2;
  color: #b91c1c;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.loto-contact-page .wpcf7-form-control-wrap {
  display: block;
}

.loto-contact-page .wpcf7 input[type="text"],
.loto-contact-page .wpcf7 input[type="email"],
.loto-contact-page .wpcf7 input[type="url"],
.loto-contact-page .wpcf7 input[type="tel"],
.loto-contact-page .wpcf7 input[type="number"],
.loto-contact-page .wpcf7 select,
.loto-contact-page .wpcf7 textarea {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid var(--loto-border-strong);
  border-radius: 14px;
  background: #fff;
  color: var(--loto-text);
  font-size: 1rem;
  line-height: 1.6;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.loto-contact-page .wpcf7 textarea {
  min-height: 180px;
  resize: vertical;
}

.loto-contact-page .wpcf7 input:focus,
.loto-contact-page .wpcf7 select:focus,
.loto-contact-page .wpcf7 textarea:focus {
  border-color: var(--loto-blue);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, .14);
}

.loto-contact-page .wpcf7 .wpcf7-list-item {
  margin: 0;
}

.loto-contact-page .wpcf7 .wpcf7-acceptance label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 700;
}

.loto-contact-page .wpcf7 input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: .2em;
  accent-color: var(--loto-blue);
  flex: 0 0 auto;
}

.loto-contact-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.loto-contact-field,
.loto-contact-acceptance {
  display: grid;
  gap: 8px;
}

.loto-contact-field--full,
.loto-contact-acceptance,
.loto-contact-submit {
  grid-column: 1 / -1;
}

.loto-contact-help {
  color: var(--loto-muted);
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.65;
}

.loto-contact-submit {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding-top: 4px;
}

.loto-contact-page .wpcf7 input[type="submit"],
.loto-contact-submit .wpcf7-submit {
  min-width: 180px;
  min-height: 48px;
  padding: 12px 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--loto-blue-dark), var(--loto-blue));
  color: #fff;
  font-size: .96rem;
  font-weight: 900;
  letter-spacing: .03em;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(37, 99, 235, .22);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.loto-contact-page .wpcf7 input[type="submit"]:hover,
.loto-contact-submit .wpcf7-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(37, 99, 235, .26);
}

.loto-contact-page .wpcf7 input[type="submit"]:disabled,
.loto-contact-submit .wpcf7-submit:disabled {
  cursor: wait;
  opacity: .65;
  transform: none;
}

.loto-contact-page .wpcf7 .wpcf7-spinner {
  margin: 0;
}

.loto-contact-page .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #dc2626;
  font-size: .82rem;
  font-weight: 700;
}

.loto-contact-page .wpcf7 form .wpcf7-response-output {
  margin: 4px 0 0;
  padding: 14px 16px;
  border-radius: var(--loto-radius-sm);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.7;
}

.loto-contact-page .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(34, 197, 94, .45);
  background: var(--loto-green-soft);
  color: var(--loto-green-dark);
}

.loto-contact-page .wpcf7 form.invalid .wpcf7-response-output,
.loto-contact-page .wpcf7 form.unaccepted .wpcf7-response-output,
.loto-contact-page .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: rgba(249, 115, 22, .45);
  background: var(--loto-orange-soft);
  color: var(--loto-orange-dark);
}

.loto-contact-related {
  padding-top: 44px;
}

@media (max-width: 960px) {
  .loto-contact-point-grid {
    grid-template-columns: 1fr;
  }

  .loto-contact-layout {
    grid-template-columns: 1fr;
  }

  .loto-contact-aside {
    position: static;
  }
}

@media (max-width: 640px) {
  .loto-contact-points {
    padding-top: 18px;
  }

  .loto-contact-point-grid {
    gap: 12px;
  }

  .loto-contact-point-card {
    padding: 16px;
    border-radius: var(--loto-radius-md);
  }

  .loto-contact-point-card span {
    margin-bottom: 6px;
    font-size: .66rem;
  }

  .loto-contact-point-card h2 {
    font-size: .98rem;
  }

  .loto-contact-point-card p {
    font-size: .86rem;
  }

  .loto-contact-body {
    padding-top: 22px;
  }

  .loto-contact-layout {
    gap: 14px;
  }

  .loto-contact-aside {
    padding: 16px;
    border-radius: var(--loto-radius-md);
  }

  .loto-contact-aside h2 {
    font-size: 1rem;
  }

  .loto-contact-aside li {
    font-size: .86rem;
  }

  .loto-contact-form-card {
    border-radius: var(--loto-radius-md);
  }

  .loto-contact-form-card__head {
    padding: 18px 16px 14px;
  }

  .loto-contact-form-card__head h2 {
    font-size: 1.16rem;
  }

  .loto-contact-form-card__head p:not(.loto-kicker) {
    font-size: .88rem;
  }

  .loto-contact-form-wrap {
    padding: 16px;
  }

  .loto-contact-page .wpcf7 form {
    gap: 14px;
  }

  .loto-contact-field-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .loto-contact-page .wpcf7 label,
  .loto-contact-field label {
    font-size: .9rem;
  }

  .loto-contact-page .wpcf7 input[type="text"],
  .loto-contact-page .wpcf7 input[type="email"],
  .loto-contact-page .wpcf7 input[type="url"],
  .loto-contact-page .wpcf7 input[type="tel"],
  .loto-contact-page .wpcf7 input[type="number"],
  .loto-contact-page .wpcf7 select,
  .loto-contact-page .wpcf7 textarea {
    min-height: 46px;
    padding: 11px 12px;
    border-radius: 12px;
    font-size: 16px;
  }

  .loto-contact-page .wpcf7 textarea {
    min-height: 150px;
  }

  .loto-contact-submit {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .loto-contact-page .wpcf7 input[type="submit"],
  .loto-contact-submit .wpcf7-submit {
    width: 100%;
    min-width: 0;
  }

  .loto-contact-related {
    padding-top: 30px;
  }
}

/* =========================================================
   About page shortcode
   Shortcodes: [loto_about_page], [loto_about_hero], [loto_about_content]
   Note: this page reuses privacy page hero/body styles to keep fixed pages consistent.
   ========================================================= */
.loto-about-page {
  color: #0f172a;
}

.loto-about-hero .loto-hero__content {
  max-width: 900px;
}

.loto-about-point-card::before {
  background: linear-gradient(180deg, var(--loto-blue), var(--loto-green));
}

.loto-about-related {
  margin-top: 24px;
}

@media (max-width: 640px) {
  .loto-about-hero .loto-hero__content {
    text-align: left;
  }

  .loto-about-related-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Data policy page shortcode
   Shortcodes: [loto_data_policy_page], [loto_data_policy_hero], [loto_data_policy_content]
   Note: this page reuses privacy/about page components to keep fixed pages consistent.
   ========================================================= */
.loto-data-policy-page {
  color: #0f172a;
}

.loto-data-policy-hero .loto-hero__content {
  max-width: 900px;
}

.loto-data-policy-point-card::before {
  background: linear-gradient(180deg, var(--loto-blue), var(--loto-green));
}

.loto-data-policy-table-wrap {
  margin-top: 16px;
}

.loto-data-policy-note {
  margin-top: 14px;
}

.loto-data-policy-related {
  margin-top: 24px;
}

@media (max-width: 640px) {
  .loto-data-policy-hero .loto-hero__content {
    text-align: left;
  }

  .loto-data-policy-related-grid {
    grid-template-columns: 1fr;
  }

  .loto-data-policy-table td:nth-child(1)::before { content: "区分"; }
  .loto-data-policy-table td:nth-child(2)::before { content: "主な内容"; }
  .loto-data-policy-table td:nth-child(3)::before { content: "表示例"; }
}

/* =========================================================
   Sitemap / operator pages
   Shortcodes: [loto_sitemap_page], [loto_operator_page]
   These pages reuse privacy/about/data page components to keep fixed pages consistent.
   ========================================================= */
.loto-sitemap-page,
.loto-operator-page {
  color: #0f172a;
}

.loto-sitemap-hero .loto-hero__content,
.loto-operator-hero .loto-hero__content {
  max-width: 900px;
}

.loto-sitemap-point-card::before,
.loto-operator-point-card::before {
  background: linear-gradient(180deg, var(--loto-blue), var(--loto-green));
}

.loto-sitemap-section__head {
  margin-bottom: 16px;
}

.loto-sitemap-section__head span {
  display: inline-flex;
  align-items: center;
  margin-bottom: 6px;
  color: var(--loto-blue-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.loto-sitemap-section__head h2 {
  margin-bottom: 8px;
}

.loto-sitemap-section__head p {
  margin: 0;
  color: var(--loto-muted);
}

.loto-sitemap-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.loto-sitemap-link-card {
  position: relative;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.loto-sitemap-link-card::after {
  content: "›";
  position: absolute;
  right: 16px;
  top: 16px;
  color: var(--loto-blue);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
}

.loto-sitemap-link-card:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, .32);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .09);
}

.loto-sitemap-link-card strong {
  padding-right: 22px;
  color: var(--loto-heading);
  font-size: .98rem;
  line-height: 1.45;
}

.loto-sitemap-link-card span {
  color: var(--loto-muted);
  font-size: .84rem;
  line-height: 1.65;
}

.loto-sitemap-related,
.loto-operator-related {
  margin-top: 24px;
}

.loto-operator-table-wrap {
  margin-top: 16px;
}

.loto-operator-table th:first-child,
.loto-operator-table td:first-child {
  width: 28%;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .loto-sitemap-hero .loto-hero__content,
  .loto-operator-hero .loto-hero__content {
    text-align: left;
  }

  .loto-sitemap-link-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .loto-sitemap-link-card {
    padding: 14px 16px;
    border-radius: 16px;
  }

  .loto-sitemap-link-card strong {
    font-size: .94rem;
  }

  .loto-sitemap-link-card span {
    font-size: .82rem;
  }

  .loto-sitemap-related-grid,
  .loto-operator-related-grid {
    grid-template-columns: 1fr;
  }

  .loto-operator-table td:nth-child(1)::before { content: "項目"; }
  .loto-operator-table td:nth-child(2)::before { content: "内容"; }
}



/* v1.0.104: restore Numbers quickpick action button design after AJAX override. */
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
}
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button,
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  width: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  background: var(--game-color, var(--loto-main-color, #8b5cf6)) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--game-color, #8b5cf6) 22%, transparent) !important;
  cursor: pointer !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button:hover,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button:hover,
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button:hover,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button:hover {
  background: var(--game-color-dark, var(--loto-accent-color, #6d28d9)) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--game-color, #8b5cf6) 28%, transparent) !important;
}
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button:focus-visible,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button:focus-visible,
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button:focus-visible,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--game-color, #8b5cf6) 35%, #ffffff) !important;
  outline-offset: 3px !important;
}
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button-secondary,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button-secondary,
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button-secondary,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button-secondary {
  background: #ffffff !important;
  color: var(--game-color-dark, var(--loto-accent-color, #6d28d9)) !important;
  border: 1px solid color-mix(in srgb, var(--game-color, #8b5cf6) 46%, #ffffff) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
}
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button-secondary:hover,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button-secondary:hover,
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button-secondary:hover,
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions button.loto-button-secondary:hover {
  background: var(--game-soft, #f5f3ff) !important;
  color: var(--game-color-dark, var(--loto-accent-color, #6d28d9)) !important;
  border-color: var(--game-color, #8b5cf6) !important;
}
html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button[disabled],
html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button[disabled] {
  opacity: .72 !important;
  cursor: wait !important;
  transform: none !important;
}
@media (max-width: 600px) {
  html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions,
  html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  html body .lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button,
  html body .loto-site.lnb-numbers-quickpick-tool .numbers-quickpick-actions .loto-button {
    width: 100% !important;
  }
}


/* v1.0.106: section lead text sizing parity and mobile left alignment. */
.loto-site .loto-heading-block > p:not(.loto-kicker),
.loto-numbers-block-section .loto-heading-block > p:not(.loto-kicker),
.loto-numbers-container-block .loto-heading-block > p:not(.loto-kicker) {
  font-size: var(--loto-readable-text-size, 16px) !important;
  line-height: 1.85 !important;
}

@media (max-width: 600px) {
  .loto-site .loto-heading-block > p:not(.loto-kicker),
  .loto-numbers-block-section .loto-heading-block > p:not(.loto-kicker),
  .loto-numbers-container-block .loto-heading-block > p:not(.loto-kicker) {
    font-size: var(--loto-readable-text-size-mobile, clamp(16px, 4vw, 17px)) !important;
    line-height: 1.85 !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}


/* v1.0.107: fixed information page section lead sizing and mobile left alignment.
   Scope is limited to the six static pages integrated from loto-analyzer-suite. */
:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-heading-block > p:not(.loto-kicker),
:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-sitemap-section__head > p,
:where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-privacy-section > p:first-of-type {
  font-size: var(--loto-readable-text-size, 16px) !important;
  line-height: 1.85 !important;
}

@media (max-width: 600px) {
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-heading-block > p:not(.loto-kicker),
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-sitemap-section__head > p,
  :where(.loto-about-page,.loto-data-policy-page,.loto-sitemap-page,.loto-operator-page,.loto-privacy-page,.loto-disclaimer-page) .loto-privacy-section > p:first-of-type {
    font-size: var(--loto-readable-text-size-mobile, 16px) !important;
    line-height: 1.85 !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* v1.0.108: section-block lead paragraphs generated by the article-section block. */
html body .wp-block-loto-numbers-blocks-article-section .loto-article-section__body > p.loto-article-section__lead,
html body .wp-block-loto-numbers-blocks-article-section .loto-article-section__body > .wp-block-paragraph.loto-article-section__lead,
html body .loto-article-section.l6ga-section .loto-article-section__body > p.loto-article-section__lead,
html body .loto-article-section.l6ga-section .loto-article-section__body > .wp-block-paragraph.loto-article-section__lead,
html body .wp-block-loto-numbers-blocks-article-section .loto-article-section__body > p:first-of-type,
html body .loto-article-section.l6ga-section .loto-article-section__body > p:first-of-type,
html body .wp-block-loto-numbers-blocks-article-section .loto-article-heading__lead,
html body .loto-article-section.l6ga-section .loto-article-heading__lead {
  font-size: 16px !important;
  line-height: 1.9 !important;
}
@media (max-width: 600px) {
  html body .wp-block-loto-numbers-blocks-article-section .loto-article-section__body > p.loto-article-section__lead,
  html body .wp-block-loto-numbers-blocks-article-section .loto-article-section__body > .wp-block-paragraph.loto-article-section__lead,
  html body .loto-article-section.l6ga-section .loto-article-section__body > p.loto-article-section__lead,
  html body .loto-article-section.l6ga-section .loto-article-section__body > .wp-block-paragraph.loto-article-section__lead,
  html body .wp-block-loto-numbers-blocks-article-section .loto-article-section__body > p:first-of-type,
  html body .loto-article-section.l6ga-section .loto-article-section__body > p:first-of-type,
  html body .wp-block-loto-numbers-blocks-article-section .loto-article-heading__lead,
  html body .loto-article-section.l6ga-section .loto-article-heading__lead {
    font-size: 16px !important;
    line-height: 1.9 !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}



/* v1.0.109: loto-analyzer-suite/game-top section lead paragraphs. */
html body .loto-section > .loto-container > .loto-heading-block > p:not(.loto-kicker),
html body .loto-game-top-latest[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
html body .loto-game-top-summary[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
html body .loto-results-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
html body .loto-game-analysis-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
html body .loto-game-search-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
html body .loto-game-quickpick-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker) {
  font-size: 16px !important;
  line-height: 1.85 !important;
}
@media (max-width: 600px) {
  html body .loto-section > .loto-container > .loto-heading-block > p:not(.loto-kicker),
  html body .loto-game-top-latest[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
  html body .loto-game-top-summary[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
  html body .loto-results-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
  html body .loto-game-analysis-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
  html body .loto-game-search-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker),
  html body .loto-game-quickpick-intro[data-game] > .loto-container > .loto-heading-block > p:not(.loto-kicker) {
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* v1.0.110: section block lead paragraph placed as the first inner block.
   This is the text directly under the section heading, before the shortcode/result card. */
html body .loto-numbers-block-section > .loto-container > .loto-numbers-block-section__inner > p.loto-section-lead,
html body .loto-numbers-block-section > .loto-container > .loto-numbers-block-section__inner > p:first-child,
html body .loto-numbers-block-section > .loto-container > .loto-numbers-block-section__inner > .wp-block-paragraph:first-child,
html body .loto-game-top-latest[data-game] > .loto-container > .loto-numbers-block-section__inner > p.loto-section-lead,
html body .loto-game-top-latest[data-game] > .loto-container > .loto-numbers-block-section__inner > p:first-child,
html body .loto-game-top-summary[data-game] > .loto-container > .loto-numbers-block-section__inner > p.loto-section-lead,
html body .loto-game-top-summary[data-game] > .loto-container > .loto-numbers-block-section__inner > p:first-child {
  max-width: 760px !important;
  margin: 0 auto 22px !important;
  color: var(--loto-text, #1f2937) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}
@media (max-width: 600px) {
  html body .loto-numbers-block-section > .loto-container > .loto-numbers-block-section__inner > p.loto-section-lead,
  html body .loto-numbers-block-section > .loto-container > .loto-numbers-block-section__inner > p:first-child,
  html body .loto-numbers-block-section > .loto-container > .loto-numbers-block-section__inner > .wp-block-paragraph:first-child,
  html body .loto-game-top-latest[data-game] > .loto-container > .loto-numbers-block-section__inner > p.loto-section-lead,
  html body .loto-game-top-latest[data-game] > .loto-container > .loto-numbers-block-section__inner > p:first-child,
  html body .loto-game-top-summary[data-game] > .loto-container > .loto-numbers-block-section__inner > p.loto-section-lead,
  html body .loto-game-top-summary[data-game] > .loto-container > .loto-numbers-block-section__inner > p:first-child {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
  }
}

/* Draw calendar shortcode */
.lnb-draw-calendar {
  --ldc-border: #dbe4f0;
  --ldc-text: #172033;
  --ldc-muted: #64748b;
  position: relative;
  margin: 24px 0;
  transition: opacity .18s ease;
  color: var(--ldc-text);
}
.lnb-draw-calendar.is-loading {
  opacity: .68;
  cursor: wait;
}
.lnb-draw-calendar.is-loading::after {
  content: '';
  position: absolute;
  z-index: 20;
  top: 18px;
  right: 18px;
  width: 22px;
  height: 22px;
  border: 3px solid rgba(37, 99, 235, .22);
  border-top-color: #2563eb;
  border-radius: 50%;
  animation: lnb-draw-calendar-spin .75s linear infinite;
}
.lnb-draw-calendar.is-loading .lnb-draw-calendar__filters,
.lnb-draw-calendar.is-loading .lnb-draw-calendar__month-nav {
  pointer-events: none;
}
.lnb-draw-calendar__ajax-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@keyframes lnb-draw-calendar-spin {
  to { transform: rotate(360deg); }
}
.lnb-draw-calendar *,
.lnb-draw-calendar *::before,
.lnb-draw-calendar *::after { box-sizing: border-box; }
.lnb-draw-calendar__status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--ldc-border);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #eff6ff);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}
.lnb-draw-calendar__eyebrow,
.lnb-draw-calendar__upcoming-head > span {
  display: inline-block;
  margin-bottom: 6px;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.lnb-draw-calendar__status h2,
.lnb-draw-calendar__upcoming h3 { margin: 0; color: #0f172a; line-height: 1.35; }
.lnb-draw-calendar__status p { margin: 8px 0 0; color: var(--ldc-muted); line-height: 1.75; }
.lnb-draw-calendar__today {
  min-width: 190px;
  padding: 14px 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #bfdbfe;
  text-align: center;
}
.lnb-draw-calendar__today span { display: block; color: #2563eb; font-size: 12px; font-weight: 800; }
.lnb-draw-calendar__today strong { display: block; margin-top: 3px; font-size: 16px; }
.lnb-draw-calendar__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 12px;
}
.lnb-draw-calendar__filters a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
.lnb-draw-calendar__filters a:hover,
.lnb-draw-calendar__filters a:focus-visible { border-color: #2563eb; color: #1d4ed8; }
.lnb-draw-calendar__filters a.is-active { border-color: #2563eb; background: #2563eb; color: #ffffff; }
.lnb-draw-calendar__month-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
}
.lnb-draw-calendar__month-nav a {
  padding: 10px 14px;
  border: 1px solid var(--ldc-border);
  border-radius: 12px;
  background: #ffffff;
  color: #1e3a8a;
  font-weight: 750;
  text-decoration: none;
  text-align: center;
}
.lnb-draw-calendar__month-nav a:first-child { justify-self: start; }
.lnb-draw-calendar__month-nav a:last-child { justify-self: end; }
.lnb-draw-calendar__month-nav .lnb-draw-calendar__current { background: #eff6ff; }
.lnb-draw-calendar__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--ldc-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.lnb-draw-calendar__table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0;
}
.lnb-draw-calendar__table th {
  padding: 12px 8px;
  border-bottom: 1px solid var(--ldc-border);
  background: #f8fafc;
  color: #475569;
  font-size: 13px;
  text-align: center;
}
.lnb-draw-calendar__table th.is-sunday { color: #dc2626; }
.lnb-draw-calendar__table th.is-saturday { color: #2563eb; }
.lnb-draw-calendar__table td {
  height: 116px;
  padding: 8px;
  border-right: 1px solid #e8eef6;
  border-bottom: 1px solid #e8eef6;
  vertical-align: top;
  background: #ffffff;
}
.lnb-draw-calendar__table tr:last-child td { border-bottom: 0; }
.lnb-draw-calendar__table td:last-child { border-right: 0; }
.lnb-draw-calendar__table td.is-outside { background: #f8fafc; }
.lnb-draw-calendar__table td.is-past { background: #fbfdff; }
.lnb-draw-calendar__table td.is-today {
  position: relative;
  background: #eff6ff;
  box-shadow: inset 0 0 0 2px #3b82f6;
}
.lnb-draw-calendar__table td.is-today::after {
  content: "TODAY";
  position: absolute;
  top: 8px;
  right: 7px;
  color: #1d4ed8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.lnb-draw-calendar__table time { display: inline-block; margin-bottom: 8px; font-weight: 800; color: #334155; }
.lnb-draw-calendar__badges { display: grid; gap: 5px; }
.lnb-draw-calendar__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.lnb-draw-calendar__badge--loto7 { background: #2563eb; }
.lnb-draw-calendar__badge--loto6 { background: #16a34a; }
.lnb-draw-calendar__badge--miniloto { background: #d97706; }
.lnb-draw-calendar__badge--numbers3 { background: #7c3aed; }
.lnb-draw-calendar__badge--numbers4 { background: #c026d3; }
.lnb-draw-calendar__none { color: #cbd5e1; font-size: 12px; }
.lnb-draw-calendar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin: 14px 2px 0;
  color: #475569;
  font-size: 12px;
}
.lnb-draw-calendar__legend > span { display: inline-flex; align-items: center; gap: 6px; }
.lnb-draw-calendar__upcoming {
  margin-top: 24px;
  padding: 22px;
  border: 1px solid var(--ldc-border);
  border-radius: 20px;
  background: #ffffff;
}
.lnb-draw-calendar__upcoming-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.lnb-draw-calendar__upcoming-grid article {
  min-width: 0;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
}
.lnb-draw-calendar__upcoming-grid time { display: block; margin-bottom: 9px; }
.lnb-draw-calendar__upcoming-grid time strong { font-size: 16px; }
.lnb-draw-calendar__upcoming-grid time span { color: var(--ldc-muted); font-size: 12px; }
.lnb-draw-calendar__upcoming-grid article > div { display: flex; flex-wrap: wrap; gap: 5px; }
.lnb-draw-calendar__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.lnb-draw-calendar__actions .loto-panel-link--secondary {
  background: #ffffff !important;
  color: #1d4ed8 !important;
  border: 1px solid #93c5fd !important;
}
.lnb-draw-calendar__notice {
  margin-top: 18px;
  padding: 17px 18px;
  border-left: 4px solid #f59e0b;
  border-radius: 12px;
  background: #fffbeb;
}
.lnb-draw-calendar__notice strong { color: #92400e; }
.lnb-draw-calendar__notice p { margin: 5px 0 0; color: #78350f; line-height: 1.75; }
@media (max-width: 900px) {
  .lnb-draw-calendar__upcoming-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .lnb-draw-calendar__status { grid-template-columns: 1fr; padding: 18px; }
  .lnb-draw-calendar__today { min-width: 0; text-align: left; }
  .lnb-draw-calendar__month-nav a { padding: 9px 8px; font-size: 13px; }
  .lnb-draw-calendar__upcoming { padding: 17px; }
  .lnb-draw-calendar__upcoming-grid { grid-template-columns: 1fr; }
  .lnb-draw-calendar__actions { display: grid; grid-template-columns: 1fr; }
  .lnb-draw-calendar__actions .loto-panel-link { width: 100%; text-align: center; }
}


/* Combination count and purchase cost simulator */
.lnb-combination-simulator {
  --lcs-border: #dbe4f0;
  --lcs-text: #172033;
  --lcs-muted: #64748b;
  margin: 24px 0;
  color: var(--lcs-text);
}
.lnb-combination-simulator *,
.lnb-combination-simulator *::before,
.lnb-combination-simulator *::after { box-sizing: border-box; }
.lnb-combination-simulator__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--lcs-border);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #eff6ff);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}
.lnb-combination-simulator__eyebrow,
.lnb-combination-simulator__mini-label {
  display: inline-block;
  margin-bottom: 6px;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .12em;
}
.lnb-combination-simulator__intro h2,
.lnb-combination-simulator__permutation h3 { margin: 0; color: #0f172a; line-height: 1.35; }
.lnb-combination-simulator__intro p,
.lnb-combination-simulator__permutation p { margin: 8px 0 0; color: var(--lcs-muted); line-height: 1.75; }
.lnb-combination-simulator__price-note {
  min-width: 190px;
  padding: 14px 18px;
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  background: #ffffff;
  text-align: center;
}
.lnb-combination-simulator__price-note span,
.lnb-combination-simulator__price-note small { display: block; color: #64748b; font-size: 12px; }
.lnb-combination-simulator__price-note strong { display: block; margin: 3px 0; color: #1d4ed8; font-size: 18px; }
.lnb-combination-simulator__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 12px;
  padding: 6px;
  border: 1px solid var(--lcs-border);
  border-radius: 16px;
  background: #f8fafc;
}
.lnb-combination-simulator__tabs button {
  min-height: 44px;
  padding: 9px 12px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #475569;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.lnb-combination-simulator__tabs button:hover,
.lnb-combination-simulator__tabs button:focus-visible { color: #1d4ed8; outline: 2px solid #93c5fd; outline-offset: 1px; }
.lnb-combination-simulator__tabs button.is-active { background: #2563eb; color: #ffffff; box-shadow: 0 6px 15px rgba(37, 99, 235, .2); }
.lnb-combination-simulator__panel {
  padding: 22px;
  border: 1px solid var(--lcs-border);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.lnb-combination-simulator__panel[hidden] { display: none !important; }
.lnb-combination-simulator__form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.lnb-combination-simulator__form-grid label,
.lnb-combination-simulator__permutation label { min-width: 0; }
.lnb-combination-simulator__form-grid label > span,
.lnb-combination-simulator__permutation label > span {
  display: block;
  margin-bottom: 7px;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}
.lnb-combination-simulator__form-grid input,
.lnb-combination-simulator__form-grid select,
.lnb-combination-simulator__permutation select {
  width: 100%;
  min-height: 46px;
  padding: 9px 11px;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 15px;
}
.lnb-combination-simulator__form-grid input:focus,
.lnb-combination-simulator__form-grid select:focus,
.lnb-combination-simulator__permutation select:focus { border-color: #2563eb; outline: 3px solid rgba(59, 130, 246, .16); }
.lnb-combination-simulator__form-grid small { display: block; margin-top: 6px; color: #64748b; font-size: 11px; line-height: 1.5; }
.lnb-combination-simulator__formula {
  margin-top: 17px;
  padding: 13px 15px;
  border-left: 4px solid #3b82f6;
  border-radius: 10px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.7;
}
.lnb-combination-simulator__formula.is-error { border-color: #ef4444; background: #fef2f2; color: #991b1b; }
.lnb-combination-simulator__results {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 17px;
}
.lnb-combination-simulator__results article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #f8fafc;
}
.lnb-combination-simulator__results article > span { display: block; min-height: 2.8em; color: #64748b; font-size: 12px; font-weight: 750; line-height: 1.4; }
.lnb-combination-simulator__results article > strong { display: inline-block; margin-top: 6px; color: #0f172a; font-size: clamp(20px, 2.4vw, 29px); line-height: 1.2; overflow-wrap: anywhere; }
.lnb-combination-simulator__results article > small { margin-left: 4px; color: #475569; font-size: 12px; }
.lnb-combination-simulator__comparison {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #f8fbff;
}
.lnb-combination-simulator__comparison > span { color: #1d4ed8; font-size: 12px; font-weight: 850; }
.lnb-combination-simulator__comparison p { margin: 0; color: #475569; font-size: 13px; line-height: 1.6; }
.lnb-combination-simulator__comparison strong { color: #0f172a; }
.lnb-combination-simulator__permutation {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(190px, .8fr) minmax(190px, .8fr);
  gap: 16px;
  align-items: end;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #ddd6fe;
  border-radius: 16px;
  background: #faf5ff;
}
.lnb-combination-simulator__permutation-result {
  padding: 13px 15px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #e9d5ff;
}
.lnb-combination-simulator__permutation-result p { margin: 0; color: #475569; font-size: 13px; }
.lnb-combination-simulator__permutation-result p + p { margin-top: 6px; }
.lnb-combination-simulator__permutation-result strong { color: #6d28d9; font-size: 17px; }
.lnb-combination-simulator__reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin-top: 16px;
  padding: 8px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
  color: #334155;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.lnb-combination-simulator__reset:hover,
.lnb-combination-simulator__reset:focus-visible { border-color: #2563eb; color: #1d4ed8; }
.lnb-combination-simulator__notice {
  margin-top: 18px;
  padding: 17px 18px;
  border-left: 4px solid #f59e0b;
  border-radius: 12px;
  background: #fffbeb;
}
.lnb-combination-simulator__notice strong { color: #92400e; }
.lnb-combination-simulator__notice p { margin: 5px 0 0; color: #78350f; line-height: 1.75; }
.lnb-combination-simulator__notice > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.lnb-combination-simulator__notice a { color: #92400e; font-size: 13px; font-weight: 800; }
@media (max-width: 980px) {
  .lnb-combination-simulator__form-grid,
  .lnb-combination-simulator__results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lnb-combination-simulator__permutation { grid-template-columns: 1fr 1fr; }
  .lnb-combination-simulator__permutation > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .lnb-combination-simulator__intro { grid-template-columns: 1fr; padding: 18px; }
  .lnb-combination-simulator__price-note { min-width: 0; text-align: left; }
  .lnb-combination-simulator__tabs { grid-template-columns: 1fr; }
  .lnb-combination-simulator__panel { padding: 17px; }
  .lnb-combination-simulator__form-grid,
  .lnb-combination-simulator__results,
  .lnb-combination-simulator__comparison,
  .lnb-combination-simulator__permutation { grid-template-columns: 1fr; }
  .lnb-combination-simulator__results article > span { min-height: 0; }
}
