/* v123: presentation only. Session and catalogue data keep their existing owners. */
.menu-dialog .menu-search-button { display: none; }

@media (max-width: 1000px) {
  /* Reserve the same action slots before and after the session response. */
  html .site-header#site-header .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 232px;
    align-items: center;
    width: calc(100% - 40px);
    margin-inline: auto;
    gap: 12px;
  }
  html .site-header#site-header .brand { grid-column: 1; min-width: 0; max-width: 100%; }
  html .site-header#site-header [data-brand-image],
  html .site-header#site-header .brand-custom-image { max-width: 100% !important; min-width: 0; }
  html .site-header#site-header .desktop-nav { display: none; }
  html .site-header#site-header .header-actions {
    grid-column: 2;
    display: grid;
    grid-template-columns: 128px 44px 44px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 232px;
    margin: 0;
  }
  html .site-header#site-header .header-actions > .session-balance-chip,
  html .site-header#site-header .header-actions > .icon-button:not(.mobile-menu-trigger) {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
  }
  html .site-header#site-header .header-actions > .session-balance-chip {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 6px;
    width: 128px;
    min-width: 0;
    min-height: 46px !important;
    padding: 0;
    text-align: center;
  }
  html .site-header#site-header .session-balance-chip__coin {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 28px;
    height: 28px;
  }
  html .site-header#site-header .session-balance-chip__value {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    min-width: 0;
    font-size: 14px;
    line-height: 1.15;
    color: #fff;
    font-variant-numeric: tabular-nums;
  }
  html .site-header#site-header .session-balance-chip__label {
    display: block;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    font-size: 10px;
    line-height: 1.2;
    color: #eae6e1;
  }
  html .site-header#site-header .header-actions > .header-panel-link {
    grid-column: 2;
    grid-row: 1;
    justify-content: center;
    width: 44px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    font-size: 10px;
  }
  html .site-header#site-header .header-panel-link > .icon,
  html .site-header#site-header .session-profile-label { display: none; }
  html .site-header#site-header .header-actions > .mobile-menu-trigger {
    display: inline-flex;
    grid-column: 3;
    grid-row: 1;
    width: 44px;
    height: 44px;
  }
  html .site-header#site-header .header-actions > .session-status { right: 52px; max-width: 180px; }
  .menu-dialog .menu-account-card > span { display: none; }
  .menu-dialog .menu-account-card { grid-template-columns: 52px minmax(0, 1fr); }
  html[data-session-state="authenticated"] .menu-dialog .menu-search-button:not([hidden]) {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 46px;
    margin: 20px 0 8px;
    padding: 12px 16px;
    border: 1px solid rgba(216,187,137,.3);
    border-radius: 12px;
    background: rgba(216,187,137,.06);
    color: inherit;
    font: 500 14px/1.4 var(--ui-font, sans-serif);
    text-align: left;
    cursor: pointer;
  }
  .menu-dialog .menu-search-button:hover { background: rgba(216,187,137,.13); }
  .menu-dialog .menu-search-button:focus-visible { outline: 2px solid #f4d596; outline-offset: 3px; }
}

@media (max-width: 760px) {
  html .site-header#site-header .header-inner {
    width: calc(100% - 28px);
    grid-template-columns: minmax(0, 1fr) 184px;
    gap: 8px;
  }
  html .site-header#site-header .header-actions {
    grid-template-columns: 108px 32px 36px;
    width: 184px;
    gap: 4px;
  }
  html .site-header#site-header .header-actions > .session-balance-chip {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 2px 4px;
    width: 108px;
    min-height: 44px !important;
    padding: 0;
  }
  html .site-header#site-header .session-balance-chip__coin { width: 26px; height: 26px; }
  html .site-header#site-header .session-balance-chip__value { font-size: 14px; }
  html .site-header#site-header .session-balance-chip__label { font-size: 10px; }
  html .site-header#site-header .header-actions > .header-panel-link { width: 32px; }
  html .site-header#site-header .session-avatar { width: 32px; height: 32px; flex-basis: 32px; }
  html .site-header#site-header .header-actions > .mobile-menu-trigger { width: 36px; }
  html .site-header#site-header .header-actions > .session-status { right: 40px; max-width: 140px; }

  /* Preserve wide / two side-by-side / wide tiles. Rows grow with the captions. */
  .home-page #universo .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(260px, auto) minmax(280px, auto) minmax(220px, auto);
    gap: 14px;
    align-items: stretch;
  }
  .home-page #universo .category-card {
    grid-template-rows: auto clamp(132px, 36vw, 210px) auto;
    align-content: start;
    padding: 16px;
    gap: 12px;
    min-height: 0;
  }
  .home-page #universo .category-card > img.provided-art {
    display: block;
    position: static;
    inset: auto;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
  }
  .home-page #universo .category-card > .category-copy { align-self: start; align-items: flex-start; }
  .home-page #universo .category-copy h3 {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
    overflow-wrap: anywhere;
    max-width: 100%;
    line-height: 1.35;
  }
  .home-page #universo .category-card:not(.category-large):not(.category-light) .category-copy h3 { font-size: 16px; }
  .home-page #universo .category-large,
  .home-page #universo .category-light {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    gap: 12px 16px;
  }
  .home-page #universo .category-large > img.provided-art {
    height: clamp(180px, 48vw, 250px);
    align-self: center;
  }
  .home-page #universo .category-light > img.provided-art {
    height: clamp(156px, 42vw, 224px);
    align-self: center;
  }
  .home-page #universo .category-large > .category-copy,
  .home-page #universo .category-light > .category-copy { align-self: center; }
  .home-page #universo .category-large .category-copy h3,
  .home-page #universo .category-light .category-copy h3 { font-size: clamp(20px, 5vw, 27px); }
  .home-page #universo .category-copy p { margin-top: 8px; }
}

@media (max-width: 400px) {
  .home-page #universo .category-grid { gap: 12px; }
  .home-page #universo .category-card { padding: 14px; gap: 10px; }
  .home-page #universo .category-number { font-size: 10px; letter-spacing: .07em; }
}
